Qualys

Security CommunityLa communauté des experts sécuritéen savoir plus

SecurityVibesQualys Community

Left content

FPGA : assurer la protection des designs électroniques contre la copie

auteur de l'article Jerome Saiz , dans la rubrique Conformité & Bonnes pratiques

Pour les entreprises qui créent des équipements électroniques avancés (routeurs de coeur de réseau, solutions de sécurité, etc…), la valeur ajoutée réside avant tout dans le design des circuits et le code qui les anime. L’assemblage est quant à lui réalisé chez un ou plusieurs prestataires, souvent situés à l’étranger. Les risques de vol ou de détournement sont alors multiples :

  • Sur-production illégale. Le partenaire industriel dispose des éléments et des outils nécessaire pour fabriquer le produit fini. Il peut donc en produire une quantité supplémentaire qu’il vendra pour son propre compte.
  • Pillage de la propriété intellectuelle. Le partenaire, s’il dispose des codes sources à déployer sur les équipements, peut être en mesure de copier ces derniers.
  • Clonage de l’équipement : un client peut cloner le design tel quel, ou – en procédant à une opération de rétro-enginérie – en comprendre le fonctionnement afin de développer sa propre version.

Les fabricants sont confrontés depuis très longtemps à ces risques. Le premier se maîtrise par des processus et des contrôles durant la production, tandis que les deux derniers sont quant à eux des risques purement techniques, contre lesquels des solutions peuvent être mises en oeuvre.

Tant que la conception de ces équipements était exclusivement basée autour de puces de type ASIC (des puces logiques gravées en usine une fois pour toute, chez un spécialiste différent du partenaire qui procèdera à l’assemblage), le risque était principalement celui d’un vol de la propriété intellectuelle au moment de graver les ASICs, par le détournement du fichier de description VHDL ou de l’image du circuit).

Certes, pour les ASIC le risque de rétro-ingénierie par attaque physique de la puce (pour photographier sa configuration logique) existe aussi, évidemment. Mais il s’agit d’une opération lourde qui ne se justifie que si la valeur de la propriété intellectuelle à la clé est particulièrement élevée (ça a, par exemple, été le cas du processeur Intel 80386, suspecté d’avoir été analysé de la sorte par la société Chips and Technologies afin de produire ses processeurs Super386, 38600SX et 38600DX).

Ce dernier risque pourrait toutefois évoluer car les techniques d’analyse photographique des puces se démocratisent, comme le prouve notamment le projet Visual6502, qui a procédé à l’analyse du mythique (et antique) processeur MOS 6502 afin d’en créer une version virtuelle depuis des images capturée au microscope d’inspection (la présentation Powerpoint du projet est d’ailleurs une lecture fascinante).

Les risques de la conception à base d’ASICs sont donc bien connus et maîtrisés. Toutefois l’industrie a pris depuis plusieurs années le chemin du FPGA (Field Programmable Gate Arrays). A l’inverse des ASICs, ces puces sont reprogrammables à volonté et leur souplesse introduit des contraintes de sécurité différentes.

Car si les FPGA ne sont pas vraiment exposés aux attaques par observation (étant reprogrammables, un attaquant n’obtiendrait que l’architecture du FPGA lui-même et non la logique propriétaire qu’il contient), ou de sur-production (le code peut être déployé chez le client, le partenaire ne le voit donc jamais), ils sont en revanche vulnérables à d’autres types d’attaques.

En effet le code du FPGA est volatile et doit donc être chargé à chaque démarrage dans la puce, le plus souvent à partir d’une mémoire non-volatile de type PROM. Ce composant est physiquement distinct du FPGA et il est donc possible à un attaquant d’observer ce flux de programmation au moment de la mise sous tension. Il obtiendrait alors sans difficulté les informations nécessaires au clonage de la plateforme.

Si cette vulnérabilité est restée exposée durant plusieurs années, certains fabricants de FPGA (Altera ou Xilinx, par exemple) ont depuis implémenté du chiffrement AES au sein de leurs puces. La clé de chiffrement est alors définie par le client du fabricant du FPGA (l’industriel propriétaire du design), ce qui élimine le risque d’interception du flux autant au moment de la configuration initiale qu’une fois le produit déployé chez le client. Mais la gestion des clés peut cependant devenir complexe, notamment si chaque équipement embarque une clé différente (une pour chaque client, afin par exemple de gérer les licences).

D’autres fabricants (Lattice par exemple) proposent quant à eux désormais de stocker le code dans une mémoire non-volatile au sein de la puce elle-même, ce qui limite là aussi le risque d’interception.

Une autre vulnérabilité connue des puces FPGA concerne l’accès via le port de configuration JTAG de l’équipement. Ce type d’accès physique à des fins malveillantes est connu de longue date, et les attaques potentielles sont nombreuses. Dans le cadre d’un FPGA le risque mis en avant est celui de la rétro-ingénierie par stimulation de la puce afin d’en déduire le fonctionnement logique (une approche longue et laborieuse cependant, selon le fabricant Altera).

Les attaques complexes que certains sont prêts à mener contre ces puces, qu’il s’agisse d’ASICs ou de FPGA, illustrent en partie le grand écart entre notre économie de plus en plus basée sur le savoir et notre incapacité à conserver l’industrialisation de ce savoir localement. En outre, la valeur ajoutée de l’entreprise est de toute manière appelée à être disséminée afin de lui être utile (soit parce qu’elle doit être fabriquée ou assemblée à l’étranger, soit tout simplement par ce qu’elle doit être chez le client) et doit donc embarquer ses propres règles de sécurité et les moyens de les faire respecter elle-même (c’est notamment le cas avec le DRM).

Et il s’agit là, pour la SSI, d’un horizon passionnant à explorer et à créer !


Vous avez aimé cet article?

Cliquez sur le bouton J'AIME ou partagez le avec vos amis!

Notez L'article

Participez ou lancez la discussion!

Une réponse à FPGA : assurer la protection des designs électroniques contre la copie

Catégories

Étiquettes

Archives

Ce site est une archive des messages à SecurityVibes de Septembre 2000 à Juillet 2014. S'il vous plaît visitez le Qualys Community pour les dernières nouvelles.