Bygger ett försvar på djupet mot cyberattacker

Källnod: 1600298

Eftersom antalet och typen av cyberattacker, från de "enkla och billiga" till de "dyra och sofistikerade", fortsätter att växa i en dramatisk takt, måste skydd av chips och enheter använda en försvarsstrategi på djupet. På detta sätt, om en angripare lyckas kringgå en skyddsmekanism, kommer de att möta ett annat försvarsskikt, snarare än en tydlig väg till tillgångarna de försöker utnyttja. I den här bloggen kommer vi att prata om några av de skydd som säkerhetsarkitekter kan samla för att bygga ett försvar på djupet.

Integritetsskydd för firmware

En av de enklaste logiska attackvektorerna är att ersätta den äkta enhetens firmware med oseriös firmware. Det enklaste skyddet är att ha all firmware i inbyggd ROM. Av olika anledningar – inklusive säkerhetsuppdateringar på fältet – accepteras inte detta längre. Uppgraderingsmekanismer för fast programvara krävs för att möjliggöra uppdatering och uppgradering av enheter i fält, inklusive säkerhetskorrigeringar. Typiska startflöden börjar med en liten starthanterare i ROM som drar in de efterföljande startstegen och applikationskoden från extern Flash eller genom andra mekanismer. Ett robust kryptografiskt digitalt signaturschema kan validera digitalt signerade bilder innan de tillåter uppstart från dem. Utökade mekanismer ger också konfidentialitet i den inbyggda programvaran och anti-back-mekanismer.

Körtidsminnesskydd

Körtidsminnesskydd är en säkerhetstjänst som kan användas för att verifiera integriteten hos programkod och data vid körning. Integritetskontroller av minnena initieras periodiskt eller utlöses genom händelser. Tjänsten kan användas för att skydda kod och data från obehörig modifiering, inte bara vid uppstart som i skyddet för fast programvara ovan, utan under hela programmets körtid. Körtidsminnesskydd kan användas för att verifiera integriteten hos kritisk programkod eller data. Generellt sett är runtime-minnesskydd meningsfullt för minnen vars innehåll förblir oförändrat under långa tidsperioder. Exempel på vilka detta kan gälla är operativsystemkod, avbrottsvektortabeller, avbrottshanterare eller övervakningsprogram. Ett ytterligare lager av minnesskydd skulle vara att ha konfidentialitet, feldetektering och anti-back-skydd för applikationsdataområdena i minnet.

Avläsningsskydd

Förutom att den är avgörande för systemets integritet är den fasta programvaran en värdefull tillgång som kan kräva konfidentialitetsskydd utöver integritets- och autenticitetsskydd, t.ex. för att förhindra att den används i kloner. I enheter som lagrar firmware i ett flashområde på chipet måste den inbyggda programvaran skyddas mot många icke-invasiva attacker genom avläsningsskydd såväl som invasiva attacker mot on-chip flash. När extern blixt används kan säkerhetsundersystemet behöva tillhandahålla ytterligare skyddsmekanismer såsom kryptering/dekryptering och verifieringstjänster i farten för att skydda integriteten hos firmware lagrad i detta icke-flyktiga minne (NVM).

Körtidsintegritetsskydd

Ytterligare skyddsmekanismer kan behövas för att upprätthålla ett säkert tillstånd efter start, dvs. under körningen av applikationen för att säkerställa att koden inte bara läses korrekt från minnet, som med runtime-minnesskydd, utan också exekveras korrekt. Moderna säkerhetsundersystem kan därför ha runtime integritetsskyddsmekanismer såsom regelbunden verifiering av korrekt flöde av kodexekvering för att validera plattformens integritet eller – för en grundläggande säkerhet – ha miljösäkerhetssensorer för att övervaka IC.

Isolering av processmiljö/sandboxning

För att minska attackytan delas komplexa uppgifter upp i mindre deluppgifter, och dessa isoleras sedan från varandra på olika sätt. Att begränsa åtkomsträttigheter till IC-resurser som inte krävs av uppgiften är också ett sätt att minska attackytan för nämnda uppgift.

Skydd mot sidokanalattacker

Det finns en uppsjö av motåtgärder för att bekämpa sidokanalattacker. Dessa sträcker sig från speciella hårdvarudesigner som balanserar strömförbrukningen oavsett vad som exakt beräknas till ett brett utbud av mjukvarumotåtgärder som ofta involverar sofistikerad matematik. För enheter som är byggda med standardhårdvarukomponenter, är fokus för sidokanalsattack motåtgärder beroende av mjukvarumetoder. I huvudsak försöker alla dessa metoder att dekorrelatera den logiska digitala informationen (t.ex. värdefulla kryptografiska nyckelmaterial) från dess fysiska bitrepresentation. Likaså är målet att dekorrelera de logiska algoritmstegen som utförs på dessa nycklar från det faktiska fysiska utförandet av operationer på bitar och bytes. På ett eller annat sätt innebär detta ofta att man lägger till randomisering till implementeringen av en kryptografisk algoritm. Nyckelord här är maskering, gömma, blända, etc.

Skydd mot felinjektionsattacker

Det grundläggande botemedlet mot felinjektionsattacker är att lägga till redundans och motståndskraft till hårdvaran och mjukvaran på alla lager. I vissa fall kan detta vara så enkelt som att definiera returkoder till andra värden än alla nollor eller alla ettor, utan snarare två icke-triviala bytes. Detta gör det svårare för en glitchattack att skapa det önskade korrekta returvärdet. Det hjälper också att lägga till åtgärder som övervakar om vissa kritiska kodblock har exekverats – och exekveras i rätt ordning. Motåtgärder kommer också att variera beroende på om felet är övergående (dvs. endast närvarande under ett kort ögonblick) eller nästan permanent.

En av de mest slående aspekterna av att gå igenom en sådan lista med skydd är att det kan vara en skrämmande uppgift att skapa framgångsrik säkerhet för ett chip eller enhet. Lyckligtvis finns det experter med färdiga lösningar som kan hjälpa dig. På Rambus har vi nästan tre decennier av säkerhetsexpertis och en bred portfölj av säkerhets-IP-lösningar. Vi kan hjälpa dig att skydda din design oavsett om den riktar sig till konsumenternas IoT eller de mest känsliga militära applikationerna.

Ytterligare resurser:

Bart Stevens

Bart Stevens

  (alla inlägg)
Bart Stevens är senior director för produkthantering för kryptografi på Rambus.

Källa: https://semiengineering.com/building-a-defense-in-depth-against-cyberattacks/

Tidsstämpel:

Mer från Semiconductor Engineering