Pull to refresh
16K+
14
EditorF6@EditorF6

User

8,6
Rating
184
Subscribers
Send message

Type-driven development в Rust: делаем недопустимые состояния невыразимыми

В своей работе наша инженерная команда довольно часто сталкивается с уникальными и сложными задачами — мы решили поделиться своей экспертизой и практическими наработками. В том числе и теми задачами, которые напрямую не связанны с информационной безопасностью.

Начинаем с type-driven development в Rust — подхода, при котором правила предметной области выражаются в типах, а код, нарушающий эти правила, не компилируется. О том, как применять его на практике расскажет Никита Тимофеенко, разработчик команды MXDR компании F6.

Серия рассчитана на тех, кто уже пишет на Rust и хочет от системы типов большего, чем борьба с borrow checker-ом. Теории типов не будет — только приёмы и шаблоны для рабочего кода, почти всё на стабильном Rust.

После первой части вы сможете посмотреть на свои структуры с флагами и Option-ами, посчитать, сколько недопустимых состояний они позволяют собрать, перепроектировать их так, чтобы эти состояния перестали компилироваться, и удалить часть defensive-проверок.

В первой статье — пять техник, каждая разобрана по схеме «проблема -> решение -> хорошие практики -> как это используют известные крейты или std библиотека».

Примеры во всей серии — из биржевой торговли, но сами приёмы работают в любом домене со сложными состояниями и правилами их изменения:

  • newtype — свой тип для каждой роли вместо голого примитива: значения разных типов не перепутать местами, а инварианты проверяются один раз — при создании (smart constructor);

  • ADT — «одно из» через enum с данными в вариантах вместо булевых флагов и Option-ов, допускающих бессмысленные комбинации;

  • uninhabited types — типы без значений: как убрать ветку ошибки, которая «никогда не случится», так, чтобы это гарантировал компилятор, а не unreachable!();

  • phantom types — параметры-маркеры без рантайм-представления: одна generic-обёртка с типом-тегом вместо семейства одинаковых newtype-ов;

  • typestate — состояние объекта в его типе: у каждого состояния свой набор методов, переход возвращает новый тип, а неверный порядок шагов не компилируется.

Первая статья — «Type-driven development в Rust. Часть 1/5: делаем недопустимые состояния невыразимыми» — уже на GitHub. Там же — компилируемые примеры ко всем приёмам: Cargo workspace, который собирается и проходит тесты.

Tags:
+4
Comments0

Dirty Frag: новый LPE в Linux из той же «грязной» серии

После Dirty Pipe и Copy Fail появился новый кейс — Dirty Frag: локальная эскалация привилегий в Linux, позволяющая получить root при успешной эксплуатации.

По данным опубликованного исследования, Dirty Frag строится на цепочке из уязвимостей в механизмах xfrm-ESP и RxRPC

Митигация

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

rmmod esp4 esp6 rxrpc

Для более устойчивой митигации после перезагрузки:

printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf
rmmod esp4 esp6 rxrpc 2>/dev/null
echo 3 > /proc/sys/vm/drop_caches

Перед применением проверьте, не используются ли эти модули легитимными сервисами, например IPsec/xfrm или RxRPC-зависимыми компонентами. После появления обновлений ядра приоритетная мера — установить патчи от вашего Linux-дистрибутива.

Детектирование

F6 EDR обнаруживает попытки эксплуатации Dirty Frag, а также эксплуатацию Copy Fail, позволяя выявлять активность, связанную с локальной эскалацией привилегий, даже если патчи или временные митигации еще не развернуты на всех хостах.

Рекомендации:

1. Проверить наличие модулей esp4, esp6, rmmod, rxrpc;

2. Применить временную митигацию там, где это не ломает бизнес-сервисы;

3. Установить обновления ядра сразу после выхода патчей;

4. Контролировать попытки эксплуатации через EDR.

Tags:
Total votes 1: ↑1 and ↓0+1
Comments0

Детали доставки: исследование новой версии Android‑трояна DeliveryRAT

Специалисты F6 Threat Intelligence исследовали обновленную версию вредоносного ПО DeliveryRAT, распространяемого злоумышленниками во второй половине 2025 года. Троян DeliveryRAT маскируется под популярные приложения для доставки еды, маркетплейсы, банковские сервисы и трекинг посылок.

Впервые про Android‑троян DeliveryRAT компания F6 рассказала в годовом отчете F6 за 2024 год. Способы распространения ВПО были детально описаны в публикации — F6 и RuStore заблокировали более 600 доменов, распространявших Android‑троян DeliveryRAT.

Было зафиксировано, что новая версия ВПО появилась в апреле 2025 года. Как отмечают специалисты F6 Threat Intelligence, троян DeliveryRAT несет всё большие риски для пользователей Android‑устройств в России. Помимо базовых функций, таких как кража содержания SMS и уведомлений, троян теперь может отображать заранее подготовленные варианты диалоговых окон с возможностью похищения фотографий, загружаемых пользователем, ввода данных банковской карты и так далее.

Кроме того, DeliveryRAT получил отличающиеся от стилера возможности для выполнения DDoS‑атак, что позволяет использовать этот троян не только для финансовой выгоды, но и для проведения массовых атак на инфраструктуру организаций с целью нарушения их работы.

Подробный разбор ВПО DeliveryRAT читайте в новом блоге F6.

Tags:
Rating0
Comments0

Злоумышленник выкладывает старые данные в Telegram под видом утечек из российских банков

Эксперты департамента Threat Intelligence компании F.A.C.C.T. обнаружили Telegram-канал, в котором с 7 ноября было опубликовано более сотни файлов в форматах xlsx, csv, rar — "утечек" баз данных якобы из российских банков.

Сам канал появился 6 ноября, и первые сообщения были посвящены якобы утечкам из финорганизаций. Анализ файлов показал, что злоумышленник использует куски данных из других публичных утечек и просто переименовывает их под названия российских банков. Получается даже не компиляция, а обыкновенный... фейк для привлечения внимания. Позднее в канале были опубликованы старые базы РУБОПа, ГИБДД, паспортов и банковских карт, СНИЛС, телеком-операторов и даже челябинского секс-шопа.

Напомним, что за первую половину 2023 г. F.A.C.C.T. зафиксировал 114 утечек из российских компаний и госорганизаций (за аналогичный период 2022 г. — 109). Большинство данных по-прежнему выкладывают бесплатно, но часть утечек злоумышленники продают или используют сами.

Tags:
Rating0
Comments0

Information

Rating
933-rd
Works in
Registered
Activity