Chip decodering

Chipdecodering wordt ook wel single-chipdecodering (IC-decodering) genoemd. Omdat de single-chip microcomputerchips in het officiële product gecodeerd zijn, kan het programma niet rechtstreeks door de programmeur worden gelezen.

Om ongeautoriseerde toegang tot of kopiëren van de on-chip programma's van de microcontroller te voorkomen, hebben de meeste microcontrollers gecodeerde lockbits of gecodeerde bytes om de on-chip programma's te beschermen. Als de encryptie lockbit tijdens het programmeren is ingeschakeld (geblokkeerd), kan het programma in de microcontroller niet rechtstreeks worden gelezen door een gewone programmeur. Dit wordt microcontroller-encryptie of chip-encryptie genoemd. MCU-aanvallers gebruiken speciale apparatuur of zelfgemaakte apparatuur, misbruiken zwakke plekken of softwarefouten in het MCU-chipontwerp en kunnen via diverse technische middelen belangrijke informatie uit de chip halen en het interne programma van de MCU bemachtigen. Dit wordt chip cracking genoemd.

Chip-decoderingsmethode

1. Software-aanval

Deze techniek maakt doorgaans gebruik van processorcommunicatie-interfaces en maakt gebruik van protocollen, encryptie-algoritmen of beveiligingslekken in deze algoritmen om aanvallen uit te voeren. Een typisch voorbeeld van een succesvolle softwareaanval is de aanval op de vroege ATMEL AT89C-serie microcontrollers. De aanvaller maakte gebruik van de zwakke plekken in het ontwerp van de wisbewerkingen van deze serie single-chip microcomputers. Na het wissen van de encryptie-lockbit stopte de aanvaller de volgende bewerking, namelijk het wissen van de gegevens in het on-chip programmageheugen, waardoor de gecodeerde single-chip microcomputer een ongecodeerde single-chip microcomputer werd. Vervolgens gebruikte de aanvaller de programmeur om het on-chip programma te lezen.

Op basis van andere encryptiemethoden kan apparatuur worden ontwikkeld die met bepaalde software kan samenwerken om software-aanvallen uit te voeren.

2. elektronische detectieaanval

Deze techniek bewaakt doorgaans de analoge karakteristieken van alle stroom- en interfaceverbindingen van de processor tijdens normaal gebruik met een hoge tijdsresolutie en implementeert de aanval door de elektromagnetische stralingskarakteristieken te bewaken. Omdat de microcontroller een actief elektronisch apparaat is, verandert het bijbehorende stroomverbruik ook wanneer het verschillende instructies uitvoert. Op deze manier kan, door deze veranderingen te analyseren en te detecteren met behulp van speciale elektronische meetinstrumenten en mathematisch-statistische methoden, specifieke sleutelinformatie in de microcontroller worden verkregen.

3. technologie voor het genereren van fouten

De techniek maakt gebruik van abnormale bedrijfsomstandigheden om de processor te infecteren en biedt vervolgens extra toegang om de aanval uit te voeren. De meest gebruikte aanvallen die fouten genereren, zijn spanningspieken en klokpieken. Aanvallen met lage en hoge spanning kunnen worden gebruikt om beveiligingscircuits uit te schakelen of de processor te dwingen onjuiste bewerkingen uit te voeren. Klokpieken kunnen het beveiligingscircuit resetten zonder de beschermde informatie te vernietigen. Stroom- en klokpieken kunnen de decodering en uitvoering van individuele instructies in sommige processors beïnvloeden.

4. sondetechnologie

De technologie bestaat uit het blootleggen van de interne bedrading van de chip, waarna de microcontroller kan worden geobserveerd, gemanipuleerd en verstoord om het doel van de aanval te bereiken.

Voor het gemak verdelen mensen de bovenstaande vier aanvalstechnieken in twee categorieën. De eerste is een intrusieve aanval (fysieke aanval). Bij deze aanval moet de behuizing worden vernietigd en vervolgens worden halfgeleidertestapparatuur, microscopen en micropositioneerders in een gespecialiseerd laboratorium gebruikt. De uitvoering kan uren of zelfs weken duren. Alle microprobetechnieken zijn invasieve aanvallen. De andere drie methoden zijn niet-invasieve aanvallen, waarbij de aangevallen microcontroller geen fysieke schade oploopt. Niet-intrusieve aanvallen zijn in sommige gevallen bijzonder gevaarlijk, omdat de apparatuur die nodig is voor niet-intrusieve aanvallen vaak zelf kan worden gebouwd en geüpgraded, en daarom zeer goedkoop is.

De meeste niet-intrusieve aanvallen vereisen dat de aanvaller over gedegen kennis van processors en software beschikt. Invasieve probe-aanvallen daarentegen vereisen niet veel initiële kennis en een breed scala aan vergelijkbare technieken kan doorgaans worden gebruikt tegen een breed scala aan producten. Aanvallen op microcontrollers beginnen daarom vaak met intrusieve reverse engineering, en de opgebouwde ervaring helpt bij de ontwikkeling van goedkopere en snellere niet-intrusieve aanvalstechnieken.