Exploit (informatique)
Un exploit[1] ou code d'exploitation[2] est, dans le domaine de la sécurité informatique, un élément de programme permettant à un individu ou à un logiciel malveillant d'exploiter une faille de sécurité informatique dans un système informatique.
Que ce soit à distance (remote exploit) ou sur la machine sur laquelle cet exploit est exécuté (local exploit), le but de cette manœuvre est de s'emparer des ressources d'un ordinateur ou d'un réseau, d'accroître le privilège d'un logiciel ou d'un utilisateur sur la machine-cible, ou encore d'effectuer une attaque par déni de service.
Les vers exploitent des vulnérabilités distantes pour se diffuser automatiquement d'un PC à un autre au sein d'un réseau. Par exemple, le ver Conficker, pour se diffuser, exploite la vulnérabilité (MS08-067) au sein du système d'exploitation Windows.
Étymologie
Le terme « exploit » provient de l'anglais exploit, pour « exploiter » (ici, une faille de sécurité). L'usage est de le prononcer à l'anglaise /ˈɛksplɔɪt/ ou, dans sa version francisée, /ɛksplwat/, et non /ɛksplwa/ comme en français[1].
Le terme est aussi utilisé dans le monde du jeu vidéo (en jeu en réseau et sur internet), les utilisateurs de glitches ayant aussi recours à des exploits pour favoriser leur expérience de jeux (notamment la triche).
Types d'exploits
Les exploits peuvent être classifiés par le type de faille qu'ils utilisent. Voici quelques-unes des failles les plus couramment exploitées :
- dépassement de tampon (buffer overflow) ;
- dépassement de tas (heap overflow) ;
- dépassement d'entier (integer overflow) ;
- dépassement de pile (stack overflow) ;
- format string attack (en) ;
- situation de compétition (race condition) ;
- injection de code (code injection) ;
- injection SQL ;
- cross-site scripting (XSS) ;
- Remote File Inclusion (RFI).
Exploits Web
Depuis 2011, des « web exploits » sont utilisés massivement par les pirates pour infecter les internautes. L'infection se fait par la simple visite d'un site Web piraté ou contenant une publicité malicieuse (malvertising) qui va charger un « Web exploit kit ».
Ces derniers exploitent alors des failles de sécurité éventuelles du navigateur ou des logiciels installés sur l'ordinateur, afin de télécharger et d'exécuter le fichier servant à infecter la machine de l'utilisateur. En tirant parti des plugins non à jour sur le navigateur web, un malware va pouvoir être téléchargé et installé sur l'ordinateur.
Afin d'obtenir un maximum de trafic et toucher le plus d'internautes possibles, les pirates privilégient deux méthodes pour charger ces Web exploit kit :
- le piratage massif de sites web, notamment les CMS comme WordPress ou Joomla ;
- l'insertion de publicités malicieuses ; les réseaux publicitaires des sites illégaux (téléchargements ou streaming illégaux) sont le plus souvent visés, mais il arrive périodiquement que de gros réseaux publicitaires, comme Yahoo![3] par exemple, le soient.
Les logiciels populaires comme Flash Player, Java, SilverLight, Adobe Reader, Windows Media et MS Office, sont une cible privilégiée pour ce genre d'attaque.
Parfois, plusieurs exploits sont utilisés pour tester les failles éventuelles, car les développeurs corrigent régulièrement les failles de leurs logiciels. Les attaques doivent donc devenir plus sophistiquées elles aussi, par exemple en exploitant simultanément les failles de plusieurs logiciels installés sur l'ordinateur. Le ver Stuxnet utilise cette méthode[4]. Certains Spams emploient plusieurs exploits pour augmenter les chances que leurs attaques soient fructueuses[5].
La plupart des logiciels contiennent ou ont contenu des failles. Ces failles peuvent être découvertes par les développeurs eux-mêmes ou par des hackers. Il existe un marché noir, sur lequel sont notamment vendus des « kits d'exploits »[6]. Certains sites proposent des exploits sans charges[7], pour des raisons de transparence et pour lutter contre la mentalité de la sécurité par l'obscurité chez les développeurs de logiciels propriétaires.
Parmi les Web exploit kit les plus populaires, on trouve :
- BlackHole Exploit Kit, dont l'auteur, Paunch, a été arrêté en 2013 ; ce dernier a été le plus populaire de 2011 à 2013 ;
- Angler ExploitKit, qui a été créé pour remplacer BlackHole Exploit Kit et est devenu le Web exploit kit le plus populaire. En 2014, on estime son utilisation à 22 % et il supporterait plus de 30 vulnérabilités différentes ;
- Magnitude Web Exploit Kit ;
- Nuclear Web Exploit Kit ;
- Neutrino Web Exploit Kit ;
- Fiesta Web Exploit Kit.
Ces Web exploit kit permettent de filtrer en amont les ordinateurs ciblés, par exemple, il est possible de ne pas infecter certains pays, détecter les antivirus ou l'utilisation de réseau de type TOR/VPN (utilisé par les chercheurs).
Ils offrent aussi un panneau de gestion, avec les statistiques d'infections, par pays, par version des navigateurs/plugins, etc.
Prévention et protection
Le système d'exploitation et les logiciels d'un ordinateur doivent être mis à jour régulièrement par l'utilisateur, car la simple présence d'un logiciel non à jour peut parfois suffire pour infecter l'ordinateur.
Notes et références
- Néologisme sémantique formé à partir du néologisme anglais exploit, qui découle du fait que ce type de logiciel « exploite » une faille de sécurité.
- « code d'exploitation », Grand Dictionnaire terminologique, Office québécois de la langue française (consulté le ).
- (en) « Large Malvertising Campaign Takes on Yahoo! », Jérôme Segura, blog de Malwarebytes, blog.malwarebytes.org, 3 août 2015.
- (en) Aleks, Kaspersky Lab Expert, « Myrtus and Guava, Episode MS10-061 », sur Securelist.com,
- (en) Julien Sobrier, « Analysis of multiple exploits », sur Zcaler.com,
- (en) Vicente Diaz, Marco Preuss, « Les Kits d'Exploit – sous une autre perspective », sur Viruslist.com,
- « Bobty综合体育(中国)官方网站 », sur bugspy.net (consulté le ).