Le jargon en cybersécurité

En cybersécurité, il existe de nombreux "termes consacrés" qui sont difficilement traduisibles.

Même en faisant attention à en employer le moins possible, tout(e) expert(e) en cybersécurité lancé(e) dans l'explication d'un sujet un peu touffu, finira par en utiliser quelques uns.
Pour les personnes à qui il/elle s'adresse, ce peut être impossible de pleinement comprendre le propos sans avoir saisi le sens de ces termes. Les plus courageux demanderont à la personne de bien vouloir expliquer le sens de hash ou de leak, mais se décourageront d'interrompre l'interlocuteur une troisième fois.
Probablement qu'ils taperont discrètement le mot sur Google, en même temps qu'on leur parle, pour voir ce qu'il signifie.

PADBOL !

Ces termes sont souvent assez difficiles à expliquer en quelques mots. Si vous tombez sur une définition en une ligne, elle comportera très probablement encore plus d'autres mots que vous ignorez.

Et donc ça finira par un acquiescement poli après avoir perdu le fil il y a 20 minutes

Sauf que si l'on veut que les journalistes, politiques, décideurs, chefs d'entreprise, etc. comprennent mieux la cybersécurité et ses enjeux, il va bien falloir rendre ce jargon compréhensible par le tout venant.
Et comme on n'a pas trouvé de ressources qui fassent ça comme il faut ... et bé on va le faire nous même.

On va devoir simplifier grossièrement de temps en temps, mais ça restera utile.

Vulnérabilité

Comment commencer par un autre mot que celui-ci. 

«Vuln» pour les intimes, c'est un défaut, dans un programme informatique, permettant de nuire.
«Programme informatique» est entendu ici au sens large : une application sur votre ordinateur, un site Web, un système d'exploitation, le fonctionnement de votre téléviseur, tout ça ce sont des programmes.

Par exemple, un programme qui a un défaut qui fait que votre image de profil apparaît tournée à 90° ... ce n'est pas une vraie nuisance, donc ce n'est pas une vulnérabilité.
Un programme qui a un défaut qui fait que n'importe qui peut voir l'historique des positions GPS depuis lesquelles vous vous êtes connecté ... là déjà ça nuit un peu plus sérieusement, c'est une vulnérabilité.
Un programme qui a un défaut qui fait que n'importe qui peut émettre des virement depuis votre compte en banque ... là c'est de la grosse nuisance !

Pour autant, une vulnérabilité n'est pas juste réductible à une sous-catégorie de «bug». 
Il y a des vulnérabilités qui ne sont pas des bugs, mais qui sont des mésusages. Par exemple, utiliser le mot de passe 1234 c'est un mésusage, ce n'est pas le programme qui marche mal.
D'autres fois, ce n'est pas une question que c'est mal utilisé ou que ça marche mal, mais que ce n'est pas exposé à la bonne population. Par exemple le bouton rouge qui permet d'éteindre le réacteur nucléaire en cas de surchauffe, il est dans une salle dont l'accès est hautement sécurisé. S'il était dans la rue, accessible à tout le monde, le problème ne serait pas qu'il marcherait mal, le problème ne serait pas qu'on l'utilise mal, le problème serait que tout le monde puisse l'utiliser.

CVE

Acronyme de Common Vulnerabilties and Exposures.
C'est une des tentatives (fructueuse celle-ci) de cataloguer les vulnérabilités connues.

Par exemple, quand Jean-Sylvain, expert en cybersécurité de son état, trouve une vulnérabilité dans le programme Google Chrome, où doit-il le dire ?
S'il fait une publication Facebook pour avertir ses amis, ça va être dur pour les 1 milliards d'autres utilisateurs de Chrome (qui ne sont pas amis avec lui sur Facebook) de savoir qu'ils utilisent un programme affecté par une vulnérabilité.
S'il avertit Google, peut être que Google fera une publication sur son site pour dire "attention n'utilisez plus cette version elle est vulnérable". Ou peut être qu'ils ne voudront pas le marquer car ça fait de la mauvaise pub.

Pendant une époque c'était donc un peu le Far West. Les découvreurs de vulnérabilités publiait ça sur des forums spécialisés. Mais l'information était extrêmement éparpillée. Pour savoir si le programme que vous utilisiez était vulnérable, il aurait fallu parcourir les 10 forums spécialisés de chaque pays et chercher si quelqu'un parle de votre programme.
Donc depuis 2001, le MITRE (organisme américain) fait le travail de fourmi de recenser toutes les vulnérabilités connues en une seule et même place : la base des CVEs.

