Rétro-ingénierie de MCU

Déverrouillage de microcontrôleur - MikaTech

Nos valeurs et objectifs

À propos de MikaTech

Le temps a passé vite : depuis notre premier projet de rétro-ingénierie de MCU 8051 en 1998 jusqu'à la création de notre laboratoire de rétro-ingénierie d'un million de dollars en 2012, 14 ans se sont écoulés. Aujourd'hui, nous lançons une nouvelle activité de développement de systèmes embarqués pour la visualisation, et nous espérons servir encore 10 ans.

signature Peter Lee Co-fondateur et PDG

Vulnérabilités des microcontrôleurs embarqués modernes

Résumé

Les microcontrôleurs embarqués sont devenus le cœur informatique fondamental des systèmes électroniques modernes, couvrant l'électronique grand public, le contrôle industriel, les paiements financiers, les équipements militaires et l'instrumentation médicale. La propriété intellectuelle (PI) intégrée dans le micrologiciel des microcontrôleurs, y compris les algorithmes de contrôle propriétaires, la logique métier et les routines de traitement de données chiffrées, constitue l'actif commercial et technique principal des développeurs de dispositifs. Cet article mène une évaluation complète de la sécurité des mécanismes de protection contre la copie déployés dans les microcontrôleurs modernes grand public. Il démontre systématiquement que les microcontrôleurs génériques ne disposent pas de protections matérielles et logicielles fondamentales contre la lecture non autorisée du micrologiciel, le clonage de code et la falsification de la PI. L'étude établit une taxonomie hiérarchique des méthodologies d'attaque des microcontrôleurs basée sur les menaces, couvrant les voies d'exploitation non invasives, invasives à faible coût et de rétro-ingénierie haut de gamme. En outre, cet article résume et analyse des technologies de défense pratiques et rentables adaptées aux microcontrôleurs génériques et de qualité sécurité, fournissant des directives exploitables aux développeurs embarqués pour renforcer la protection contre la copie du micrologiciel. Cette version enrichie complète les principes physiques des semi-conducteurs sous-jacents, la dérivation détaillée des mécanismes d'attaque et les cas d'application industrielle pour approfondir la portée et la praticabilité de la recherche originale.

1. Introduction

Les microcontrôleurs embarqués sont omniprésents dans les écosystèmes électroniques contemporains, servant de cerveau à d'innombrables dispositifs intelligents dans divers niveaux d'application. Les amateurs utilisent des microcontrôleurs d'entrée de gamme à faible coût pour construire des dispositifs interactifs DIY, des prototypes robotiques et des nœuds de capteurs à petite échelle à des fins éducatives et ludiques. Les petites et moyennes entreprises déploient des microcontrôleurs de milieu de gamme dans des instruments de mesure industriels, des modules de contrôle automatisés, des terminaux de surveillance environnementale et des appareils électroménagers pour mettre en œuvre une logique métier personnalisée. Les scénarios de haute fiabilité, y compris l'avionique militaire, les terminaux de sécurité gouvernementaux, les terminaux de paiement bancaire et les dispositifs de diagnostic médical clinique, reposent sur des microcontrôleurs dédiés renforcés pour la sécurité et des cœurs de traitement de cartes à puce pour traiter des données classifiées et sensibles à la vie privée.

Chaque microcontrôleur exécute une séquence d'instructions fixe stockée dans sa mémoire programme non volatile, définie comme l'algorithme de micrologiciel développé par les ingénieurs. La plupart des micrologiciels embarqués sont finalement compilés en instructions assembleur natives, même si le code source de haut niveau est écrit en C, C++ ou Rust pendant la phase de développement. Ce processus de compilation transforme la logique lisible par l'homme en codes opérationnels exécutables par la machine adaptés à l'architecture de jeu d'instructions (ISA) spécifique du microcontrôleur. Un petit nombre de plates-formes de niche de bas niveau adoptent des modèles d'exécution BASIC ou Java interprétés, mais ces architectures ont une pénétration limitée dans les applications industrielles et critiques pour la sécurité en raison des contraintes de performance et de mémoire.

Pour les développeurs de micrologiciels et les fabricants d'équipement d'origine (OEM), la protection de la propriété intellectuelle est une exigence opérationnelle fondamentale. Les développeurs cherchent à empêcher des tiers non autorisés de lire, copier, rétro-ingénierie et redistribuer leur micrologiciel propriétaire, afin de contrôler le volume de production des dispositifs finaux, d'éviter le piratage du marché et de maintenir des avantages techniques concurrentiels. Pour répondre à cette demande, les fabricants de semi-conducteurs intègrent des mécanismes de verrouillage matériel dédiés et des fonctions de protection contre la copie basées sur le micrologiciel dans leurs produits de microcontrôleurs.

Lorsqu'elles sont activées lors de la programmation du dispositif, ces fonctions de protection limitent les programmeurs externes et les interfaces de débogage à vider la mémoire programme complète et les données utilisateur stockées à l'intérieur de la puce. Cette fonction anti-clonage est universellement appelée protection contre la copie ou verrouillage de code dans l'industrie des semi-conducteurs embarqués. Avant le déploiement dans les produits finaux, tous les microcontrôleurs doivent subir un processus de programmation unique ou répété pour écrire les fichiers binaires compilés du micrologiciel dans leurs matrices de mémoire non volatile.

Le flux de travail de programmation, les exigences matérielles et les méthodes de configuration de la protection varient considérablement selon les fabricants, les familles de produits et les types de mémoire. Pour la recherche, les tests et la validation de prototypes, les fabricants fournissent des variantes de microcontrôleurs entièrement reprogrammables qui prennent en charge l'effacement et l'écriture répétés du micrologiciel. Pour la production commerciale en petites séries, les microcontrôleurs programmables une fois (OTP) sont l'option privilégiée, car ils éliminent les risques de sur-effacement et présentent des coûts unitaires et de programmation inférieurs à ceux de leurs homologues reprogrammables.

Pour la production de masse à grande échelle dépassant des milliers d'unités, les microcontrôleurs à mémoire morte masquée (Mask ROM) offrent le coût unitaire le plus bas. Cependant, cette solution impose une quantité de commande minimale de 1 000 pièces et nécessite une solidification du micrologiciel pendant la fabrication des tranches, ne laissant aucune place à une modification ultérieure du programme ou à une correction de bogues. Après le développement, la compilation et la vérification fonctionnelle du code du micrologiciel, l'image binaire doit être chargée dans le microcontrôleur cible via un matériel de programmation dédié.

Ce matériel de programmation, connu sous le nom de programmeur de dispositifs ou unité de programmation, diffère considérablement en complexité et en coût. La plupart des microcontrôleurs génériques d'entrée de gamme prennent en charge des programmeurs simples et peu coûteux composés d'un adaptateur secteur CC, de transistors discrets, de résistances de limitation de courant et d'un connecteur série RS232 ou parallèle standard. Ces programmeurs DIY sont largement accessibles aux amateurs et aux petits développeurs en raison de leur conception de circuit simple et de leur micrologiciel open-source.

En revanche, un petit nombre de familles de microcontrôleurs haute sécurité imposent l'utilisation de programmeurs cryptés exclusifs au fabricant avec des protocoles de communication fermés. Ces programmeurs propriétaires intègrent des mécanismes d'authentification d'identité et ne peuvent pas être reproduits par du matériel tiers, ce qui rend ces microcontrôleurs impopulaires dans la communauté embarquée ouverte en raison des barrières d'approvisionnement et des coûts élevés.

