Architecture de sécurité dynamique pour systèmes multiprocesseurs intégrés sur puce Joël Porquet Présenté par Franck Wajsbürt Université Pierre et Marie Curie - Paris VI 30 mai 2012
Introduction Résultat de la thèse de Joël Porquet Thèse CIFRE soutenue le 13 décembre 2010 Partenariat entre : Université Pierre et Marie Curie, - Laboratoire d'informatique de Paris 6, - Département Systèmes sur Puce STMicroelectronics, - Division Advanced System Technology, - Équipe Security Roadmap Encadrement : Directeur de thèse : Prof. Alain Greiner Encadrant industriel : Christian Schwarz Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 2 / 41
Introduction Plan 1 Problématique 2 État de l'art 3 Approche multi-compartiment 4 Plateforme d'évaluation et résultats expérimentaux 5 Conclusion Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 3 / 41
Problématique Plan 1 Problématique 2 État de l'art 3 Approche multi-compartiment 4 Plateforme d'évaluation et résultats expérimentaux 5 Conclusion Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 4 / 41
Problématique Systèmes embarqués orientés multimédia Set-top box (STB) Smartphone Double enjeu Sécurité Flexibilité Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 5 / 41
Problématique Systèmes embarqués orientés multimédia Sous-systèmes logiciels autonomes Interface utilisateur Sous-systèmes sécurisés : STB : Accès Conditionnel (CA), Magnétoscope, etc. Smartphone : Accès réseau (Baseband ), etc. Piles logicielles hétérogènes : Applications utilisateur, Systèmes d'exploitations spécialisés (RT-OS), Systèmes d'exploitations généralistes (GP-OS), etc. Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 6 / 41
Problématique Systèmes embarqués orientés multimédia Sous-systèmes logiciels autonomes Interface utilisateur Sous-systèmes sécurisés : STB : Accès Conditionnel (CA), Magnétoscope, etc. Smartphone : Accès réseau (Baseband ), etc. Piles logicielles hétérogènes : Applications utilisateur, Systèmes d'exploitations spécialisés (RT-OS), Systèmes d'exploitations généralistes (GP-OS), etc. Plateforme matérielle complexe Système multiprocesseur intégré sur puce (MP-SoC) Multiprocesseur hétérogène Espace d'adressage partagé Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 6 / 41
Problématique Plateforme matérielle de référence Multiprocesseur hétérogène Périphérique(s) à capacité DMA (Direct Memory Access) Espace d'adressage partagé Processeur Processeur Processeur (généraliste) (simple) (spécialisé) Réseau d interconnexion MP SoC DMA Mémoire Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 7 / 41
Problématique Co-hébergement App App App App GP OS RT OS Pile dédiée Processeur Processeur Processeur Réseau d interconnexion DMA Mémoire Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 8 / 41
Problématique Co-hébergement : isolation par mémoire virtuelle MMU utilisateur noyau App GP OS App App RT OS App Pile dédiée Processeur Processeur Processeur Réseau d interconnexion DMA Mémoire Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 9 / 41
Problématique Co-hébergement : isolation par mémoire virtuelle MMU utilisateur noyau App GP OS App App RT OS App Pile dédiée Processeur Processeur Processeur Accès refusé Réseau d interconnexion DMA Mémoire Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 9 / 41
Problématique Co-hébergement : isolation par mémoire virtuelle MMU utilisateur noyau App GP OS App App RT OS App Pile dédiée Processeur Processeur Processeur Réseau d interconnexion Accès autorisé DMA Mémoire Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 9 / 41
Problématique Co-hébergement : isolation par partitionnement statique App App App App GP OS RT OS Pile dédiée Processeur Processeur Processeur Réseau d interconnexion DMA Mémoire Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 10 / 41
Problématique Problématique Co-hébergement sécurisé, exible et dynamique Cohérent avec les aspects MP-SoC Partage de l'espace d'adressage, des périphériques Estimation des coûts Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 11 / 41
État de l'art Plan 1 Problématique 2 État de l'art Virtualisation Architectures sécurisées 3 Approche multi-compartiment 4 Plateforme d'évaluation et résultats expérimentaux 5 Conclusion Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 12 / 41
État de l'art Virtualisation Virtualisation MMU utilisateur noyau App Machine virtuelle OS App App Hyperviseur Hyperviseur Processeur Machine virtuelle OS App Exécution des piles logicielles autonomes dans des environnements virtuels Dans l'embarqué : virtualisation logicielle Ecace pour un co-hébergement sur une base commune Pas adapté pour les plateformes hétérogènes Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 13 / 41
État de l'art Virtualisation ARM TrustZone MMU noyau utilisateur Monde non sécurisé App App App App OS ARM TrustZone Monde sécurisé OS Virtualisation binaire Ne supporte qu'une seule pile logicielle autonome Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 14 / 41
État de l'art Architectures sécurisées Architectures sécurisées Dénition Protection de données intégrée au réseau d'interconnexion Réseau sur puce (NoC) Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 15 / 41
État de l'art Architectures sécurisées Architectures sécurisées Dénition Protection de données intégrée au réseau d'interconnexion Réseau sur puce (NoC) 2006 : µspider, UBS Granularité au niveau composant physique (initiateur et cible) Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 15 / 41
État de l'art Architectures sécurisées Architectures sécurisées Dénition Protection de données intégrée au réseau d'interconnexion Réseau sur puce (NoC) 2006 : µspider, UBS Granularité au niveau composant physique (initiateur et cible) 2007 : DPU (Data Protection Unit), Polimi/STM Segmentation mémoire Granularité au niveau composant physique (initiateur) Avec quelques critères additionnels pour les processeurs (par exemple, distinction des modes d'exécution) Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 15 / 41
État de l'art Architectures sécurisées Architectures sécurisées Dénition Protection de données intégrée au réseau d'interconnexion Réseau sur puce (NoC) 2006 : µspider, UBS Granularité au niveau composant physique (initiateur et cible) 2007 : DPU (Data Protection Unit), Polimi/STM Segmentation mémoire Granularité au niveau composant physique (initiateur) Avec quelques critères additionnels pour les processeurs (par exemple, distinction des modes d'exécution) Manque de exibilité : partage des ressources processeur et mémoire Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 15 / 41
Approche multi-compartiment Plan 1 Problématique 2 État de l'art 3 Approche multi-compartiment 4 Plateforme d'évaluation et résultats expérimentaux 5 Conclusion Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 16 / 41
Approche multi-compartiment Introduction App App App App GP OS RT OS Pile dédiée Processeur Processeur Processeur Réseau d interconnexion DMA Mémoire Co-hébergement sécurisé Compartiment : conteneur sécurisé d'une entité logique Principes : identication et protection Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 17 / 41
Approche multi-compartiment Identication - Propagation dans le réseau Processeur Processeur Processeur CID CID CID Réseau d interconnexion DMA CID Mémoire CID Nouveau signal dans le protocole transactionnel CID : Compartment IDentier Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 18 / 41
Approche multi-compartiment Identication - Processeurs Taille fixe CID = PRÉFIXE SUFFIXE Structuration hiérarchique du CID Préxe : déni par un agent de conance global (GTA, Global Trusted Agent) Suxe : déni par des agents de conance locaux (LTA, Local Trusted Agent) Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 19 / 41
Approche multi-compartiment Identication - Processeur généraliste Processeur Suffixe CID Préfixe CID ADRESSE CID Réseau d interconnexion Compatibilité matérielle au multi-compartiment Préxe : registre externe Suxe : nouveau registre de contrôle interne Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 20 / 41
Approche multi-compartiment Identication - Processeur généraliste Compartiment Compartiment Compartiment Compartiment Compartiment (LTA) Compartiment (LTA) Processeur suffixe Processeur suffixe préfixe #a préfixe #b CID CID Compatibilité logicielle au multi-compartiment Agent de conance local (LTA) Partage du processeur, gestion du registre de suxe du CID Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 21 / 41
Approche multi-compartiment Identication - Processeur généraliste Application Application Compartiment Compartiment LTA = OS Compartiment (LTA) Processeur suffixe Processeur suffixe préfixe préfixe CID CID Compatibilité Système d'exploitation et applications Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 21 / 41
Approche multi-compartiment Identication - Processeur généraliste Compartiment Compartiment Machine virt. Machine virt. Compartiment (LTA) LTA = Hyperviseur Processeur suffixe Processeur suffixe préfixe préfixe CID CID Compatibilité Hyperviseur et machines virtuelles Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 21 / 41
Approche multi-compartiment Identication - Processeur généraliste Compartiment Compartiment Compartiment (LTA) Compartiment (non sécurisé) Compartiment (sécurisé) Processeur suffixe ARM TrustZone NS bit préfixe préfixe CID CID Compatibilité ARM TrustZone Cas particulier de processeur multi-compartiment Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 21 / 41
Approche multi-compartiment Identication - Processeur spécialisé Compartiment Processeur Préfixe CID ADRESSE CID Réseau d interconnexion Compatibilité au multi-compartiment Uniquement un registre externe, conguré par le GTA Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 22 / 41
Approche multi-compartiment Identication - DMA de type mémoire à mémoire Compartiment Processeur Périphérique DMA Réseau d interconnexion Espace d adressage Principe d'héritage du CID Héritage des droits d'accès du compartiment commanditaire Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 23 / 41
Approche multi-compartiment Identication - DMA de type mémoire à mémoire Compartiment Processeur Périphérique DMA CID=x Réseau d interconnexion Espace d adressage Principe d'héritage du CID Héritage des droits d'accès du compartiment commanditaire Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 23 / 41
Approche multi-compartiment Identication - DMA de type mémoire à mémoire Compartiment Processeur Périphérique DMA CID=x CID=x Réseau d interconnexion Espace d adressage Principe d'héritage du CID Héritage des droits d'accès du compartiment commanditaire Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 23 / 41
Approche multi-compartiment Protection - Intégration au réseau Compartiment Processeur Processeur Processeur CID CID CID MPU MPU MPU MPU DMA CID Réseau d interconnexion Mémoire CID Modules matériels : MPU (Memory Protection Unit ) Fonction de pare-feu Table de permission : (adresse,cid) = droits d'accès Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 24 / 41
Approche multi-compartiment Protection - Intégration au réseau MPU Cache Compartiment Processeur Processeur Processeur CID CID CID MPU MPU DMA CID MPU MPU Réseau d interconnexion CID Mémoire Table en mémoire et approche paginée Une table des pages par compartiment MPU : cache et automate de traitement des défauts de cache Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 24 / 41
Approche multi-compartiment Protection - Gestion globale Compartiment LTA Compartiment LTA Compartiment LTA Processeur Processeur Processeur CID CID CID Modules pare feu (MPU) Espace d adressage Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 25 / 41
Approche multi-compartiment Protection - Gestion globale Compartiment LTA Compartiment LTA Compartiment LTA Processeur Processeur Processeur CID CID CID GTA Modules pare feu (MPU) Espace d adressage Rôle de l'agent de conance global (GTA, Global Trusted Agent ) Attribution des identiants de compartiment (CID) Application de la sécurité : dénition des tables des pages Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 25 / 41
Approche multi-compartiment Applications de l'approche Application Système d exploitation Application (LTA + GTA) Processeur Processeur Processeur Unique pile logicielle autonome Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 26 / 41
Approche multi-compartiment Applications de l'approche App App Machine virtuelle Machine virtuelle OS (LTA) Hyperviseur (LTA + GTA) Processeur Processeur Processeur Multiples piles logicielles autonomes Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 26 / 41
Approche multi-compartiment Applications de l'approche App App MV MV OS (LTA) HV (LTA) GTA Processeur Processeur Processeur Paranoïaque : GTA isolé Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 26 / 41
Plateforme d'évaluation et résultats expérimentaux Plan 1 Problématique 2 État de l'art 3 Approche multi-compartiment 4 Plateforme d'évaluation et résultats expérimentaux 5 Conclusion Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 27 / 41
Plateforme d'évaluation et résultats expérimentaux Objectifs Preuve de concept Accent sur la exibilité et la dynamicité Évaluation des coûts Matériels et logiciels Performance et surface matérielle Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 28 / 41
Plateforme d'évaluation et résultats expérimentaux Scénario Noyau Utilisateur Application Application Compartiment Compartiment OS spécialisé Compartiment (LTA+GTA) Processeur CID Processeur CID MPU MPU Réseau d interconnexion Espace d adressage Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 29 / 41
Plateforme d'évaluation et résultats expérimentaux Mise en uvre matérielle SoCLib Environnement de prototypage virtuel en SystemC Propagation du CID Le protocole VCI fournit le champ TRDID Processeur multi-compartiment MIPS32 : modes d'exécution utilisateur/noyau, sans MMU Registre de CID dans un coprocesseur interne Étiquetage des caches processeurs avec le CID MPU Intégration au réseau sur puce DSPIN Localisés dans les interfaces d'accès au réseau, en parallèle avec la traduction de protocole Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 30 / 41
Plateforme d'évaluation et résultats expérimentaux Mise en uvre matérielle SoCLib Environnement de prototypage virtuel en SystemC Propagation du CID Le protocole VCI fournit le champ TRDID Processeur multi-compartiment MIPS32 : modes d'exécution utilisateur/noyau, sans MMU Registre de CID dans un coprocesseur interne Étiquetage des caches processeurs avec le CID MPU Intégration au réseau sur puce DSPIN Localisés dans les interfaces d'accès au réseau, en parallèle avec la traduction de protocole Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 30 / 41
Plateforme d'évaluation et résultats expérimentaux Plateforme matérielle d'expérimentation Grappe Nord XICU timer TTY Interface VCI Interface VCI Local Crossbar NIC MIPS32 MIPS32 MIPS32 MIPS32 MIPS32 MIPS32 Grappe Ouest Local Crossbar NIC MPU Routeur DSPIN NIC MPU Local Crossbar Grappe Est NIC NIC Local Crossbar Composant VCI initiateur Composant VCI cible Composant VCI initiateur/cible Local Crossbar RAM Grappe Sud BD Grappe Local Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 31 / 41
Plateforme d'évaluation et résultats expérimentaux Mise en uvre logicielle MutekH Exo-noyau pour systèmes embarqués Applications utilisateur Interface noyau/utilisateur : libsyscall, libuser Chargement dynamique : libelf Fonctions de LTA Gestion du registre de CID Ordonnancement des compartiments Fonctions de GTA Attribution des identiants, Création et mise à jour des tables de pages de protection : libgta Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 32 / 41
Plateforme d'évaluation et résultats expérimentaux Mise en uvre logicielle MutekH Exo-noyau pour systèmes embarqués Applications utilisateur Interface noyau/utilisateur : libsyscall, libuser Chargement dynamique : libelf Fonctions de LTA Gestion du registre de CID Ordonnancement des compartiments Fonctions de GTA Attribution des identiants, Création et mise à jour des tables de pages de protection : libgta Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 32 / 41
Plateforme d'évaluation et résultats expérimentaux Tests de performance Applications de test orientées multimédia Six compartiments : Codeur et décodeur JPEG Codeur et décodeur XviD Décodeur MP3 Chirement AES Occupation mémoire : De 50 kilooctets à 2 mégaoctets Type d'exécution Exécution sans mécanisme de protection, puis avec, et mesure de la dégradation en performance Plateforme à deux processeurs : commutation tous les 2 millions de cycle (10ms à 200 mégaherzt) et migration possible des compartiments Plateforme à six processeurs : assignation statique des compartiments Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 33 / 41
Plateforme d'évaluation et résultats expérimentaux Coûts en performance - deux processeurs 8 7 cache processeur de 4 KiB Surcoût en performance (%) 6 5 4 3 2 1 0-1 1d 2d 4d 8d 4 8 16 4f 8f Stratégies et tailles des caches de MPU MPU : diérentes stratégies de caches à n-entrées Correspondance direct (1d, 2d, 4d, 8d) ; Associatif par ensemble à 2 voies (4, 8, 16) ; Totalement associatif (4f, 8f) Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 34 / 41
Plateforme d'évaluation et résultats expérimentaux Coûts en performance - six processeurs 80 70 cache processeur de 4 KiB Surcoût en performance (%) 60 50 40 30 20 10 0-10 1d 2d 4d 8d 4 8 16 4f 8f Stratégies et tailles des caches de MPU Montée en charge : trois processeurs attaquent simultanément une MPU Test des mêmes stratégies de caches que précédemment Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 35 / 41
Plateforme d'évaluation et résultats expérimentaux Coûts en surface matérielle Processeur Ajout d'un registre de contrôle Extension de l'interface de sortie Caches processeurs Extension de l'étiquette 2% d'augmentation pour des lignes de caches de 16 mots, avec un CID sur 8 bits. MPU Estimation par comptage des bits mémorisants 3% d'augmentation par rapport à l'infrastructure du réseau sur puce, sur notre plateforme d'expérimentation Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 36 / 41
Conclusion Plan 1 Problématique 2 État de l'art 3 Approche multi-compartiment 4 Plateforme d'évaluation et résultats expérimentaux 5 Conclusion Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 37 / 41
Conclusion Conclusion sur l'approche multi-compartiment Concept Représentation d'entités logiques et protection, au niveau matériel Propriétés Co-hébergement multi-niveaux Cohérent avec les aspects MP-SoC Sécurisé, exible et dynamique À faible coût (mise en uvre, performance et surface) Permet l'accès direct aux périphériques de type DMA Supporte nativement la technologie ARM TrustZone S'intègre de façon transparente dans un réseau sur puce Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 38 / 41
Conclusion Perspectives Poursuite de la validation Inuence de la latence entre les MPU et les tables de pages Scénario plus complexe : Linux, etc. Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 39 / 41
Conclusion Perspectives Poursuite de la validation Inuence de la latence entre les MPU et les tables de pages Scénario plus complexe : Linux, etc. Adaptation à d'autres types de plateforme Intégration dans une plateforme matérielle manycore, en grappes (par exemple, TSAR) Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 39 / 41
Conclusion Perspectives Poursuite de la validation Inuence de la latence entre les MPU et les tables de pages Scénario plus complexe : Linux, etc. Adaptation à d'autres types de plateforme Intégration dans une plateforme matérielle manycore, en grappes (par exemple, TSAR) Virtualisation de l'espace d'adressage Intégration de MMU dans le réseau sur puce (NoC-MMU) Coûts en performance et en surface? Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 39 / 41
Conclusion Publications Conférences internationales Joël Porquet, Christian Schwarz and Alain Greiner. Multi-compartment : a new architecture for secure co-hosting on SoC. In SoC'09 : Proceedings of the 11th International Symposium on System-on-Chip, pages 124127, 2009. Joël Porquet, Christian Schwarz and Alain Greiner. NoC-MPU : a secure architecture for exible co-hosting on shared memory MPSoCs. Accepted at DATE'11 : the Conference on Design, Automation and Test in Europe, 2011. Brevets (Europe et États-Unis) Joël Porquet and Christian Schwarz. Method of routing an interrupt signal directly to a virtual processing unit in a system with one or more physical processing units, 2010. Joël Porquet and Christian Schwarz. Method for enabling several virtual processing units to directly and concurrently access a peripheral unit, 2010. Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 40 / 41
Conclusion Merci de votre attention Joël Porquet (UPMC-2010) Journée Sécurité GDR SoCSiP 30 mai 2012 41 / 41