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

Энтузиаст выпустил скрипт для быстрой установки защищённого MTProxy

Пользователь Хабра под ником aikendo рассказал о развитии собственного проекта MTProxy, опубликованного от имени lingeniare. Несмотря на одинаковые названия, это не официальный прокси-сервер Telegram и не его форк, а сторонний скрипт для автоматической установки и настройки MTProxy.

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

После первого релиза проект получил Fake TLS с указанием внешнего домена через параметр --domain. Механизм маскирует прокси-трафик под обычное TLS-соединение и помогает проходить системы глубокого анализа пакетов — DPI.

Архитектуру секретов тоже переработали. Вместо общего файла ключи разных пользователей хранятся раздельно в каталоге /etc/mtproxy/secrets.d. Сам прокси запускается от отдельной системной учётной записи mtproxy, а сервис systemd получил дополнительные ограничения по принципу наименьших привилегий.

Для защиты от перебора и сетевого флуда скрипт добавляет правила iptables с модулем hashlimit. Их можно сохранять после перезагрузки через netfilter-persistent. Интерфейс статистики теперь доступен только локально по адресу localhost:2398, чтобы служебные данные не торчали наружу без необходимости.

За стабильностью следит watchdog на базе таймера systemd: при сбое он перезапускает прокси. Скрипт также настраивает синхронизацию времени по NTP, поскольку рассинхронизация часов может сорвать MTProto-рукопожатие. Опционально доступен сетевой алгоритм BBR.

После установки проект выводит QR-код и прямую ссылку tg://proxy, поэтому подключение не требует ручного переписывания параметров. Исходный код открыт на GitHub.

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