Le Projet BINSEC. Automatiser l analyse de sécurité au niveau binaire. Airbus group, CEA, IRISA, LORIA, Uni. Joseph Fourier. p.

Dimension: px
Commencer à balayer dès la page:

Download "Le Projet BINSEC. Automatiser l analyse de sécurité au niveau binaire. Airbus group, CEA, IRISA, LORIA, Uni. Joseph Fourier. p."

Transcription

1 Le Projet BINSEC Automatiser l analyse de sécurité au niveau binaire Airbus group, CEA, IRISA, LORIA, Uni. Joseph Fourier p. 1/22

2 Introduction Panorama de BINSEC Cadre de travail Projet ANR INS, appel 2012 Axes 1 (sécurité) et 2 (génie logiciel) Projet de recherche fondamentale sur 4 ans ( ) Sujet : Techniques formelles d analyse de sécurité au niveau binaire Mots clés : analyse de code binaire, modèles formels, reconstruction de modèles, détection de malware, analyse de vulnérabilité, code auto-modifiant Partenaires CEA (coordinateur) Airbus group INRIA Bretagne Atlantique Université Joseph Fourier (UJF) - VERIMAG Université de Lorraine (UL) - LORIA p. 2/22

3 Introduction Analyse de sécurité sur du code binaire D importantes analyses de sécurité se font au niveau binaire : détection de vulnérabilité [analyse de crash, génération d exploit ] détection et dissection de malware [dé-obfuscation] Approche classique (ex : analyse de vulnérabilités) haut niveau d expertise, beaucoup d efforts, des outils basiques analyse dymanique : gdb, fuzzing (test semi-aléatoire) analyse statique : objdump, IDA Pro [peu automatisé] p. 3/22

4 Introduction Analyse de sécurité sur du code binaire D importantes analyses de sécurité se font au niveau binaire : détection de vulnérabilité [analyse de crash, génération d exploit ] détection et dissection de malware [dé-obfuscation] Approche classique (ex : analyse de vulnérabilités) haut niveau d expertise, beaucoup d efforts, des outils basiques analyse dymanique : gdb, fuzzing (test semi-aléatoire) analyse statique : objdump, IDA Pro [peu automatisé] but : développer des outils plus avancés motto : étendre les méthodes de validation formelle p. 3/22

5 Introduction Défis : vulnérabilités Des bugs aux vulnérabilités exploitables distinguer entre les bugs critiques pour la sécurité et les autres [deref. de pointeur null VS uaf] [1-byte overflow VS large overflow] définir (formellement) exploitable besoin de nouveaux modèles sémantiques Analyse de crash [travaux préliminaires] input : trace erroné output : est-ce un bug critique? application : prioritisation de bugs p. 4/22

6 Introduction Défis : malware Analyser un code malhonnête reconnaître les malware malgré le polymorphisme besoin de notions robustes (semantiques) de signatures reconnaitre les malwares malgré l obfuscation [prédicats opaques] codes auto-modifiants analyses utilisables plutôt que (strictement) correctes... p. 5/22

7 Introduction Cadre de BINSEC Analyses de sécurité : code binaire, systèmes grand public outillage pauvre, méthodes syntaxiques [gdb, ida pro] applications importantes : vulnérabilités, malware Systèmes grand public allocation dynamique, threads librairies externes, taille++ code venant de C, C++, etc. Propriétés trouver des vulnérabilités évaluer la malignité comprendre le code p. 6/22

8 Introduction Cadre de BINSEC (2) p. 7/22

9 Introduction Cadre de BINSEC (2) Analyses de sécurité sémantiques au niveau binaire un socle commun : modèles et analyses génériques modélisation bas niveau adaptée aux pbs de sécurité reconstruction de structures haut niveau (CFG, pile, etc.) deux domaines applicatifs distincts vulnérabilités [inclu analyse de crash] malware [inclu dé-obscurcissement] p. 7/22

10 Introduction Travail en cours Modèles et analyses génériques au niveau binaire représentation intermédiaire concise [à venir : auto-modification] sémantiques mémoire adaptées à la vérification de code bas niveau analyses : reconstruction de CFG, analyse de pile Analyses de sécurité dédiées vulnérabilité : détection de UaF exploitables, analyse de crash malware : dé-obscurcissement (automodif, préd. opaques, etc.) Plate-forme open-source services de base pour une analyse niveau binaire support du modèle formel générique front-end : chargement, décodage, désassemblage, etc. p. 8/22

11 Focus : sémantique Focus : modélisation Exemple x86 plus de 1,000 instructions. 400 basiques. + flottants, interruptions, mmx nombreux effets de bords décodage compliqué. modes d addressage, préfixes,... p. 9/22

12 Focus : sémantique Focus : modélisation BUT formalisme concis et simple sémantique adaptée aux analyses de sécurité mécanismes de spécification et abstraction Exemple x86 plus de 1,000 instructions. 400 basiques. + flottants, interruptions, mmx nombreux effets de bords décodage compliqué. modes d addressage, préfixes,... p. 9/22

