CHERIoT, isang proyekto ng Microsoft upang mapabuti ang seguridad sa C

CHERIOT

CHERIoT, isang MS na opsyon para sa seguridad para sa mga naka-embed na system

Kamakailan ay sinira iyon ng balita Binuksan ng Microsoft ang mga pagpapaunlad na nauugnay sa proyektong CHERIoT (Capability Hardware Extension sa RISC-V para sa Internet of Things), nilayon upang harangan ang mga isyu sa seguridad sa C at C++ code umiiral. Nag-aalok ang CHERIoT ng solusyon upang maprotektahan ang mga umiiral nang C/C++ code base nang hindi kinakailangang i-refactor ang mga ito.

Ang proteksyon ay ipinatupad sa pamamagitan ng paggamit ng isang binagong compiler na gumagamit ng isang espesyal na pinahabang hanay ng mga tagubilin ng processor (ISA) na ibinigay ng processor at sinusubaybayan ang pag-access sa memorya sa antas ng hardware, bini-verify ang kawastuhan ng trabaho gamit ang mga pointer, at nagbibigay ng paghihiwalay ng block ng code.

Tungkol sa CHERIOT

Ang proyekto ay nilikha na may pag-unawa na ang mababang antas ng kalikasan ng wikang C nagiging mapagkukunan ng mga error sa memorya, na humahantong sa mga problema tulad ng buffer overflows, access sa memorya na napalaya na, pointer dereferencing o double freeing.

Ipinapakita ng pagsasanay na kahit na ang malalaking korporasyon gaya ng Google at Microsoft, na may mahigpit na patakaran sa pagsusuri sa pagbabago at gumagamit ng mga makabagong paraan ng pag-unlad at mga static na tool sa pagsusuri, ay hindi magagarantiya na walang error na gumagana sa memorya (halimbawa, mga 70% ng mga kahinaan sa Microsoft at Google ay sanhi ng hindi secure na pamamahala ng memorya).

Ang problema Maaari itong malutas sa pamamagitan ng paggamit ng mga programming language na ginagarantiyahan ang ligtas na trabaho.o may memorya o mga link na may mga karagdagang kontrol, halimbawa, sa pamamagitan ng paggamit ng MiraclePtr (raw_ptr) sa halip na mga karaniwang pointer, na nagsasagawa ng mga karagdagang kontrol upang ma-access ang mga nabakanteng lugar ng memorya.

Peras ang mga ganitong pamamaraan ay mas angkop para sa bagong code y medyo mahirap i-rework ang mga kasalukuyang C/C++ na proyekto, lalo na kung ang mga ito ay nilayon na tumakbo sa mga kapaligirang pinaghihigpitan ng mapagkukunan, gaya ng mga naka-embed na system at IoT device.

Los Ang mga bahagi ng hardware ng CHERIoT ay idinisenyo bilang isang microcontroller batay sa arkitektura ng RISC-V, na nagpapatupad ng secure na arkitektura ng processor na CHERI (Capacity Hardware Extension para sa RISC-V), na nagbibigay ng kontroladong modelo ng pag-access sa memorya.

Batay sa itinuro ang arkitektura (AY ISANG) Ibinigay sa CHERIoT, binuo ang isang modelo ng programming na ginagarantiyahan ang seguridad ng pagtatrabaho gamit ang memorya sa antas ng mga indibidwal na bagay, nagbibigay ng proteksyon laban sa pag-access sa nakalaya na memorya, at nagpapatupad ng magaan na isolation system para sa memory access.

Direktang sinasalamin ng modelong ito ng programmatic na proteksyon ang modelo ng wikang C/C++, na nagbibigay-daan dito na magamit upang protektahan ang mga umiiral nang application (recompiling at tumatakbo sa ISA CHERIoT-compliant hardware lamang ang kinakailangan) .

Ang iminungkahing solusyon ay nagbibigay-daan upang harangan ang mga error na nagdudulot sa labas ng mga hangganan ng isang bagay sa memorya, ay hindi pinapayagan ang pagpapalit ng pointer (lahat ng mga pointer ay dapat mabuo mula sa mga umiiral na pointer), sinusubaybayan ang pag-access ng memorya pagkatapos ng pagpapalaya (anumang pag-access sa memorya ng isang masamang pointer o isang pointer na tumutukoy sa isang napalayang bagay ay nagtataas ng isang pagbubukod).

Halimbawa, ang paggamit ng CHERIoT ay nagbibigay-daan, nang hindi gumagawa ng anumang mga pagbabago sa code, na ipatupad ang awtomatikong pagsuri ng mga hangganan, subaybayan ang buhay ng mga lugar ng memorya, at tiyakin ang integridad ng mga pointer sa mga bahagi na nagpoproseso ng hindi maaasahang data.

Ang proyekto may kasamang detalye para sa arkitektura ng set ng pagtuturo ng CHERIoT extension, isang reference na pagpapatupad ng isang ISA CHERIoT-compliant na 32-bit RISC-V CPU, at isang binagong LLVM toolset.

Sa wakas Kung interesado kang malaman ang tungkol dito, dapat mong malaman na ang mga prototype diagram Ang mga paglalarawan ng CPU at hardware block sa Verilog ay ipinamamahagi sa ilalim ng lisensya ng Apache 2.0. Ang Ibex core ng lowRISC na proyekto ay ginagamit bilang batayan para sa CPU at ang CHERIoT ISA code model ay tinukoy sa wikang Sail at ipinamahagi sa ilalim ng lisensya ng BSD.

Bukod pa rito, iminungkahi ang isang prototype na CHERIoT RTOS na real-time na operating system, na nagbibigay ng kakayahang ihiwalay ang mga compartment (compartment) kahit na sa mga naka-embed na system na may 256 MB ng RAM.

Ang code CHERIOT RTOS Ito ay nakasulat sa C++ at ipinamamahagi sa ilalim ng lisensya ng MIT. Sa anyo ng mga compartment, ang mga pangunahing bahagi ng operating system, tulad ng boot loader, scheduler, at memory allocation system, ay idinisenyo.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.