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. Для включення до наступного випуску програми Google Messages заплановано включення нової реалізації протоколу MLS, написаної на Rust. У браузерному движку Chromium задіяні написані на Rust парсери для web-шрифтів, зображень PNG та формату JSON.

Нині у 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 та деяких інших пристроїв.

Джерело: opennet.ru

Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери 🔥 Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери | ProHoster