Introduction au débordement de tampon



Documents pareils
Initiation à la sécurité

Introduction aux buffer overflow, CS335

Les attaques par corruption de mémoire Synopsis Mickael Deloison 22/10/2008

Présentation du 30/10/2012. Giving security a new meaning

Préjudices, failles, vulnérabilités et menaces

Sécurité des systèmes d'informations et communicants dans le médical

Table des matières. Avant-propos... Préface... XIII. Remerciements...

Les vulnérabilités du noyau. LECORNET Olivier LEGROS Bruno VIGIER Nicolas Promo 2005

GlobalScape Secure FTP Server Buffer Overflow

TEST D INTRUISION. Document Technique

Une approche de virtualisation assistée par le matériel pour protéger l espace noyau d actions malveillantes

Sécurité des réseaux Les attaques

LA PROTECTION DES DONNÉES

ISEC. Codes malveillants

Introduction aux antivirus et présentation de ClamAV

Outils d'analyse de la sécurité des réseaux. HADJALI Anis VESA Vlad

Systèmes d exploitation

StormShield v4.0 StormShield - Version 4.0 Presentation OSSIR 10 juillet 2006

Bilan 2008 du Cert-IST sur les failles et attaques

Les formations. ENI Ecole Informatique

Tutoriel sécurité. Intrusions réseaux & attaques Web. Version 1.3

Nouveaux outils de consolidation de la défense périmétrique

Cloud Computing, Fondamentaux, Usage et solutions

Compte-rendu Black Hat et Defcon

Netdays Comprendre et prévenir les risques liés aux codes malicieux

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

BIG DATA APPLIQUÉES À LA SÉCURITÉ. Emmanuel MACÉ Akamai Technologies

OWASP Open Web Application Security Project. Jean-Marc Robert Génie logiciel et des TI

Chapitre VIII : Journalisation des événements

Sécurité & système d exploitation

S Catalogue des Formations Sécurité. Présentation. Menu. Présentation P.2 Nos formations P.3 Modalités P.9 Bulletin d inscription P.

Plan global Outils de développement et compilation. Plan. Objectifs des outils présentés. IDE, GCC/Clang, ASAN, perf, valgrind, GDB.

Solution du challenge SSTIC Emilien Girault ANSSI/COSSI/DTO/BAI 06/06/13

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

PANORAMA DES MENACES ET RISQUES POUR LE SI

Les failles Format String

Vulnérabilités engendrées par la virtualisation. Jean-Marie Petry / jean-marie.petry@rbs.fr Chef de Projet / Ingénieur ISIAL

Architecture système sécurisée de sonde IDS réseau

Fiche Technique. Cisco Security Agent

Linux embarqué: une alternative à Windows CE?

Rappels d architecture

Vulnérabilités et sécurisation des applications Web

Mise en oeuvre TSM 6.1

Sécurité de la ToIP Mercredi 16 Décembre CONIX Telecom

Sécurisation des systèmes

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

Virtualisation & Sécurité

«Evolution des menaces de sécurité et lutte contre les cyber attaques» Mathieu Vialetay, CISSP. Security Consultant, North Africa Tlemcen, juin 2013

Sécurité et sûreté des systèmes embarqués et mobiles

JAB, une backdoor pour réseau Win32 inconnu

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation

L'infonuagique, les opportunités et les risques v.1

Les rootkits navigateurs

Sécurité Informatique : Metasploit

Dr.Web : les meilleures technologies pour protéger vos ordinateurs

Les attaques APT Advanced Persistent Threats

Sécurité & Virtualisation Istace Emmanuel

Principales applications de Linux en sécurité

1. Formation F5 - Local Traffic Manager Configuring (LTM)

La sécurité informatique

La Latecion protection anti-intrusion Web Web Le concept «Zero effort Security» La protection des applications Extranet

Table des matières. Date : Version : 29/06/ Objet : OpenVas 6.0

RÈGLE N 1 : SAUVEGARDEZ VOS DONNÉES

CATALOGUE DES FORMATIONS SECURITE INFORMATIQUE

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Renforcement de la sécurité des PDF avec Adobe Reader XI et Adobe Acrobat XI

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

L'accélération 3D sous Linux

TUNIS LE : 20, 21, 22 JUIN 2006

Les vols via les mobiles

Compilation (INF 564)

FORMATION PROFESSIONNELLE AU HACKING

La Sécurité des Données en Environnement DataCenter

OUTIL DE TRAVAIL COLLABORATIF

Dr.Web Les Fonctionnalités

Rootkit pour Windows Mobile 6

Audits de sécurité, supervision en continu Renaud Deraison

Ordinateurs, Structure et Applications

Livre blanc. La sécurité de nouvelle génération pour les datacenters virtualisés

Attaques applicatives

A propos de la sécurité des environnements virtuels


Introduction à la Programmation Parallèle: MPI

Once the installation is complete, you can delete the temporary Zip files..

