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

Chrome прикрывает старую лазейку для слежки за пользователями Инкогнито

Google снова подкрутил Chrome так, чтобы сайтам было сложнее вычислять пользователей, сидящих в режиме инкогнито. Речь идёт о старом трюке, который годами использовали сайты и антифрод-системы. Через Storage API страницы могли запросить у Chrome информацию о доступном объёме хранилища.

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

Этой разницы было достаточно, чтобы сервисы вроде detectIncognito почти безошибочно понимали: ага, пользователь открыл приватное окно.

 

Заодно сайты получали ещё один приятный бонус — возможность примерно оценить объём накопителя устройства. А это уже дополнительный отпечаток для слежки и фингерпринтинга.

Теперь Google решила прикрыть и эту лавочку. Chromium начал тестировать механизм predictable reported storage quota — предсказуемой квоты хранилища. Если коротко, Chrome перестаёт показывать сайтам реальные значения и вместо этого отдаёт одинаковый лимит независимо от режима работы браузера и железа пользователя.

Правда, в Google честно признают: полностью проблему это пока не убивает. Разработчики detectIncognito всё ещё могут определять приватные окна в стабильных версиях Chrome, используя комбинации разных сигналов. Но один из самых надёжных методов скоро отправится на пенсию.

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