13 Principes Focus : sémantique Représentation intermédiaire variables sur vecteurs de bits + un tableau d octets taille des vecteurs de bits connue statiquement une instruction machine = bloc d instructions DBA [variables tmp] opérations standard sur les vecteurs de bits Instructions lhs := rhs goto addr, goto expr ite(cond)? goto addr : goto addr assume, assert, nondet, malloc, free Expressions e{i.. j}, ext u,s(e,n), e :: k) e {+,,,/ u,s,% u,s,< u,s, u,s,=,, u,s,> u,s} e e {,,,<<,>> u,s} e,!e p. 10/22

14 Principes Focus : sémantique Représentation intermédiaire variables sur vecteurs de bits + un tableau d octets taille des vecteurs de bits connue statiquement une instruction machine = bloc d instructions DBA [variables tmp] opérations standard sur les vecteurs de bits Instructions indépendant d une architecture lhs jeu := d instructions rhs très réduit gotoaucun addr, effet goto de bord expr ite(cond)? modélisation goto bit-precise addr : goto addr assume, hors périmètre assert, : nondet, flottants, malloc, threads free Expressions pas d automodification e{i.. j}, ext u,s(e,n), e :: k) e {+,,,/ u,s,% u,s,< u,s, u,s,=,, u,s,> u,s} e e {,,,<<,>> u,s} e,!e p. 10/22

15 Focus : vulnérabilités Focus : Vulnérabilités UaF (1) Use-after-free (UaF) utilisation d un pointeur dangling sur zone désallouée puis ré-allouée vulnérabilité classique dans les navigateurs Web [firefox, chrome, ie] 1 char login, passwords ; login=(char ) malloc (... ) ; 3 [... ] free ( login ); // login is now a dangling pointer 5 [... ] passwords=(char ) malloc (... ) ; // may re-allocate memory of *login 7 [... ] printf ( %s\n, login ); // security threat : may print the passwords! p. 11/22

16 Focus : vulnérabilités Vulnérabilités UaF (2) Deux difficultés principales propriété de type sûreté [alloc-free-alloc-use] plutôt que simple invariant dépend fortement de l implémentation de malloc et free char login, passwords ; 2 login=(char ) malloc (... ) ; [... ] 4 free ( login ); // login is now a dangling pointer [... ] 6 passwords=(char ) malloc (... ) ; // ansi-c : fresh memory area [... ] 8 printf ( %s\n, login ); // ansi-c : error, yet no particular security threat p. 12/22

17 Focus : vulnérabilités Vulnérabilités UaF (2) Deux difficultés principales propriété de type sûreté [alloc-free-alloc-use] plutôt que simple invariant dépend fortement de l implémentation de malloc et free char login, passwords ; 2 login=(char ) malloc (... ) ; [... ] 4 free ( login ); // login is now a dangling pointer [... ] 6 passwords=(char ) malloc (... ) ; // ansi-c : fresh memory area [... ] 8 printf ( %s\n, login ); // ansi-c : error, yet no particular security threat Quels modèles pour malloc et free? un malloc idéal ne différencie pas entre UaF et simple crash un malloc pessimiste retourne trop de fausses alarmes dans un programme, différentes stratégies d allocation / libération p. 12/22

18 Focus : vulnérabilités Contribution : détection des UaF Objectif = détection de UaF + passage à l échelle Approche en 2 étapes 1. détection de UaF possibles analyse légère sur tout le code analyse statique, allocateurs idéaux morceaux de programmes suspicieux (UaF slices) 2. analyse d exploitabilité ciblée analyse plus lourde, restreinte aux UaF slices exécution concolique, allocateurs bas niveau p. 13/22

19 Focus : vulnérabilités Contribution : détection des UaF Objectif = détection de UaF + passage à l échelle ApprocheAvancement en 2 étapes premier prototype sur un langage DBA-like 1. détection de UaF possibles quelques choix de conception : loop unrolling, procedure analyse inlining légère sur tout le code analyse statique, allocateurs idéaux expérimentations sur des exemples Verisec morceaux de programmes suspicieux (UaF slices) perspectives : étude de cas ProFTPD 2. analyse d exploitabilité ciblée analyse plus lourde, restreinte aux UaF slices exécution concolique, allocateurs bas niveau p. 13/22

20 Focus : malware Focus : malware p. 14/22

21 Focus : malware Focus : malware prédicats opaques, code auto-modifiant, chevauchement d instructions, chiffrement, machines virtuelles, etc. loin d une sémantique assembleur idéale Analyse de programmes protégés. combinaison d analyse dynamique et symbolique (traces) et statique (code). but : prédicats opaques, auto-modification, chevauchement d instructions p. 14/22

22 Focus : platforme Focus : plateforme open-source chargeur ELF, décodeur x86 460/500 instructions : 380/380 simples, 80/120 SIMD, pas de float/system préfixes : op size, addr size, repetition p. 15/22

23 Focus : platforme Focus : plateforme open-source Désassembleur Linéaire / Récursif Linéaire et Récursif Dynamique Simplifications simplification des instructions simplifications intra-blocs simplifications inter-blocs p. 15/22

