Продолжу рассмотрение кейсов, связанных с применением решений по мониторингу ИБ с помощью решения класса NTA (Network Traffic Analysis). В прошлый раз я показал, как можно обнаруживать утечки информации, а в этот раз поговорим о выявлении вредоносного кода внутри корпоративной или ведомственной сети.
![image](https://habrastorage.org/r/w1560/webt/d_/5y/zy/d_5yzys5bncf4bq3_xft3ekqchw.png)
А что сложного в обнаружении вредоносного кода? Поставили антивирус и он ловит любые вредоносы. Увы! Если бы было все так просто, то, наверное, можно было бы навсегда и забыть про эту проблему, но нет… Число успешных заражений вредоносным кодом меньше не становится, а все потому, что злоумышленники постоянно меняют свои техники и тактики, модифицируют вредоносное ПО, используют бестелесных вредоносов, используют легальные утилиты для администрирования (тот же PowerShell)… И это если не рассматривать ситуации, когда на отдельных узлах либо вовсе нет антивируса (айтишники не хотят его ставить, потому что он тормозит), либо для данной платформы его просто не существует. А может быть и такая ситуация, с которой мне приходилось сталкиваться неоднократно в разных компаниях. Топ-менеджер подхватывает вредонос на свой домашний ноутбук или планшет и притаскивает его в компанию, чтобы местные айтишники разобрались. Устройство подключается к местному Wi-Fi и именно так начинается внутренняя эпиидемия; даже в изолированной от Интернет сети. В любом случае антивирус далеко не всегда является спасением от современного вредоносного кода и нам нужны и иные методы для обнаружение плохих парней в нашей сети.
Чем характеризуется современный вредоносный код? Есть ли какие-то признаки, которые могут подсказать нам, что в нашей сети происходит что-то не то и к нам все-таки попала какая-то зараза? Если не брать в расчет классические вирусы, которые не имеют функции самостоятельного распространения по сети (а вы давно видели классические вирусы), то среди признаков, которые могут характеризовать наличие в сети вредоносного кода, я бы назвал следующие:
Это именно сетевые признаки, которые почти не зависят от того, какой вредоносный код используется. А значит их можно попробовать выявить и средства мониторинга аномалий и угроз на базе Netflow (или иных flow-протоколов) являются лучшими кандидатами для этого. Посмотрим, как можно это сделать на примере решения Cisco Stealthwatch.
Чем отличается обычное сканирование, например, сканером безопасности, от сканирования, осуществляемого вредоносным кодом? В первом случае, в большинстве ситуаций, осуществляется перебор открытых портов на одном компьютере, потом на другом, на третьем и так далее. Такие попытки идентифицировать достаточно легко. Несложно определить, когда сканер просто проверяет всего один открытый порт в диапазоне адресов. У вредоносного же кода принцип работы другой — он сканирует узлы, находит уязвимые, перебирается на них, вновь сканирует, вновь находит уязвимые и так далее.
![image](https://habrastorage.org/r/w1560/webt/pm/hf/th/pmhfthynsrnygqtlv6gvir_8i0e.png)
Именно такое развитие мы и можем распознать с помощью специальных алгоритмов, заложенных в NTA.
![image](https://habrastorage.org/r/w1560/webt/ob/oh/vz/obohvzsbaod2spmwmmz1leviudk.png)
Дополнительной подсказкой нам служит роль компьютеров, с которых зафиксировано сканирование, — во всех случаях это рабочие станции сотрудников отдела продаж и маркетинга, которые сканируют целые подсети, логически относящиеся также к подразделению продаж.
![image](https://habrastorage.org/r/w1560/webt/rt/4q/co/rt4qcocbyepsz3vlfb2f9dydiw0.png)
Найдя одну точку заражения с последующим распространением вредоносного кода:
![image](https://habrastorage.org/r/w1560/webt/tx/hw/gj/txhwgjcmlbonfgosfqbjondeyo0.png)
Мы можем попытаться найти и остальные потенциальные жертвы вредоносного кода:
![image](https://habrastorage.org/r/w1560/webt/rc/xv/z9/rcxvz9dxkrffxays3hou3zg1rr0.png)
Правильно настроив систему анализа аномалий, в следующий раз мы можем уже не проводить отдельных расследований, отвечающих на вопрос, есть у нас в сети сканирование или нет? Достаточно будет просто увидеть на главной консоли соответствующий индикатор тревоги (recon):
![image](https://habrastorage.org/r/w1560/webt/sr/vu/gb/srvugbzem5sfprr-qlqn_zdga-g.png)
и кликнув на него, получить список всех, кто замечен в “противоправных” компьютерных действиях (кстати, первая иллюстрация в этой статье показывает другой способ визуализации масштаба распространения вредоносного кода).
![image](https://habrastorage.org/r/w1560/webt/yw/hv/sh/ywhvshjiohdvtjjhpjjnf4y1vma.png)
Стоит напомнить, что казалось бы простое сканирование может быть первым сигналом для более серьезных проблем. Если фишинговые письма являются одним из первых шагов, с которых злоумышленники начинают свою деятельность, то заразив один компьютер, они расширяют свой плацдарм и основной способ сделать это начинается как раз со сканирования. Так действовал WannaCry, так действовал Shamoon, так действуют сотни других вредоносных программ, повлекших за собой серьезные инциденты.
![image](https://habrastorage.org/r/w1560/webt/w6/-d/wc/w6-dwcrq1labj-rymczqy43o6na.png)
Зафиксировав факт сканирования и распространения вредоносного кода, перед нами встает задача — провести более детальное расследование и понять, не был ли какой узел уже заражен, чем заражен, когда и т.п.? Само по себе решение класса NTA это сделать не может, так как по одной телеметрии на эти вопросы не ответишь. Но в случае с Cisco Stealthwatch нам на помощь придет бесплатное решение Cisco Threat Response, ооб интеграции с которым я уже рассказывал. Нам достаточно кликнуть на интересующем нас узле и в выпадающем контекстном меню мы увидим возможность запуска CTR, который в свою очередь может собрать информацию об интересующем нас узле из различных систем — Cisco AMP for Endpoints, Cisco Umbrella, Cisco Talos и т.п.
![image](https://habrastorage.org/r/w1560/webt/gn/64/wo/gn64woga66tkwkd5vedz1gucauo.png)
Вот как может выглядеть картина, которую отобразит бесплатный Cisco Threat Response, опираясь на свои возможности по обогащению и визуализации событий безопасности:
![image](https://habrastorage.org/r/w1560/webt/ht/bp/zq/htbpzqxctri84ercsdvfpbj_ryq.png)
CTR нам может показать вредоносные файлы, ассоциированные с интересующим нас узлом, которые мы можем проверить через песочницу Cisco Threat Grid или сервис VirusTotal. Имея данные по одному узлу, мы можем увидеть с кем он взаимодействовал или взаимодействует в рамках инцидента, откуда началась атака, какой вредоносной код в ней задействован, как произошло проникновение внутрь сети и ответить на многие другие вопросы, которые интересуют аналитика ИБ.
![image](https://habrastorage.org/r/w1560/webt/tp/hu/mt/tphumth99yiy9qlefo59mxcrycw.png)
А затем мы можем уже проводить дополнительную проверку полученных артефактов с помощью внешних сервисов Threat Intelligence, которые могут нам предоставить больше индикаторов компрометации, больше информации об атакующих, больше информации об используемых ими техниках и тактиках. А все началось с простого сканирования сети, обнаруженного решением по анализу аномалий с помощью Netflow (или иного flow-протокола).
![image](https://habrastorage.org/r/w1560/webt/3b/w3/qz/3bw3qzewibdfgyj8xwijzag10t8.png)
![image](https://habrastorage.org/webt/d_/5y/zy/d_5yzys5bncf4bq3_xft3ekqchw.png)
А что сложного в обнаружении вредоносного кода? Поставили антивирус и он ловит любые вредоносы. Увы! Если бы было все так просто, то, наверное, можно было бы навсегда и забыть про эту проблему, но нет… Число успешных заражений вредоносным кодом меньше не становится, а все потому, что злоумышленники постоянно меняют свои техники и тактики, модифицируют вредоносное ПО, используют бестелесных вредоносов, используют легальные утилиты для администрирования (тот же PowerShell)… И это если не рассматривать ситуации, когда на отдельных узлах либо вовсе нет антивируса (айтишники не хотят его ставить, потому что он тормозит), либо для данной платформы его просто не существует. А может быть и такая ситуация, с которой мне приходилось сталкиваться неоднократно в разных компаниях. Топ-менеджер подхватывает вредонос на свой домашний ноутбук или планшет и притаскивает его в компанию, чтобы местные айтишники разобрались. Устройство подключается к местному Wi-Fi и именно так начинается внутренняя эпиидемия; даже в изолированной от Интернет сети. В любом случае антивирус далеко не всегда является спасением от современного вредоносного кода и нам нужны и иные методы для обнаружение плохих парней в нашей сети.
Чем характеризуется современный вредоносный код? Есть ли какие-то признаки, которые могут подсказать нам, что в нашей сети происходит что-то не то и к нам все-таки попала какая-то зараза? Если не брать в расчет классические вирусы, которые не имеют функции самостоятельного распространения по сети (а вы давно видели классические вирусы), то среди признаков, которые могут характеризовать наличие в сети вредоносного кода, я бы назвал следующие:
- сканирование внутренних узлов в поисках уязвимостей операционных систем или приложений
- сканирование внутренних узлов в поисках открытых портов, через которые можно подключиться к системе
- взаимодействие с известными командными серверами
- нетипичный трафик с узла (ранее невстречавшиеся протоколы, превышение типичного объема трафика, серверные протоколы на рабочих станциях и т.п.).
Это именно сетевые признаки, которые почти не зависят от того, какой вредоносный код используется. А значит их можно попробовать выявить и средства мониторинга аномалий и угроз на базе Netflow (или иных flow-протоколов) являются лучшими кандидатами для этого. Посмотрим, как можно это сделать на примере решения Cisco Stealthwatch.
Чем отличается обычное сканирование, например, сканером безопасности, от сканирования, осуществляемого вредоносным кодом? В первом случае, в большинстве ситуаций, осуществляется перебор открытых портов на одном компьютере, потом на другом, на третьем и так далее. Такие попытки идентифицировать достаточно легко. Несложно определить, когда сканер просто проверяет всего один открытый порт в диапазоне адресов. У вредоносного же кода принцип работы другой — он сканирует узлы, находит уязвимые, перебирается на них, вновь сканирует, вновь находит уязвимые и так далее.
![image](https://habrastorage.org/webt/pm/hf/th/pmhfthynsrnygqtlv6gvir_8i0e.png)
Именно такое развитие мы и можем распознать с помощью специальных алгоритмов, заложенных в NTA.
![image](https://habrastorage.org/webt/ob/oh/vz/obohvzsbaod2spmwmmz1leviudk.png)
Дополнительной подсказкой нам служит роль компьютеров, с которых зафиксировано сканирование, — во всех случаях это рабочие станции сотрудников отдела продаж и маркетинга, которые сканируют целые подсети, логически относящиеся также к подразделению продаж.
![image](https://habrastorage.org/webt/rt/4q/co/rt4qcocbyepsz3vlfb2f9dydiw0.png)
Найдя одну точку заражения с последующим распространением вредоносного кода:
![image](https://habrastorage.org/webt/tx/hw/gj/txhwgjcmlbonfgosfqbjondeyo0.png)
Мы можем попытаться найти и остальные потенциальные жертвы вредоносного кода:
![image](https://habrastorage.org/webt/rc/xv/z9/rcxvz9dxkrffxays3hou3zg1rr0.png)
Правильно настроив систему анализа аномалий, в следующий раз мы можем уже не проводить отдельных расследований, отвечающих на вопрос, есть у нас в сети сканирование или нет? Достаточно будет просто увидеть на главной консоли соответствующий индикатор тревоги (recon):
![image](https://habrastorage.org/webt/sr/vu/gb/srvugbzem5sfprr-qlqn_zdga-g.png)
и кликнув на него, получить список всех, кто замечен в “противоправных” компьютерных действиях (кстати, первая иллюстрация в этой статье показывает другой способ визуализации масштаба распространения вредоносного кода).
![image](https://habrastorage.org/webt/yw/hv/sh/ywhvshjiohdvtjjhpjjnf4y1vma.png)
Стоит напомнить, что казалось бы простое сканирование может быть первым сигналом для более серьезных проблем. Если фишинговые письма являются одним из первых шагов, с которых злоумышленники начинают свою деятельность, то заразив один компьютер, они расширяют свой плацдарм и основной способ сделать это начинается как раз со сканирования. Так действовал WannaCry, так действовал Shamoon, так действуют сотни других вредоносных программ, повлекших за собой серьезные инциденты.
![image](https://habrastorage.org/webt/w6/-d/wc/w6-dwcrq1labj-rymczqy43o6na.png)
Зафиксировав факт сканирования и распространения вредоносного кода, перед нами встает задача — провести более детальное расследование и понять, не был ли какой узел уже заражен, чем заражен, когда и т.п.? Само по себе решение класса NTA это сделать не может, так как по одной телеметрии на эти вопросы не ответишь. Но в случае с Cisco Stealthwatch нам на помощь придет бесплатное решение Cisco Threat Response, ооб интеграции с которым я уже рассказывал. Нам достаточно кликнуть на интересующем нас узле и в выпадающем контекстном меню мы увидим возможность запуска CTR, который в свою очередь может собрать информацию об интересующем нас узле из различных систем — Cisco AMP for Endpoints, Cisco Umbrella, Cisco Talos и т.п.
![image](https://habrastorage.org/webt/gn/64/wo/gn64woga66tkwkd5vedz1gucauo.png)
Вот как может выглядеть картина, которую отобразит бесплатный Cisco Threat Response, опираясь на свои возможности по обогащению и визуализации событий безопасности:
![image](https://habrastorage.org/webt/ht/bp/zq/htbpzqxctri84ercsdvfpbj_ryq.png)
CTR нам может показать вредоносные файлы, ассоциированные с интересующим нас узлом, которые мы можем проверить через песочницу Cisco Threat Grid или сервис VirusTotal. Имея данные по одному узлу, мы можем увидеть с кем он взаимодействовал или взаимодействует в рамках инцидента, откуда началась атака, какой вредоносной код в ней задействован, как произошло проникновение внутрь сети и ответить на многие другие вопросы, которые интересуют аналитика ИБ.
![image](https://habrastorage.org/webt/tp/hu/mt/tphumth99yiy9qlefo59mxcrycw.png)
А затем мы можем уже проводить дополнительную проверку полученных артефактов с помощью внешних сервисов Threat Intelligence, которые могут нам предоставить больше индикаторов компрометации, больше информации об атакующих, больше информации об используемых ими техниках и тактиках. А все началось с простого сканирования сети, обнаруженного решением по анализу аномалий с помощью Netflow (или иного flow-протокола).
![image](https://habrastorage.org/webt/3b/w3/qz/3bw3qzewibdfgyj8xwijzag10t8.png)