Компания Vigilant применила теорию информации для борьбы с угрозами

Компания Vigilant применила теорию информации для борьбы с угрозами

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

Так, если последующий фрагмент полностью предсказуем на основании сведений о предыдущих, то можно говорить, что энтропия в рассматриваемом случае имеет нулевое значение. При равновесном выборе из двух вариантов (как в общеизвестном примере с подбрасыванием монеты) степень случайности соответствует одному биту энтропии, и так далее. В защите информации энтропию можно привлекать, скажем, для оценки надежности паролей: если абсолютно случайное кодовое слово, состоящее из восьми произвольных и ни разу не повторяющихся символов, может характеризоваться 52 битами энтропии, то при использовании определенных слов степень неопределенности пароля снижается в среднем до 18 битов - а, следовательно, взломщик может испробовать не все 252 комбинаций, а лишь наиболее вероятные 218 (существенно снизив тем самым время подбора).

Vigilant, однако, использует энтропию для других целей, а именно - для выявления атипичных образцов данных, которые могут быть соотнесены с вредоносным кодом. Похожая тактика успешно применяется в службах защиты от спама: если одна учетная запись отправляет письма на тысячи адресов, не имеющих никакой явной связи ни с ней, ни друг с другом, то можно с высокой степенью уверенности заключить, что рассылка является нежелательной. Эксперты компании уверены, что расчет показателя энтропии может быть столь же эффективно использован для отсеивания вредоносных объектов (поскольку многие инфекции генерируют случайные имена файлов), а также доменов. В частности, по данным Vigilant, степень неопределенности обычного доменного имени изменяется в пределах от 2,5 до 3,9 битов; следовательно, если энтропия превышает уровень в 4 бита, то перед нами, скорее всего, продукт работы вредоносного генератора случайных имен.

Еще один вариант применения соответствующих расчетов - борьба с программными шпионами, которые используются в долговременных атаках повышенной сложности (APT). Чтобы скрыть факт утечки сведений, шпионы часто шифруют информацию перед ее отправкой хозяину, но при передаче используют стандартный протокол HTTP, а не защищенное соединение. Обычный текст на естественном языке имеет невысокие показатели энтропии (например, для английского языка - от 0,6 до 1,5 бит); напротив, шифртекст по самой своей сущности должен характеризоваться как можно более высокой степенью непредсказуемости. Соответственно, если по обычному исходящему соединению вдруг начинают идти потоки данных с высоким показателем энтропии, то это явственно сигнализирует о попытке передать криптованные сведения - что, в свою очередь, вызывает обоснованные подозрения.

PC World

Письмо автору

Linux-руткиты поумнели: теперь они прячутся в eBPF и io_uring

Linux-руткиты долго оставались где-то в тени по сравнению с Windows-аналогами, но сейчас ситуация меняется. Причина понятная: Linux всё плотнее сидит в облаках, контейнерах, IoT и корпоративной инфраструктуре, а значит, и интерес злоумышленников к нему растёт. Исследователи из Elastic обратили внимание на новую тенденцию: современные Linux-руткиты всё чаще прячутся не в «экзотике», а во вполне легитимных механизмах ядра — eBPF и io_uring.

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

Защитные меры в Linux-средах стали жёстче: Secure Boot, подпись модулей, режимы lockdown, стандартные средства аудита. В результате старые методы либо быстро выявляются, либо вообще не работают. И вот тут злоумышленники начали использовать то, что уже встроено в систему и изначально создавалось совсем не для атак.

Один из главных инструментов в этой новой волне — eBPF. Изначально он нужен для фильтрации пакетов, трассировки и других полезных низкоуровневых задач. Но проблема в том, что eBPF позволяет выполнять код внутри ядра, не подгружая классический модуль. Для атакующего это почти подарок: можно цепляться к системным вызовам или событиям Linux Security Module и делать это так, что обычные сканеры вроде rkhunter или chkrootkit просто ничего не заметят. Формально модуль ядра не загружался, и искать вроде бы нечего.

 

По сути, это даёт злоумышленнику очень тихий способ вмешиваться в работу системы: скрывать файлы, влиять на процессы, фильтровать сетевой трафик и при этом почти не оставлять привычных следов. Elastic приводит в пример такие проекты, как TripleCross и Boopkit, которые показывают, как eBPF можно использовать для перехвата системных вызовов и даже для скрытого канала управления.

Вторая интересная история — io_uring. Интерфейс io_uring появился в Linux как быстрый способ асинхронного ввода-вывода: он позволяет пачками отправлять операции в ядро через кольцевые буферы общей памяти. Для производительности это отлично. Для атакующего — тоже. Вместо того чтобы вызывать множество отдельных системных вызовов, процесс может передать целую очередь операций сразу. А значит, системам мониторинга, которые привыкли ловить активность по отдельным системным вызовам, становится заметно сложнее увидеть полную картину.

Именно поэтому io_uring всё чаще рассматривают как удобный механизм ухода от EDR и других средств наблюдения. Если упрощать, телеметрии становится меньше, шума тоже, а вредоносная активность растворяется в «нормальной» работе системы. В материале Elastic упоминается, например, экспериментальный руткит RingReaper, который показывает, как через io_uring можно скрытно подменять типовые операции вроде read, write и connect.

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