exploit informatique
Un exploit informatique, ou exploit, est une attaque contre un système informatique, en particulier une attaque qui tire parti d’une vulnérabilité particulière que le système offre aux intrus. Utilisé comme verbe, exploit fait référence à l’acte de réussir une telle attaque.
Un exploit tire parti d’une faiblesse dans un système d’exploitation, une application ou tout autre code logiciel, y compris les plug-ins d’application ou les bibliothèques logicielles. Les propriétaires du code émettent généralement un correctif, ou correctif, en réponse. Les utilisateurs du système ou de l’application sont responsables de l’obtention du correctif, qui peut généralement être téléchargé depuis le développeur du logiciel sur le Web, ou il peut être téléchargé automatiquement par le système d’exploitation ou l’application qui en a besoin. L’échec de l’installation d’un correctif pour un problème donné expose l’utilisateur à un exploit informatique et à la possibilité d’une faille de sécurité.
Types d’exploits informatiques
Les exploits de sécurité sont de toutes formes et de toutes tailles, mais certaines techniques sont utilisées plus souvent que d’autres. Certaines des vulnérabilités de sécurité basées sur le Web les plus courantes incluent les attaques par injection SQL, les scripts intersite et la falsification de demandes intersite, ainsi que l’abus de code d’authentification cassé ou des erreurs de configuration de la sécurité.
Les exploits informatiques peuvent être classés de plusieurs manières différentes, en fonction du fonctionnement des exploits et du type d’attaques qu’ils sont capables d’accomplir. Le type d’exploit le plus connu est l’exploit zero-day, qui tire parti d’une vulnérabilité zero-day. Une vulnérabilité zero-day se produit lorsqu’un logiciel – généralement une application ou un système d’exploitation – contient une vulnérabilité de sécurité critique dont le fournisseur n’est pas au courant. La vulnérabilité n’est connue que lorsqu’un pirate informatique est détecté en exploitant la vulnérabilité, d’où le terme d’exploit zero-day. Une fois qu’un tel exploit se produit, les systèmes exécutant le logiciel sont vulnérables à une attaque jusqu’à ce que le fournisseur publie un correctif pour corriger la vulnérabilité et que le correctif soit appliqué au logiciel.
Les exploits informatiques peuvent être caractérisés par le résultat attendu de l’attaque, tel que le déni de service, l’exécution de code à distance, l’escalade des privilèges, la diffusion de logiciels malveillants ou d’autres objectifs malveillants. Les exploits informatiques peuvent également être caractérisés par le type de vulnérabilité exploitée, y compris les exploits de débordement de mémoire tampon, l’injection de code ou d’autres types de vulnérabilités de validation d’entrée et les attaques par canal latéral.
Comment se produisent les exploits ?
Bien que les exploits puissent se produire de diverses manières, une méthode courante consiste à lancer des exploits à partir de sites Web malveillants. La victime peut visiter un tel site par accident, ou elle peut être trompée en cliquant sur un lien vers le site malveillant dans un e-mail de phishing ou une publicité malveillante.
Les sites Web malveillants utilisés pour des exploits informatiques peuvent être équipés de packs d’exploits, de boîtes à outils logicielles qui incluent des logiciels malveillants pouvant être utilisés pour lancer des attaques contre diverses vulnérabilités du navigateur à partir d’un site Web malveillant ou d’un site Web qui a été piraté. Ces attaques ciblent généralement des logiciels codés en Java, des navigateurs non corrigés ou des plug-ins de navigateur, et elles sont couramment utilisées pour déployer des logiciels malveillants sur l’ordinateur de la victime.
Les exploits automatisés, tels que ceux lancés par des sites Web malveillants, sont souvent composés de deux composants principaux : le code d’exploit et le code shell. Le code d’exploit est le logiciel qui tente d’exploiter une vulnérabilité connue. Le code shell est la charge utile du logiciel exploit — conçu pour fonctionner une fois que le système cible a été violé. Le code shell tire son nom du fait que certaines de ces charges utiles ouvrent un shell de commande qui peut être utilisé pour exécuter des commandes sur le système cible ; cependant, tout le code shell n’ouvre pas réellement un shell de commande.
Vulnérabilités et exploits célèbres
Ces dernières années, de nombreux exploits très médiatisés ont été utilisés pour commettre des violations massives de données et des attaques de logiciels malveillants. En 2016, par exemple, Yahoo a annoncé qu’un piratage survenu des années auparavant avait provoqué la fuite des données d’un milliard d’utilisateurs. Les attaquants ont eu accès aux comptes de messagerie des utilisateurs car les mots de passe étaient protégés par MD5, un algorithme de hachage faible et obsolète.
L’un des exploits les plus connus de ces dernières années est EternalBlue, qui attaque une faille corrigée dans le protocole de bloc de messages du serveur Windows. L’exploit, qui a été attribué à la National Security Agency, a été rendu public par le groupe Shadow Brokers cette année et plus tard utilisé par les acteurs de la menace dans les attaques de ransomware WannaCry et NotPetya.
Plus récemment, la société d’évaluation du crédit Equifax a subi une violation massive de données après que des attaquants ont exploité une vulnérabilité critique dans le framework Apache Struts, qui a été utilisé dans l’une des applications Web de la société. Un correctif a été publié plus tôt cette année pour la faille critique, qui était exploitée dans la nature, mais Equifax n’a mis à jour son application Web qu’après la détection des attaquants.