Zero-day 1/3 : de quoi parle-t-on ?


Dans le cadre de notre série sur la gestion des vulnérabilités, nous vous proposons trois épisodes sur les zero-day, ces failles de sécurité encore inconnues des éditeurs. Dans ce premier volet, posons les bases.

Partager l’article

Qu’est-ce qu’une vulnérabilité zero-day ?

Les vulnérabilités zero-day (aussi appelées 0-day) sont des failles de sécurité n’ayant pas été reportées à des éditeurs de logiciel ou aux fabricants de matériels informatiques. Elles ne font donc l’objet d’aucune publication ni d’aucun correctif, à l’inverse d’une vulnérabilité découverte et déclarée dans un processus éthique. 

Les vulnérabilités proviennent généralement de faiblesses dans l’écriture du code des logiciels ou d’effets non anticipés d’optimisation, qu’elles soient informatiques ou matérielles.  Les 0-day répondent également à cette définition, mais leur statut particulier provient de leur non-divulgation et de leur exploitation à des fins potentiellement malveillantes.

Les vulnérabilités zero-day peuvent-elles être exploitées ?

Ce n’est pas parce qu’elles n’ont pas été découvertes par les éditeurs que les 0-day ne peuvent pas être exploitées. Bien au contraire, l’exploitation de vulnérabilités zero-day fait l’objet d’un marché extrêmement lucratif, comme nous le verrons dans le troisième épisode de cette série.

Les 0-day sont notamment exploitées secrètement par les gouvernements pour des opérations sécurité nationale (et internationale) mais aussi par des hackers, pour des actions malveillantes. En effet, l’exploitation de ces vulnérabilités serait plus discrète car très difficilement détectable par des solutions de sécurité classiques (antivirus) et peut prendre par surprise même les entreprises et organisations possédant une maturité importante dans la cybersécurité. Elle touche en effet les logiciels à l’état de l’art. C’est pour cela qu’elles sont si critiques : elles offrent à leurs détenteurs une avance sur « le reste du monde », élément très important par exemple pour le cyber-espionnage. Le manque de défense autorise également l’accès à des cibles réputées comme inviolables via des opérations d’envergures extrêmement ciblées.

A titre d’illustration, la vulnérabilité 0-day EternalBlue a donné le virus WannaCry* en mai. Ce dernier a infecté 300 000 ordinateurs dans 150 pays.

Quels types d’attaques les vulnérabilités zero-day permettent-elles ?

Les vulnérabilités 0-day sont des portes d’entrée. Elles offrent aux attaquants, une fois exploitées, un panel d’attaques aussi diversifié que dangereux, comme le contrôle d’une machine à distance, le vol de données ou l’accès à la mémoire interne par exemple.

L’intérêt réel d’une 0-day, pour un cyberattaquant, réside dans l’effet de surprise garanti par l’ignorance de l’existence de la faille, qui augmente encore la criticité de l’attaque.

Comment les 0-day sont-elles découvertes ?

Des équipes de chercheurs se sont spécialisées dans la recherche de zero-day, tout comme des hackers dont les intentions sont parfois louables (améliorer la sécurité des logiciels existants) ou financières (recherche de gains pécuniaires obtenus grâce à la revente d’exploits).

Pour découvrir les failles de leurs logiciels, les éditeurs organisent également des bug bounty, concours à grande échelle au cours desquels sont récompensées financièrement les découvertes de failles, comme nous le verrons dans le second épisode de cette série.

Dans tous les cas de figure, ces spécialistes, qu’ils soient chercheurs, hackers, ou experts en cybersécurité doivent rédiger un proof of concept (POC), c’est-à-dire une démonstration de capacité d’exploit. En d’autres termes, ils doivent prouver qu’ils font réaliser des actions non prévues par le logiciel ou la machine. Ces actions peuvent aller du crash du logiciel/machine jusqu’à l’exécution de commande arbitraire. Les POC peuvent être soumis aux éditeurs, aux sociétés spécialisées dans l’achat et la revente d’exploits de zero-day ou à des acteurs publics ou privés du renseignement. Lorsque l’exploit est créé, le POC se voit augmenté d’un payload, aussi appelé « charge active ». Ce payload peut ensuite être intégré à un virus, par exemple, afin d’infecter le système et réaliser les actions malveillantes.

A noter enfin quelques points supplémentaires à retenir sur ce sujet :

  1. les honeypots permettent aussi la découverte de 0-day. Il s’agit d’une méthode de défense consistant à attirer des cyber attaquants vers des cibles précises pour mieux les appréhender mais aussi connaître leurs moyens d’attaque, et donc parfois, des zero-day.
  2. Les zero-day ne sont utilisées que lorsque toutes les autres vulnérabilités connues n’ont pas pu être exploitées du fait de leur complexité à les obtenir.

Le succès d’une attaque ne passe pas forcément par l’usage d’une zero-day comme le montre la compromission de la société hackingTeam** spécialisée dans l’interception et l’écoute des transmissions pour le compte des gouvernements.

Suite de notre série :

Dans le second volet, focus sur les bug bounty, ces concours qui permettent, entre autres, la découverte des vulnérabilités 0-day.

Le troisième (et dernier) épisode de notre série se concentrera sur le marché économique très lucratif des zero-day.

Notes

*EternalBlue a aussi permis la création du virus NotPetya en 2017.

**https://github.com/rmusser01/Infosec_Reference/blob/master/Draft/Rants%26Writeups/Hacking%20Team%20Writeup.md (ouvre un nouvel onglet)