Två nya cpu-kärnor från Synopsys utför slumpmässigt extrainstruktioner för att ingen genom att mäta tiden det tar att köra ett program ska kunna räkna ut vilka data som bearbetades. Det här är bara ett av många knep kärnorna använder som skydd mot intrång.
Designware Arc SEM110 och SEM120D är avsedda för integrering i lågeffekts-systemkretsar som självständiga cpu:er eller hjälpkärnor. De är konstruerade för att möta attacker från hackers via både mjukvara, hårdvara och så kallade sidokanaler, det vill säga attacker där angriparen mäter strömförbrukning eller hämtar information via andra fysiska processer kring processorn.
Tillämpningen för spioneriskyddade kretsar av det här slaget är exempelvis smarta elmätare, NFC-betalningar och SIM-enheter.
Arkitekturen är en 32-bitars risc, ARCv2 – jo, det finns fortfarande en marknad för andra risc-kärnor än ARM.
Vad gäller mjukvaran stöds säkerhet via ett administrativt program kallat Secureshield Runtime Library. Det övervakar allt som sker och hindrar olika program som körs på samma processor från att spionera på eller påverka varandra.
SEM-kärnorna släpps i oktober.
|
Secureshield låter dig stänga in program i en TEE (trusted execution environment) som andra program på samma processor inte kommer åt. |
Synopsys litar så mycket på sitt Secureshield att företaget lovar att säkerhetsfunktioner kan köras sida vid sida med oskyddad kod i en annan ”container”, som de skyddade avdelningarna kallas. En av poängerna med detta är att du slipper offra kisel på en separat säkerhetskärna. Containrarna kan tilldelas olika åtkomsträttigheter till processorns funktioner.
Runtime Library är öppen källkod, så du behöver inte lita på Synopsys att allt fungerar som avsett, utan kan själv verifiera, och kanske föreslå buggrättningar om du hittar problem.
Ett av skydden mot sidokanalsattacker består i att kärnorna slumpmässigt lägger in extra strömförbrukning när de arbetar. Liksom en kassaskåpstjuv lyssnar efter låskolvarnas klickande kan en hacker mäta processorns strömförbrukning för att ta reda på vilka operationer som utförs.
Instruktioner tar av samma skäl slumpmässigt långt tid att utföra, för att det inte ska vara lönt att gissa vad som pågår i huvudet på processorn genom att mäta exekveringstiden.
Vad gäller hårdvaran finns säkerhetsförstärkningar i minnesskydssenhet, pipeline, adressering och watchdog-timer. Instruktioner, data och adresser kan krypteras eller scramblas vilket inte bara skyddar mot attacker utan också mot oönskad kopiering av kod eller data.
Kärnorna har flera skydd mot så kallade felinjiceringsattacker. Sådana innebär att angriparen ger systemet en spark (genom att exempelvis störa klocksignalen, sänka spänningen, höja temperaturen eller skicka en elektromagnetisk puls) så att en instruktion hoppas över eller ändras, vilket för att ta en enkel illustration kan innebära att en PIN-kod accepteras istället för att förkastas.
Kärnorna letar efter bitfel på flera platser och watchdog-timern håller utkik efter vissa kända tecken på processorn är utsatt för en felinjiceringsattack.
En av finesserna med Arc-kärnor är stöd för att addera egna skräddarsydda instruktioner, Apex (Arc Processor Extension). I säkerhetssammanhang kan det exempelvis handla om en accelerator för en krypteringsalgoritm. För SEM-kärnorna adderar Secureshield möjligheten att styra vilka containrar som får anropa dessa extrafunktioner, statiskt eller dynamiskt.
SEM-kärnorna släpps i oktober. SEM120D har allt som SEM110D har, plus dsp-funktionalitet som som ska ge den bättre realtidsprestanda. Exempel på tillämpningar för detta är att bearbeta sensordata eller göra röstidentifering.
Synposys har inte bara cpu:er i sin säkerhetsportfölj, utan också bland annat flera olika kärnor för kryptering, acceleration och innehållsskydd.