Assiste.com
cr 01.04.2012 r+ 22.10.2024 r- 22.10.2024 Pierre Pinard. (Alertes et avis de sécurité au jour le jour)
Dossier (collection) : Encyclopédie |
---|
Introduction Liste Malwarebytes et Kaspersky ou Emsisoft (incluant Bitdefender) |
Sommaire (montrer / masquer) |
---|
L'injection de code est l'exploitation d'un bug informatique causé par le traitement, malgré tout, de données dont la validité n'a pas été vérifiée. l'injection est utilisée par un attaquant pour introduire (« injecter ») du code dans un programme informatique vulnérable et modifier le cours de son exécution. Le résultat d'une injection de code réussie est toujours une malveillance qui peut être de toutes natures, selon son auteur/opérateur. Cela peut être :
Des vulnérabilités d'injection de code se produisent lorsqu'un attaquant envoie des données non fiables à un interpréteur de ces données qui les accepte sans en vérifier la conformité et l'innocuité.
Les failles d'injection se trouvent le plus souvent dans :
Selon cette analyse (Penn Computing. University of Pennsylvania), les failles d'injection auraient tendance à être plus faciles à détecter lors de l'examen du code source de l'application que lors de tests via des jeux d'essais imaginés pour ces tests.
« Le meilleur moyen de déterminer si vous êtes vulnérable aux attaques par ligne de commande ou par injection SQL consiste à rechercher dans le code source tous les appels aux ressources externes (par exemple, système, exec, fork, Runtime.exec, requêtes SQL,, ou quelle que soit la syntaxe utilisée pour faire des appels aux interpréteurs dans votre environnement. Notez que de nombreuses langues disposent de plusieurs manières d'exécuter des commandes externes. Les développeurs doivent revoir leur code et rechercher tous les emplacements où l'entrée d'une requête HTTP pourrait éventuellement se retrouver dans l'un de ces appels. Vous devez examiner attentivement chacun de ces appels pour vous assurer que les étapes de protection décrites ci-dessous sont suivies. »
Les scanneurs et les fuzzers peuvent aider à détecter les failles d'injection.
Certains types d'injections de code sont des erreurs d'interprétation, donnant une signification particulière aux entrées de l'utilisateur. Des erreurs d'interprétation similaires existent en dehors du monde de l'informatique, telles que dans le sketch « Who's on First ? ». Dans ce sketch, il est impossible de distinguer les noms propres des mots normaux. De même, dans certains types d'injections de code, il est impossible de distinguer l'entrée utilisateur des commandes système.
Les techniques d'injection de code sont populaires dans le piratage ou le craquage de système pour obtenir des informations, une élévation de privilèges ou un accès non autorisé à un système. L'injection de code peut être utilisée de manière malveillante à plusieurs fins, notamment :
En 2008, 5,66% de toutes les vulnérabilités signalées cette année-là ont été classées dans la catégorie « Injection de code », l'année la plus élevée jamais enregistrée. En 2015, cette proportion avait diminué à 0,77%.
Une forme d'injection peut être mise en place en exploitant la phase de post compilation des codes sources des applications : l'édition des liens. Durant cette phase, tous les liens vers les composants (nous parlerions des Dlls dans le monde Windows) sont ajoutés au code pour former un tout homogène et indépendant. Si un attaquant arrive à modifier un composant du compilateur, la totalité des applications passant par cet édition de lien (link edit) est compromise, et trouver ce que fait cette injection ne sera pas chose aisée.
|
Les encyclopédies |
---|