Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial Internet of Things >> Ingebed

Vertrouwelijkheid in processorontwerp garanderen: Best practices voor veilige en betrouwbare IC's

Moderne geïntegreerde circuits (IC's) bieden de computationele en systeemcontrole-capaciteiten om enorme hoeveelheden data te verwerken, veiligheidskritieke beslissingen in realtime te nemen en gevoelige data te beschermen. Een application-specific integrated circuit (ASIC) of field-programmable gate array (FPGA) system-on-chip (SoC) vanaf nul ontwerpen zou prohibitief duur en tijdrovend zijn. Veel kritische functies worden geïmplementeerd met third-party intellectual properties (IP's). Processorkernen worden bijvoorbeeld bezorgd door gespecialiseerde organisaties en bieden een flexibele, software-programmeerbare functie via hun instruction set architecture (ISA), die de interface definieert tussen hardware en software. Open-source processorarchitecturen bieden een kans voor diepere scrutineering en rigoureuze beveiligingsassurance in systemen die al met een vloeibare dreigingsomgeving te maken hebben. Dit artikel beschrijft een benadering voor het bieden van beveiligingsassurance van IP en SoC's gebaseerd op de RISC-V open-source ISA.

Uitgevonden aan de Universiteit van Californië en beheerd door de non-profitorganisatie RISC-V Foundation, is RISC-V de eerste open-source ISA die een echt levensvatbare industriële keuze is geworden voor een breed scala aan toepassingen.

RISC-V is een open-source ISA uitgevonden aan de Universiteit van Californië en beheerd door de RISC-V Foundation, een non-profitorganisatie met meer dan 300 leden opgericht in 2015. RISC-V is de eerste open-source ISA die een echt levensvatbare industriële keuze is geworden voor een breed scala aan toepassingen. Het ecosysteem van tools, software en expertise is robuust en groeit steady. Velu individuen en organisaties hebben al open-source hardware IP's gedoneerd die de RISC-V ISA implementeren. De OpenHW Group streeft er bijvoorbeeld naar om de langverwachte kans op open-source hardware – met name processorkernen – voor high-volume chips een realiteit te maken.

De opkomst van RISC-V heeft veel redenen. Opgebouwd vanaf nul met custom extensibiliteit in gedachten, stelt RISC-V een nieuw niveau van hardware-optimalisatie voor specifieke workloads toe. Moore's wet verzwakt, en customization is cruciaal om het niveau van prestatieverbeteringen te handhaven dat technologische vooruitgang in het semiconductor-fabricatieproces niet meer kan leveren. Bovendien is de RISC-V architectuur vrij van licentiekosten en royalty's, wat meer bedrijven in staat stelt om innovatieve, betaalbare producten te ontwikkelen. Er gebeurt veel in het veld van IoT en wearables met kunstmatige intelligentie-capaciteiten, bijvoorbeeld.

SoC-integrators gebruiken vaak open-source of third-party RISC-V processor IP's. Deze ontwerpen en hun bijbehorende toolchains kunnen uitgebreid worden met custom instructies. Een hoge-kwaliteit verificatieomgeving geleverd met de IP en additionele systeem-level testing kan enige vertrouwen geven dat de IP geen kritieke bugs heeft. Helaas is dit voor veel toepassingen niet genoeg, en zijn er andere ernstige risico's om te overwegen.

Kwetsbaarheden en Trojans

Traditioneel zijn beveiligingskwetsbaarheden in elektronische systemen geassocieerd met systeem-level en software-issues. Meer recentelijk zijn hardware IP's, prominent processoren, ook een centraal zorgpunt geworden (zie Fig. 1). Processor-implementaties gebruiken pipeline-gebaseerde microarchitecturen en bevatten vaak prestatie- en stroomoptimalisatiefuncties. Complexiteit vergroot het risico op het missen van niet alleen functionele bugs maar ook beveiligingskwetsbaarheden. De beveiligingsonderzoekers die de Meltdown- en Spectre-aanvallen in early 2018 ontdekten, hebben gedemonstreerd dat prestatie-optimalisatiefuncties in processoren op onbedoelde manieren gebruikt kunnen worden voor nefast doeleinden. Sindsdien zijn veel meer kwetsbaarheden in zowel high-end als low-end processoren ontdekt. Zijkanalen en transient execution aanvallen kunnen veilige enclaves doorbreken en kwaadaardige applicaties toestaan om vertrouwelijke data te lekken of zelfs de controle over het systeem over te nemen. En in tegenstelling tot software, kunnen hardware-issues niet gemakkelijk gerepareerd worden met over-the-air updates. Een hardware-issue via software adresseren veroorzaakt vaak ernstige prestatiedegradatie.

