Une faille de sécurité "Starbleed" découverte chez Xilinx : des appareils critiques se retrouvent vulnérables |
————— 22 Avril 2020 à 14h55 —— 10691 vues
Une faille de sécurité "Starbleed" découverte chez Xilinx : des appareils critiques se retrouvent vulnérables |
————— 22 Avril 2020 à 14h55 —— 10691 vues
Nous vous causons souvent des FPGA, ces puces programmables permettant un juste milieu entre l’exécution par un processeur généraliste (CPU) et la conception d’un circuit intégré sur silicium dédié — les fameux ASIC. Ils permettent en effet de battre le premier sur le plan des performances, surtout dans le cas de logique simple n’incluant pas de nombre à virgule flottante, sans jamais égaler l’efficacité énergétique des seconds, mais avec l’avantage d’un cycle de développement plus court et donc un coût total plus faible.
Ainsi, nous retrouvons des FPGA dans les écrans G-Sync, mais aussi dans des systèmes plus critiques comme l’automobile, les réseaux mobiles ou encore l’aéronautique. Dans le paysage industriel, nous retrouvons deux revendeurs de FPGA : Intel (depuis l’acquisition d’Altera) et Xilinx, ce dernier dominant grandement le marché.
Comme un FPGA est reconfigurable — c’est-à -dire que ses éléments logiques sont reprogrammables, ce qui en fait sa versatilité — un système de chiffrement est mis en place pour garantir l’authenticité du bitstream (le nom donné au fichier de configuration de la puce). Pour donner un exemple concret, les constructeurs n’ont pas vraiment envie que vous ayez un accès total à l’ordinateur de bord de votre voiture, et encore moins de copier le code qui y est implanté.
Sauf que, comme nous l’avons constaté avec Intel et Spectre, rien n’est infaillible, et un groupe de recherche a trouvé une faille, nommée Starbleed, dans le système de vérification du bitstream, qui est censé servir à s’assurer que le fichier a été correctement transmis à la puce — alors que ce dernier n’est accessible que chiffré en AES-256 par les autres ports. En effet, il est possible de manipuler le FPGA pour charger un nouveau bitstream, qui occasionnera une réinitialisation du périphérique et ira écrire 32 bits du bitstream original dans un registre prévu originellement pour un multiboot... en clair. Il suffit alors de lire le contenu de registre, et recommencer l’opération pour avoir accès à l’intégralité du programme, à condition d’avoir une poignée d’heures devant vous. Il est également possible de réaliser l’opération inverse : remplir le FPGA avec un nouveau programme sans casser les mécanismes de protection : plutôt consternant !
Au niveau des puces affectées, toute la série 7 ainsi que les Virtex-6 sont touchées, ce qui est d’autant plus consternant que la seule manière de pallier le problème est de changer le matériel, le protocole de chiffrement/déchiffrement du bitstream étant directement intégré dans le silicium. Voilà qui devrait coûter cher à certains clients... (Source : The Hacker News)
 | |
 | |
 | |
 | |
 | |
 | |
 | |
 | |
 | |
 | |
 | |
 |