Pour un fonctionnement stable à long terme, en particulier pour les microcontrôleurs OTP qui ne peuvent pas être reprogrammés après l'écriture, des programmeurs certifiés de qualité industrielle sont fortement recommandés. Ces dispositifs fournissent une régulation de tension précise, une protection contre les décharges électrostatiques (ESD), un contrôle de temporisation normalisé et des journaux de programmation traçables, entièrement conformes aux spécifications officielles de la plupart des fournisseurs de semi-conducteurs. Les ingénieurs peuvent obtenir des manuels de paramètres complets, des schémas de câblage et des listes de compatibilité des programmeurs certifiés sur les sites Web officiels des fabricants de microcontrôleurs.

Malgré le déploiement généralisé de la protection contre la copie intégrée, la plupart des microcontrôleurs génériques présentent des faiblesses de sécurité inhérentes dans leurs mécanismes de verrouillage. De nombreux circuits de protection sont conçus avec une logique simplifiée pour réduire la surface de la puce et le coût de production, ce qui les rend vulnérables aux perturbations physiques, à l'exploitation logicielle et à la falsification invasive à faible coût. Cet article classe d'abord les microcontrôleurs par niveau de sécurité et type de mémoire, puis analyse systématiquement les vecteurs d'attaque courants, et enfin propose des stratégies défensives hiérarchiques adaptées à différents budgets de coûts applicatifs.

2. Classification et caractéristiques principales des microcontrôleurs modernes

Pour évaluer avec précision les performances de la protection contre la copie et les niveaux de vulnérabilité, tous les microcontrôleurs embarqués peuvent être divisés en deux catégories distinctes en fonction de l'architecture de sécurité matérielle : les microcontrôleurs génériques ordinaires et les microcontrôleurs de qualité sécurité dédiés. Cette classification est fondamentale pour l'analyse ultérieure des attaques et la conception des défenses, car les deux catégories adoptent des conceptions de limites de sécurité et des capacités de résistance aux menaces complètement différentes.

Les microcontrôleurs de qualité sécurité sont spécialement conçus pour des scénarios d'application à haut risque, notamment les systèmes de contrôle militaires, les terminaux de transactions financières, les équipements médicaux cliniques et les porte-monnaie de cartes à puce sans contact. Ils constituent les unités de traitement centrales des environnements d'exécution de confiance (TEE) dans les dispositifs critiques pour la sécurité. Contrairement aux puces ordinaires, ils prennent en charge plusieurs modes de privilège opérationnel isolés et des niveaux d'autorisation d'accès mémoire hiérarchiques pour empêcher les fuites de données entre domaines.

Une fonctionnalité avancée clé des microcontrôleurs de sécurité est la protection par chiffrement de bout en bout couvrant toute la puce. Cela inclut non seulement les interfaces de communication externes chiffrées pour empêcher l'écoute des transmissions de données hors puce, mais aussi le chiffrement du bus sur puce qui brouille tous les signaux d'adresse et de données transmis entre le cœur du processeur, la mémoire et les modules périphériques. Des mécanismes matériels supplémentaires tels que le masquage de signal, le brouillage de gigue d'horloge et les capteurs anti-falsification sur puce sont intégrés pour contrer les analyses par canaux auxiliaires.

Lancer des attaques efficaces contre les microcontrôleurs de qualité sécurité nécessite des équipements de test de semi-conducteurs ultra-précis, des connaissances professionnelles en cryptanalyse et des compétences avancées en rétro-ingénierie de puces. Le coût de l'attaque et le seuil technique sont extrêmement élevés, de sorte que les performances de sécurité de ces puces ne sont pas l'objet de cet article et seront discutées séparément dans des recherches spécialisées ultérieures.

Les microcontrôleurs génériques ordinaires dominent le marché embarqué grand public, couvrant l'électronique grand public, l'automatisation industrielle et les modules auxiliaires automobiles à faible consommation. Presque tous les microcontrôleurs ordinaires intègrent des verrous de protection contre la copie de base pour interdire le vidage du micrologiciel externe après la programmation. Cependant, les développeurs embarqués doivent reconnaître que la plupart de ces mécanismes de protection natifs sont structurellement faibles et peuvent être contournés par des méthodes d'attaque à faible coût.

La classification secondaire la plus raisonnable des microcontrôleurs ordinaires est basée sur le type physique de leur mémoire programme, car le principe de stockage de la mémoire détermine directement la robustesse de la protection contre la copie et la difficulté d'attaque. Différentes technologies de mémoire ont des caractéristiques de rétention de charge, des paramètres de temporisation d'accès et des mécanismes d'effacement distincts, qui constituent la cause profonde des performances de vulnérabilité différenciées. Le tableau suivant résume les principaux paramètres techniques, les caractéristiques de programmation et les attributs de coût de sept types de mémoire programme pour microcontrôleurs embarqués.

Type de mémoire programme

Méthode de programmation

Possibilité de mise à jour du programme

Temps d'accès mémoire (vitesse maximale du cœur)

Vitesse de programmation / Temps d'effacement

Coût unitaire du microcontrôleur / Programmeur

Résistance native contre la copie

ROM masquée (ROM)

Programmation masquée en usine (commande min. 1000 unités)

Aucune mise à jour post-production

10 ns (100MHz)

2-4 semaines de délai de fabrication / N/A

Faible / Non requis

Élevée (variante résistante à la lecture optique disponible)

ROM programmable une fois (OTP ROM)

Écriture par programmateur dédié hors ligne

Aucune mise à jour après programmation

100 ns (10MHz)

50 mots/sec / N/A

Moyen / Moyen

Faible (vulnérable aux attaques UV et par glitch)

EPROM effaçable aux UV (UV EPROM)

Programmateur / Programmation en circuit (ICP)

Jusqu'à 100 cycles d'effacement-écriture

100 ns (10MHz)

50 mots/sec / 10-30 minutes d'effacement UV

Élevé / Moyen