De RISC-V architectuur heeft veel features die de implementatie van veilige embedded systemen ondersteunen. De privilege specificatie definieert vier privilege modes (machine, supervisor, hypervisor, en user), bijvoorbeeld. Custom instructies en ISA-extensies in het proces van ratificatie, zoals de Cryptografische extensie, bieden additionele beveiligingscapaciteiten. Ontwerpers kunnen meerdere veilige enclaves implementeren om applicaties te isoleren en lekkage van gevoelige data te voorkomen. Echter, RTL micro-architecturale features kunnen nog steeds resulteren in beveiligingskwetsbaarheden. Deze risico's kunnen niet volledig op ISA-niveau adresseren. Een nieuwe benadering onder verkenning is het gebruik van een augmented ISA (aISA) om aspecten van instructie-uitvoering op micro-architecturaal niveau te definieren en bijvoorbeeld de staat van buffers of registers niet zichtbaar op ISA-niveau te controleren. RTL functionele bugs zouden al deze beveiligingsfeatures kunnen compromitteren.

Een minder waarschijnlijke risico maar met een veel hogere severity is de aanwezigheid van kwaadaardige logica of hardware Trojans in de RISC-V kern. Een hardware Trojan is een logica-functie bewust ontworpen om stille te zijn, die activeert in zeer zeldzame omstandigheden alleen bekend aan de aanvaller. Een specifieke reeks data- en control-events die niet zouden gebeuren terwijl het systeem in zijn target use cases opereert, activeert de Trojan-logica, die op zijn beurt een schadelijke payload levert, bijvoorbeeld een geheim lekt of het systeemgedrag kritiek corrupt. SoC-integraties die open-source of third-party RISC-V kernen gebruiken, kunnen dit risico niet langer negeren.

Zekerstellen dat een processor doet wat het moet doen is moeilijk, maar zekerstellen dat het niets doet wat het niet moet doen is een nog uitdagendere taak die grotendeels onadresseerd blijft. Veiligheidskritieke systemen en systemen waar bescherming van dataprivacy paramount is, hebben efficiënte, hoge-kwaliteit oplossingen nodig die het risico van beveiligingskwetsbaarheden en Trojans adresseren.

Vertrouwelijkheid in processorontwerp garanderen: Best practices voor veilige en betrouwbare IC s
Figuur 1: De CVE-MITRE database registreerde 6488 kwetsbaarheden in 2015, 43% welke geclassificeerd kunnen worden als software-assisted hardware kwetsbaarheden. In 2018 en 2019 ontdekten en rapporteerden onderzoekers talloze kwetsbaarheden in processoren, inclusief Meltdown en Spectre, Foreshadow, ZombieLoad, en RIDL en Fallout. (Bron: DARPA en OneSpin)

Slimme Hardware Assurance

Het verzekeren van het vertrouwen en de beveiliging van RISC-V IP's vereist innovatieve en efficiënte technische oplossingen die complementair zijn aan functionele correctheidsbenaderingen, hoofdzakelijk gericht op de IP beoogde use cases (zie Fig. 2). IP-providers zijn verantwoordelijk voor het toepassen van state-of-the-art vertrouwens- en beveiligingsverificatieprocessen, terwijl IP-integrators toegang moeten hebben tot onafhankelijke assurance-oplossingen die snel deployed kunnen worden zonder diepgaande kennis van de IP-implementatiedetails.

