Максим Павлунин
Руководитель Центра мониторинга, Angara SOC
Технологии машинного обучения все стремительней входят в нашу жизнь и находят применение в различных сферах деятельности. В медицине развивается диагностика различных заболеваний и методов лечения. В автомобильной промышленности машинное обучение успешно применяется в сервисах для помощи водителю и готовится полноценно забрать управление автомобилем на себя. В финансовой сфере ML используются для прогнозирования рынка и определения рисков. А что происходит в сфере информационной безопасности?
В ИБ технологии машинного обучения успешно применяются в системах защиты информации, таких как IDS/IPS, WAF, Antivirus, Anti-phishing и т.д. Все эти СЗИ обрабатывают огромные объемы данных, и выявление атак сопряжено с большой вариативностью техник злоумышленника. Конечно же сигнатурный анализ не готов уйти в историю и является основой для выявления угроз, но есть ряд существенных ограничений. В основном, правила направлены на выявление известных техник и не всегда способны учесть все возможные вариации, т.е. направлены на выявление ряда частных случаев. Соответственно, выявление неизвестных атак достаточно проблематично. К тому же количество правил/сигнатур стремительно растет, что затрудняет их сопровождение и приводит к высокому потреблению вычислительных мощностей. Модели машинного обучения позволяют решить эти проблемы, так как способны обучаться на больших данных и выявлять аномальные паттерны, которые невозможно учесть при сигнатурном анализе. В современных СЗИ данные технологии применяются совместно и дополняют друг друга.
Аналогичные проблемы существуют и в SOC относительно методик выявления инцидентов ИБ. Основой являются правила корреляции SIEM, которые в отдельных кейсах стремятся покрыть выявление всех возможных атак, но не могут этого сделать в виду различных ограничений. В отличие от СЗИ машинное обучение в инструментах SOC развито достаточно слабо. Мы тестировали ряд систем, таких как Anomaly Detection и UEBA, но широкого применения в SOC они не нашли из-за большого количества ложных срабатываний. Других инструментов, направленных на выявление инцидентов ИБ, нам, к сожалению, найти не удалось.
Как говорится, хочешь сделать хорошо - сделай сам! Вооружившись этой идеей, мы решили выделить некоторые точечные кейсы, с проблематикой описанной выше, и автоматизировать выявление с применением машинного обучения. В данной статье мы поделимся нашим опытом на примере выявления вредоносного кода PowerShell, соберем нейронную сеть и рассмотрим варианты ее использования совместно с SIEM.
Итак, что мы знаем о PowerShell? Это командный интерпретатор, встроенный в ОС Windows, который широко используется злоумышленниками при проведении различных атак, более подробно описан в T1059.001 MITRE. Существует большое количество инструментов на языке PowerShell, которые могут применяться как в составе ВПО, так и непосредственно злоумышленником при компрометации системы. PowerSploit, Empire, Nishang – это лишь малая часть общеизвестных коллекции подобных утилит для автоматизации действий злоумышленника, направленных на сбор информации, эксплуатацию уязвимостей, повышение привилегий и т.д. Но в каждой организации IT-служба использует и легитимные скрипты для автоматизации администрирования. Отличить легитимное от вредоносного иногда довольно сложно, а проанализировать миллионы скриптов для написания правил скорее невозможно.
Идея заключается в том, чтобы подготовить большой набор скриптов, классифицировать их и обучить на этом наборе модель нейронной сети. В результате обучения модель самостоятельно проанализирует образцы кода и выделит паттерны, свойственные как для легитимных, так и для вредоносных скриптов. Т.е. передать модели ту работу, которую лень проблематично сделать человеку. Хитрый план