Faible (structure identique à l'OTP)

EPROM électriquement effaçable (EEPROM)

Programmateur / ICP

Jusqu'à 10 000 cycles

200 ns (5MHz)

100 mots/sec / 10 ms d'effacement électrique

Élevé / Faible

Moyenne (résiste aux attaques invasives simples)

EPROM flash (Flash EPROM)

Programmateur / ICP

Jusqu'à 100 000 cycles

100 ns (10MHz)

500 mots/sec / 5 ms d'effacement par bloc

Élevé / Faible

Faible-Moyenne (largement exploitable par glitch)

RAM ferroélectrique (FRAM)

Programmateur / ICP

Jusqu'à 10¹² cycles ultra-élevés

200 ns (5MHz)

2 Mbytes/sec / Aucun effacement requis

Élevé / Faible

Élevée (mécanisme de stockage ferroélectrique unique)

RAM statique (SRAM)

Programmation pure en circuit

Réécriture volatile illimitée

20 ns (50MHz)

20 Mbytes/sec / Aucun effacement requis

Élevé / Faible

Moyenne-Élevée (mémoire volatile anti-invasive)

Sur la base de la classification de la mémoire ci-dessus, la difficulté d'attaque et l'efficacité de la protection de chaque type de microcontrôleur peuvent être analysées quantitativement. Les microcontrôleurs à ROM masquée intègrent le micrologiciel lors de la fabrication des tranches, avec une interdiction d'accès au niveau matériel définie par le fournisseur. Cependant, certaines puces ROM masquée conservent des programmes de test de surveillance d'usine cachés pour la vérification de la mémoire post-production, qui peuvent être exploités comme portes dérobées pour contourner les restrictions d'accès. La méthode d'extraction de micrologiciel la plus fiable pour la ROM masquée est le dénudage de la puce et la lecture optique de la mémoire.

Pour améliorer les performances anti-lecture optique, certains fabricants fabriquent des cellules ROM en utilisant des transistors à tensions de seuil différenciées, au lieu de la méthode de stockage binaire traditionnelle présence/absence de transistor. Ce stockage basé sur le seuil ne peut pas être déchiffré par observation optique de surface, nécessitant un micro-sondage ou une gravure chimique sélective pour extraire les données stockées.

Les microcontrôleurs à ROM OTP permettent aux développeurs d'activer les fusibles de protection du code lors de la programmation initiale. Même avec la protection activée, des attaques invasives et non invasives restent réalisables. Les méthodes invasives à faible coût courantes incluent l'irradiation UV ciblée des fusibles de protection, la découpe laser des lignes de signal de verrouillage et la restauration manuelle des fusibles sur des stations de sondage. Les attaques non invasives appliquent des signaux électriques anormaux pour tromper la machine d'état de protection sur puce afin d'invalider les indicateurs de verrouillage.

Les microcontrôleurs à EPROM UV partagent une architecture de circuit interne identique à celle des dispositifs OTP, ne différant que par leurs boîtiers en céramique avec fenêtres en quartz transparent pour l'effacement ultraviolet. Ainsi, leurs vulnérabilités de protection contre la copie et leurs méthodes d'attaque sont complètement cohérentes avec celles des OTP. Les microcontrôleurs à base d'EEPROM présentent une résistance plus forte aux attaques invasives, car leurs données sont stockées via une accumulation de charge en grille flottante, plus difficile à manipuler physiquement que les cellules logiques à transistors.

Néanmoins, les puces EEPROM sont encore sensibles au micro-sondage de bus par des attaquants qualifiés. Plus important encore, les cellules de mémoire EEPROM ont des caractéristiques de réponse très sensibles à la temporisation des signaux de contrôle et aux niveaux de tension, ce qui rend les attaques non invasives par glitch extrêmement efficaces. Les attaquants peuvent effacer sélectivement les fusibles de sécurité ou induire des erreurs de la machine d'état pour contourner facilement la logique de protection.

Les microcontrôleurs à EPROM Flash dominent le marché embarqué actuel, avec des niveaux de vulnérabilité presque identiques à ceux des dispositifs EEPROM. La force de protection varie légèrement selon les itérations des fournisseurs, mais presque tous les microcontrôleurs Flash commerciaux ont des méthodes de contournement non invasives publiquement divulguées. Les microcontrôleurs FRAM adoptent un stockage par polarisation ferroélectrique, doté d'une capacité anti-glitch et anti-perturbation de charge inhérente, offrant la meilleure sécurité native parmi les types de mémoire ordinaires, bien que les attaques par micro-sondage restent efficaces.

Les microcontrôleurs à base de SRAM stockent le micrologiciel dans une mémoire volatile qui perd toutes ses données lorsque l'alimentation est coupée. Cette caractéristique les rend hautement résistants à la falsification invasive, car toute opération de dénudage de la puce interrompra l'alimentation et effacera instantanément le micrologiciel. Cependant, des bogues matériels et logiciels dans certaines puces de sécurité SRAM créent des surfaces d'attaque non invasives exploitables, comme la vulnérabilité publiquement documentée du microcontrôleur à bus crypté Dallas Semiconductor DS5002FP.

3. Taxonomie générale des technologies d'attaque des microcontrôleurs

Un vaste éventail de systèmes numériques critiques repose sur les capacités de résistance à la falsification des dispositifs de traitement embarqués. Cet écosystème comprend les terminaux d'accès conditionnel à la télévision payante, les modules de bande de base GSM, les compteurs intelligents prépayés de gaz et d'électricité, et les puces de porte-monnaie électronique à carte à puce. La rentabilité commerciale et la sécurité des données de ces systèmes dépendent fondamentalement de l'incapacité des adversaires à extraire les clés intégrées et le micrologiciel propriétaire de la mémoire interne.

Il est crucial de préciser que la résistance à la falsification des puces n'est jamais absolue. Tout adversaire équipé d'instruments de test de semi-conducteurs professionnels peut extraire des matériaux de clé confidentiels et des données de micrologiciel en observant et en manipulant directement les composants du circuit sur puce. L'industrie de la sécurité embarquée a atteint un consensus universel : avec des investissements en capital, des ressources temporelles et une expertise technique suffisants, tout dispositif résistant à la falsification à l'échelle d'une puce peut être finalement pénétré et déchiffré.

Par conséquent, le niveau de sécurité pratique d'un microcontrôleur n'est pas défini par une inviolabilité absolue, mais par le coût temporel, l'investissement financier et le seuil technique que ses mécanismes de protection intégrés imposent aux attaquants. L'évaluation de ces trois mesures de pénalité fondamentales est essentielle pour l'ingénierie de sécurité embarquée, mais ce sujet a longtemps reçu une attention insuffisante de la part des chercheurs académiques, des évaluateurs de sécurité et des ingénieurs matériels industriels.

Toutes les attaques existantes ciblant la protection contre la copie des microcontrôleurs peuvent être classées en quatre classes de menace standardisées en fonction de l'impact physique, du coût de l'équipement et du principe technique. Cette taxonomie à quatre dimensions a été proposée pour la première fois par Anderson et Kuhn dans des recherches classiques sur la sécurité embarquée, et elle reste le cadre de classification le plus faisant autorité à ce jour.

Premièrement, les techniques de micro-sondage appartiennent aux attaques matérielles invasives qui nécessitent un accès physique direct à la surface nue de la puce en silicium. Les attaquants utilisent des équipements de positionnement de précision et des aiguilles de sondage à l'échelle nanométrique pour contacter les interconnexions métalliques sur puce, permettant une observation en temps réel de la transmission des signaux, une manipulation intentionnelle de la logique et une interférence avec le fonctionnement normal du circuit intégré.

Deuxièmement, les attaques logicielles exploitent les interfaces de communication et de débogage externes standard du microcontrôleur. Elles exploitent les vulnérabilités logiques des protocoles d'application, les défauts d'implémentation des algorithmes cryptographiques, les bogues de la machine d'état du micrologiciel et les failles de la logique de contrôle d'accès pour contourner la protection sans aucune modification physique de la puce.

Troisièmement, les techniques d'écoute sont des attaques passives par canaux auxiliaires qui surveillent les caractéristiques physiques analogiques pendant le fonctionnement normal de la puce avec une haute résolution temporelle. Les signaux surveillés incluent les fluctuations du courant d'alimentation, les transitoires de tension des broches d'interface et les rayonnements électromagnétiques émis par les commutations logiques sur puce, qui divulguent des informations implicites sur les instructions exécutées et les bits de clé secrets.

Quatrièmement, les techniques de génération de défauts appliquent activement des conditions environnementales externes anormales pour induire des dysfonctionnements intentionnels du processeur. Ces défauts artificiellement injectés perturbent le flux d'exécution normal du micrologiciel, déverrouillent des modes d'accès restreints et exposent des zones mémoire protégées inaccessibles dans des conditions de fonctionnement standard.

Toutes les méthodes d'exploitation basées sur le micro-sondage sont classées comme attaques invasives. Elles nécessitent un fonctionnement continu de plusieurs heures à quelques semaines dans un environnement de laboratoire dédié blindé contre les décharges électrostatiques. Le processus de dénudage détruit définitivement le boîtier en plastique d'origine de la puce, rendant le dispositif non fonctionnel pour une utilisation commerciale après l'attaque. Les trois autres catégories d'attaques sont définies comme des attaques non invasives, qui laissent le boîtier de la puce intact et ne causent aucun dommage physique permanent au dispositif.

L'équipement de test utilisé pour les attaques non invasives peut être facilement déguisé en lecteurs de cartes à puce commerciaux ordinaires ou en programmeurs de microcontrôleurs génériques, ce qui les rend difficiles à détecter dans les scénarios de déploiement sur le terrain. Les attaques non invasives présentent deux menaces graves uniques pour les applications critiques que les méthodes invasives n'ont pas.

Premièrement, l'utilisateur final du microcontrôleur compromis ne peut pas percevoir que les clés confidentielles ou le micrologiciel ont été volés, car le dispositif conserve des performances fonctionnelles normales après l'exploitation non invasive. Les fournisseurs de services et les administrateurs système ne révoqueront pas les justificatifs compromis avant l'abus malveillant, ce qui entraîne des risques de sécurité latents à long terme.

Deuxièmement, les configurations d'attaque non invasive présentent une excellente évolutivité. Le matériel et le micrologiciel de base de l'équipement d'attaque peuvent être reproduits, modifiés et mis à niveau à un coût marginal extrêmement faible, permettant un craquage par lots à grande échelle de nombreux dispositifs de microcontrôleurs identiques par un seul attaquant.

La logique de développement technique des attaques de microcontrôleurs suit un modèle industriel fixe. La conception d'attaques par canaux auxiliaires non invasives de haute précision nécessite une connaissance approfondie préalable de l'architecture du processeur cible, de la disposition de la mémoire et de la logique d'exécution du micrologiciel. En revanche, les attaques invasives par micro-sondage ont des exigences de connaissances initiales faibles et adoptent des processus techniques universels applicables à presque tous les produits semi-conducteurs du même nœud de procédé.

Pour cette raison, la plupart des chaînes d'attaque commencent par une rétro-ingénierie invasive pour déchiffrer la structure interne et la logique de protection de la puce. Les données techniques obtenues à partir de l'analyse invasive sont ensuite utilisées pour développer des outils d'attaque non invasifs à faible coût, rapides et évolutifs pour un déploiement de masse. Cette évolution en deux étapes de l'attaque est la raison principale pour laquelle les systèmes de protection des microcontrôleurs génériques échouent dans les scénarios anti-piratage à grande échelle.

3.1 Attaques non invasives sur les microcontrôleurs

Les attaques non invasives sont les méthodes d'exploitation les plus répandues et les plus pratiquement menaçantes pour les microcontrôleurs ordinaires, en raison de leur faible coût, de leur réutilisabilité et de leurs caractéristiques indétectables. Depuis 1996, l'auteur a mené des recherches expérimentales systématiques sur les méthodes de contournement non invasif de la protection contre la copie sur des centaines de modèles de microcontrôleurs grand public de fournisseurs mondiaux. Le microcontrôleur PIC16F84 a été le premier sujet de test déchiffré avec succès via un équipement d'attaque par glitch auto-développé, marquant le début de la recherche à long terme dans ce domaine.

La plate-forme d'attaque non invasive personnalisée de l'auteur est construite sur un PC IBM exécutant des systèmes d'exploitation MS-DOS ou Windows 95/98 hérités, toute la logique de contrôle étant programmée en C++. Ce matériel de programmation dédié est conçu pour générer des tensions d'alimentation et des impulsions de programmation ultra-rapides à large plage réglable, ce qui est la condition préalable matérielle fondamentale pour mener des attaques par glitch d'alimentation et par glitch d'horloge.

Le module de génération de signaux de la plate-forme sort 32 canaux logiques numériques configurables avec des niveaux de seuil haut/bas réglables, et certains canaux prennent en charge le mode de sortie à drain ouvert pour une adaptation de charge flexible. Parallèlement, la plate-forme dispose de 16 canaux d'entrée de signal à haute impédance pour capturer les signaux de réponse en temps réel du microcontrôleur cible pendant l'injection d'attaque. Cette configuration de canaux est suffisante pour couvrir les définitions de broches et les interfaces de communication de plus de 95 % des microcontrôleurs 8 bits et 16 bits.

La base matérielle de la plate-forme comprend une carte support de socket remplaçable avec des prises de broches dédiées pour tous les boîtiers de microcontrôleurs testés. Pour les variantes de disposition de broches spéciales, des sockets adaptateurs auxiliaires sont utilisés pour assurer une connexion électrique fiable sans modification physique de la puce cible.

Les vecteurs d'attaque non invasifs les plus courants se concentrent sur la manipulation des deux paramètres de fonctionnement principaux des microcontrôleurs : la tension d'alimentation et les signaux d'horloge d'entrée. L'injection de sous-tension réduit la tension de fonctionnement du cœur en dessous du seuil minimum spécifié dans la fiche technique, tandis que le stress de surtension augmente la tension au-delà de la limite maximale de sécurité. Ces deux méthodes peuvent désactiver les circuits de protection matérielle dédiés ou forcer le pipeline du processeur à exécuter des instructions incorrectes hors spécification.

De nombreux microcontrôleurs renforcés pour la sécurité intègrent des capteurs de détection de tension intégrés pour surveiller les niveaux de tension de fonctionnement statiques. Cependant, presque tous ces capteurs présentent des défauts de latence de réponse inhérents et ne peuvent pas détecter les glitches de tension transitoires à l'échelle nanoseconde. Des impulsions d'alimentation transitoires rapides peuvent réinitialiser temporairement la machine d'état de protection sur puce sans effacer ni endommager le micrologiciel protégé et les données de clé stockées dans la mémoire non volatile.

Des transitoires d'alimentation et d'horloge précis peuvent également interférer avec le processus de décodage et d'exécution des instructions d'opcodes individuels du processeur. Chaque transistor et interconnexion métallique sur la puce forme un réseau de retard RC inhérent avec une latence de propagation de signal fixe. La fréquence d'horloge stable maximale du microcontrôleur est déterminée par le chemin de retard RC le plus long parmi tous les éléments logiques internes.

De même, chaque bascule CMOS a une fenêtre d'échantillonnage ultra-étroite de quelques picosecondes seulement pour verrouiller les niveaux de tension d'entrée et mettre à jour les états de sortie. Cette fenêtre est fixée pour une puce individuelle à une tension et une température spécifiques, même dans la plage de temps de configuration/maintien standard spécifiée dans la fiche technique officielle.

En injectant un glitch d'horloge (une impulsion bien plus courte que le cycle d'horloge standard) ou un glitch d'alimentation (une impulsion de tension transitoire rapide pic/chute), les attaquants peuvent perturber sélectivement le comportement de commutation des transistors ciblés. Grâce à une recherche systématique des paramètres de glitch (amplitude, largeur et synchronisation d'injection), le processeur peut être forcé d'exécuter des instructions invalides indéfinies qui ne sont pas incluses dans le jeu d'instructions microcode officiel.