Formele methoden kunnen hardware-functies exhaustief analyseren en bewijs leveren dat de IP of SoC precies overeenkomt met een verwacht gedrag vaak vastgelegd in SystemVerilog assertions. Hardware formele verificatie met commerciële model checkers heeft de afgelopen decennium wijdverspreide adoptie genoten. Typisch hebben IP-providers en SoC-integrators formele verificatie-experts in hun rangen, die proberen het risico op het missen van functionele bugs te minimaliseren. Hoewel bepaalde goed-gedefinieerde formele verificatie-taken geautomatiseerd kunnen worden door Apps, vereist het in het algemeen aanzienlijke engineering-inspanning om het verwachte gedrag van de IP in assertions vast te leggen. Bovendien is er geen garantie dat voldoende assertions geschreven zijn. Ongedocumenteerde functies of onbedoelde gaten in de set assertions kunnen leiden tot niet-geverifieerde IP-functionaliteit.

De open-source aard van RISC-V stelt de ontwikkeling van prepackaged, onafhankelijke assurance-oplossingen in staat. OneSpin's RISC-V Integrity Verification Solution kan bijvoorbeeld toegepast worden op een breed scala aan microarchitecturen. Het bevat modellen van de RISC-V ISA en privileged ISA die uitbreidbaar zijn en custom instructies kunnen accommoderen. Een cruciale aspect van deze oplossing is dat het gebaseerd is op OneSpin's GapFreeVerification™ proces, dat een rigoureus bewijs levert dat de set assertions die de RISC-V ISA modelleert compleet is en vrij van gaten. Dit aspect is van de utmost belang wanneer de detectie van hardware Trojans of ongedocumenteerde logica een cruciaal doel is. De oplossing stelt SoC-integrators met beperkte expertise op RISC-V en de RTL-implementatie onder scrutineering in staat om vertrouwen te krijgen in de kwaliteit en betrouwbaarheid van de IP. IP-ontwikkelaars kunnen het gebruiken om beveiligingszwaktes en functionele bugs voor release te detecteren.

Vertrouwelijkheid in processorontwerp garanderen: Best practices voor veilige en betrouwbare IC s
Figuur 2: Functionele correctheidsverificatie geeft vertrouwen dat een processor-implementatie zich gedraagt zoals gespecificeerd, en voldoet aan de vereisten van eindgebruikers. Vertrouwens- en beveiligingsverificatie geeft vertrouwen dat de processor geen ongedocumenteerde functies, onvoorziene zijkanalen, hardware Trojans, of andere kwetsbaarheden heeft die uitgebuit kunnen worden door kwaadaardige actoren. (Bron: OneSpin)

Werkt het?

Het RISC-V integriteitsassurance-proces beschreven in de vorige sectie is met succes toegepast op meerdere RTL-ontwerpen. Edaptive Computing, een bedrijf dat innovatieve oplossingen integreert om systemen van systemen en processen voor diverse U.S. Department of Defense en commerciële sector klanten te optimaliseren, verzekeren en automatiseren, heeft het proces toegepast op de RocketCore, bijvoorbeeld. De RocketCore is een open-source, silicon-proven 64-bit RISC-V kern met een 39-bit virtueel geheugensysteem. Het heeft een vijf-traps, single-issue, in-order pipeline met out-of-order completion voor hoge-latentie instructies zoals deling. Het bevat de geavanceerde features van branch prediction en instructie replay.

De RISC-V Integrity Verification Solution werd toegepast op het ontwerp met alle instructies, privilege levels, interrupts, en exception mechanism, en 8 issues werden gedetecteerd (zie Fig. 3). Additionele informatie over 3 ervan wordt hieronder gerapporteerd.

Deling corner-case

Een diepe corner-case bug geassocieerd met de out-of-order completion van de delingsinstructie. Dit issue zou een softwareprogramma dat de delingsoperatie gebruikt kunnen veroorzaken om onjuiste resultaten te berekenen en tot systeemmisgedrag leiden. Het issue verschijnt alleen onder een combinatie van zeldzame omstandigheden, en dat is waarom eerdere verificatie-inspanningen het gemist hadden.

Replay van illegale instructie

Dit is geen corner-case bug. Een illegale instructie herhalen kan verwerkingscycli verspillen, maar als dit alleen in zeldzame situaties gebeurt, is de prestatie-impact verwaarloosbaar. Er zijn echter andere aspecten te overwegen. Instructie replay kan onnodige geheugenverzoeken veroorzaken. Deze verzoeken kunnen zij-effecten hebben die benut kunnen worden in zijkanaalaanvallen. Als resultaat moet dit gedrag ofwel geëlimineerd ofwel duidelijk begrepen en gedocumenteerd worden.

