Démystification de l'attaque par Buffer Overflow

Magazine
Marque
GNU/Linux Magazine
Numéro
195
Mois de parution
juillet 2016
Domaines


Résumé
On entend beaucoup parler des buffer overflow (« débordement de tampon » en français) . Il paraît que c'est un problème dans la programmation en C qui entraîne un crash lors de l'exécution et qui peut être utilisé par un hacker… Ok, ça tout le monde le sait :-|. On entend beaucoup parler de ça mais c'est quoi concrètement ? Comment peut-on réussir à prendre le contrôle d'une machine par un « débordement de tampon » ? Et apparemment ça se fait même à distance !

Les attaques par buffer overflow nécessitent des connaissances en organisation mémoire et en programmation C . Pour illustrer tout ceci, nous allons commencer par prendre un code C simple vulnérable au buffer overflow ; nous allons ainsi analyser l'exécution du programme avec gdb qui nous permettra justement de comprendre le buffer overflow. Enfin, nous allons montrer comment utiliser le buffer overflow pour exécuter un code arbitraire et dans le cas d'espèce, un shell.

L'attaque par buffer overflow existe depuis fort longtemps. Il s'agit d'une attaque utilisée pour les logiciels programmés en langage C. Pour preuve, en 1988 un vers programmé par un étudiant de l'université de Cornell avait réussi à infecter des milliers d'ordinateurs avant d'être stoppé 10 heures après. Il exploitait un bug mystérieux dû au débordement de la pile des programmes sendmail et finger qui lui permettait d'ouvrir un shell à distance. Qu'on soit d'accord : le buffer overflow est une...

Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Qu’est-ce que le chiffrement ?

Magazine
Marque
Linux Pratique
HS n°
Numéro
50
Mois de parution
février 2021
Domaines
Résumé

Les protocoles de chiffrement de données, tels que SSL et son successeur TLS, sont au cœur des problématiques de la sécurisation des échanges sur les réseaux informatiques (dont Internet est le plus vaste représentant). Pour un développeur, comme pour un administrateur système, il est donc essentiel de bien comprendre à quoi ils servent, ce qu’ils font, et aussi quand s’en servir. Dans cet article, nous nous proposons de revenir sur toutes ces notions afin de s’assurer de leur bonne compréhension.

Monter son lab virtuel avec Kali Linux et VulnHub sous VirtualBox

Magazine
Marque
Linux Pratique
HS n°
Numéro
50
Mois de parution
février 2021
Domaines
Résumé

Dans cet article, nous allons mettre en place un virtual lab, un environnement de travail virtuel. Cet environnement vous permettra de créer, exécuter et détruire à volonté des VM vulnérables. Tout ceci sera fait dans un réseau virtuel, que nous allons créer, afin que ces machines vulnérables ne soient pas exposées sur Internet ni même sur votre réseau LAN, et éviter qu’un pirate puisse les retourner contre vous. Votre machine d’attaque sera également une machine virtuelle, sous Kali Linux, afin de ne pas utiliser votre machine de tous les jours pour vous connecter aux machines vulnérables, pour les mêmes raisons de sécurité. Kali Linux sera dans le réseau virtuel protégé pour pouvoir communiquer avec les VM vulnérables, et aura une carte réseau supplémentaire pour pouvoir accéder à Internet, être mise à jour, etc.

Définissez l'architecture de vos serveurs et installez-les

Magazine
Marque
Linux Pratique
HS n°
Numéro
49
Mois de parution
novembre 2020
Domaines
Résumé

Dans cet article, nous réfléchirons aux besoins de sécurité auxquels nos serveurs devront répondre. Il sera d’ailleurs plus question d’architecture que de serveur personnel. Pourquoi cela ? Car nos besoins vont à coup sûr évoluer dans le temps. L’approche la plus pérenne sera donc de mener une réflexion basée sur des services et non sur un serveur unique. Nous allons aussi nous attacher à assurer la résilience de nos services de base. Nos choix d’architecture auront pour objectif de pouvoir mieux détecter, contrer et éventuellement réparer les dommages causés par une attaque informatique. Nous pourrons par exemple restaurer nos services si un attaquant réussissait à prendre le contrôle du serveur. Notre plan de bataille commencera par la définition des grandes lignes de notre infrastructure, puis par la sélection de nos fournisseurs. Nous déploierons ensuite le serveur avec un premier palier de sécurisation système.

Migrez de iptables vers nftables

Magazine
Marque
Linux Pratique
Numéro
122
Mois de parution
novembre 2020
Domaines
Résumé

Il y a cinq ans, je lisais un premier article sur nftables [1] : l’outil semblait intéressant, mais il n’était pas disponible sur ma machine. En 2019, une distribution majeure, Debian, a basculé sur nftables avec sa version 10 (Buster) [2] : il est donc temps de voir comment migrer du vénérable pare-feu iptables vers son successeur.

Sauvegardez vos données, centralisez vos logs et supervisez votre sécurité

Magazine
Marque
Linux Pratique
HS n°
Numéro
49
Mois de parution
novembre 2020
Domaines
Résumé

Nos serveurs présentent désormais une surface d’attaque réseau maîtrisée et une sécurisation système d’un niveau cohérent avec notre modèle de menaces. De même, le service SSH tournant sur ces serveurs est configuré de manière optimisée. Nous pouvons donc être relativement sereins si nos adversaires sont d’un niveau intermédiaire. Et si malgré toutes ces protections, une attaque comme un rançongiciel réussissait ? Et bien dans ce cas-là, pour l’instant, notre infrastructure serait particulièrement vulnérable. Aucune sauvegarde externalisée. Pas de centralisation des traces. Une supervision sécurité inexistante. Remédions à cette situation afin d’élever le niveau de maturité de la sécurité de notre infrastructure.