Использование Deep Packet Inspection для выявления индикаторов компрометации
Всем привет!
Я занимаюсь информационной безопасностью в компании «ЛАНИТ-Интеграция». Пока большинство офисных сотрудников работает из дома, используя сервисы и рабочие столы компании дистанционно, хочу поговорить про то, как бизнес защищает свои активы от внешних угроз. Географически распределённая инфраструктура приумножает риски информационной безопасности, так как увеличивается количество точек входа в информационную систему организации. Эта статья о том, какие инструменты мы можем использовать при расследования инцидентов информационной безопасности.
В сфере компьютерной безопасности IOC — это объект, наблюдаемый в сети или операционной системе, который с большой долей вероятности указывает на компрометацию устройства. К таким объектам могут быть отнесены обнаруженные сигнатуры вирусов, хеш-суммы вредоносных файлов, адреса командных серверов ботнетов. Индикатор компрометации используется для раннего обнаружения попыток проникновения в компьютерные системы и первичной оценки возможной угрозы.
Уровень защищенности инфраструктуры любой компании или предприятия оценивается по наименее защищенному объекту инфраструктуры — это может быть автоматизированное рабочее место или сервер. Поэтому важно находить скомпрометированные узлы в корпоративной или технологической сети организации и устранять причину их компрометации.
Инструменты анализа трафика сети
Одним из методов выявления скомпрометированных узлов является анализ трафика сети. Существуют четыре основных способов анализа:
- Shallow Packet Inspection (далее SPI) — технология работает на канальном и сетевом уровне модели OSI (The Open Systems Interconnection model) и проверяет только заголовок пакета;
- Medium Packet Inspection (далее MPI) — технология анализирует сессии и сеансы связи, которые были инициализированы приложениями;
- Lightweight Payload Inspection (далее LPI) — технология анализирует первые байты заголовков пакетов, а также сессии и сеансы связи;
- Deep Packet Inspection (далее DPI) — данная технология анализирует принадлежность потока пакетов к конкретному приложению, зачастую используется для управления и эффективного распределения загрузки сети. В статье я сосредоточусь именно на решении этого типа.
Кстати, есть ряд решений, которые помогают анализировать трафик также с точки зрения информационной безопасности: например, Snort, Suricata, Sguil, Squert, Xplico, Nmap, tcpreplay.
В дальнейшем мы будем использовать формулировки «события информационной безопасности» и «инцидент информационной безопасности». Хочется заранее обсудить, что мы будем под этим подразумевать. Для этого воспользуемся стандартом «ГОСТ Р ИСО/МЭК 27001–2006: система менеджмента информационной безопасности» — это часть общей системы менеджмента, основанная на использовании методов оценки бизнес-рисков для разработки, внедрения, функционирования, мониторинга, анализа, поддержки и улучшения информационной безопасности.
Событие информационной безопасности (information security event) — идентифицированное возникновение состояния системы, услуги или сети, указывающее на возможное нарушение политики информационной безопасности, отказ защитных мер, а также возникновение ранее неизвестной ситуации, которая может быть связана с безопасностью.
Инцидент информационной безопасности (information security incident) — любое непредвиденное или нежелательное событие, которое может нарушить деятельность или информационную безопасность.
Deep Packet Inspection
Решения от производителей CheckPoint, Palo Alto и FortiNet предоставляют комплексный подход к защите вычислительных сетей любого уровня сложности и объёма анализируемого трафика. Функционал разнообразен и обширен, как с точки зрения безопасности сети, так и с точки зрения сетевого функционала.
CheckPoint CheckUP и Cyber Threat Assessment Program (FortiNet), предоставляют хорошо проработанные отчёты, но имеют ограничение по длительности использования, так как цели этих решений — однократно продемонстрировать защищённость инфраструктуры. Security Onion можно использовать, как постоянное средство защиты почти без дополнительных финансовых затрат, но так как продукт относится к open source, будет больше трудозатрат у специалиста (-ов), внедряющих или поддерживающих решение.
Security Onion (DPI-решение) — это инструмент, который может помочь в выявлении событий информационной безопасности, проанализировав которые, специалист может классифицировать, является ли событие инцидентом ИБ или нет. Мы используем его, чтобы продемонстрировать уровень защищённости корпоративной или технологической сети предприятия (поддерживаются такие протоколы, как Modbus).
Продукт хорош тем, что его можно самостоятельно доработать под поставленные задачи, есть возможность кастомизации. К примеру, его можно использовать как полноценную систему обнаружения вторжений (Intrusion Detection System), передавая события в формате JSON на Zabbix и решать следующие задачи:
- выявлять события информационной безопасности в вашей сети;
- выстраивать зависимости по вектору x и y (x — время, y — события информационной безопасности), что позволяет наглядно продемонстрировать, как принятые меры в долгосрочной перспективе влияют на количество событий информационной безопасности (к примеру, если ранее не использовалось потоковое антивирусное программно-аппаратное обеспечение с SSL-инспекцией, то после внедрения такого решения на границе сети количество инцидентов зачастую становится меньше, что график и продемонстрирует).
Интеграция продукта в корпоративную или производственную сеть
Вот перечень подготовительных мероприятий для анализа уровня защищённости инфраструктуры.
- Определить наиболее важные бизнес-процессы и активы, которые будут интересны потенциальному злоумышленнику в первую очередь.
- Определить наиболее уязвимые и критичные узлы сети — хорошо, если есть L2/L3 схема сети и Access Control List, это пригодится для анализа исходного уровня защищённости и возможных векторов распространения вредоносного программного обеспечения.
При возможности приобрести лицензию для Snort или Suricata.
Security Onion разворачивается из файла ISO-формата, требования к аппаратному составляющему напрямую зависят от количества подаваемого трафика.
- 50 Мбит/с — рекомендуем использовать 8 Гб оперативной памяти (чем больше, тем лучше).
- 500–1000 — Мбит/с рекомендуем использовать 128–256 Гб оперативной памяти (чем больше, тем лучше).
- Если вы отслеживаете канал со средней скоростью 50 Мбит/с, на жестком диске понадобится около 540 Гб для хранения однодневного сетевого трафика и событий ИБ. Чем больше места на накопителе (устройство хранения информации HDD/SSD), тем больше у вас будет информации для проведения анализа. Будет лучше, если Security Onion проработает минимум неделю, а лучше две.
- Snort, Suricata и Bro очень сильно нагружают процессор, при скорости 1 Гбит/с рекомендуется использовать примерно 10 ядер центрального процессора (далее ЦП). Это очень приблизительная оценка, так как функционал может отличаться в зависимости от поставленных задач.
Последовательность развёртывания Security Onion представлена ниже (акцентируем внимание на основных шагах).
На первом этапе установки система спросит у нас, хотим ли мы обновить Security Onion, и хотим ли мы использовать такие сторонние технологии, как Flash, MP3 и другие медиа.
На втором этапе установки система спросит, как будет осуществлен процесс установки на вашем жестком диске.
После того, как шаги по установке будут пройдены, система запросит перезагрузку.
После согласия будет предложено установить Security Onion в Evaluation или Production-режиме:
Мы рекомендуем использовать best practices, так как пользовательские настройки дают вам больший контроль над системой, но требуют более глубоких знаний об сервисах и их функциях.
После будет задан вопрос о типе установки, Security Onion предложат подключить к мастеру или стать мастером.
Далее мы выбираем тип используемой IDS. Заметим, если вы выберете «Emerging Threats PRO» или «Snort Subscriber (Talos) ruleset and Emerging Threats NoGPL ruleset», или «Snort Subscriber (Talos) ruleset only and set a Snort Subscriber policy», потребуется код активации.
Подписка «Snort Subscriber (Talos) ruleset only and set a Snort Subscriber policy» бесплатна для использования частными лицами и предприятиями (однако интеграторы в соответствии с лицензионным соглашением не могут его использовать). Данный набор правил отстает от набора правил подписчика Snort на 30 дней и не содержит угрозы типа «zero-day» согласно положению лицензии, но он содержит набор правил сообщества. Обычно обновление баз происходит по вторникам и четвергам.
Далее нам будет предложено выбрать набор доступных правил для нашей подписки, для «Snort Subscriber (Talos) ruleset only and set a Snort Subscriber policy» это будет:
- Connectivity over Security — эта политика используется для обеспечения большей производительности устройства.
- Balanced — эта политика является политикой по умолчанию, которая рекомендуется для первоначального развертывания, так как она старается обеспечить баланс производительности и безопасности;
- Security over Connectivity — эта политика используется для обеспечения наибольшей безопасности. Рекомендуема в защищённых сетях, которые имеют более низкие требования к пропускной способности, но гораздо более высокие требования к информационной безопасности. Политика обеспечивает максимальную защиту и контроль приложений, однако не нарушает работу сети.
Далее вам предложат выбрать движок «Snort» или «Suricata», если вы выбрали набор правил Emerging, то рекомендуем выбрать «Suricata», если «Snort Talos», то рекомендуем выбрать «Snort».
На этом основные шаги по установке Security Onion окончены, нам осталось подать трафик с порта «Switched Port Analyzer» (зеркалирование), или воспользоваться tcpreplay для загрузки трафика в систему.
Анализ Indicator of Compromise
После того, как мы развернули, настроили и завели на Security Onion, трафик начинается самое интересное, а именно анализ событий информационной безопасности (Indicator of Compromise).
Ниже обезличенный пример выявленных нами событий.
- Сканирование сети.
- Обращение к внешним DNS-серверам.
- Активность вредоносного программного обеспечения Win.Trojan.Rubinurd.Результат проверки Win.Trojan.Rubinurd на https://www.virustotal.com/.
- Активность вредоносного программного обеспечения Win.Trojan.Travnet Botnet. Результат проверки Win.Trojan.Travnet Botnet на https://www.virustotal.com/.
- Активность вредоносного программного обеспечения Win.Trojan.ZeroAccess.
Результат проверки Win.Trojan.ZeroAccess на https://www.virustotal.com/. - Попытка использования набора эксплоитов Phoenix Exploit Kit. Phoenix Exploit Kit — это инструмент для эксплуатации уязвимостей в плагинах браузеров (к примеру, Java, Adobe Flash и Reader).
Для каждого выявленного инцидента ИБ разрабатываются рекомендации по устранению причины его возникновения. Мы рекомендуем на трёх страницах сжато, но комплексно расписать выявленные инциденты с минимальным количеством технических подробностей, которые чаще всего не интересны руководящему составу организации, и сконцентрировать своё внимание на рисках. Также рекомендуем предоставлять анализируемый трафик в формате PCAP для возможного самостоятельного анализа или проведения расследования.
Основная задача, решаемая нами с использованием вышеописанного технического решения, — это выявление и решении проблем, которые отрицательно влияют или потенциально могут повлиять на бизнес-процессы организации.
Результат проделанной работы — это отчёт о уровне защищённости инфраструктуры и рекомендации по уменьшению ландшафта угроз. Данный инструмент можно использовать для постоянного или периодического контроля трафика в вашей инфраструктуре.
Буду рад узнать о том, какие инструменты для анализа трафика сети используете вы и какие практики применяете.
Да, кстати, наша команда растёт. Давайте работать вместе.