Dans la première partie de cet article, nous avons étudié cinq facteurs clés qui rendent la garantie de la sécurité des technologies matérielles difficile. Il s’agissait notamment de la nature disruptive de la recherche, de l’exposition toujours croissante aux risques, des attentes disproportionnées des utilisateurs, et bien plus encore. Dans la deuxième partie, j’aimerais examiner comment, en tant que communauté, nous pouvons collaborer pour surmonter ces difficultés.
“« L’échec est la mère du succès. » La première étape pour concevoir des technologies matérielles sécurisées consiste à étudier les erreurs que les concepteurs commettent couramment et à en tirer des enseignements. La bonne nouvelle, c’est que ces faiblesses matérielles courantes ne relèvent plus uniquement de connaissances tribales.
L’Enumeration of Common Weaknesses (CWE) tenue à jour par MITRE est une ressource élaborée par la communauté, qui s’est récemment enrichie pour inclure près de 100 types de faiblesses matérielles.
Ces exemples couvrent notamment des problèmes liés à la conception générale des circuits et de la logique, aux flux de sécurité, au débogage et aux tests, à la fabrication et à la gestion du cycle de vie, entre autres. Il est essentiel que les architectes, les concepteurs et les équipes de vérification acquièrent une solide compréhension de chacun de ces types de faiblesses matérielles et intègrent des mesures robustes tout au long du cycle de développement sécurisé afin d’empêcher l’apparition de problèmes similaires dans leurs produits technologiques et de les détecter.
Ensuite, les erreurs récurrentes répertoriées dans le Hardware CWE se reproduisent année après année, car le secteur ne dispose pas encore des moyens nécessaires pour les prévenir ou les détecter efficacement à grande échelle. Si la formation des développeurs et l’adoption des bonnes pratiques sont très importantes, les équipes de développement matériel peuvent également tirer parti de solutions d’automatisation de la conception électronique (EDA) spécialement conçues pour aider les utilisateurs à développer des conceptions de produits sécurisées.
La plupart des outils disponibles aujourd’hui se concentrent sur la détection des vulnérabilités après leur introduction. Pourtant, il n’est pas rare de voir des concepteurs tenter de corriger un problème de sécurité tout en en introduisant involontairement un nouveau.
Les solutions EDA intelligentes de nouvelle génération devraient :
- Guider les utilisateurs dans leurs compromis de conception afin d’équilibrer les considérations de sécurité et les exigences fonctionnelles.
- Former les utilisateurs aux bonnes pratiques de conception sécurisée lorsque des décisions de conception sensibles en matière de sécurité sont prises.
- Détecter les problèmes de sécurité au moment de l’écriture du code et proposer aux utilisateurs des options fiables pour les résoudre.
- Recommander une liste optimisée de tests dynamiques à exécuter.
- Apprendre en continu des utilisateurs afin d’améliorer la précision et la qualité.
- Électronique et circuits tolérants aux défaillances.
- Infrastructure universelle de mise à jour sur le terrain.
- Télémétrie matérielle respectueuse de la vie privée.
Guider les utilisateurs dans leurs compromis de conception afin d’équilibrer les considérations de sécurité et les exigences fonctionnelles.
Les conceptions matérielles sont vulnérables à un large éventail de menaces et de problèmes. Quel ensemble courant d’indicateurs caractérise le mieux la robustesse de la sécurité ? Les objectifs de sécurité variant selon les produits technologiques, comment la solution EDA sait-elle lesquels sont pertinents pour une conception donnée ? Comment traduire ces indicateurs en informations utiles pour aider les utilisateurs à faire de la sécurité une priorité permanente ?
Former les utilisateurs aux bonnes pratiques de conception sécurisée lorsque des décisions de conception sensibles en matière de sécurité sont prises.
Si l’apprentissage en salle de classe est un moyen d’acquérir des connaissances en matière de sécurité dès la conception, profiter des situations rencontrées au travail pour sensibiliser les utilisateurs peut contribuer à renforcer l’adoption de pratiques de conception importantes. Comment une solution intelligente pourrait-elle fournir des conseils de sécurité opportuns, concrets et prescriptifs, sans être excessivement intrusive ?
Détecter les problèmes de sécurité au moment de l’écriture du code et proposer aux utilisateurs des options fiables pour les résoudre.
Les logiciels de traitement de texte aident depuis longtemps les utilisateurs en mettant en évidence et en corrigeant directement les fautes d’orthographe et de grammaire lors de la rédaction des documents. Les versions plus intelligentes proposent des options pour améliorer le style de l’écriture, et certaines parviennent même à analyser le contexte du document et à suggérer la suite de ce que l’utilisateur s’apprête à écrire. De même, une solution EDA intelligente peut aider les utilisateurs à identifier et à corriger les vulnérabilités de sécurité pendant le développement du code.
Recommander une liste optimisée de tests dynamiques à exécuter.
Toutes les propriétés de sécurité ne peuvent pas être vérifiées par l’analyse statique de la conception. La simulation ou l’émulation matérielle est nécessaire pour surveiller les comportements à l’exécution, indispensables à l’identification des faiblesses liées aux conditions de concurrence, aux interactions avec les micrologiciels, aux flux de sécurité, et bien plus encore. Aujourd’hui, il incombe à l’équipe de développement de déterminer quels tests exécuter et quels paramètres utiliser.
Apprendre en continu des utilisateurs afin d’améliorer la précision et la qualité.
Aucun système n’est parfait, pas même une solution EDA intelligente. Un système capable d’apprendre de manière autonome, qui exploite l’intelligence artificielle et les retours issus du crowdsourcing, pourrait améliorer ses capacités au fil du temps.
Enfin, parallèlement aux efforts inlassables visant à écarter les faiblesses de sécurité des conceptions grâce aux solutions EDA intelligentes, l’innovation dans le domaine des mesures d’atténuation systémiques peut également contribuer à fournir des briques de base éprouvées et robustes sur le plan de la sécurité, que les concepteurs de matériel peuvent utiliser pour sécuriser leurs technologies.
Les logiciels ont été la principale cible des attaques au cours de la dernière décennie. Mais la communauté de la recherche a réalisé d’importants progrès dans la création de solutions matérielles qui sécurisent les charges de travail logicielles exécutées au-dessus de ces solutions. Ces mesures d’atténuation systémiques contribuent à accroître considérablement la difficulté des attaques et à réduire les effets négatifs des exploitations logicielles, rendant les attaques concrètes beaucoup plus difficiles à réussir, même pour les adversaires les plus déterminés. Les développeurs logiciels peuvent continuer à commettre des erreurs courantes susceptibles auparavant d’entraîner des dépassements de tampon, mais nombre de ces erreurs ne sont plus exploitables lorsque les protections matérielles sont actives.
Le secteur des technologies matérielles a besoin d’investissements dans la recherche d’un niveau comparable à celui du logiciel. Les collaborations entre la recherche universitaire et le secteur industriel peuvent contribuer à identifier de nouvelles mesures d’atténuation systémiques capables de rendre difficiles à exploiter, pour les adversaires, des catégories entières de faiblesses matérielles courantes. Voici quelques domaines dans lesquels les chercheurs peuvent apporter leur aide :
Électronique et circuits tolérants aux défaillances.
Les circuits résilients aux attaques physiques offrent un certain niveau de garantie pour la logique informatique construite au-dessus. Aujourd’hui, les compilateurs C produisent des binaires résilients aux corruptions mémoire en intégrant automatiquement les mesures d’atténuation proposées par le compilateur, le système d’exploitation et la plateforme matérielle. De même, les concepteurs de matériel pourraient tirer parti d’outils de conception capables de synthétiser automatiquement des circuits résilients, sans intervention de l’utilisateur. Nous avons besoin d’innovations permettant à un appareil de détecter lorsqu’il fonctionne en dehors des plages vérifiées, ou de s’auto-réparer afin de prolonger la durée de vie de ses composants électroniques sous-jacents malgré les attaques courantes.
Infrastructure universelle de mise à jour sur le terrain.
Comme indiqué précédemment, le paysage actuel des capacités de mise à jour à distance des plateformes matérielles ressemble à celui de leurs équivalents logiciels il y a environ une décennie. Les mécanismes efficaces sont soit inexistants, soit fragmentés entre les fournisseurs de technologies. Pour suivre l’évolution des menaces et des exigences des produits, il est essentiel de disposer d’une infrastructure proposant des mises à jour proactives couvrant tous les composants d’un système.
Plutôt que de laisser chaque fournisseur inventer sa propre infrastructure et son propre protocole, un mécanisme universel de mise à jour sur le terrain, fondé sur des normes industrielles prenant en charge les architectures et les appareils hétérogènes, pourrait constituer une option plus viable.
Télémétrie matérielle respectueuse de la vie privée.
La collecte de données de télémétrie est une pratique courante dans le monde logiciel. Lors de l’installation d’un logiciel, il est souvent demandé aux utilisateurs d’autoriser les applications à collecter des données à des fins de diagnostic et d’amélioration des produits.
De même, la télémétrie matérielle peut fournir aux concepteurs des informations essentielles pour les aider à déterminer la cause première de problèmes complexes signalés sur le terrain, à détecter les attaques en temps réel et à accélérer le développement de mesures d’atténuation efficaces, déployables à grande échelle sur des systèmes présentant des configurations différentes. Les enseignements tirés de la recherche pourraient orienter les concepteurs de matériel vers un ensemble optimisé de données de télémétrie matérielle à la fois efficace et respectueux de la vie privée.
Bien qu’elle soit complexe, la sécurité matérielle est sans conteste l’un des domaines technologiques les plus gratifiants aujourd’hui. Des technologies matérielles sécurisées et dignes de confiance sont essentielles pour améliorer la vie et changer le monde. La sécurité ne pourrait guère constituer une priorité plus utile et plus précieuse. Grâce à la recherche collaborative, les organisations industrielles et le monde universitaire peuvent accélérer ensemble notre capacité à bâtir des fondations fiables et sécurisées.
À propos de l’auteur :
Jason M. Fung, Director of Academic Research Engagement & Offensive Security Research, Intel


