Skoraj četrtina Androida 13 je napisana v Rustu

Rust android 13

Android 13 je prva različica Androida, kjer je večina nove kode, dodane različici, v jeziku, varnem za pomnilnik.

Z objavo v spletnem dnevniku so Googlovi inženirji izdal povzetek prvih rezultatov uvoda Podpora za razvoj Rust v sistemu Android.

Android 13, približno 21 % nove kode je prevedeno Agregat je napisan v Rustu in 79 % v C/C++, saj je repozitorij AOSP (Android Open Source Project), ki razvija izvorno kodo za platformo Android, ki ima približno 1,5 milijona vrstic kode Rust.

Koda zagotavlja AOSP povezan je z novimi komponentami, kot so kriptografska shramba ključev Keystore2, sklad za čipe UWB (Ultra-Wideband), implementacija protokola DNS prek HTTP3, virtualizacijsko ogrodje AVF (Android Virtualization Framework), eksperimentalni skladi za Bluetooth in Wi-Fi.

Po vrsti z zgoraj sprejeto strategijo za zmanjšanje tveganja ranljivosti pomnilniških napak, Do sedaj se je Rust uporabljal predvsem za razvoj nove kode in za postopno krepitev varnosti najbolj ranljivih in vitalnih komponent programske opreme.

Ker se je število novih kod, ki niso varne glede pomnilnika, ki vstopijo v Android, zmanjšalo, se je zmanjšalo tudi število varnostnih ranljivosti pomnilnika. Od leta 2019 do 2022 je padel s 76 % na 35 % vseh ranljivosti Androida. Leto 2022 je prvo leto, v katerem varnostne ranljivosti pomnilnika ne predstavljajo večine ranljivosti Androida.

Splošni cilj prenosa celotne platforme na Rust ni postavljen in stara koda ostaja v C/C++, boj proti hroščem v njej pa poteka z uporabo fuzzing testov, statične analize in uporabe podobnih tehnik. uporaba tipa MiraclePtr (vezava preko neobdelanih kazalcev, ki izvaja dodatna preverjanja dostopa do sproščenih pomnilniških območij), sistema dodeljevanja pomnilnika Scudo (varna zamenjava za malloc/free) in mehanizmov za odkrivanje napak pri delu s pomnilnikom HWAsan (Hardware Assisted AddressSanitizer) , GWP-ASAN in KFENCE.

Kar zadeva statistiko o naravi ranljivosti na platformi Android je opaziti, da kot zmanjša količino nove kode, ki deluje s pomnilnikom na nevaren način, prav tako zmanjša število ranljivosti, ki jih povzročajo napake pri delu s pomnilnikom.

Na primer, delež ranljivosti, ki jih povzročajo težave s pomnilnikom, se je zmanjšal s 76 % leta 2019 na 35 % leta 2022. V absolutnem številu je bilo leta 223 ugotovljenih 2019 ranljivosti, povezanih s pomnilnikom, 150 leta 2020, 100 leta 2021 in 85 leta 2022. niso bili najdeni). Leto 2022 je bilo prvo leto, ko so ranljivosti, povezane s spominom, prenehale prevladovati.

Do danes v kodi Android Rust niso odkrili nobene varnostne ranljivosti pomnilnika.

Ne pričakujemo, da bo ta številka za vedno ostala enaka nič, a glede na količino nove kode Rust v dveh različicah Androida in varnostno občutljivih komponent, kjer se uporablja, je to pomemben rezultat. Kaže, da Rust služi predvidenemu namenu preprečevanja najpogostejšega vira ranljivosti Androida.

Od takrat ranljivosti, povezane s spominom, so pogosto najbolj nevarne, splošna statistika kaže tudi zmanjšanje števila kritičnih težav in težav, ki jih je mogoče izkoristiti na daljavo. Hkrati je dinamika odkrivanja ranljivosti, ki niso povezane z delom s pomnilnikom, zadnja 4 leta na približno enaki ravni - 20 ranljivosti na mesec.

Razmerje med nevarnimi težavami in ranljivostmi, ki jih povzročajo napake v pomnilniku, je prav tako enako (a ko se število ranljivosti zmanjšuje, se zmanjšuje tudi število nevarnih težav).

Statistika spremlja tudi korelacijo med količino nove kode, ki deluje s pomnilnikom na nevaren način, in številom ranljivosti, povezanih s pomnilnikom (prelivi medpomnilnika, dostop do že sproščenega pomnilnika itd.).

To opazovanje potrditi domnevo o da je glavna pozornost v izvajanje tehnik varnega programiranja treba ga je dati novi kodi in ne prepisati obstoječe, saj je večina ugotovljenih ranljivosti v novi kodi.

vir: https://security.googleblog.com/


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.