Fouten ontdekken in processoren voordat e-krakers dat doen

Zelfrijdende auto

Een steeds groter deel van onze wereld is gevoelig voor veiligheidslekken in elektronische systemen

Programmeren en ontwerpen is, nog steeds, mensenwerk en mensenwerk komt met fouten. Onderzoekers van de TU Kaiserslautern en van de Stanforduni in de VS zouden een wiskundig algoritme hebben ontwikkeld om kwetsbaarheden in processorontwerpen te ontdekken voor ze op de markt verschijnen. Begin vorig jaar werd ontdekt dat vrijwel alle geavanceerde computerprocessorontwerpen grote ‘gaten’ bevatten. Ook simpeler processorontwerpen zijn niet vrij van fouten, zo bleek de onderzoekers.
Die veiligheidslekken waren nogal zorgelijk omdat e-krakers via die ‘gaten’ bij gevoelige informatie kunnen komen door de manier waarop computer bepaalde gegevens behandelen om de verwerking te versnellen. De reparatie van die lekken liep niet geheel feilloos (om het vriendelijk te zeggen). Er zouden via deze weg duizenden pogingen tot inbraak zijn gedaan. Die inbraken zijn uiterst lastig te detecteren.
Om dergelijke ongein in de toekomst te voorkomen hebben de onderzoekers een nieuwe benadering gevonden om mogelijke lekken in processorontwerpen te detecteren. Hun algoritme hebben ze heel bescheiden uniek genoemd (de U van UPEC, waarbij de C voor controle staat).
“UPEC is een automatische veiligheidsverificatie die ontwikkelaars waarschuwt als er mogelijke lekken in hun microarchitectuur zitten nog voor ze gemaakt worden”, zegt Wolfgang Kunz van de TU Kaiserslautern. De onderzoekers ontdekten ook dat de ‘gaten’ in de processoren veel wijder verspreid zijn dan tot nu toe aangenomen.

Microarchitectuur

UPEC analyseert de gevolgen van ontwerpbeslissingen en bepaalt of die gebruikt kunnen worden als verdekte lekken. Die analyse zou uiterst veelomvattend zijn. Zo zou er rekening gehouden worden met alle toepassingen die op de processor (moeten/kunnen) draaien. De onderzoekers denken dat hun analysemethode sluitend is.
Ze hebben als proef op de som enkele open chipontwerpen geanalyseerd en daar een aantal tot nu toe onbekende lekken in ontdekt. Dergelijke kwetsbaarheden zouden gemakkelijk ontstaan tijdens normale ontwerpprocessen ook bij de eenvoudiger processoren. In het Meltdown?Spectre-verhaal ging het vooral over het geavanceerdere deel van de processormarkt.

“Zelfs bij eenvoudige ontwerpstappen, zoals het toevoegen of verwijderen van een buffer, kunnen die verdekte lekken in vrijwel alle processoren ontstaan”, zegt medeonderzoeker Mo Fadideh. De onderzoekers ontdekten met UPEC een kwetsbaarheid, die ze Orc noemden, in processoren die in vele vele veiligheidsgevoelige toepassingen worden gebruikt zoals in het internet-der-dingen, zelfrijdende auto’s en vliegtuigen. “In theorie kan een kraker Orc gebruiken om de controle over te nemen van computernetwerken of van autonome voertuigen”, zegt Subhasish Mita van Stanford.
Orc zou het eerste lek zijn dat is ontdekt door een automatisch systeem. Het is ook een bewijs dat ook in de minder ingewikkelde processoren kwetsbaarheden kunnen voorkomen. De onderzoekers weten niet of Orc op de markt figureert omdat ze dergelijke informatie niet hebben. Kunz: “We raden fabrikanten aan UPEC te gebruiken om er zeker van te zijn dat hun ontwerpen lekvrij zijn.”
Voor het ontdekken van die gaten in zijnhaar ontwerp hoeft de ontwikkelaar niet te weten welke mogelijkheden er zijn voor e-krakers om hun producten te misbruiken. Ook zouden er geen (grote) veranderingen in het ontwerpproces nodig zijn. Tot nu toe werkt het analysealgoritme voor ontwerpen tot en met gemiddelde complexiteit. Er wordt nog aan gewerkt om ook geavanceerde ontwerpen te kunnen doorlichten op veiligheidsgaten. UPEX is gemaakt als uitbreiding van de bestaande verificatieomgeving van OneSpin Solutions.

Alpha GalileoBron: Alpha Galileo

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.