ANDROID

Deler av Android blir nå skrevet i Rust

Det er likevel uaktuelt å erstatte all C/C++-koden med Rust-kode.

Google er i ferd med å ta i bruk programmeringsspråket Rust i de nedre nivåene av operativsystemet Android.
Google er i ferd med å ta i bruk programmeringsspråket Rust i de nedre nivåene av operativsystemet Android. Illustrasjon: Colourbox
Harald BrombachHarald BrombachNyhetsleder
8. apr. 2021 - 15:15

Programmeringsspråket Rust skiller seg ut ved at det både skal egne seg for lavnivåprogrammering i operativsystemer og tar vare på minnesikkerheten, i tillegg til at det har andre egenskaper som bidrar til mer korrekt kode.

Dette gjør at språket stadig oftere trekkes fram som alternativ til C/C++, ikke minst i programvare hvor minnesårbarheter kan utnyttes til å gjøre stor skade. Digi.no har tidligere skrevet om flere programvareprosjekter som har tatt i bruk, eller vurderer å ta i bruk Rust i forbindelse med enkelte komponenter:

Rust i Android

Nå viser det seg at også Google har fått øyene opp for Rust. I et lengre blogginnlegg, som blant annet forteller at de fleste av de alvorlige sårbarhetene som oppdages i Android, er knyttet til minnesikkerhet, opplyses det at det allerede i 18 måneder har blitt jobbet med å legge til Rust-støtte i Android Open Source Project. 

Denne støtten er tatt i bruk i noen få prosjekter som vil bli navngitt i månedene som kommer, og da trolig under utviklerkonferansen Google I/O, som arrangeres virtuelt i andre halvdel av mai. 

Det opplyses at det vil ta flere år å utvide dette til større deler av operativsystemet, blant annet fordi verktøy, testinfrastruktur og mye annet må oppdateres.

Jo høyere nivå en komponent i Android-operativsystemet er på, desto større er mulighetene for å bruke språk som Java, hvor systemet tar seg minnestyringen. <i>Illustrasjon:  Google</i>
Jo høyere nivå en komponent i Android-operativsystemet er på, desto større er mulighetene for å bruke språk som Java, hvor systemet tar seg minnestyringen. Illustrasjon:  Google

Skal ikke erstatte gammel C/C++-kode

I blogginnlegget drøftes det også hvor det er fornuftig å bruke Rust. Det konkluderes raskt med at det ikke lar seg gjennomføre å skrive om millioner av kodelinjer fra C/C++ til Rust. Samtidig vises det til en analyse som viser at de aller fleste minnesikkerhetsrelaterte feilene oppdages i ny eller nylig modifisert kode. I mer enn 50 prosent av tilfellene er feilene blitt funnet i kode hvor endringene har blitt gjort for mindre enn et år siden. 

Dermed vil det være mest aktuelt for Android-prosjektet å bruke Rust i forbindelse med utvikling av ny lavnivåfunksjonalitet i operativsystemet. 

På de høyere nivåene i Android benyttes allerede Java eller Kotlin, som ikke har de samme, potensielle minnesikkerhetsproblemene som C og C++.

Del
Kommentarer:
Du kan kommentere under fullt navn eller med kallenavn. Bruk BankID for automatisk oppretting av brukerkonto.