Cet article se veut être une introduction à l’exécution d’un code sur un processeur spécialisé distant, incluant une composante sécurité. Ce n’est bien sûr par un concurrent à une enclave industrielle, mais la lecture de cet article devrait vous donner quelques clefs de compréhension !
L’obfuscation de code est un procédé consistant à compliquer l’analyse d’un programme par un attaquant potentiel. L’obfuscation traditionnelle agit sur le code source, ou bien le binaire du programme à exécuter, par exemple en changeant la représentation des données ou encore en ajoutant du code inutile. Cependant, plus l’obfuscation est efficace, plus elle complique le fonctionnement du programme : l’obfuscation a un impact sur les performances.
Ici, il s’agit d’utiliser un FPGA (Field-Programmable Gate Array), une carte programmable matériellement, et d’y implémenter un coprocesseur qui coopèrera avec le processeur (appelé CPU dans la suite de l’article) pour exécuter les programmes. Des fragments du programme à exécuter seront sélectionnés, déportés et exécutés sur le FPGA, afin de rendre la compréhension globale du code plus difficile pour un éventuel attaquant.
Ce qui suit est un résumé des recherches effectuées par...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première