Google har sammanstÀlld en rapport om anvÀndningen av komponenter skrivna i Rust pÄ Android-plattformen. Strategin att implementera sÀkra utvecklingsmetoder för ny kod i Android har visat sig framgÄngsrik. à r 2025 var andelen sÄrbarheter orsakade av minneshanteringsfel för första gÄngen under 20 % av det totala antalet sÄrbarheter. Som jÀmförelse var detta mÄtt i Android 24 % Är 2024 och 76 % Är 2019. Den genomsnittliga siffran för branschen ligger fortfarande pÄ cirka 70 %.

AnvÀndningen av Rust-kod vid utvecklingen av systemkomponenter i Android inleddes Är 2020. à r 2025 översteg mÀngden ny Rust-kod i Android den Ärliga mÀngden kod som lades till i C och C++.

Den samlade statistiken bekrĂ€ftar den tidigare hypotesen att den största kĂ€llan till sĂ€kerhetsproblem Ă€r ny kod, medan den gamla koden uppvisar ett exponentiellt förhĂ„llande mellan sĂ€kerhet och tid â med tiden upptĂ€cks fel i den gamla koden allt mer sĂ€llan. Slutligen beslutade Google att inte försöka skriva om den gamla koden pĂ„ sprĂ„k som hanterar minnet sĂ€kert, utan istĂ€llet fokusera pĂ„ att anvĂ€nda sĂ„dana sprĂ„k för ny kod.
Förutom sÀkerhet har införandet av Rust haft en positiv inverkan pÄ hastighet, produktivitet och kvalitet i utvecklingen. För kod skriven i Rust dokumenterades fyra gÄnger fÀrre Äterkallanden av Àndringar pÄ grund av oförutsedda fel, samt en minskning av granskningstiden med 25 %.


Vid införandet av Àndringar av jÀmförbar storlek i Android krÀver Àndringar i Rust cirka 20 % fÀrre granskningar Àn deras motsvarigheter i C++.

Dessa resultat förklaras av förenklingen av testning och tidigare upptÀckter av fel under utvecklingsprocessens tidiga faser, dÀr fel blir synliga innan utvecklaren börjar granska koden. Dessutom, genom att eliminera overheadkostnaderna för sandbox-isolering har Rust-kod lyckats öka prestandan.
Bland de senaste projekten relaterade till anvÀndning av Rust i Android Àr det vÀrt att notera att kÀrnan Linux 6.12 innehÄller den första allmÀnt anvÀnda drivrutinen skriven i Rust, samt anvÀndningen av Rust för utveckling av firmware och applikationer. Förutom den redan anvÀnda drivrutinen i kÀrnan utvecklas det nya GPU-drivrutinen pÄ detta sprÄk tillsammans med företagen ARM och Collabora. Protokollet Nearby Presence, som anvÀnds i Google Play Services för att upptÀcka lokala enheter via Bluetooth, Àr ocksÄ implementerat i Rust. Det planeras en ny implementation av protokollet MLS, skrivet i Rust, att ingÄ i nÀsta version av Google Messages. I webblÀsarens motor Chromium anvÀnds skrÀddarsydda Rust-parserare för webfonts, PNG-bilder och JSON-format.
För nÀrvarande har cirka 5 miljoner rader kod skrivna i Rust hittats i Android, dÀr endast en potentiell sÄrbarhet har upptÀckts, orsakad av problem med minneshantering. SÄledes har tÀtheten av sÄdana sÄrbarheter i Rust-kod uppgÄtt till 0,2 sÄrbarheter per miljon rader kod. Som en jÀmförelse visar koden i C- och C++-sprÄk att denna siffra ligger runt 1000 sÄrbarheter per miljon rader kod. Den frÀmsta kÀllan till problem i Rust Àr kod som befinner sig i unsafe-block. Andelen sÄdan kod uppskattas till 4 % av all kod som skrivits i Rust.
Den ovan nÀmnda sÄrbarheten CVE-2025-48530 har hittats i biblioteket Crabby Avif, som innehÄller en parser och avkodare för Avif-formatet. Problemet upptÀcktes av Google-anstÀllda innan release och pÄverkade inte anvÀndarna. SÄrbarheten orsakades av ett fel i en unsafe-block, vilket ledde till en buffertöverflödning. Det pÄpekas att Àven om felet inte hade upptÀckts skulle dess utnyttjande ha blockerats av det minneshanteringssystem som distribueras med Android, Scudo, som standard anvÀnds i firmware för Google Pixel och vissa andra enheter.
KĂ€lla: opennet.ru
