Le jargon en cybersécurité

Fingerprint

C'est le fait de réussir à déterminer les programmes (et leurs versions) qui sont utilisés par la cible.

Nous avons expliqué qu'en informatique, on bâtit sur des briques existantes (appelées dépendances). Que ce soit des sites Web, des applications mobiles, des programmes Windows, ..., ils dépendent tous d'autres logiciels qui viennent de tiers.

Pour un pirate, il est très utile de pouvoir identifier les briques utilisées par sa cible. En effet, si l'une d'elle est affectée par une vulnérabilité, alors c'est potentiellement toute la cible qui peut être compromise par ce biais.

Par exemple, en 2021, une vulnérabilité critique a été découverte dans le module Java log4j. C'est une petite brique qui s'occupe simplement de gérer la journalisation des évènements dans un programme (le carnet de bord de ce qu'il s'y passe). Pour les entreprises, il était extrêmement complexe de savoir si elles étaient affectées. En effet, log4j est une dépendance de dépendance. Donc pour tous les logiciels que l'entreprise possède, elle devait se demander : « est-ce que c'est un logiciel écrit en Java ? Si oui est-ce qu'il intègre le module log4j ? Sinon, est-ce qu'un de ses modules intègre le module log4j ? ».
Et ça n'a pas loupé, des centaines d'entreprise se sont fait pirater avant d'avoir pu déterminer si elles étaient concernées ou non par cette vulnérabilité.

Pour pouvoir déterminer les dépendances d'une cible, un pirate va utiliser des outils de fingerprint (ou de fingerprinting, mais ça se dit moins).
Ces outils se basent sur des "signatures" propres à chaque version de chaque brique.
Par exemple, si votre site Web utilise Bootstrap (qui est une dépendance très répandue qui facilite la création de sites Web), alors il y aura sur le site Web un fichier appelé bootstrap.min.css. Et si c'est la version 5.3.8 de Bootstrap que votre site utilise, alors ce fichier contiendra la mention /* ! Bootstrap v5.3.8 | MIT License | github.com/twbs/bootstrap */.

Muni du nom des dépendances et de leurs versions, le pirate peut désormais rechercher s'il existe des vulnérabilités sur ces briques.
S'il en trouve, il peut alors acquérir ou développer des exploits pour les utiliser contre le site.
Dans une kill chain d'attaque, ceci peut servir de point d'entrée initial dans le système d'information de la cible.

← Terme précédentSommaireTerme suivant →