Nesten en fjerdedel av Android 13 er skrevet i Rust

Rust android 13

Android 13 er den første versjonen av Android der mesteparten av den nye koden lagt til versjonen er på et minnesikkert språk.

Gjennom et blogginnlegg, Google-ingeniører ga ut sammendraget av de første resultatene av introduksjonen Rustutviklingsstøtte på Android.

I Android 13, ca. 21 % av ny kode kompilert Aggregatet er skrevet i Rust og 79 % i C/C++, og er AOSP (Android Open Source Project)-depotet, som utvikler kildekoden for Android-plattformen, som har omtrent 1,5 millioner linjer med Rust-kode.

Koden levert av AOSP den er relatert til nye komponenter som Keystore2 kryptografisk nøkkellager, stabelen for UWB (Ultra-Wideband) brikker, implementering av DNS-protokollen over HTTP3, AVF virtualiseringsrammeverk (Android Virtualization Framework), eksperimentelle stabler for Bluetooth og Wi-Fi.

På linje med strategien som er vedtatt ovenfor for å redusere risikoen for minnefeilsårbarheter, Til nå har Rust hovedsakelig blitt brukt til utvikling av ny kode og for gradvis å styrke sikkerheten til de mest sårbare og vitale programvarekomponentene.

Ettersom antallet nye minneutsikre koder som kommer inn i Android har gått ned, har også antallet sikkerhetssårbarheter i minnet blitt redusert. Fra 2019 til 2022 falt den fra 76 % til 35 % av de totale Android-sårbarhetene. 2022 er det første året at sikkerhetssårbarheter i minnet ikke står for de fleste Android-sårbarhetene.

Det generelle målet om å overføre hele plattformen til Rust er ikke satt, og den gamle koden forblir i C/C++, og kampen mot feil i den gjøres ved å bruke fuzzing-tester, statisk analyse og bruk av lignende teknikker. bruk av MiraclePtr-typen (binding over råpekere, som utfører ekstra kontroller for tilgang til frigjorte minneområder), Scudo-minnetildelingssystemet (en sikker erstatning for malloc/free) og feildeteksjonsmekanismer når du arbeider med HWAsan(Hardware Assisted AddressSanitizer)-minne , GWP-ASAN og KFENCE.

Angående statistikk om arten av sårbarhetene på Android-plattformen er det observert at som reduserer mengden ny kode som fungerer med minne på usikre måter, reduserer det også antall sårbarheter forårsaket av feil når du arbeider med minne.

For eksempel sank andelen av sårbarheter forårsaket av minneproblemer fra 76 % i 2019 til 35 % i 2022. I absolutte tall ble det identifisert 223 minnerelaterte sårbarheter i 2019, 150 i 2020, 100 i 2021 og 85 i 2022. ble ikke funnet). 2022 var det første året som minnerelaterte sårbarheter sluttet å dominere.

Til dags dato har ingen minnesikkerhetssårbarheter blitt oppdaget i Android Rust-kode.

Vi forventer ikke at dette tallet forblir på null for alltid, men gitt volumet av ny rustkode på tvers av to versjoner av Android og de sikkerhetssensitive komponentene der den brukes, er det et betydelig resultat. Det viser at Rust tjener det tiltenkte formålet med å forhindre den vanligste kilden til Android-sårbarheter.

Gitt at minnerelaterte sårbarheter er ofte de farligste, viser samlet statistikk også en nedgang i antall kritiske problemer og problemer som kan utnyttes eksternt. Samtidig har dynamikken i deteksjon av sårbarheter som ikke er relatert til arbeid med hukommelse vært på omtrent samme nivå de siste 4 årene – 20 sårbarheter per måned.

Forholdet mellom farlige problemer og sårbarheter forårsaket av minnefeil er også det samme (men når antallet sårbarheter reduseres, reduseres også antallet farlige problemer).

Statistikken sporer også sammenhengen mellom mengden ny kode som fungerer med minnet på en usikker måte og antall minnerelaterte sårbarheter (bufferoverflyt, tilgang til allerede frigjort minne, etc.).

Denne observasjonen bekrefte antagelsen om at hovedoppmerksomheten i implementering av sikre programmeringsteknikker den bør gis til den nye koden og ikke for å skrive om den eksisterende, siden de fleste av de identifiserte sårbarhetene er i den nye koden.

Fuente: https://security.googleblog.com/


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.