INGI 2591 : Détection d’intrusion RACE CONDITION.

Slides:



Advertisements
Présentations similaires
Introduction Rétro ingénierie d’interfaces graphiques
Advertisements

Formation - Fedora et VMware
Les scripts de sauvegarde des BD developpement et marketing.
Etudes de cas A vous de faire Bases de données DRES – B. TALON.
Samba contrôleur de domaine
PHP Accès au système de fichiers
GESTION D’IMPRISSION SOUS WINDOWS & LINUX
PLAN I / OBJECTIFS II/ OBSERVATIONS FAITES LORS DE LA PRECEDENTE SEANCE III/CARACTERISATION DES ANTENNES IV/CONCLUSION V/PERSPECTIVES.
GEF 435 Principes des systèmes dexploitation Communication Interprocessus (CIP) II (Tanenbaum 2.3)
Chapitre I : Systèmes d’exploitation
Mise en œuvre d’un programme
Les réseaux informatiques
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
Projet 4info.
Systèmes d’exploitation
Scanning.
Algorithmique et Programmation
Version 2007Administration système Linux Francis Rogard 1 SYSTEME DEXPLOITATION LINUX La ligne de commandes.
TP : Fichiers et Tableaux Séance N°2 Avril Application de Gestion de stock Partie 1 : les fichiers 1 Création dun fichier de 20 articles.
Système d’exploitation
Course Critique Race Condition
Systèmes d'exploitations
Module 6 : Gestion du stockage des données
Techniques d’administration [BTS IRIS tv
FICHIERS : Définition : Algorithme général:
Le langage ASP Les formulaires avec Request. Les formulaires sont employés pour transmettre des informations saisies par un client à une application Web.
GPA435 – Lab #2 partie 2 Explications compl é mentaires GPA435 – révision 2013, Tony Wong, ing., Ph.D.
Les guides de formation WS-FTP Comment télécharger un site web sur le serveur de lÉcole.
CSI3531 – Labo 1 Lobservation du comportement de processus.
3.3 Circuits logiques à mémoire Bascules (latches)
Utilisation avancée de linux
La Programmation CGI Principe Général Traitement des informations
Site d’un chef d’orchestre
PHP & My SQL.
FORMATION Unix/Linux CHAPITRE 1: LES PREMIERS PAS.
CHAPITRE 4 : Gestion des Utilisateurs et Groupes
Module I-C3 : Applications Web IUT R&T 2e année
UTILISATION DE LINUX. LINUX 2 UTILISATION DE LINUX Différences Windows-Linux Le prix La licence Le choix des distributions Les applications Les utilisateurs.
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Gérer la sécurité des mots de passe et les ressources
KRIKORIAN Pierre HILMI Brahim
Travailler avec des processus
Scripts shell intro Un script bash est un fichier contenant une suite de commandes shell, exécutables par l'interpréteur (ici le programme /bin/bash),
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II PRO-1024.
Créer des packages.
SYSTÈME D’EXPLOITATION I
Interactions entre Processus
Journées d'études Faible Tension Faible Consommation 14, 15, 16 mai Gwenolé CORRE, Nathalie JULIEN, Eric SENN, Eric MARTIN LESTER, Université de.
Introduction à Visual Studio C++ (VC++)
Utilisation avancée de linux Réseau Démarrage et arrêt.
Auvray Vincent Blanchy François Bonmariage Nicolas Mélon Laurent
Finder => Application => Utilitaires => Terminal Editor:pico Touches –Finder=>Applic.=> Utili. => Touches –~: Alt+N –|: Shift+Alt+N –[: Shift+ Alt+5 –{:
INGI 2591 : Détection d’intrusion David Dal Zot (INFO23) Benjamin Gigot (INFO23) Xavier Lerot (INFO23) Benjamin Tillier (INFO23) RACE CONDITION.
Variables et environnement utilisateur W. Barhoumi.
1 Système d’exploitation Les scripts csh 1 ère Année Année Tienté HSU.
Sif Démarrage de VC++ n Démarrer -> Tous les programmes -> Microsoft Visual Studio > Microsoft Visual Studio 2005.
Mise en place d’un serveur DNS et DHCP sous Redhat 7.x
Elaboré par Ahmed BESSAIDI
FORMATION Unix/Linux CHAPITRE 5 : Gestion des Droits.
1 Wikiman DRUANT Grégoire ZEKRI Mohamed Juin 2006 Encadré par : Mr Eric Piel.
Projet Robotique: réalisation de robots suiveur
Crédits SommaireSystème & Processus Système et Applications Système, programmes & données Définition Système & UtilisateursSystème et Interface CULTURE.
LE CADENCIER DES VENTES
Titre du dossier et photo illustrant le dossier
PROJET COMMANDE DIFF INGÉNIERIE DES APPLICATIONS MOBILES Charrier Jimmy, Moundangu Kevin, Michaud Marc, Princivil Arhouston. 3IAM.
NICE.introduction ► ► Dans minix, toutes les processus utilisateurs s’exécutent avec la même priorité. ► ► Si en arrière fond, plusieurs processus intensifs.
CCLEANER INSTALLATION ET FONCTIONNEMENT. INTRODUCTION QUELLE EN EST L’UTILITÉ? C’est un excellent outil d’entretien de nos ordinateurs. Gratuit, sur Internet.
التركيز الإقتصادي واستغلال مراكز الهيمنة وآثارها على التجارة والتنمية في الدول العربية السيد خليفة التونكتي المدير العام السابق للمنافسة والأبحاث الإقتصادية.
الهيئة العامة لحماية المستهلك أساليب الترويج وتأثيراتها على المستهلك خليفة التونكتي - مستشار المنافسة - 1.
Transcription de la présentation:

INGI 2591 : Détection d’intrusion RACE CONDITION

INGI 2591 : Détection d’intrusion I.RACE CONDITION : Définition et description II.RACE CONDITION et systèmes de fichiers III.Description d’une attaque typique IV.Commentaire et solution V.Application d’une attaque : setuidperl I.RACE CONDITION : Définition et description II.RACE CONDITION et systèmes de fichiers III.Description d’une attaque typique IV.Commentaire et solution V.Application d’une attaque : setuidperl

I. RACE CONDITION : Définition et description Définition GENERALE : Une RC apparaît lorsque deux ou plusieurs opérations se produisent de manière indéfinie (McKusick et al. 1996) Définition GENERALE : Une RC apparaît lorsque deux ou plusieurs opérations se produisent de manière indéfinie (McKusick et al. 1996) CONCEPT : Systèmes multitask DANGER si : 2 programmes accèdent même donnée en même temps. CONCEPT : Systèmes multitask DANGER si : 2 programmes accèdent même donnée en même temps.

I. RACE CONDITION : Définition et description SOIENT 2 PROCESS A et B PROCESS A PROCESS B time READ FILE IN MEMORY MODIFY FILE IN MEMORY READ FILE IN MEMORY MODIFY FILE IN MEMORY WRITE FILE ON DISK CRITICAL SECTION CONCLUSION : TRAVAIL DE B EST PERDU

I. RACE CONDITION : Définition et description CELA PEUT CONDUIRE A UN ETAT INCOHERENT DU SYSTEME : B a effectué une opération sur une donnée inconsistente. CELA PEUT CONDUIRE A UN ETAT INCOHERENT DU SYSTEME : B a effectué une opération sur une donnée inconsistente. PROCESS A Read (X):X=2; X = X + 2;X=4; Write (X);X=4; PROCESS B Read (X):X=2 X = X + 6;X=8 Write (X); X=8 FINALEMENT, X=4 au lieu de 12

II. RACE CONDITION : RC et système de fichiers De manière + SPECIFIQUE : FILE SYSTEMS L’attaquant essaie de changer l’état du système de fichier entre 2 opérations sur ce SF, opérations faisant partie d’un même programme. De manière + SPECIFIQUE : FILE SYSTEMS L’attaquant essaie de changer l’état du système de fichier entre 2 opérations sur ce SF, opérations faisant partie d’un même programme. Exemple typique de RACE CONDITION avec ps

III. Description d’une attaque typique : ps Commande ps : affiche des infos sur les process actifs PS ATTAQUANT 1. CREATE /tmp/tmpfile 2. EXEC SYS CALL : root CHOWN() ON /tmp/tmpfile 1. SLOW DOWN SYSTEM TO INCREASE CS CRITICAL SECTION 2. FIND TEMP FILE and ERASE 3. CREATE /tmp/tmpfile

III. Description d’une attaque typique : ps FINALEMENT L’ATTAQUANT POSSEDE UN FICHIER (CAR DS REPERTOIRE WORLD WRITABLE) QUI, QUAND IL S’EXECUTE, LE FAIT AVEC LES DROITS DE ROOT METTRE DS CE FICHIER UN SHELL, QUI S’EXECUTERA DONC EN ROOT … L’ATTAQUANT POSSEDE UN FICHIER (CAR DS REPERTOIRE WORLD WRITABLE) QUI, QUAND IL S’EXECUTE, LE FAIT AVEC LES DROITS DE ROOT METTRE DS CE FICHIER UN SHELL, QUI S’EXECUTERA DONC EN ROOT …

IV. Commentaires et solutions COMMENTAIRES 1.COMMENT EST-CE QUE ATTAQUEUR A PU EFFACER /tmp/tmpfile ?  LE REPERTOIRE TMP POSSEDE DES PERMISSIONS « WORLD WRITABLE » POUR TOUT FICHIER CONTENU DEDANS. 1.COMMENT EST-CE QUE ATTAQUEUR A PU EFFACER /tmp/tmpfile ?  LE REPERTOIRE TMP POSSEDE DES PERMISSIONS « WORLD WRITABLE » POUR TOUT FICHIER CONTENU DEDANS.

IV. Commentaires et solution SOLUTION 2. COMMENT EVITER CE GENRE DE PROBLEME ?  UTILISER FCHOWN() AU LIEU DE CHOWN()  FCHOWN() AGIT AU NIVEAU DU FDESCRIPTEUR  ALORS QUE CHOWN() AGIT AU NIVEAU DU NOM DU FICHIER 2. COMMENT EVITER CE GENRE DE PROBLEME ?  UTILISER FCHOWN() AU LIEU DE CHOWN()  FCHOWN() AGIT AU NIVEAU DU FDESCRIPTEUR  ALORS QUE CHOWN() AGIT AU NIVEAU DU NOM DU FICHIER ON PEUT CHANGER LE NOM D’UN FICHIER MAIS ON NE PEUT PAS CHANGER SON FD ON PEUT CHANGER LE NOM D’UN FICHIER MAIS ON NE PEUT PAS CHANGER SON FD

V. Application d’une attaque : suidperl (1) suidperl passwd (root, suid)

V. Application d’une attaque : suidperl (2) suidperl passwd (root, suid) sush.c -> sush bighole.c -> bighole

V. Application d’une attaque : suidperl (3) suidperl passwd (root, suid) sush.c -> sush bighole.c -> bighole script perl

V. Application d’une attaque : suidperl (4) suidperl passwd (root, suid) sush.c -> sush bighole.c -> bighole script perl foo <- ~!bighole <-

V. Application d’une attaque : suidperl (5) suidperl passwd (root, suid) sush.c -> sush bighole.c -> bighole script perl foo <- ~!bighole <-

V. Application d’une attaque : suidperl (6) suidperl passwd (root, suid) sush.c -> sush bighole.c -> bighole script perl foo <- ~!bighole <-

V. Application d’une attaque : suidperl (7) suidperl passwd (root, suid) sush.c -> sush bighole.c -> bighole script perl foo <- ~!bighole <- User 500 tried to run dev 769 ino in place of dev 769 ino 17568! (Filename of set-id script was foo ~!bighole, uid 500 gid 500.) /bin/mail

V. Application d’une attaque : suidperl (7) suidperl passwd (root, suid) sush.c -> sush bighole.c -> bighole script perl foo <- ~!bighole <- User 500 tried to run dev 769 ino in place of dev 769 ino 17568! (Filename of set-id script was foo ~!bighole, uid 500 gid 500.) /bin/mail