Nous vivons dans un monde hyperconnecté, avec des millions d'appareils qui changent la vie, connectés les uns aux autres, tous traduits par l'internet des objets (IdO). La vision de l'IdO est de distribuer un grand nombre d'appareils connectés, générant tous d'énormes volumes de données.
Ces données sont traitées localement, sur le terrain ou dans le nuage, afin de générer des informations commerciales et d'encourager les gains de productivité ; ce processus est appelé transformation numérique et ouvre la voie à des scénarios tels que l'industrie 4.0 ou la médecine télématique. Cependant, la validité de ces perspectives commerciales repose sur ces dispositifs et leurs données, en les considérant comme fiables. Cette confiance ne peut être établie qu'en ayant le bon niveau de sécurité pour le cas d'utilisation donné. En résumé, la sécurité peut créer la confiance et la confiance apporte une valeur commerciale grâce à la transformation numérique.
Malgré tous leurs efforts, les développeurs peuvent laisser les projets de l'internet des objets (IoT) exposés à des attaques précisément par le code qui est censé maintenir la sécurité. Les pirates informatiques s'attaquent souvent à des projets apparemment sûrs, et l'un des moyens les plus fréquents consiste à remplacer le micrologiciel par un code compromis. Les méthodes de démarrage sécurisé peuvent atténuer ces attaques, mais leur mise en œuvre réussie peut s'avérer difficile. Les développeurs ont besoin de méthodes plus simples pour mettre en œuvre le démarrage sécurisé dans le cadre d'une stratégie globale visant à garantir la sécurité des appareils IoT tout en les faisant certifier. Cet article examine brièvement l'une des sources d'attaque courantes dans la conception des appareils IoT et le rôle des méthodes de sécurité de base, notamment le stockage sécurisé des clés, le chiffrement et l'authentification, ainsi que d'autres caractéristiques nécessaires dans le cadre d'une stratégie globale visant à garantir la sécurité des appareils IoT et à les faire certifier, grâce aux avantages des outils ARM professionnels tels que l'architecture de sécurité de la plateforme (PSA).
Pour les pirates, les appareils IoT peuvent fournir un grand nombre de points d'entrée pour perturber les appareils eux-mêmes, leurs réseaux et même leurs applications finales. Bien que les développeurs puissent utiliser diverses techniques pour renforcer la sécurité des réseaux et des applications, la sécurité des appareils IoT reste un défi en raison des ressources limitées de mémoire et de traitement disponibles sur ces appareils. Bien que les développeurs emploient des méthodes de chiffrement pour protéger les données, de nombreux appareils sont conçus sans les capacités d'authentification sécurisées nécessaires pour empêcher les pirates d'intercepter les communications en se faisant passer pour des serveurs d'autorisation, des passerelles ou d'autres appareils IoT. Dans certains cas, les appareils utilisant des méthodes d'authentification valides mais faibles peuvent rester vulnérables à des exploits sophistiqués qui interceptent et réutilisent des clés de sécurité valides utilisées dans des sessions de communication apparemment privées.
Une faiblesse de sécurité encore plus fondamentale est liée à l'utilisation des capacités de mise à jour OTA (over-the-air) intégrées dans un nombre rapidement croissant d'appareils IoT. Les mises à jour OTA constituent une fonction importante sur le marché en évolution rapide de l'IdO. Les développeurs peuvent répondre à la demande changeante des clients pour de nouvelles fonctionnalités (ou corriger des bogues) en mettant à jour le micrologiciel des appareils déployés. Dans un processus de mise à jour OTA classique, l'appareil IoT recherche périodiquement des mises à jour, télécharge le nouveau code lorsqu'il est disponible et effectue une série d'appels système pour terminer le processus de mise à jour.
Pour vérifier que le code téléchargé est valide, les développeurs s'appuient depuis longtemps sur des certificats de signature de code émis par une autorité de certification reconnue. Malgré cela, les faiblesses du stockage sécurisé des données, de la mise en œuvre des techniques de validation et de la protection des certificats offrent aux pirates de multiples possibilités de prendre le contrôle d'un appareil IoT. Même avec des techniques de sécurité conventionnelles, le processus de mise à jour du micrologiciel d'un appareil peut être trompé et remplacer son code valide par un code compromis. Au redémarrage, l'appareil devient un outil que le pirate peut utiliser pour pénétrer plus profondément dans le réseau IoT, l'application IoT et même les ressources internes de l'entreprise. Dans ce scénario, la capacité à démarrer l'appareil IoT en toute sécurité constitue une ligne de défense essentielle.
Pour le développeur, cependant, la mise en œuvre d'un démarrage sécurisé implique de multiples exigences en matière de stockage sécurisé, de cryptage, d'authentification et de mécanismes de validation du code. L'implémentation du démarrage sécurisé dans le logiciel expose le processus de mise à jour à des méthodes d'attaque visant à récupérer les clés sécurisées du stockage de l'appareil, à intercepter les données cryptées, à usurper les mécanismes d'authentification et à compromettre les algorithmes de validation du code. Dans la pratique, les conceptions IoT ne disposent généralement pas de la mémoire et de la puissance de traitement supplémentaires qui seraient de toute façon nécessaires pour une solution logicielle. Malgré cela, une implémentation matérielle ne peut pas toujours garantir la sécurité.
L'architecture de sécurité de la plateforme (PSA) est un cadre permettant de sécuriser un trillion d'appareils connectés. Elle comprend un ensemble holistique de produits livrables, notamment des modèles de menaces et des analyses de sécurité, des spécifications d'architecture matérielle et micrologicielle, des API et une suite de tests d'API, ainsi qu'un système indépendant d'évaluation et de certification de la sécurité - PSA Certified. Associé à une implémentation de référence open source, il vous permet de concevoir de manière cohérente le bon niveau de sécurité pour tous les appareils connectés. La PSA s'appuie sur les meilleures pratiques de l'ensemble du secteur. Elle s'adresse à différentes entités tout au long de la chaîne d'approvisionnement, depuis les concepteurs de puces et les développeurs d'appareils jusqu'aux fournisseurs d'infrastructures cloud et réseau et aux éditeurs de logiciels. Avec ses partenaires, Arm est à la tête de l'écosystème dans son objectif de protéger le monde connecté. L'architecture de sécurité de la plateforme (PSA) a été conçue pour démystifier les conceptions et les concepts de sécurité.
Pour définir le cadre de la PSA afin de rendre des milliards d'appareils plus sûrs, les objectifs sont les suivants :
Pour atteindre les objectifs susmentionnés, les exigences suivantes doivent être satisfaites :
L'application de la PSA se compose de quatre phases clés, chacune d'entre elles étant accompagnée d'une documentation et d'un guide :
Analyser
Modèles de menaces et analyse de sécurité (TMSA), dérivés d'une série de cas d'utilisation typiques de l'IdO.
Architecte
Spécifications d'architecture pour le micrologiciel et le matériel.
Implémentation
Une implémentation de référence open source des spécifications de l'architecture du micrologiciel.
Certificat
Schéma certifié par PSA qui fournit une évaluation indépendante de la sécurité des systèmes IoT basés sur PSA.
Plus de détails sur les quatre phases clés et la conclusion générale seront publiés dans la deuxième partie de ce blog.