Продолжу рассмотрение кейсов, связанных с применением решений по мониторингу ИБ с помощью решения класса NTA (Network Traffic Analysis). В прошлый раз я показал, как можно обнаруживать утечки информации, а в этот раз поговорим о выявлении вредоносного кода внутри корпоративной или ведомственной сети.
А что сложного в обнаружении вредоносного кода? Поставили антивирус и он ловит любые вредоносы. Увы! Если бы было все так просто, то, наверное, можно было бы навсегда и забыть про эту проблему, но нет… Число успешных заражений вредоносным кодом меньше не становится, а все потому, что злоумышленники постоянно меняют свои техники и тактики, модифицируют вредоносное ПО, используют бестелесных вредоносов, используют легальные утилиты для администрирования (тот же PowerShell)… И это если не рассматривать ситуации, когда на отдельных узлах либо вовсе нет антивируса (айтишники не хотят его ставить, потому что он тормозит), либо для данной платформы его просто не существует. А может быть и такая ситуация, с которой мне приходилось сталкиваться неоднократно в разных компаниях. Топ-менеджер подхватывает вредонос на свой домашний ноутбук или планшет и притаскивает его в компанию, чтобы местные айтишники разобрались. Устройство подключается к местному Wi-Fi и именно так начинается внутренняя эпиидемия; даже в изолированной от Интернет сети. В любом случае антивирус далеко не всегда является спасением от современного вредоносного кода и нам нужны и иные методы для обнаружение плохих парней в нашей сети.
Чем характеризуется современный вредоносный код? Есть ли какие-то признаки, которые могут подсказать нам, что в нашей сети происходит что-то не то и к нам все-таки попала какая-то зараза? Если не брать в расчет классические вирусы, которые не имеют функции самостоятельного распространения по сети (а вы давно видели классические вирусы), то среди признаков, которые могут характеризовать наличие в сети вредоносного кода, я бы назвал следующие:
- сканирование внутренних узлов в поисках уязвимостей операционных систем или приложений
- сканирование внутренних узлов в поисках открытых портов, через которые можно подключиться к системе
- взаимодействие с известными командными серверами
- нетипичный трафик с узла (ранее невстречавшиеся протоколы, превышение типичного объема трафика, серверные протоколы на рабочих станциях и т.п.).
Это именно сетевые признаки, которые почти не зависят от того, какой вредоносный код используется. А значит их можно попробовать выявить и средства мониторинга аномалий и угроз на базе Netflow (или иных flow-протоколов) являются лучшими кандидатами для этого. Посмотрим, как можно это сделать на примере решения Cisco Stealthwatch.
Чем отличается обычное сканирование, например, сканером безопасности, от сканирования, осуществляемого вредоносным кодом? В первом случае, в большинстве ситуаций, осуществляется перебор открытых портов на одном компьютере, потом на другом, на третьем и так далее. Такие попытки идентифицировать достаточно легко. Несложно определить, когда сканер просто проверяет всего один открытый порт в диапазоне адресов. У вредоносного же кода принцип работы другой — он сканирует узлы, находит уязвимые, перебирается на них, вновь сканирует, вновь находит уязвимые и так далее.
Именно такое развитие мы и можем распознать с помощью специальных алгоритмов, заложенных в NTA.
Дополнительной подсказкой нам служит роль компьютеров, с которых зафиксировано сканирование, — во всех случаях это рабочие станции сотрудников отдела продаж и маркетинга, которые сканируют целые подсети, логически относящиеся также к подразделению продаж.
Найдя одну точку заражения с последующим распространением вредоносного кода:
Мы можем попытаться найти и остальные потенциальные жертвы вредоносного кода:
Правильно настроив систему анализа аномалий, в следующий раз мы можем уже не проводить отдельных расследований, отвечающих на вопрос, есть у нас в сети сканирование или нет? Достаточно будет просто увидеть на главной консоли соответствующий индикатор тревоги (recon):
и кликнув на него, получить список всех, кто замечен в “противоправных” компьютерных действиях (кстати, первая иллюстрация в этой статье показывает другой способ визуализации масштаба распространения вредоносного кода).
Стоит напомнить, что казалось бы простое сканирование может быть первым сигналом для более серьезных проблем. Если фишинговые письма являются одним из первых шагов, с которых злоумышленники начинают свою деятельность, то заразив один компьютер, они расширяют свой плацдарм и основной способ сделать это начинается как раз со сканирования. Так действовал WannaCry, так действовал Shamoon, так действуют сотни других вредоносных программ, повлекших за собой серьезные инциденты.
Зафиксировав факт сканирования и распространения вредоносного кода, перед нами встает задача — провести более детальное расследование и понять, не был ли какой узел уже заражен, чем заражен, когда и т.п.? Само по себе решение класса NTA это сделать не может, так как по одной телеметрии на эти вопросы не ответишь. Но в случае с Cisco Stealthwatch нам на помощь придет бесплатное решение Cisco Threat Response, ооб интеграции с которым я уже рассказывал. Нам достаточно кликнуть на интересующем нас узле и в выпадающем контекстном меню мы увидим возможность запуска CTR, который в свою очередь может собрать информацию об интересующем нас узле из различных систем — Cisco AMP for Endpoints, Cisco Umbrella, Cisco Talos и т.п.
Вот как может выглядеть картина, которую отобразит бесплатный Cisco Threat Response, опираясь на свои возможности по обогащению и визуализации событий безопасности:
CTR нам может показать вредоносные файлы, ассоциированные с интересующим нас узлом, которые мы можем проверить через песочницу Cisco Threat Grid или сервис VirusTotal. Имея данные по одному узлу, мы можем увидеть с кем он взаимодействовал или взаимодействует в рамках инцидента, откуда началась атака, какой вредоносной код в ней задействован, как произошло проникновение внутрь сети и ответить на многие другие вопросы, которые интересуют аналитика ИБ.
А затем мы можем уже проводить дополнительную проверку полученных артефактов с помощью внешних сервисов Threat Intelligence, которые могут нам предоставить больше индикаторов компрометации, больше информации об атакующих, больше информации об используемых ими техниках и тактиках. А все началось с простого сканирования сети, обнаруженного решением по анализу аномалий с помощью Netflow (или иного flow-протокола).
Автор: Алексей Лукацкий