Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sécuriser l'IoT - Un challenge bien compliqué

bik3te
March 13, 2018

Sécuriser l'IoT - Un challenge bien compliqué

L'écosystème IoT est complexe, sa sécurisation encore plus. Nous allons décortiquer chaque brique des solutions connectées, du matériel au cloud, en passant par le logiciel et la couche de communication, afin d'illustrer un ensemble de vulnérabilités régulièrement rencontrées. Ainsi, nous comprendrons pourquoi il est nécessaire de repenser la sécurité...

bik3te

March 13, 2018
Tweet

Other Decks in Technology

Transcript

  1. JSSI 2018 – Paris – 13 mars 2018 Lény Bueno

    [email protected] Sécuriser l’IoT – un challenge bien compliqué
  2. Explosion du marché de l’IoT Source : iot-analytics.com P. 3

    Digital Security – JSSI 2018 – Paris – 13 mars 2018
  3. Objets connectés grand public ou professionnels Contrôle d’accès (badges sans

    contact) Ouverture de portes (garage, voiture, etc.) & interphones Alarmes sans fil, capteurs domotiques Drones Abonnements urbains (cartes Velib’, Autolib, Navigo, etc.) Réseaux cellulaires (GSM, téléphonie domestique DECT) Bureautique sans fil (souris, clavier, casque) Dispositifs médicaux (pacemakers, pompes à insuline, etc.) Dispositifs de navigation (GPS) Radiopilotage horaire (GSM NITZ, DCF77, etc.) Explosion du marché de l’IoT P. 4 Digital Security – JSSI 2018 – Paris – 13 mars 2018
  4. Sécurité des objets connectés P. 6 Digital Security – JSSI

    2018 – Paris – 13 mars 2018 Infrastructure LPWAN Réseaux LPWAN (Low Power Wide Area Network)
  5. Sécurité des objets connectés P. 7 Digital Security – JSSI

    2018 – Paris – 13 mars 2018 Infrastructure de courte portée Réseaux de courte portée compatibles Smartphones
  6. Sécurité des objets connectés P. 8 Digital Security – JSSI

    2018 – Paris – 13 mars 2018 Infrastructure « relais » Réseaux de courte portée utilisant une passerelle locale
  7. Base matérielle Microcontrôleurs et System-on-Chip (SoC) ↪ Pilotage d’actionneurs ou

    récupération de données de capteurs ↪ Offre une connectivité (ex: Bluetooth Smart, ShockBurst, LoRa, Sigfox, etc.) ↪ Supportent les protocoles de communication électroniques (ex: SPI, I²C, UART) ↪ Programmés et débogués via des interfaces et protocoles dédiés (ex: JTAG, SWD) ↪ Micrologiciel placé dans une mémoire morte (souvent une Flash) Micro-ordinateurs embarqués ↪ Système d’exploitation présent sur un support de stockage (carte SD) ↪ Secure Boot, chiffrement des données Sécurité des objets connectés P. 9 Digital Security – JSSI 2018 – Paris – 13 mars 2018
  8. Exemples de vulnérabilités matérielles (1/3) Indications présentes sur le circuit

    imprimé ↪ Rôle des points de tests ↪ Emplacements de connecteurs de débogage Sécurité des objets connectés P. 10 Digital Security – JSSI 2018 – Paris – 13 mars 2018 Accès à des fonctionnalités réservées aux développeurs ou à la maintenance
  9. Exemples de vulnérabilités matérielles (2/3) Indications présentes sur le circuit

    imprimé Erreurs de conception électronique Sécurité des objets connectés P. 11 Digital Security – JSSI 2018 – Paris – 13 mars 2018 Démo !
  10. Exemples de vulnérabilités matérielles (3/3) Indications présentes sur le circuit

    imprimé Erreurs de conception électronique Non-activation des mécanismes de protection ↪ Désactivation des interfaces de débogage ↪ Limitation d’accès à la mémoire Flash Sécurité des objets connectés P. 12 Digital Security – JSSI 2018 – Paris – 13 mars 2018 Atteinte à la propriété intellectuelle, extraction du code exécutable
  11. Base logicielle Micrologiciels monolithiques ↪ Exécutable unique exécuté par un

    processeur ↪ Exploitation de vulnérabilités applicatives complexe (dépend du type de processeur propre au constructeur, prise de contrôle du flux d’exécution et après ?) Micrologiciels hétérogènes ↪ Ensemble d’exécutables exécutés par un système d’exploitation ↪ Présence d’un système de fichiers ↪ Les vulnérabilités applicatives peuvent être exploitées afin d’obtenir un accès privilégié au système d’exploitation Sécurité des objets connectés P. 13 Digital Security – JSSI 2018 – Paris – 13 mars 2018
  12. Exemples de vulnérabilités logicielles (1/2) Débordements de zone mémoire Sécurité

    des objets connectés P. 14 Digital Security – JSSI 2018 – Paris – 13 mars 2018 Prise de contrôle de la caméra et du système Linux sous-jacent
  13. Exemples de vulnérabilités logicielles (2/2) Débordements de zone mémoire Implémentations

    cryptographiques non-standard possédant des vulnérabilités ↪ Algorithme cryptographique propriétaire et vulnérable Implémentations de protocoles ne respectant pas les standards définis ↪ Algorithme cryptographique standard mais vulnérable car mal implémenté Utilisation de mots de passe ou clés de chiffrement par défaut Sécurité des objets connectés P. 15 Digital Security – JSSI 2018 – Paris – 13 mars 2018
  14. Couche de communication (1/2) Elle fait le lien entre l’objet

    et son monde extérieur Utilisation de protocoles de communication avec ou sans fil : ↪ Bluetooth Smart, (Enhanced) ShockBurst, ZigBee, SIGFOX, LoRa, LoRaWAN, TCP/IP, UDP, MQTT, etc. Deux types de problématiques : ↪ Vulnérabilités inhérentes au protocole ↪ Vulnérabilités induites par une mauvaise utilisation du protocole Sécurité des objets connectés P. 16 Digital Security – JSSI 2018 – Paris – 13 mars 2018
  15. Couche de communication (2/2) La radio logicielle (SDR) est aujourd’hui

    abordable : ↪ HackRF One, Yard Stick One, Blade RF ↪ Elle permet de démoduler, décoder, ré-encoder et moduler les protocoles de communication à l’aide de logiciels comme GNU Radio Des équipements spécialisés pour certains protocoles de communication font leur apparition : ↪ Ubertooth, Bluefruit LE sniffer, Micro:Bit, etc. Sécurité des objets connectés P. 17 Digital Security – JSSI 2018 – Paris – 13 mars 2018 Il est désormais possible de réaliser des attaques automatisées sur des protocoles radio complexes, à moindre coût
  16. Exemples de vulnérabilités observées sur la couche de communication (1/4)

    Transmission en clair de données sensibles ↪ Les mécanismes de sécurité Bluetooth Smart assurant le chiffrement et une protection contre l’interception passive ne sont pas utilisés Sécurité des objets connectés P. 18 Digital Security – JSSI 2018 – Paris – 13 mars 2018 Récupération du code de déverrouillage d’un cadenas électronique
  17. Exemples de vulnérabilités observées sur la couche de communication (2/4)

    Transmission en clair de données sensibles Absence d’authentification des équipements  Glucomètre connecté (Bluetooth Smart) ↪ L’application mobile identifie les équipements par leur adresse Bluetooth (BDADDR) ↪ Création d’un clone du périphérique en question ayant la même adresse ↪ Connexion du Smartphone sur le clone et envoi de fausses données Sécurité des objets connectés P. 19 Digital Security – JSSI 2018 – Paris – 13 mars 2018 Le stockage de données médicales est soumis à des réglementations, l'insertion de fausses données peut avoir de lourdes conséquences
  18. Exemples de vulnérabilités observées sur la couche de communication (3/4)

    Transmission en clair de données sensibles Absence d’authentification des équipements  Drone miniature ↪ Communique via un protocole radio sur 2.4GHz ↪ Construction d'une télécommande à partir d'un Micro:Bit modifié ↪ Exploitation du système de saut de fréquence ↪ Contrôle complet du drone par l'attaquant Sécurité des objets connectés P. 20 Digital Security – JSSI 2018 – Paris – 13 mars 2018 Démo !
  19. Exemples de vulnérabilités observées sur la couche de communication (4/4)

    Transmission en clair de données sensibles Absence d’authentification des équipements Absence de contrôles d’intégrité Chiffrement faible Sécurité des objets connectés P. 21 Digital Security – JSSI 2018 – Paris – 13 mars 2018
  20. Le cloud Les objets connectés communiquent avec des services hébergés

    sur Internet ↪ Ces services manipulent et stockent les données transmises par ces objets, ils sont utilisés à la fois par les objets connectés ou leur passerelle, les applications mobiles et/ou de bureau ↪ Cette centralisation du stockage représente un risque d’accès à l’ensemble des informations des objets connectés utilisant ces services Sécurité des objets connectés P. 22 Digital Security – JSSI 2018 – Paris – 13 mars 2018 Des mécanismes de sécurité doivent être présents sur l’ensemble de ces protocoles
  21. Exemples de vulnérabilités touchant le Cloud (1/3) Authentification faible ou

    inexistante Mots de passe par défaut Chiffrement faible ou inexistant Mauvaise gestion des erreurs Problématiques de contrôle d’accès et de suivi de session Absence de chiffrement/signature des mises à jour (si HTTP par exemple) Sécurité des objets connectés P. 23 Digital Security – JSSI 2018 – Paris – 13 mars 2018
  22. Exemples de vulnérabilités touchant le Cloud (2/3) Rétrogradation ou désactivation

    de chiffrement ↪ Une caméra connectée communique avec un serveur de contrôle via le protocole XMPP (eXtensible Messaging and Presence Protocol) ↪ Le protocole TLS est requis et chiffre les communications Possibilité de désactiver l’utilisation de TLS ↪ Attaque de « l’homme du milieu » pour forcer le client XMPP à annoncer au serveur qu’il ne supportait pas le chiffrement TLS Sécurité des objets connectés P. 24 Digital Security – JSSI 2018 – Paris – 13 mars 2018 Ni le client, ni le serveur n’implémentait de vérification du niveau de chiffrement
  23. Exemples de vulnérabilités touchant le Cloud (3/3) Énumération des ressources

    connectées ↪ Le protocole XMPP est utilisé pour faire communiquer des équipements en temps-réel, et le serveur XMPP sert de point de relais central Sécurité des objets connectés P. 25 Digital Security – JSSI 2018 – Paris – 13 mars 2018 Le service d’annuaire était actif sur le serveur XMPP
  24. Difficulté et coût de correction (1/2) Souvent de petite taille,

    risque de vol ↪ Peu coûteux et facilement remplaçable ↪ Peu de ressources, complexité de mettre en place les différents mécanismes de sécurité, manque de journalisation ↪ Stocke régulièrement des clés de chiffrement ou des informations personnelles Solutions complexes et hétérogènes ↪ Bien souvent mal documentées voire pas du tout ↪ Multiplicité des passerelles faisant le lien entre les réseaux traditionnels et les protocoles de communication adaptés aux objets connectés Sécurité des objets connectés P. 26 Digital Security – JSSI 2018 – Paris – 13 mars 2018
  25. Difficulté et coût de correction (2/2) Absence de fonctionnalité de

    mise à jour ↪ Rappel de tous les équipements impactés afin de mettre à jour leur micrologiciel ↪ Remplacement des équipements impactés s’il est impossible de les mettre à jour par programmation Véhicules autonomes, systèmes de contrôles d’accès, équipements médicaux et industriels ↪ La prise de contrôle de ces équipements peut porter atteinte à la sécurité physique et l’intégrité des personnes ↪ Respect des réglementations sur le traitement des données (personnelles, de santé, financières) Sécurité des objets connectés P. 27 Digital Security – JSSI 2018 – Paris – 13 mars 2018 La réputation des entreprises est en jeu
  26. Quelles questions se poser ? Y a-t-il des données sensibles

    stockées ? Quel(s) moyen(s) de communication ? Est-il accessible physiquement ? Y a-t-il possibilité de mettre à jour le micrologiciel Over-The- Air (OTA) ? Faut-il signer ou chiffrer les mises à jour ? Repenser la sécurité P. 29 Digital Security – JSSI 2018 – Paris – 13 mars 2018
  27. Mises à jour OTA Repenser la sécurité Digital Security –

    JSSI 2018 – Paris – 13 mars 2018 P. 30 Fonctionnalité à implémenter en premier  Et correctement ! ↪ Déclenchée par une action de l’utilisateur ↪ Couplée à une action physique sur l’objet (bouton, menu, redémarrage, etc.) ↪ Maintien en condition opérationnelle en cas de problème de mise à jour
  28. Chiffrement Repenser la sécurité Digital Security – JSSI 2018 –

    Paris – 13 mars 2018 P. 31 Sécurise le stockage et les échanges de données  Implémentations basées sur les standards  Provisioning de clés propres à chaque objet ↪ Ex: Sigfox, LoRaWAN ↪ Risque de compromission globale si extraction d’une clé maîtresse  Clé non-prédictible, clé non extractible ↪ Retour à la sécurité matérielle…
  29. Authentification Repenser la sécurité Digital Security – JSSI 2018 –

    Paris – 13 mars 2018 P. 32 Assurer l’authentification mutuelle  Se baser sur des mécanismes éprouvés ↪ Appairage sur la couche liaison (ex: Bluetooth Smart)  Si l’application tourne sur un environnement non sûr (Smartphone/ordinateur vs microcontrôleur/SoC) il est préférable de procéder à une association applicative ↪ Un malware déployé sur le Smartphone / ordinateur bénéficie du lien établi avec le périphérique…
  30. Sécurité matérielle Repenser la sécurité Digital Security – JSSI 2018

    – Paris – 13 mars 2018 P. 33 Désactivation des interfaces de débogage Activation des verrous existants contre l’extraction de micrologiciel Penser aux faiblesses de conception mécanique et électronique Utilisation d’un Secure Element pour le stockage de secrets ? ↪ Cela implique le provisioning des Secure Element en usine et la gestion des secrets placés dans le Secure Element ↪ Lourd à mettre en œuvre (surcoût par pièce !)
  31. Règles d’or de l’objet connecté (1/2) Repenser la sécurité Digital

    Security – JSSI 2018 – Paris – 13 mars 2018 P. 34 Assurer son évolution Sécuriser son contenu Sécuriser les échanges Permettre la transitivité Permettre la traçabilité (si possible)
  32. Règles d’or de l’objet connecté (2/2) Repenser la sécurité Digital

    Security – JSSI 2018 – Paris – 13 mars 2018 P. 35 Intégrer la sécurité lors de la conception ↪ Mécanique ↪ Électronique ↪ Applicative S’entourer de profils variés Ne pas se contenter d’un démonstrateur ↪ Tester la sécurité de la solution connectée
  33. P. 36 Digital Security – JSSI 2018 – Paris –

    13 mars 2018 Lény BUENO Consultant sécurité [email protected]