Google призывает лечить уязвимости по памяти в прошивках кодом на Rust

Google призывает лечить уязвимости по памяти в прошивках кодом на Rust

Google призывает лечить уязвимости по памяти в прошивках кодом на Rust

Компания Google ратует за развертывание Rust в низкоуровневых прошивках, продвигая перевод унаследованных кодов на этот язык как средство борьбы с багами, грозящими нарушением безопасности доступа к памяти.

В новой блог-записи команда Android утверждает, что переход с C или C++ на Rust в существующих прошивках даст гарантии безопасности по памяти на уровнях ниже ОС, не имеющих стандартов защиты.

По словам специалистов, потери производительности при этом ничтожны, величина Rust-кодов тоже сравнима, главное — проводить замену базовых кодов поэтапно, начав с новых и самых критичных. Процесс не потребует больших усилий, и со временем число уязвимостей доступа к памяти значительно сократится.

Чтобы облегчить переход, можно, к примеру, создать тонкую Rust-прослойку — предзагрузчик Shim, который будет копировать C API и осуществлять экспорт для существующей кодовой базы.

«Shim служит оболочкой API библиотеки Rust, соединяя существующий C API и Rust API, — поясняют эксперты. — Так обычно и делают, переписывая библиотеки или заменяя их Rust-альтернативой».

По признанию Google, до недавнего времени баги безопасности по памяти были основным источником уязвимостей в Chrome и Android. Благодаря развертыванию языков программирования, способных избавить продукты от этой напасти, в период с 2019 года по 2022-й ежегодный урожай таких ошибок в мобильной ОС удалось сократить с 223 до 85.

 

В прошлом году Microsoft запустила процесс перевода ядра Windows на Rust. Вышедшая в мае 2023 года сборка ОС версии 11 содержала драйверы на этом языке; тогда же стало известно о планах техногиганта аналогичным образом повысить защищенность процессора Pluton, который пока не нашел широкого применения.

Google случайно выложила эксплойт для незакрытой уязвимости Chromium

Google опубликовала демонстрационный эксплойт для уязвимости в Chromium, которая до сих пор не исправлена. Код для эксплуатации уже оказался в публичном доступе, а патча пока нет. Проблема затрагивает Chrome, Microsoft Edge и большинство браузеров на базе Chromium, включая Brave, Opera, Vivaldi и Arc.

Firefox и Safari в безопасности, потому что не поддерживают проблемную функцию Browser Fetch.

Уязвимость связана с API Browser Fetch, который нужен для фоновой загрузки больших файлов. Исследовательница Лира Ребане сообщила о баге Google ещё в конце 2022 года. С тех пор прошло 29 месяцев, но проблема так и не была закрыта.

Эксплойт позволяет сайту, который открыл пользователь, создать устойчивое фоновое соединение. В худшем сценарии браузер превращается в часть ограниченного ботнета: через него можно проксировать запросы, открывать сайты, участвовать в DDoS-атаках и частично отслеживать активность пользователя.

Это не полный захват компьютера, но приятного мало. Особенно если представить, что злоумышленник соберёт тысячи или миллионы таких браузеров, а потом дождётся другой уязвимости и использует уже готовую сеть.

В Edge атака может быть почти незаметной: иногда появляется окно загрузок, но без видимых файлов. В Chrome следы заметнее, но обычный пользователь, скорее всего, решит, что браузер просто опять чудит.

Google быстро удалила публикацию из баг-трекера Chromium, но интернет, как обычно, всё запомнил: код эксплойта уже сохранился в архивах.

RSS: Новости на портале Anti-Malware.ru