sr2i301 : sécurité des systèmes embarqués - …...2019/04/19 · panorama des attaques attaques...
TRANSCRIPT
SR2I301 : Sécurité desSystèmes EmbarquésIntroduction
Guillaume [email protected] 2018–2019
Plan
Informations administratives
Introduction à la Sécurité des Systèmes Embarqués
Panorama des attaquesAttaques matériellesAttaques logicielles
Systèmes embarqués dédiés à la sécurité
Conclusion
2/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Déroulement du module & Consignes
Site pédagogique : https://sen.enst.fr/sr2i301• Lien vers les supports de cours sous forme électronique• Sujets des examens des années précédentes
La présence en cours, aux TP et aux TD est fortementrecommandéePas de polycopié de cours mais une compilation impriméedes supports de cours vous sera distribuée vers la fin dumodule
3/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Notation
Examen écrit (prévu le jeudi 27 juin 13h30–16h45)• QCM sur les points importants des différentes parties du
module
4/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Plan
Informations administratives
Introduction à la Sécurité des Systèmes Embarqués
Panorama des attaquesAttaques matériellesAttaques logicielles
Systèmes embarqués dédiés à la sécurité
Conclusion
5/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Activité de découverte
Dans un premier temps, individuellement, répondez auxquestions suivantes (10 minutes)
1. Qu’est-ce qu’un système embarqué (donnez desexemples)?
2. En quoi un système embarqué est différent d’un systèmeinformatique classique (ordinateur, serveur, etc.) en ce quiconcerne la sécurité?
3. Donnez des exemples d’attaques ciblant spécifiquementles systèmes embarqués
Puis, en groupe, mettez en commun vos réponses(10 minutes)Enfin, un membre du groupe présente vos résultats(5 minutes)
6/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Sécurité vs. sûreté de fonctionnement
Sûreté de fonctionnement (Dependability ) : propriété quipermet aux utilisateurs du système de placer uneconfiance justifiée dans le service qu’il leur délivrePlusieurs facettes
• Disponibilité (Availability ) : aptitude du système à être prêtà délivrer un service correct
• Fiabilité (Reliability ) : aptitude du système à assurer lacontinuité du service correct durant un certain laps detemps
• Sécurité-innocuité (Safety ) : aptitude du système à éviterdes conséquences catastrophiques sur son environnement
• Sécurité (Security) : aptitude du système à préserver laconfidentialité et l’intégrité des informations
• Maintenabilité (Maintainability ) : aptitude du système à êtremaintenu ou remis en état de fonctionnement
7/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Sécurité des SE == Sécurité Info?
An embedded system is a computer system designed todo one or a few dedicated and/or specific functions oftenwith real-time computing constraints. (source Wikipedia) À la base, suivant cette définition, un systèmeembarqué est un ordinateur Pourquoi la sécurité des systèmes embarquésnécessite un module particulier alors qu’un cours desécurité informatique pourrait/devrait suffire? L’objectif de ce cours d’introduction est de présenter lescaractéristiques qui font que les systèmes embarqués sedistinguent des systèmes informatiques classiques dupoint de vue de la sécurité
8/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Objectifs de sécurité génériques
Confidentialité Garantir que seuls les personnes/programmesautorisés peuvent accéder à une information
Intégrité Garantir qu’une information ne peut pas êtremodifiée, involontairement ou volontairement, ougarantir la détection de cette altération
Authentification Prouver l’identité d’une personne, d’unprogramme, d’une machine, etc.
Disponibilité Garantir qu’un système reste en permanenceutilisable par les personnes autorisées
Traçabilité Permettre de savoir qui a fait quoi sur un systèmeinformatique
9/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Particularités des Systèmes EmbarquésFréquemment, le propriétaire des informations (au senslarge) manipulées par un système embarqué n’est pas leseul à avoir un accès (physique ou à distance) à cesystème embarqué
• Carte bancaire qui contient des secrets de la banqueémettrice
• Carte SIM qui contient des secrets de l’opérateur• Set-top box qui contient des secrets liés à la gestion des
droits (DRM)
Le système est souvent physiquement dans les mains del’adversaireL’utilisateur légitime peut même avoir un intérêt à obtenirces informations (et donc devenir l’adversaire)... L’objectif de confidentialité peut ainsi être importantmais aussi ciblé par l’adversaire
10/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Particularités des Systèmes Embarqués
Certaines catégories d’attaques sont souvent peu ou pastraitées dans le cadre de la sécurité informatique mais sontà prendre en compte pour les systèmes embarqués
• Exemple : Attaques matérielles• Le système étant dans les mains de l’adversaire
(légitimement ou non), celui-ci peut l’espionner, voire mêmele modifier
• Mécanismes de déverminage (JTAG par exemple)
11/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Particularités des Systèmes Embarqués
Contraintes de coût, de taille, de performance (y comprisl’aspect temps réel), de délai de mise sur le marché, quipeuvent entraîner une négligence de la sécurité de lapartie logicielle
• Développement trop rapide (pas assez de temps pourdéverminer le programme)
• Implémentation partielle de certains protocoles• Utilisation d’algorithmes moins robustes à cause des
contraintes
12/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Plan
Informations administratives
Introduction à la Sécurité des Systèmes Embarqués
Panorama des attaquesAttaques matériellesAttaques logicielles
Systèmes embarqués dédiés à la sécurité
Conclusion
13/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Introduction
Système embarqué• Matériel
– Composants de calcul : micro-contrôleur, micro-processeur,SoC...
– Composants de stockage : ROM, RAM, stockage de masse– Composants de communication : bus, périphériques d’E/S
(UART, I2C, CAN, WiFi, ZigBee, Ethernet...)– Déverminage : JTAG
• Logiciel– Bootloader– OS (temps réel, micro-noyau, hyperviseur, générique...)– Applications
Attaques possibles sur chaque élément
14/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Attaques matérielles
Visent potentiellement tous les composants matériels quiconstituent le système embarquéDeux grandes catégories
Attaques non intrusives Ne laissent pas de traces sur le circuitqui reste fonctionnel après l’attaque
Attaques intrusives Laissent des traces évidentes sur le circuitqui peut ne plus fonctionner après l’attaque
La distinction entre ces deux catégories est parfois floue
15/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Side-Channel AttacksAttaque non intrusiveObjectif : Obtenir des informations sur les donnéesmanipulées par un circuit (vise la propriété deconfidentialité)Exemple : Trouver une clé secrète embarquée dans uncomposant cryptographique (carte à puce, ASIC, FPGA...)Méthode : Observer les canaux auxiliaires (ex.consommation d’un circuit, temps nécessaire poureffectuer le calcul, rayonnement électromagnétique émis,etc.) du composant dont l’activité peut être corrélée auxdonnées sensibles manipuléesDomaine de recherche très actif, nombreuses attaquesréalisées en pratique : Timing Attack, SPA, DPA, CPA,EMA...
16/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Power trace of a 6502 (8-bit CISC)microcontroler
TAX LDA TXA NOPNOP LDA
17/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Espionnage du bus mémoire
Attaque non intrusive à moyennement intrusiveObjectif : Obtenir des informations sur les données (ausens large : code et données) manipulées par le système(vise la propriété de confidentialité), voire les modifier(propriété d’intégrité)Exemple : Récupérer du code ou des données sensibles,voire les modifier pour obtenir un avantage
18/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Exemple : Microsoft XBox
Objectif de sécurité : Empêcher la modification dubootloader ou du noyau
• Bloc de démarrage secret codé en dur dans l’ASIC dusouthbridge
• Bootloader chiffré stocké dans une flash, déchiffré et vérifiépar le bloc de démarrage
Vulnérabilité : le bloc de démarrage doit être exécuté par leCPU et donc doit être transféré sur le bus reliant lesouthbridge au CPU
• Même si ce bus est rapide, il peut être espionné analysedu code de démarrage et récupération de l’algorithme devérification du bootloader [3]
19/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Espionnage des bus de communication
Attaque non intrusiveAttaque MITM (Man-In-The-Middle) sur les entrées/sortiesd’un système embarqué
20/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Exemple : X-SIM
La X-SIM intercepte et modifie les APDU échangés entrele téléphone et la carte SIMUtilisé par exemple pour desimlocker un téléphone en luifaisant croire qu’il s’agit d’une SIM d’un autre opérateur
21/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Injection de fautesAttaque non intrusive ou intrusive en fonction des casObjectif : Perturber le bon fonctionnement du systèmeembarqué pour lui faire commettre des erreursConséquences
• Désactivation de protection (ex. vérification d’un code PIN)• Obtention d’informations secrètes (ex. récupération d’une
clé secrète RSA en injectant une seule faute [1], idem pourAES en injectant quelques fautes)
Méthodes très variées• Variations de la tension d’alimentation, de l’horloge, de la
température de fonctionnement du circuit (pour obtenir uneviolation d’un chemin critique du circuit ou une erreurd’écriture en mémoire)
• Bombardement du circuit avec des particules énergétiques(flash de lumière, laser, particules radioactives α ou β)
22/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Rétro-conception de composant
Attaque intrusiveObjectif : Obtenir le schéma du composant pour, engénéral, comprendre un algorithme secret implémenté enmatériel ou pour lire le contenu d’une ROM interneMéthode
• Découpage du circuit en fines tranches• Photographie de chacune des tranches• Reconstruction du schéma
23/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Exemple : MIFARE Classic
Carte sans-contact (RFID) contenant de la mémoire nonvolatile et un algorithme d’authentification secret(Crypto-1) pour en protéger l’accèsUtilisé principalement pour du contrôle d’accès et duticketing (métro de Londres)Henryk Plötz and Karsten Nohl [4] ont réussi à retrouverl’algorithme
• Ils ont découpé et photographié les différentes couches ducircuit puis reconstitué le schéma électronique du circuit
En analysant l’algorithme, ils ont découvert plusieursfaiblesses cryptographiques dans cet algorithmehttp://events.ccc.de/congress/2007/Fahrplan/events/2378.en.html
24/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Exemple : MIFARE Classic [4]
25/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Exemple : MIFARE’s CRYPTO1 exposed [4]
Images of MIFARE by Karsten Nohl, David Evans, Starbug and Henryk Plötz
26/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Exemple : Analyse de composantsExemple de déshabillage de l’iPad parhttp://www.chipworks.com/
Apple / Microprocesseur (avec DRAM) Samsung / 1 Gb mobile DDR SDRAM(x2)
Broadcom / Microcontrolleur avec NVM(écran tactile)
TI / Driver écran tactile
27/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Espionnage par micro-sonde
Attaque intrusivePermet par exemple de lireles données circulant surun bus interne (clés dechiffrement, données enclair, etc.)Limitations : Permet de lireque quelques fils en mêmetemps et seulement sur leniveaux de métallisationsupérieurs
Image issue de la thèse de ChristopheGiraud [2]
28/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Modification d’un circuit à l’aide d’un FIB(Focused Ion Beam)
Attaque (très)intrusiveDésactivation decapteurs de sécuritéRestauration defusibles (testmode...)Technique ultime
Image issue de la thèse deChristophe Giraud [2]
29/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Attaques logicielles classiques
La partie logicielle (OS + applications) est vulnérable auxattaques logicielles classiquesSource : 2011 CWE/SANS Top 25 Most DangerousSoftware Errors, 13 septembre 2011,http://cwe.mitre.org/top25/
Page intéressante à lire car apporte de nombreux détailssur chacune des vulnérabilités et sur les solutionspossiblesToutes ces erreurs ne s’appliquent pas forcement à tousles systèmes embarqués mais elle constitue néanmoinsune bonne base de départ
30/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Top 25 Most Dangerous Software Errors I1. Improper Neutralization of Special Elements used in an
SQL Command (’SQL Injection’)2. Improper Neutralization of Special Elements used in an OS
Command (’OS Command Injection’)3. Buffer Copy without Checking Size of Input (’Classic
Buffer Overflow’)4. Improper Neutralization of Input During Web Page
Generation (’Cross-site Scripting’)5. Missing Authentication for Critical Function6. Missing Authorization7. Use of Hard-coded Credentials8. Missing Encryption of Sensitive Data9. Unrestricted Upload of File with Dangerous Type
31/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Top 25 Most Dangerous Software Errors II10. Reliance on Untrusted Inputs in a Security Decision11. Execution with Unnecessary Privileges12. Cross-Site Request Forgery (CSRF)13. Improper Limitation of a Pathname to a Restricted
Directory (’Path Traversal’)14. Download of Code Without Integrity Check15. Incorrect Authorization16. Inclusion of Functionality from Untrusted Control Sphere17. Incorrect Permission Assignment for Critical Resource18. Use of Potentially Dangerous Function19. Use of a Broken or Risky Cryptographic Algorithm20. Incorrect Calculation of Buffer Size
32/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Top 25 Most Dangerous Software Errors III
21. Improper Restriction of Excessive Authentication Attempts
22. URL Redirection to Untrusted Site (’Open Redirect’)
23. Uncontrolled Format String
24. Integer Overflow or Wraparound
25. Use of a One-Way Hash without a Salt
33/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Vulnérabilités logicielles spécifiques
Tendance de certains développeurs à vouloir ré-inventer laroue pour des prétextes plus ou moins valables
• OS• Pile réseau• Mini serveur web embarqué• Algorithmes de crypto légers• ...
En général, cette re-implémentation introduit des failles entout genre
34/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Vulnérabilités logicielles spécifiques
Absence de mécanismes de sécurité au prétexte que lesystème est inaccessible
• Pas de mot de passe administrateur alors qu’un port RS232est disponible sur le circuit (mais sans le connecteur)
• Pacemaker configurable à distance (NFC) sans mécanismede sécurité...
35/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Plan
Informations administratives
Introduction à la Sécurité des Systèmes Embarqués
Panorama des attaquesAttaques matériellesAttaques logicielles
Systèmes embarqués dédiés à la sécurité
Conclusion
36/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Systèmes embarqués dédiés à la sécurité
Certains systèmes embarqués visent des objectifs desécurité importantsLe plus emblématique est la carte à puceCertaines cartes à puce (ex. cartes bancaires ou PayTV)intègrent de nombreuses contre-mesures contre lesattaques matérielles et logicielles présentéesprécédemment
37/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Exemple de contre-mesures sur carte àpuce
Image Assia Tria
38/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Plan
Informations administratives
Introduction à la Sécurité des Systèmes Embarqués
Panorama des attaquesAttaques matériellesAttaques logicielles
Systèmes embarqués dédiés à la sécurité
Conclusion
39/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Contenu de l’UE
Préalables• Rappels d’électronique• Implémentation matérielle des algorithmes de
cryptographieAttaques et contre-mesures
• Canaux auxiliaires• Injection de fautes• Rétro-conception• Espionnage de bus
Technologies• Génération d’aléa (TRNG, PUF)• Support matériel pour la sécurité logicielle
40/42 Télécom ParisTech Guillaume Duc P4 2018–2019
Plan
References
41/42 Télécom ParisTech Guillaume Duc P4 2018–2019
References I
[1] Dan Boneh, Richard A. DeMillo, and Richard J. Lipton.On the Importance of Checking Cryptographic Protocols for Faults.In Proceedings of Eurocrypt’97, volume 1233 of LNCS, pages 37–51. Springer, May 11-15 1997.Konstanz, Germany.
[2] Christophe Giraud.Attaques de cryptosystèmes embarqués et contre-mesures associées.PhD thesis, Université de Versailles Saint-Quentin-en-Yvelines, 26 octobre 2007.
[3] A. Huang.Keeping secrets in hardware : the Microsoft XBox (TM) case study.Technical Report AI Memo 2002-008, Massachusetts Institute of Technology, May 2002.
[4] Karsten Nohl, David Evans Starbug, and Henryk Plötz.Reverse-Engineering a Cryptographic RFID Tag.In USENIX Security Symposium, pages 185–193, July 31 2008.San Jose, CA, USA (http://www.usenix.org/event/sec08/tech/full_papers/nohl/nohl_html/Online HTML).
42/42 Télécom ParisTech Guillaume Duc P4 2018–2019