Vous vous souvenez des exploits de sécurité Spectre et Meltdown de l’année dernière? Intel et AMD espèrent vraiment que non. Malgré ce qu’ils veulent vous faire croire, ces exploits d’exécution spéculative ne vont pas disparaître, du moins pas avec les solutions proposées jusqu’à présent.
Contenu
- En partant de la racine
- Spectre contourné
- La sécurité, mais à quel prix ?
- Grand, petit et sécurisé
- Le porter aux masses
Au lieu d’essayer de corriger chaque variante qui se présente, un correctif permanent nécessitera un changement fondamental dans la façon dont les processeurs sont conçus. La proposition? Un « noyau sécurisé » qui garantit que vos données restent à l’abri des attaquants, quels que soient les bugs qu’ils pourraient tenter d’exploiter.
Vidéos recommandées
Ce n’est peut-être pas la voie que ces grandes entreprises de transformation souhaitent emprunter, mais c’est peut-être la seule qui fonctionne réellement.
En rapport
- Les défenses d’AMD contre Spectre V2 pourraient être inadéquates
En partant de la racine
Lorsqu’une nouvelle génération de processeurs est lancée, la première question qui se pose sur toutes les lèvres est: « à quelle vitesse il?" Plus de mégahertz, plus de cœurs, plus de cache, tout cela pour que les applications s'exécutent plus rapidement et que les jeux soient performants mieux. Les considérations secondaires peuvent être les besoins en énergie ou la production de chaleur, mais on pose rarement des questions sur la sécurité.
Comprendre Spectre et Meltdown
Le problème est que les améliorations de performances de ces dernières années ont été principalement dues à prédiction spéculative, c'est-à-dire que les processeurs devinent ce que vous allez faire ensuite et préparent tout ce que vous pourriez besoin. C’est excellent pour les performances, mais comme Spectre et ses variantes l’ont montré, c’est terrible pour la sécurité.
“Exécution spéculative est depuis longtemps une fonctionnalité d'optimisation des performances des processeurs », a déclaré Jean-Philippe Taggart, responsable de la recherche en sécurité chez Malwarebytes, à Digital Trends. Il a expliqué comment c’est cette fonctionnalité qui rend les processeurs Intel et autres vulnérables à Spectre et à des attaques similaires. "L'architecture du processeur devra être sérieusement repensée, soit pour conserver ces améliorations de performances, mais les protéger contre des attaques telles que Spectre, soit pour les supprimer complètement", a-t-il déclaré.
« C'est difficile en matière de sécurité si l'on est toujours réactif, en devant attendre les failles de sécurité pour ensuite les corriger »
Une solution potentielle consiste à ajouter un nouveau matériel aux prochaines générations de processeurs. Au lieu de gérer des tâches sensibles (qui rendent de telles attaques intéressant) sur des cœurs de traitement de grande puissance, et si les fabricants de puces combinaient ces cœurs avec un cœur supplémentaire spécialement conçu pour de tels cœurs? tâches en tête? Un noyau de sécurité.
Cela pourrait faire de Spectre et de ses variantes un problème pour le nouveau matériel. Cela n’aurait pas d’importance si les principaux cœurs de processeur de demain étaient vulnérables à de telles attaques, car les informations privées ou sécurisées ne seraient plus traitées par ces cœurs.
Ce concept de racine de confiance est plus qu’une simple ébauche. Dans certains cas, il s’agit déjà d’un produit viable et tous les grands fabricants de puces comme Intel ou AMD devraient le faire pour en profiter, c’est l’adopter.
Spectre contourné
« C'est difficile en matière de sécurité si vous êtes toujours réactif, si vous devez attendre les failles de sécurité pour ensuite les corriger » Ben Levine, directeur principal de la gestion des produits chez Rambus, a déclaré à Digital Trends, interrogé sur la variante Spectre en cours. des menaces. « Le problème consistant à tenter de sécuriser un processeur complexe est vraiment une tâche difficile. C’est là que nous avons proposé l’approche consistant à déplacer les fonctionnalités critiques en matière de sécurité vers un noyau distinct.
Bien qu’il ne soit pas le premier à suggérer une telle idée, Rambus l’a peaufinée. C'est Racine de confiance CryptoManager est un cœur distinct qui reposerait sur une puce de processeur majeure, un peu comme le concept big.little que l'on retrouve dans de nombreux processeurs mobiles et même dans celui d'Intel. nouveau design Lakefield. Cependant, lorsque ces puces utilisent des cœurs plus petits pour économiser de l’énergie, une racine de confiance sécurisée se concentrerait avant tout sur la sécurité.
Il combinerait un processeur dépourvu des aspects spéculatifs des principaux processeurs, avec des accélérateurs pour la cryptographie et sa propre mémoire sécurisée. Ce serait une conception relativement simple comparée aux monstrueux processeurs à usage général qui font fonctionner nos ordinateurs aujourd'hui, mais ce faisant, il serait beaucoup plus sécurisé.
En se protégeant, le cœur sécurisé pourrait alors assumer les tâches les plus sensibles qu'un cœur de processeur à usage général gérerait généralement. La sécurisation des clés de cryptage, la validation des transactions bancaires, le traitement des tentatives de connexion, le stockage des informations privées dans une mémoire sécurisée ou la vérification des enregistrements de démarrage n'ont pas été corrompus au démarrage.
« … Ces opérations sont relativement lentes à effectuer dans le logiciel, mais un noyau de sécurité peut disposer d'accélérateurs matériels pour le faire beaucoup plus rapidement. »
Tout cela pourrait contribuer à améliorer la sécurité générale d’un système qui l’utilise. Mieux encore, puisqu'il manquerait d'améliorations spéculatives des performances, il serait entièrement sécurisé contre les attaques de type Spectre, les invalidant ainsi. De telles attaques pourraient toujours être lancées contre les principaux cœurs du processeur, mais comme elles ne traiteraient aucune donnée qui vaudrait la peine d’être volée, cela n’aurait pas d’importance.
"L'idée n'est pas de proposer un seul processeur capable de tout faire pour être très rapide et très sécurisé, mais optimisons différents cœurs séparément pour différents objectifs", a expliqué Levine. « Optimisons notre processeur principal pour les performances ou la consommation réduite, tout ce qui est important pour ce système, et optimisons un autre cœur pour la sécurité. Nous disposons désormais de ces deux domaines de traitement optimisés séparément et effectuons le traitement dans celui d’entre eux qui est le plus approprié compte tenu des caractéristiques du calcul et du système à l’esprit.
Un tel cœur fonctionnerait un peu comme la puce de coprocesseur T2 qu'Apple a introduite avec son iMac, puis implémentée dans son 2018.
La sécurité, mais à quel prix ?
On dit souvent que la complexité est l’ennemie de la sécurité. C’est pourquoi la conception de base sécurisée proposée par Rambus est relativement simple. Ce n'est pas une grosse puce monstrueuse avec plusieurs cœurs et une vitesse d'horloge élevée comme les processeurs typiques des ordinateurs de bureau ou des ordinateurs de bureau. ordinateurs portables.
Alors, cela signifie-t-il que nous sacrifierions les performances si un tel cœur devait être utilisé aux côtés d’une puce moderne? Pas nécessairement.
Ce qu’il faut retenir de l’idée d’un noyau sécurisé, qu’il s’agisse de la racine de confiance CryptoManager de Rambus, ou une conception similaire d'une autre entreprise, est qu'elle n'effectuerait que des tâches axées sur la confidentialité ou sécurité. Vous n’en auriez pas besoin pour nourrir votre carte graphique pendant une session de jeu ou en peaufinant des images dans Photoshop. Vous préférerez peut-être qu'il gère le cryptage de vos messages via une application de chat. C’est là que le matériel spécialisé pourrait présenter des avantages au-delà de la sécurité.
« Des choses comme les algorithmes cryptographiques, le cryptage ou le déchiffrement à partir d'un algorithme comme AES, ou l'utilisation d'un algorithme à clé publique comme RSA ou elliptique. courbe, ces opérations sont relativement lentes à effectuer dans le logiciel, mais un noyau de sécurité peut disposer d'accélérateurs matériels pour le faire beaucoup plus rapidement », Levine dit.
« Nous visons la simplicité et si vous gardez quelque chose de simple, vous le gardez petit. S’il est petit, sa consommation est faible.
C’est quelque chose avec lequel Rob Coombs, responsable de la sécurité IoT chez Arm, est tout à fait d’accord.
« En général, la racine des fiducies intègre un accélérateur de cryptographie, ce qui nécessite un peu plus de silicium, mais l'avantage est que c'est des performances plus élevées pour des éléments tels que les fonctions de chiffrement, vous ne comptez donc pas uniquement sur le processeur pour effectuer le cryptage régulier du fichier », a-t-il déclaré. dit. « Le processeur peut le configurer, puis le moteur de cryptographie peut analyser les données et les chiffrer ou les décrypter. Vous obtenez de meilleures performances.
Les processeurs modernes comme Intel disposent de leurs propres accélérateurs de chiffrement, il se peut donc que le le cryptage ou le déchiffrement serait fondamentalement plus rapide qu'un processeur à usage général accomplissant la même tâche, mais cela pourrait être comparable.
Bien que Coombs ait souligné lors de sa conversation avec nous qu'un noyau de racine de confiance nécessiterait un peu de silicium supplémentaire pour être produit, le coût de le faire sur d'autres facteurs importants comme le prix de fabrication, la consommation électrique de la puce ou ses performances thermiques serait principalement non affecté.
Ben Levine de Rambus était d’accord.
« Le noyau de sécurité est tout simplement minuscule par rapport à tout le reste », a-t-il déclaré. « Il n’y a vraiment aucun impact significatif sur le coût de la puce, l’alimentation ou les exigences thermiques. Vous pouvez faire beaucoup de choses dans une zone logique assez petite si vous la concevez avec soin. Nous visons la simplicité et si vous gardez quelque chose de simple, vous le gardez petit. S’il est petit, sa consommation est faible.
Son seul inconvénient était que dans les appareils plus petits et à faible consommation comme ceux utilisés dans l’IoT, le noyau sécurisé de Rambus aurait un impact plus important sur la puissance et le coût. C’est là que l’approche plus modulaire d’Arm pourrait intervenir.
Grand, petit et sécurisé
Arm a été l'un des premiers pionniers de l'idée de gros petit CPU, ou gros cœurs et petits cœurs dans le même processeur. Aujourd’hui, c’est également une fonctionnalité courante sur les appareils mobiles de Qualcomm et Apple. Il voit des cœurs de processeur plus gros utilisés pour le travail lourd en cas de besoin, tandis que des cœurs plus petits gèrent les tâches les plus courantes afin d'économiser de l'énergie. L’approche d’Arm s’appuie sur cette idée pour établir une base de confiance dans les puces principales, ainsi que dans des microcontrôleurs beaucoup plus petits destinés à être utilisés dans un plus large éventail d’appareils.
« Nous avons défini ce qu’on appelle un PSA (architecture de sécurité de la plateforme) racine de confiance avec certaines fonctions de sécurité essentielles intégrées telles que la cryptographie, le démarrage sécurisé, le stockage sécurisé; Chaque appareil IOT en aura besoin », a expliqué Coobs à Digital Trends.
De tous les principaux fabricants de puces, Arm a sans doute été le moins touché par Spectre et Meltdown. Là où Intel était vulnérable à la plus large gamme d'attaques potentielles et où AMD a dû publier un certain nombre de microcodes et des ajustements logiciels, Arm a pu renforcer ses défenses déjà robustes avant que des bugs d'exécution spéculatifs ne soient détectés. révélé.
Arm concentre désormais ses efforts sur la sécurisation de l’Internet des objets. Coombs estime qu'un noyau sécurisé, une racine de confiance, est l'un des meilleurs moyens d'y parvenir et il souhaite que chaque appareil IoT implémente un tel système. Pour y parvenir, Arm propose des logiciels open source, des conseils de développement et des solutions matérielles pour les problèmes de sécurité rencontrés par les développeurs IoT d’aujourd’hui.
.. Une grande partie de l'utilisation du noyau de sécurité se fera au niveau du système d'exploitation et du système et non au niveau de l'application.
« Nous avons créé une implémentation open source et de référence et maintenant, avec la certification PSA, nous avons créé un système de sécurité à plusieurs niveaux [où] les gens peuvent choisir la robustesse de sécurité dont ils ont besoin », a déclaré Coombs. « Différents systèmes nécessitent différents niveaux de sécurité. Nous voulons adapter cela à l’espace IoT.
En appliquant ces principes aux processeurs plus grands et à usage général que l’on trouve dans les ordinateurs portables et de bureau, le résultat final ne serait pas radicalement différent. Même si ces puces n’auraient pas les petits cœurs à côté des gros, elles pourraient implémenter un cœur sécurisé sur la puce sans trop de difficulté, selon Ben Levine de Rambus.
"Ces cœurs devraient être et doivent être beaucoup plus petits que l'un des principaux gros cœurs de processeur que vous obtenez dans une puce d'Intel ou d'AMD", a-t-il déclaré. "Ce ne sera pas sept plus un, ce sera huit processeurs ou n'importe quel cœur et un ou peut-être plusieurs petits cœurs de sécurité qui fournissent des fonctions de sécurité pour tous les autres cœurs."
Et surtout, de tels cœurs ne seraient même pas compliqués à mettre en œuvre.
"Nous n'allons pas ajouter grand-chose au cycle de conception des puces pour intégrer une nouvelle puce dans un produit de consommation", a-t-il déclaré. « Notre impact sera assez minime. Ce sera simplement le cycle de vie normal d’un produit qui consiste à faire passer le développement d’une architecture de puce à la production, puis à l’expédition des produits.
Le porter aux masses
La sécurité peut être un problème de poule et d’œuf, les développeurs ne souhaitant pas la mettre en œuvre sans un besoin ou une demande spécifique des clients. Mais si les fabricants de matériel combinaient leurs cœurs de processeur existants avec une racine de confiance sécurisée, la tâche des développeurs de logiciels serait relativement simple.
"En fonction de l'application, une grande partie de l'utilisation du noyau de sécurité se fera au niveau du système d'exploitation et du système et non au niveau de l'application", a expliqué Levine. « Si vous construisez correctement votre système d'exploitation et l'ensemble de votre logiciel système, vous pouvez utiliser la plupart de ces fonctionnalités de sécurité sans que les développeurs d'applications aient à s'en soucier. Vous pouvez fournir des API pour exposer certaines des fonctionnalités de base de sécurité qui pourraient facilement être utilisées par le développeur d'applications, comme le cryptage et le déchiffrement des données.
En incorporant la racine de confiance dans le matériel lui-même et en laissant aux systèmes d'exploitation la responsabilité de sa mise en œuvre, les développeurs de logiciels pourrait rapidement bénéficier de la sécurité supplémentaire qu'il pourrait apporter à toutes les facettes de l'informatique, notamment en évitant les pièges de Spectre et de ses genre.
C’est peut-être là que des entreprises comme Intel et AMD se sont trompées jusqu’à présent. Bien que leurs correctifs, correctifs de microcode et ajustements matériels aient contribué à atténuer certains des problèmes des attaques de type Spectre, ils comportent tous leurs propres pièges. Les performances ont été dégradées et, dans de nombreux cas, les correctifs facultatifs ne sont pas appliqués par les fabricants d’appareils, car ils ne veulent pas perdre la course aux armements.
Au lieu de cela, Rambus, Arm et d’autres cherchent à éviter complètement le problème.
"Nous ne prétendons pas que nous corrigeons Spectre ou Meltdown, ce que nous disons, c'est que ces exploits ne sont pas les seules vulnérabilités", a déclaré Levine. « Il y en aura toujours plus. La complexité des processeurs modernes rend cela inévitable. Changeons le problème et acceptons qu'il y ait plus de vulnérabilités dans les processeurs à usage général et autres. qui nous tiennent à cœur, comme les clés, les informations d’identification, les données, retirons-les du processeur et contournons tout le problème.
De cette façon, les utilisateurs peuvent être sûrs que leur système est sécurisé sans rien sacrifier. La racine du matériel de confiance signifie que toutes les données volées sont inutiles pour quiconque. Cela laisse le fantôme de Spectre dans le royaume obscur de la redondance, où il peut continuer à hanter ceux qui utilisent du matériel ancien. Mais à mesure que les gens passeront à de nouvelles générations de matériel équipées de la racine de la confiance, cela deviendra de moins en moins pertinent et de moins en moins préoccupant.
Recommandations des rédacteurs
- AMD pourrait enfin battre Intel pour le processeur de jeu mobile le plus rapide
- Les puces d'Intel sont toujours vulnérables et le nouveau Ice Lake ne corrigera pas tout