Rust изпревари C/C++ по обем на кода, добавян в платформата Android

Компания Google обобщи резултатите от използването на компоненти на езика Rust в платформата Android. Стратегията за внедряване на безопасни методи за разработка на нов код в Android се оказа успешна. През 2025 година за първи път дялът на уязвимостите, причинени от грешки при работа с паметта, стана под 20% от общия брой уязвимости. За сравнение, през 2024 година този показател за Android беше 24%, а през 2019 година — 76%. Средният показател в индустрията продължава да остава на ниво 70%.

Rust изпревари C/C++ по обем на кода, добавян в платформата Android

Използването на код на Rust при разработката на системни компоненти на Android започна през 2020 година. През 2025 година обемът на новия код на Rust в Android надвиши обема на добавяния годишен код на C и C++.

Rust изпревари C/C++ по обем на кода, добавян в платформата Android

Натрупаната статистика потвърдява предишното предположение, че основният източник на проблеми със сигурността е новият код, а при стария код се наблюдава експоненциална зависимост на сигурността от времето — с времето грешките в стария код се откриват все по-рядко. В крайна сметка Google реши да не се опитва да препише стария код на езици, които работят безопасно с паметта, а да се съсредоточи върху използването на подобни езици за новия код.

Освен сигурността, внедряването на Rust положително повлия на скоростта, производителността и качеството на разработката. За кода на Rust са отчетени 4 пъти по-малко откатки на промени в резултат на открити непредвидени грешки, както и намаление на времето за рецензиране с 25%.

Rust изпревари C/C++ по обем на кода, добавян в платформата Android
Rust изпревари C/C++ по обем на кода, добавян в платформата Android

При включване в Android на промени с подобен обем, промените на Rust изискват приблизително с 20% по-малко ревизии в сравнение с техните еквиваленти на C++.

Rust изпревари C/C++ по обем на кода, добавян в платформата Android

Тези показатели се обясняват с опростяването на тестовете и преместеното откритие на грешките в ранните етапи на разработката, при които грешките стават видими още преди разработчикът да започне проверката на кода. Освен това, чрез изключването на накладните разходи за sandbox-изолация в кода на Rust, успяхме да постигнем повишаване на производителността.

От неотдавнашните проекти, свързани с използването на Rust в Android, е отбелязано реализирането в ядрото на Linux 6.12 на първия широко приложен драйвер на Rust, както и използването на Rust при разработката на фърмуер и приложения. Освен вече използвания драйвер на Rust в ядрото, съвместно с компаниите ARM и Collabora на този език се разработва нов драйвер за GPU. Реализиран е на Rust и е включен в Google Play Services протоколът Nearby Presence за откриване на локални устройства по Bluetooth. Планирано е включването на нова реализация на протокола MLS, написана на Rust, в следващото издание на приложението Google Messages. В браузерния двигател Chromium са включени парсери, написани на Rust, за web-шрифтове, PNG изображения и формата JSON.

В момента в Android са написани около 5 млн. реда код на Rust, в които е идентифицирана само една потенциална уязвимост, причинена от проблеми с паметта. По този начин плътността на подобни уязвимости в кода на Rust е 0.2 уязвимости на милион реда код. За сравнение, в кодовете на C и C++ този показател е около 1000 уязвимости на милион реда код. Основен източник на проблеми в Rust са кодовете, намиращи се в unsafe-блокове. Дялът на подобен код се оценява на 4% от целия код, написан на Rust.

По-горе споменатата уязвимост CVE-2025-48530 е открита в библиотеката Crabby Avif, която включва парсер и декодер за формата Avif. Проблемът е идентифициран от служителите на Google преди публикуването на релиза и не е засегнал потребителите. Уязвимостта е причинена от грешка в unsafe-блока, довела до препълване на буфера. Отбелязва се, че дори и да не е била забелязана, експлоатацията ѝ би била блокирана от предоставената в Android система за разпределение на паметта Scudo, по подразбиране активирана в фърмуерите за Google Pixel и други устройства.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster