Сеть знает все, или Как найти пробив с помощью анализа трафика
Столько слов было сказано, столько копий сломано в попытках защитить свою инфраструктуру, но одним из частых векторов проникновения в сеть всё еще остается эксплуатация уязвимостей сервисов на периметре. Можно долго рассуждать о причинах такой ситуации, а можно максимально защитить компанию от кибератак. Сегодня я, Виктор Еременко, лидер продуктовой практики PT NAD, расскажу, как вовремя выявить злоумышленника и не допустить инцидента.
«Пробив» в нашей терминологии означает успешную эксплуатацию уязвимости.
Внутренняя сеть каждой организации уникальна. Архитектурно она может состоять из следующих компонентов:
ДМЗ;
офисная сеть;
ЦОД;
изолированная сеть;
АСУ ТП;
сеть филиалов;
удаленные пользователи.
Пример схемы внутренней сети организации
Зачастую удаленные пользователи и сети филиалов соединяются с головным офисом через ДМЗ. По сути, чтобы проникнуть в сеть организации, злоумышленнику необходимо скомпрометировать ресурсы, расположенные в ДМЗ. При этом он может прийти откуда не ждали из интернета, сети удаленных пользователей, филиалов компании, сети подрядчика и так далее. Таким образом, мониторинг информационной безопасности расположенных в ДМЗ сервисов является критически важной задачей.
Можно долго спорить о том, как это делать эффективно: раскатывать продукты для защиты конечных точек (EDR-решение) на серверы, заводить журналы прикладных приложений в SIEM-системе, строить сложные корреляции. Но по моей оценке, самым быстрым и достаточно эффективным способом является анализ трафика. Например, таким продуктом в портфеле Positive Technologies является система поведенческого анализа сетевого трафика для обнаружения скрытых кибератак — PT Network Attack Discovery (PT NAD).
Казалось бы, задача анализа трафика достаточно тривиальна: устанавливаем PT NAD, заводим на него трафик и чувствуем себя в безопасности… тонем в false positive. Наши исследования не раз доказывали, что в интернете все всё сканят: команда киберразведки Positive Technologies подтверждает, что в целом сети всех компаний исследуются в режиме нон-стоп, а злоумышленники предпринимают попытки проникнуть внутрь организаций. При этом боты пытаются эксплуатировать уязвимости на тех сервисах, на которых этих уязвимостей нет. Это приводит к тому, что в интерфейсе PT NAD появляется большое число сработавших сигнатур. Для того чтобы с ними разобраться, необходимо вручную верифицировать срабатывания Это простая задача, если нужно проверить несколько алертов, но когда их сотни, вероятность пропуска успешной эксплуатации уязвимости точно не нулевая.
Приведем типовой пример проверки успешности компрометации узла:
Выбираем сигнатуру для верификации пробива (обычно попыток сканирования узла бывает много, а значит и проверять надо столько же).
Просматриваем карточку атаки. Анализируем, что передавалось в сессии, выделяем индикаторы компрометации при их наличии.
Проверяем наличие сессий с атакованного узла с индикаторами компрометации.
Делаем вывод: атакованный хост скомпрометирован.
Итого необходимо выполнить три шага, чтобы сделать вывод об успешности (неуспешности) пробива узла.
В какой-то момент команде PT NAD пришла идея:, а что, если научить систему тем действиям, которые выполняет аналитик для верификации успешности эксплуатации уязвимости. К счастью, PT NAD умеет не только анализировать трафик на потоке, но и записывать метаданные сессий в хранилище. Они доступны для анализа. Этот факт увеличивает возможности выявить действия злоумышленника. В частности, есть возможность корреляции метаданных различных сессий между собой.
Возможность корреляции — это хорошо. Но сначала надо понять, что с чем коррелировать. Тогда мы, помня, что анализируется сетевой трафик, подумали:, а что нам может сказать об успешности эксплуатации уязвимости. Ответ оказался очевидным: сетевое соединение с С2, которое использует злоумышленник. Остался только один вопрос:, а как его узнать. Очевидно, что в общем случае IP-адрес, с которого пытаются эксплуатировать, и адрес C2 — это разные вещи. Решением оказался анализ содержимого payload сессии, в которой злоумышленник пытается проэксплуатировать уязвимость.
Итак, алгоритм проверки успешности пробива получился такой.
Разберем, как это все работает:
Стандартный сигнатурный движок проверяет копию трафика.
Если срабатывает алерт, сигнализирующий о попытке эксплуатации уязвимости, содержимое сессии отправляется на дополнительную проверку.
Механизм анализа сессии пытается найти адреса С2 злоумышленников (IP-адрес или домены). При этом анализируются как заголовки, так и payload пакетов.
Если С2 найден, то в дельта-окрестности исходного алерта проверяется коннект к C2. Такая проверка оказывается возможной благодаря тому, что PT NAD, помимо записи непосредственно трафика, умеет выделять его метаданные, индексировать и хранить их.
Если зафиксирован коннект к С2, то PT NAD принимает решение об успешности эксплуатации уязвимости.
При подтверждении успешной эксплуатации уязвимости в ленте активности создается карточка, содержащая сведения об атаке.
В результате работы этого модуля, верифицирующего успешность эксплуатации уязвимости, мы:
автоматизировали рутинные действия аналитика по проверке успешности эксплуатации;
снизили число false positive;
повысили вероятность обнаружения успешной атаки.
Уже можно было бы заканчивать эту статью и идти пить кофе. Но сам собой напрашивается мысль: модуль, конечно, вкусный, но как быть, если сегодня практически весь трафик шифрованный. И да, действительно, для такого трафика рассмотренный алгоритм не подходит просто потому, что нам нужно анализировать payload для выделения C2. На этом месте следовало бы удалить драфт статьи и идти прокрастинировать, но, оказывается, недавно нашелся выход.
А точнее — целых два.
Во-первых, появились качественные российские NGFW-решения, одной из функций которых является расшифровывание трафика и его отправка в систему анализа трафика. А во-вторых, можно обратиться к технологическим партнерам. Например, к компании «АртЭКС», которая выпускает продукт ArtX TLSproxy, обеспечивающий раскрытие SSL/TLS-трафика.
Таким образом, используя дополнительные устройства, можно эффективно искать злоумышленника в шифрованном трафике классическими методами.
Пришло время резюмировать. Рассматриваемый модуль позволяет:
подтвердить успешность эксплуатации уязвимости;
снизить число false positive;
снизить нагрузку на аналитика;
при использовании дополнительных устройств выявлять злоумышленника в том числе в шифрованном трафике.
Единственным существенным ограничением является наличие сигнатуры, свидетельствующей о попытке эксплуатации уязвимости. Но и это обходится благодаря работе нашего экспертного центра, обеспечивающего обновление базы сигнатур не менее двух раз в неделю. Таким образом, PT NAD позволяет получать информацию об успешном пробиве практически в режиме реального в автоматизированном режиме. Остается только своевременно реагировать на оповещения продукта.
Лидер продуктовой практики PT NAD, Positive Technologies