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 на този език. Протоколът Nearby Presence, реализиран на Rust и използван в Google Play Services, позволява откриването на локални устройства по Bluetooth. За предстоящото издание на приложението Google Messages е планирано включването на нова реализация на протокола MLS, написана на Rust. В браузърния движок Chromium са включени написани на Rust парсери за уеб шрифтове, изображения PNG и формата JSON.

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

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

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

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