Support matériel, logiciel et cryptographique pour une exécution sécurisée de processus

Documents pareils
Les crypto-processeurs et l informatique de confiance. Guillaume Duc Encadrant : Ronan Keryell

Cryptoprocesseurs et virtualisation

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Sécurité des réseaux IPSec

Manuel d'installation de GESLAB Client Lourd

Diagrammes de Package, de déploiement et de composants UML

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Architecture distribuée

Communications performantes par passage de message entre machines virtuelles co-hébergées

Introduction à la sécurité Cours 8 Infrastructure de clés publiques. Catalin Dima

Devoir Surveillé de Sécurité des Réseaux

ECTS CM TD TP. 1er semestre (S3)

Rapport d activité. Mathieu Souchaud Juin 2007

Sanity Check. bgcolor mgcolor fgcolor

Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D.

Systèmes d exploitation

Curriculum Vitae 1 er février 2008

DÉCLARATION ET DEMANDE D'AUTORISATION D OPÉRATIONS RELATIVES A UN MOYEN DE CRYPTOLOGIE

Système de Gestion de Fichiers

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Mise en place Active Directory / DHCP / DNS

Compression de Données - Algorithme de Huffman Document de Conception

Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation

Les fonctions de hachage, un domaine à la mode

SSL ET IPSEC. Licence Pro ATC Amel Guetat

//////////////////////////////////////////////////////////////////// Administration systèmes et réseaux

Alexandre Buge Epitech 5 Promo Soutenance de stage du 01/03/2004 au 31/08/2004

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

La renaissance de la PKI L état de l art en 2006

Rappels d architecture

Auditer une infrastructure Microsoft

BC9000-BK9000. Paramétrage et configuration de l adresse IP

WEA Un Gérant d'objets Persistants pour des environnements distribués

La haute disponibilité

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Chapitre 1 Windows Server

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE

Sécuristation du Cloud

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Concept de machine virtuelle

Projet de Veille Technologique

Intégration de la cybersécurité aux systèmes de conduite industriels. Méthodes et pratiques

Druais Cédric École Polytechnique de Montréal. Résumé

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Réalisation d un OS 32 bits pour PC(x86)

MEAD : temps réel et tolérance aux pannes pour CORBA

Master (filière Réseau) Parcours Recherche: Systèmes Informatiques et Réseaux (RTS)

Sécurité & Authentification. Sécurité Authentification utilisateur Authentification applicative

Sécurité et sûreté des systèmes embarqués et mobiles

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :

Rapport de stage Stage de fin d études IUT Réseaux et Télécommunications

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Sécurité des systèmes informatiques Introduction

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

DATE D'APPLICATION Octobre 2008

ISFA INSTITUT DE SCIENCE FINANCIÈRE ET D ASSURANCES GRANDE ÉCOLE D ACTUARIAT ET DE GESTION DES RISQUES

INGENIERIE DES SYSTEMES INFORMATIQUES - PARCOURS : MOBILITE ET CLOUD COMPUTING

Formateurs : Jackie DAÖN Franck DUBOIS Médiapôle de Guyancourt

Machines virtuelles Cours 1 : Introduction

Documentation technique

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Architecture d un service de partage de données modifiables sur une infrastructure pair-à-pair

Rapport de certification ANSSI-CSPN-2010/07. KeePass Version 2.10 Portable

Initiation au HPC - Généralités

Limitations of the Playstation 3 for High Performance Cluster Computing

Eric Bertrand 08/11/06 Maître de conférence 1

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

UN EXEMPLE DE CYBERENSEIGNEMENT EN CHIMIE

Le Network File System de Sun (NFS)

Master d'informatique. Réseaux. Supervision réseaux

Compilation (INF 564)

Technicien Supérieur de Support en Informatique

Introduction à l informatique en BCPST

PUBLIC KEY INFRASTRUCTURE. Rappels PKI PKI des Impôts PKI de la Carte de Professionnel de Santé

L'AUDIT DES SYSTEMES D'INFORMATION