24 Focus : platforme Focus : plateforme open-source stubs 0xb7fff414: call : 0xb7fff414 { if (nondet() = 0 < 32 >) goto l1 else goto l2; // abstracting a failure condition l1 : eax < 32 >:= 0 < 32 >; // failure, result is NULL goto l3; l2 : eax < 32 > := + 4 < 32 >, <, 4]); assume ((eax modu 4 < 32 >) = 0 < 32 >); l3 : esp < 32 > := esp + 4 < 32 >; - 4 < 32 >, <, 4]; } p. 15/22

25 Focus : platforme Focus : plateforme open-source Blocs de bases pour l analyse Simulation [3 modèles memoires] Analyse statique [reconstruction de CFG correcte/approché] Exécution symbolique [en cours] p. 15/22

26 Focus : platforme Simplification des DBA simplifications des instructions transformation d instructions [ré-écriture locale] simplifications intra-blocs propagation de constantes suppression des tmp redondants simplifications inter-blocs slicing de flags (suppression de variables inactives) p. 16/22

27 Focus : platforme Intra-blocs : suppression de tmp redondants <tmp> t := expr ; // t not redefined ; // x neither used nor defined ; x := expr ; replace each occurrence of t by x x := t // t not used anymore // ( typically : end of block ). Avant simplification Schéma général Après simplification #83 ca 02 or edx, 0x2 <temp>res32 := ( edx or 2<32>); OF := 0<1>; SF := ( res32 {31,31}); ZF := ( res32 = 0<32>); CF := 0<1>; edx := res32 ; goto (0x080554ef,0) #83 ca 02 or edx, 0x2 edx := (edx or 2<32>); OF := 0<1>; SF := (edx{31,31}); ZF := (edx = 0<32>); CF := 0<1>; goto (0x080554ef,0) Avant simplification Après simplification p. 17/22

28 Focus : platforme Inter-blocs : flag slicing # 31 ed xor ebp, ebp <tmp> res32 := 0<32>; OF := 0<1>; SF := 0<1>; ZF := 1<1>; CF := 0<1>; ebp := 0<32>; #0f 85 7c jnz 0x805637c if (!ZF) goto L1 else goto L2 L1: #83 e3 fa and ebx, 0 xfffffffa ebx := (ebx and 0 xfffffffa ); OF := 0<1>; SF := ( res32 {31,31}); ZF := ( res32 = 0<32>); CF := 0<1>; L2: #85 ff test edi, edi <tmp> res32 := edi ; OF := 0<1>; SF := ( res32 {31,31}); ZF := ( res32 = 0<32>); CF := 0<1>; # 31 ed xor ebp, ebp ZF := 1<1>; ebp := 0<32>; #0f 85 7c jnz 0x805637c if (!ZF) goto L1 else goto L2 L1: #83 e3 fa and ebx, 0 xfffffffa ebx := (ebx and 0 xfffffffa ); L2: #85 ff test edi, edi <tmp> res32 := edi ; OF := 0<1>; SF := ( res32 {31,31}); ZF := ( res32 = 0<32>); CF := 0<1>; Avant simplification Après simplification p. 18/22

29 Focus : platforme Exemples program native DBA opt (DBA) loc loc loc KO loc time red bash 166K 558K 5 402K 10.65m 27.95% cat K 0 18K 16.62s 20.55% echo K s 22.38% less 23K 80K 5 56K 89.31s 29.03% ls 18K 63K 6 45K 83.42s 27.38% mkdir K 5 18K 23.65s 27.08% netstat 16K 50K 3 41K 68.48s 17.43% ps K 0 28K 47.90s 21.38% pwd K s 21.47% rm K 16 23K 31.13s 22.52% sed K 0 24K 37.50s 24.24% tar 64K 212K 7 159K 5.2m 25.26% touch K 0 19K 30.02s 25.75% uname K s 21.68% ir vs asm reduction ir vs asm (no simpl) dba instr tmp assign flag assign (simpl) DBA 3.3x 24.00% 21.89% 73.17% 2.5x (function-level) p. 19/22

30 Focus : platforme Analyse statique (début) Quelques nouveautés à l étude compromis précision / passage à l échelle / utilisabilité mode clos : restriction a priori sur les cibles de jmp eax mode dégradé : si jmp eax évalue à, garder anciennes valeurs calculées (unsound plutôt que fail) [inspiré de J. Kinder] p. 20/22

31 Focus : platforme Exécution symbolique (début) chemin formule entrée de test calcul de teinte spécification des politiques de C/S p. 21/22

32 Conclusion Conclusion Analyse formelle de code bas niveau pour la sécurité Problèmes de base et centrés vuln. / malware détection de UaF exploitables déobfuscation analyse de crash Plate-forme open source [début!] IR, simplification, simulation services basiques de SA et DSE Upcoming events : 2015, LOCAS 2015 p. 22/22

SSTIC 2009. Désobfuscation automatique de binaires. Alexandre Gazet. Yoann Guillot. Et autres idyles bucoliques...

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

Plus en détail

FAILLES APPLICATIVES INTRODUCTION & EXPLOITATION. Projet Tutorat Réseau / Sécurité INSA de Lyon 2011

FAILLES APPLICATIVES INTRODUCTION & EXPLOITATION. Projet Tutorat Réseau / Sécurité INSA de Lyon 2011 FAILLES APPLICATIVES INTRODUCTION & EXPLOITATION Projet Tutorat Réseau / Sécurité INSA de Lyon 2011 Lucas Bouillot Arnaud Kleinpeter Gaétan Bouquet Xavier Paquin INTRODUCTION INTRODUCTION Qu est ce qu

Plus en détail

Logiciel de base. Première année ENSIMAG

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

Plus en détail

Cours de compilation

Cours de compilation Cours de compilation 1 Introduction Un compilateur est un logiciel de traduction d un langage source vers un langage cible. D ordinaire le langage source est un langage de programmation évolué, comme C++

Plus en détail

Analyse de sécurité de logiciels système par typage statique

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

Plus en détail

Architecture des ordinateurs TP 3

Architecture des ordinateurs TP 3 Architecture des ordinateurs ESIPE - IR1 TP 3 Objectif de cette séance L objectif de cette séance est d apprendre à utiliser la pile et à écrire des fonctions en assembleur En particulier, nous verrons

Plus en détail

Programmation assembleur : aperçu

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

Plus en détail

La rétroconception : application à l analyse logicielle

La rétroconception : application à l analyse logicielle La rétroconception : application à l analyse logicielle Serge Lefranc Centre d Électronique de l Armement Bruz cedex F-35174, France serge.lefranc@dga.defense.gouv.fr Résumé Cet article a pour but de présenter

Plus en détail

Optimisation de code

Optimisation de code Optimisation de code Brique ASC Samuel Tardieu sam@rfc1149.net École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Optimisation de code 1 / 77 But L optimisation cherche à améliorer

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Architecture des ordinateurs

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

Plus en détail

Instructions assembleur

Instructions assembleur Instructions assembleur 0001011011110110 0001011101101101 10001001 Instruction vue par le programmeur assembleur ou instruction élémentaire cible d'un compilateur Réalise une modification de l'état interne

Plus en détail

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. 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

Plus en détail

Structure d un programme

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é

Plus en détail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

Désobfuscation automatique de binaire - The Barbarian Sublimation

Désobfuscation automatique de binaire - The Barbarian Sublimation Désobfuscation automatique de binaire - The Barbarian Sublimation Yoann Guillot, Alexandre Gazet Sogeti - ESEC Résumé Ce papier présente l état de notre recherche dans le domaine de l automatisation du

Plus en détail

Qualité du logiciel: Méthodes de test

Qualité du logiciel: Méthodes de test Qualité du logiciel: Méthodes de test Matthieu Amiguet 2004 2005 Analyse statique de code Analyse statique de code Étudier le programme source sans exécution Généralement réalisée avant les tests d exécution

Plus en détail

Résumé Génération de code Le code intermédiaire

Résumé Génération de code Le code intermédiaire Résumé Analyse INFO0004 Structure des langages de programmation Génération de code ; liaison et exécution Justus H. Piater Programmation Analyse Compilation Liaison fichier texte Analyse lexicale flux

Plus en détail

Édition de liens. 1 Programme unique. Ensimag 1A Apprentissage. 1.1 Listing d assemblage. offset codop. .section.rodata

Édition de liens. 1 Programme unique. Ensimag 1A Apprentissage. 1.1 Listing d assemblage. offset codop. .section.rodata Édition de liens Ensimag 1A Apprentissage 2010 1 Programme unique 1.1 Listing d assemblage offset codop.section.rodata 25 73 20 25 sortie:.asciz "%s %s %c%c%c%c%c%c%c %s%c %s%c\n" 73 20 25 63 25 63 25

Plus en détail

Assembleur x86. Eric Cariou. Université de Pau et des Pays de l'adour Département Informatique. Eric.Cariou@univ-pau.fr

Assembleur x86. Eric Cariou. Université de Pau et des Pays de l'adour Département Informatique. Eric.Cariou@univ-pau.fr Assembleur x86 Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Niveaux de programmation Du plus bas niveau (1) au plus abstrait (6) 1) Impulsions

Plus en détail

Techniques de compilation

Techniques de compilation Département d Informatique Université de Nice Sophia Antipolis Master 1 Informatique Techniques de compilation XI. Générateurs de générateurs de code Jacques Farré email : Jacques.Farre@unice.fr 1 Introduction

Plus en détail

Techniques et outils de test pour les logiciels réactifs synchrones

Techniques et outils de test pour les logiciels réactifs synchrones Journées Systèmes et Logiciels Critiques Institut IMAG ; 14-16 nombre 2000 Techniques et outils de test pour les logiciels réactifs synchrones Farid Ouabdesselam 1 Méthodes de test : classification générale

Plus en détail

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 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

Plus en détail

Introduction aux Machines Virtuelles avec VMKit

Introduction aux Machines Virtuelles avec VMKit Introduction aux Machines Virtuelles avec Ingénieur :, Responsables : Gaël Thomas, Gilles Müller EQUIPE REGAL LIP6 INRIA (Paris/France) un substrat de machine virtuelle : a substrate for Managed Runtime

Plus en détail

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

Plan global Outils de développement et compilation. Plan. Objectifs des outils présentés. IDE, GCC/Clang, ASAN, perf, valgrind, GDB. global Outils de développement et compilation IDE, GCC/Clang, ASAN, perf, valgrind, GDB Timothée Ravier LIFO, INSA-CVL, LIPN 1 re année cycle ingénieur STI 2013 2014 1 / 36 Objectifs des outils présentés

Plus en détail

GlobalScape Secure FTP Server 3.0.2 Buffer Overflow

GlobalScape Secure FTP Server 3.0.2 Buffer Overflow GlobalScape Secure FTP Server 3.0.2 Buffer Overflow muts@whitehat.co.il Traduction française: jerome[at]athias.fr http://www.athias.fr/jerome/doc/ Qu est-ce que le Serveur FTP Sécurisé GlobalScape?...

Plus en détail

Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155)

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 à

