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

Яндекс Pay перестал работать у части пользователей IPv6

Пользователи начали замечать странное поведение приложения Яндекс Pay — оно может отказывать в работе тем, кто выходит в интернет через IPv6, особенно если используется 6in4-туннель (например, Hurricane Electric).

На проблему обратил внимание пользователь «Хабра» с ником po3dno. По его словам, это проявляется следующим образом: если открыть pay.yandex.ru в браузере, сервис работает нормально: определяется IPv4-адрес, и личный кабинет доступен без ограничений.

А вот в мобильном приложении ситуация другая. Оно, как утверждается, делает запросы по IPv6, определяет адрес как «не российский» — и на этом всё: доступ блокируется.

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

Судя по описанию, проблема связана именно с особенностями определения геолокации по IPv6. В случае с туннелями вроде 6in4 трафик может выходить через зарубежные точки, из-за чего сервис воспринимает пользователя как находящегося вне России.

Официальных комментариев от Яндекса на момент появления жалоб не было. Пока же для пользователей с IPv6 единственным рабочим вариантом остаётся доступ через браузер либо отключение туннеля.

Напомним, вчера мы писали, что у части российских пользователей с включёнными средствами обхода блокировок (VPN) перестали частично открываться или вовсе работать сайты и приложения крупных российских платформ, включая «Яндекс», VK, маркетплейсы и банковские сервисы.

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