Bien que la correspondance exacte entre les paramètres de glitch et les instructions erronées ne puisse pas être prédite théoriquement à l'avance, des tests de recherche automatisée via la plate-forme de programmateur personnalisée peuvent localiser rapidement des configurations de glitch efficaces pour des modèles de microcontrôleurs spécifiques. Cette méthode de recherche par force brute est simple à mettre en œuvre et très efficace pour les puces génériques avec des paramètres de procédé fixes.

L'analyse de la consommation d'énergie, également connue sous le nom d'analyse de puissance simple (SPA) et d'analyse de puissance différentielle (DPA), est une autre menace non invasive mature. Une résistance d'échantillonnage de haute précision de 10-15 Ω est connectée en série avec la boucle d'alimentation du microcontrôleur pour convertir les fluctuations de courant dynamiques en signaux de tension mesurables.

Un convertisseur analogique-numérique (CAN) avec une résolution de quantification d'au moins 12 bits est utilisé pour échantillonner le signal de tension, la fréquence d'échantillonnage étant définie comme un multiple entier de l'horloge de fonctionnement de la puce pour obtenir une acquisition de données synchrone. Ce mode d'échantillonnage synchrone élimine le bruit de phase et améliore la précision de l'extraction des signaux par canaux auxiliaires.

Les pilotes de bus d'adresse et de données des microcontrôleurs embarqués sont généralement constitués de 8 à 12 unités d'inverseurs parallèles par ligne de signal, pilotant de grandes charges capacitives parasites sur puce. Chaque transition de niveau logique des lignes de bus provoque un courant de court-circuit transitoire dans le domaine d'alimentation, générant un pic de consommation d'énergie mesurable.

