Le décryptage sur puce est également appelé décryptage monopuce (décryptage IC). Les puces monopuces du produit officiel étant cryptées, le programme ne peut pas être lu directement par le programmeur.
Afin d'empêcher tout accès non autorisé ou toute copie des programmes intégrés au microcontrôleur, la plupart de ces derniers sont protégés par des bits ou des octets de verrouillage chiffrés. Si le bit de verrouillage est activé (verrouillé) pendant la programmation, le programme du microcontrôleur ne peut pas être lu directement par un programmeur ordinaire, ce que l'on appelle le chiffrement du microcontrôleur ou chiffrement de la puce. Les pirates informatiques utilisent des équipements spéciaux ou fabriqués par leurs soins, exploitent des failles ou des défauts logiciels dans la conception des puces et, par divers moyens techniques, extraient des informations clés de la puce et obtiennent le programme interne du microcontrôleur. C'est ce qu'on appelle le piratage de puce.
Méthode de décryptage de la puce
1. Attaque logicielle
Cette technique utilise généralement les interfaces de communication des processeurs et exploite les protocoles, les algorithmes de chiffrement ou les failles de sécurité de ces algorithmes pour mener des attaques. Un exemple typique d'attaque logicielle réussie est l'attaque contre les premiers microcontrôleurs ATMEL de la série AT89C. L'attaquant a exploité les failles de conception de la séquence d'effacement de cette série de micro-ordinateurs monopuces. Après avoir effacé le bit de verrouillage de chiffrement, l'attaquant a interrompu l'opération suivante d'effacement des données de la mémoire programme intégrée, transformant ainsi le micro-ordinateur monopuce chiffré en micro-ordinateur monopuce non chiffré, puis a utilisé le programmeur pour lire le programme intégré.
Sur la base d'autres méthodes de cryptage, certains équipements peuvent être développés pour coopérer avec certains logiciels afin de réaliser des attaques logicielles.
2. attaque par détection électronique
Cette technique surveille généralement les caractéristiques analogiques de toutes les connexions d'alimentation et d'interface du processeur en fonctionnement normal avec une haute résolution temporelle, et met en œuvre l'attaque en surveillant ses caractéristiques de rayonnement électromagnétique. Le microcontrôleur étant un dispositif électronique actif, la consommation d'énergie correspondante varie en fonction de l'exécution de différentes instructions. Ainsi, l'analyse et la détection de ces variations à l'aide d'instruments de mesure électroniques spécifiques et de méthodes statistiques mathématiques permettent d'obtenir des informations clés spécifiques au microcontrôleur.
3. technologie de génération de défauts
Cette technique exploite des conditions de fonctionnement anormales pour perturber le processeur, puis fournit un accès supplémentaire pour mener l'attaque. Les attaques génératrices de pannes les plus courantes incluent les surtensions et les surtensions d'horloge. Les attaques à basse et haute tension peuvent être utilisées pour désactiver les circuits de protection ou forcer le processeur à effectuer des opérations erronées. Les transitoires d'horloge peuvent réinitialiser le circuit de protection sans détruire les informations protégées. Les transitoires d'alimentation et d'horloge peuvent affecter le décodage et l'exécution d'instructions individuelles dans certains processeurs.
4. technologie de sonde
La technologie consiste à exposer directement le câblage interne de la puce, puis à observer, manipuler et interférer avec le microcontrôleur pour atteindre l'objectif de l'attaque.
Par souci de commodité, les quatre techniques d'attaque décrites ci-dessus sont divisées en deux catégories : l'attaque intrusive (attaque physique). Ce type d'attaque nécessite la destruction du boîtier, puis l'utilisation d'équipements de test de semi-conducteurs, de microscopes et de micropositionneurs dans un laboratoire spécialisé. L'opération peut prendre des heures, voire des semaines. Toutes les techniques de microsondage sont des attaques invasives. Les trois autres méthodes sont des attaques non invasives, et le microcontrôleur attaqué ne sera pas physiquement endommagé. Les attaques non intrusives sont particulièrement dangereuses dans certains cas, car l'équipement requis peut souvent être construit et mis à niveau soi-même, et donc très peu coûteux.
La plupart des attaques non intrusives nécessitent une bonne connaissance des processeurs et des logiciels. En revanche, les attaques par sonde invasive ne nécessitent pas de connaissances initiales approfondies, et un large éventail de techniques similaires peut généralement être utilisé contre une large gamme de produits. Par conséquent, les attaques contre les microcontrôleurs commencent souvent par une rétro-ingénierie intrusive, et l'expérience accumulée permet de développer des techniques d'attaque non intrusives plus économiques et plus rapides.