Plus en détail

Triton : Framework d exécution concolique et d analyses en runtime

Triton : Framework d exécution concolique et d analyses en runtime Triton : Framework d exécution concolique et d analyses en runtime Jonathan Salwan et Florent Saudel jsalwan@quarkslab.com florent.saudel@etu.u-bordeaux.fr Quarkslab, Université de Bordeaux Résumé Triton

Plus en détail

Projet 1 ENS Lyon L3IF

Projet 1 ENS Lyon L3IF Projet 1 ENS Lyon L3IF Génération de code Sébastien Briais 8 janvier 2008 Dans cette partie, vous allez devoir implémenter le générateur de code pour l émulateur DLX risc-emu. À rendre pour le 18 janvier

Plus en détail

Traduction binaire dynamique de l extension SIMD

Traduction binaire dynamique de l extension SIMD Traduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu Travaux d études et de recherches Ensimag - Tima SLS 25 mai 2010 Table des matières 1 Introduction 2 Tiny code generator Les helpers

Plus en détail

Architecture des Ordinateurs et Systèmes d Exploitation

Architecture des Ordinateurs et Systèmes d Exploitation Architecture des Ordinateurs et Systèmes d Exploitation Cours n 5 Le langage assembleur (2): Pile, Procédures. Les Interruptions 3ème année L assembleur 8086 : la pile = structure de «rangement» de données

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

