Найти в Дзене
REPLY-TO-ALL Information Security Blog

Плейбук на срабатывание антивируса

В подавляющем большинстве классификаций инцидентов, что мне попадались, можно встретить тип инцидента "вирусное заражение". Едва ли классификация делается ради самой себя, обычно имеется явная цель - в зависимости от типа инцидента по-разному его обрабатывать. Наличие одного типа "вирусное заражение", видимо, предполагает, что все вирусные заражения будут обрабатываться одинаково, поэтому вопрос, который сначала показался мне нелепым: "Какой у вас плейбук на срабатывание антивируса?", с учетом изложенного выше, по логике его задающего становится понимаем. В этой заметке попробую объяснить почему вопрос мне показался нелепым, и почему это действительно так.

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

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

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

Закончив с оговорками, перейдем к основной части: поскольку антивирус - комплексное решение, защищающее от множества разных угроз, то и реагировние на разные срабатывания должны быть разные, т.е. на разные детекты должны быть разные плейбуки. К сожалению, вердикты антивируса не всегда информативны для пользователя, что, скорее всего, объясняется историческим наследием, когда антивирус считался полностью автономной системой, "поставил и забыл". Однако, сейчас это уже давно не так и нам нужно точно понимать ответы на следующие вопросы:

  • На что сработал антивирус: если поведение, то какое? Если объект, то какой? И надо бы понимать что это за объект - если он неуникальный, то поможет TI, а если уникальный - неплохо бы узнать его функционал (погонять в песочнице, пореверсить, или вы сами автор закарантиненого бинаря). Уже тут начнет появляться понимание: целевая ли атака, человекоуправляемая ли или, скорее, полностью автоматический сценарий, и имеем ли мы дело с массовым comodity. Если детект был на какой-то инструмент, типа Sliver, Cobalt, meterpreter, mimk и пр., с достаточной вероятностью, это можно будет понять из самого вердикта.
  • В каком сценарии: пользователь заходил на бухгалтерский сайт и его перебросило куда не пустил антивирус, или какой-то файлик с вердиктом вебшелла валяется в /var/www/html, или meterpreter нашелся в системной памяти на контроллере домена? Выше писал, что ВПО - это инструмент, имея детали по инструменту, можно понять какими привилегиями в системе обладал злоумышленник, когда пытался воспользоваться этим инструментом. Знание уровня доступа злоумышленника позволит понять что еще скомпрометировано. Например, если атакующий получил административный доступ на систему, скомпрометированы могут быть все на нее заходящие.
  • Зная инструмент, мы понимаем процедуру и можем понять технику и тактику в момент срабатывания - т.е. понять этап атаки, текущую стадию kill chain атакующего. А текущие успехи атакующего в значительной степени определяют то, как мы должны на него реагировать.
  • Роль хоста, на котором произошло срабатывание (уже немного коснулись этого, но выделю в отдельный пункт): рабочая станция ключевого сотрудника или топ-менеджера, админский Jump-сервер, рабочая станция сотрудника поддержки пользователей, или инфраструктурный сервер AD, Exchange или SCCM.

К описанному выше следует добавить стандартный триаж, понимание, что мы не имеем дело с каким-либо ложным срабатыванием (жажда минимизации False Negative, к сожалению, приводит к False positive, выше писал "вы сам автор" как раз о том сценарии, когда антивирус фолсит на кастомных приложениях внутренних разработчиков, а может, ситуация еще сложнее - у вас куча исследователей, исследующих те или иные атаки, не всегда в отведенной для этого лабе ).

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