Gestion des Clés Publiques (PKI)

FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE

LICENCE : INFORMATIQUE GENERALE

PHP. Performances. Audit et optimisation LAMP. Julien Pauli. Cyril Pierre de Geyer. Guillaume Plessis. Préface d Armel Fauveau

Windows XP niveau 2. D. Hourquin, Médiapôle St Ouen l'aumône

Composant cryptographique TPM Retours d expériences et perspectives

NOTIONS DE RESEAUX INFORMATIQUES

Programme "Conception et simulation" COSINUS Edition Projet

Initiation à la sécurité

Présentation du Serveur SME 6000

Ce TP consiste à installer, configurer et tester un serveur DNS sous Linux. Serveur open source : bind9 Distribution : Mandriva

Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A. TP réseau firewall

Virtualisation & Sécurité

FORMATIONS

GESTION DE LA MEMOIRE

Approche Contract First

Mesure et modélisation de l énergie logicielle

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

Transcription:

Support matériel, logiciel et cryptographique pour une exécution sécurisée de processus Journée des doctorants en architecture et compilation 29 septembre 2004 Guillaume Duc <guillaume.duc@enst-bretagne.fr> Guillaume Duc <guillaume.duc@enst-bretagne.fr> 1

Plan Introduction Confidentialité Intégrité Conclusion Guillaume Duc <guillaume.duc@enst-bretagne.fr> 2

Introduction Problématique : Sécurité Informatique Nombreuses solutions au niveau logiciel : Protocoles (IPsec, Kerberos...) Algorithmes (cryptographie...) Applications (DRM...) Mais support matériel d'exécution non sécurisé Attaques matérielles : contre les bus, la mémoire ou même le processeur... Attaques logicielle : OS compromis ou admin Guillaume Duc <guillaume.duc@enst-bretagne.fr> 3

Introduction Objectif de la thèse : Concevoir une plateforme informatique sécurisée résistant à des attaques aussi bien logicielles que matérielles. Travaux précédents : Architecture CryptoPage (Ronan Keryell et Cédric Lauradoux [1,2]) Stage de DEA (mars-juin 2004 [3]) Guillaume Duc <guillaume.duc@enst-bretagne.fr> 4

Introduction Notion de processus sécurisé : Intégrité : Si le processus se termine correctement, le résultat de ce dernier est fiable (non altération du code ou des données avant et pendant son exécution) Confidentialité : Un attaquant doit pouvoir récupérer le moins d'informations possible (code, données, etc.) sur le processus Tout ce qui est à l'extérieur du processeur est considéré comme non sûr Guillaume Duc <guillaume.duc@enst-bretagne.fr> 5

Architecture CryptoPage Guillaume Duc <guillaume.duc@enst-bretagne.fr> 6

Plan Introduction Confidentialité Intégrité Conclusion Guillaume Duc <guillaume.duc@enst-bretagne.fr> 7

Confidentialité Chiffrement des instructions et des données d'un processus Chiffrement d'une ligne de cache lors de son écriture en mémoire et déchiffrement lors de sa lecture depuis la mémoire Deux clés symétriques (données et instructions) par processus. Elles sont stockées dans un descripteur matériel chiffré à l'aide de la clé publique du processeur Guillaume Duc <guillaume.duc@enst-bretagne.fr> 8

Exécution d'un processus chiffré Moments cruciaux : Chargement du processus Changements de contexte (Interruption / Retour d'interruption) Exemples sur une architecture Intel x86 Guillaume Duc <guillaume.duc@enst-bretagne.fr> 9

Initialisation d'un processus Contexte matériel chiffré avec la clé publique du processeur contenant : les clés du processus (données + instructions) l'adresse de la première instruction chiffrée Code de bootstrap non chiffré lançant l'instruction spéciale de chargement du contexte chiffré Code de bootstrap chiffré (chiffrement de la pile, initialisation de la zone bss à zéro, etc.) Guillaume Duc <guillaume.duc@enst-bretagne.fr> 10