Compilation. Introduction à la compilation. Termes Phases d'un compilateur Importance des grammaires Méthodes d'analyse. Termes. Termes.

Compilation. Introduction à la compilation. Termes Phases d'un compilateur Importance des grammaires Méthodes d'analyse. Termes. Termes. Compilation Enseignants : Stéphane Talbot Miguel Tomasena Volume horaire : 10.5 C / 12 TD / 12 TP langage source Traduction langage cible Contenu : Introduction à la compilation Analyse Lexicale Analyse

Plus en détail

Vers un outil d analyse de l empreinte mémoire d un code de calcul scientifique.

Vers un outil d analyse de l empreinte mémoire d un code de calcul scientifique. Vers un outil d analyse de l empreinte mémoire d un code de calcul scientifique. Ameziane NAIT ABDELAZIZ Département informatique, filière PRCD Maître de stage : Bruno LATHUILIERE Tuteur : Brice GOGLIN

Plus en détail

Automatisation du Test Logiciel

Automatisation du Test Logiciel S.Bardin Test Logiciel 1/ 129 Automatisation du Test Logiciel Sébastien Bardin CEA-LIST, Laboratoire de Sûreté Logicielle sebastien.bardin@cea.fr http://sebastien.bardin.free.fr Plan S.Bardin Test Logiciel

Plus en détail

Laboratoire de Haute Sécurité. Télescope réseau et sécurité des réseaux

Laboratoire de Haute Sécurité. Télescope réseau et sécurité des réseaux Laboratoire de Haute Sécurité Télescope réseau et sécurité des réseaux Frédéric Beck (SED) & Olivier Festor (Madynes) CLUSIR Est - 15 Décembre 2011 Inria : Institut de recherche en sciences du numérique

Plus en détail

Compilation (INF 564)

Compilation (INF 564) Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation

Plus en détail

Introduction aux systèmes informatiques Structure d un ordinateur

Introduction aux systèmes informatiques Structure d un ordinateur Introduction aux systèmes informatiques Structure d un ordinateur Michel Salomon IUT de Belfort-Montbéliard Département d informatique Michel Salomon Intro. aux sys. info. 1 / 36 Qu est-ce qu un système

Plus en détail

Formula Negator, Outil de négation de formule.

Formula Negator, Outil de négation de formule. Formula Negator, Outil de négation de formule. Aymerick Savary 1,2, Mathieu Lassale 1,2, Jean-Louis Lanet 1 et Marc Frappier 2 1 Université de Limoges 2 Université de Sherbrooke Résumé. Cet article présente

Plus en détail

Gestion mémoire et Représentation intermédiaire

Gestion mémoire et Représentation intermédiaire Gestion mémoire et Représentation intermédiaire Pablo de Oliveira March 23, 2015 I Gestion Memoire Variables locales Les variables locales sont stockées: Soit dans un registre,

Plus en détail

Traduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu

Traduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu Travaux d études et de recherches Traduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu Étudiant : Luc Michel Encadrants : Frédéric Pétrot Nicolas Fournel 23 mai 2010 TABLE DES MATIÈRES

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs (2 ème partie : assembleur 80x86) Vincent Vidal IUT Lens Architecture des ordinateurs p. 1 Organisation Durée : 8 semaines. Cours 1h, TP 3h Intervenants TP : Coste, Loukil,

Plus en détail

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Architecture Doctorant: Directeurs de thèse: Bechir ZALILA

Plus en détail

UE Programmation Impérative Licence 2ème Année 2014 2015

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

