Pour réduire cette vulnérabilité, des chercheurs du MIT et du laboratoire d'intelligence artificielle MIT-IBM Watson ont créé un accélérateur d'apprentissage automatique résistant aux deux types d'attaques les plus courants. Leur puce permet de préserver la confidentialité des dossiers médicaux, des informations financières et autres données sensibles d'un utilisateur, tout en assurant l'exécution efficace de modèles d'IA complexes sur les appareils.

L'équipe a développé plusieurs optimisations qui renforcent la sécurité tout en ralentissant légèrement l'appareil. De plus, cette sécurité accrue n'affecte pas la précision des calculs. Cet accélérateur d'apprentissage automatique pourrait s'avérer particulièrement utile pour les applications d'IA exigeantes telles que la réalité augmentée et virtuelle ou la conduite autonome.

Bien que l'implantation de la puce augmente légèrement le coût de l'appareil et le rende moins économe en énergie, ce prix vaut parfois la peine d'être payé pour la sécurité, explique l'auteur principal Maitreyi Ashok, étudiant diplômé en génie électrique et informatique (EECS) au MIT.

« Il est essentiel de concevoir en tenant compte de la sécurité dès le départ. Toute tentative d'ajouter des éléments de sécurité, même minimes, une fois le système conçu, devient excessivement coûteuse. Nous avons réussi à trouver un juste équilibre entre ces différents compromis lors de la phase de conception», explique Ashok.

Parmi les co-auteurs figurent Saurav Maji, doctorant en génie électrique et informatique ; Xin Zhang et John Cohn du laboratoire d'intelligence artificielle Watson du MIT-IBM ; et Anantha Chandrakasan, auteur principal, directeur de l'innovation et de la stratégie au MIT, doyen de la faculté d'ingénierie et professeur titulaire de la chaire Vannevar Bush en génie électrique et informatique. Ces travaux de recherche seront présentés à la conférence IEEE sur les circuits intégrés personnalisés.

Vulnérabilité aux attaques par canaux auxiliaires :
Les chercheurs se sont intéressés à un type d’accélérateur d’apprentissage automatique appelé calcul numérique en mémoire. Une puce IMC numérique effectue des calculs au sein de la mémoire de l’appareil, où les éléments d’un modèle d’apprentissage automatique sont stockés après avoir été transférés depuis un serveur central.

Le modèle complet est trop volumineux pour être stocké sur l'appareil, mais en le divisant en fragments et en les réutilisant autant que possible, les puces IMC réduisent la quantité de données à déplacer.

Cependant, les puces IMC peuvent être vulnérables aux attaques informatiques. Lors d'une attaque par canal auxiliaire, un pirate surveille la consommation électrique de la puce et utilise des techniques statistiques pour reconstituer les données pendant que la puce effectue des calculs. Lors d'une attaque par sondage de bus, le pirate peut dérober des éléments du modèle et de l'ensemble de données en analysant la communication entre l'accélérateur et la mémoire externe de la puce.

L'IMC numérique accélère les calculs en effectuant des millions d'opérations simultanément, mais cette complexité rend difficile la prévention des attaques par les mesures de sécurité traditionnelles, explique Ashok.

Elle et ses collaborateurs ont adopté une approche à trois volets pour bloquer les attaques par canaux auxiliaires et les attaques par sondage de bus.

Premièrement, ils ont mis en œuvre une mesure de sécurité consistant à diviser les données IMC en blocs aléatoires. Par exemple, un bit à zéro peut être divisé en trois bits qui restent à zéro après une opération logique. L'IMC n'effectue jamais de calculs avec tous les blocs simultanément, ce qui empêche toute attaque par canal auxiliaire de reconstituer les données originales.

Pour que cette technique fonctionne, il est nécessaire d'ajouter des bits aléatoires afin de diviser les données. Or, le circuit intégré numérique (IMC) effectue des millions d'opérations simultanément ; générer autant de bits aléatoires impliquerait donc un nombre de calculs trop important. Pour leur puce, les chercheurs ont trouvé un moyen de simplifier ces calculs, facilitant ainsi la division efficace des données et éliminant le besoin de bits aléatoires.

Deuxièmement, ils ont empêché les attaques par sondage du bus en utilisant un chiffrement léger qui crypte le modèle stocké dans la mémoire externe de la puce. Ce chiffrement léger ne nécessite que des calculs simples. De plus, ils ne décryptent les fragments du modèle stockés sur la puce qu'en cas de besoin.

Troisièmement, pour renforcer la sécurité, la clé de déchiffrement a été générée directement sur la puce, au lieu d'être stockée sur le modèle. Cette clé unique a été créée à partir de variations aléatoires présentes sur la puce lors de sa fabrication, grâce à un procédé dit « physiquement non clonable ».

« Un fil peut être légèrement plus épais qu'un autre. Nous pouvons utiliser ces variations pour obtenir des zéros et des uns à partir d'un circuit. Pour chaque puce, nous pouvons obtenir une clé aléatoire qui devrait être cohérente car ces propriétés aléatoires ne devraient pas changer significativement avec le temps», explique Ashok.

Ils ont réutilisé les cellules mémoire de la puce, tirant parti de leurs imperfections pour générer la clé. Cette méthode nécessite moins de calculs que la génération d'une clé à partir de zéro.

« La sécurité étant devenue un enjeu crucial dans la conception des dispositifs périphériques, une architecture système complète axée sur un fonctionnement sécurisé est indispensable. Ce travail porte sur la sécurité des charges de travail d'apprentissage automatique et décrit un processeur numérique utilisant l'optimisation croisée. Il intègre un accès chiffré aux données entre la mémoire et le processeur, des méthodes de prévention des attaques par canaux auxiliaires grâce à la randomisation et l'exploitation de la variabilité pour générer des codes uniques. Ces conceptions seront fondamentales pour les futurs appareils mobiles», explique Chandrakasan.

Tests de sécurité

Pour tester leur puce, les chercheurs se sont mis dans la peau de pirates informatiques et ont tenté de voler des informations secrètes en utilisant des attaques par canaux auxiliaires et le sondage du bus.

Même après des millions de tentatives, ils n'ont pas réussi à reconstituer la moindre information ni à extraire le moindre fragment du modèle ou des données. De plus, le chiffrement est resté inviolable. À l'inverse, il a suffi d'environ 5 000 échantillons pour dérober des informations à partir d'une puce non protégée.

L'ajout de dispositifs de sécurité a réduit l'efficacité énergétique de l'accélérateur et a également nécessité une plus grande surface de puce, ce qui a augmenté son coût de fabrication.

L'équipe prévoit d'explorer à l'avenir des méthodes permettant de réduire la consommation d'énergie et la taille des puces, facilitant ainsi leur application à grande échelle.

« Plus le coût devient élevé, plus il est difficile de convaincre que la sécurité est primordiale. Des travaux futurs pourraient explorer ces compromis. On pourrait peut-être concevoir un système légèrement moins sûr, mais plus facile à mettre en œuvre et moins coûteux », explique Ashok.