Google heeft de resultaten gepresenteerd van het gebruik van Rust-componenten op het Android-platform. De strategie om veilige ontwikkelingsmethoden voor nieuwe code in Android te implementeren is succesvol gebleken. In 2025 was voor het eerst het percentage kwetsbaarheden veroorzaakt door geheugenfouten minder dan 20% van het totale aantal kwetsbaarheden. Ter vergelijking: in 2024 was dit percentage in Android 24%, en in 2019 maar liefst 76%. Het gemiddelde percentage binnen de industrie blijft echter rond de 70%.

Het gebruik van Rust-code bij de ontwikkeling van systeemcomponenten van Android begon in 2020. In 2025 overschreed de hoeveelheid nieuwe Rust-code in Android de hoeveelheid nieuwe code in C en C++ per jaar.

De verzamelde statistieken bevestigen de eerder geopperde veronderstelling dat de belangrijkste bron van beveiligingsproblemen nieuwe code is, terwijl voor oude code een exponentiƫle afhankelijkheid van de veiligheid in de tijd wordt waargenomen - na verloop van tijd worden fouten in oude code steeds minder vaak ontdekt. Uiteindelijk besloot Google de oude code niet te herschrijven in talen die veilig omgaan met geheugen, maar zich te concentreren op het gebruik van dergelijke talen voor nieuwe code.
Naast veiligheid heeft de invoering van Rust ook een positieve impact gehad op snelheid, productiviteit en de kwaliteit van de ontwikkeling. Voor Rust-code zijn er vier keer minder terugrol van wijzigingen geregistreerd als gevolg van onvoorziene fouten, evenals een vermindering van de beoordelingsduur met 25%.


Bij het opnemen van vergelijkbare wijzigingen in Android, vereisen de wijzigingen in Rust ongeveer 20% minder revisies dan hun equivalenten in C++.

Deze cijfers worden verklaard door de vereenvoudiging van testen en het vervroegen van de ontdekking van fouten in de ontwikkelingsfase, waarin fouten al zichtbaar worden voordat de ontwikkelaar begint met het controleren van de code. Bovendien, door de overhead voor sandbox-isolatie in Rust-code uit te sluiten, is het mogelijk om de prestaties te verbeteren.
Uit recente projecten met Rust op Android is het gebruik in de Linux-kernel 6.12 opgemerkt, met de eerste brede toepassing van een driver geschreven in Rust. Daarnaast wordt Rust gebruikt voor het ontwikkelen van firmware en applicaties. Naast de reeds gebruikte driver in de kernel, wordt er samen met de bedrijven ARM en Collabora aan een nieuwe GPU-driver in Rust gewerkt. Het protocol Nearby Presence, dat wordt gebruikt in Google Play Services voor het detecteren van lokale apparaten via Bluetooth, is ook in Rust geĆÆmplementeerd. Voor de volgende release van de Google Messages-app is een nieuwe implementatie van het MLS-protocol, geschreven in Rust, gepland. In de browser-engine Chromium worden parsers voor webfonts, PNG-afbeeldingen en het JSON-formaat, geschreven in Rust, gebruikt.
Tegenwoordig zijn er ongeveer 5 miljoen regels code in Android geschreven in Rust, waarin slechts ƩƩn potentiƫle kwetsbaarheid is ontdekt, veroorzaakt door geheugenproblemen. Dit geeft een dichtheid van dergelijke kwetsbaarheden in de Rust-code van 0,2 kwetsbaarheden per miljoen regels code. Ter vergelijking: in de code geschreven in C en C++ ligt dit cijfer rond de 1000 kwetsbaarheden per miljoen regels code. Een belangrijke bron van problemen in Rust zijn de codeblokken die als unsafe worden gemarkeerd. Het aandeel van dergelijke code wordt geschat op 4% van de totale code geschreven in Rust.
De eerder genoemde kwetsbaarheid CVE-2025-48530 is gevonden in de Crabby Avif-bibliotheek, die een parser en decoder voor het Avif-formaat bevat. Het probleem werd ontdekt door medewerkers van Google voordat de release werd gepubliceerd en heeft geen gebruikers getroffen. De kwetsbaarheid werd veroorzaakt door een fout in een unsafe-blok, wat leidde tot een buffer-overflow. Opmerkelijk is dat zelfs als de fout niet was opgemerkt, de uitbuiting ervan zou worden geblokkeerd door het geheugenbeheersysteem Scudo, dat standaard is ingeschakeld in de firmware voor Google Pixel en enkele andere apparaten.
Bron: opennet.ru