Sécurité des logiciels et analyse statique

Sécurité des logiciels et analyse statique Sécurité des logiciels et analyse statique David Pichardie Projet Lande, INRIA Rennes - Bretagne Atlantique Introduction générale à l analyse statique Analyse de programme Objet : déduire mécaniquement

Plus en détail

Types et langages de programmation. Algorithmique et Programmation Unisciel/K.Zampieri

Types et langages de programmation. Algorithmique et Programmation Unisciel/K.Zampieri Types et langages de programmation Algorithmique et Programmation Unisciel/K.Zampieri 1 Généalogie partielle des langages de programmation FORTRAN BASIC PL/1 PROLOG ALGOL60 COBOL C PASCAL ADA MODULA-2

Plus en détail

Utilisation de SystemC pour la conception des SoC

Utilisation de SystemC pour la conception des SoC Utilisation de SystemC pour la conception des SoC aniela ragomirescu 1,2, Roberto Reyna 3 1 - Université de Toulouse : INSA Toulouse, 135 Av. de Rangueil Toulouse cedex 4 2-LAAS-CNRS ; Université de Toulouse,

Plus en détail

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com RTDS G3 Emmanuel Gaudin emmanuel.gaudin@pragmadev.com PragmaDev Dédiée au développement d un AGL pour le développement des applications temps réel et embarquées. Réseau de partenaires: Formations, Service,

Plus en détail

Cours de Programmation 2

Cours de Programmation 2 Cours de Programmation 2 Programmation à moyenne et large échelle 1. Programmation modulaire 2. Programmation orientée objet 3. Programmation concurrente, distribuée 4. Programmation monadique 5. Les programmes

Plus en détail

Introduction. Les performances d une machine sont liées au: 1. nombre d instructions. 2. temps de cycle horloge

Introduction. Les performances d une machine sont liées au: 1. nombre d instructions. 2. temps de cycle horloge Introduction Les performances d une machine sont liées au: 1. nombre d instructions 2. temps de cycle horloge 3. nombre de cycle horloge par instructions. C est: le compilateur et l architecture du jeu

Plus en détail

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion GenDbg : un débogueur générique Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion 2008 Qui sommes nous? Centre d électronique de l Armement (CELAR) Maîtrise et protection

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit. Proposition de stage de BAC+4 ou BAC+5 Pro ou Recherche Etude comparative des outils de vérification d'algorithmes parallèles Logiciels (LSL), localisé à Palaiseau (Essonne), développe les outils d'aide

Plus en détail

Architectures logicielles pour les systèmes embarqués temps réel

Architectures logicielles pour les systèmes embarqués temps réel ETR 07 4 septembre 2007 Architectures logicielles pour les systèmes embarqués temps réel Jean-Philippe Babau, Julien DeAntoni jean-philippe.babau@insa-lyon.fr 1/31 Plan Architectures logicielles pour les

Plus en détail

SYSTÈME DE GESTION DE FICHIERS

SYSTÈME DE GESTION DE FICHIERS SYSTÈME DE GESTION DE FICHIERS - DISQUE 1 Les couches logiciels réponse requête Requêtes E/S Système E/S Pilote E/S Interruptions utilisateur traitement S.E. commandes S.E. S.E. matériel Contrôleur E/S

Plus en détail

IFT2245 - Systèmes d exploitation - TP n 1-20%

IFT2245 - Systèmes d exploitation - TP n 1-20% IFT2245 - Systèmes d exploitation - TP n 1-20% DIRO - Université de Montréal Nicolas Rous et Dorian Gomez Disponible : 14/02/2013 - Remise : 28/03/2013 au début de la démo LISEZ TOUT LE DOCUMENT AVANT

Plus en détail

Déprotection semi-automatique de binaire

Déprotection semi-automatique de binaire Déprotection semi-automatique de binaire Yoann Guillot & Alexandre Gazet Sogeti - ESEC Résumé Que ce soit sur des binaires malicieux ou non, les protections dont le but est de freiner la rétro-ingénierie

Plus en détail

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE C.Crochepeyre MPS_SGF 2000-20001 Diapason 1 Les couches logiciels réponse SGF requête matériel matériel Requêtes E/S Système E/S Pilote E/S Interruptions Contrôleur

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Bases de programmation. Cours 5. Structurer les données

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

Plus en détail

Concept de machine virtuelle

Concept de machine virtuelle Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine

Plus en détail

UE C avancé cours 1: introduction et révisions

UE C avancé cours 1: introduction et révisions Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple

Plus en détail

Sécurisation en local

Sécurisation en local Attaques locales (internes) Sécurisation en local Indépendamment de la présence d un réseau Espionnage quand même possible Émission électromagnétiques Norme tempest Dispositifs sans fil Clavier/souris

Plus en détail

Gene-Auto, Projet ITEA 05018 IDM pour la génération de code critique certifié Validation et Vérification de transformations

Gene-Auto, Projet ITEA 05018 IDM pour la génération de code critique certifié Validation et Vérification de transformations Gene-Auto, Projet ITEA 05018 IDM pour la génération de code critique certifié Validation et Vérification de transformations Journées GDR GPL Transformations de modèles et de programmes 18 janvier 2008

Plus en détail

Département informatique de l université d Angers