De nos jours, c'est LA base la plus fournie et 90% des vulnérabilités connues doivent y figurer (au doigt mouillé). 
Donc quand vous avez découvert une vulnérabilité sur un programme, vous avertissez le MITRE, vous lui envoyez la démonstration, et il publie un bulletin de vulnérabilité auquel est associé un numéro de CVE. Par exemple CVE-2012-4598 est la 4598ème vulnérabilité découverte l'année 2012.
Par facilité de langage, on parle parfois d'une CVE pour désigner une vulnérabilité publique (donc renseignée dans le registre des CVE).

« Il y avait 30 CVE sur leur Apache » = ils avaient un serveur utilisant le programme Apache dans une version pour laquelle 30 vulnérabilités sont publiquement recensées.

Exploit

Le plus souvent prononcé à l'anglaise (ex-ploï-te).

C'est un programme informatique automatisant l’exploitation d’une vulnérabilité, de sorte que même une personne avec des compétences limitées puisse compromettre une cible vulnérable.
Et quand on dit compromettre, grosso modo veut dire "en devenir administrateur" = "avoir les pleins pouvoirs sur la cible".

Une vulnérabilité informatique peut être connue de tous (on dit qu'elle est publique) mais sa description peut demeurer vague. 
Par exemple :
«An issue has been discovered in GitLab CE/EE affecting all versions starting from 13.1 prior to 16.10.7, starting from 16.11 prior to 16.11.4, and starting from 17.0 prior to 17.0.2. It was possible for an attacker to cause a denial of service using maliciously crafted file.»
On sait qu'il est possible de créer un déni de service via un fichier spécialement conçu dans ce but. Mais on ne sait pas comment on doit le concevoir exactement, où on doit l'envoyer, etc.

Pour avoir plus de détail, il faut généralement chercher un article produit par le découvreur (souvent un chercheur en cybersécurité) de la vulnérabilité. C'est souvent là qu'il donne les détails.

Mais certaines vulnérabilités sont découvertes par l'éditeur lui-même (par exemple au cours d'une revue de code). Il n'a alors aucun intérêt à donner des détails précis sur la façon d'exploiter cette vulnérabilité.

Dans ce cas, il faut comparer les différences entre la version qui corrige le problème (dans notre exemple 17.0.2) et la version juste avant qui était encore vulnérable (17.0.1). En regardant ce que l'éditeur a changé, on peut inférer où se trouvait plus précisément le point vulnérable et comment il marchait.

Donc en fait, un serveur peut tout à fait être touché par une vulnérabilité connue de tous ... mais personne ne sait l'exploiter (à part son découvreur).
Jusqu'au moment où quelqu'un se sera penché sur les détails, aura compris comment marche la vulnérabilité et aura écrit un petit programme qui permet d'automatiser l'exploitation (pour ne pas avoir à refaire les étapes manuellement à chaque fois) : il a alors écrit un exploit !
Il peut alors se passer trois choses :

  • soit il rend cet exploit public (ce que font généralement les chercheurs en cybersécurité)
  • soit il le revend (il y a des plateformes pour vendre et acheter des exploits, ça peut valoir entre 1 000 et 1 000 000 €)
  • soit il le garde privé pour être le seul à pouvoir l'utiliser (ce que font les agences de renseignements et les groupes cybercriminels)

Mais globalement, une fois qu'un exploit existe pour une vulnérabilité, ça change grandement la donne. Désormais, tous ceux qui sont affectés par cette vulnérabilité peuvent être attaqués par ... n'importe qui sachant lancer un programme (ça fait du monde).

« J'ai lancé un exploit sur tous leurs FTP, j'ai pwn 5 serveurs » = J'ai exécuté un programme permettant d'exploiter une vulnérabilité affectant certaines versions du programme FTP et il y a 5 serveurs où ça a marché (donc qui devaient être dans une des versions vulnérables) et dont je suis devenu administrateur.

Pwn

Se prononce "pone".

Pwn (des fois écrit Pown) une machine, ça veut dire la compromettre (ça vient de l'anglais own). Et vous vous rappelez, par compromettre on veut en général dire "en devenir administrateur" = "avoir les pleins pouvoirs sur la cible".

Pour la machine qu'on a pwn, on dira qu'elle s'est faite pwn ou bien qu'elle est pwned (poned).

Script Kiddies

Dans le milieu de la cybersécurité, on distingue généralement les script kiddies (des gens faiblement compétents qui utilisent seulement des exploits écrits par d'autres) des experts (qui eux écrivent les exploits).