Sirun salauksen purku

Sirun salauksen purkaminen tunnetaan myös nimellä yhden sirun salauksen purkaminen (IC-salaus). Koska virallisen tuotteen yhden sirun mikrotietokonepiirit on salattu, ohjelmaa ei voida lukea suoraan ohjelmointilaitteella.

Mikrokontrollerin sisäisten ohjelmien luvattoman käytön tai kopioinnin estämiseksi useimmissa mikrokontrollereissa on salatut lukitusbitit tai salatut tavut ohjelmien suojaamiseksi. Jos salauksen lukitusbitti on käytössä (lukittu) ohjelmoinnin aikana, tavallinen ohjelmoija ei voi lukea mikrokontrollerin ohjelmaa suoraan. Tätä kutsutaan mikrokontrollerin salaukseksi tai sirun salaukseksi. Mikrokontrollerihyökkääjät käyttävät erikoislaitteita tai itse tehtyjä laitteita, hyödyntävät mikrokontrollerisirun suunnittelussa olevia porsaanreikiä tai ohjelmistovirheitä ja voivat erilaisten teknisten keinojen avulla poimia keskeisiä tietoja sirulta ja saada haltuunsa mikrokontrollerin sisäisen ohjelman. Tätä kutsutaan sirun murtamiseksi.

Sirun salauksen purkumenetelmä

1. Ohjelmistohyökkäys

Tämä tekniikka käyttää tyypillisesti prosessorin kommunikaatiorajapintoja ja hyödyntää protokollia, salausalgoritmeja tai näiden algoritmien tietoturva-aukkoja hyökkäysten toteuttamiseen. Tyypillinen esimerkki onnistuneesta ohjelmistohyökkäyksestä on hyökkäys varhaisiin ATMEL AT89C -sarjan mikrokontrollereihin. Hyökkääjä käytti hyväkseen tämän sarjan yksisiruisten mikrotietokoneiden poistotoimintojen suunnittelussa olevia porsaanreikiä. Salauslukitusbitin poistamisen jälkeen hyökkääjä pysäytti seuraavan toiminnon, jossa tietoja poistettiin sirun ohjelmamuistista, jolloin salatusta yksisiruisesta mikrotietokoneesta tuli salaamaton yksisiruinen mikrotietokone, ja sitten ohjelmoija lukitsi sirun ohjelman.

Muiden salausmenetelmien pohjalta voidaan kehittää laitteita toimimaan yhteistyössä tiettyjen ohjelmistojen kanssa ohjelmistohyökkäysten tekemiseksi.

2. elektroninen havaitsemishyökkäys

Tämä tekniikka tyypillisesti valvoo prosessorin kaikkien virta- ja liitäntäliitäntöjen analogisia ominaisuuksia normaalin toiminnan aikana suurella ajallisella resoluutiolla ja toteuttaa hyökkäyksen valvomalla sen sähkömagneettisen säteilyn ominaisuuksia. Koska mikrokontrolleri on aktiivinen elektroninen laite, sen suorittaessa erilaisia ​​ohjeita myös vastaava virrankulutus muuttuu vastaavasti. Tällä tavoin analysoimalla ja havaitsemalla näitä muutoksia erityisten elektronisten mittauslaitteiden ja matemaattisten tilastollisten menetelmien avulla voidaan saada erityisiä keskeisiä tietoja mikrokontrollerista.

3. vianmuodostustekniikka

Tekniikka käyttää epänormaaleja toimintaolosuhteita prosessorin häiritsemiseen ja tarjoaa sitten lisäpääsyn hyökkäyksen suorittamiseksi. Yleisimmin käytettyjä virheitä aiheuttavia hyökkäyksiä ovat jännitepiikit ja kellojännitepiikit. Matala- ja korkeajännitehyökkäyksiä voidaan käyttää suojauspiirien poistamiseen käytöstä tai prosessorin pakottamiseen suorittamaan virheellisiä toimintoja. Kellotransientit voivat nollata suojauspiirin tuhoamatta suojattua tietoa. Virta- ja kellotransientit voivat vaikuttaa yksittäisten käskyjen dekoodaukseen ja suoritukseen joissakin prosessoreissa.

4. koetintekniikka

Teknologiana on paljastaa sirun sisäinen johdotus suoraan ja sitten tarkkailla, manipuloida ja häiritä mikrokontrolleria hyökkäyksen tarkoituksen saavuttamiseksi.

Mukavuussyistä edellä mainitut neljä hyökkäystekniikkaa jaetaan kahteen luokkaan: toinen on tunkeileva hyökkäys (fyysinen hyökkäys). Tällaisessa hyökkäyksessä on tuhottava pakkaus ja käytettävä sitten puolijohdetestauslaitteita, mikroskooppeja ja mikroasentimia erikoislaboratoriossa. Testin suorittaminen voi kestää tunteja tai jopa viikkoja. Kaikki mikrokoestustekniikat ovat tunkeilevia hyökkäyksiä. Kolme muuta menetelmää ovat ei-invasiivisia hyökkäyksiä, eikä hyökkäyksen kohteena olevaa mikrokontrolleria vahingoiteta fyysisesti. Ei-intrusiiviset hyökkäykset ovat joissakin tapauksissa erityisen vaarallisia, koska ei-intrusiivisiin hyökkäyksiin tarvittavat laitteet voidaan usein rakentaa ja päivittää itse, ja siksi ne ovat erittäin halpoja.

Useimmat ei-tunkeilevat hyökkäykset edellyttävät hyökkääjältä hyvää prosessori- ja ohjelmistotietämystä. Sitä vastoin invasiiviset luotainhyökkäykset eivät vaadi paljon alkuosaamista, ja laaja valikoima vastaavia tekniikoita voidaan yleensä käyttää monenlaisia ​​tuotteita vastaan. Siksi mikrokontrollereita vastaan ​​​​tehtävät hyökkäykset alkavat usein tunkeilevasta käänteisestä suunnittelusta, ja kertynyt kokemus auttaa kehittämään halvempia ja nopeampia ei-tunkeilevia hyökkäystekniikoita.