La commutation d'une seule ligne de bus entre les niveaux logiques 0 et 1 produit une variation de courant de 0,5 à 1 mA au moment du front d'horloge, qui peut être clairement distinguée par un CAN 12 bits. Les opérations d'écriture en SRAM génèrent les signatures de puissance les plus importantes en raison de la charge et de la décharge simultanées de plusieurs condensateurs de cellules mémoire.

En faisant la moyenne des traces de puissance de centaines de transactions opérationnelles répétées identiques, les attaquants peuvent extraire des signaux par canaux auxiliaires faibles qui ne sont pas directement transmis via le bus externe. Les changements d'état du drapeau de retenue lors des opérations arithmétiques sont la cible la plus précieuse, car la plupart des algorithmes de planification de clés cryptographiques utilisent des opérations de décalage de bits qui exposent des bits de clé individuels par la fuite du drapeau de retenue.

Même si les changements de bits d'état ne peuvent pas être mesurés directement, ils modifient la séquence d'exécution du séquenceur d'instructions et du flux de microcode, ce qui se traduit par des modèles de consommation d'énergie distinctifs. Différentes instructions du processeur activent le décodeur, l'unité arithmétique et logique (UAL) et le fichier de registres avec des intensités d'activité variables, permettant aux attaquants de reconstruire le flux d'exécution complet du micrologiciel et la logique de l'algorithme cryptographique à partir des traces de puissance.

La rémanence des données est une vulnérabilité physique non invasive affectant les dispositifs à mémoire volatile. Les cellules de RAM statique peuvent conserver les données stockées pendant une courte durée après la coupure de l'alimentation en raison de l'accumulation de charge résiduelle. Si une cellule SRAM conserve une valeur de clé fixe pendant une longue durée d'exécution, la distribution de charge formera un état latent stable qui peut être récupéré lors de la prochaine mise sous tension.

La congélation à basse température prolonge encore le temps de rémanence des données. Le refroidissement du microcontrôleur à -20 °C permet à la SRAM de conserver des données complètes pendant plusieurs minutes, tandis que des températures ultra-basses inférieures à -50 °C peuvent prolonger la rétention des données jusqu'à plusieurs heures. Cette méthode permet aux attaquants d'extraire des clés d'exécution sensibles de la mémoire volatile sans aucune modification de la puce.

Le tableau suivant répertorie tous les modèles de microcontrôleurs vérifiés par l'auteur comme vulnérables aux attaques non invasives, y compris leurs principales caractéristiques de mémoire, les méthodes d'attaque efficaces et les notes techniques. Les modèles entre parenthèses n'ont pas été physiquement testés mais sont supposés avoir des vulnérabilités identiques en raison de la cohérence de l'architecture familiale.

Fabricant et modèle du microcontrôleur

Caractéristiques matérielles principales

Méthode d'attaque non invasive efficace

Commentaires techniques

Motorola HC05 SeriesMC68HC05B6/B8/B16, (B32/X4), X16/X32

ROM masquée, EEPROM de données, bit de sécurité EEPROM partagé

Injection de glitch d'alimentation / d'horloge

Protection contre l'effacement accidentel des données intégrée activée par défaut

Motorola HC11 SeriesMC68HC11A8/E9, (E20), L6, (KA2/KA4/KG2/KG4)

ROM masquée, EEPROM de données, bit de sécurité EEPROM indépendant

Injection de glitch d'alimentation

Le chargeur d'amorçage efface automatiquement la mémoire de données lorsque le verrou de sécurité est activé

Microchip PIC16C84

EEPROM programme, EEPROM données, bit de sécurité EEPROM

Surtension électrique / Glitch d'alimentation large plage

La commande d'effacement de puce efface les bits de protection du code ainsi que la mémoire programme/données

Microchip PIC16F83/F84, HCS512

Mémoire programme Flash, EEPROM données, bit de sécurité EEPROM

Injection de glitch d'alimentation précise

Même vulnérabilité d'effacement de puce que la plate-forme PIC16C84

Microchip PIC16F84A/F627/F628, (F870-F872), F873-F877

Flash haute densité, EEPROM données, bits de sécurité renforcés

Glitch d'alimentation à temporisation contrôlée

La protection native améliorée reste vulnérable aux glitches optimisés par paramètres

Atmel 8051 SeriesAT89C51/C52/C55/C1051/C2051, (C4051)

Mémoire programme Flash, bits de verrouillage multi-niveaux

Glitch d'alimentation synchronisé

La commande d'effacement de masse réinitialise tous les bits de verrouillage avec l'effacement de la mémoire programme

Atmel AVR SeriesAT90S1200/2313/2323, (2343), 8515

Mémoire programme Flash, EEPROM données indépendante, bits de sécurité

Attaque par glitch de décalage d'horloge

La perturbation asynchrone de l'horloge contourne la machine d'état de protection matérielle AVR

NEC 78K/0S Series(uPD78F9026/F9046), uPD78F9116, (F9136)

Mémoire programme Flash, Pas d'interface de lecture mémoire native

Séquence de glitch d'alimentation en rafale

Le mode d'effacement de masse efface complètement les blocs de mémoire programme protégés

Texas Instruments MSP430 SeriesF110/F112/F1101/F1121, F122/F123, F133/F135, F147-F149, F412/F413

Flash principale + Flash de données, Verrou d'accès basé sur mot de passe

Glitch d'horloge à déphasage

L'effacement global réinitialise le mot de passe ainsi que toutes les zones de programme et de données

Il est essentiel de noter que l'inclusion dans le tableau des vulnérabilités indique uniquement une susceptibilité inhérente aux attaques non invasives pour les révisions de microcontrôleurs répertoriées. Les steppings de puces mis à jour par les fournisseurs et les masques de micrologiciel révisés peuvent corriger ces failles, de sorte que les développeurs doivent vérifier la révision spécifique de la puce avant le déploiement du produit. Certains modèles ont plusieurs méthodes d'attaque non invasives alternatives, avec des taux de réussite allant de 15 % à 100 %. Les méthodes à faible taux de réussite circulant en ligne comportent des risques d'endommagement permanent de la puce cible ou du matériel du programmeur d'attaque.

