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 лишает Android-трояны главного инструмента слежки

Google внедряет новую функциональность для улучшения безопасности Android-приложений. Теперь разработчики могут гораздо проще защищать пользователей своего софта от слежки и кражи конфиденциальных данных. В частности, в Android 16 появился новый флаг — accessibilityDataSensitive.

О нововедении разработчики Android рассказали в своём в блоге. Как известно, вредоносные программы часто используют специальные возможности ОС (Accessibility Services) для перехвата паролей и другой важной информации.

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

С помощью флага accessibilityDataSensitive разработчики могут отмечать элементы интерфейса, которые содержат конфиденциальную информацию. Если установить флаг в значение true, нелегитимные приложения с доступом к Accessibility Services (если у них не установлен флаг isAccessibilityTool=true) не смогут получить доступ к этим данным.

 

Уже сейчас Google внедрила этот флаг в setFilterTouchesWhenObscured. Это значит, что в тех приложениях, где этот метод уже использовался для защиты от «тапджекинга», элементы автоматически будут считаться защищаемыми. Это добавляет защиту без необходимости усилий со стороны разработчиков.

Google советует использовать либо setFilterTouchesWhenObscured, либо accessibilityDataSensitive для всех экранов, где отображаются конфиденциальные данные — например, страницы входа, формы оплаты и другие элементы с личной информацией. Дополнительную информацию можно найти в статье Google, посвящённой тапджекингу.

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