Google інтегрувала Rust DNS-парсер у модем Pixel 10 для підвищення безпеки

15.04.2026 1 хвилин Автор: Newsman

Google впровадила новий DNS-парсер, написаний на Rust, у прошивку модема Pixel 10. Це рішення спрямоване на зменшення ризиків, пов’язаних із помилками в пам’яті, і посилення захисту від атак на рівні базового модема.

Google продовжує зміцнювати безпеку своїх пристроїв Pixel і цього разу зробила крок глибше на рівень прошивки. Компанія інтегрувала DNS-парсер, написаний на Rust, безпосередньо в модем. Мета проста – зменшити ризики, пов’язані з помилками пам’яті, і поступово перевести критичні компоненти на більш безпечні технології.

Інженер команди Pixel Цзячен Лу пояснив, що новий парсер дозволяє прибрати цілий клас вразливостей, які традиційно виникають у небезпечних для пам’яті мовах.

«Новий парсер DNS на базі Rust значно знижує ризики безпеки, усуваючи цілий клас вразливостей у ризикованій області, а також закладаючи основу для ширшого впровадження коду, безпечного для пам’яті, в інших областях», – зазначив він.

Першими цю зміну отримають смартфони Pixel 10. Це перший пристрій лінійки, де Rust використовується безпосередньо в модемі. Рішення не з’явилося з нуля. Воно продовжує серію кроків, які Google робить уже кілька років, щоб захистити базовий рівень зв’язку. Ще наприкінці 2023 року компанія активно впроваджувала санітайзери Clang, зокрема:

  • Overflow Sanitizer (IntSan)

  • BoundsSanitizer (BoundSan)

Вони допомагають ловити помилки під час виконання, включаючи небезпечну поведінку з пам’яттю.

У 2024 році Google також детально описала додаткові механізми захисту модема. Вони спрямовані на боротьбу з атаками через 2G і базову смугу, де часто використовуються класичні вразливості на кшталт переповнення буфера для отримання віддаленого виконання коду.

Паралельно компанія активно просуває Rust у всій екосистемі Android. За внутрішніми даними Google, частка вразливостей, пов’язаних із пам’яттю, уже знизилася до менше ніж 20% від загальної кількості знайдених проблем.

Для нової реалізації обрали саме DNS. Причина в тому, що цей протокол лежить в основі сучасного мобільного зв’язку. Навіть базові функції, такі як переадресація викликів, сьогодні залежать від DNS. І якщо він реалізований небезпечно, це відкриває шлях до атак, включаючи доступ за межі пам’яті, як це вже було у випадку CVE-2024-27227.

У Google прямо зазначають, що перехід на Rust дозволяє скоротити поверхню атаки і зробити обробку DNS значно безпечнішою. Для реалізації використали бібліотеку hickory-proto. Це повноцінний DNS-клієнт і сервер на Rust, який довелося адаптувати під вбудовані системи та середовище «голого заліза». Окремо компанія створила власний інструмент cargo-gnaw. Він потрібен для керування залежностями, яких у цьому проєкті понад 30.

При цьому інженери визнають, що рішення поки не ідеальне. Rust-бібліотека DNS не оптимізована для пристроїв із обмеженою пам’яттю, тому одним із наступних кроків стане зменшення розміру коду через модульність і вибіркову компіляцію.

Технічно інтеграція виглядає так: Google зберегла C-інтерфейс для розбору DNS-відповідей, але реалізувала його на Rust. Функція повертає код у вигляді числа, а отримані дані далі передаються в існуючі структури пам’яті через C-функції. Це дозволило поєднати нову безпечну логіку з уже наявною інфраструктурою без повного переписування системи.

У підсумку Google фактично змінює підхід до безпеки. Замість постійного виправлення багів компанія намагається прибрати саму причину їх появи. І якщо цей підхід приживеться, то в найближчі роки можна очікувати ще більше критичних компонентів Android, переписаних на Rust.

Підписатися
Сповістити про
0 Коментарі
Найстаріші
Найновіше Найбільше голосів
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.