3.2 Attaques invasives sur les microcontrôleurs

AVERTISSEMENT : Le contenu des attaques invasives décrit ci-dessous est à usage de recherche académique et d'évaluation de la sécurité uniquement. L'auteur décline toute responsabilité légale ou technique pour toute utilisation non autorisée de ces méthodes pour craquer des micrologiciels de microcontrôleurs protégés par le droit d'auteur. Les lecteurs qui tentent de reproduire ces expériences le font à leurs propres risques et doivent se conformer aux lois locales sur la propriété intellectuelle et la sécurité des semi-conducteurs.

Une idée fausse largement répandue dans l'industrie embarquée affirme que les attaques invasives nécessitent des centaines de milliers de dollars d'équipement de laboratoire et une expertise de niveau doctorat professionnelle, ce qui les rend inaccessibles aux attaquants à petit budget. Ce mythe conduit de nombreux développeurs à ne compter que sur la protection non invasive et à négliger l'évaluation des menaces invasives, ce qui entraîne de graves risques de fuite de PI.

En réalité, de nombreuses attaques invasives pratiques peuvent être mises en œuvre avec un équipement peu coûteux et facilement disponible et des connaissances de base en chimie. Bien que les méthodes invasives impliquent le dénudage de la puce et la manipulation physique du circuit, leur coût total peut être contrôlé en dessous de 3 000 $, bien inférieur à ce que la plupart des développeurs imaginent. Cette section démystifie le mythe du coût élevé à travers deux cas d'attaque pratiques typiques sur des microcontrôleurs PIC commerciaux.

La condition préalable essentielle pour toutes les attaques invasives est le dénudage de la puce, qui consiste à retirer le boîtier en plastique ou époxy pour exposer la puce de silicium nue. Il existe deux flux de travail de dénudage principaux : la dissolution complète du boîtier et le retrait partiel du plastique au-dessus de la surface de la puce.

La dissolution complète immerge toute la puce dans de l'acide corrosif pour éliminer tout le matériau d'encapsulation, ce qui nécessite une station de liaison professionnelle pour reconnecter la puce nue à un support de test. Cette méthode a un seuil technique élevé et ne convient pas aux attaquants à petit budget. Le retrait partiel du plastique est le choix optimal pour la recherche sensible aux coûts, car il n'expose que la puce de silicium tout en conservant les fils de liaison de broche d'origine et la base du boîtier.

L'acide nitrique fumant concentré (pureté supérieure à 98 %) est le réactif standard pour le dénudage partiel. Il dissout rapidement le composé de moulage époxy sans corroder les fils de liaison en aluminium et la puce de silicium. La réaction chimique doit être menée dans une hotte à faible humidité, car la vapeur d'eau induira une corrosion électrochimique des interconnexions métalliques exposées à la surface de la puce.

Après la dissolution de l'époxy, les déchets acides résiduels sont éliminés par rinçage à l'acétone. Un bain de nettoyage par ultrasons est ensuite utilisé pour éliminer les résidus chimiques microscopiques sur la surface de la puce. Enfin, la puce est rincée avec de l'eau déionisée et de l'isopropanol pour neutralisation et séchage. Si un bain à ultrasons n'est pas disponible, l'étape de rinçage peut être ignorée ; une contamination mineure de la surface n'affecte pas les opérations ultérieures d'exposition aux UV et de sondage.

Un bain à ultrasons à faible coût peut être auto-assemblé à l'aide d'un générateur de signaux, d'une bobine d'antenne en ferrite et d'un récipient en acier inoxydable, éliminant ainsi le besoin d'équipement de laboratoire commercial. Après le dénudage, la puce conserve une fonctionnalité électrique complète, ce qui permet des opérations ultérieures de manipulation des fusibles de protection et de lecture de la mémoire.

3.2.1 Attaque invasive à faible coût sur le PIC12C508A

Le Microchip PIC12C508A est un microcontrôleur OTP ultra-bas coût à 8 broches largement utilisé dans les jouets grand public et les dispositifs de contrôle simples. Son mécanisme de protection contre la copie peut être complètement contourné via une attaque invasive de base par irradiation UV, avec un coût total d'équipement inférieur à 200 $.

Après avoir effectué le dénudage partiel de la puce PIC12C508A, l'étape suivante consiste à localiser les fusibles de protection de sécurité sur puce. Avec un microscope optique à grossissement 100X, les attaquants peuvent facilement retracer la ligne de signal métallique s'étendant depuis la broche de tension de programmation (VPP) pour localiser la zone compacte du réseau de fusibles sur le bord de la puce.

Si un microscope n'est pas disponible, une méthode de balayage UV par force brute peut être adoptée : irradier différentes régions de la puce avec de la lumière ultraviolette séquentiellement et tester l'état de protection en lecture de la puce après chaque exposition. Une fois la zone de fusibles localisée, du papier noir opaque est utilisé pour couvrir toute la puce à l'exception de la région des fusibles afin d'empêcher l'effacement accidentel des cellules de mémoire programme.

Une irradiation UV continue de 5 à 10 minutes réinitialisera les fusibles de sécurité OTP grillés à l'état non programmé. Après cette opération, n'importe quel programmeur standard du commerce peut lire sans restriction la mémoire programme originale complète et les données utilisateur de la puce.

Une variante plus précise de cette attaque utilise un microscope et une aiguille de sonde en tungstène pointue au lieu d'un laser de découpe. En retraçant les lignes de signal connectées au réseau de fusibles de protection, les attaquants peuvent identifier la ligne de contrôle de verrouillage dédiée. En raison d'un défaut de conception historique dans le tracé du PIC12C508A, cette ligne de verrouillage est isolée des autres interconnexions denses.

Gratter doucement la couche de passivation au-dessus de la ligne avec une aiguille de sonde jusqu'à ce que le fil d'aluminium interne soit coupé désactivera définitivement la logique de protection contre la copie. Cette méthode évite le besoin d'un équipement de gravure laser coûteux et produit le même effet de contournement de protection par une opération mécanique manuelle.

3.2.2 Attaque par micro-sondage sur le PIC16F874

Le Microchip PIC16F874 est un microcontrôleur Flash de gamme moyenne avec des fusibles de sécurité à base d'EEPROM protégés, qui ne peuvent pas être déverrouillés par irradiation UV conventionnelle. Ce modèle nécessite une technologie de micro-sondage de base pour extraire les données du micrologiciel protégé, représentant un cas d'attaque invasive de difficulté modérée.

Le processus de dénudage de la puce pour le PIC16F874 est identique au flux de travail du PIC12C508A utilisant de l'acide nitrique fumant. Après avoir exposé la puce nue, l'attaquant observe le tracé de la puce sous un microscope optique 100X-200X pour identifier les lignes de bus de données parallèles reliant la matrice de mémoire Flash au cœur du processeur et aux modules périphériques.

Une vulnérabilité de conception critique du PIC16F874 est que son mécanisme de protection contre la copie ne restreint que l'accès mémoire en mode utilisateur, tout en laissant l'accès au bus en mode programmation complètement déverrouillé. En positionnant une aiguille de sonde de précision sur les lignes de bus de données en aluminium de la couche supérieure exposée, les attaquants peuvent capturer les signaux de données en temps réel lors des opérations de lecture de la mémoire.