1 sur 6 16/06/ :55

Désinfecte les réseaux lorsqu ils s embrasent

OSSIR Groupe SécuritS. curité Windows. Réunion du du février 2006 EADS. Réunion OSSIR du 13/02/2006. page 1

Lyon, mardi 10 décembre 2002! "#$%&"'"# &(

Web : Stockage de mot de passe LOG619 Automne 2011 Olivier Bilodeau

Supplément de renseignements : Examens d applications et pare-feux d applications web clarifiés Normes : Normes en matière de sécurité des données de

GESTION DES INCIDENTS DE SÉCURITÉ DE L INFORMATION

F5 : SECURITE ET NOUVEAUX USAGES

Compromettre son réseau en l auditant?

ERESI : une plate-forme d analyse binaire au niveau noyau

LOGICIEL DC4D MONITOR

Sécurité logicielle. École de technologie supérieure (ÉTS) MGR850 Automne 2012 Automne Yosr Jarraya. Chamseddine Talhi.

Gestion des Incidents SSI

Transcription:

Buffer OverFlow Université Montpellier II, 2008

Sommaire 1 Motivations Introduction et pré-requis chez l auditoire Problématique évidente et inhérente Balade dans la mémoire Comportement de la pile Fonction et place du shellcode 2 non éxecutable 3 Les aroseurs sont arosés Conclusion ou comment réduire son exposition aux menaces

Introduction et pré-requis Problématique évidente et inhérente Balade dans la mémoire Comportement de la pile Fonction et place du shellcode 1 Motivations Introduction et pré-requis chez l auditoire Problématique évidente et inhérente Balade dans la mémoire Comportement de la pile Fonction et place du shellcode 2 non éxecutable 3 Les aroseurs sont arosés Conclusion ou comment réduire son exposition aux menaces

Historique non exhaustif Introduction et pré-requis Problématique évidente et inhérente Balade dans la mémoire Comportement de la pile Fonction et place du shellcode 1972, Computer Security Technology Planning Study sort en page 61 : This can be used to inject code into the monitor that will permit the user to seize control of the machine 1988, Inet Worm 1 se répand et paralysa 10% d Internet via l exploitation d un Buffer OverFlow dans le daemon fingerd 1996, Smashing the Stack for Fun and Profit 2 publié dans Phrack 49 devient célèbre pour son introduction pas-à-pas de l exploitation des débordements de tampons Aujourd hui, la plupart des attaques et tentatives d attaque passent par l exploitation de la mémoire 1 Robert J.Morris 2 Elias Levy dit Aleph One

Introduction et pré-requis Problématique évidente et inhérente Balade dans la mémoire Comportement de la pile Fonction et place du shellcode Redéfinition d un Buffer OverFlow (BOF) segmentation fault ou bus error Survient lorsqu un programme tente d allouer en mémoire plus de données que l espace reservé Ainsi le risque d écraser une zone mémoire non dédiée est fort

Légitimité de la compréhension Introduction et pré-requis Problématique évidente et inhérente Balade dans la mémoire Comportement de la pile Fonction et place du shellcode Primordial de comprendre les méchanismes liés à l exploitation des BOF Au moins pour les détecter Mieux pour les éviter Les aspects légaux complexes et en (d)évolution sont très importants Pourquoi? mauvaises habitudes de programmation (i.e : strcpy ou gets) pas de contrôle de la taille de chaine à copier Pour quoi? protéger et cacher un système de protection avancé fins malveillantes (i.e : priviledge escalation)

Légitimité de la compréhension Introduction et pré-requis Problématique évidente et inhérente Balade dans la mémoire Comportement de la pile Fonction et place du shellcode Primordial de comprendre les méchanismes liés à l exploitation des BOF Au moins pour les détecter Mieux pour les éviter Les aspects légaux complexes et en (d)évolution sont très importants Pourquoi? mauvaises habitudes de programmation (i.e : strcpy ou gets) pas de contrôle de la taille de chaine à copier Pour quoi? protéger et cacher un système de protection avancé fins malveillantes (i.e : priviledge escalation)

Légitimité de la compréhension Introduction et pré-requis Problématique évidente et inhérente Balade dans la mémoire Comportement de la pile Fonction et place du shellcode Primordial de comprendre les méchanismes liés à l exploitation des BOF Au moins pour les détecter Mieux pour les éviter Les aspects légaux complexes et en (d)évolution sont très importants Pourquoi? mauvaises habitudes de programmation (i.e : strcpy ou gets) pas de contrôle de la taille de chaine à copier Pour quoi? protéger et cacher un système de protection avancé fins malveillantes (i.e : priviledge escalation)

Introduction et pré-requis Problématique évidente et inhérente Balade dans la mémoire Comportement de la pile Fonction et place du shellcode Le format Executable Linking Format (ELF) La plupart des systèmes d exploitation partage la mémoire en deux espaces mémoires disjoints : L espace utilisateur 3 s étend de 0x00000000 à 0xBFFFFFFF L espace noyau 4 allant de 0xC0000000 à 0xFFFFFFFF Le Program Loader (PL) crée une image processus à partir du fichier ELF executable 3 User Land 4 Kernel Land

