Decriptarea cipurilor este cunoscută și sub denumirea de decriptare pe un singur cip (decriptarea IC). Deoarece cipurile microcomputerelor pe un singur cip din produsul oficial sunt criptate, programul nu poate fi citit direct de către programator.
Pentru a preveni accesul neautorizat sau copierea programelor integrate în microcontroler, majoritatea microcontrolerelor au biți de blocare criptați sau octeți criptați pentru a proteja programele integrate în microcontroler. Dacă bitul de blocare a criptării este activat (blocat) în timpul programării, programul din microcontroler nu poate fi citit direct de un programator obișnuit, fenomen numit criptare a microcontrolerului sau criptare a cipului. Atacatorii MCU folosesc echipamente speciale sau echipamente fabricate de ei înșiși, exploatează lacunele sau defectele software din designul cipului MCU și, prin diverse mijloace tehnice, pot extrage informații cheie din cip și pot obține programul intern al MCU. Aceasta se numește cracarea cipurilor.
Metoda de decriptare a cipului
1. Atac software
Această tehnică utilizează de obicei interfețe de comunicație ale procesorului și exploatează protocoale, algoritmi de criptare sau breșe de securitate din acești algoritmi pentru a efectua atacuri. Un exemplu tipic de atac software reușit este atacul asupra microcontrolerelor din seria timpurie ATMEL AT89C. Atacatorul a profitat de lacunele din proiectarea secvenței operațiunilor de ștergere a acestei serii de microcomputere cu un singur cip. După ștergerea bitului de blocare a criptării, atacatorul a oprit următoarea operațiune de ștergere a datelor din memoria programului on-chip, astfel încât microcomputerul cu un singur cip criptat devine un microcomputer cu un singur cip necriptat, apoi folosește programatorul pentru a citi programul on-chip.
Pe baza altor metode de criptare, unele echipamente pot fi dezvoltate pentru a coopera cu anumite programe software în vederea efectuării de atacuri software.
2. atac de detectare electronică
Această tehnică monitorizează de obicei caracteristicile analogice ale tuturor conexiunilor de alimentare și de interfață ale procesorului în timpul funcționării normale cu o rezoluție temporală ridicată și implementează atacul prin monitorizarea caracteristicilor radiației electromagnetice. Deoarece microcontrolerul este un dispozitiv electronic activ, atunci când execută diferite instrucțiuni, consumul de energie corespunzător se modifică și el în mod corespunzător. În acest fel, prin analizarea și detectarea acestor modificări folosind instrumente electronice speciale de măsurare și metode statistice matematice, se pot obține informații cheie specifice din microcontroler.
3. tehnologia de generare a defectelor
Tehnica folosește condiții anormale de funcționare pentru a defecta procesorul și apoi oferă acces suplimentar pentru a efectua atacul. Cele mai utilizate atacuri generatoare de erori includ supratensiunile și supratensiunile de ceas. Atacurile de joasă și înaltă tensiune pot fi folosite pentru a dezactiva circuitele de protecție sau pentru a forța procesorul să efectueze operațiuni eronate. Tranzitorii de ceas pot reseta circuitul de protecție fără a distruge informațiile protejate. Tranzitorii de alimentare și de ceas pot afecta decodarea și execuția instrucțiunilor individuale în unele procesoare.
4. tehnologia sondei
Tehnologia constă în expunerea directă a cablajului intern al cipului, apoi observarea, manipularea și interferența cu microcontrolerul pentru a atinge scopul atacului.
Din motive de comoditate, oamenii împart cele patru tehnici de atac de mai sus în două categorii. Una este atacul intruziv (atac fizic), acest tip de atac necesită distrugerea pachetului, apoi utilizarea echipamentelor de testare a semiconductorilor, microscoapelor și micropoziționatoarelor într-un laborator specializat. Finalizarea poate dura ore sau chiar săptămâni. Toate tehnicile de microsondare sunt atacuri invazive. Celelalte trei metode sunt atacuri neinvazive, iar microcontrolerul atacat nu va fi deteriorat fizic. Atacurile neintruzive sunt deosebit de periculoase în unele cazuri, deoarece echipamentul necesar pentru atacurile neintruzive poate fi adesea construit și modernizat de către utilizator, fiind astfel foarte ieftin.
Majoritatea atacurilor non-intruzive necesită ca atacatorul să aibă cunoștințe solide despre procesoare și software. În schimb, atacurile invazive de tip sondă nu necesită cunoștințe inițiale prea multe, iar un set larg de tehnici similare poate fi de obicei utilizat împotriva unei game largi de produse. Prin urmare, atacurile asupra microcontrolerelor pornesc adesea de la inginerie inversă intruzivă, iar experiența acumulată ajută la dezvoltarea unor tehnici de atac non-intruzive mai ieftine și mai rapide.