CHERIOT, Microsoftov projekt za poboljšanje sigurnosti u C

CHERIOT

CHERIOT, MS opcija za sigurnost ugrađenih sustava

Vijesti su to nedavno objavile Microsoft je otvorio razvoj vezan uz projekt CHERIOT (Hardversko proširenje mogućnosti za RISC-V za Internet stvari), namijenjen blokiranju sigurnosnih problema u C i C++ kodu postojanje. CHERIOT nudi rješenje za zaštitu postojećih C/C++ kodnih baza bez potrebe za njihovim refaktoriranjem.

Zaštita je implementirana korištenjem modificiranog prevoditelja koji koristi poseban prošireni skup procesorskih instrukcija (ISA) koje daje procesor i nadzire pristup memoriji na hardverskoj razini, provjerava ispravnost posla pokazivačima i osigurava izolaciju bloka koda.

O CHERIOT-u

Projekt stvoren je s razumijevanjem da niska razina prirode C jezika postaje izvor grešaka u pamćenju, što dovodi do problema poput prelijevanja međuspremnika, pristup već oslobođenoj memoriji, dereferenciranje pokazivača ili dvostruko oslobađanje.

Praksa pokazuje da čak ni velike korporacije kao što su Google i Microsoft, koje imaju strogu politiku pregleda promjena i koriste suvremene razvojne metode i alate za statičku analizu, ne mogu jamčiti rad s memorijom bez grešaka (npr. oko 70% ranjivosti u Microsoftu i Googleu uzrokovani su nesigurnim upravljanjem memorijom).

problem To se može riješiti korištenjem programskih jezika koji jamče siguran rad.ili s memorijom ili vezama s dodatnim kontrolama, na primjer, korištenjem MiraclePtr (raw_ptr) umjesto uobičajenih pokazivača, koji izvodi dodatne kontrole za pristup oslobođenim područjima memorije.

Pero takve su metode prikladnije za novi kod y prilično je problematično preraditi postojeće C/C++ projekte, posebno ako su namijenjeni za rad u okruženjima s ograničenim resursima, kao što su ugrađeni sustavi i IoT uređaji.

The Hardverske komponente CHERIOT dizajnirane su kao mikrokontroler temeljen na RISC-V arhitekturi, implementirajući sigurnu procesorsku arhitekturu CHERI (Capacity Hardware Extension for RISC-V), pružajući kontrolirani model pristupa memoriji.

Na temelju arhitektura skupa uputa (JE) U CHERIoT-u je izgrađen model programiranja koji jamči sigurnost rada s memorijom na razini pojedinačnih objekata, pruža zaštitu od pristupa već oslobođenoj memoriji i implementira lagani sustav izolacije za pristup memoriji.

Ovaj model programske zaštite izravno odražava jezični model C/C++, dopuštajući mu da se koristi za zaštitu postojećih aplikacija (potrebno je samo ponovno kompajliranje i pokretanje na hardveru kompatibilnom s ISA CHERIOT) .

Predloženo rješenje omogućuje blokiranje pogrešaka koje uzrokuju izvan granica objekta u memoriji, ne dopušta zamjenu pokazivača (svi pokazivači moraju biti generirani iz postojećih pokazivača), nadzire pristup memoriji nakon oslobađanja (svaki pristup memoriji od strane lošeg pokazivača ili pokazivača koji referencira oslobođeni objekt pokreće iznimku).

Na primjer, korištenje CHERIOT-a omogućuje, bez promjene koda, implementaciju automatske provjere granica, praćenje životnog vijeka memorijskih područja i osiguranje integriteta pokazivača u komponentama koje obrađuju nepouzdane podatke.

Projekt uključuje specifikaciju za arhitekturu skupa instrukcija CHERIOT proširenje, referentnu implementaciju 32-bitnog RISC-V CPU-a usklađenog s ISA CHERIOT i modificirani skup alata LLVM.

Konačno Ako vas zanima više o tome, trebali biste znati da dijagrami prototipa CPU i opisi hardverskih blokova u Verilogu distribuiraju se pod licencom Apache 2.0. Ibex jezgra lowRISC projekta koristi se kao osnova za CPU, a model koda CHERIOT ISA definiran je u jeziku Sail i distribuiran pod BSD licencom.

Dodatno, predložen je prototip CHERIoT RTOS operativnog sustava u stvarnom vremenu, koji pruža mogućnost izolacije odjeljaka (odjeljka) čak i na ugrađenim sustavima s 256 MB RAM-a.

Kod CHERIOT RTOS Napisan je u C++ i distribuira se pod MIT licencom. U obliku odjeljaka dizajnirane su osnovne komponente operativnog sustava, kao što su boot loader, planer i sustav za dodjelu memorije.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.