Rust a depășit C/C++ în ceea ce privește cantitatea de cod adăugată pe platformă. Android

Google a rezumat utilizarea componentelor Rust în platformă Android. Стратегия по внедрению в Android Implementarea metodelor de dezvoltare securizate pentru codul nou s-a dovedit a fi un succes. În 2025, pentru prima dată, ponderea vulnerabilităților cauzate de erori de memorie a fost mai mică de 20% din numărul total de vulnerabilități. Prin comparație, în 2024, această cifră a fost... Android составлял 24%, а в 2019 году — 76%. При этом средний показатель по индустрии продолжает оставаться на уровне 70%.

Rust a depășit C/C++ în ceea ce privește cantitatea de cod adăugată pe platformă. Android

Использование кода на Rust при разработке системных компонентов Android началось в 2020 году. В 2025 году объём нового кода на Rust в Android превысил объём добавляемого за год кода на C и C++.

Rust a depășit C/C++ în ceea ce privește cantitatea de cod adăugată pe platformă. Android

Statisticile acumulate confirmă presupunerea enunțată anterior conform căreia principala sursă a problemelor de securitate este codul nou, în timp ce pentru codul mai vechi există o relație de securitate exponențială în timp - în timp, erorile sunt detectate din ce în ce mai rar în codul mai vechi. În cele din urmă, Google a decis să nu încerce să rescrie codul mai vechi în limbaje de programare cu memorie sigură, ci să se concentreze pe utilizarea unor astfel de limbaje pentru codul nou.

Pe lângă securitate, implementarea Rust a avut un impact pozitiv asupra vitezei, productivității și calității dezvoltării. Codul Rust a înregistrat o reducere de 4 ori a numărului de reveniri la versiunea inițială din cauza erorilor neprevăzute și o reducere cu 25% a timpului de revizuire.

Rust a depășit C/C++ în ceea ce privește cantitatea de cod adăugată pe platformă. Android
Rust a depășit C/C++ în ceea ce privește cantitatea de cod adăugată pe platformă. Android

При включении в состав Android изменений сопоставимого размера, изменения на Rust требуют примерно на 20% меньше ревизий, чем их эквиваленты на C++.

Rust a depășit C/C++ în ceea ce privește cantitatea de cod adăugată pe platformă. Android

Aceste rezultate se explică prin simplificarea testării și mutarea detectării erorilor către etapele incipiente ale dezvoltării, unde erorile devin evidente chiar înainte ca dezvoltatorul să înceapă să revizuiască codul. În plus, eliminarea costurilor suplimentare generate de sandboxing în codul Rust a dus la îmbunătățirea performanței.

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

În prezent în Android на Rust написано около 5 млн строк кода, в которых выявлена лишь одна потенциальная уязвимость, вызванная проблемами при работе с памятью. Таким образом плотность подобных уязвимостей в коде на Rust составила 0.2 уязвимости на миллион строк кода. Для сравнения в коде на языках C и C++ данный показатель составляет около 1000 уязвимостей на миллион строк кода. Ключевым источником проблем в Rust является код, находящийся в unsafe-блоках. Доля подобного кода оценивается в 4% от всего кода, написанного на Rust.

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

Sursa: opennet.ru

Cumpărați găzduire de încredere pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără găzduire web fiabilă cu protecție DDoS, servere VPS VDS | ProHoster