Ongedocumenteerde instructie

Een ongedocumenteerde, non-standaard instructie genaamd CEASE die de kern stopt werd gedetecteerd. In effect kon de RISC-V RocketCore iets doen wat het niet moest doen. Ongedocumenteerde, verborgen functies zijn niet acceptabel wanneer vertrouwen en beveiliging een zorg zijn, zelfs wanneer ze relateren tot use cases die niet relevant geacht worden voor de eindapplicatie.

De RocketCore case study wordt in detail gepresenteerd in het GOMACTech 2019 paper getiteld Complete Formal Verification of RISC-V Processor IPs for Trojan-Free Trusted ICs. Om een kopie te verkrijgen, bezoek onespin.com/resources/white-papers.

Vertrouwelijkheid in processorontwerp garanderen: Best practices voor veilige en betrouwbare IC s
Figuur 3: Lijst van issues gedetecteerd door OneSpin's RISC-V Integrity Verification Solutions en gerapporteerd in het GitHub RocketCore project. (Bron: OneSpin)

Wat is er aan de hand?

Het RISC-V assurance-proces gepresenteerd in dit artikel detecteert scenario's die beveiliging kunnen affecteren, en onthult systematisch ongedocumenteerde functies en hardware Trojans die de processor's gedrag beïnvloeden, ongeacht hoe zeldzaam en stille ze zijn. Echter, zijkanalen worden niet systematisch gedetecteerd. Exhaustieve detectie van alle potentiële zijkanalen vereist een toegewijde oplossing met geschikte technologie. Er zijn al prototypes die deze uitdaging adresseren. Voor meer informatie, bezoek onespin.com/resources/technical-artikelen en lees het EE Times artikel Side-Channel Attacks on Embedded Processors.

Processorkernen zijn cruciale IP's binnen embedded systemen. Echter, een typische SoC integreert veel andere IP's die ook hardware Trojans kunnen bevatten. In tegenstelling tot RISC-V kernen, zouden onafhankelijke vertrouwensassurance-oplossingen misschien niet direct beschikbaar zijn. In dit geval zou het waardevol zijn om een geautomatiseerd, low-effort vertrouwensassessment-proces te hebben dat toepasbaar is op elke IP. Een proces dat geen vertrouwd model van de IP omvat, kan de afwezigheid van een Trojan niet garanderen. Het is echter mogelijk om ongewone en verdachte codepatronen en bekende Trojan-handtekeningen te identificeren, en zwaktes die in latere ontwikkelfasen uitgebuit kunnen worden voor nefast doeleinden. Een paper over dit onderwerp getiteld An Automated Pre-Silicon IP Trustworthiness Assessment for Hardware Assurance, geauthored door AEROSPACE Corporation en OneSpin ingenieurs, zal gepresenteerd worden op de GOMACTech 2020 conferentie.

Ingebed

  1. De impact van condition-based maintenance maximaliseren: Een praktische gids
  2. Bewezen Strategieën Om Uw Uitgebreid Veiligheidsprogramma Te Laten Werken
  3. Een Arduino-aangedreven Robot Bouwen met Raspberry Pi: Een Stap-voor-Stap Gids
  4. Progressieve Doorsnede Animatie Maken in SolidWorks – Stap-voor-Stap Tutorial
  5. Betrouwbare supply-chain-data waarborgen: een bewezen strategie
  6. Bouw een Winnend Prototype: Stapsgewijze Gids voor Snelle Productontwikkeling
  7. Stap-voor-Stap Gids voor het Vervangen van een Hydraulische Slang op Zware Apparatuur
  8. Professionele Gids Voor Het Bouwen Van Een Metaaldraaibank Span
  9. Versnel uw applicaties met op maat gemaakte RISC-V custom instructions
  10. IoT-data Ontgrendelen: Hoe Business Rules Management Enterprise-waarde Drijft
  11. De Complete Gids voor Glasvezelproductie