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, который пока не нашел широкого применения.

EvilMouse: мышь за $44, которая взламывает компьютеры за секунды

Исследователи показали, как обычная компьютерная мышь может превратиться в инструмент для взлома. Проект получил название EvilMouse, по сути это аппаратный кейлоггер-инжектор, спрятанный внутри стандартного USB-манипулятора. Стоимость сборки — около $44 (3 394 руб.).

По принципу работы EvilMouse напоминает известный инструмент USB Rubber Ducky, который эмулирует клавиатуру и автоматически вводит заранее запрограммированные команды.

Но есть важное отличие: EvilMouse продолжает работать как обычная мышь. Внешне и функционально устройство ничем не выдаёт себя.

Внутри корпуса разместили недорогие компоненты — микроконтроллер RP2040 Zero, USB-хаб и начинку стандартной мыши. Автор проекта перепрошил устройство с помощью CircuitPython: при подключении к компьютеру мышь автоматически выполняет набор команд и открывает обратный шелл на машине атакующего. По результатам тестов доступ к системе с правами администратора удаётся получить буквально за считаные секунды.

 

Сложность заключалась в физической сборке — в компактном корпусе пришлось удалять пластиковые перегородки, аккуратно паять контакты и изолировать элементы. Но технически проект оказался вполне реализуемым даже при базовых навыках работы с электроникой.

 

Главная проблема, на которую указывает автор, — это фактор доверия к «безобидной» периферии. Большинство сотрудников уже знают, что флешки могут быть опасны. А вот мышь, которая нормально двигает курсор, подозрений не вызывает. При этом устройство распознаётся системой как HID (Human Interface Device) и может отправлять команды, минуя многие стандартные механизмы защиты. В демонстрации атака проходила без срабатывания антивируса.

Исходный код проекта выложен на GitHub — автор подчёркивает, что работа носит исследовательский и образовательный характер. Однако сама концепция наглядно показывает: для компрометации системы не нужны дорогостоящие инструменты, достаточно фантазии и пары доступных компонентов.

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