Étude et réalisation d'un environnement d'expérimentation et de modélisation pour la technologie Java Card. Application à la sécurité
|
|
|
- Victorien Marion
- il y a 10 ans
- Total affichages :
Transcription
1 Équipe Systèmes et Objets Distribués Soutenance de thèse Étude et réalisation d'un environnement d'expérimentation et de modélisation pour la technologie Java Card. Application à la sécurité Damien Sauveron Réalisée sous la direction de Serge Chaumette 03/12/2004 1
2 Plan JCatools La pré-persistance Java Card De nouveaux problèmes de sécurité pour les cartes multi-applicatives ouvertes Preuve de concept pour sécuriser le calcul sur la grille 2
3 Introduction La carte à puce La mono-application La multi-application La technologie Java Card Architecture La persistance Atomicité et transactions 3
4 La carte à puce : un périphérique de nature persistante CPU : CISC ou RISC 8, 16 ou 32 bits Communications : Contact Contactless (RF) Mémoires : Permanente : ROM 32 à 64 Ko Card Operating System + données permanentes Volatile : RAM 1 à 2 Ko très rapide mémoire de travail (pile d'appels, etc.) 5mm Persistante : EEPROM (ou FeRAM ou Flash) 24 à 64 Ko lente (200 fois plus que la RAM) mémoire de stockage durée de vie limitée à cycles d'écriture 4
5 La mono-application Historiquement : 1 application par carte Peu de problèmes de sécurité Application Hardware de la carte à puce et système natif Types d'applications : Bancaire (carte bleue, etc.) Santé (carte vitale, etc.) Télécommunication (télécarte, SIM, carte pré-payée) Transport (carte sans contact dans les transports en commun, etc.) Contrôle d'accès (carte sans contact pour l'accès aux bâtiments, etc.) Audiovisuel (télévision à péage, etc.) Nouveaux besoins => nouvelles applications : L authentification (e.g. à des sites sur l Internet) Les applications de fidélisation (e.g. l accumulation de miles gratuits de voyages en avion) Les e-services (le e-commerce, la banque distante, le e-courrier, le télétravail, etc.) 5
6 La multi-application Objectifs : Faire coexister plusieurs applications sur une même carte Coopération sécurisée Chargement dynamique après émission de la carte Réduction des coûts Application X Application Y Bibliothèques Machine vituelle Application Z Environnement d'exécution sécurisé Hardware de la carte à puce et système natif Technologies multi-applicatives : MULTOS (1997) Windows for SmartCard ( ) ZeitControl BasicCard (2004) Smartcard.NET (2003) Java Card (1996) 6
7 La technologie Java Card Objectifs : Faire fonctionner des applications écrites en langage Java (les applets) sur des périphériques à mémoire limitée. Chargement dynamique. Garantir la sécurité de la plate-forme et des applications. Cibles : Cartes à puce IButtons Avantages : La facilité de développement des applications : Orientée Objets IDE APIs ouvertes et de haut niveau d'abstraction La sécurité : différents niveaux de contrôle d'accès un typage fort un pare-feu La portabilité (Write Once, Run Anywhere). La capacité de stockage et de gestion de plusieurs applications. La compatibilité avec les standards existant pour les cartes à puce. 7
8 Architecture de Java Card Difficultés pour adapter Java aux cartes : Faible capacité mémoire Périphérique de nature persistante Solutions : Sous-ensemble de Java : Limitation au strict nécessaire sur la carte (types simples, tableaux de types simples,...) Pas de vérifieur embarqué => Ajout d'un pare-feu Nouveau format pour l'interopérabilité binaire : le fichier CAP (Converted APplet) Introduction du concept de persistance Applet X Applet Z Pare-feu Java Card APIs JCRE Java Card Virtual Machine (interpréteur de bytecodes) Hardware de la carte à puce et système natif 8
9 Persistance Un objet persistant est un objet stocké en mémoire persistante : entête + champs. Quelques caractéristiques : il a été créé par le bytecode new avant de devenir persistant ; il conserve ses valeurs au travers des sessions avec le lecteur. 9
10 Atomicité et transactions Objectif : Garantir l'intégrité des données lors de la mise à jour des objets persistants. Protections contre la perte d alimentation, etc. Atomicité : Une opération est atomique si elle est soit totalement exécutée soit pas du tout. JCVM : la mise à jour des champs des objets persistants est atomique Transactions : Une transaction représente un bloc d opérations qui doit être effectué complètement ou pas du tout. JCSystem.beginTransaction JCSystem.commitTransaction JCSystem.abortTransaction Restauration des anciennes données => la sauvegarde dans un buffer de transaction (dépendant de l'implantation) Write once, run anywhere? 10
11 Cycle de développement d'une applet Fichiers sources Java Compilateur Java Fichiers class Fichiers export Convertisseur Java Card Fichier export Station de travail Vérifieur Java Card Fichier CAP Simulateur Java Card Émulateur Java Card Installateur Java Card Java Card Lecteur 11
12 Les JCatools JCat Emulator JCat View 12
13 Contribution n 1 : l'émulateur Java Card Fichiers sources Java Compilateur Java Fichiers class Fichiers export Convertisseur Java Card Fichier export Simulateur Java Card Contribution n 1 Station de travail Vérifieur Java Card Fichier CAP Émulateur Java Card Installateur Java Card Java Card Lecteur 13
14 Les JCatools Projet PROGSI «Sécurité Java Card» financé par le MINEFI entre le LaBRI et SERMA Technologies Objectifs de SERMA Technologies Connaissance détaillée de la technologie Java Card Définition d une méthodologie d évaluation de plate-forme Création d une batterie de tests d attaques Environnement d'expérimentation de tests d attaques logicielles & matérielles Objectifs du LaBRI Se confronter à une vraie problématique industrielle Faire profiter de son savoir-faire Java Obtenir des outils modulaires et extensibles JCatools : un environnement pour l étude de plates-formes et d applets Java Card Ensemble outils : JCat Emulator JCat View, JCat Converter Utilitaires voués à simplifier les opérations de modification de fichiers CAP. 14
15 JCat Emulator Implantation complète de Java Card : VM JCRE APIs (sauf les APIs cryptographiques) Il inclut : Le pare-feu L atomicité et le mécanisme de transactions La lecture du format de fichiers CAP Seul émulateur Java Card open source, mais il ne peut être distribué (discussions avec Sun microsystems)! Fonctionnalités : Débogage du bytecode : pas à pas + visualisation des états (mémoires, objets, pile d'appels, buffer de transaction) Statistiques sur les bytecodes exécutés. Simulation d'attaques physiques : arrachage de carte, attaque par rayonnement, etc. Instanciation parallèle de Java Cards 15
16 16
17 17
18 JCat Emulator : représentation des objets Inconvénient : Interface parfois un peu rebutante 18
19 JCat View 19
20 Introduction du concept de pré-persistance Les ambiguïtés des spécifications Java Card Exemple de code en Java Exemple de code en Java Card sans la pré-persistance Exemple de code en Java Card avec la pré-persistance 20
21 Contribution n 2 : les spécifications Java Card Contribution n 2 Fichiers sources Java Compilateur Java Fichiers class Fichiers export Convertisseur Java Card Fichier export Station de travail Vérifieur Java Card Fichier CAP Simulateur Java Card Émulateur Java Card Installateur Java Card Java Card Lecteur 21
22 Introduction du concept de pré-persistance D'après les spécifications : - un objet est créé lors de l'exécution d'un bytecode new, anewarray et newarray ; - le développeur rendra les objets persistants lorsqu'une référence à l'objet est stockée dans un champ d'un objet persistant ou dans celui d'une classe. Ambiguïté : nature des objets entre le moment de leur création et celui de leur affectation à un champ d'un objet persistant? Nous désignerons par espace pré-persistant l'espace où sont placés les objets lors de leur création (i.e. new, anewarray et newarray). Sa localisation reste à définir ; nous avons considéré plusieurs possibilités ; dans la suite de cet exposé nous ne considérerons en RAM Attention : pré-persistant n'implique pas que l'objet devriendra nécessairement persistant. Les fabricants de Java Cards ont choisi de rendre les objets persistants à la création. 22
23 Exemple de code en Java public class A { private short s1; private Object o1; Instance de A s1 = o1 = public void foo() { s1 = (short) 0; o1 = (); public void bar() { short s2 = (short) 1; Object o2 = (); RAM Traduction en bytecodes des méthodes foo et bar void foo() { < ICI sconst_0 putfield_s s1 putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 Pile de frames var. locales pile d'opérandes 23
24 Exemple de code en Java public class A { private short s1; private Object o1; Instance de A s1 = o1 = public void foo() { s1 = (short) 0; o1 = (); public void bar() { short s2 = (short) 1; Object o2 = (); RAM Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 < ICI putfield_s s1 putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 Pile de frames var. locales pile d'opérandes this 0x
25 Exemple de code en Java public class A { private short s1; private Object o1; Instance de A s1 = 0x0000 o1 = public void foo() { s1 = (short) 0; o1 = (); public void bar() { short s2 = (short) 1; Object o2 = (); RAM Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 < ICI putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 Pile de frames var. locales pile d'opérandes 25
26 Exemple de code en Java public class A { private short s1; private Object o1; Instance de A s1 = 0x0000 o1 = Instance de Object public void foo() { s1 = (short) 0; o1 = (); public void bar() { short s2 = (short) 1; Object o2 = (); RAM Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 < ICI putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 Pile de frames var. locales pile d'opérandes this ref 26
27 Exemple de code en Java public class A { private short s1; private Object o1; Instance de A s1 = 0x0000 o1 = Instance de Object public void foo() { s1 = (short) 0; o1 = (); public void bar() { short s2 = (short) 1; Object o2 = (); RAM Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 putfield_a o1 < ICI void bar() { sconst_1 sstore s2 astore o2 Pile de frames var. locales pile d'opérandes 27
28 Exemple de code en Java public class A { private short s1; private Object o1; Instance de A s1 = 0x0000 o1 = Instance de Object public void foo() { s1 = (short) 0; o1 = (); public void bar() { short s2 = (short) 1; Object o2 = (); RAM Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 Pile de frames < ICI var. locales s2 = o2 = pile d'opérandes 28
29 Exemple de code en Java public class A { private short s1; private Object o1; Instance de A s1 = 0x0000 o1 = Instance de Object public void foo() { s1 = (short) 0; o1 = (); public void bar() { short s2 = (short) 1; Object o2 = (); RAM Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 Pile de frames < ICI var. locales s2 = o2 = pile d'opérandes 0x
30 Exemple de code en Java public class A { private short s1; private Object o1; Instance de A s1 = 0x0000 o1 = Instance de Object public void foo() { s1 = (short) 0; o1 = (); public void bar() { short s2 = (short) 1; Object o2 = (); RAM Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 Pile de frames var. locales s2 = 0x0001 o2 = < ICI pile d'opérandes 30
31 Exemple de code en Java public class A { private short s1; private Object o1; Instance de A s1 = 0x0000 o1 = Instance de Object public void foo() { s1 = (short) 0; o1 = (); public void bar() { short s2 = (short) 1; Object o2 = (); RAM Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 Pile de frames var. locales s2 = 0x0001 o2 = < ICI Instance de Object pile d'opérandes ref 31
32 Exemple de code en Java public class A { private short s1; private Object o1; Instance de A s1 = 0x0000 o1 = Instance de Object public void foo() { s1 = (short) 0; o1 = (); public void bar() { short s2 = (short) 1; Object o2 = (); RAM Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 Pile de frames var. locales s2 = 0x0001 o2 = Instance de Object pile d'opérandes < ICI 32
33 Exemple de code en Java Remarques : sémantiques identiques et homogènes pour les variables locales aux méthodes et les variables d'instances (contenu et référence) Instance de A s1 = 0x0000 o1 = Instance de Object Tous les objets sont dans une même mémoire RAM. Tout est temporaire! Normal, Java est un environnement de programmation temporaire. RAM Pile de frames var. locales s2 = 0x0001 o2 = Instance de Object pile d'opérandes 33
34 Exemple de code en Java Card sans pré-persistance public class A { private short s1; private Object o1; public void foo() { s1 = (short) 0; o1 = (); Instance de A s1 = o1 = EEPROM public void bar() { short s2 = (short) 1; Object o2 = (); Traduction en bytecodes des méthodes foo et bar void foo() { < ICI sconst_0 putfield_s s1 putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 RAM Pile de frames var. locales pile d'opérandes 34
35 Exemple de code en Java Card sans pré-persistance public class A { private short s1; private Object o1; public void foo() { s1 = (short) 0; o1 = (); Instance de A s1 = o1 = EEPROM public void bar() { short s2 = (short) 1; Object o2 = (); Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 < ICI putfield_s s1 putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 RAM Pile de frames var. locales pile d'opérandes this 0x
36 Exemple de code en Java Card sans pré-persistance public class A { private short s1; private Object o1; public void foo() { s1 = (short) 0; o1 = (); Instance de A s1 = 0x0000 o1 = EEPROM public void bar() { short s2 = (short) 1; Object o2 = (); Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 < ICI putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 RAM Pile de frames var. locales pile d'opérandes 36
37 Exemple de code en Java Card sans pré-persistance public class A { private short s1; private Object o1; public void foo() { s1 = (short) 0; o1 = (); Instance de A s1 = 0x0000 o1 = Instance de Object EEPROM public void bar() { short s2 = (short) 1; Object o2 = (); Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 < ICI putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 RAM Pile de frames var. locales pile d'opérandes this ref 37
38 Exemple de code en Java Card sans pré-persistance public class A { private short s1; private Object o1; public void foo() { s1 = (short) 0; o1 = (); Instance de A s1 = 0x0000 o1 = Instance de Object EEPROM public void bar() { short s2 = (short) 1; Object o2 = (); Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 putfield_a o1 < ICI void bar() { sconst_1 sstore s2 astore o2 RAM Pile de frames var. locales pile d'opérandes 38
39 Exemple de code en Java Card sans pré-persistance public class A { private short s1; private Object o1; public void foo() { s1 = (short) 0; o1 = (); Instance de A s1 = 0x0000 o1 = Instance de Object EEPROM public void bar() { short s2 = (short) 1; Object o2 = (); Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 RAM Pile de frames < ICI var. locales s2 = o2 = pile d'opérandes 39
40 Exemple de code en Java Card sans pré-persistance public class A { private short s1; private Object o1; public void foo() { s1 = (short) 0; o1 = (); Instance de A s1 = 0x0000 o1 = Instance de Object EEPROM public void bar() { short s2 = (short) 1; Object o2 = (); Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 putfield_a o1 void bar() { sconst_1 < ICI sstore s2 astore o2 RAM Pile de frames var. locales s2 = o2 = pile d'opérandes 0x
41 Exemple de code en Java Card sans pré-persistance public class A { private short s1; private Object o1; public void foo() { s1 = (short) 0; o1 = (); Instance de A s1 = 0x0000 o1 = Instance de Object EEPROM public void bar() { short s2 = (short) 1; Object o2 = (); Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 RAM Pile de frames var. locales s2 = 0x0001 o2 = < ICI pile d'opérandes 41
42 Exemple de code en Java Card sans pré-persistance public class A { private short s1; private Object o1; public void foo() { s1 = (short) 0; o1 = (); Instance de A s1 = 0x0000 o1 = Instance de Object Instance de Object EEPROM public void bar() { short s2 = (short) 1; Object o2 = (); Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 RAM Pile de frames var. locales s2 = 0x0001 o2 = < ICI pile d'opérandes ref 42
43 Exemple de code en Java Card sans pré-persistance public class A { private short s1; private Object o1; public void foo() { s1 = (short) 0; o1 = (); Instance de A s1 = 0x0000 o1 = Instance de Object Instance de Object EEPROM public void bar() { short s2 = (short) 1; Object o2 = (); Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 RAM Pile de frames var. locales s2 = 0x0001 o2 = pile d'opérandes < ICI 43
44 Exemple de code en Java Card sans pré-persistance Remarques : sémantiques identiques pour les variables d'instances (contenu et référence) Instance de A s1 = 0x0000 o1 = Instance de Object sémantiques différentes pour les variables locales (contenu et référence) Tous les objets sont dans l'eeprom. Instance de Object EEPROM Problèmes : Perte d'alimentation => objet inaccessible et non ramassé RAM Pile de frames var. locales s2 = 0x0001 o2 = pile d'opérandes 44
45 Exemple de code en Java Card avec pré-persistance public class A { private short s1; private Object o1; public void foo() { s1 = (short) 0; o1 = (); Instance de A s1 = o1 = EEPROM public void bar() { short s2 = (short) 1; Object o2 = (); Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 < ICI RAM Pile de frames var. locales pile d'opérandes 45
46 Exemple de code en Java Card avec pré-persistance public class A { private short s1; private Object o1; public void foo() { s1 = (short) 0; o1 = (); Instance de A s1 = o1 = EEPROM public void bar() { short s2 = (short) 1; Object o2 = (); Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 < ICI putfield_s s1 putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 RAM Pile de frames var. locales pile d'opérandes this 0x
47 Exemple de code en Java Card avec pré-persistance public class A { private short s1; private Object o1; public void foo() { s1 = (short) 0; o1 = (); Instance de A s1 = 0x0000 o1 = EEPROM public void bar() { short s2 = (short) 1; Object o2 = (); Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 < ICI putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 RAM Pile de frames var. locales pile d'opérandes 47
48 Exemple de code en Java Card avec pré-persistance public class A { private short s1; private Object o1; public void foo() { s1 = (short) 0; o1 = (); Instance de A s1 = 0x0000 o1 = EEPROM public void bar() { short s2 = (short) 1; Object o2 = (); Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 < ICI putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 RAM Pile de frames var. locales Instance de Object pile d'opérandes this ref 48
49 Exemple de code en Java Card avec pré-persistance public class A { private short s1; private Object o1; public void foo() { s1 = (short) 0; o1 = (); Instance de A s1 = 0x0000 o1 = Instance de Object EEPROM public void bar() { short s2 = (short) 1; Object o2 = (); Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 putfield_a o1 < ICI void bar() { sconst_1 sstore s2 astore o2 RAM Pile de frames var. locales pile d'opérandes 49
50 Exemple de code en Java Card avec pré-persistance public class A { private short s1; private Object o1; public void foo() { s1 = (short) 0; o1 = (); Instance de A s1 = 0x0000 o1 = Instance de Object EEPROM public void bar() { short s2 = (short) 1; Object o2 = (); Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 RAM Pile de frames < ICI var. locales s2 = o2 = pile d'opérandes 50
51 Exemple de code en Java Card avec pré-persistance public class A { private short s1; private Object o1; public void foo() { s1 = (short) 0; o1 = (); Instance de A s1 = 0x0000 o1 = Instance de Object EEPROM public void bar() { short s2 = (short) 1; Object o2 = (); Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 RAM Pile de frames < ICI var. locales s2 = o2 = pile d'opérandes 0x
52 Exemple de code en Java Card avec pré-persistance public class A { private short s1; private Object o1; public void foo() { s1 = (short) 0; o1 = (); Instance de A s1 = 0x0000 o1 = Instance de Object EEPROM public void bar() { short s2 = (short) 1; Object o2 = (); Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 RAM Pile de frames var. locales s2 = 0x0001 o2 = < ICI pile d'opérandes 52
53 Exemple de code en Java Card avec pré-persistance public class A { private short s1; private Object o1; public void foo() { s1 = (short) 0; o1 = (); Instance de A s1 = 0x0000 o1 = Instance de Object EEPROM public void bar() { short s2 = (short) 1; Object o2 = (); Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 RAM Pile de frames var. locales s2 = 0x0001 o2 = < ICI Instance de Object pile d'opérandes ref 53
54 Exemple de code en Java Card avec pré-persistance public class A { private short s1; private Object o1; public void foo() { s1 = (short) 0; o1 = (); Instance de A s1 = 0x0000 o1 = Instance de Object EEPROM public void bar() { short s2 = (short) 1; Object o2 = (); Traduction en bytecodes des méthodes foo et bar void foo() { sconst_0 putfield_s s1 putfield_a o1 void bar() { sconst_1 sstore s2 astore o2 RAM Pile de frames var. locales s2 = 0x0001 o2 = Instance de Object pile d'opérandes < ICI 54
55 Exemple de code en Java Card avec pré-persistance Remarques : sémantiques identiques les variables d'instances (contenu et référence) Instance de A s1 = 0x0000 o1 = Instance de Object sémantiques identiques pour les variables locales (contenu et référence) Les objets sont dans deux mémoires EEPROM Avantages : sémantiques homogènes comme en Java sur la perte d'alimentation : ramasse-miette naturel de la RAM => pas d'objet inaccessible non ramassé Inconvénients : Mécanisme de recopie des objets de la RAM vers l'eeprom RAM Pile de frames Implantations Java Cards différentes mais conforme aux spécifications => failles de sécurité. (DCSSI) var. locales s2 = 0x0001 o2 = Instance de Object pile d'opérandes 55
56 De nouveaux problèmes de sécurité pour les cartes multi-applicatives ouvertes Quelques attaques classiques Les attaques internes Les nouvelles vulnérabilités et leur exploitation 56
57 Contribution n 3 : les problèmes de sécurité des cartes multi-applicatives ouvertes Fichiers sources Java Compilateur Java Fichiers class Fichiers export Convertisseur Java Card Fichier export Simulateur Java Card Contribution n 3 Station de travail Vérifieur Java Card Fichier CAP Émulateur Java Card Installateur Java Card Java Card Lecteur 57
58 Quelques vulnérabilités classiques des cartes Les attaques non invasives : Fonctionnement hors conditions normal (T, tension, lumière, etc.) Par injection de fautes (Images SERMA Technologies) Par canaux cachés Temps d'exécution Consommation en courant Émission électromagnétique SPA sur le DES Contre-mesure : Pompe de charge Les attaques invasives : Microprobing Modification de circuit 58
59 Les attaques internes sur les cartes multi-applicatives ouvertes Attaques sur le typage ou la visibilité : Bloquées par le vérifieur Attaques sur le pare-feu : Possible seulement si une applet sur la carte utilise mal les services de partage d'objets offerts par la plate-forme => kit de développement sécurisé Attaques de collecte d'information : Instrumentation d'une application Pas de parade! Mais l'intérêt est très limité tel quel. (contacts de la carte) (Application Protocol Data Unit) 59
60 Nouvelles vulnérabilités des cartes multi-applicatives ouvertes Idée de base : Comment rendre un motif localisable pour un observateur extérieur? Solution n 1 : envoie d'octets de synchronisation. Méthodes : waitextension : désactivé et géré par la plate-forme On a proposé une technique de détournement de la communication : impossible de la désactiver Amélioration de la précision par des modifications au niveau bytecode (JCatools) 60
61 Nouvelles vulnérabilités des cartes multi-applicatives ouvertes Idée de base : Comment rendre un motif localisable pour un observateur extérieur? Solution n 2 : répeter plusieurs fois le motif à observer Nécessite parfois des astuces (exemple : pop => séquence dup-pop) 61
62 Nouvelles vulnérabilités des cartes multi-applicatives ouvertes Idée de base : Comment rendre un motif localisable pour un observateur extérieur? Solution n 3 : mélanger les 2 solutions précédentes 62
63 Exploitation des vulnérablités Attaques par couplage Construction d'un dictionnaire des émanations physiques pour : Les bytecodes Les services Comparaison par rapport à la trace d'une applet officielle présente sur la carte Rétro-conception à partir de signaux physiques Attaque contre la confidentialité du code de l'applet officielle Attaques physiques Déterminer le motif à attaquer (service) d'une applet officielle Implanter sa propre applet utilisant ce motif facilement localisable et l'attaquer (injection de fautes, etc.) => Maximise l'efficacité de l'attaquant : il est dans les meilleures conditions. En cas de succès, attaquer le même motif dans l'applet officielle. 63
64 Résultats Techniques de localisation pour tester les attaques physiques contre les plates-formes : Utilisées par SERMA Technologies Succès! Constitution d'un dictionnaire de bytecodes : Non abouti! Parce que : Java Card déjà certifiée EAL5+ peu de moyens déployés. 64
65 Preuve de concept pour sécuriser le calcul sur la grille Quelques problèmes de sécurité sur les grilles La preuve de concept Quelques défis Une application de démonstration 65
66 Contribution n 4 : l'utilisation des Java Cards pour sécuriser le calcul sur la grille Fichiers sources Java Compilateur Java Fichiers class Fichiers export Convertisseur Java Card Fichier export Simulateur Java Card Contribution n 4 Station de travail Vérifieur Java Card Fichier CAP Émulateur Java Card Installateur Java Card Java Card Lecteur 66
67 Quelques problèmes des grilles de calculs Pour le propriétaire des ressources de calculs : Sécurité du système et des autres applications Solutions classiques : Sandbox Analyse du code (open source?) Signature de l'application Notre solution : une architecture plus sécurisée, la carte à puce (évaluée, certifiée, OS et puce sécurisés) Pour le distributeur d'application : Confidentialité de son code Solutions classiques : Distribution sous forme binaire (problème de rétro-conception par analyse logicielle ou matérielle ) Hypothèse de confiance dans le fournisseur des ressources de calculs Notre solution : la Java Card grâce à ses protections physiques (puce) et logicielles (OS et pare-feu) 67
68 Preuve de concept : la grille de Java Cards (JCGrid) Attention : on ne prétend pas faire du calcul efficace mais seulement du calcul sécurisé 68
69 L'infrastructure matérielle 69
70 L'infrastructure logicielle PC/SC est un standard qui fournit une API de haut niveau pour dialoguer avec les lecteurs et donc les cartes à puce. 70
71 Quelques défis Faire du calcul scientifique sur une Java Card problème de type, de réutilisation d'objet Gestions de plusieurs lecteurs en parallèle pcsc-lite souffrait de quelques inconvénients Modèle d'exécution Asynchronisme Carte pro-active La sécurité des communications Entre l'utilisateur et la grille Entres les cartes au sein de la grille La dynamicité... 71
72 Le calcul sécurisé de la fractale de Mandelbrot 72
73 Résultats (1/2) 73
74 Résultats (2/2) Benchmarks => utilisation de FRAM Scalabilité 74
75 Conclusion et perspectives Autour de Java Card et de la sécurité : JCatools : permet le test d'applets et de plates-formes (batteries de tests d'attaques) Perspective : poursuite du développement (plug'ins, etc.) et libération du produit Pré-persistance : contribution pour clarifier les spécifications => meilleure sécurité présentation à la DCSSI et au Java Card Forum Perspective : établir une formalisation Nouvelles vulnérabilités : batterie de tests d'attaques Perspective : Approfondir la construction d'un dictionnaire au sein de XLIM (Université de Limoges) JCGrid : utilisation de la Java Card pour sécuriser un système plus large Perspective : passage à l'échelle et utilisation dans le cadre de la mobilité (LaBRI XLIM) 75
76 76
77 Pare-feu Objectif : Isoler les applets et les différents objets créés au sein d espaces appelé contextes. Le contexte du JCRE possède des privilèges spéciaux. Espace du système Contexte du JCRE Contexte 1 Contexte 2 Applet A Applet C Applet B Applet D Paquetage X Paquetage Y Espace des applets 77
78 Objets transients Un objet transient est un objet dont le contenu est temporaire : l'entête persiste et l'espace alloué au contenu également. entête contenu des champs Un objet transient est associé à un événement dont l'occurrence déclenche la réinitialisation de ses champs. Les seuls objets transients sont les tableaux de types simples. Quelques caractéristiques : il a été créé par maketransientbooleanarray (et consoeurs de la classe JCSystem) ; il est réinitialisé lors de l'occurence d'un événement. 78
79 Comparatif des 2 solutions par rapport à Java Propriété Java Java Card sans PP Java Card avec PP Sémantique pour les variables d'instance cohérent avec lui même cohérent mais persistant cohérent mais persistant Sémantique pour les variables locales cohérent avec lui même incohérent avec Java cohérent avec Java Inaccessibilité des objets aucune grâce au ramasse-miette oui non sauf si le programmeur le désire! Il y a un mécanisme de ramasse-miette naturelle de la RAM 79
80 Pré-persistance Notre contribution : L'introduction du concept de pré-persistance : obtention de la sémantique originelle de Java Une clarification des spécifications concernant le TAS (définition, contenu, localisation). 4 modèles mémoires aux propriétés très différentes : fonctionnalités, sémantique et sécurité! Perspectives : Formalisation à l'aide d'une sémantique opérationnelle des interactions entre objets : persistants transients pré-persistants visualisation de la contamination lors de l'affectation d'un objet transient ou pré-persistant à un champ d'un objet persistant! But final : Proposer au Java Card Forum une modification des spécifications. Présentation à la DCSSI. 80
81 Le principe du découpage Inspiré de l'algorithme de Peter Alfeld discrepancy() calculateall() Pixel already computed in a previous step Pixel to compute on this step Pixel not concerned by the computation on this step 81
82 Quelques problèmes des grilles de calculs Pour le distributeur d'application : Intégrité de l'exécution de l'application Solutions classiques : Recalcul des résultats (faux positifs et faux négatifs) Hypothèse de confiance Notre solution : la carte à puce car elle est prévue pour résister à l'injection de fautes Sécurité des communications Solution classique : PKI (problème : les clés privées sont rarement stockées de façon sécurisée) Notre solution : la carte à puce, le coffre-fort logique le plus sûr existant 82
83 FBI - Air France Situation internationale : Suite aux attentats du 11 septembre 2001, le FBI veut accéder aux fichiers des compagnies aériennes. En Europe, des directives européennes renforcent la confidentialité des informations sur les passagers. => Problème! Application de data-mining Jeu de données à analyser Les contraintes : Les données ou une partie d'entre elles doivent rester confidentielles (données d'air France) Le code manipulant les données doit rester confidentiel (code du FBI) 83
84 Partenaires Sponsors IBM Secure Systems Supports Contacts 84
La technologie Java Card TM
Présentation interne au CESTI La technologie Java Card TM [email protected] http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages
La carte à puce. Jean-Philippe Babau
La carte à puce Jean-Philippe Babau Département Informatique INSA Lyon Certains éléments de cette présentation sont issus de documents Gemplus Research Group 1 Introduction Carte à puce de plus en plus
Projet de Veille Technologique
Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines ([email protected]) Dr. MAHMOUDI Ramzi ([email protected]) TEST Sommaire Programmation JavaCard Les prérequis...
Annexe : La Programmation Informatique
GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de
Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java
1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit
Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique
Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation
WEA Un Gérant d'objets Persistants pour des environnements distribués
Thèse de Doctorat de l'université P & M Curie WEA Un Gérant d'objets Persistants pour des environnements distribués Didier Donsez Université Pierre et Marie Curie Paris VI Laboratoire de Méthodologie et
Vérification formelle de la plate-forme Java Card
Vérification formelle de la plate-forme Java Card Thèse de doctorat Guillaume Dufay INRIA Sophia Antipolis Cartes à puce intelligentes Java Card : Environnement de programmation dédié. Dernières générations
Perspectives d'utilisation du serveur web embarqué dans la carte à puce Java Card 3
MajecSTIC 2010 Bordeaux, France, du 13 au 15 octobre 2010 Perspectives d'utilisation du serveur web embarqué dans la carte à puce Java Card 3 Nassima KAMEL, Jean louis LANET, Julien Igouchi CARTIGNY, Matthieu
Conservation des documents numériques
Conservation des documents numériques Qu'est ce qu'un document numérique? Matthieu GIOUX [email protected] Contexte de la préservation des documents numériques Une croissance en expansion Développement
Évaluation de l injection de code malicieux dans une Java Card
Évaluation de l injection de code malicieux dans une Java Card Julien Iguchi-Cartigny, Jean-Louis Lanet {julien.cartigny,jean-louis.lanet}(@)unilim.fr XLIM/DMI/SSD 83 rue d Isle 87000 Limoges Résumé Nous
as Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Programmation d'applications sur PDA
Programmation d'applications sur PDA l'exemple de Waba Paul Guyot - ECE - Systèmes Embarqués (14/12/01) 1 Introduction 2 Introduction Généralisation des PDAs Utilisation spécifique des PDAs Projet originel
Java - la plateforme
Java - la plateforme Java la plateforme Java? VM GC JIT Java Aujourd'hui 3 environnements d'exécutions différents Java ME (Micro Edition) pour PDA, téléphone Android (Java SE moins certain paquetages)
Linux embarqué: une alternative à Windows CE?
embarqué: une alternative à Windows CE? : une alternative à Windows CE Présentation Mangrove Systems Distribution embarqué Perspective WinCe / Questions Mangrove systems Créé en 2001 Soutien Soutien Ministère
Vulgarisation Java EE Java EE, c est quoi?
Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards
Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.
2013 Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D. Table des matières 1 Introduction (Historique / définition)... 3 2 But de la virtualisation... 4 3 Théorie : bases et typologie des solutions techniques...
Les principes de la sécurité
Les principes de la sécurité Critères fondamentaux Master 2 Professionnel Informatique 1 Introduction La sécurité informatique est un domaine vaste qui peut appréhender dans plusieurs domaines Les systèmes
Adonya Sarl Organisme de Formation Professionnelle 75 Avenue Niel 75017 PARIS, France
Powered by TCPDF (www.tcpdf.org) WINDOWS 7 Windows 7 PLANIFIER LES DÉPLOIEMENTS ET ADMINISTRER LES ENVIRONNEMENTS MICROSOFT WINDOWS 7 Réf: MS10223 Durée : 5 jours (7 heures) OBJECTIFS DE LA FORMATION -
PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN
PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,
Structure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
OWASP Open Web Application Security Project. Jean-Marc Robert Génie logiciel et des TI
OWASP Open Web Application Security Project Jean-Marc Robert Génie logiciel et des TI A1: Injection Une faille d'injection, telle l'injection SQL, OS et LDAP, se produit quand une donnée non fiable est
Symantec Protection Suite Enterprise Edition Protection éprouvée pour les terminaux, la messagerie et les environnements Web
Fiche technique: Sécurité des terminaux Protection éprouvée pour les terminaux, la messagerie et les environnements Web Présentation permet de créer un environnement (terminaux, messagerie et Web) protégé
CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES. Jean GASSINO, Jean-Yves HENRY. Rapport IPSN/Département d'évaluation de sûreté N 280
FR9704668 PC CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES Jean GASSINO, Jean-Yves HENRY eci Rapport IPSN/Département d'évaluation de sûreté N 280 Octobre 1996 INSTITUT DE PROTECTION
Machines virtuelles. Brique ASC. Samuel Tardieu [email protected]. Samuel Tardieu (ENST) Machines virtuelles 1 / 40
Machines virtuelles Brique ASC Samuel Tardieu [email protected] École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles La compilation peut
CAHIER DES CHARGES D IMPLANTATION
CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création
Une tasse de café fumante est
INFORMATIQUE La technologie Java est prête à embarquer Java est une technologie de programmation puissante et fiable. Elle est omniprésente sur Internet, dans la téléphonie mobile et sur la plupart des
Sessions en ligne - QuestionPoint
Sessions en ligne - QuestionPoint Configuration du navigateur Internet Explorer Dernière mise à jour : 12 mai 2012 Vous trouverez dans ce guide les procédures pour configurer votre navigateur Internet
Club Utilisateurs 2 ème Réunion, 8 Octobre 2014 International RFID Congress, Marseille. Diffusion Restreinte
Club Utilisateurs 2 ème Réunion, 8 Octobre 2014 International RFID Congress, Marseille 1 2 ème Réunion du Club Utilisateurs GINTAO AGENDA 9:00 Accueil 9:30 Présentation du projet GINTAO 10:00 Présentation
Projet : PcAnywhere et Le contrôle à distance.
Projet : PcAnywhere et Le contrôle à distance. PAGE : 1 SOMMAIRE I)Introduction 3 II) Qu'est ce que le contrôle distant? 4 A.Définition... 4 B. Caractéristiques.4 III) A quoi sert le contrôle distant?.5
Un nouveau modèle d'identité NFC compatible avec l'écosystème mobile, et cas d'usage
Un nouveau modèle d'identité NFC compatible avec l'écosystème mobile, et cas d'usage Pascal Urien Télécom ParisTech Co-Fondateur de la société EtherTrust 1/28 Agenda L écosystème NFC Un système d identité
Perso. SmartCard. Mail distribution. Annuaire LDAP. SmartCard Distribution OCSP. Codes mobiles ActivX Applet. CRLs
HASH LOGIC s e c u r i t y s o l u t i o n s Version 1.0 de Janvier 2007 PKI Server Une solution simple, performante et économique Les projets ayant besoin d'une infrastructure PKI sont souvent freinés
Cours Bases de données
Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine [email protected] Transparents Disponibles
CommandCenter Secure Gateway
CommandCenter Secure Gateway La solution de gestion Raritan, CommandCenter Secure Gateway, offre aux services informatiques l accès intégré, sécurisé et simplifié, ainsi que le contrôle pour toutes les
Chapitre I Notions de base et outils de travail
Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement
IBM Tivoli Compliance Insight Manager
Simplifier les audits sur la sécurité et surveiller les activités des utilisateurs privilégiés au moyen d un tableau de bord permettant de contrôler la conformité aux exigences de sécurité IBM Points forts
Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués
International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 7, Issue 5 (June 2013), PP.99-103 Solution A La Gestion Des Objets Java Pour Des
Documentation de produit SAP Cloud for Customer (novembre 2013) Nouveautés de SAP Cloud for Customer pour les administrateurs
Documentation de produit PUBLIC de SAP Cloud for Customer pour les administrateurs Table des matières 1 de SAP Cloud for Customer pour les administrateurs.... 4 Table des matières P U B L I C 2011, 2012,
Éléments de programmation et introduction à Java
Éléments de programmation et introduction à Java Jean-Baptiste Vioix ([email protected]) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20 Les différents langages informatiques
Chapitre 1 : Introduction aux bases de données
Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données
1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :
GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours
AGENT LÉGER OU SANS AGENT. Guide des fonctionnalités Kaspersky Security for Virtualization
AGENT LÉGER OU SANS AGENT Guide des fonctionnalités Kaspersky Security for Virtualization Avec la généralisation de la virtualisation, le besoin de solutions de sécurité est une évidence. Bien qu'ils soient
THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs
Architecture Matérielle des Systèmes Informatiques. S1 BTS Informatique de Gestion 1 ère année THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT Dossier 1 L environnement informatique. Objectifs Enumérer et
Initiation aux bases de données (SGBD) Walter RUDAMETKIN
Initiation aux bases de données (SGBD) Walter RUDAMETKIN Bureau F011 [email protected] Moi Je suis étranger J'ai un accent Je me trompe beaucoup en français (et en info, et en math, et...)
Citrix XenApp 7.5 Concepts et mise en oeuvre de la virtualisation d'applications
Virtualisation, enjeux et concepts 1. Définition et vue d'ensemble 15 1.1 Terminologie et concepts 16 1.2 Bénéfices 17 1.3 Technologies et solutions de virtualisation 19 1.3.1 Introduction 19 1.3.2 Virtualisation
Windows Azure Platform Développez, déployez et administrez pour le Cloud Microsoft
Avant-propos 1. Pourquoi ce livre? 11 2. À qui s adresse cet ouvrage? 12 3. Structure de l ouvrage 12 4. Remerciements 13 Le Cloud 1. Introduction 15 2. Présentation du concept 15 2.1 Historique de l'hébergement
CH.3 SYSTÈMES D'EXPLOITATION
CH.3 SYSTÈMES D'EXPLOITATION 3.1 Un historique 3.2 Une vue générale 3.3 Les principaux aspects Info S4 ch3 1 3.1 Un historique Quatre générations. Préhistoire 1944 1950 ENIAC (1944) militaire : 20000 tubes,
Mobilité, quand tout ordinateur peut devenir cheval de Troie
Mobilité, quand tout ordinateur peut devenir cheval de Troie SSTIC 2004, 2-4 juin, Rennes Cédric Blancher Arche, Groupe Omnetica MISC Magazine Agenda 1)Introduction : le concept
Leçon 1 : Les principaux composants d un ordinateur
Chapitre 2 Architecture d un ordinateur Leçon 1 : Les principaux composants d un ordinateur Les objectifs : o Identifier les principaux composants d un micro-ordinateur. o Connaître les caractéristiques
Présentation du module Base de données spatio-temporelles
Présentation du module Base de données spatio-temporelles S. Lèbre [email protected] Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes
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
Initiation à JAVA et à la programmation objet. [email protected]
Initiation à JAVA et à la programmation objet [email protected] O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation
Chapitre 2 : Abstraction et Virtualisation
Virtualisation et Cloud Computing Chapitre 2 : Abstraction et Virtualisation Objectifs Présenter la notion de niveaux d abstraction séparés par des interfaces bien définies Description des avantages et
Les rootkits navigateurs
Sogeti/ESEC Les rootkits navigateurs 1/52 Les rootkits navigateurs Christophe Devaux - [email protected] Julien Lenoir - [email protected] Sogeti ESEC Sogeti/ESEC Les rootkits navigateurs
4. Utilisation d un SGBD : le langage SQL. 5. Normalisation
Base de données S. Lèbre [email protected] Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :
Vérification formelle de la plate-forme Java Card
UNIVERSITÉ DE NICE - SOPHIA ANTIPOLIS École Doctorale STIC UFR Sciences THÈSE pour obtenir le titre de Docteur en Sciences de l Université de Nice - Sophia Antipolis Spécialité : Informatique présentée
Formation : WEbMaster
Formation : WEbMaster Objectif et Description : Centre Eclipse vous propose une formation complète WebMaster, vous permettant de : Utiliser dès maintenant les nouveautés du web2, ainsi alléger les besoins
État Réalisé En cours Planifié
1) Disposer d'une cartographie précise de l installation informatique et la maintenir à jour. 1.1) Établir la liste des briques matérielles et logicielles utilisées. 1.2) Établir un schéma d'architecture
TD/TP 1 Introduction au SDK d Android
TD/TP 1 Introduction au SDK d Android Romain Raveaux 1 Introduction Android est un système d'exploitation pour téléphone portable de nouvelle génération développé par Google. Celui-ci met à disposition
Rapport de certification
Rapport de certification NetApp Data ONTAP v8.1.1 7-Mode Préparé par : le Centre de la sécurité des télécommunications Canada à titre d organisme de certification dans le cadre du Schéma canadien d évaluation
DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova
DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,
Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière
Certificat Informatique et internet Niveau 1 Filière TD D1 Domaine 1 : Travailler dans un environnement numérique évolutif Nom N étudiant 1. Généralités : 1.1. Un ordinateur utilise des logiciels (aussi
Projet Active Object
Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques
Éléments d'architecture des ordinateurs
Chapitre 1 Éléments d'architecture des ordinateurs Machines take me by surprise with great frequency. Alan Turing 1.1 Le Hardware Avant d'attaquer la programmation, il est bon d'avoir quelques connaissances
Sécurité des applications Retour d'expérience
HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Netfocus Sécurité des applications Retour d'expérience Nicolas Collignon
Cours 3 : L'ordinateur
Cours 3 : L'ordinateur Abdelkrim Zehioua 2éme année Licence Gestion Faculté des sciences Économiques et sciences de Gestion Université A, Mehri - Constantine 2 Plan du cours 1.Définitions de l'ordinateur
Concept Compumatica Secure Mobile
LivreBlanc Concept Compumatica Secure Mobile La solution voix et SMS sécurisés pour les organisations et Compumatica secure networks 2014 Compumatica secure networks www.compumatica.com La solution voix
La sécurité informatique d'un centre d imagerie médicale Les conseils de la CNIL. Dr Hervé LECLET. Santopta
La sécurité informatique d'un centre d imagerie médicale Les conseils de la CNIL Dr Hervé LECLET Tous les centres d'imagerie médicale doivent assurer la sécurité informatique de leur système d'information
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
Partie 7 : Gestion de la mémoire
INF3600+INF2610 Automne 2006 Partie 7 : Gestion de la mémoire Exercice 1 : Considérez un système disposant de 16 MO de mémoire physique réservée aux processus utilisateur. La mémoire est composée de cases
Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données
EARTH et Threaded-C: Éléments clés du manuel de références de Threaded-C Bref historique de EARTH et Threaded-C Ancêtres de l architecture EARTH: Slide 1 Machine à flux de données statique de J.B. Dennis
NOMENCLATURE. PARTIE 1 : PRODUITS, MATERIAUX et EQUIPEMENTS
NOMENCLATURE PARTIE 1 : PRODUITS, MATERIAUX et EQUIPEMENTS 0100 Equipements de production et de personnalisation 0101 Machines de fabrication, impression et finition de cartes 0102 Machines d emballage
Mini-Rapport d Audit basé sur la méthode d analyse MEHARI
Projet Réseau Sécurité Mini-Rapport d Audit basé sur la méthode d analyse MEHARI Equipe Analyse 15/12/07 Sommaire II/ Présentation de la méthode MEHARI...4 III/ Définition et classification des éléments
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
Intervenants. Thomas d'erceville Project Manager. Christian NGUYEN Practice Manager IT Quality
Intervenants Thomas d'erceville Project Manager Christian NGUYEN Practice Manager IT Quality 2 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels 1. Contexte général des tests mobiles
Christophe Pagezy Directeur Général [email protected] Mob: 06 2101 6218
Christophe Pagezy Directeur Général [email protected] Mob: 06 2101 6218 77, avenue Niel, 75017 Paris, France Prove & Run - CONFIDENTIEL 1 La sécurité des objets connectés : problématiques
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
Le Network File System de Sun (NFS)
1 sur 5 Le Network File System de Sun (NFS) Le Network File System de Sun (NFS) Architecture Protocoles Mounting Automounting vs Static mounting Directory et accès aux fichiers Problèmes Implémentation
Cyberclasse L'interface web pas à pas
Cyberclasse L'interface web pas à pas Version 1.4.18 Janvier 2008 Remarque préliminaire : les fonctionnalités décrites dans ce guide sont celles testées dans les écoles pilotes du projet Cyberclasse; il
OmniVista 2700 Application complémentaires pour l OmniVista 2500 Network Management
OmniVista 2700 Application complémentaires pour l OmniVista 2500 Network Management OmniVista 2730 PolicyView Alcatel-Lucent OmniVista 2730 PolicyView avec OneTouch QoS simplifie la tâche complexe de configurer
VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.
VMware ESX/ESXi 1. Les composants d ESX VMware ESX4 est le cœur de l infrastructure vsphere 4. C est un hyperviseur, c est à dire une couche de virtualisation qui permet de faire tourner plusieurs systèmes
Notion de base de données
Notion de base de données Collection de données opérationnelles enregistrées sur un support adressable et utilisées par les systèmes et les applications Les données doivent être structurées indépendamment
Can we trust smartphones?
Can we trust smartphones? [email protected] - 03/10/2012 Synthèse Concernant la sécurité la plupart des solutions ne sont pas matures. La combinaison de solutions de sécurité peut permettre d atteindre
Symantec Network Access Control
Symantec Network Access Control Conformité totale des terminaux Présentation est une solution de contrôle d'accès complète et globale qui permet de contrôler de manière efficace et sûre l'accès aux réseaux
Rapport de certification ANSSI-CSPN-2010/07. KeePass Version 2.10 Portable
PREM IE R M IN IS T R E Secrétariat général de la défense et de la sécurité nationale Agence nationale de la sécurité des systèmes d information Rapport de certification ANSSI-CSPN-2010/07 KeePass Version
1 JBoss Entreprise Middleware
1 JBoss Entreprise Middleware Les produits de la gamme JBoss Entreprise Middleware forment une suite de logiciels open source permettant de construire, déployer, intégrer, gérer et présenter des applications
MATRICE DES FONCTIONNALITES
Facilité d utilisation Nouveau! Convivialité d Outlook Nouveau! Smart Technician Client Assistant Installation Configuration instantanée et personnalisable Nouveau! Installation à distance de Technician
Matériel & Logiciels (Hardware & Software)
CHAPITRE 2 HARDWARE & SOFTWARE P. 1 Chapitre 2 Matériel & Logiciels (Hardware & Software) 2.1 Matériel (Hardware) 2.1.1 Présentation de l'ordinateur Un ordinateur est un ensemble de circuits électronique
Machines virtuelles Cours 1 : Introduction
Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 [email protected] PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une
FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères
FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant
Meilleures pratiques de l authentification:
Meilleures pratiques de l authentification: mettre le contrôle à sa place LIVRE BLANC Avantages d un environnement d authentification totalement fiable : Permet au client de créer son propre token de données
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
24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.
Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa ([email protected]), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime
Diagrammes de Package, de déploiement et de composants UML
labsticc.univ-brest.fr/pages_perso/babau/ Diagrammes de Package, de déploiement et de composants UML Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Plan Description
Assises de l Embarqué Projet ITEA2 Smart-Urban Spaces 28 Octobre 2013. Serge Chaumette, LaBRI, U. Bordeaux Jean-Pierre Tual, Gemalto
Assises de l Embarqué Projet ITEA2 Smart-Urban Spaces 28 Octobre 2013 Serge Chaumette, LaBRI, U. Bordeaux Jean-Pierre Tual, Gemalto Objectifs et résultats Fournir un ensemble cohérent de composants logiciels
Les modules SI5 et PPE2
Les modules SI5 et PPE2 Description de la ressource Propriétés Intitulé long Formation concernée Matière Présentation Les modules SI5 et PPE2 BTS SIO SI5 PPE2 Description Ce document présente une approche