Département informatique de l université d Angers Département informatique de l université d Angers Amélioration d'un logiciel d'émulation du fonctionnement d'un microprocesseur x8 6 SCHAEFFER Florian ROUSSEAUX Billy L3 Informatique Responsable du projet:

Plus en détail

Programmation fonctionnelle avec OCaml

Programmation fonctionnelle avec OCaml Programmation fonctionnelle avec OCaml 1ère séance, 19 février 2015 6 séances de 1h30 de cours et 3h de TP 3 projets avec soutenance D autres transparents sont disponibles avec vidéo (intranet) Samuel

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Croisière au cœur d un OS Étape 6 : Multitâche et changement de contexte

Croisière au cœur d un OS Étape 6 : Multitâche et changement de contexte Croisière au cœur d un OS Étape 6 : Multitâche et changement de contexte Résumé Allocateur de pages physiques 4 Pagination 4Go Au cours de cet article et du suivant, nous vous proposons la mise en place

Plus en détail

Le langage Java - Syntaxe

Le langage Java - Syntaxe Le langage Java - Syntaxe LES BASES: litéraux, types, expressions, instructions LE LANGAGE JAVA - SYNTAXE LES COMMENTAIRES LES IDENTIFICATEURS LISTES DES MOTS RÉSERVÉS: LES LITÉRAUX BOOLÉENS LA DÉCLARATION

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

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

Plus en détail

Déprotection semi-automatique de binaire

Déprotection semi-automatique de binaire Déprotection semi-automatique de binaire Yoann Guillot et Alexandre Gazet Sogeti - ESEC Résumé Que ce soit sur des binaires malicieux ou non, les protections dont le but est de freiner la rétro-ingénierie

Plus en détail

DG-ADAJ: Une plateforme Desktop Grid

DG-ADAJ: Une plateforme Desktop Grid DG-ADAJ: Une plateforme pour Desktop Grid Olejnik Richard, Bernard Toursel Université des Sciences et Technologies de Lille Laboratoire d Informatique Fondamentale de Lille (LIFL UMR CNRS 8022) Bât M3

Plus en détail

BAZIN Danil et PRIEZ Jean-Baptiste. LEX & YACC : Calculatrice Évoluée

BAZIN Danil et PRIEZ Jean-Baptiste. LEX & YACC : Calculatrice Évoluée BAZIN Danil et PRIEZ Jean-Baptiste LEX & YACC : Calculatrice Évoluée Table des matières 1 Introduction 3 2 Description 4 3 La grammaire utilisée 6 4 Lexèmes et FLEX 8 5 Analyse syntaxique et YACC 8 5.1

Plus en détail

Introduction. Chapitre 1. 1.1 Introduction. 1.1.1 Bibliothèques. 1.1.2 Programmation de Haute Qualité

Introduction. Chapitre 1. 1.1 Introduction. 1.1.1 Bibliothèques. 1.1.2 Programmation de Haute Qualité Chapitre 1 Introduction Buts du chapitre : Motivation pour l étude des types abstraits de données ; Syntaxe de base pour l écriture de spécifications. 1.1 Introduction 1.1.1 Bibliothèques 1. L3, déjà une

Plus en détail

AVERTISSEMENT. D'autre part, toute contrefaçon, plagiat, reproduction encourt une poursuite pénale. LIENS

AVERTISSEMENT. D'autre part, toute contrefaçon, plagiat, reproduction encourt une poursuite pénale. LIENS AVERTISSEMENT Ce document est le fruit d'un long travail approuvé par le jury de soutenance et mis à disposition de l'ensemble de la communauté universitaire élargie. Il est soumis à la propriété intellectuelle

Plus en détail

C ellules. Gestion et récupération automatique de mémoire. Principes des lang. de progr. INE 11. Allocation dynamique de mémoire.

C ellules. Gestion et récupération automatique de mémoire. Principes des lang. de progr. INE 11. Allocation dynamique de mémoire. Principes des lang. de progr. INE 11 Michel Mauny ENSTA ParisTech Prénom.Nom@ensta.fr Michel Mauny (ENSTA ParisTech) INE 11 Prénom.Nom@ensta.fr 1 / 37 Gestion et récupération automatique de mémoire lanage

Plus en détail

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG) Surveillance et maintenance prédictive : évaluation de la latence de fautes Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG) SURVEILLANCE Analyser une situation et fournir des indicateurs! Détection de symptômes!

Plus en détail

Éléments d architecture des ordinateurs : travaux pratiques d assembleur sur PC Intelx86 sous Linux

Éléments d architecture des ordinateurs : travaux pratiques d assembleur sur PC Intelx86 sous Linux Éléments d architecture des ordinateurs : travaux pratiques d assembleur sur PC Intelx86 sous Linux Laboratoire d Informatique fondamentale de Lille Université des sciences et technologies de Lille F-59655

Plus en détail

Programmation système I Les entrées/sorties

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

Plus en détail

CM2 L architecture MIPS32

CM2 L architecture MIPS32 CM2 L architecture MIPS32 Olivier Marchetti (CM-TD-TP) Alexandre Brière (TD-TP) Laboratoire d informatique de Paris 6 Pôle SoC UPMC Année 2014-2015 Instructions MIPS Contrôle Données en MIPS E/S en MIPS

