CHERIoT, projekt společnosti Microsoft pro zlepšení zabezpečení v C

CHERIOT

CHERIOT, možnost MS pro zabezpečení vestavěných systémů

Nedávno to prolomila zpráva Microsoft otevřel vývoj související s projektem CHERIoT (Rozšíření schopností hardwaru na RISC-V pro Internet věcí), určené k blokování bezpečnostních problémů v kódu C a C++ existující. CHERIoT nabízí řešení pro ochranu stávajících kódových základen C/C++, aniž by bylo nutné je refaktorovat.

Ochrana je implementována pomocí upraveného kompilátoru který využívá speciální rozšířenou sadu instrukcí procesoru (ISA) poskytovanou procesorem a monitoruje přístup do paměti na úrovni hardwaru, ověřuje správnost úlohy pomocí ukazatelů a zajišťuje izolaci bloků kódu.

O CHERIOT

El Proyecto byl vytvořen s vědomím, že nízkoúrovňová povaha jazyka C se stává zdrojem chyb paměti, což vede k problémům, jako je přetečení vyrovnávací paměti, přístup k již uvolněné paměti, dereferencování ukazatele nebo dvojité uvolnění.

Praxe ukazuje, že ani velké korporace jako Google a Microsoft, které mají přísnou politiku kontroly změn a používají moderní vývojové metody a nástroje statické analýzy, nemohou zaručit bezchybnou práci s pamětí (např. asi 70 % zranitelností v Microsoftu a Google jsou způsobeny nezabezpečenou správou paměti).

Problém Lze to vyřešit pomocí programovacích jazyků, které zaručují bezpečnou práci.nebo s pamětí nebo propojením s dalšími ovládacími prvky, například pomocí MiraclePtr (raw_ptr) namísto běžných ukazatelů, které provádějí další ovládací prvky pro přístup k uvolněným oblastem paměti.

Ale takové metody jsou pro nový kód vhodnější y je docela problematické přepracovat stávající projekty C/C++, zejména pokud jsou určeny k provozu v prostředí s omezenými zdroji, jako jsou vestavěné systémy a zařízení internetu věcí.

L Hardwarové komponenty CHERIoT jsou navrženy jako mikrokontrolér založený na architektuře RISC-V, implementující zabezpečenou procesorovou architekturu CHERI (Capacity Hardware Extension for RISC-V), poskytující model řízeného přístupu k paměti.

Na základě architektura instrukční sady (JE) V CHERIoT je sestaven programovací model, který zaručuje bezpečnost práce s pamětí na úrovni jednotlivých objektů, poskytuje ochranu před přístupem k již uvolněné paměti a implementuje odlehčený izolační systém pro přístup do paměti.

Tento model programové ochrany přímo zrcadlí jazykový model C/C++, což umožňuje jeho použití k ochraně stávajících aplikací (vyžaduje pouze rekompilaci a provoz na hardwaru kompatibilním s ISA CHERIOT).

Navržené řešení umožňuje blokovat chyby, které způsobí mimo hranice objektu v paměti, neumožňuje substituci ukazatele (všechny ukazatele musí být generovány z existujících ukazatelů), monitoruje přístup k paměti po uvolnění (jakýkoli přístup do paměti špatným ukazatelem nebo ukazatelem odkazujícím na uvolněný objekt vyvolá výjimku).

Například použití CHERIoT umožňuje bez jakýchkoli změn kódu implementovat automatickou kontrolu hranic, sledovat životnost paměťových oblastí a zajistit integritu ukazatelů v komponentách, které zpracovávají nespolehlivá data.

El Proyecto obsahuje specifikaci pro architekturu instrukční sady CHERIoT rozšíření, referenční implementaci ISA CHERIoT kompatibilního 32bitového RISC-V CPU a upravenou sadu nástrojů LLVM.

Konečně Máte-li zájem o tom vědět více, měli byste vědět, že prototypová schémata Popisy CPU a hardwarových bloků ve Verilog jsou distribuovány pod licencí Apache 2.0. Jádro Ibex projektu lowRISC je použito jako základ pro CPU a kódový model CHERIoT ISA je definován v jazyce Sail a distribuován pod licencí BSD.

Navíc je navržen prototyp operačního systému reálného času CHERIoT RTOS, který poskytuje možnost izolovat oddíly (oddělení) i na vestavěných systémech s 256 MB RAM.

Kód CHERIOT RTOS Je napsán v C++ a je distribuován pod licencí MIT. Ve formě oddílů jsou navrženy základní součásti operačního systému, jako je zavaděč, plánovač a systém alokace paměti.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.