Flux rss
Collection CommentÇaMarche.net
Bookmark Ajouter aux favoris / Partager
Attacchi da saturazione del buffer (buffer overflow) Ataques por profusão de tampão  (buffer overflow) Angriffe durch Pufferüberlauf (buffer overflow) Ataques por desbordamiento de búfer Buffer overflow attacks

Introduction au buffer overflow

Les attaques par « débordement de tampon » (en anglais « Buffer overflow », parfois également appelées dépassement de tampon) ont pour principe l'exécution de code arbitraire par un programme en lui envoyant plus de données qu'il n'est censé en recevoir.

En effet, les programmes acceptant des données en entrée, passées en paramètre, les stockent temporairement dans une zone de la mémoire appelée tampon (en anglais buffer). Or, certaines fonctions de lecture, telles que les fonctions strcpy() du langage C, ne gèrent pas ce type de débordement et provoquent un plantage de l'application pouvant aboutir à l'exécution du code arbitraire et ainsi donner un accès au système.

La mise en oeuvre de ce type d'attaque est très compliquée car elle demande une connaissance fine de l'architecture des programmes et des processeurs. Néanmoins, il existe de nombreux exploits capable d'automatiser ce type d'attaque et la rendant à la portée de quasi-néophytes.

Principe de fonctionnement

Le principe de fonctionnement d'un débordement de tampon est fortement lié à l'architecture du processeur sur lequel l'application vulnérable est exécutée.

Les données saisies dans une application sont stockée en mémoire vive dans une zone appelée tampon. Un programme correctement conçu doit prévoir une taille maximale pour les données en entrées et vérifier que les données saisies ne dépassent pas cette valeur.

