Les chercheurs ont développé une solution de sécurité avec cette petite puce pour les modèles d’IA gourmands en énergie, qui offre une protection contre deux attaques courantes.
Applications de surveillance de la santé peut aider les gens à gérer des maladies chroniques ou à rester sur la bonne voie pour atteindre leurs objectifs de remise en forme, en utilisant rien de plus qu’un smartphone. Cependant, ces applications peuvent être lentes et peu économes en énergie, car les vastes modèles d’apprentissage automatique qui les alimentent doivent être transférés entre un smartphone et un serveur de mémoire central.
Les ingénieurs accélèrent souvent les choses en utilisant du matériel qui réduit le besoin de déplacer autant de données dans les deux sens. Bien que ces accélérateurs d’apprentissage automatique puissent rationaliser les calculs, ils sont vulnérables aux attaquants capables de voler des informations secrètes.
Pour réduire cette vulnérabilité, des chercheurs du MIT et du MIT-IBM Watson AI Lab ont créé un accélérateur d’apprentissage automatique résistant aux deux types d’attaques les plus courants. Leur puce peut garder privés les dossiers de santé, les informations financières ou d’autres données sensibles d’un utilisateur tout en permettant à d’énormes modèles d’IA de fonctionner efficacement sur les appareils.
L’équipe a développé plusieurs optimisations qui permettent une sécurité renforcée tout en ne ralentissant que légèrement l’appareil. De plus, la sécurité supplémentaire n’a pas d’impact sur la précision des calculs. Cet accélérateur d’apprentissage automatique pourrait être particulièrement bénéfique pour les applications d’IA exigeantes comme la réalité augmentée et virtuelle ou la conduite autonome.
Même si la mise en œuvre de la puce rendrait un appareil légèrement plus cher et moins économe en énergie, cela constitue parfois un prix intéressant à payer pour la sécurité, explique l’auteur principal Maitreyi Ashok, étudiant diplômé en génie électrique et informatique (EECS) au MIT.
« Il est important de concevoir dès le départ en gardant à l’esprit la sécurité. Si vous essayez d’ajouter ne serait-ce qu’un minimum de sécurité après la conception d’un système, cela coûte extrêmement cher. Nous avons pu équilibrer efficacement bon nombre de ces compromis pendant la phase de conception », explique Ashok.
Ses co-auteurs incluent Saurav Maji, étudiant diplômé de l’EECS ; Xin Zhang et John Cohn du MIT-IBM Watson AI Lab ; et l’auteur principal Anantha Chandrakasan, responsable de l’innovation et de la stratégie du MIT, doyen de l’École d’ingénierie et professeur Vannevar Bush de l’EECS. La recherche sera présentée à la conférence IEEE Custom Integrated Circuits.
Susceptibilité aux canaux secondaires
Les chercheurs ont ciblé un type d’accélérateur d’apprentissage automatique appelé calcul numérique en mémoire. Une puce numérique IMC effectue des calculs dans la mémoire d’un appareil, où des éléments d’un modèle d’apprentissage automatique sont stockés après avoir été déplacés depuis un serveur central.
Le modèle entier est trop volumineux pour être stocké sur l’appareil, mais en le divisant en morceaux et en réutilisant ces morceaux autant que possible, les puces IMC réduisent la quantité de données qui doivent être déplacées d’avant en arrière.
Mais les puces IMC peuvent être sensibles aux pirates. Dans une attaque par canal secondaire, un pirate informatique surveille la consommation électrique de la puce et utilise des techniques statistiques pour procéder à une ingénierie inverse des données pendant le calcul de la puce. Lors d’une attaque par sondage de bus, le pirate informatique peut voler des morceaux du modèle et de l’ensemble de données en sondant la communication entre l’accélérateur et la mémoire hors puce.
L’IMC numérique accélère le calcul en effectuant des millions d’opérations à la fois, mais cette complexité rend difficile la prévention des attaques à l’aide de mesures de sécurité traditionnelles, explique Ashok.
Elle et ses collaborateurs ont adopté une approche en trois volets pour bloquer les attaques par canal secondaire et par sondage de bus.
Premièrement, ils ont utilisé une mesure de sécurité selon laquelle les données de l’IMC sont divisées en morceaux aléatoires. Par exemple, un bit zéro peut être divisé en trois bits toujours égaux à zéro après une opération logique. L’IMC ne calcule jamais avec tous les éléments au cours de la même opération, de sorte qu’une attaque par canal secondaire ne pourra jamais reconstruire les informations réelles.
Mais pour que cette technique fonctionne, des bits aléatoires doivent être ajoutés pour diviser les données. Étant donné que l’IMC numérique effectue des millions d’opérations à la fois, générer autant de bits aléatoires impliquerait trop de calculs. Pour leur puce, les chercheurs ont trouvé un moyen de simplifier les calculs, facilitant ainsi le fractionnement efficace des données tout en éliminant le besoin de bits aléatoires.
Deuxièmement, ils ont empêché les attaques par sonde de bus en utilisant un chiffrement léger qui crypte le modèle stocké dans la mémoire hors puce. Ce chiffre léger ne nécessite que des calculs simples. De plus, ils n’ont décrypté les pièces du modèle stockées sur la puce que lorsque cela était nécessaire.
Troisièmement, pour améliorer la sécurité, ils ont généré la clé qui déchiffre le chiffre directement sur la puce, plutôt que de la déplacer avec le modèle. Ils ont généré cette clé unique à partir de variations aléatoires de la puce introduites lors de la fabrication, en utilisant ce que l’on appelle une fonction physiquement non clonable.
« Peut-être qu’un fil sera un peu plus épais qu’un autre. Nous pouvons utiliser ces variations pour extraire les zéros et les uns d’un circuit. Pour chaque puce, nous pouvons obtenir une clé aléatoire qui doit être cohérente, car ces propriétés aléatoires ne devraient pas changer de manière significative au fil du temps », explique Ashok.
Ils ont réutilisé les cellules mémoire de la puce, exploitant les imperfections de ces cellules pour générer la clé. Cela nécessite moins de calculs que de générer une clé à partir de zéro.
« Alors que la sécurité est devenue un problème critique dans la conception des appareils de pointe, il est nécessaire de développer une pile système complète axée sur un fonctionnement sécurisé. Ce travail se concentre sur la sécurité des charges de travail d’apprentissage automatique et décrit un processeur numérique qui utilise l’optimisation transversale. Il intègre l’accès aux données cryptées entre la mémoire et le processeur, des approches pour prévenir les attaques par canal secondaire utilisant la randomisation et l’exploitation de la variabilité pour générer des codes uniques. De telles conceptions seront essentielles dans les futurs appareils mobiles », déclare Chandrakasan.
Tests de sécurité
Pour tester leur puce, les chercheurs ont endossé le rôle de pirates informatiques et ont tenté de voler des informations secrètes en utilisant des attaques par canal secondaire et par sondage de bus.
Même après avoir effectué des millions de tentatives, ils n’ont pu reconstruire aucune information réelle ni extraire des éléments du modèle ou de l’ensemble de données. Le chiffre est également resté incassable. En revanche, il n’a fallu que 5 000 échantillons environ pour voler des informations sur une puce non protégée.
L’ajout de sécurité réduisait l’efficacité énergétique de l’accélérateur et nécessitait également une plus grande surface de puce, ce qui rendrait sa fabrication plus coûteuse.
L’équipe envisage d’explorer des méthodes qui pourraient réduire la consommation d’énergie et la taille de leur puce à l’avenir, ce qui faciliterait sa mise en œuvre à grande échelle.
« À mesure que cela devient trop coûteux, il devient plus difficile de convaincre quelqu’un que la sécurité est essentielle. Des travaux futurs pourraient explorer ces compromis. Peut-être pourrions-nous le rendre un peu moins sécurisé mais plus facile à mettre en œuvre et moins coûteux », déclare Ashok.
Écrit par Adam Zewe
Publié à l’origine dans The European Times.