Le robot peut extraire les données des puces RAM avec une technologie effrayante • The Register
MaisonMaison > Nouvelles > Le robot peut extraire les données des puces RAM avec une technologie effrayante • The Register

Le robot peut extraire les données des puces RAM avec une technologie effrayante • The Register

May 26, 2023

Les attaques de démarrage à froid, dans lesquelles les puces de mémoire peuvent être refroidies et les données, y compris les clés de chiffrement, pillées, ont été démontrées en 2008 - mais elles viennent d'être automatisées.

Ce type d'attaque original a été amélioré et automatisé sous la forme d'une machine à voler la mémoire qui peut être la vôtre pour environ 2 000 $, avec un peu de bricolage électrique autoguidé.

Vendredi, lors de la conférence REcon sur l'ingénierie inverse au Canada, Ang Cui, fondateur et PDG de Red Balloon Security, doit présenter une conférence intitulée "Ice Ice Baby : Coppin' RAM With DIY Cryo-Mechanical Robot".

La présentation se concentre sur un robot d'extraction de contenu RAM cryo-mécanique que Cui et ses collègues Grant Skipper et Yuanzhe Wu ont développé pour collecter des données décryptées à partir de modules de mémoire DDR3. La raison en est que les fabricants de matériel ont rendu plus difficile la rétro-ingénierie de leurs appareils - en désactivant les interfaces de débogage JTAG et les circuits UART, et en utilisant un boîtier BGA (ball grid array) et un micrologiciel crypté.

"Nous assistons à ce que j'appelle la finition des produits, où les fabricants suppriment de nombreuses interfaces de débogage", a déclaré Cui à The Register dans une interview. "Cela n'augmente pas nécessairement la sécurité du produit, mais cela rend l'introspection de l'appareil et l'ingénierie inverse de l'appareil beaucoup plus difficiles. C'est en quelque sorte une perte de temps à contourner certaines de ces choses matérielles.

"Nous avons donc décidé de changer en quelque sorte cette dynamique en empruntant une voie différente", a déclaré Cui. "Au lieu d'essayer de faire de l'injection de fautes, comme nous l'avons fait dans le passé, ou de faire de l'ingénierie inverse très invasive par ablation au laser, nous avons construit ce robot très abordable et étonnamment précis qui gèle littéralement une puce RAM sur l'appareil à la fois. ."

"Ensuite, nous retirons la mémoire physique de l'appareil lorsque nous voulons lire le contenu de la RAM physique - nous la claquons dans notre petit appareil FPGA. Il s'agit essentiellement de lire la mémoire physique en la saisissant de l'appareil, puis en la mettant physiquement dans le lecteur. Et cela a en fait étonnamment bien fonctionné », a expliqué Cui.

"Souvent, dans le chargeur de démarrage, vous verrez des clés de déchiffrement. Vous verrez également le code du chargeur de démarrage - souvent, si vous avez un micrologiciel chiffré sur flash et que vous disposez d'une ROM de démarrage sécurisée. même quelque peu, vous pouvez avoir du mal à accéder même pour lire le code.Mais avec cette approche, vous obtenez le code, vous obtenez toutes les données, vous obtenez la pile, vous obtenez le tas, vous obtenez toute la mémoire physique ", a-t-il raconté.

L'attaque de démarrage à froid d'origine, a déclaré Cui, impliquait de geler la mémoire d'un ordinateur portable en inversant une boîte d'air comprimé pour refroidir la DRAM de l'ordinateur. Lorsque les puces mémoire peuvent être ramenées à environ -50°C, les données représentées à l'intérieur peuvent être temporairement gelées - de sorte qu'elles persistent pendant plusieurs minutes, même lorsqu'elles sont éteintes.

"Mais si vous regardez les appareils embarqués, ils n'ont pas de RAM modulaire", a déclaré Cui. "Tout est soudé. Nous avons également travaillé sur un certain nombre de contrôleurs de mémoire très personnalisés. Nous avons utilisé cette approche pour effectuer le travail de divulgation des vulnérabilités de Siemens plus tôt cette année.

"Ainsi, une fois que nous avons obtenu une puce de mémoire qui fonctionne de manière fiable et qui lit correctement, nous avons dû faire non pas une mais cinq puces, car elles sont toutes entrelacées. Et puis trois des puces sont d'un côté de la carte, et deux Nous avons donc dû trouver un moyen de retirer magiquement les cinq puces de mémoire littéralement à la même instruction - ce qui est, vous savez, hilarant et compliqué et ce n'est tout simplement pas vraiment faisable. "