En déclenchant à plusieurs reprises la commande de lecture en mode programmation de la puce et en déplaçant l'aiguille de sonde séquentiellement sur différentes lignes de bus, le contenu complet de la mémoire programme de 14 bits et de la mémoire de données utilisateur de 8 bits peut être entièrement reconstruit. Cette méthode ne nécessite qu'un microscope de base et une aiguille de sondage manuelle, avec un coût total d'équipement inférieur à 1 500 $.

3.2.3 Rétro-ingénierie invasive avancée et technologie FIB

Les attaques invasives haut de gamme impliquent la rétro-ingénierie complète des puces et l'édition par faisceau d'ions focalisés (FIB), ciblant les microcontrôleurs de qualité sécurité et les dispositifs logiques programmables complexes. La première étape de la rétro-ingénierie complète est la construction d'une carte de tracé complète de la puce.

Un microscope optique équipé d'une caméra CCD capture des photographies haute résolution de toute la surface de la puce, qui sont assemblées en images panoramiques à l'échelle métrique. Les ingénieurs identifient les modules fonctionnels principaux, notamment la ROM, la RAM, l'EEPROM, l'UAL, le décodeur d'instructions et les pilotes GPIO, en retraçant la connectivité des interconnexions métalliques et les caractéristiques des limites des modules.

La couche métallique d'aluminium supérieure bloque l'observation optique des couches de circuit sous-jacentes. Pour les puces non planarisées, les structures des couches inférieures peuvent être déduites des variations de hauteur de surface. Pour obtenir des images claires des couches métalliques profondes et de polysilicium, la puce est brièvement immergée dans de l'acide fluorhydrique dilué (HF) dans un bain à ultrasons pour éliminer la passivation d'oxyde supérieure et les couches métalliques.

Le HF est un réactif dangereux hautement corrosif qui nécessite un équipement de protection individuelle strict et une manipulation sous hotte. Après le décapage des couches, une photographie panoramique secondaire révèle le tracé complet du circuit multicouche pour la reconstruction de la fonction logique.

Les postes de travail à faisceau d'ions focalisés (FIB) sont des outils d'édition de semi-conducteurs avancés construits sur des plates-formes à chambre sous vide similaires aux microscopes électroniques à balayage (MEB). Une source d'ions gallium en métal liquide accélère des faisceaux d'ions de 30 kV focalisés à un diamètre de spot de 5 à 10 nm, offrant des fonctions doubles d'imagerie haute résolution et de gravure précise des matériaux.

Les systèmes FIB peuvent imager les surfaces de puces à une résolution de 5 nm via la détection de particules secondaires. L'augmentation du courant du faisceau permet un retrait précis de la matière de la puce à l'échelle nanométrique. La gravure assistée par gaz utilisant de la vapeur d'iode améliore la vitesse et la profondeur de gravure, permettant la création de trous verticaux à rapport d'aspect élevé pour accéder aux couches métalliques enfouies profondément sans endommager les circuits adjacents.

Un gaz organométallique à base de platine peut être décomposé par le faisceau d'ions pour déposer des traces conductrices en platine, créant de nouveaux plots de sondage sur la surface de la puce. Un gaz de dépôt d'isolant peut construire des couches d'isolation diélectrique pour une modification ciblée du circuit. Les postes de travail FIB commerciaux modernes coûtent moins de 500 000 $, et le temps de traitement peut être loué mondialement pour 200 à 500 $ de l'heure, rendant cette technologie accessible aux attaquants professionnels.

La technologie FIB à accès par l'arrière polit la puce du côté du substrat en silicium jusqu'à une épaisseur de quelques dizaines de micromètres. La navigation infrarouge et le positionnement par interféromètre laser permettent une localisation précise des transistors et un contact par perçage du substrat. Bien qu'elle ne soit pas encore largement utilisée par les pirates commerciaux, cette technique émergente deviendra courante dans les futures attaques de puces et doit être prise en compte par les concepteurs de puces de sécurité.

4. Classification des menaces et technologies de défense hiérarchiques

Sur la base des méthodes d'attaque vérifiées dans les expériences ci-dessus, toutes les exploitations orientées microcontrôleurs peuvent être classées en quatre niveaux de menace selon le coût de mise en œuvre, le seuil technique et la portée destructrice, fournissant une base pour une conception de défense ciblée.

Niveau 1 : Attaques non invasives à faible coût. Il s'agit du niveau de menace le plus élevé, ne nécessitant qu'un programmateur personnalisé ou commercial capable de générer des glitches. Le coût de l'équipement est inférieur à 500 $, le seuil technique est bas et l'évolutivité de l'attaque est maximale. Tous les microcontrôleurs répertoriés dans le tableau des vulnérabilités entrent dans ce périmètre de menace, et ces attaques peuvent être exécutées par des attaquants amateurs individuels.

Niveau 2 : Attaques invasives basiques à faible coût. L'équipement comprend des réactifs chimiques de base, un microscope optique et des outils de sondage manuels, pour un coût total allant de 100 $ à 3 000 $. Le seuil technique équivaut à des connaissances de base en chimie de lycée et en électronique embarquée. Les attaquants peuvent déverrouiller les puces OTP et Flash via un effacement UV et une simple découpe de lignes, constituant une menace grave pour les produits commerciaux de moyenne et basse gamme.

Niveau 3 : Attaques par micro-sondage de précision. Nécessitant des postes de micro-sondage professionnels et une expertise en semi-conducteurs, le coût total de l'équipement d'attaque varie de 10 000 $ à 100 000 $. Cette menace ne cible que les dispositifs commerciaux de grande valeur, car le temps et le coût de la main-d'œuvre dépassent le profit des produits de bas de gamme ordinaires. Les microcontrôleurs résistant aux attaques de niveau 1 et 2 sont suffisants pour la plupart des applications industrielles.

Niveau 4 : Rétro-ingénierie complète et édition FIB. Le niveau de menace le plus élevé, nécessitant des postes FIB, des MEB et des connaissances en conception VLSI professionnelles, avec un investissement total dépassant 500 000 $. Cette attaque n'est utilisée que pour le déchiffrement de puces de qualité militaire et de puces financières de grande valeur. Les puces résistant aux trois premiers niveaux de menace sont considérées comme suffisamment sécurisées pour la plupart des scénarios civils.

L'industrie embarquée actuelle est confrontée à un dilemme de sécurité difficile : presque tous les microcontrôleurs génériques grand public sont vulnérables aux attaques de niveau 1 ou 2. Une migration directe vers des microcontrôleurs de qualité sécurité peut éliminer ces menaces, mais elle entraîne trois inconvénients critiques : un coût unitaire extrêmement élevé, des définitions de broches et des jeux d'instructions incompatibles avec les puces ordinaires, et des canaux d'approvisionnement limités.

La plupart des petites et moyennes entreprises ne peuvent pas se permettre de reconcevoir le matériel et le micrologiciel de produits matures pour la migration vers des microcontrôleurs de sécurité. Même si des puces de sécurité sont adoptées, les attaquants ne ciblant qu'une partie de la logique algorithmique peuvent toujours extraire des segments clés du code via des méthodes invasives de bas niveau, ne parvenant pas à assurer une protection complète de la PI.

Pour résoudre ce dilemme, cet article résume quatre stratégies défensives pratiques et rentables compatibles avec les plates-formes de microcontrôleurs ordinaires, sans nécessiter de remplacement complet de la puce ni de refonte matérielle à grande échelle.

