Weeve svědectví – důvěryhodný krok k zabezpečení ekonomiky strojů

(Gaurav Tiwari) (6. května 2020)

Data byla přirovnávána ke komoditám, jako je ropa nebo zlato. V tomto propojeném světě bude stále více a více kvalitních dat posilovat proces inteligentního rozhodování strojů nasazených v továrně nebo různých gadgetů nasazených v našich domech. Před námi je však velká výzva – jak lze zabezpečit kvalitní a důvěryhodná data škálovatelným a automatizovaným způsobem? Průmysloví lídři v oblasti low-endových vestavěných zařízení tvrdě pracují na tom, aby přinesli nejlepší postupy zabezpečení hardwaru a softwaru široce dostupné na zařízeních vyšší třídy až po tato zařízení s mikrokontroléry. Omezené zdroje v mikrokontrolérech a s tolika operačními systémy a zásobníky řešení vedou ke složitému a náročnému prostředí pro integrované zabezpečení.

Scénáře ochrany dat můžeme kategorizovat takto;

  • Data v klidu
  • Data během přepravy
  • Používaná data

Ve Weeve vyvíjíme řešení šitá na míru pro zabezpečení dat pro zařízení IoT založená na mikrokontrolérech.

  • Chráníme data at rest používá důvěryhodné řešení úložiště. Tato data obsahují kryptografická aktiva, jako jsou klíče nebo některá digitální aktiva, jako jsou virtuální mince atd.
  • Při přenosu dat vyvinuli jsme Weeve MQTTS, lehký a bezpečný publikování a odběr postavený na protokolu MQTT přizpůsobený pro zařízení nižší třídy. Toto je alternativa k MQTT přes TLS, která na okraji spotřebovává více zdrojů energie.
  • Pro používaná data řešíme integritu procesu běžícího na zařízení IoT. Tímto procesem může být sběr užitečných dat pomocí senzorů nebo provedení kroku zpracování dat nebo dokonce provedení obchodní logiky v případě akčního zařízení. Klíčem je zde detekce a prevence softwarových zranitelností procesu. Vyvíjíme Weeve Testimony , aplikaci pro ověřování kontroly v reálném čase, která je tématem této série blogů.

Než představíme Weeve Testimony, je zde trochu technického zázemí problémů, které řešíme, a technologií použitých v našem řešení.

Problémy se zranitelností programu C

Téměř veškerý nízkoúrovňový integrovaný software a firmware je vyvinut v programovacím jazyce C. Nedostatek řádných hraničních kontrol C pro zamýšlenou přidělenou paměť je zdrojem velkých bezpečnostních hrozeb. Kromě přetečení vyrovnávací paměti program C trpí přetečením celých čísel, zranitelností formátu řetězce, přepsáním zpáteční adresy atd. Existuje také nová třída bezpečnostních hrozeb pro program C, například return-to-libc a obecnější návratově orientované programování (ROP) , které jsou velmi účinné proti běžným technikám zmírňování, jako je Prevence spuštění dat a podepisování kódu. Správná kontrola kódu pomocí statických a dynamických nástrojů zabezpečení aplikace může snížit závažnost těchto chyb zabezpečení. Jiné techniky v řetězci nástrojů, jako je ochrana proti rozbití zásobníku, v samotném hardwaru jako sada bitů NX pro datové segmenty, za běhu, jako jsou randomizace rozložení adresového prostoru (ASLR). Program však stále není daleko od spravedlivé záruky bezbrannosti. V souvislosti s low-end zařízeními založenými na mikrokontroléru není implementována nejúčinnější technika zmírňování ASLR z důvodu praktičnosti vyhnout se zavádění za běhu.

Náš přístup ke zmírnění chyb zabezpečení programu C

Abychom vyřešili problémy se zranitelností programu C, předpokládáme, že v programu budou vždy chyby zabezpečení, a proto se odvážíme je detekovat za běhu. Představujeme si existenci privilegovanějšího izolovaného ochranného procesu, který kontroluje a svědčí chování běžícího C-programu (firmware MCU). Proces ochrany musí být izolovaný a privilegovanější než normální firmware, protože pokud je součástí stejného procesu nebo podobné úrovně oprávnění jako normální firmware, hacker bude schopen hackovat proces ochrany také s využitím stejné zranitelnosti v normálním firmwaru . Představujeme si také potřebu vzdálené entity atestace, která předem (pomocí našeho nástroje pro profilování) zná všechny platné snímky spuštění běžného spuštění firmwaru a pravidelně tyto snímky potvrzuje.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *