CHERIOT, projekt Microsoftu na zlepšenie bezpečnosti v C

CHERIOT

CHERIOT, možnosť MS pre bezpečnosť pre vstavané systémy

Nedávno to prelomila správa Microsoft otvoril vývoj súvisiaci s projektom CHERIoT (Rozšírenie hardvéru na RISC-V pre internet vecí), určené na blokovanie bezpečnostných problémov v kóde C a C++ existujúce. CHERIoT ponúka riešenie na ochranu existujúcich kódových báz C/C++ bez toho, aby ste ich museli refaktorovať.

Ochrana je implementovaná pomocou upraveného kompilátora ktorý využíva špeciálnu rozšírenú sadu inštrukcií procesora (ISA) poskytovanú procesorom a monitoruje prístup do pamäte na hardvérovej úrovni, overuje správnosť úlohy pomocou ukazovateľov a zabezpečuje izoláciu blokov kódu.

O CHERIOT

Projekt bol vytvorený s vedomím, že nízkoúrovňová povaha jazyka C sa stáva zdrojom chýb pamäte, čo vedie k problémom, ako je pretečenie vyrovnávacej pamäte, prístup k už uvoľnenej pamäti, dereferencovanie ukazovateľa alebo dvojité uvoľnenie.

Prax ukazuje, že ani veľké korporácie ako Google a Microsoft, ktoré majú prísnu politiku kontroly zmien a používajú moderné vývojové metódy a nástroje statickej analýzy, nedokážu zaručiť bezchybnú prácu s pamäťou (napríklad asi 70 % zraniteľností v Microsoft a Google sú spôsobené nezabezpečenou správou pamäte).

Problém Dá sa to vyriešiť pomocou programovacích jazykov, ktoré zaručujú bezpečnú prácu.alebo s pamäťou alebo prepojeniami s ďalšími ovládacími prvkami, napríklad použitím MiraclePtr (raw_ptr) namiesto bežných ukazovateľov, ktoré vykonávajú ďalšie ovládacie prvky na prístup k oblastiam uvoľnenej pamäte.

Hruška takéto metódy sú vhodnejšie pre nový kód y je dosť problematické prepracovať existujúce projekty C/C++, najmä ak sú určené na spustenie v prostrediach s obmedzenými zdrojmi, ako sú napríklad vstavané systémy a zariadenia internetu vecí.

undefined Hardvérové ​​komponenty CHERIoT sú navrhnuté ako mikrokontrolér založené na architektúre RISC-V, implementujúcej zabezpečenú procesorovú architektúru CHERI (Capacity Hardware Extension for RISC-V), poskytujúcu model riadeného prístupu do pamäte.

Založené na architektúra inštrukčnej sady (ISA) V CHERIoT je vybudovaný programovací model, ktorý zaručuje bezpečnosť práce s pamäťou na úrovni jednotlivých objektov, poskytuje ochranu pred prístupom k už uvoľnenej pamäti a implementuje odľahčený systém izolácie pre prístup do pamäte.

Tento model programovej ochrany priamo odráža jazykový model C/C++, čo umožňuje jeho použitie na ochranu existujúcich aplikácií (vyžaduje sa iba rekompilácia a spustenie na hardvéri kompatibilnom s ISA CHERIOT).

Navrhované riešenie umožňuje blokovať chyby, ktoré spôsobujú prekročenie hraníc objektu v pamäti, neumožňuje substitúciu ukazovateľa (všetky ukazovatele musia byť generované z existujúcich ukazovateľov), monitoruje prístup k pamäti po uvoľnení (akýkoľvek prístup do pamäte zlým ukazovateľom alebo ukazovateľom odkazujúcim na uvoľnený objekt vyvoláva výnimku).

Napríklad používanie CHERIoT umožňuje bez akýchkoľvek zmien kódu implementovať automatickú kontrolu hraníc, sledovať životnosť pamäťových oblastí a zabezpečiť integritu ukazovateľov v komponentoch, ktoré spracúvajú nespoľahlivé údaje.

Projekt obsahuje špecifikáciu architektúry inštrukčnej sady CHERIoT rozšírenie, referenčnú implementáciu ISA CHERIoT-kompatibilného 32-bitového RISC-V CPU a upravenú sadu nástrojov LLVM.

Konečne Ak máte záujem dozvedieť sa viac, mali by ste vedieť, že prototypové diagramy Popisy CPU a hardvérových blokov vo Verilog sú distribuované pod licenciou Apache 2.0. Jadro Ibex projektu lowRISC je použité ako základ pre CPU a kódový model CHERIoT ISA je definovaný v jazyku Sail a distribuovaný pod licenciou BSD.

Okrem toho je navrhnutý prototyp operačného systému CHERIoT RTOS v reálnom čase, ktorý poskytuje schopnosť izolovať priehradky (oddelenie) aj na vstavaných systémoch s 256 MB RAM.

Kód CHERIOT RTOS Je napísaný v C++ a je distribuovaný pod licenciou MIT. Vo forme priehradiek sú navrhnuté základné komponenty operačného systému, ako je zavádzač, plánovač a systém prideľovania pamäte.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.