Google har avduket OpenSe Cura, et maskinvare- og programvaresystem designet for å forenkle opprettelsen av sikre brikker for maskinlæring og kunstig intelligens (KI)-applikasjoner. Prosjektet inkluderer operativsystemet CantripOS og maskinvare basert på OpenTitan-plattformen og en RISC-V-prosessorkjerne. Under utviklingen ble OpenSe Cura og CantripOS utviklet under navnene Sparrow og KataOS, men sluttproduktene ble omdøpt for å unngå overlapping med andre prosjekter. Prosjektets arbeid, inkludert kildekoden for systemtjenester og RTL (Register Transfer Level)-rammeverk, er lisensiert under Apache 2.0-lisensen.
Operativsystemet CantripOS er basert på seL4-mikrokjernen, som kjører et systemmiljø skrevet i Rust. På RISC-V-systemer har seL4-mikrokjernen et matematisk pålitelighetsbevis, som viser at koden er i full samsvar med spesifikasjonene definert i det formelle språket. seL4-arkitekturen er kjent for sin flytting av kjerneressurshåndtering til brukerområdet og anvendelsen av de samme tilgangskontrollmekanismene for disse ressursene som for brukerressurser.
Mikrokjernen tilbyr ikke ferdige abstraksjoner på høyt nivå for å administrere filer, prosesser, nettverkstilkoblinger osv. I stedet tilbyr den bare minimale mekanismer for å administrere tilgang til det fysiske adresserommet, avbrudd og prosessorressurser. Abstraksjoner på høyt nivå og drivere for samhandling med maskinvare implementeres separat oppå mikrokjernen som oppgaver som kjører på brukernivå. Tilgang fra disse oppgavene til mikrokjernens ressurser er organisert gjennom definisjon av regler.
Alle OS-komponenter, unntatt mikrokjernen, skrives i utgangspunktet i Rust ved hjelp av sikre programmeringsteknikker som minimerer minnefeil. Rust brukes blant annet til å skrive applikasjonslasteren i seL4-miljøet, systemtjenester, applikasjonsutviklingsrammeverket, API-et for tilgang til systemkall, prosessbehandleren og den dynamiske minneallokeringsmekanismen.
Den verifiserte byggingen bruker CAmkES-verktøysettet, utviklet av seL4-prosjektet. AmbiML SDK anbefales for utvikling av sluttbrukerapplikasjoner som kan lastes dynamisk av systemtjenester, og IREE-verktøysettet (Intermediate Representation Execution Environment) brukes til å kjøre maskinlæringsmodeller. Rust-komponenter og systemtjenester er utviklet ved hjelp av Cantrip-rammeverk.
Blant plattformens bruksområder nevnes spesialiserte brikker som krever et spesielt beskyttelsesnivå og feilsikker verifisering. For eksempel kan plattformen brukes i maskinlæringsprodukter som behandler sensitiv informasjon, for eksempel systemer for menneskelig gjenkjenning og taleopptaksbehandling. Kombinasjonen av en logisk verifisert operativsystemkjerne med pålitelige maskinvarekomponenter (Root of Trust) sikrer at hvis en feil oppstår i en del av systemet, vil den ikke spre seg til resten av systemet, spesielt ikke kjernen og kritiske komponenter.
I tillegg til Google bidro den ideelle organisasjonen lowRISC, som fører tilsyn med utviklingen av en åpen kildekode-mikroprosessor basert på RISC-V-arkitekturen, samt Antmicro og VeriSilicon, til utviklingen av verktøyene og infrastrukturelementene. Prosessoren utviklet av lowRISC ble brukt som kjerne for å bygge Root of Trust (RoT)-maskinvarekomponenter. Antmicro leverte Renode-simulatoren, som tillater testing av CantripOS og seL4-mikrokjernen uten reell maskinvare. VeriSilicon delte sin ekspertise innen chipdesign og BSP-utvikling (Board Support Package).
Kilde: opennet.ru
