CHERIOT, Microsoftov projekt za izboljšanje varnosti v C

CHERIOT

CHERIOT, možnost MS za varnost vgrajenih sistemov

Novica je to nedavno razkrila Microsoft je odprl razvoj v zvezi s projektom CHERIOT (Razširitev strojne opreme zmogljivosti na RISC-V za internet stvari), namenjen blokiranju varnostnih težav v kodi C in C++ obstoječih. CHERIOT ponuja rešitev za zaščito obstoječih baz kod C/C++, ne da bi jih bilo treba preoblikovati.

Zaščita je izvedena z uporabo spremenjenega prevajalnika ki uporablja poseben razširjeni nabor procesorskih navodil (ISA), ki jih zagotavlja procesor, in spremlja dostop do pomnilnika na ravni strojne opreme, preverja pravilnost opravila s kazalci in zagotavlja izolacijo kodnih blokov.

O CHERIOT

Projekt je bil ustvarjen z razumevanjem nizkonivojske narave jezika C postane vir spominskih napak, kar vodi do težav, kot so prelivanje medpomnilnika, dostop do že sproščenega pomnilnika, dereferenciranje kazalca ali dvojno sproščanje.

Praksa kaže, da tudi velike korporacije, kot sta Google in Microsoft, ki imajo strogo politiko pregledovanja sprememb in uporabljajo sodobne razvojne metode ter orodja za statično analizo, ne morejo zagotoviti brezhibnega dela s pomnilnikom (npr. približno 70% ranljivosti v Microsoftu in Googlu). so posledica nezanesljivega upravljanja pomnilnika).

Problem Rešljivo je z uporabo programskih jezikov, ki zagotavljajo varno delo.ali s pomnilnikom ali povezavami z dodatnimi kontrolniki, na primer z uporabo MiraclePtr (raw_ptr) namesto skupnih kazalcev, ki izvaja dodatne kontrole za dostop do območij sproščenega pomnilnika.

Hruška takšne metode so primernejše za novo kodo y precej težavno je predelati obstoječe projekte C/C++, še posebej, če so namenjeni delovanju v okoljih z omejenimi viri, kot so vgrajeni sistemi in naprave IoT.

P Strojne komponente CHERIOT so zasnovane kot mikrokontroler temelji na arhitekturi RISC-V, implementira varno procesorsko arhitekturo CHERI (Capacity Hardware Extension for RISC-V), ki zagotavlja model nadzorovanega dostopa do pomnilnika.

Temelji na arhitektura nabora navodil (JE) V CHERIOT je zgrajen programski model, ki zagotavlja varnost dela s pomnilnikom na ravni posameznih objektov, zagotavlja zaščito pred dostopom do že sproščenega pomnilnika in izvaja lahek izolacijski sistem za dostop do pomnilnika.

Ta model programske zaščite neposredno zrcali jezikovni model C/C++, kar omogoča njegovo uporabo za zaščito obstoječih aplikacij (potrebno je samo ponovno prevajanje in izvajanje na strojni opremi, združljivi z ISA CHERIOT).

Predlagana rešitev omogoča blokiranje napak, ki povzročijo izven meja objekta v pomnilniku, ne dovoljuje zamenjave kazalca (vsi kazalci morajo biti generirani iz obstoječih kazalcev), nadzoruje dostop do pomnilnika po sprostitvi (vsak dostop do pomnilnika s slabim kazalcem ali kazalcem, ki se sklicuje na sproščen objekt, povzroči izjemo).

Na primer, uporaba CHERIoT omogoča, brez spreminjanja kode, izvajanje samodejnega preverjanja omejitev, sledenje življenjski dobi pomnilniških območij in zagotavljanje celovitosti kazalcev v komponentah, ki obdelujejo nezanesljive podatke.

Projekt vključuje specifikacijo za arhitekturo nabora ukazov CHERIOT razširitev, referenčna izvedba 32-bitnega CPU-ja RISC-V, združljivega z ISA CHERIOT, in spremenjen nabor orodij LLVM.

Končno Če vas zanima več o tem, morate vedeti, da prototipni diagrami Opisi blokov procesorja in strojne opreme v Verilogu se distribuirajo pod licenco Apache 2.0. Jedro Ibex projekta lowRISC se uporablja kot osnova za CPE, kodni model CHERIOT ISA pa je definiran v jeziku Sail in se distribuira pod licenco BSD.

Poleg tega je predlagan prototip operacijskega sistema CHERIoT RTOS v realnem času, ki omogoča izolacijo predelkov (predelkov) tudi na vgrajenih sistemih z 256 MB RAM-a.

Koda CHERIOT RTOS Napisan je v C++ in se distribuira pod licenco MIT. V obliki predelkov so zasnovane osnovne komponente operacijskega sistema, kot so zagonski nalagalnik, razporejevalnik in sistem za dodeljevanje pomnilnika.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.