Crédit :CC0 Domaine Public
Réseaux de portes programmables sur le terrain, FPGA en abrégé, sont des puces informatiques programmables de manière flexible qui sont considérées comme des composants très sécurisés dans de nombreuses applications. Dans un projet de recherche commun, des scientifiques de l'Institut Horst Görtz pour la sécurité informatique de la Ruhr-Universität Bochum et de l'Institut Max Planck pour la sécurité et la confidentialité ont maintenant découvert qu'une vulnérabilité critique est cachée dans ces puces. Ils ont appelé le bogue de sécurité "Starbleed". Les attaquants peuvent obtenir un contrôle total sur les puces et leurs fonctionnalités via la vulnérabilité. Puisque le bug est intégré au matériel, le risque de sécurité ne peut être éliminé qu'en remplaçant les puces. Le fabricant des FPGA a été informé par les chercheurs et a déjà réagi.
Les chercheurs en sécurité présenteront les résultats de leurs travaux lors du 29e Symposium sur la sécurité d'Usenix qui se tiendra en août 2020 à Boston, Massachusetts, États-Unis. L'article scientifique est disponible en téléchargement sur le site Web d'Usenix depuis le 15 avril 2020.
Focus sur le flux binaire
Les puces FPGA peuvent être trouvées dans de nombreuses applications critiques pour la sécurité aujourd'hui, des centres de données cloud et des stations de base de téléphonie mobile aux clés USB cryptées et aux systèmes de contrôle industriels. Leur avantage décisif réside dans leur reprogrammabilité par rapport aux puces matérielles classiques avec leurs fonctionnalités fixes.
Cette reprogrammabilité est possible car les composants de base des FPGA et leurs interconnexions peuvent être librement programmés. En revanche, les puces informatiques conventionnelles sont câblées et, donc, dédié à un seul but. La cheville ouvrière des FPGA est le flux binaire, un fichier qui est utilisé pour programmer le FPGA. Afin de le protéger adéquatement contre les attaques, le bitstream est sécurisé par des méthodes de cryptage. Dr Amir Moradi et Maik Ender de l'Institut Horst Görtz, en coopération avec le professeur Christof Paar de l'Institut Max Planck de Bochum, Allemagne, réussi à déchiffrer ce bitstream protégé, accéder au contenu du fichier et le modifier.
Leader du marché touché
Dans le cadre de leurs recherches, les scientifiques ont analysé les FPGA de Xilinx, l'un des deux leaders du marché des matrices de portes programmables sur site. La vulnérabilité Starbleed affecte les FPGA de la série 7 de Xilinx avec les quatre familles de FPGA Spartan, Artix, Kintex et Virtex ainsi que la version précédente Virtex-6, qui forment une grande partie des FPGA Xilinx utilisés aujourd'hui. « Nous avons informé Xilinx de cette vulnérabilité et avons ensuite travaillé en étroite collaboration pendant le processus de divulgation de la vulnérabilité. En outre, il apparaît hautement improbable que cette vulnérabilité se produise dans la dernière série du constructeur, " rapporte Amir Moradi. Xilinx publiera également des informations sur son site Web pour les clients concernés.
L'avantage des puces se transforme en inconvénient
Pour surmonter le cryptage, l'équipe de recherche a profité de la propriété centrale des FPGA :la possibilité de reprogrammation. Ceci est fait par une fonction de mise à jour et de secours dans le FPGA lui-même, qui s'est révélée comme une faiblesse et une porte d'entrée. Les scientifiques ont pu manipuler le bitstream crypté pendant le processus de configuration pour rediriger son contenu décrypté vers le registre de configuration WBSTAR, qui peut être lu après une réinitialisation.
Ainsi, l'avantage de reprogrammer individuellement les puces se transforme en inconvénient, comme le montrent les scientifiques dans leurs travaux de recherche, avec de graves conséquences :« Si un attaquant accède au bitstream, il obtient également un contrôle complet sur le FPGA. Les propriétés intellectuelles incluses dans le flux binaire peuvent être volées. Il est également possible d'insérer des chevaux de Troie matériels dans le FPGA en manipulant le flux binaire. Étant donné que la faille de sécurité se situe dans le matériel lui-même, il ne peut être fermé qu'en remplaçant la puce, " explique Christof Paar, ajoutant :« Bien que des connaissances approfondies soient requises, une attaque peut éventuellement être menée à distance - l'attaquant n'a même pas besoin d'avoir un accès physique au FPGA."