Google tegi bilanssi Rust-keele komponentide kasutamisest Android platvormil. Strateegia, mille kohaselt viidi Androidisse ohutud arenduse meetodid uue koodi jaoks, osutus edukaks. 2025. aastal oli esmakordselt haavatavuste osa, mis tulenes mäluhalduse vigadest, alla 20% kõigist haavatavustest. Võrdluseks, 2024. aastal oli see näitaja Androidis 24% ja 2019. aastal 76%. Samuti jääb keskmine näitaja tööstuses endiselt umbes 70% tasemele.

Rust-koodi kasutamine Androidi süsteemikomponentide arendamisel algas 2020. aastal. 2025. aastaks ületas Rustis loodud uus kood Androidis aastas toodetavat C ja C++ koodi.

Kogutud statistika kinnitab varasemaid oletusi, et peamine turvaprobleemide allikas on uus kood, samas kui vana koodi puhul on turvavigade avastamine ajas eksponentsiaalselt vähenenud — vanas koodis avastatakse vigu üha harvemini. Lõpuks otsustas Google, et ei proovi vana koodi mäluga turvalistes keeltes ümber kirjutada, vaid keskenduda sarnaste keelte kasutamisele uue koodi jaoks.
Eraldi turvalisuse aspektidest on Rusti kasutuselevõtt positiivselt mõjutanud ka kiirus, tootlikkus ja arendamise kvaliteet. Rusti koodi puhul on registreeritud neli korda vähem muudatusi tagasivõtmist ettenägematute vigade tõttu ning arvustamisaja vähenemine on 25%.


Androidi suures mahus muudatuste korral nõuavad Rusti muudatused umbes 20% vähem ülevaatusi kui nende C++ ekvivalendid.

Need on näitajad seletatavad testimise lihtsustamise ja vigade avastamise nihutamisega varases arengufaasis, kus vead muutuvad märgatavaks juba enne, kui arendaja koodiga kontrolli tegemisega tegelema asub. Lisaks, Rust'i koodis sandbox-i isolatsiooni kulude eemaldamise kaudu on saavutatud jõudluse tõus.
Hiljutistes projektides, mis on seotud Rust'i kasutamisega Androidis, on märgitud Linuxi 6.12 tuumasse esimese laialdaselt kasutatava Rust'i keeles kirjutatud draiveri kaasamine, samuti Rust'i kasutamine püsivara ja rakenduste väljatöötamisel. Lisaks juba tuumas kasutusel olevale Rust'i draiverile, areneb koos ettevõtetega ARM ja Collabora selle keele peal uus GPU draiver. Rust'is on rakendatud Google Play teenustes protokoll Nearby Presence, mis võimaldab avastada kohalikke seadmeid Bluetoothi kaudu. Google Messages rakenduse järgmisesse väljaandesse on plaanis kaasata uus MLS protokolli rakendus, mis on kirjutatud Rust'is. Chromiumi brauseri mootori sees on Rust'is kirjutatud parserid web-fontide, PNG piltide ja JSON formaadi jaoks.
Praegu on Androidis Rust keeles kirjutatud umbes 5 miljonit koodirida, milles on tuvastatud vaid üks potentsiaalne haavatavus, mis on põhjustatud mäluhalduse probleemidest. Seega on Rusti koodis selliste haavatavuste tihedus 0,2 haavatust miljoni koodirida kohta. Võrdluseks, C ja C++ keeles kirjutatud koodis on see näitaja umbes 1000 haavatust miljoni koodirida kohta. Rustis on probleemide peamine allikas unsafe-blokis olev kood. Sellise koodi osakaal on hinnanguliselt 4% kogu Rustis kirjutatud koodist.
Ülalnimetatud haavatavus CVE-2025-48530 leiti Crabby Avif teegis, mis sisaldab Avif formaadi parserit ja dekooderit. Probleem tuvastati Google'i töötajate poolt enne versiooni vabastamist ja see ei mõjutanud kasutajaid. Haavatavus oli põhjustatud veast unsafe-blokis, mis viis bufrite ülevooluni. Toodud on, et isegi kui viga poleks märgata, oleks selle kasutamine blokeeritud Androidis tarnitava mäluhalduse süsteemiga Scudo, mis on vaikimisi kasutusel Google Pixel ja mõnede teiste seadmete püsivara puhul.
Allikas: opennet.ru