Première stratégie : Renforcement matériel par dispositif logique programmable (PLD). Compléter le microcontrôleur principal par des dispositifs CPLD ou EPLD dans le circuit du produit. Les PLD ont des performances anti-attaque intrinsèquement supérieures à celles des MCU, avec des réseaux logiques enfouis difficiles à rétro-ingénierie. Même si le micrologiciel du MCU principal est craqué, la logique d'authentification centrale solidifiée dans le PLD reste confidentielle, augmentant considérablement le coût total en temps de l'attaque.

Deuxième stratégie : Protection par bit de mémoire analogique non documentée. Exploiter les caractéristiques de stockage de charge analogique des cellules de mémoire OTP, EEPROM et Flash. Programmer des cellules mémoire spécifiques à des états de charge intermédiaires proches du seuil de l'amplificateur de détection. En raison des interférences de bruit du circuit, ces cellules produisent des valeurs 0/1 aléatoires lors de la lecture normale.

Le micrologiciel utilise ces bits aléatoires comme clés d'authentification dynamiques pendant l'exécution. Les attaquants ne peuvent pas reproduire l'état de charge intermédiaire lors du clonage, de sorte que le micrologiciel copié échouera à la vérification d'authentification dynamique. Cette caractéristique physique analogique crée une fonction non clonable (PUF) native au niveau matériel sans coût supplémentaire.

Troisième stratégie : Destruction permanente de l'interface de programmation. Après avoir terminé la programmation de masse, désactiver définitivement l'interface de programmation externe de la puce par des moyens mécaniques ou électriques. Les méthodes mécaniques incluent la coupe de la broche VPP et du fil de liaison avec un outil de précision. Les méthodes électriques appliquent une surtension instantanée pour griller le fusible de l'interface de programmation interne.

Cette méthode bloque complètement les attaques de lecture en mode programmation non invasives, bien qu'elle n'offre aucune défense contre les attaques de sondage au niveau de la puce. Elle convient aux produits fabriqués en masse à faible coût sans exigence de mise à jour du micrologiciel après la livraison.

Quatrième stratégie : Obfuscation du circuit de contrôle du mode programmation. Rétro-ingénierie d'une partie de la logique de contrôle de programmation de la puce ou utilisation du micro-sondage pour modifier la temporisation de la machine d'état. Obfusquer les conditions de déclenchement de l'entrée en mode programmation, rendant les programmeurs commerciaux standard incapables d'entrer dans l'état de programmation autorisant la lecture. Cette méthode augmente efficacement le seuil technique pour les attaques non invasives et invasives de base.

5. Directions de recherche futures

La recherche future sur la protection contre la copie embarquée devrait se concentrer sur l'évaluation de la sécurité des réseaux logiques programmables (PLA) et des réseaux de portes programmables (FPGA). Comme les microcontrôleurs, les PLD intègrent des bits de sécurité anti-clonage, mais leur vulnérabilité aux attaques par glitch, sondage et chimiques n'a pas été systématiquement vérifiée par rapport aux MCU.

Les dispositifs FPGA présentent des défauts de sécurité inhérents en raison du chargement externe des flux de bits de configuration ; les flux de bits non chiffrés peuvent être facilement copiés et clonés. De nombreux systèmes industriels utilisent des PLD aux côtés de FPGA pour empêcher le piratage de la configuration, ce qui fait des performances anti-attaque des PLD à base d'EEPROM un sujet de recherche essentiel pour la protection de la PI industrielle.

Une autre direction de recherche clé est l'évaluation quantitative des fonctions physiquement non clonables (PUF) sur les microcontrôleurs ordinaires. La protection par bit de mémoire analogique proposée dans cet article est une implémentation PUF préliminaire ; les recherches futures peuvent optimiser la stabilité et le caractère aléatoire pour former des solutions PUF standardisées à faible coût pour un déploiement de masse.

De plus, l'effet de défense des capteurs de tension/température sur puce contre les attaques par glitch transitoire nécessite des tests quantitatifs supplémentaires. L'optimisation de la latence de réponse des capteurs pour bloquer les perturbations à l'échelle nanoseconde éliminera efficacement le vecteur d'attaque non invasive de niveau 1 le plus menaçant pour les microcontrôleurs ordinaires.

Questions générales sur l'extraction de firmware de microcontrôleur


  • Est-il sûr d'envoyer un paiement à MikaTech ?

    Si MikaTech était une société peu fiable, on trouverait sur Internet, en 28 ans d'histoire, de nombreux avis négatifs sur ses services.

    Donc la réponse est OUI, nous sommes de bonnes personnes.

    Pourquoi choisir Mikatech, veuillez cliquer ici pour en savoir plus


  • Mikatech peut-il pirater des circuits non listés sur ce site ?

    Différents fabricants de circuits ont des numéros de pièces différents, mais le cœur interne de la puce peut être fabriqué selon la même technologie. Il serait assez impossible de lister tous les numéros de pièces auxquels notre technologie peut s'appliquer, comme MYSON, STK, FEELING, ANALOG, FUJITSU, NOVATEK, LG/HYNDAI.

    De plus, avec l'évolution des technologies, nous accumulons chaque jour plus d'expérience et développons de nouvelles méthodes de rétro-ingénierie pour divers circuits intégrés. La liste complète des numéros de circuits intégrés relevant de notre compétence ne cesse de croître. Veuillez nous contacter pour plus de détails.

  • Ma confidentialité sera-t-elle protégée ?

    Mikatech Innovative Limited comprend l'importance de la confidentialité de ses clients. Dès le premier contact avec Mikatech, vos informations personnelles seront protégées conformément à nos règlements de gestion élaborés au fil des années. Mikatech utilise ces informations pour adapter ses services à vos besoins et ne les transmet jamais à des tiers pour quelque raison que ce soit.
    Pour chaque projet, nous supprimons toutes les données, matériaux et codes 60 jours après la livraison des fichiers – cela nous protège et protège votre confidentialité.

  • Est-il légal d'utiliser les services de Mikatech ?

    Oui, c'est tout à fait légal.
    Mikatech fournit des services de rétro-ingénierie uniquement à des fins éducatives. L'utilisation des services susmentionnés peut être illégale dans certains pays ou régions – veuillez vérifier les lois locales. Mikatech décline toute responsabilité en cas d'utilisation des services pouvant être considérée comme illégale.


  • Je vous ai envoyé un e-mail, pourquoi n'y a-t-il pas de réponse ?

    • A. Notre serveur de messagerie est temporairement en panne, votre message n'a pas été livré dans notre boîte aux lettres, même si l'écran affiche un envoi réussi. Veuillez nous contacter à nouveau.
    • B. Notre e-mail est reconnu par votre serveur de messagerie comme spam, donc notre réponse a été rejetée ou redirigée vers votre dossier spam. Veuillez supprimer notre adresse de la liste des spams ou vérifier le dossier spam, ou utilisez une autre adresse e-mail comme Gmail.
    • C. Votre e-mail est reconnu par notre serveur de messagerie comme spam, il a donc été placé dans le dossier spam. Veuillez utiliser une autre adresse e-mail pour nous contacter.



    temps de piratage de microcontrôleur

    Années

    28 +
    pays de piratage de microcontrôleurs

    Pays

    110 +
    clients de piratage de microcontrôleurs

    Clients

    5000 +
    projets de piratage de microcontrôleurs

    Projets

    60000 +