Les instructions et les données d'un programme en cours d'exécution sont provisoirement stockées en mémoire de manière contigûe dans une zone appelée pile (en anglais stack). Les données situées après le tampon contiennent ainsi une adresse de retour (appelée pointeur d'instruction) permettant au programme de continuer son exécution. Si la taille des données est supérieure à la taille du tampon, l'adresse de retour est alors écrasée et le programme lira une adresse mémoire invalide provoquant une faute de segmentation (en anglais segmentation fault) de l'application.

Un pirate ayant de bonnes connaissance techniques peut s'assurer que l'adresse mémoire écrasé corresponde à une adresse réelle, par exemple située dans le tampon lui-même. Ainsi, en écrivant des instructions dans le tampon (code arbitraire), il lui est simple de l'exécuter.

Il est ainsi possible d'inclure dans le tampon des instructions ouvrant un interprêteur de commande (en anglais shell) et permettant au pirate de prendre la main sur le système. Ce code arbitraire permettant d'exécuter l'interprêteur de commande est appelé shellcode.

Se protéger d'un Buffer overflow

Pour se protéger de ce type d'attaque, il est nécessaire de développer des applications à l'aide de langages de programmation évolués, assurant une gestion fine de la mémoire allouée ou bien à l'aide de langage de bas niveau en utilisant des bibliothèques de fonctions sécurisées (par exemple les fonctions strncpy()).

Des bulletins d'alerte sont régulièrement publiés, annonçant la vulnérabilité de certaines applications à des attaques par débordement de tampon. Suite à ces bulletins d'alerte, les éditeurs des logiciels touchés par la vulnérabilité publient généralement des correctifs (patchs) permettant de corriger la faille. Tout administrateur système et réseau se doit de se tenir informé des alertes de sécurité et d'appliquer le plus rapidement possible les correctifs.

Plus d'informations



Dernière modification le mardi 14 octobre 2008 à 17:40:31.Ce document intitulé « Attaques par débordement de tampon (buffer overflow) » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Buffer overflow (Résolu) pour ceux que ça intéresse, un très beau document sur le buffer overflow j'ai hésité entre ici en le forum Programmation, mais comme le contexte dans lequel on en entend le plus parler sans savoir ce que c'est, c'est la sécurité, j'opte pour ce forum.... www.commentcamarche.net/forum/affich-1245304-buffer-overflow
Probleme css" buffer overflow in net message& Bonjour j'ai un probleme sur counter strike source . Je me deconnect tout le temps des serveurs et un message aparait me disant : "Buffer overflow in net message". J'aimerai savoir ce que cela signifie et comment je peux le résoudre.Aidez moi svp :-( www.commentcamarche.net/forum/affich-3370853-probleme-css-buffer-overflow-in-net-message
[buffer overflow] - explorer.exe:kernel32 Bonsoir, Lorsque j'essaie de lire un fichier .avi, j'ai le message d'erreur suivant : Type de détection : buffer overflow Nom : C:\windows\explorer.exe:kernel32.GetProcAddress Détecté en tant que BO : accès en écriture BO : tas Etat : 1093 J'ai... www.commentcamarche.net/forum/affich-2675554-buffer-overflow-explorer-exe-kernel32
[Gravure] Buffer underrun (tampon vide)Le problème de vidage de tampon (buffer underrun) est une erreur classique intervenant lors de la gravure d'un CD ou d'un DVD. Cette erreur provient du fait qu'un graveur doit nécessairement graver en continu, ce qui signifie que les données à... www.commentcamarche.net/faq/sujet-2650-gravure-buffer-underrun-tampon-vide
Protéger votre serveur ssh contre les attaques brute-forcessh est excellent pour accéder à distance à ses fichiers, ou même utiliser son ordinateur à distance. Mais que faire contre les attaques de type brute-force ? (Essai de toutes les combinaisons de lettre pour trouver le mot de passe). C'est... www.commentcamarche.net/faq/sujet-6748-proteger-votre-serveur-ssh-contre-les-attaques-brute-force
Message recurrent MSRPC Srv Svc NetApi BufferBonjour, Norton m'informe toutes les minutes d'une tentative d'attaque " MSRPC Srv Svc NetApi Buffer Overflow (2)".C'est touchant de se savoir tant convoité, mais comment se débarrasser devant TANT d'insistance? Merci d'avance. www.commentcamarche.net/forum/affich-3911085-message-recurrent-msrpc-srv-svc-netapi-buffer
Infecté, besoin d'aide ...Bonjour à tous et bonne année ! Mon PC est depuis quelques temps victime d'attaque du type kill bill exploit, ou buffer-overflow exploit. Kaspersky me les stoppe, mais j'aimerai savoir si un ver ou autre saloperie ne serai pas responsable de la... www.commentcamarche.net/forum/affich-2587314-infecte-besoin-d-aide
Attaque virus et attaque lovesan : help me !!Bonjour à tous , Je viens d'avoir la freebox que j'ai branchée hier en ethernet Puis j'ai commencé à avoir des messages de l'anti-hacker kaspersky totues les 10 sec : "votre ordinateur a subi une attaque Lovesan" Je l'ai mis en mode invisible puis... www.commentcamarche.net/forum/affich-2638435-attaque-virus-et-attaque-lovesan-help-me
Attaques par injection de commandes SQLInjection de commandes SQL Les attaques par injection de commandes SQL sont des attaques visant les sites web s'appuyant sur des bases de données relationnelles. Dans ce type de sites, des paramètres sont passés à la base de données sous forme... www.commentcamarche.net/contents/attaques/injection-commandes-sql.php3
Attaques Cross-Site ScriptingInjection de code malicieux Les attaques de type Cross-Site Scripting (notée parfois XSS ou CSS) sont des attaques visant les sites web affichant dynamiquement du contenu utilisateur sans effectuer de contrôle et d'encodage des informations... www.commentcamarche.net/contents/attaques/cross-site-scripting.php3
Attaque SYNAttaque SYN L'« attaque SYN » (appelée également « TCP/SYN Flooding ») est une attaque réseau par saturation (déni de service) exploitant le mécanisme de poignéee de main en trois temps (en anglais Three-ways handshake) du protocole TCP. Le... www.commentcamarche.net/contents/attaques/attaque-syn.php3