Lähes neljännes Android 13:sta on kirjoitettu ruosteella

Ruosteinen android 13

Android 13 on ensimmäinen Android-versio, jossa suurin osa versioon lisätystä uudesta koodista on muistiturvallisella kielellä.

Blogiviestin kautta Googlen suunnittelijat julkaisi yhteenvedon ensimmäisistä tuloksista johdannosta Ruosteen kehitystuki Androidissa.

Android 13, noin 21% uudesta koodista käännetty Aggregaatti on kirjoitettu Rustilla ja 79 % C/C++:lla, joka on AOSP (Android Open Source Project) -tietovarasto, joka kehittää lähdekoodin Android-alustalle, jossa on noin 1,5 miljoonaa riviä Rust-koodia.

Koodi tarjoaa AOSP se liittyy uusiin komponentteihin, kuten Keystore2:n salausavainsäilöön, UWB (Ultra-Wideband) -sirujen pinoon, DNS-protokollan toteuttamiseen HTTP3:n yli, AVF-virtualisointikehykseen (Android Virtualization Framework), kokeellisiin Bluetooth- ja Wi-Fi-pinoihin.

Yhdessä edellä omaksutulla strategialla vähentää muistivirheiden haavoittuvuuksien riskiä, Tähän asti Rustia on käytetty pääasiassa uuden koodin kehittämiseen sekä haavoittuvimpien ja tärkeimpien ohjelmistokomponenttien turvallisuuden asteittaiseen vahvistamiseen.

Kun Androidiin syöttävien uusien muistiinsuojaavien koodien määrä on vähentynyt, on myös muistin tietoturva-aukkojen määrä vähentynyt. Vuodesta 2019 vuoteen 2022 se laski 76 prosentista 35 prosenttiin kaikista Android-haavoittuvuuksista. Vuosi 2022 on ensimmäinen vuosi, jolloin muistin suojaushaavoittuvuudet eivät ota huomioon suurinta osaa Android-haavoittuvuuksista.

Yleistä tavoitetta koko alustan siirtämisestä Rustiin ei ole asetettu, ja vanha koodi säilyy C/C++:ssa ja siinä olevia bugeja vastaan ​​taistellaan käyttämällä fuzzing-testejä, staattista analyysiä ja vastaavia tekniikoita. MiraclePtr-tyypin käyttö (sidonta raaka-osoittimien yli, joka suorittaa lisätarkistuksia vapautuneiden muistialueiden pääsyä varten), Scudo-muistin varausjärjestelmä (turvallinen korvaa malloc/free) ja virheiden havaitsemismekanismit HWAsan (Hardware Assisted AddressSanitizer) -muistin kanssa työskennellessä , GWP-ASAN ja KFENCE.

Mitä tulee tilastoihin luonteesta haavoittuvuudet Android-alustalla havaitaan, että as vähentää uuden koodin määrää, joka toimii muistin kanssa epävarmalla tavalla, se vähentää myös muistin kanssa työskentelyn virheiden aiheuttamien haavoittuvuuksien määrää.

Esimerkiksi muistiongelmista johtuvien haavoittuvuuksien osuus laski vuoden 76 2019 prosentista 35 prosenttiin vuonna 2022. Absoluuttisesti mitattuna muistiin liittyviä haavoittuvuuksia tunnistettiin 223 vuonna 2019, 150 vuonna 2020, 100 vuonna 2021 ja 85 2022 vuonna 2022. ei löytynyt). Vuosi XNUMX oli ensimmäinen vuosi, jolloin muistiin liittyvät haavoittuvuudet lakkasivat hallitsemasta.

Toistaiseksi Android Rust -koodista ei ole löydetty muistin tietoturva-aukkoja.

Emme odota tämän määrän pysyvän nollassa ikuisesti, mutta kun otetaan huomioon uuden Rust-koodin määrä kahdessa Android-versiossa ja tietoturva-arkaluontoiset komponentit, joissa sitä käytetään, se on merkittävä tulos. Se osoittaa, että Rust palvelee suunniteltua tarkoitustaan ​​estää yleisin Android-haavoittuvuuksien lähde.

Dado que muistiin liittyvät haavoittuvuudet ovat usein vaarallisimpia, yleistilastot osoittavat myös kriittisten ongelmien ja etäkäyttökelpoisten ongelmien määrän vähenemisen. Samaan aikaan muistin kanssa työskentelemiseen liittymättömien haavoittuvuuksien havaitsemisen dynamiikka on ollut suunnilleen samalla tasolla viimeiset 4 vuotta - 20 haavoittuvuutta kuukaudessa.

Myös vaarallisten ongelmien ja muistivirheiden aiheuttamien haavoittuvuuksien suhde on sama (mutta haavoittuvuuksien määrän pienentyessä myös vaarallisten ongelmien määrä vähenee).

Tilastot myös seuraavat korrelaatiota uuden muistin kanssa epävarmalla tavalla toimivan koodin määrän ja muistiin liittyvien haavoittuvuuksien (puskurin ylivuoto, pääsy jo vapautuneeseen muistiin jne.) välillä.

Tämä havainto vahvistaa oletuksen että päähuomio turvallisten ohjelmointitekniikoiden käyttöönotto se tulisi antaa uudelle koodille eikä kirjoittaa vanhaa uudelleen, koska suurin osa tunnistetuista haavoittuvuuksista on uudessa koodissa.

lähde: https://security.googleblog.com/


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.