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

Подпишитесь на новости

Claude Code удалил 116 ГБ и сообщил, что файлы выглядят нормально

Пользователь Windows сообщил, что Claude Code при уборке временных файлов удалил около 116 ГБ данных из его домашней директории. Затем агент заверил, что остановил команду и все выглядит целым. По описанию инцидента, удаление продолжалось еще примерно 50 минут.

В отчете на GitHub пользователь рассказывает, что работал над анализом для соревнования Kaggle.

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

Целью стала домашняя директория, указанная коротким именем Windows формата 8.3. Автор предполагает, что защитная проверка могла не распознать такой вариант пути. Точный механизм отказа защиты и режим разрешений остаются неизвестными.

Через 120 секунд задача автоматически перешла в фон. Агент запросил остановку и получил сообщение об успехе, однако, судя по описанным изменениям файловой системы, удаление продолжалось. Вероятное объяснение — дочерний процесс пережил остановку задачи.

Проверка тоже оказалась поверхностной: агент посмотрел на названия папок верхнего уровня, которые могли сохраняться, пока их содержимое исчезало.

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

Особенно неприятна в этой истории уверенность агента. Наличие папки еще не означает наличие файлов.

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