Weeve-vittnesmål – ett pålitligt steg mot att säkra maskinekonomi

(Gaurav Tiwari) (6 maj 2020)

Data har jämförts med varor som olja eller guld. I denna anslutna värld kommer mer och mer kvalitetsdata att ge den smarta beslutsprocessen för maskiner som används i en fabrik eller olika prylar som används i våra hus. Men det finns en stor utmaning framöver – hur kan kvalitets- och betrodda data levereras säkert på ett skalbart och automatiserat sätt? Branschledare för avancerade inbäddade enheter arbetar hårt för att få de bästa säkerhetsrutinerna för hårdvara och mjukvara som finns tillgängliga på avancerade enheter till dessa mikrokontroller-enheter. Begränsade resurser i mikrokontroller och med så många operativsystem och lösningsstackar leder till ett komplext och utmanande landskap för inbäddad säkerhet.

Vi kan kategorisera dataskyddsscenarierna enligt följande;

  • Data i vila
  • Data i transit
  • Data som används

På Weeve utvecklar vi lösningar skräddarsydda för datasäkerhet för mikrokontrollerbaserade IoT-enheter.

  • Vi skyddar data i vila använder en pålitlig lagringslösning. Dessa data innehåller kryptografiska tillgångar som nycklar eller vissa digitala tillgångar som virtuella mynt etc.
  • Med data under transport, Vi har utvecklat Weeve MQTTS, en lätt och säker publiceringsprenumerant byggd på MQTT-protokollet skräddarsydd för low-end-enheter. Detta är ett alternativ till MQTT över TLS, som förbrukar mer kraftresurser vid kanten.
  • För data som används vi tar itu med integriteten i processen som körs på en IoT-enhet. Denna process kan samla in användbar data med hjälp av sensorer eller genomföra ett databehandlingssteg eller till och med utföra en affärslogik i händelse av en manöverdon. Det här är nyckeln att upptäcka och förhindra programvarans sårbarheter. Vi utvecklar Weeve-vittnesbörd , en applikation för kontrollintyg i realtid, vilket är ämnet för denna bloggserie.

Innan vi introducerar Weeve-vittnesbörd, här är lite teknisk bakgrund av problem vi löser och teknologier som används i vår lösning.

C-program sårbarhet Problem

Nästan all inbäddad mjukvara och firmware på låg nivå är utvecklad på C-programmeringsspråket. C: s brist på korrekta gränskontroller för avsedd tilldelad minne är en källa till stora säkerhetshot. Förutom buffertöverskott lider C-programmet av heltal-överflöd, sårbarhet i strängformat, överskrivningsadresser etc. Det finns också en ny klass av säkerhetshot för ett C-program som return-to-libc och mer generell retur-orienterad programmering (ROP) som är mycket effektiva mot vanliga lindringstekniker som Förebyggande av datakörning och kodsignering. Korrekt kodgranskning med statiska och dynamiska säkerhetsverktyg för applikationer kan minska svårighetsgraden av sådana sårbarheter. Andra tekniker i verktygskedjan som stack-smashing-skydd, i själva hårdvaran som NX-bituppsättning för datasegment, under körning som ASLR (randomisering av adressutrymme). Men programmet är fortfarande långt ifrån en rättvis sårbarhetsfri garanti. I samband med mikrokontrollerbaserade low-end-enheter implementeras inte den mest effektiva lindringstekniken för ASLR på grund av praktik för att undvika att ha en körtidsladdare.

Vår strategi för att mildra C-programmets sårbarheter

För att åtgärda problem med C-programets sårbarhet antar vi att det alltid kommer att finnas säkerhetsfel i programmet, och därför vågar vi upptäcka dem vid körning. Vi föreställer oss att det finns en mer privilegierad isolerad skyddsprocess som inspekterar och vittnar beteendet hos ett pågående C-program (MCU-firmware). Skyddsprocessen måste vara isolerad och mer privilegierad än den vanliga firmware, för om den är en del av samma process eller liknande privilegieringsnivå som normal firmware, kan hackaren också hacka skyddsprocessen genom att utnyttja samma sårbarhet i normal firmware . Vi föreställer oss också behovet av en fjärrattestationsenhet som i förväg känner till (med vårt profileringsverktyg) alla giltiga körningsbilder av normal firmwarekörning och vittnar om dessa ögonblicksbilder regelbundet.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *