The conference will describe the main concepts of security for embedded and IoT solutions : security vs safety, IT vs OT, main standards, level of security of available operating systems (Linux, Android, etc.), examples of attacks and secure solutions.
PyParis2017 / Python pour les enseignants des classes préparatoires, by Olivi...
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pierre Ficheux
1. 1Sécurité embarqué / IoT
Sécurité des systèmes embarqués / IoT
Pierre Ficheux (pierre.ficheux@smile.fr)
Juin 2019
2. 2Sécurité embarqué / IoT
Introduction
● CTO Smile ECS (Embedded & Connected Systems)
● Linux embarqué / OSS
● Enseignant EPITA / GISTRE
● Membre COPIL GTLL/HOS
● Sécurité IoT = sujet récent chez Smile
● Présentation basée sur le livre blanc !
3. 3Sécurité embarqué / IoT
Programme
● Définitions
● IoT et IIoT
● Exemples d’attaques
● Importance du matériel
● Technologies et méthodes
● Normes (IEC 62443)
4. 4Sécurité embarqué / IoT
Sécurité vs sûreté, IT vs OT
● Attention à la traduction français / anglais !
– sécurité = safety (défaillance)
– sûreté = security (acte de malveillance)
● L’expert Hervé Schauer (HS2) préconise de ne pas trop
s'attacher à cette distinction lexicale !
● On parle communément de « sécurité informatique »
(IT)
● Les procédures pour la sécurité informatique sont
maîtrisées
● Le sujet qui nous intéresse couvre également l’OT
(Operational Technology, i.e. systèmes matériels)
● Présence de logiciel dans l’OT (firmware et OS)
● Mise à jour des systèmes OT plus complexe que celle
de l’IT
5. 5Sécurité embarqué / IoT
(I)IoT
● Evolution du marché difficile à prévoir (20 milliards à 50
milliards d’objets selon les « analystes »)
● A ce jour plus IIoT (industrie) qu’IoT (grand public)
● Marché B to B plus simple que B to C (exemple d’eDevice
dans le médical)
● Nombreux « gadgets connectés » mais échec commercial
● Le smartphone (et ses apps) est prépondérant
● Attaques médiatisées
– Jeep Cherokee
– Caméras IP / DDoS OVH
– Black Energy (IT+OT Ukraine, 2015)
– WannaCry / NetPetya (IT, 2017)
– etc.
6. 6Sécurité embarqué / IoT
Les attaques
● Deux principaux types
– récupération de données personnelles détenues par
l'objet
– infection de l'objet en vue de mener des attaques (type
DDoS / propagation malware)
● De nombreuses attaques sont liées à un défaut de
conception / configuration
● NetPetya a touché des entreprises n’ayant pas
appliqué les correctifs suggérés suite à WannaCry (250
M€ de dégâts chez St Gobain)
● Les caméras du DDoS OVH étaient issues d’un modèle
générique, très peu sécurisé (1250 marques, 200000
caméras)
7. 7Sécurité embarqué / IoT
Les attaques
● Le moteur de recherche Shodan permet de détecter les
objets « ouverts » sur Internet
● Souvent l’identifiant « admin/admin » n’est même pas
modifié !
8. 8Sécurité embarqué / IoT
Importance du matériel
● Grosse différence avec l’IT !
● Accès physique à l’objet
● Ports de mise au point (JTAG, UART)
→ exemple de la Freebox V.4
● Outils d’analyse (carte « bus pirate »)
● Attaque par « canaux auxiliaires » (side channel,
exploitation de grandeurs physiques)
● Utilisation de COTS (SoM / SoC) → généricité
● Utilisation d’un prestataire pour « casser » un device
9. 9Sécurité embarqué / IoT
Asymétrie
● Capabilities → le pirate a souvent plus de moyens que
celui qui crée le produit (argent, temps, motivation)
● Effort → développeur doit s’assurer de l’intégrité de
l’ensemble du code alors que le pirate peut isoler UNE
seule faille et l’exploiter
● Knowledge→ le nombre de ressources concernant la
sécurité est largement inférieur au nombre d’attaques
répertoriées
● Impact → difficile de connaître à l’avance les
conséquences de l’exploitation d’une faille
→ voir le livre blanc AdaCore / SPARK
10. 10Sécurité embarqué / IoT
Technologies et méthodes
● Le choix des composants et méthodes a une forte
influence sur le niveau de sécurité
● Choix et prise en compte des contraintes dès la
conception !
● OS / noyau
– Générique ou dédié (72 % Linux, 20 % bare metal
selon IoT developer survey)
– Système de construction (« build system » aka Yocto)
– Options de compilation noyau
– FW sécurité (Verity, SELinux - Android)
– Méthode de mise à jour (SWUpdate, RAUC)
● Test fonctionnel et CI (Yocto ptest / testimage)
● Usine logiciel (Gcov, SonarQube, Frama-C)
13. 13Sécurité embarqué / IoT
Normes et standard
● Normes générales ou fonctionnelles (métier)
– ISO/IEC 27005, IEC 62443 (IIoT)
– DO-178, EN 50128/129, IEC 62304, ISO 26262
● ISO/IEC 2700x fournit les éléments nécessaires à la
mise en place d’une gestion des risques liés à la
sécurité de l’information (IT)
● IEC 62443 traite la cybersécurité des systèmes
industriels (OT)
● ECS (European Cyber Security Organisation) répertorie
plus de 100 documents !
16. 16Sécurité embarqué / IoT
IEC 62443, démarche
● Système divisé en zones reliées par des conduits
● Liste de critères techniques permettant d’évaluer le
niveau de sécurité (SL de 0 à 4)
● 7 FR (Fundamental Requests)
● Pour chaque zone, analyse du niveau SL-A (achieved)
et SL-T (target) sur chaque FR → graphe
● La norme fournit les contre mesures pour améliorer le
niveau des FR
● Le FR le plus faible en SL définit le niveau global du
système