Plus en détail

Attaques applicatives

Attaques applicatives Attaques applicatives Attaques applicatives Exploitation d une mauvaise programmation des applications Ne touche pas le serveur lui-même mais son utilisation/ configuration Surtout populaire pour les sites

Plus en détail

Systèmes répartis : les Remote Procedure Calls p.1/25

Systèmes répartis : les Remote Procedure Calls p.1/25 Systèmes répartis : les Remote Procedure Calls Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis : les Remote Procedure Calls p.1/25 Les Remote Procedure Calls

Plus en détail

Code Intermédiaire. Linéarisation Canonisation.

Code Intermédiaire. Linéarisation Canonisation. 2 2 2 s 2 2 s Code Intermédiaire Génération de Code Linéarisation Canonisation. Didier Rémy Octobre 2000 http://cristal.inria.fr/ remy/poly/compil/3/ http://w3.edu.polytechnique.fr/profs/informatique/didier.remy/compil/3/

Plus en détail

en Visual Basic Premiers pas

en Visual Basic Premiers pas V0 (16-10-2009) Licence Université Lille 1 Pour toutes remarques : Alexandre.Sedoglavic@univ-lille1.fr Première année DEUST 2008-09 Ce cours est porte sur la programmation en s appuyant sur le langage

Plus en détail

Conception de circuits numériques et architecture des ordinateurs

Conception de circuits numériques et architecture des ordinateurs Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2014-2015 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique

Plus en détail

Machines virtuelles. Brique ASC. Samuel Tardieu sam@rfc1149.net. Samuel Tardieu (ENST) Machines virtuelles 1 / 40

Machines virtuelles. Brique ASC. Samuel Tardieu sam@rfc1149.net. Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles Brique ASC Samuel Tardieu sam@rfc1149.net École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles La compilation peut

Plus en détail

Profiling. École d Automne Informatique Scientifique 3 Décembre 2008. Profiling. Romaric DAVID. Plan. Introduction. Profiling

Profiling. École d Automne Informatique Scientifique 3 Décembre 2008. Profiling. Romaric DAVID. Plan. Introduction. Profiling École d Automne Informatique Scientifique 3 Décembre 2008 s de programmes Objectifs du cours Ce cours vous présentera les outils d analyse de vos programmes. En particulier, vous pourrez : Traquer des

Plus en détail

Introduction au langage C

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

Plus en détail

La technologie Java Card TM

La technologie Java Card TM Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages

Plus en détail

Introduction à la Programmation Parallèle: MPI

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

Plus en détail

Vulnérabilité Microsoft Windows GDI (MS07-017) De l analyse à l exploitation

Vulnérabilité Microsoft Windows GDI (MS07-017) De l analyse à l exploitation Vulnérabilité Microsoft Windows GDI (MS07-017) De l analyse à l exploitation 1 Introduction Un process devant utiliser des objets ou des fonctions liés à l'affichage a à sa disposition une bibliothèque

Plus en détail

QUELQUES CONCEPTS INTRODUCTIFS

QUELQUES CONCEPTS INTRODUCTIFS ESIEE Unité d'informatique IN101 Albin Morelle (et Denis Bureau) QUELQUES CONCEPTS INTRODUCTIFS 1- ARCHITECTURE ET FONCTIONNEMENT D UN ORDINATEUR Processeur Mémoire centrale Clavier Unité d échange BUS

Plus en détail

KoinKoin. Système d exploitation à architecture basée micro-noyau. Antoine Castaing Nicolas Clermont Damien Laniel

KoinKoin. Système d exploitation à architecture basée micro-noyau. Antoine Castaing Nicolas Clermont Damien Laniel KoinKoin Système d exploitation à architecture basée micro-noyau Antoine Castaing Nicolas Clermont Damien Laniel 30 juillet 2006 Free Documentation License Copyright (c) 2005 Nicolas Clermont / Antoine

Plus en détail

La chasse aux bugs : pourquoi? Les bugs en informatique. La chasse aux bugs : pourquoi? Des bugs logiciels aux conséquences désastreuses (1)

La chasse aux bugs : pourquoi? Les bugs en informatique. La chasse aux bugs : pourquoi? Des bugs logiciels aux conséquences désastreuses (1) La chasse aux bugs : pourquoi? Les bugs en informatique où pourquoi faire un peu de maths quand c est utile Les bugs sont partie intégrante de l informatique. Mais en fait... les bugs, est-ce si grave?

Plus en détail

Éviter les failles de sécurité dès le développement d'une application 2 ème Partie

Éviter les failles de sécurité dès le développement d'une application 2 ème Partie Éviter les failles de sécurité dès le développement d'une application 2 ème Partie Notre série d'articles essaye de mettre en lumière les principales failles de sécurité susceptibles d'apparaître dans

Plus en détail

Les techniques de protection du logiciel

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

Plus en détail

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de itemis France 2009 All rights reserved 1 Itemis en quelques mots Spécialisé dans l

Plus en détail

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 : 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

Plus en détail

Notions de langage machine

Notions de langage machine Notions de langage machine 18 décembre 2009 Rappels et introduction Architecture de Van Neumann : Processeur = UC + UAL Mémoire interne au processeur = les registres (soit seulement l accumulateur, soit

Plus en détail