Le jargon en cybersécurité

Dépendances

Ce sont les logiciels tiers dont dépend votre logiciel pour fonctionner.

En informatique, on évite de réinventer la roue, on préfère bâtir sur des choses existantes.
Que vous développiez un site Web, une application mobile, un programme Windows ou encore un automate industriel, il y a des logiciels déjà existants qui vont vous servir de socle, puis il y a ce que vous allez développer par vous-même.
Ces logiciels déjà existants, qui vous évitent de refaire une fonction qui existe déjà, sont appelés des dépendances (logicielles) de votre produit. On dit aussi plus familièrement les briques d'un logiciel.

Par exemple :

  • Si vous créez un site de e-commerce, vous trouverez utile d'intégrer une brique qui se charge toute seule de faire la transmission sécurisée du montant du panier au prestataire de paiement (plutôt que de regarder vous même tous les détails des protocoles bancaires de paiement en ligne)
  • Si vous créez une application mobile de tourisme, vous trouverez utile d'intégrer une brique qui se charge toute seule de déterminer la position de l'utilisateur (plutôt que de la calculer vous même en résolvant des équations qui triangulent plusieurs signaux de satellites GPS).

Or dans toutes ces dépendances, certaines ont peut être des vulnérabilités. Et comme ces outils sont intégrés à votre produit, leurs vulnérabilités aussi. Et donc c'est intéressant pour un pirate d'arriver à identifier les dépendances que vous embarquez dans votre produit, car leurs éventuelles vulnérabilités peuvent alors lui servir de porte d'entrée pour compromettre votre solution. 
D'autant que le nombre de dépendances est souvent conséquent et sous-estimé, et ce pour une raison un peu flippante : les dépendances logicielles de votre produit ont elles-mêmes des dépendances ! Donc généralement un développeur ignore 80% des dépendances que son outil va intégrer au final. Ça peut se compter en dizaines, centaines et parfois milliers pour les produits les plus complexes.
Il y a, à ce propos, une célèbre image qui résume la problématique :

En effet, même les produits commerciaux se reposent sur des briques open source (car eux non plus ne veulent pas réinventer la roue).
Si l'auteur d'une des dépendances cesse d'en assurer le développement bénévole, ou bien fait une erreur qui introduit une vulnérabilité, ou bien se fait payer par un pirate pour introduire une vulnérabilité, ou encore se fait pirater son projet et que le pirate y incorpore une vulnérabilité volontairement ... alors tous les logiciels du monde qui se reposent sur cette brique peuvent être affectés.
Le cas est arrivé en 2024 où une personne avait proposé au développeur de l'outil XZ (on dit son "mainteneur") de l'aide car il avait du mal à répondre à toutes les demandes tout seul. Cette personne était en fait un pirate et il a profité de l'accès que lui avait donné le mainteneur pour cacher une vulnérabilité dans le code source. Des milliers de logiciels ont été exposé au risque de piratage le temps que l'on découvre l'entourloupe. Heureusement cette fois là la détection a été rapide. Mais on aura pas toujours autant de chance.

← Terme précédentSommaireTerme suivant →