CHERI (Capability Hardware Enhanced RISC Instructions) on edistynyt turvallisuusteknologia, jonka kehitti Cambridgen yliopisto yhteistyössä SRI Internationalin kanssa vuonna 2010 alkaneessa tutkimusprojektissa. Nyt IP-yritys Codasip on lahjoittanut tekniikkaa tukevan kehitysalustan ilmaiseksi käyttöön.
CHERI-tutkimus keskittyi laitteiston ja ohjelmiston perustavanlaatuisten suunnitteluratkaisujen uudelleenarviointiin järjestelmien turvallisuuden parantamiseksi, ja sitä rahoittivat muun muassa DARPA (Defense Advanced Research Projects Agency), UKRI (UK Research and Innovation) ja muut tahot. Vuonna 2023 Codasip toi ensimmäisenä valmiiksi ja kaupallisesti saataville lisensoitavan prosessorin, joka hyödyntää CHERI-teknologiaa.
CHERI laajentaa käskykantaa toteuttamaan hienojakoista muistinkäytön hallintaa. Tämä estää yleisiä haavoittuvuuksia, kuten puskuriylivuodot ja muistikorruptiot. Teknologian hyödyntäminen edellyttää kuitenkin, että kehittäjillä on käytössä CHERIin mukautettuja ohjelmistotyökaluja ja paketteja.
Erityisesti kääntäjän on pystyttävä tuottamaan sovelluksia, jotka hyödyntävät CHERI muokatun ISA ja laitteistoytimen uusia käskyjä. Yhteistyössä muiden CHERI Alliance -jäsenten kanssa Codasip on rakentanut nämä työkalut olemassa oleviin avoimen lähdekoodin projekteihin pohjautuen ja lahjoittaa ne nyt CHERI Alliancelle vapaaseen käyttöön kaikille, jotka toteuttavat CHERIä RISC-Vä.
CHERI RISC-V SDK sisältö
- C/C++-kääntäjä ja työkaluketju, perustuen LLVM17
- CHERI-RISC-V Sail -malli
- QEMU-avoin lähdekoodiemulaattori
- OpenSBI-toteutus RISC-V Supervisor Binary Interface
- Das U-Boot -käynnistyslataaja
- Linux-ydin 6.10
- FreeRTOS
- GNU Debugger
- Yocto-rakennusjärjestelmä Linuxille
- Peruskäyttöympäristö, perustuen Busyboxiin
Työkalut ovat ladattavissa CHERI Alliancen Githubista.