Playing with ptrace() for fun and profit
|
|
|
- Valentin Bertrand Beauregard
- il y a 10 ans
- Total affichages :
Transcription
1 sous GNU/Linux EADS Corporate Research Center - DCR/STI/C SSI Lab SSTIC 2006
2 Il était une fois... Sous UNIX, ptrace() est le seul moyen de debuggage. User-space, Interface rigide et minimaliste, Privilège root non nécessaire, Éléguant ; D après la page de manuel de SunOS ptrace() est unique et mystérieux.
3 Plan ptrace() Prototype Options non documentées Accès à l espace d adressage 1 ptrace() 2 3
4 man ptrace ptrace() Prototype Options non documentées Accès à l espace d adressage Prototype #include <sys / ptrace. h> long ptrace (enum ptrace request request, pid t pid, void addr, void data ) ; Trois modes de traçage : Mode pas à pas, Par appel système, Traçage passif;
5 Actions classiques, documentées Prototype Options non documentées Accès à l espace d adressage Requête PTRACE_TRACEME PTRACE_ATTACH PTRACE_DETACH PTRACE_PEEKTEXT PTRACE_PEEKDATA PTRACE_PEEKUSR PTRACE_POKETEXT PTRACE_POKEDATA PTRACE_POKEUSR PTRACE_GETREGS PTRACE_SETREGS Signification Attachement à un processus Lecture mémoire Écriture mémoire Lecture des registres Écriture des registres
6 Manipulation des signaux Prototype Options non documentées Accès à l espace d adressage Signaux & ptrace() Un processus tracé est stoppé à la réception de chaque signal. Pour le traçeur, l arrêt semble être dû à un SIGTRAP. L option PTRACE_GETSIGINFO permet d en connaître plus sur la raison de la notification. typedef struct siginfo { int si_signo; /* numéro de signal */ int si_errno; int si_code; /* provenance : user? kernel?*/... } siginfo_t;
7 Manipulation des signaux Prototype Options non documentées Accès à l espace d adressage Signaux & ptrace() Un processus tracé est stoppé à la réception de chaque signal. Pour le traçeur, l arrêt semble être dû à un SIGTRAP. L option PTRACE_GETSIGINFO permet d en connaître plus sur la raison de la notification. typedef struct siginfo { int si_signo; /* numéro de signal */ int si_errno; int si_code; /* provenance : user? kernel?*/... } siginfo_t;
8 Manipulation des signaux Prototype Options non documentées Accès à l espace d adressage Signaux & ptrace() Un processus tracé est stoppé à la réception de chaque signal. Pour le traçeur, l arrêt semble être dû à un SIGTRAP. L option PTRACE_GETSIGINFO permet d en connaître plus sur la raison de la notification. typedef struct siginfo { int si_signo; /* numéro de signal */ int si_errno; int si_code; /* provenance : user? kernel?*/... } siginfo_t;
9 Protection anti-ptrace() Prototype Options non documentées Accès à l espace d adressage int stayalive ; void trapcatch ( int i ) { stayalive = 1; } int main( void ) {... stayalive = 1; signal (SIGTRAP, trapcatch ) ; while ( stayalive ) { stayalive = 0; k i l l ( getpid (), SIGTRAP) ; Anti-ptrace() Protection basée sur le fait qu un debugger classique ne peut pas différencier les signaux envoyés par le noyau ou par l utilisateur. do the work ( ) ; }...
10 Anti-anti-ptrace() ptrace() Prototype Options non documentées Accès à l espace d adressage Deux moyens de déterminer l origine du SIGTRAP : Manuel, fastidieux, non-portable Mode pas-à-pas? = bit single-step du processeur, Arrêter par point d arrêt matériel? = registres de debuggage ; Dans un appel système? Élégant, portable, classe quoi Utiliser ptrace(ptrace_getsiginfo, pid, NULL, &sig). = sig.si_code == SI_USER?
11 Prototype Options non documentées Accès à l espace d adressage Options de traçage : suivi des enfants Problème de fork() Solution basique : 1 À l appel à fork(), on surveille le code de retour, = on récupère ainsi le PID du fils 2 On s attache au nouveau processus, 3 On se met à le traçer ; Pwned! Race condition detected! Le scheduler peut laisser le fils exécuter des instructions avant de rendre la main au traceur.
12 Prototype Options non documentées Accès à l espace d adressage Options de traçage : suivi des enfants Problème de fork() Solution basique : 1 À l appel à fork(), on surveille le code de retour, = on récupère ainsi le PID du fils 2 On s attache au nouveau processus, 3 On se met à le traçer ; Pwned! Race condition detected! Le scheduler peut laisser le fils exécuter des instructions avant de rendre la main au traceur.
13 Follow me! ptrace() Prototype Options non documentées Accès à l espace d adressage Les options PTRACE_O_TRACEFORK & Co servent à régler ce problème : Attachement automatique au fils, Le noyau met le fils en état STOPPED avant même qu il soit déclaré RUNNABLE. ptrace (PTRACE SETOPTIONS, pid, NULL, PTRACE O TRACESYSGOOD) ;
14 Accès à l espace d adressage Prototype Options non documentées Accès à l espace d adressage Lecture d un mot mémoire errno = 0; ret = ptrace (PTRACE PEEKTEXT, pid, targetaddr,null) ; i f ( errno && ret == 1) { perror ("ptrace_peektext()" ) ; return 1; } Lecture de plusieurs octets char buf [BUFMAX] ; int fd = open("/proc/pid/mem", O RDONLY) ; pread (fd, buf, BUFMAX, offset ) ;
15 Accès à l espace d adressage Prototype Options non documentées Accès à l espace d adressage Lecture d un mot mémoire errno = 0; ret = ptrace (PTRACE PEEKTEXT, pid, targetaddr,null) ; i f ( errno && ret == 1) { perror ("ptrace_peektext()" ) ; return 1; } Lecture de plusieurs octets char buf [BUFMAX] ; int fd = open("/proc/pid/mem", O RDONLY) ; pread (fd, buf, BUFMAX, offset ) ;
16 Plan ptrace() Où placer les instructions? Interruption d appel système 1 ptrace() 2 3
17 Où injecter les instructions? Où placer les instructions? Interruption d appel système Objectifs Discrétion, Stabilité, Portabilité ; Les candidats sont : La pile, Padding des sections ELF, N importe où;
18 Injection n importe où ptrace() Où placer les instructions? Interruption d appel système On écrit directement sur les instructions pointées par eip. 1 Sauvegarde des octets d eip, 2 Écrasement par nos instructions, 3 Redémarrage du processus (PTRACE_CONT), 4 Restauration des anciennes instructions; Papa, réveille toi! k i l l (SIGTRAP, getpid ( ) ) ;
19 Injection n importe où ptrace() Où placer les instructions? Interruption d appel système On écrit directement sur les instructions pointées par eip. 1 Sauvegarde des octets d eip, 2 Écrasement par nos instructions, 3 Redémarrage du processus (PTRACE_CONT), 4 Restauration des anciennes instructions; Papa, réveille toi! k i l l (SIGTRAP, getpid ( ) ) ;
20 Injection dans la pile ptrace() Où placer les instructions? Interruption d appel système esp eip ret esp eip mov ebx, 1 add eax, 4 cmp eax, 42 mov ebx, 1 add eax, 4 cmp eax, 42 Code injecté Fig.: Avant l injection Fig.: Après injection
21 Injection dans la pile ptrace() Où placer les instructions? Interruption d appel système old eip ret eip eip est sauvegardé sur la pile, eip pointe sur *esp, Le shellcode se termine par un return = Retour aux instructions normales ; mov ebx, 1 add eax, 4 cmp eax, 42 Précautions = La pile doit être exécutable! Code injecté
22 Interruption d un appel système Où placer les instructions? Interruption d appel système L injection de code dans un processus interrompu dans un appel système peut poser des problèmes en fonction de leurs natures : Non-interruptibles, Interruptibles, pour les appels système lent Redémarrable manuellement (code de retour égal à EINT), Redémarrable automatiquement par le noyau ; Sh*t happens... Le redémarrage automatique est le cas le plus problématique car l injecteur n a aucun contrôle sur le noyau. = Décrémentation d eip de 2 octets.
23 Interruption d un appel système Où placer les instructions? Interruption d appel système L injection de code dans un processus interrompu dans un appel système peut poser des problèmes en fonction de leurs natures : Non-interruptibles, Interruptibles, pour les appels système lent Redémarrable manuellement (code de retour égal à EINT), Redémarrable automatiquement par le noyau ; Sh*t happens... Le redémarrage automatique est le cas le plus problématique car l injecteur n a aucun contrôle sur le noyau. = Décrémentation d eip de 2 octets.
24 Où placer les instructions? Interruption d appel système Shellcode : Le bon, la brute et le truand Le truand Toujours précéder votre shellcode de deux octets inertes (NOP) et faire pointer eip sur &(shellcode+2). La brute Faire les mêmes vérifications que le noyau avant d injecter. = Vérifier orig eax et eax. Le bon Utiliser l option adéquate de ptrace() : PTRACE_O_SYSGOOD.
25 Oasis is good! ptrace() Où placer les instructions? Interruption d appel système man PTRACE O TRACESYSGOOD L option PTRACE_O_SYSGOOD modifie si_code de la structure siginfo_t pour indiquer l interruption d un appel système. ptrace (PTRACE SETOPTIONS, pid, NULL, PTRACE O TRACESYSGOOD) ;... siginfo t sig ; ptrace (PTRACE GETSIGINFO, pid, NULL, &sig ) ; i f ( sig. si code & 0x80) printf ("was in a syscall\n" ) ;
26 Plan ptrace() Côté clair de la force Côté obscur de la force Cas pratique : Contournement de firewall 1 ptrace() 2 3
27 Technique de l oracle & Skype Côté clair de la force Côté obscur de la force Cas pratique : Contournement de firewall Oracle Jetez une question dans un puits et la réponse est renvoyée. Téléphone compatible Skype? Le chiffrement des paquets est réalisé par une fonction trop compliquée à reverser? Plutôt que de réécrire la fonction, utilisez la! À l aide de ptrace(), manipulez eip afin de n exécuter que la fonction de chiffrement. = Au retour de la routine, vous avez la réponse! Voir présentation de P. Biondi & F. Desclaux à BlackHatEurope06.
28 Protection anti-reverse engineering Côté clair de la force Côté obscur de la force Cas pratique : Contournement de firewall Première protection anti-debugging? Un processus ne peut-être traçé que par un seul debugger à la fois. Auto-traçage pour empêcher tout attachement ultérieur Réponse des analystes Émulation de l appel à ptrace() pour qu il n échoue jamais. Réponse à la réponse des analystes Lancement de deux processus qui se traçent mutuellement avec un dialogue permanent pour s assurer de la survie de l autre.
29 Protection anti-reverse engineering Côté clair de la force Côté obscur de la force Cas pratique : Contournement de firewall Première protection anti-debugging? Un processus ne peut-être traçé que par un seul debugger à la fois. Auto-traçage pour empêcher tout attachement ultérieur Réponse des analystes Émulation de l appel à ptrace() pour qu il n échoue jamais. Réponse à la réponse des analystes Lancement de deux processus qui se traçent mutuellement avec un dialogue permanent pour s assurer de la survie de l autre.
30 Protection anti-reverse engineering Côté clair de la force Côté obscur de la force Cas pratique : Contournement de firewall Première protection anti-debugging? Un processus ne peut-être traçé que par un seul debugger à la fois. Auto-traçage pour empêcher tout attachement ultérieur Réponse des analystes Émulation de l appel à ptrace() pour qu il n échoue jamais. Réponse à la réponse des analystes Lancement de deux processus qui se traçent mutuellement avec un dialogue permanent pour s assurer de la survie de l autre.
31 Évasion d environnement chrooté Côté clair de la force Côté obscur de la force Cas pratique : Contournement de firewall ch[ouc]root? Simple restriction de la racine du système de fichier d un processus. Contact extérieur possible : mémoire partagée, signaux... Pwned! Si on peut envoyer des signaux à des processus, on peut les traçer! = Injection d un shellcode permettant de s évader de la cage. Si /proc n est pas disponible, le bruteforcage de tous les PID est nécessaire.
32 Évasion d environnement chrooté Côté clair de la force Côté obscur de la force Cas pratique : Contournement de firewall ch[ouc]root? Simple restriction de la racine du système de fichier d un processus. Contact extérieur possible : mémoire partagée, signaux... Pwned! Si on peut envoyer des signaux à des processus, on peut les traçer! = Injection d un shellcode permettant de s évader de la cage. Si /proc n est pas disponible, le bruteforcage de tous les PID est nécessaire.
33 Évasion d environnement chrooté Côté clair de la force Côté obscur de la force Cas pratique : Contournement de firewall ch[ouc]root? Simple restriction de la racine du système de fichier d un processus. Contact extérieur possible : mémoire partagée, signaux... Pwned! Si on peut envoyer des signaux à des processus, on peut les traçer! = Injection d un shellcode permettant de s évader de la cage. Si /proc n est pas disponible, le bruteforcage de tous les PID est nécessaire.
34 Firewall applicatif ptrace() Côté clair de la force Côté obscur de la force Cas pratique : Contournement de firewall Définition ACLs basées sur l application. = Application autorisée == tremplin Objectifs d un programme malicieux : Injection d un connect() dans Mozilla, Récupération du descripteur de fichier, Transfert du descripteur de fichier au processus malicieux;
35 Côté clair de la force Côté obscur de la force Cas pratique : Contournement de firewall Processus malicieux Mozilla
36 Côté clair de la force Côté obscur de la force Cas pratique : Contournement de firewall connect() Processus malicieux Mozilla
37 Côté clair de la force Côté obscur de la force Cas pratique : Contournement de firewall connect() Transfert du descripteur de fichier Processus malicieux Mozilla
38 Côté clair de la force Côté obscur de la force Cas pratique : Contournement de firewall connect() Transfert du descripteur de fichier read() / write() Processus malicieux Mozilla
39 Contrainte ptrace() Côté clair de la force Côté obscur de la force Cas pratique : Contournement de firewall Figure de style imposée Réussir à faire passer toutes les applications à travers ce tunnel. Interception des bibliothèques dynamiques $ LD PRELOAD="/ home/ moi/ lib/ liberte. so" $ export LD PRELOAD $ wget http :// slashdot. org/
40 Surchage de connect() Côté clair de la force Côté obscur de la force Cas pratique : Contournement de firewall int connect ( int sockfd, struct sockaddr serv addr, socklen t addrlen ) { pid t pid = atoi ( getenv ("PTRACE_PWNED" ) ) ; socket (PF UNIX, SOCK STREAM, 0);... i f ( fork () == 0) { inject shellcode ( pid, serv addr ) ; exit ( 0 ) ; }... fd = receive fd ( unixfd ) ; dup2(fd, sockfd ) ; } return sockfd ;
41 Fonctionnalitée méconnue Côté clair de la force Côté obscur de la force Cas pratique : Contournement de firewall Transfert de descripteur de fichier Il est possible de transmettre un descripteur de fichier entre deux processus indépendants à travers une socket UNIX. struct cmsghdr ch ; struct msghdr msg; char ancillary [CMSG SPACE( sizeof ( fd ) ) ] ; ch = CMSG FIRSTHDR(&msg ) ; ch >cmsg level = SOL SOCKET; ch >cmsg type = SCM RIGHTS; ( int ) CMSG DATA(ch) = fd ; sendmsg( sockfd, &msg, 0);
42 Shellcode ptrace() Côté clair de la force Côté obscur de la force Cas pratique : Contournement de firewall Le shellcode : 1 Créé une socket UNIX vers le traceur, 2 Initie la connexion vers le serveur désiré, 3 Et envoie le descripteur de fichier. Ne gère pas encore l UDP.
43 Conclusion ptrace() Côté clair de la force Côté obscur de la force Cas pratique : Contournement de firewall ptrace() et ses limites Fonctions limitées, Portabilité impossible, Bugs historiques; L avenir L avenir se tourne vers les dtrace-like? Solution complétement kernel-space, Haut niveau, Scriptable ;
44 Des questions? ptrace() Côté clair de la force Côté obscur de la force Cas pratique : Contournement de firewall Merci de votre attention! Des questions?
Structure d un programme
Architecture des ordinateurs Cours 6 Structure d un programme 3 décembre 2012 Archi 1/30 Programme en Assembleur Archi 2/30 Sections de données programme en assembleur = fichier texte (extension.asm) organisé
Programmation système de commandes en C
Programmation système de commandes en C Cours de Programmation système Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012 2013 Tuyêt Trâm DANG NGOC Programmation système de commandes
Les vulnérabilités du noyau. LECORNET Olivier LEGROS Bruno VIGIER Nicolas Promo 2005
Les vulnérabilités du noyau LECORNET Olivier LEGROS Bruno VIGIER Nicolas Promo 2005 27 Septembre 2003 Table des matières 1 Introduction 3 2 Fonctionnement du noyau 4 2.1 Les modes de fonctionnements............................
Exécutif temps réel Pierre-Yves Duval (cppm)
Exécutif temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 Plan Exécutif Tâches Evénements et synchronisation Partage de ressources Communications
3IS - Système d'exploitation linux - Programmation système
3IS - Système d'exploitation linux - Programmation système 2010 David Picard Contributions de : Arnaud Revel, Mickaël Maillard [email protected] Environnement Les programmes peuvent être exécutés dans des
Plan global. Programmation système II. Socket du domaine UNIX. Plan. Socket UNIX, Terminaux, Async IO, Mémoire, ELF.
Programmation système II Socket UNIX, Terminaux, Async IO, Mémoire, ELF Timothée Ravier LIFO, INSA-CVL, LIPN 1 re année cycle ingénieur STI 2013 2014 Plan global 1 Socket UNIX 2 Terminaux 3 Autres modèles
Programmation système en C/C++
Programmation système en C/C++ Jean-Baptiste Vioix ([email protected]) LE2I - ENESAD http://jb.vioix.free.fr 1-41 Programmation en C/C++ sous Unix Il existe des très nombreux outils de développement sous
Logiciel de base. Première année ENSIMAG
Logiciel de base Première année ENSIMAG 1 Procédures, paramètres, pile En assembleur une fonction est une étiquette, c'est l'adresse de sa première instruction Lors de l'appel d'une fonction, la pile sert
Communication par sockets
Rappel : le réseau vu de l!utilisateur (1) Communication par sockets Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/~krakowia (demande un service)
Cours Programmation Système
Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda [email protected] Février
LEs processus coopèrent souvent pour traiter un même problème. Ces
Chapitre 5 Communication interprocessus LEs processus coopèrent souvent pour traiter un même problème. Ces processus s exécutent en parallèle sur un même ordinateur (monoprocesseur ou multiprocesseurs)
1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.
1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this
Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace
Processus 1) Contexte 2) Modèles de Notion de Points de vue Modèle fourni par le SX Opérations sur les 3) Gestion des Représentation des Opérations 4) Ordonnancement des Niveaux d ordonnancement Ordonnancement
Introduction aux Systèmes et aux Réseaux
Introduction aux Systèmes et aux Réseaux Cours 5 Processus D après un cours de Julien Forget (univ Lille1) Laure Gonnord http://laure.gonnord.org/pro/teaching/ [email protected] Master CCI -
ERESI : une plate-forme d analyse binaire au niveau noyau
ERESI : une plate-forme d analyse binaire au niveau noyau Anthony Desnos, Sebastien Roy, and Julien Vanegue The ERESI Team [email protected] Résumé ERESI est une interface pour l analyse de code machine
Malicious debugger! Fred Raynal & Jean-Baptiste Bedrune Sogeti IS / ESEC. 14 mai 2007
Malicious debugger! Fred Raynal & Jean-Baptiste Bedrune Sogeti IS / ESEC 14 mai 2007 Résumé Pourquoi debugger des programmes? En général, on se lance dans ces opérations quand on est développeur et qu
Cours 6 : Tubes anonymes et nommés
Cours 6 : Tubes anonymes et nommés Mécanisme de communications du système de fichiers I-node associé. Type de fichier: S_IFIFO. Accès au travers des primitives read et write. Les tubes sont unidirectionnels
Applications client/serveur TCP/IP - Sockets Rappels. C.Crochepeyre Applications CS 1
Applications client/serveur TCP/IP - Sockets Rappels C.Crochepeyre Applications CS 1 PLAN Modèle client/serveur Modèle ISO et protocole TCP/IP Comment ça marche? La programmation: les sockets Exemples
1. Fonctionnement de l Internet 2. Protocoles applicatifs 3. Programmation réseau
1. Fonctionnement de l Internet 2. Protocoles applicatifs 3. Programmation réseau Fonctionnement de l Internet Fonctionnement de l Internet Basé sur une architecture TCP/IP du nom des deux principaux protocoles
Initiation à la sécurité
Initiation à la sécurité UE Systèmes informatiques 12 septembre 2011 Julien Raeis - http://raeis.iiens.net/ Présentation Ingénieur IIE 2005 Carrière dans la sécurité des systèmes Consultant en sécurité
SSTIC 2009. Désobfuscation automatique de binaires. Alexandre Gazet. Yoann Guillot. Et autres idyles bucoliques...
Désobfuscation automatique de binaires Et autres idyles bucoliques... Alexandre Gazet Sogeti / ESEC R&D alexandre.gazet(at)sogeti.com Yoann Guillot Sogeti / ESEC R&D yoann.guillot(at)sogeti.com SSTIC 2009
REALISATION d'un. ORDONNANCEUR à ECHEANCES
REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6
Le système de gestion des fichiers, les entrées/sorties.
Le système de gestion des fichiers, les entrées/sorties. Luigi Santocanale Laboratoire d Informatique Fondamentale, Centre de Mathématiques et Informatique, 39, rue Joliot-Curie - F-13453 Marseille 19
DNS Server RPC Interface buffer overflow. Céline COLLUMEAU Nicolas BODIN
Mémoire DNS Server RPC Interface buffer overflow Céline COLLUMEAU Nicolas BODIN 3 janvier 2009 Table des matières 1 Introduction 2 2 Présentation de la faille 3 3 Exemple d exploitation 5 4 Solutions 10
INITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Temps Réel. Jérôme Pouiller <[email protected]> Septembre 2011
Temps Réel Jérôme Pouiller Septembre 2011 Sommaire Problèmatique Le monotâche Le multitâches L ordonnanement Le partage de ressources Problèmatiques des OS temps réels J. Pouiller
Rappels réseaux TCP/IP
Rappels réseaux TCP/IP Premier Maître Jean Baptiste FAVRE DCSIM / SDE / SIC / Audit SSI [email protected] CFI Juin 2005: Firewall (1) 15 mai 2005 Diapositive N 1 /27 Au menu Modèle
03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing
3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps
ERESI : une plate-forme d'analyse binaire au niveau noyau. The ERESI team http://www.eresi-project.org
ERESI : une plate-forme d'analyse binaire au niveau noyau The ERESI team http://www.eresi-project.org ERESI: quelques rappels 7 années de développement Plusieurs contributeurs 5 logiciels, 14 bibliothèques
Cours de Système : Gestion de Fichiers
Cours de Système : Gestion de Fichiers Bertrand Le cun et Emmanuel Hyon bertrand.le cun{at}u-paris10.fr et Emmanuel.Hyon{at}u-paris10.fr Université Paris Ouest Nanterre 25 octobre 2011 B.L.C. & E.H. (UPO)
Session 8: Android File System
Session 8: Android File System LO52 - Automne 2014 Fabien BRISSET 2 mai 2014 [email protected] www.utbm.fr Droits de reproduction Copyright 2013-2014, Fabien Brisset, Copyright 2004-2014, Free Electrons
Les structures de données. Rajae El Ouazzani
Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l
Programmation impérative
Programmation impérative Cours 4 : Manipulation des fichiers en C Catalin Dima Organisation des fichiers Qqs caractéristiques des fichiers : Nom (+ extension). Chemin d accès absolu = suite des noms des
SRS DAY: Problématique liée à la virtualisation
SRS DAY: Problématique liée à la virtualisation Anthony GUDUSZEIT Franck CURO gudusz_a curo_f Introduction Sommaire Définition Contexte Avantages / inconvénients Fonctionnement et problématique Techniques
Programmation système I Les entrées/sorties
Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les
TRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique
Communications entre Processus Communication par tubes. TRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique Exemple 1: On a deux processus Père/Fils. Le père
Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7
Cahier des charges driver WIFI pour chipset Ralink RT2571W sur hardware ARM7 RevA 13/03/2006 Création du document Sylvain Huet RevB 16/03/2006 Fusion des fonctions ARP et IP. SH Modification des milestones
Synchro et Threads Java TM
Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire
Exercice sur les Dockers
Exercice sur les Dockers Les parties composant les Dockers: 1 docker daemon: est un démon qui gère les dockers (les conteneurs LXC) qui tournent sur la machine hôte 2 docker CLI: une série de commandes
Introduction aux buffer overflow, CS335
Introduction aux buffer overflow, CS335 http ://www.phrack.org/archives/49/p49-14 1. Smashing the stack for fun and profit by Aleph One November 1996 Aleph1 United Kingdom : www.aleph1.co.uk Mail : [email protected]
Programmation assembleur : aperçu
Assembleur : Younès EL AMRANI. 1 Programmation assembleur : aperçu Programmation en assembleur : NASM Module M14 Semestre 4 Printemps 2010 Equipe pédagogique : Younès El Amrani, Abdelhakim El Imrani, Faissal
L3 informatique Réseaux : Configuration d une interface réseau
L3 informatique Réseaux : Configuration d une interface réseau Sovanna Tan Septembre 2009 Révision septembre 2012 1/23 Sovanna Tan Configuration d une interface réseau Plan 1 Introduction aux réseaux 2
Introduction au langage C
Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les
Fiche Technique. Cisco Security Agent
Fiche Technique Cisco Security Agent Avec le logiciel de sécurité de point d extrémité Cisco Security Agent (CSA), Cisco offre à ses clients la gamme de solutions de protection la plus complète qui soit
Devoir Surveillé de Sécurité des Réseaux
Année scolaire 2009-2010 IG2I L5GRM Devoir Surveillé de Sécurité des Réseaux Enseignant : Armand Toguyéni Durée : 2h Documents : Polycopiés de cours autorisés Note : Ce sujet comporte deux parties. La
Bases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Architecture des ordinateurs
Architecture des ordinateurs Cours 7 17 décembre 2012 Archi 1/1 Fonctions, suite et fin Archi 2/1 Rappel Forme générale d un sous-programme (fonction) : etiquette sousprogramme: push ebp ; empile la valeur
Programmation défensive
Programmation défensive Matthieu Herrb INSA Toulouse, Novembre 2012 http://homepages.laas.fr/matthieu/cours/mh-prog-defensive.pdf Licence Ce document est sous licence Creative Commons Paternité - Partage
White Paper - Livre Blanc
White Paper - Livre Blanc Développement d applications de supervision des systèmes d information Avec LoriotPro Vous disposez d un environnement informatique hétérogène et vous souhaitez à partir d une
Nouveaux outils de consolidation de la défense périmétrique
HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Prévention d'intrusion Nouveaux outils de consolidation de la défense
Réalisation d un OS 32 bits pour PC(x86)
Rapport projet tutoré Réalisation d un OS 32 bits pour PC(x86) Maxime Chéramy Nicolas Floquet Benjamin Hautbois
IV- Comment fonctionne un ordinateur?
1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions
Filtrage IP MacOS X, Windows NT/2000/XP et Unix
Filtrage IP MacOS X, Windows NT/2000/XP et Unix Cette présentation, élaborée dans le cadre de la formation SIARS, ne peut être utilisée ou modifiée qu avec le consentement de ses auteur(s). MacOS/NT/Unix
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
TP réseaux 4 : Installation et configuration d'un serveur Web Apache
TP réseaux 4 : Installation et configuration d'un serveur Web Apache Objectifs Installer, configurer, lancer et administrer le serveur Web Apache sous Linux Données de base machine fonctionnant sous Linux
Archivage Messagerie Evolution pour usage HTML en utilisant Hypermail
Finalités Archivage Messagerie Evolution pour usage HTML en utilisant Hypermail Réalisé par sa modestie Arnaud de VILLEDON de NAIDE, le 9 mars 2013 Document sous licence GPL. Vous avez le droit d'en faire
Analyse de sécurité de logiciels système par typage statique
Contexte Modélisation Expérimentation Conclusion Analyse de sécurité de logiciels système par typage statique Application au noyau Linux Étienne Millon UPMC/LIP6 Airbus Group Innovations Sous la direction
Qu'est-ce qu'un processus: Définitions
Version septembre 2013 N 187 Qu'est-ce qu'un processus: Définitions Instruction = indécomposable et indivisible Processeur =... Processus = suite temporelle d'exécutions d'instructions Processus = exécution
École Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique.
École Polytechnique de Montréal Département de Génie Informatique et Génie Logiciel Cours INF2610 Contrôle périodique Automne 2013 Date : 11 octobre 2013 de 18h à 20h Professeur : Boucheneb Hanifa Documentation
Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :
Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de
Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.
I Présentation : Dans le chapitre 1, nous avons vu comment utiliser les appels-systèmes de bas niveau pour créer et accéder à des fichiers sur le disque. Nous avons notamment mis en évidence leur dépouillement
GlobalScape Secure FTP Server 3.0.2 Buffer Overflow
GlobalScape Secure FTP Server 3.0.2 Buffer Overflow [email protected] Traduction française: jerome[at]athias.fr http://www.athias.fr/jerome/doc/ Qu est-ce que le Serveur FTP Sécurisé GlobalScape?...
Routeur Chiffrant Navista Version 2.8.0. Et le protocole de chiffrement du Réseau Privé Virtuel Navista Tunneling System - NTS Version 3.1.
Routeur Chiffrant Navista Version 2.8.0 Et le protocole de chiffrement du Réseau Privé Virtuel Navista Tunneling System - NTS Version 3.1.0 Cibles de sécurité C.S.P.N Référence : NTS-310-CSPN-CIBLES-1.05
1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Débogage de code* Mardi 13 décembre 2011. Romaric DAVID [email protected] Université de Strasbourg - Direction Informatique Pôle HPC. hpc.unistra.
Débogage de code* Mardi 13 décembre 2011 Romaric DAVID [email protected] Université de Strasbourg - Direction Informatique Pôle HPC *ou l'art de chercher la petite bête Plan Introduction Débogage, quelques
VPN TLS avec OpenVPN. Matthieu Herrb. 14 Mars 2005
VPN TLS avec Matthieu Herrb 14 Mars 2005 Coordinateurs Sécurité CNRS - 14/3/2005 Pour en finir avec IPSec IPSec : sécurisation au niveau réseau. développé avec IPv6, protocoles spécifiques AH & ESP, modes
Prototype de canal caché dans le DNS
Manuscrit auteur, publié dans "Colloque Francophone sur l Ingénierie des Protocoles (CFIP), Les Arcs : France (2008)" Prototype de canal caché dans le DNS Lucas Nussbaum et Olivier Richard Laboratoire
Vulnérabilités et sécurisation des applications Web
OSSIR 09/09/2002 Vulnérabilités, attaques et sécurisation des applications Web Pourquoi les firewalls sont impuissants [email protected] http://www.edelweb.fr http://www.chambet.com Page 1 Planning
Introduction à la Programmation Parallèle: MPI
Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4
Manuel de System Monitor
Chris Schlaeger John Tapsell Chris Schlaeger Tobias Koenig Traduction française : Yves Dessertine Traduction française : Philippe Guilbert Traduction française : Robin Guitton Relecture de la documentation
Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs
Brefs rappels sur la pile et le tas (Stack / Heap) et les pointeurs (exemples en C) v1.11 - Olivier Carles 1 Pile et Tas Mémoire allouée de manière statique Mémoire Allouée Dynamiquement variables locales
Cours d Algorithmique et de Langage C 2005 - v 3.0
Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU [email protected] Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris
Le traitement du temps
Programmation Système Mesure Horloges Sommeil Mise en forme Fabrice Harrouet École Nationale d Ingénieurs de Brest [email protected] http://www.enib.fr/~harrouet/ enib, F.H... 1/30 Intérêt Cadencer les
LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation
Objectif : Tout administrateur système et réseau souhaitant avoir une vision d'ensemble des problèmes de sécurité informatique et des solutions existantes dans l'environnement Linux. Prérequis : Connaissance
Les processus. Système L3, 2014-2015 1/39
Les processus Système L3, 2014-2015 1/39 Les processus Processus = Instance d un programme en cours d exécution plusieurs exécutions de programmes plusieurs exécutions d un même programme plusieurs exécutions
Sécurité des bases de données Nicolas Jombart Alain Thivillon
HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Sécurité des bases de données Nicolas Jombart Alain Thivillon Place
Conventions d écriture et outils de mise au point
Logiciel de base Première année par alternance Responsable : Christophe Rippert [email protected] Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette
Programmation client-serveur sockets - RPC
Master Informatique M Plan de la suite Programmation client-serveur sockets - RPC Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/people/krakowia
Simple Database Monitoring - SDBM Guide de l'usager
- SDBM Version 0.01 (2011/07/05) Tables des matières Simple Database Monitoring - SDBM.1.1 Tables des matières2 Architecture3 Installation..4 Installation sur Linux (image virtuelle pré-configuré)..4 Changement
Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155)
Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155) F. Pellegrini Université Bordeaux 1 Ce document est copiable et distribuable librement et gratuitement à
Les techniques de protection du logiciel
Travail d'études Licence Informatique 2003-2004 Les techniques de protection du logiciel Julien BURLE Térence SCALABRE Encadré par Mr Pierre CRESCENZO Travail d'étude: Les techniques de protection du logiciel
Python Les fondamentaux du langage
Editions ENI Python Les fondamentaux du langage (Nouvelle édition) Collection Ressources Informatiques Extrait 654 Python Les fondamentaux du langage 1.2 Objectifs du chapitre Dans ce chapitre sont présentés
Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle
F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Communication inter-processus (IPC) : tubes & sockets exemples en C et en Java F. Butelle F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Java : implémentation
Les Audits. 3kernels.free.fr 1 / 10
Les Audits 3kernels.free.fr 1 / 10 Introduction 3 3kernels.free.fr 2 / 10 Introduction Pour une observation des événements les Audits sont utiles. Il fait l historique, des faits que l on a décidé de surveiller.
Création d un «Web Worm»
Création d un «Web Worm» Exploitation automatisée des failles web Simon Marechal Thales Security Systems Consultant Risk Management 1 Création d un ver exploitant une faille web 1.1 Introduction Les applications
le minimum pour communiquer par réseau (sans toutefois y comprendre grand chose)
L API socket en résumé le minimum pour communiquer par réseau (sans toutefois y comprendre grand chose) Fabrice HARROUET École Nationale d Ingénieurs de Brest http://www.enib.fr/~harrouet/ enib 1/58 Propos
Présentation OpenVZ. Marc SCHAEFER. 9 janvier 2009
Présentation OpenVZ Marc SCHAEFER 9 janvier 2009 Résumé Le but de cette présentation est de montrer ce qu est la virtualisation et ce que peut apporter OpenVZ dans le contexte usuel de virtualisation de
Comment configurer Kubuntu
Comment configurer Kubuntu Configuration du réseau... 1 Configurer votre système Linux sur le réseau...1 Vérifier manuellement l adresse IP...5 Connecter un lecteur réseau distant Windows/Mac grâce au
Cours de Programmation Impérative: Zones de mémoires et pointeurs
Cours de Programmation Impérative: Zones de mémoires et pointeurs Julien David A101 - [email protected] Julien David (A101 - [email protected]) 1 / 1 Z`o n`e s `d`e m`é m`o i r`e Julien
Anas Abou El Kalam Sécurité SSH SSH
SSH 1 Introduction La possibilité de travailler.à distance. a toujours été une fonctionnalité très appréciée des utilisateurs de machines UNIX. Cela est traditionnellement possible suivant plusieurs modes
Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014
Mise en place d un service FTP sous Linux Bouron Dimitri 20/04/2014 Ce document sert de démonstration concise pour l installation, la configuration, la sécurisation, d un serveur FTP sous Linux utilisant
Le langage C. Séance n 4
Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de
Architecture des ordinateurs
Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?
Introduction à l informatique en BCPST
Introduction à l informatique en BCPST Alexandre Benoit BCPST L informatique en BCPST «L enseignement de l informatique en classes préparatoires de la filière BCPST a pour objectif d introduire puis de
Systèmes d exploitation
Systèmes d exploitation Virtualisation, Sécurité et Gestion des périphériques Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Novembre 2009 Gérard Padiou Systèmes d exploitation
FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE. Table des matières
FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE Table des matières Principes de FTPS... 2 Généralités... 2 FTPS en mode implicite... 2 FTPS en mode explicite... 3 Certificats SSL / TLS... 3 Atelier de tests
Projet de programmation (IK3) : TP n 1 Correction
Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public
Gestion répartie de données - 1
Gestion répartie de données - 1 Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/~krakowia Gestion répartie de données Plan de la présentation Introduction
Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement
Guillaume HARRY l Contenu sous licence Creative Commons CC-BY-NC-ND Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement P. 2 1. Introduction 2.