"Nous avons trouvé cette autre astuce vraiment cool où nous faisons celle-ci une à la fois et nous recherchons non seulement une exécution déterministe, mais nous examinons également l'émanation électromagnétique de l'appareil pour déterminer essentiellement où se trouve l'appareil. passer par des périodes de fonctionnement liées au processeur. Parce que si vous êtes lié au processeur, devinez ce que vous ne faites pas ? Vous n'écrivez pas à partir de la mémoire », se souvient-il.

"Ainsi, au lieu d'avoir besoin d'avoir des dizaines de nanosecondes de résolution temporelle lors du retrait de la puce mémoire, nous avons des périodes de dizaines de millisecondes où nous pouvons le faire. Et c'est ainsi que nous avons retiré cinq puces mémoire en même temps, et puis reconstruit la mémoire pour le chargeur de démarrage, le code et les données, et a obtenu une visibilité sur l'appareil."

Et des dizaines de millisecondes, a déclaré Cui, sont suffisamment longues pour qu'une machine à commande numérique par ordinateur (CNC) – acquise pour environ 500 $ auprès d'AliExpress et modifiée – effectue la manipulation de puce nécessaire.

Le robot - une machine CNC attachée à un lecteur de mémoire construit avec un réseau de portes programmables sur le terrain (FPGA) et un contrôleur basé sur un module ESP32 exécutant MicroPython - simplifie la technique d'attaque de démarrage à froid, la rendant moins onéreuse.

Cui a déclaré que le robot se compose d'une CNC qui a été dépouillée de composants imprécis, comme les moteurs et l'actionneur de l'axe X. Ce qui rend l'attaque possible, a-t-il dit, est ce qu'on appelle une prise de test de circuit intégré en élastomère conducteur.

Contrairement aux douilles de test typiques qui ont la forme d'une coquille et ont des broches métalliques, la douille de test en élastomère a la consistance d'ours gommeux durs et est imprimée avec des broches conductrices.

La flexibilité de la prise a permis d'avoir un piston poussant les puces de mémoire en place avec du matériel bon marché, sans endommager la carte de circuit imprimé ou les puces de mémoire. Et ces prises, qui coûtaient des centaines de dollars chacune il y a dix ans, peuvent maintenant être achetées pour quelque chose comme 30 $ sur Taobao.

En incorporant un système de lecture de mémoire basé sur FPGA, il n'est pas nécessaire d'obtenir l'exécution de code via un chargeur de démarrage personnalisé pour vider le contenu de la DRAM. Le robot simplifie également le processus d'attaque en transférant physiquement les puces DRAM entre l'appareil cible et le système de lecture.

Cui et ses collègues ont fait la démonstration de leur robot sur un automate Siemens SIMATIC S7-1500, à partir duquel ils ont pu récupérer le contenu des fichiers binaires du micrologiciel chiffré. Ils ont également mené une attaque tout aussi réussie sur la mémoire DRAM DDR3 d'un téléphone IP CISCO série 8800 pour accéder à la mémoire d'exécution ARM TrustZone.

Ils pensent que leur technique est applicable à des DDR4 et DDR5 plus sophistiquées si une plate-forme de lecture de mémoire basée sur FPGA plus chère (environ 10 000 $) est utilisée – un coût qui, selon eux, diminuera avec le temps.

Les attaques de démarrage à froid peuvent être contrées par le chiffrement de la mémoire physique, a déclaré Cui.

"Dans les types de processeurs modernes, ainsi que dans les consoles de jeux, ils utilisent déjà une mémoire entièrement cryptée", a expliqué Cui. "Cela irait à l'encontre de cette approche, car même si nous pouvions extraire la mémoire physique, nous aurions toujours besoin d'avoir la clé physique, qui se trouve ailleurs dans l'appareil."

"Mais plus une chose est importante pour le monde, moins elle a de sécurité", a-t-il déclaré. "Alors, devinez ce qui a [chiffrement de la mémoire] ? XBox l'a. PS5 l'a. Devinez ce qui n'en a pas ? Chaque processeur PLC [contrôleur logique programmable] sur la planète est efficace. Beaucoup d'infrastructures critiques intègrent des éléments dont nous dépendons, presque aucun d'entre eux ne s'occupe de ce genre d'attaque." ®

Envoyez-nous des nouvelles

Obtenir notre