Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
В «Хакере» часто обсуждается скрытие процессов и системных вызовов, обфускация кода и прочие способы обхода AV/EDR. Но что, если ты хочешь не только следовать инструкциям, но и самостоятельно искать такие техники? Для этого нужно как минимум понимать общие принципы работы антивирусов и EDR. Эти принципы мы и обсудим.
В статье про Process Ghosting я вкратце описал, как работают системы EDR, а в этой попробую более подробно рассказать о том, как EDR ловят злобный код, и немного о том, как эти методы обходят создатели малвари и пентестерских инструментов.
warning
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону.
Это самый простой и старый метод обнаружения малвари. На разных этапах своего развития сигнатурный метод обнаружения представлял собой просто список контрольных сумм вредоносных файлов, с которым сверялся проверяемый образец. Такой метод быстро изжил себя, ведь чтобы изменить контрольную сумму файла, достаточно малейшей правки в нем.
Со временем сигнатурный метод обнаружения претерпел некоторые изменения: скажем, сегодня вполне могут использоваться байтовые последовательности, и не только статичные, но и плавающие. Например, вот так выглядит детектирующая последовательность YARA-скрипта для одного из творений группы Lazarus:
$scan_1 = { d1 ?? 33 ?? fc 81 ?? ff 00 00 00 c1 ?? 17 }
Здесь представлена как раз плавающая байтовая сигнатура: на месте знаков вопроса могут быть любые байты, но детект все равно сработает.
Сигнатуры могут включать в себя не только шестнадцатеричные байтовые последовательности, но и строки, встречающиеся в малвари:
$scan_2 = "%s\~%d.tmp" wide ascii
Кроме того, под детект могут попасть контрольные суммы таблицы импорта или, например, Rich-сигнатуры. Словом, все, что может однозначно говорить, что перед нами именно искомый файл, а не какой‑то другой. Подобные сигнатуры таким же способом можно искать в памяти. Сегодня этот метод сканирования часто работает в связке с другими методами обнаружения малвари.
Что сбивает статические сигнатуры (и не только)
Например, упаковщики или протекторы! Они могут:
Сканирование памяти тоже часто используется средствами EDR, но работает оно не постоянно (из‑за оптимизаций производительности), а часто запускается из‑за компрометирующих последовательностей действий, например:
Другими словами, сканирование часто запускается по сигналу от поведенческого анализатора, который наблюдает достаточное количество негативных флагов в поведении процесса.
Источник: xakep.ru