Interruptions Modifications à apporter à la procédure d'interruption classique : Invalidation du cache (optimisation possible) Sauvegarde du contexte matériel signé et chiffré en mémoire (optimisation : effectuer cette opération uniquement en cas de besoin et sinon le laisser dans une zone tampon) Effacement des registres et sauvegarde de valeurs quelconques pour ss, esp, eflags, cs et eip dans la pile Guillaume Duc <guillaume.duc@enst-bretagne.fr> 11

Retour d'interruption Si réactivation d'un processus chiffré : Déchiffrement et vérification du contexte matériel situé dans la pile ou dans la zone tampon du processeur Restauration du contexte matériel complet sans tenir compte des valeurs des quelques registres stockés en pile lors de l'interruption (ss, esp, eflags, cs et eip) Guillaume Duc <guillaume.duc@enst-bretagne.fr> 12

Problèmes Appels systèmes Arguments et valeur de retour stockés dans les registres du processeur Solution : Laisser la responsabilité de l'effacement des registres au programmeur (ou à la libc) en cas d'interruption logicielle Signaux Nécessité de modifier le contexte matériel Solution : Le programme fourni lui même les contextes matériels pour les signaux voulus Guillaume Duc <guillaume.duc@enst-bretagne.fr> 13

Plan Introduction Confidentialité Intégrité Conclusion Guillaume Duc <guillaume.duc@enst-bretagne.fr> 14

Intégrité de la mémoire Garantir l'intégrité des données stockées en mémoire : la valeur lue à une adresse en mémoire doit être identique à celle écrite en dernier à cette même adresse par le processeur La lutte contre le rejeu implique une vérification globale de la mémoire Solution actuelle : hachage global hiérarchique de la mémoire à l'aide d'arbres de Merkle Guillaume Duc <guillaume.duc@enst-bretagne.fr> 15

Intégrité de la mémoire Arbres de Merkle Chaque nœud contient un résumé cryptographique du contenu de ses fils Racine de l'arbre stockée en mémoire sécurisée dans le processeur Algorithmes de lecture et d'écriture (optimisés en utilisant le cache) f(y1,y2) y1=f(x1,x2) y2=f(x3,x4) x1 x2 x3 x4 Guillaume Duc <guillaume.duc@enst-bretagne.fr> 16

Plan Introduction Confidentialité Intégrité Conclusion Guillaume Duc <guillaume.duc@enst-bretagne.fr> 17

Conclusion Applications possibles : Grilles de calcul DRM Vote en ligne Résultats actuels : Implémentation de la partie confidentialité dans le modèle de processeur de Bochs (simulateur de PC libre) Une version du noyau Linux spécialisée faisant tourner des processus chiffrés Guillaume Duc <guillaume.duc@enst-bretagne.fr> 18

CryptoPage : Références [1] Ronan Keryell. CryptoPage 1 : vers la fin du piratage informatique? In Symposium d'architecture (SympA'6), pages 35-44, Juin 2000. [2] Cédric Lauradoux et Ronan Keryell. CryptoPage-2 : un processeur sécurisé contre le rejeu. In Symposium en Architecture et Adéquation Algorithmique et Architecture (SympAAA'2003), pages 314-321, Octobre 2003. [3] Guillaume Duc. CryptoPage: An architecture to run secure processes. Rapport de DEA. Juin 2004. http://www.lit.enstb.org/~gduc/dea Autres : [4] G. Edward Suh, Dwaine Clarke, Blaise Gassend, Marten van Dijk, and Srinivas Devadas. AEGIS: Architecture for Tamper-Evident and Tamper- Resistant Processing. In Proceedings of the 17th Annual ACM International Conference on Supercomputing, Mars 2003. http://www.mit.edu/people/gassend/publications/aegis.pdf Guillaume Duc <guillaume.duc@enst-bretagne.fr> 19

Des questions? Guillaume Duc <guillaume.duc@enst-bretagne.fr> 20