CHERIoT, Microsoft projekts, lai uzlabotu drošību C

CHERIOT

CHERIoT, MS opcija iegulto sistēmu drošībai

Nesen šīs ziņas to atklāja Microsoft ir atklājusi ar CERIoT projektu saistīto izstrādi (Iespējas aparatūras paplašinājums uz RISC-V lietu internetam), paredzēts, lai bloķētu drošības problēmas C un C++ kodā esošo. CHERIoT piedāvā risinājumu, lai aizsargātu esošās C/C++ kodu bāzes bez nepieciešamības tās pārveidot.

Aizsardzība tiek īstenota, izmantojot modificētu kompilatoru kas izmanto īpašu procesora nodrošināto paplašināto procesora instrukciju kopu (ISA) un uzrauga piekļuvi atmiņai aparatūras līmenī, pārbauda darba pareizību ar rādītājiem un nodrošina koda bloku izolāciju.

Par CHERIOT

Projekts tika radīts ar izpratni, ka C valodas zemā līmeņa raksturs kļūst par atmiņas kļūdu avotu, kas rada tādas problēmas kā bufera pārpilde, piekļuve jau atbrīvotajai atmiņai, rādītāja atsauces atcelšana vai dubultā atbrīvošana.

Prakse rāda, ka pat tādas lielas korporācijas kā Google un Microsoft, kurām ir stingra izmaiņu pārskatīšanas politika un kuras izmanto modernas izstrādes metodes un statiskās analīzes rīkus, nevar garantēt bezkļūdu darbu ar atmiņu (piemēram, aptuveni 70% Microsoft un Google ievainojamību ir ko izraisa nedroša atmiņas pārvaldība).

Problēma To var atrisināt, izmantojot programmēšanas valodas, kas garantē drošu darbu.vai ar atmiņu vai saitēm ar papildu vadīklām, piemēram, parasto rādītāju vietā izmantojot MiraclePtr (raw_ptr), kas veic papildu vadīklas, lai piekļūtu atbrīvotajām atmiņas zonām.

Bet šādas metodes ir vairāk piemērotas jaunam kodam y ir diezgan apgrūtinoši pārstrādāt esošos C/C++ projektus, it īpaši, ja tie ir paredzēti darbam vidēs, kurās ir ierobežoti resursi, piemēram, iegultās sistēmas un IoT ierīces.

L CERIoT aparatūras komponenti ir izstrādāti kā mikrokontrolleris pamatojoties uz RISC-V arhitektūru, ieviešot drošu procesora arhitektūru CHERI (Capacity Hardware Extension for RISC-V), nodrošinot kontrolētu atmiņas piekļuves modeli.

Balstoties uz instrukciju kopas arhitektūra (IR) CERIoT nodrošināts programmēšanas modelis, kas garantē drošību darbam ar atmiņu atsevišķu objektu līmenī, nodrošina aizsardzību pret piekļuvi jau atbrīvotajai atmiņai un ievieš vieglu izolācijas sistēmu piekļuvei atmiņai.

Šis programmatiskās aizsardzības modelis tieši atspoguļo C/C++ valodas modeli, ļaujot to izmantot, lai aizsargātu esošās lietojumprogrammas (nepieciešama tikai pārkompilēšana un palaišana ar ISA CHERIoT saderīgu aparatūru).

Piedāvātais risinājums ļauj bloķēt kļūdas, kas rada ārpus objekta robežām atmiņā, neatļauj rādītāja aizstāšanu (visiem rādītājiem jābūt ģenerētiem no esošajiem rādītājiem), uzrauga piekļuvi atmiņai pēc atbrīvošanas (jebkura piekļuve atmiņai, ko nodrošina slikta rādītāja vai rādītājs, kas atsaucas uz atbrīvotu objektu, rada izņēmumu).

Piemēram, izmantojot CHERIoT, bez koda izmaiņu veikšanas var ieviest automātisku robežu pārbaudi, izsekot atmiņas apgabalu kalpošanas laikam un nodrošināt rādītāju integritāti komponentos, kas apstrādā neuzticamus datus.

Projekts ietver CERIoT instrukciju kopas arhitektūras specifikāciju paplašinājums, ar ISA CHERIoT saderīga 32 bitu RISC-V CPU atsauces implementācija un modificēts LLVM rīku komplekts.

Beidzot Ja jūs interesē uzzināt vairāk par to, jums vajadzētu zināt, ka prototipu diagrammas CPU un aparatūras bloku apraksti programmā Verilog tiek izplatīti saskaņā ar Apache 2.0 licenci. LowRISC projekta Ibex kodols tiek izmantots kā CPU pamats, un CHERIoT ISA koda modelis ir definēts Sail valodā un tiek izplatīts saskaņā ar BSD licenci.

Papildus tiek piedāvāts CHERIoT RTOS reāllaika operētājsistēmas prototips, kas nodrošina iespēju izolēt nodalījumus (nodalījumu) pat iegultās sistēmās ar 256 MB RAM.

Kods CHERIOT RTOS Tas ir rakstīts C++ valodā un tiek izplatīts saskaņā ar MIT licenci. Nodalījumu veidā ir izstrādāti operētājsistēmas pamata komponenti, piemēram, sāknēšanas ielādētājs, plānotājs un atmiņas piešķiršanas sistēma.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: AB Internet Networks 2008 SL
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.