Чаще всего системный администраторы или инженеры по безопасности задаются вопросом - "А что же дальше мне делать? Что внедрить что бы улучшить мою структуру?". Цель данной статьи не много структурировать технологические решения и подходы и подсказать дополнительные направления для развития ИС.
Основные механизмы безопасности в компаниях включают в себя многоуровневую структуру, частями которой являются как активные системы так и превентивные системы. Конкретно в данной статье будет идти разговор только о технических решениях. Так же статья направлена на стандартизацию основных знаний и понимание основных областей безопасности архитектуры информационной системы. Тут и далее автор не пытается провести обзор всех существующих решений на рынке. Автор не претендует на уникальную классификацию систем - в данном случае я привел скажем так абстрактную модель, нормализованную к определенному виду для наиболее простого понимания.
Активные системы - к данному понятию принято относить системы которые используют для активного обнаружения и предотвращения атак на информационные ресурсы. Это понятие объединяет все возможные варианты систем служащих только этой конкретной цели. Примерами таких систем могут считаться - Все виды антивирусных решений/ Все виды HIDS/NIDS/firewall/HoneyPots / DNS-App-etc-filtering и так далее. Так же к этому понятию относят и системы агрегации данных как SIEM и другие.
Превентивные системы - к данному понятию принято относить системы которые используют для улучшения модели безопасности в компании и предотвращении возможного вредоносного воздействия на систему. Нужно понимать что превентивные системы не участвуют в активной модели предотвращения атак, а только используются для совершенствования структуры безопасности. Примерами таких систем могут считаться - Сканеры всех видов уязвимостей / SAST/DAST / Code analysis / Hardening / А так же все виды фреймворков для построения защищенных моделей и архитектур безопасности - к примеру ZeroTrust etc
Активные системы
Структура конфигурации Активного Стека Безопасности в компании можно условно разделить на части:
- Endpoint Detection and Response mechanisms
- Network Detection and Response mechanisms
- Security Information and Event Management systems
- Endpoint Detection and Response mechanisms - Должен включать в себя все механизмы которые используются на конечной точке для детектирования и противодействия атакам.
- Antivirus- обширное понятие и технологическое решение которое так же может является совокупностью решений
- Signature-based - классическая модель антивирусного решения которая для обнаружения вредоносных программ использует сигнатурный анализ и базу сигнатур. Другими словами это поиск следов известных вредоносов по базе. Поиск и работа с базой может вестись как по файловым вирусам так и анализу памяти при бесфайловых атаках.
- Behavior-based - модель работы антивирусного решения основанная на поведении. Чаще всего такие модели детектирования работают благодаря технологиям Threat detections & IOC detections
Примечание! Важно понимать что Антивирусы основанные на сигнатурном анализе чаще всего потребляют больше системных ресурсов, но из-за того что у них присутствует база сигнатур они способны проводить файловые проверки (то есть сканировать файловую структуру). Модель же поведения требует меньше системных ресурсов но она перехватывает только текущие взаимодействия и детектирует поведение различных программ и сервисов. Такая модель не может проверить файловую систему - так как ей не с чем сравнивать, она умеет определять что то только в данный момент времени.
- Firewall- Для комплексного подхода к безопасности чаще всего крупные компании используют как Глобальные(сетевые) межсетевые экраны так и Локальные
- Host firewall network-based - данный фаервол это всего лишь реализация межсетевого экрана на уровне операционной системы в сетевом стеке. Может разрешить или запретить доступ к сетевым узлам на глобальном уровне ОС
- Host firewall application-based - реализация межсетевого экрана на уровне операционной системы с привязкой к приложениям. Может управлять доступом к сетевым узлам на глобальном уровне ОС с привязкой к приложению - что значит можно разрешить доступ на 8.8.8.8 только для программы powershell.exe и запретить доступ на 8.8.8.8 для всех других приложений.
- Endpoint Security monitoring (ESM) - Sysmon, Osquery, Sysdig, Ossec(Wazuh), go-audit … - к данному пункту относятся системы которые способны собирать, анализировать журналы событий а так же сопоставлять их с различными правилами для выявления инцидентов безопасности. Так же такие системы называют Security Log analytic, но чаще всего подразумевается всегда одно и тоже - сбор и анализ событий. Если говорить про системы Windows то Обычно требования к данными системам - Мониторинг целостности файловой системы, Мониторинг Реестра, Мониторинг Журналов Событий. Это считается базовым набором и не всегда достаточным.
- Log Collection - NXLOG, OSSEC(WAZUH), winlogbeat, filebeat etc - данные системы участвуют в агрегации событий и централизованном сборе и отправке логов.
Примечание! По сути правильно понимать так ESM системы собирают различную информацию и анализируют а Log коллекторы ее агрегируют и отправляют куда нужно. Очень часто в ESM системы уже встроены Log коллекторы - самый простой пример WAZUH-агент, он может как собирать информацию и анализировать так и отправлять агрегированную информацию. Log коллекторы так же часто выступают как универсальный декодер различных логов - то есть лог коллектор может собрать данные с различных систем и программ в различных форматах уже после их анализа, сконвертировать все логи в единый формат и централизованно передать их дальше в SIEM или другие системы. - Threat Hunting - Платформы типа OTX, Mandiant от Fireeye , IBM-X-Force… Чаще всего они являются частью ESM системы - когда данные полученные ESM системой или EDR системой проверяются на этих платформах. Примером может является хэш сумма скаченного файла которая отправляется на проверку в такую платформу для определения является ли данный файл частью какой либо семьи вирусов. Но так же существуют и решения для конечных точек.
- Response mechanisms - по сути это механизм позволяющий отреагировать на обнаруженный инцидент информационной безопасности. Тут стоит пояснить что Response mechanisms это всего лишь технологическая возможность, которая может быть реализована как в виде автоматического действия так и мануального. Пример - Детектируется сетевой конект на IP адрес с 10 серверов. Автоматический механизм сразу дропнет это соединение сам, мануальный механизм позволит тебе централизованно выполнить действие для отключения этого коннекта. По сути даже удаленная возможность запуска скриптов или выполнения консольных команд - уже может считаться Response mechanisms, подобное решение часто встраивается в платформы комбайны.
- Host HoneyPot - системы позволяющие имитировать уязвимую конфигурацию - и в случае обращения к ней поднимать алерт. На хостовом уровне чаще всего имитируют локальные сервисы которые выглядят как уязвимость для повышения привилегий или подобного - но так же используют и сетевые honeypot - SMB shares / fake AD / fake RDP or SSH / fake Service account for kerberos detections etc..
[/QUOTE]Примечание! Так как в информационной системе всем администраторам заранее известно о HoneyPot - то рядовых обращений к нему быть не может, поэтому любое обращение к Honeypot сразу считается инцидентом и активностью злоумышленника[/QUOTE] - Host Data loss prevention (HDLP) - технология предотвращения утечек конфиденциальной информации из информационной системы вовне, а также технические устройства для такого предотвращения утечек. DLP-системы строятся на анализе потоков данных, пересекающих периметр защищаемой информационной системы. В концепт данного решения входит и анализ ввода текста с клавиатуры / анализ данных по словарям/ анализ использования приложений и даже сетевого трафика и так далее
- Antivirus- обширное понятие и технологическое решение которое так же может является совокупностью решений
- Network Detection and Response mechanisms - сюда чаще всего относят средства выступающие на сетевой стороне защиты.
- DNS-filtering - простой механизм отслеживания DNS запросов и их сверка по базе данных вредоносных dns имен. Чаще всего в NIDS&NIPS системы уже встроены базы данных для DNS детектирования но так же используют и отдельные системы - пример Umbrella / WebTitan / NXfilter
- Network IDS and IPS systems - Zeek (Bro) / Snort / Suricata / Но так же целый огромный рынок таких решений у каждого вендора - системы анализа трафика и определения инцидентов информационной безопасности по паттернам в сетевом трафике. Чаще всего принято разделять NIDS - системы обнаружения вторжений сетевые и NIPS - системы предотвращения вторжений. В классической схеме работы NIDS - это детектор который может работать с разными технологиями - выделение паттернов/ анализ аномалий / работа с различными TI(threat intelligence) платформами (что тоже сводится к получению IOC в трафике и сравнению их с базой ). Очень часто такие системы используют модели Yara base - это фреймворк который позволяет писать rule-based детекторы для анализа. Может применятся как на уровне хост систем в ESM уровне - так и на уровне сетевых детекторов. NIPS же в свою очередь чаще всего реализуется простым скриптом передачи и генерации правил для межсетевого экрана, так же стоит указать что в современном мире IPS чаще всего идет вкупе с Network Antivirus и другими технологиями, в целом это всего лишь дополнение основной задачи данного решения, а именно блокировать что то плохое. В состав IDS-IPS всегда входили различные технологии, которые в последствии стали называться и выделяться в отдельные архитектурные решения, примером тому может быть NTA (Network Traffic Analysis), NDR (Network Detection and Response) и другие названия. Говоря о IDS не стоит строго определять signature-based IDS” and “anomaly-based IDS” - IDS сейчас, это скорее просто название некоего решения в которое входит много различных технологий.
Примечание! Конечно в данном случае это очень утрированное объяснение данного технологического стека, так как NIPS может включать в себя различные дополнительные технологии так и NIDS. В данном объяснении я постарался изложить общую концепцию для общего понимания. - Network HoneyPot - SMB shares / fake AD / fake RDP or SSH / fake Service account for kerberos detections etc…
- Network Data loss prevention (NDLP) - технология предотвращения утечек конфиденциальной информации работающая на сетевом уровне. По сути это та же самая HDLP которая дополнена различными технологиями для сетевого анализа.
- Network Firewall
- Network Firewall - чаще всего может применятся как отдельное решение (сетевая железка), так и в составе маршрутизаторов или другого сетевого оборудования
- Web Application Firewall - может являться как виртуальной железкой, физическим оборудованием, приложением. WAF это совокупность мониторов и фильтров, предназначенных для обнаружения и блокирования сетевых атак на веб-приложение. И хотя WAF относятся к прикладному уровню модели OSI чаще всего его определяют к сетевым мерам безопасности так как WAF работает с помощью анализа трафика веб приложения. WAF часто является частью NIDS&NIPS решений.
Примечание! Межсетевые экраны (Firewall) могут относится к разным уровням модели OSI - управляемые коммутаторы (канальный уровень); сетевые фильтры (сетевой уровень); шлюзы сеансового уровня (circuit-level proxy); посредники прикладного уровня (WAF); инспекторы состояния (stateful inspection) представляющие собой межсетевые экраны сеансового уровня с дополнительными возможностями. В данной статье речь идет о классических решениях применяемых в средствах безопасности а не о классификации в целом.
- Security Information and Event Management systems- SIEM — объединение двух терминов, обозначающих область применения ПО: SIM — управление информацией о безопасности, и SEM — управление событиями безопасности. По сути SIEM системы это централизованные агрегаторы данных и событий. Они способны хранить, отображать , анализировать события полученные со всех источников. Основная цель SIEM системы это единая база данных всех событий что происходят в информационной системе. Основные задачи SIEM систем
- Centralized storage of events - хранение и отображение информации
- Centralized event analysis- анализ информации и событий. Типовые виды анализа:
- Rule-based - вид анализа основанный на создании правил и корреляции событий в соответствии с правилами. Простой пример Event 1 → Event 2 (if in Event 1 contains %WORD%) → Create Alert with Event 2
- Signature-based - вид анализа основанный на базе сигнатур - в этом виде анализа нет обработки по правилам - но все правила проверяются на существования в них определенных паттернов из базы. Примером может служить к примеру анализ IOC - в этом виде анализа нет потока ивентов Event 1-> Event2 , а просто все события проверяются на включения в них определенного значения.
- Anomaly-based - вид анализа основанный на исключительном поведении систем. К примеру самый просто вид Anomaly-based анализа это количественное увеличение числа событий на определенной точке в определенном временном отрезке - В течении месяца на хосте появляется 100 событий, а сегодня 500 - это аномалия.
- Machine-learning - Машинное обучение, вид анализ который относится к отрасли искусственного интеллекта (ИИ). В широком смысле машинное обучение использует алгоритмы искусственного интеллекта, чтобы извлекать уроки из своего опыта с течением времени после первоначального ввода данных. Таким образом, машинное обучение в SIEM использует правила и данные кибербезопасности, чтобы облегчить аналитику безопасности. Проще говоря Machine-learning - это совокупность анализа событий с учетом всех возможных других видов анализа - дополненное искусственным интеллектом который принимает решение основываясь на определенном опыте.
- Response - во многих существующих решениях реализована возможность отклика на событие. По сути это активное действие которое вызывается или срабатывает при детектировании определённого события. Простой пример Wazuh - при обнаружении конекта на вредоносный IP адрес указанный в базе, отправляется команда route null - которая просто создает статический маршрут на этот вредоносный IP адрес через Localhost - таким образом соединение будет разорвано и блокировано.
Превентивные системы
Структура превентивных систем отличается от активных систем, в случае с превентивными системами их основная задача направлена на исправление недочетов самой архитектуры информационной системы компании. Сюда входят следующие группы:
- Vulnerability detection and remediation systems
- Misconfiguration detection systems
- Hardenig
- Code analysis
- Frameworks and practices building a secure architecture
- Vulnerability detection and remediation systems
- Vulnerability detection and remediation systems full stack - OpenVas \ Qualys \ Nessus \ MaxPatrol etc… Данные системы призваны обеспечить комплексный подход к оценке уязвимостей и предоставляют возможности сканирования на разных уровнях и разные системы. По сути это комбайны для глобального подхода. Ремедиация может осуществляться как штатными средствами в компании так и встроенными средствами в сам продукт. Как правило такие системы используют единую базу уязвимостей CVE. Как правило такие сканеры делятся на Agent based и Agentless based. В случае Агента - это программный клиент устанавливающийся на хост, в случае без агентного - это учетная запись с возможностью удаленного доступа которая выдается сканеру для работы.
- WebScanner - OpenVas \ Qualys \ Nessus \ MaxPatrol \ Joomscan \ WPscan \ OWASP \ Netsparker \ Acunetix \ w3af \ BurpSuit , данные системы призваны решить проблему поиска уязвимостей в Веб приложениях. Они позволяют определять не только уязвимости но и проблемы конфигураций веб приложений. Как правило такие системы используют единую базу уязвимостей CVE. Стоит понимать что для правильной оценки веб систем стоит использовать скан без аутентификации, скан с аутентификацией а так же сканирование API . - это разные подходы и не каждый сканер может обладать функцией того или иного вида сканирования.
- NetworkScanner - Как правило это класс сканеров которые обеспечивают проверку защищенности и уязвимостей на сетевом уровне - нужно понимать что чаще всего такие сканеры только ищут уязвимости на сетевом уровне, а для оценки защищенности необходимо применять другой продукт (Misconfiguration detection systems).
- Misconfiguration detection systems - Данные системы призваны находить проблемы в настройках определенного программного или аппаратного комплекса с точки зрения безопасности. Это означает что они не используют базу данных CVE а используют лучшие практики конфигурации для оценки. Такие системы могут быть как часть большого комбайна (Nessus) так и просто отдельными скриптами. Примерами такого решения является Nessus-configuration-scanner / Cisco Secure Scanner etc
- Hardening - Это условное обозначение которое подразумевает приведение системы к достаточному уровню, соответствующему требованиям информационной безопасности. Как правило это различные Best Practice рекомендации для правильной настройки и конфигурации различных систем. Самый распространенный Framework в данном случае это CIS (Center Internet Security), но так же существуют другие рекомендации SANS / NIST etc
- Code analysis - обычно в компаниях в которых существует разработка применяют два вида сканирования
- Static code analysis - статический анализ кода позволяет обнаружить типовые ошибки при разработке программного обеспечения, а так же опечатки. Такие сканеры могут быть реализованы как в виде плагина для репозитория кода, анализатора репозитория с аутентификацией, а так же плагина для IDE. Примеры PVS-Studio \ Veracode \ Blast \ RIPS \ FXcop \ Pychecker - все зависит от языка программирования. Статический анализ, как правило, слаб в диагностике утечек памяти и параллельных ошибок. Чтобы выявлять подобные ошибки, фактически необходимо виртуально выполнить часть программы и такие задачи реализуют динамические анализаторы.
- Dynamic code analysis - это способ анализа программы непосредственно при её выполнении. Отсюда следует, что из исходного кода в обязательном порядке должен быть получен исполняемый файл, то есть нельзя таким способом проанализировать код, содержащий ошибки компиляции или сборки. Динамический анализ выполняется с помощью набора данных, которые подаются на вход исследуемой программе. Поэтому эффективность анализа напрямую зависит от качества и количества входных данных для тестирования. Для анализа кода выполняемого в конкретном приложении или стеке - необходимо собрать и поднять полную конфигурацию и модель стека для ее анализа.
- Frameworks and practices for secure architecture - скорее это набор концепций для осуществления построения безопасной архитектуры информационной системы. Одним из примеров такой концепции может быть модель ZeroTrust. Zero Trust обозначает полное отсутствие доверия кому-либо – даже пользователям внутри периметра. Модель подразумевает, что каждый пользователь или устройство или программа должны подтверждать свои данные каждый раз, когда они запрашивают доступ к какому-либо ресурсу внутри или за пределами сети.