Avant et après exploitation Introduction et pré-requis Problématique évidente et inhérente Balade dans la mémoire Comportement de la pile Fonction et place du shellcode

Mécanismes et utilisation du shellcode Introduction et pré-requis Problématique évidente et inhérente Balade dans la mémoire Comportement de la pile Fonction et place du shellcode pièce maîtresse dépend de l architecture du système d exploitation visé du processus cible est constitué d opcode

1 Motivations Introduction et pré-requis chez l auditoire Problématique évidente et inhérente Balade dans la mémoire Comportement de la pile Fonction et place du shellcode 2 non éxecutable 3 Les aroseurs sont arosés Conclusion ou comment réduire son exposition aux menaces

Méthode pseudo-générique S affranchir de la protection offerte par la pile non éxecutable Au lieu de retourner le code situé dans la pile, la fonction vulnérable doit retourner dans une zone mémoire occupée par une librairie dynamique

Etat initial Le buffer est vide

Début de l injection Le buffer n est plus vide

Le buffer est rempli

Buffer OverFlow Le buffer déborde

Ecrasement du sfp

Ecrasement d eip a a i.e : par l adresse de system()

Ecrasement de ARG 2 par l adresse de retour de la fonction a a i.e : l adresse de exit()

Ecrasement de ARG 1 par l argument de la fonction a a i.e : la chaine /bin/sh

Etat final Terminaison de chaine

Protections et Améliorations Protections randomization des adresses mémoires appliquée au chargement de la libc injection d un octet à 0 dans les adresses des fonctions de la libc Améliorations utilisation de variables globales ret-into-libc chaînées

Les aroseurs sont arosés Conclusion ou comment réduire son exposition aux menaces 1 Motivations Introduction et pré-requis chez l auditoire Problématique évidente et inhérente Balade dans la mémoire Comportement de la pile Fonction et place du shellcode 2 non éxecutable 3 Les aroseurs sont arosés Conclusion ou comment réduire son exposition aux menaces

Les aroseurs sont arosés Conclusion ou comment réduire son exposition aux menaces Jouer au chat et à la souris? S affranchir des contraintes d une architecture little endian vs big endian l option stack non-exec présente sur les architectures 64bits implique presque systématiquement une approche de type ret-into-libc ou heap overflow Bruteforce pour la recherche des adresses en mémoire utiliser le GPU ou un autre chipset que le CPU, y compris la mémoire associée Automatiser l exploitation peut engendrer des vers, virii, trojans, rootkits, botnets et autres menaces un DDoS le détournement (voire la compromission) d un ou plusieurs systèmes d information

Les aroseurs sont arosés Conclusion ou comment réduire son exposition aux menaces À armes égales Un rootkit classique tourne au niveau noyau Un anti-rootkit classique tourne aussi au niveau noyau Un rootkit avancé utilise les mêmes systèmes de protection avancés qu un anti-rootkit avancé randomisation des adresses 5 module kernel invisible (caché) protection de son espace mémoire prise d information (fingerprinting) discrétion (faible activité système et réseau) et hibernation connaissance des anti-rootkit connus le rendant plus efficace 5 Address space layout randomization (ASLR)

Les aroseurs sont arosés Conclusion ou comment réduire son exposition aux menaces Ligne de conduite Développer correctement Mettre, tenir et se tenir à jour Renforcer l OS Patcher le noyau Surveiller et logguer Sensibiliser

Appendice Quelques solutions connues et reconnues Sources et références Solutions logicielles W^X PaX, {RSBAC RBAC}, grsecurity Exec Shield Openwall DPE a de MS a Data Prevention Execution coreimpact, gdb, metasploit, nagios, nessus, nmap, valgrind..

Appendice Quelques solutions connues et reconnues Sources et références Pour aller un peu plus loin I http ://en.wikipedia.org/wiki/buffer_overflow http ://en.wikipedia.org/wiki/return-to-libc_attack http ://en.wikipedia.org/wiki/w%5ex http ://fr.wikipedia.org/wiki/dépassement_de_tampon http ://ouah.org/ http ://www.grsecurity.net/ http ://www.ibm.com/developerworks/linux/library/l-sp4.html http ://www.securiteinfo.com/attaques/hacking/buff.shtml

Appendice Quelques solutions connues et reconnues Sources et références Pour aller un peu plus loin II Autodafé : an Act of Software Torture, Martin Vuagnoux (EPFL) Exploitation avancée de Buffer OverFlows, Security and Cryptography Laboratory (LASEC) Inside the buffer overflow attack : Mechanism, Method & Preventin, Mark E.Donaldson (SANS Institute) Smashing The Stack For Fun And Profit, Aleph One - Phrack 49 TP Sécurité des Réseaux