Середа, 15 Квітня, 2026

Google додає “Іржу” у модем Pixel 10 для захисту старого коду

Сучасні операційні системи смартфонів мають безліч механізмів для підвищення безпеки, але жоден з них не допомагає, коли зловмисники атакують модем. Команда Google Project Zero продемонструвала можливість віддаленого виконання коду на модемах телефонів Pixel через інтернет, що спонукало Google переглянути підходи до захисту цієї життєво важливої низькорівневої системи. Рішенням стало не повне переписування програмного забезпечення модема, а інтеграція безпечнішого компонента на основі Rust у модем Pixel 10.

Стільникові модеми часто є справжньою “чорною скринькою”. Базова смуга пропускання телефону — це власна операційна система, яка працює на застарілому коді C та C++. Це робить її дедалі привабливішою поверхнею для атак. Основна проблема полягає в тому, що керування пам’яттю в таких системах є надзвичайно складним, і це часто призводить до появи в прошивках пристроїв коду з проблемами безпеки пам’яті. Це дозволяє зловмисникам використовувати серйозні вразливості, такі як переповнення буфера та витоки пам’яті, для компрометації пристроїв.

Чому ж досі використовуються такі застарілі технології? Частково це зумовлено інерцією вбудованих систем. Компанії розробляють прошивки модемів на основі специфікацій 3GPP вже десятиліттями, тому накопичився значний технічний борг. До того ж модеми повинні працювати в режимі реального часу для ефективного надсилання та отримання даних, а код C/C++ є швидким.

Демонстраційна атака Google на модем Pixel на базі Exynos — далеко не єдина. Дослідники Project Zero виявили понад два десятки вразливостей модемів Exynos за останні роки, 18 з яких були класифіковані як “серйозні”. Звісно, після виявлення проблеми виправлялися, але складність коду модема практично гарантує, що всередині ховаються ще численні вразливості, готові до експлуатації зловмисниками.

Зробити модеми безпечнішими означає усунути ці прогалини в керуванні пам’яттю, і Rust є чудовим кандидатом для цієї задачі. Звісно, Rust — не перша мова з безпечним керуванням пам’яттю. Python, C# та інші також мають більш безпечні системи керування пам’яттю, але вони покладаються на збирач сміття. Збирач сміття може сканувати активну пам’ять під час роботи програм, щоб знаходити та звільняти невикористану пам’ять. Це безпечніше, але й повільніше, а для прошивки модема, яка працює в режимі реального часу, це неприйнятно.

НАПИСАТИ ВІДПОВІДЬ

Коментуйте, будь-ласка!
Будь ласка введіть ваше ім'я

Євген
Євген
Євген пише для TechToday з 2012 року. Інженер за освітою. Захоплюється реставрацією старих автомобілів.

Vodafone

Залишайтеся з нами

10,052Фанитак
1,445Послідовникислідувати
105Абонентипідписуватися

Статті