En septembre 2016, un attaquant inconnu a ciblé Dyn, le service de noms de domaine (DNS) de nombreux sites de renom tels que Twitter, Reddit, Spotify, Github et Le New York Times.
Comment cet attaquant a-t-il violé ces sites hautement sécurisés? Selon Robinson Meyer de L’Atlantique, le botnet utilisait des DVR, des webcams et d’autres appareils IoT compromis pour éliminer Dyn en utilisant une attaque par déni de service distribué (DDoS), un terme associé à des pannes Internet massives.
Exemple d’architecture système de haut niveau avec des cases bleues indiquant le matériel et le firmware de base sur lesquels les logiciels (cases jaunes) sont construits. Image utilisée avec l’aimable autorisation de NIST
Un mois après les cyberattaques massives, Meyer s’est entretenu avec l’éminent expert en sécurité Bruce Schneier qui a affirmé: «Il n’y a pas eu d’attaque réussie comme celle-ci auparavant.»
Bruce Schneier fait une pause la sécurité informatique en trois branches principales:
- Confidentialité des informations
- Intégrité de la programmation
- Disponibilité de l’appareil ou des données
Depuis cette attaque, les chercheurs se sont de plus en plus tournés vers le micrologiciel pour améliorer la sécurité des appareils IoT, en évaluant la efficacité du cryptage asymétrique intégré à mises à jour de micrologiciel sécurisées modulaires de bout en bout.
Sécurité du micrologiciel dans les systèmes embarqués
L’Institut national des normes et de la technologie a publié Consignes de résilience du micrologiciel de la plate-forme, qui sont guidés par trois principes de développement de micrologiciels: la protection, la détection et la récupération.
Maxim Integrated fournit un exemple de la manière dont les fournisseurs de semi-conducteurs gravent ce triple objectif de sécurité au niveau du silicium. La société a développé des modules I2C / SPI comme le DS28C36 et le MAXQ1061 agir comme «racines de confiance» dans les systèmes embarqués.
On dit que le coprocesseur de démarrage / téléchargement sécurisé MAXQ1061 I2C / SPI garantit l’intégrité du micrologiciel de bout en bout. Image utilisée avec l’aimable autorisation de Maxim intégré
Le MAXQ1061 est un contrôleur cryptographique «DeepCover» agissant comme un coprocesseur – qui, selon Maxim, garantit l’intégrité des dispositifs embarqués.
Recherche de vulnérabilités de micrologiciel
Les entreprises poussent également la sécurité des micrologiciels à travers des tests. Une récente collaboration entre Sectigo et ReFirm Labs est promettant d’analyser et de diagnostiquer un système pour les vulnérabilités du micrologiciel.
Selon Red Hat, certains des vulnérabilités du firmware à surveiller incluent (mais ne sont pas limités à):
- Attaques par canal latéral Spectre et Meltdown des processeurs
- Retournement de bits Rowhammer des registres
- Accès direct à la mémoire
- Processus de démarrage modifiés
De nombreux chercheurs sont se concentrer sur les processus de démarrage, en particulier, pour garantir l’intégrité du micrologiciel. Un micrologiciel corrompu donne à l’attaquant un accès potentiellement illimité au périphérique au niveau matériel, ce qui rend la détection par le système d’exploitation difficile, voire impossible.
Cryptographie intégrée: ce n’est pas votre «mot de passe» moyen
Des chercheurs de l’INRIA, l’institut français de recherche en informatique et en automatisation, ont montré de manière concluante que les systèmes cryptographiques pourraient être incorporés dans des systèmes embarqués et stockés dans une mémoire Flash.
Cependant, cela nécessitait un compromis important avec les protocoles cryptographiques, en utilisant jusqu’à 51% du budget d’allocation de mémoire (selon le processeur). Pour les concepteurs de matériel Internet des objets, une allocation de 51% limitera les fonctionnalités réellement utilisables disponibles dans leur appareil.
Des appareils comme Maxim Integrated contrôleur cryptographique peut remédier à cette tension sur la mémoire; Le micrologiciel signé numériquement est vérifié par le contrôleur, à l’aide de paires de clés publiques-privées, et le résultat de la vérification est renvoyé au processeur hôte. Il fournit un démarrage sécurisé et une mise à jour sécurisée sans affecter les principales sections du microcontrôleur principal au traitement des fonctions de sécurité.
Selon les contributeurs de l’IEEE, un autre moyen d’assurer des mises à jour sécurisées consiste à utiliser un référentiel PUF (Physical Unclonable Function) pour générer des clés entre l’appareil IoT et le responsable du micrologiciel (OEM).
Proposition de processus d’établissement de liaison pour la mise à jour du micrologiciel à l’aide du référentiel PUF sans l’utilisation de clés publiques-privées stockées. Image utilisée avec l’aimable autorisation de arXiv
Cette méthode permet de modifier le micrologiciel sans nécessiter le stockage de clés secrètes sur l’appareil IoT.
La sécurité IoT est également un problème matériel
La sécurité IoT ne peut plus être prise en compte un problème exclusif aux concepteurs de logiciels. Au fur et à mesure que les attaques DDoS se multiplient, les infrastructures critiques au niveau matériel seront inévitablement ciblées de plus en plus fréquemment.
Le temps d’arrêt de Twitter et Reddit peut être un ennui mineur pour certains, mais la perte de communication fournie par les services DNS signifie de réels coups pour la croissance économique et la sécurité humaine. Les ingénieurs en matériel et les développeurs de micrologiciels devront consacrer plus de temps aux problèmes de sécurité de leur matériel, en suivant les directives du NIST et en apprenant des experts en logiciels.