Pjattaforma ta' ħardwer u softwer CHERIoT 1.0 għat-titjib tas-sigurtà tal-kodiċi C

Ġiet rilaxxata l-verżjoni finali tal-ispeċifikazzjoni tal-pjattaforma tal-ħardwer u s-softwer CHERIoT 1.0 (Capability Hardware Extension to RISC-V for Internet of Things). Din tiddefinixxi estensjoni tas-sett ta' istruzzjonijiet (ISA) għall-ħolqien ta' apparati siguri. CHERIoT jipprovdi kapaċitajiet ta' ħardwer għall-monitoraġġ tal-aċċess għall-memorja, il-validazzjoni tal-pointer, u l-iżolament tal-blokki tal-kodiċi. Ġiet ippubblikata rilaxx stabbli tal-mudell formali ta' referenza CHERIoT ISA, definit fil-lingwa Sail. Ix-xogħol tal-proġett huwa mqassam taħt liċenzja BSD.

Il-proġett CHERIoT inħoloq minn Microsoft biex jindirizza kwistjonijiet ta' sigurtà fil-kodiċi C u C++ eżistenti u jipproteġi tali kodiċi mingħajr ma jerġa' jinkiteb. Il-protezzjoni tinkiseb permezz tal-użu ta' kumpilatur modifikat li juża sett ta' istruzzjonijiet estiż (ISA) biex jiżgura l-integrità tal-pointer, il-kontroll tal-konfini tal-memorja, u jipprevjeni l-aċċess għall-memorja lliberata. Fl-2023, ix-xogħol ta' CHERIoT sar open-sourced u ttrasformat fi proġett kollaborattiv, li ngħaqdu miegħu kumpaniji oħra.

Il-komponenti tal-ħardwer ta' CHERIoT huma implimentati bħala mikrokontrollur ibbażat fuq RISC-V, li jimplimenta l-arkitettura sigura tal-proċessur CHERI (Capability Hardware Extension to RISC-V) b'mudell ta' aċċess għall-memorja kkontrollat ​​ibbażat fuq il-kapaċità (kull operazzjoni ta' qari u kitba tal-memorja hija awtorizzata). L-arkitettura tas-sett ta' istruzzjonijiet CHERIoT (ISA) tintuża biex tinbena mudell ta' softwer li jiggarantixxi s-sigurtà tal-memorja fil-livell tal-oġġett, jipproteġi kontra l-aċċess għal memorja rilaxxata qabel, u jimplimenta sistema ħafifa ta' iżolament tal-aċċess għall-memorja.

Dan il-mudell ta' protezzjoni tas-softwer huwa mmappjat direttament mal-mudell tal-lingwa C/C++, li jippermetti li jiġi applikat għal applikazzjonijiet eżistenti, li l-protezzjoni tagħhom teħtieġ biss rikompilazzjoni u eżekuzzjoni fuq hardware li jappoġġja ċ-CHERIoT ISA. Pereżempju, l-użu taċ-CHERIoT jippermetti l-implimentazzjoni ta' verifika awtomatika tal-konfini, monitoraġġ tal-ħajja tal-memorja, u integrità tal-pointer f'komponenti li jimmaniġġjaw dejta mhux fdata mingħajr ma jkunu meħtieġa xi bidliet fil-kodiċi.

Fost il-problemi mblukkati minn CHERIoT:

  • Memorja barra mil-limiti;
  • Sostituzzjoni tal-pointer (meta tuża CHERIoT, il-pointers kollha għandhom ikunu derivati ​​minn pointers diġà eżistenti);
  • Aċċess għall-memorja wara l-ħelsien (kwalunkwe aċċess għall-memorja bl-użu ta' pointer invalidu jew pointer li jirreferi għal oġġett illiberat jirriżulta f'eċċezzjoni li tinqala' meta jiġi applikat CHERIoT).

Minbarra l-ispeċifikazzjoni u l-mudell formali, il-proġett qed jiżviluppa implimentazzjoni ta' referenza tas-CPU RISC-V Ibex ta' 32-bit b'appoġġ għall-CHERIoT ISA u katina ta' għodod LLVM modifikata. L-iskematiċi tal-prototip tas-CPU u d-deskrizzjonijiet tal-blokki tal-ħardwer f'Verilog huma mqassma taħt il-liċenzja Apache 2.0. Is-CPU hija bbażata fuq il-qalba Ibex mill-proġett lowRISC. Iċ-ċipep ICENI bbażati fuq il-qalba CHERIoT Ibex qed jiġu ppreparati għall-produzzjoni tal-massa, bid-disponibbiltà skedata għas-sena d-dieħla. Microsoft qed tiżviluppa wkoll il-mikrokontrollur Kudu b'appoġġ għall-CHERIoT ISA. Ibex u Kudu diġà jappoġġjaw bis-sħiħ l-ispeċifikazzjoni CHERIoT 1.0. Għaddej xogħol biex jiġu standardizzati l-estensjonijiet CHERI għall-proċessuri RISC-V f'RISC-V International.

Barra minn hekk, qed jiġu żviluppati emulatur ta' pjattaforma bbażat fuq FPGA u kontenitur Docker għall-iżviluppaturi b'għodod installati minn qabel u s-simulatur tas-CPU Ibex, implimentati bl-użu ta' Verilator. Barra minn hekk, ġie żviluppat prototip tas-sistema operattiva f'ħin reali CHERIoT RTOS ibbażat fuq CHERIoT, li jippermetti l-iżolament tal-kompartimenti anke fuq sistemi integrati b'256 MB ta' RAM. Il-kodiċi CHERIoT RTOS huwa miktub f'C++ u mqassam taħt il-liċenzja MIT. Il-komponenti ewlenin tas-sistema operattiva, bħall-bootloader, l-iskedatur, u s-sistema ta' allokazzjoni tal-memorja, huma implimentati bħala kompartimenti.

Kompartiment f'CHERIoT RTOS huwa kombinazzjoni iżolata ta 'kodiċi u varjabbli globali li tixbaħ librerija kondiviża, iżda b'differenza minn din tal-aħħar, tista' tbiddel l-istat tagħha (mutabbli) u taħdem f'kuntest ta 'sigurtà separat. L-ebda kodiċi minn barra ma jista 'jittrasferixxi kontroll għal kodiċi f'kompartiment u jaċċessa oġġetti, ħlief billi jaċċessa punti ta' dħul definiti apposta u juża indikaturi għal oġġetti mgħoddija b'mod espliċitu meta ssejjaħ kompartiment ieħor. L-integrità u l-kunfidenzjalità huma ggarantiti għal kodiċi u oġġetti globali f'kompartiment.

Sors: opennet.ru

Ixtri hosting affidabbli għal siti bi protezzjoni DDoS, servers VPS VDS 🔥 Ixtri hosting ta' websajts affidabbli bi protezzjoni DDoS, servers VPS VDS | ProHoster