Что такое SIEM?
Системы SIEM (Security information and event management) происходят от двух классов продуктов: SIM (Security information management) — управление информационной безопасностью и SEM (Security event management) — управление событиями безопасности. Одно из первых упоминаний о SIEM было в 2005 году от аналитиков Gartner.
На практике данные продукты пересекаются по функциональному назначению, и, порой, при определённых настойках могут в значительной мере выполнять функции друг друга.
Производители SIEM иногда разделяют данный класс продуктов на SIEM первого и второго поколения (это можно рассматривать как маркетинговый приём). Как правило, под вторым поколением специалисты понимают более многофункциональный инструмент с возможностью интеграции со сторонними продуктами (системы управления политиками ИБ, c Threat Intelligence платформами, функции Network Behavioral Analysis и др.).
Использование SIEM второго поколения с функциями Threat Intelligence, в частности, предлагает сервис AMTSOC. Данная интеграция позволяет создавать корреляционные правила с критерием поиска в виде обновляемых в TI баз индикаторов. Это существенно повышает эффективность корреляции, превращая статическую корреляцию в динамическую.
Функциональные задачи SIEM
Сбор данных и нормализация: обеспечивается сбор данных (как событий ИБ, так и системных событий) от разнообразных источников: технические средства информационной безопасности (межсетевые экраны всех типов, системы предотвращения вторжений, антивирусы, системы защиты от спама, системы защиты от утечек данных, системы предварительного выполнения программ, контроля целостности и т. д.), серверы, прикладные системы и т. д.
Корреляция данных: сопоставление и поиск по атрибутам, группирование и индексирование по определенным признакам. По сути корреляция является ключевой функцией SIEM, выдающей на выходе список коррелированных событий;
Оповещение: проверка списка коррелированных событий с целью выявить инциденты ИБ и выполнить оповещение по данным инцидентам. Возможна как индикация на консоли управления SIEM, так и автоматизированное уведомление по сработанным корреляционным правилам.
Панели визуализации (dashboards): графики различных типов и форматов, таблицы, списки и другая визуализация по текущим событиям и инцидентам. Визуализация в значительной мере влияет на общее восприятие продукта и является важным элементом процесса Incident Monitoring/Tracking.
Хранение данных: хранение данных в течение заданного периода времени. Необходимо для ретроспективного анализа, расследований инцидентов, экспертиз. Большинство современных SIEM обрабатывают и хранят как сырые события (до процесса осуществления распознавания функциональных полей события (анг. — parsing), так и нормализованные события (события с распознанными полями).
Поиск и анализ: контекстный поиск в рамках расследований инцидентов и экспертиз
Важно отметить, что поиск в сырых и нормализованных событиях может существенно отличаться.. Отчетность: создание настраиваемых отчетов с целью периодического информирования службы ИБ о текущих событиях, инцидентах, трендах
Как правило, отчеты могут выгружаться и использоваться в рамках комплексных отчетов служб ИБ.
Отчетность: создание настраиваемых отчетов с целью периодического информирования службы ИБ о текущих событиях, инцидентах, трендах. Как правило, отчеты могут выгружаться и использоваться в рамках комплексных отчетов служб ИБ.
Каковы основные задачи и возможности современных SIEM-решений?
На сегодняшний день сложно переоценить роль SIEM в мире ИБ. Фактически, это центральный элемент любой SOC-инфраструктуры. Можно сказать точно, что без SIEM невозможно эффективное функционирование ни одной комплексной системы ИБ.
Задача SIEM номер один – регистрация инцидентов в режиме Real-Time.
Задача SIEM номер два – предоставить удобный и функциональный инструмент для ретроспективного анализа инцидентов, расследования инцидентов.
Современный SIEM, по сути, уже должен содержать в себе Big Data технологии, обрабатывающие события ИБ как некий интенсивный поток телеметрии. От SIEM требуется как скорость, так и удобство – потому что это основной инструмент аналитики ИБ, предназначенный для расследования инцидентов, поиска следов таргетированных атак (Threat Hunting).
Тренды развития SIEM идут в сторону добавления функций Machine Learning и поведенческого анализа, что позволяет передать на откуп автоматизации все больше и больше рутинных задач Incident Monitoring, Forensic, Investigation. На практике это позволит обнаруживать не только предопределенные вручную инциденты, но и приблизиться к автоматизации процесса создания правил корреляции, что является ключевой и самой сложной задачей при настройке и поддержке SIEM (особенно на больших внедрениях).
Какие компоненты входят в состав SIEM?
Состав и реализация существенно зависят от архитектуры решения, размера внедрения, географического распределения системы, параметров производительности.
Как правило, для реализации всех базовых функций в SIEM должны присутствовать несколько основных компонентов.
Коллекторы: отвечают за сбор сырых событий. Могут поддерживать массу различных протоколов и сервисов: Syslog, Windows Event Forwarding, SDEE, SNMP Trap, клиентов баз данных (MSSQL, Oracle и т. д.) и другие специфичные сервисы от разных производителей.
Сам сбор событий может происходить как в пассивном режиме (например, syslog), так и в режиме «по запросу». Коллектор чаще всего отправляет нормализованные события в коррелятор, а сырые события отправляются в хранилище данных. В различных реализациях от разных производителей схема взаимодействия коллектора с другими компонентами может отличатся.
Хранилище данных: отвечает за хранение сырых событий. Возможны реализации с хранением нормализованных событий.
Коррелятор: обеспечивает функции обработки и корреляции нормализованных событий. Возможна реализация контекстного поиска сырых событий, находящихся в хранилище.
Консоль управления: отвечает за управление, настройку и визуализацию. При этом, в ряде случаев, функция визуализации может выполняться отдельной компонентой.
Упомянутые SIEM второго поколения могут содержать также дополнительные компоненты: сбор Flow и SPAN-трафика, BI-компоненты, TI-модуль, модули защиты от фрода, управления политиками ИБ.
Как было сказано выше, на практике архитектура внедрения определяющим образом влияет на количество компонент и их реализацию. Например, в малых реализациях почти все функции могут быть выполнены на одном аппаратном устройстве, тогда как масштабирование предполагает максимальное разделение.
Перехват обработчиков событий и собственные обработчики в модулях форм
Перехват любых методов в этих модулях тоже выполняется точно так же, как было описано в начале. Однако и тут есть особенности, связанные с перехватом обработчиков событий. Эти особенности связаны с тем, что в этих модулях все обработчики событий назначаемые, и не имеют фиксированных имён. Как вы наверняка знаете, чтобы платформа понимала, чем нужно обрабатывать то или иное событие, в конфигураторе, в панели свойств, должна существовать привязка конкретной процедуры к конкретному событию.
Именно по этой причине и только при перехвате обработчиков событий в форме, вам нужно использовать не аннотации, а палитру свойств. Хотя любые другие методы модуля, не являющиеся обработчиками событий, вы можете перехватывать с помощью аннотаций.
Внешне перехватчик события в модуле формы выглядит следующим образом:
То есть аннотация не используется, а тип перехватчика указывается в палитре свойств. Делается это довольно просто. При создании в расширении обработчика по кнопке «лупа» открывается диалог. Он позволяет вам, помимо контекста, указать тип перехватчика (Перед, После или Вместо).
После создания заготовки процедуры в палитре свойств, рядом с именем перехватчика, появляется иконка, отображающая тип перехвата.
Если вы перекрываете типовой обработчик (Вместо), то это будет просто точка.
Если вы создаёте перехватчик Перед или После, то это будет точка рядом с вертикальной чертой. Местонахождение точки, перед или после черты, обозначает тип перехватчика. А кроме этого в палитре свойств появляется второе (пустое) поле рядом с этим событием. С его помощью вы можете задать парный перехватчик, если есть необходимость обрамить типовой обработчик парой Перед — После.
Перехватчики событий, заданные таким образом, будут работать и в том случае, если типовой обработчик этого события отсутствует. Именно таким образом вы можете назначать собственные обработчики тем событиям формы, которые не обрабатываются в типовой конфигурации.
Говоря о модулях форм нужно сделать ещё одно небольшое замечание. Мы немного изменили поведение модулей, расширяющих модули форм, которое существовало ранее. Для того чтобы оно соответствовало поведению остальных модулей, и обеспечивало стабильность программного кода.
Прежде все модули, расширяющие модуль формы, и сам модуль формы, находились в одном пространстве имён. Таким образом, существовала возможность из верхнего расширения вызывать не только методы типовой конфигурации, но и методы лежащих ниже расширений. Теперь мы эту «лазейку» закрыли, и методы лежащих ниже расширений больше недоступны. Теперь вы можете обращаться только к методам, содержащимся в том типовом модуле, который вы расширяете.
Как настроить BitLocker
Теперь можно включать, настраивать и использовать BitLocker. На Панели управления → Система и безопасность → Шифрование диска BitLocker и нажмите кнопку Включить BitLocker, чтобы включить его для диска.
Сначала появится запрос на выбор способа разблокировки диска, когда ваш компьютер загружается. Так как у вас нет доверенного платформенного модуля, Вы должны либо вводить пароль при каждой загрузке компьютера, либо предоставлять флэш-накопитель USB. Если вы предоставляете USB флэш-накопитель, Вам нужно каждый раз подключать флэш-накопитель к компьютеру, чтобы получить доступ к файлам.
Далее через программу настройку шифрования BitLocker сохраните ключ восстановления шифрования диска. Остальная часть процесса совпадает с обычным процессом запуска BitLocker.
Когда ваш компьютер загрузится, вам придется либо ввести пароль, либо вставить USB-накопитель, который вы предоставили. Если Вы не можете предоставить пароль или USB-накопитель, BitLocker не сможет расшифровать ваш диск и Вы не сможете загрузиться в вашу систему Windows и получить доступ к файлам.
Последовательность вызовов при перехвате методов
Здесь, прежде чем рассказывать, необходимо сделать небольшое пояснение
Важной, можно сказать, «идеологической» характеристикой расширений является их автономность. То есть расширения должны проектироваться так, чтобы не зависеть друг от друга.
Но при работе приложения, естественно и очевидно, существует некоторая последовательность вызова подключенных расширений. Эта последовательность известна и сейчас мы о ней расскажем. Но расскажем мы не для того, чтобы на её основе вы создавали взаимозависимые расширения, или расширения, подразумевающие единственную жёстко определённую последовательность подключения. А для того, чтобы вы могли разбирать возникающие проблемы и отлаживать программный код.
Когда вы подключаете расширения к типовой конфигурации, образуется «многослойный пирог». В основании этого пирога находится типовая конфигурация, а на его вершине – последнее подключенное расширение.
Что в конфигураторе, что в режиме 1С:Предприятие, последнее подключенное расширение находится в списке последним.
Таким образом, в этом примере внизу находится типовая, наверху находится Расширение2, а между ними – Расширение1. Каждое следующее расширение перехватывает (расширяет) то, что находится под ним.
Когда платформа сталкивается с перехватчиками, определёнными в расширениях, процесс исполнения встроенного языка идёт сверху вниз этого пирога, в соответствии с аннотациями, которые есть у перехватчиков. До того уровня, до которого он может дойти. После этого он возвращается наверх, если есть перехватчики, и уходит снова в типовую конфигурацию.
Пример 1
Например, если в двух расширениях перехвачен (обрамлён) один и тот же типовой метод, то последовательность вызова обработчиков будет следующая:
- Сначала будет вызван перехватчик из Расширения2, потому что оно сверху. Это будет перехватчик &Перед, потому что у него такая аннотация;
- Затем будет вызван перехватчик из Расширения1, потому что оно следующее в пироге. Это будет снова &Перед, потому что у него такая аннотация;
- После этого будет вызван типовой метод, потому что больше нет перехватчиков, препятствующих его исполнению;
- Затем, в обратной последовательности «пирога», будут вызваны перехватчик &После из Расширения1 и перехватчик &После из Расширения2.
На этом примере можно хорошо понять следующую особенность: если в одном из перехватчиков возникает необработанное исключение, то вся цепочка прерывается, и исключение продолжает распространяться.
Пример 2
Если в перехватчиках используется метод ПродолжитьВызов(), то действует тот же самый принцип «пирога».
- Сначала будет вызван перехватчик из Расширения3, потому что оно сверху. Это будет перехватчик &Вместо, потому что у него такая аннотация;
- При попытке вызвать типовой метод, будет анализироваться оставшийся «пирог». Анализироваться он будет точно таким же образом, как было описано в предыдущем примере;
- В результате исполнение кода вернётся в перехватчик &Вместо, а по его завершении – в типовую конфигурацию.
Пример 3
Важным для понимания моментом является тот факт, что при перекрытии с помощью аннотации &Вместо, по факту перекрывается не только вызов основного метода, но также и перехватчиков, находящихся ниже в «пироге».
В этом примере будет выполнен только перехватчик &Вместо из Расширения2. Потому что он перекрывает собой типовой метод, то есть весь «пирог», который находится под ним.
Пример 4
Это, по сути, вариация на тему второго примера, но когда под верхним расширением находится расширение, также «прокидывающее» вниз вызов типовой процедуры.
По сути, он просто лишний раз визуализирует тот факт, что вызов типового метода относится ко всему «пирогу», находящемуся под расширением. Именно поэтому после вызова перехватчика из Расширения2, будет вызван перехватчик из Расширения1. Потому что в оставшемся «пироге» именно он перекрывает вызов типового метода, до которого хочется «дотянуться» Расширение2.
Общие модули
В расширении вы можете создавать любые собственные общие модули. Существует только два ограничения:
- Они не должны быть глобальными серверными;
- Они не должны быть привилегированными.
Когда вы расширяете общий модуль типовой конфигурации, тоже есть аналогичные ограничения:
- Нельзя заимствовать глобальные серверные модули;
- Код из вашего расширения будет исполняться только в непривилегированном режиме (если иное не разрешено в профиле безопасности).
Сама операция заимствования глобального серверного модуля не запрещена в дереве конфигурации, но на этапе обновления конфигурации базы данных вы получите ошибку, и обновление выполнено не будет.
На какие особенности внедрения SIEM нужно обращать внимание прежде всего?
Правильно настроенный и поддерживаемый SIEM – это мозг системы ИБ, но задача обучения этого мозга требует очень хорошего уровня экспертизы специалиста и хорошо поставленных процессов ИБ.
Поэтому вопрос номер один, который нужно задавать при принятии решения об использовании SIEM – насколько квалификация службы ИБ и текущая зрелость процессов ИБ позволят корректно и эффективно использовать этот инструмент. Если очевидно, что нет возможности поддерживать самостоятельно SIEM, и он будет «греть воздух», то тратить большие бюджеты на SIEM – совсем неоптимальный шаг. В этом случае стоит рассмотреть вариант аутсорсинга функции мониторинга и расследования инцидентов – например, посредством подключения услуг коммерческого SOC. Порой за цену техподдержки SIEM можно получить, в рамках коммерческого SOC как сам инструмент, так и экспертизу. При этом SLA может предполагать круглосуточный режим поддержки.
Второй вопрос – задачи масштабирования системы
Крайне важно предусмотреть такую архитектуру, которая будет способна обработать поток событий как в пиковые часы, так и в среднем. При этом необходимо распределить нагрузку на компоненты, при необходимости обеспечив балансировку данной нагрузки и выполнять рутинную обработку как можно ближе к источникам
Третий вопрос – обеспечение надежности SIEM. Может заключатся как в дублировании компонент для отказоустойчивости, так и в дублировании по регионам для катастрофоусточивости.
Четвертый вопрос – срок хранения событий и их защита для возможности ретроспективного анализа в течение необходимого периода времени и для минимизации риска компрометации/потери данных.
Пятый вопрос – наличие необходимых коллекторов и парсеров «из коробки». Хорошо адаптированный текущий список источников в SIEM позволит в будущем избежать массу рутинных операций и доработок.
Шестой вопрос – соответствие текущим требованиям законодательства, регуляторов, отраслевых и корпоративных стандартов. Например, недавно принятый Федеральный Закон «О безопасности критической информационной инфраструктуры Российской Федерации», а также некоторые требования регулятора, могут предписывать использовать сертифицированный ФСТЭК SIEM.
Ответы на эти вопросы позволят подобрать подходящий вариант использования SIEM. В то же время, решение, сочетающее оптимальные параметры по каждому из указанных вопросов, может предложить сервис AMTSOC. Его услуга базируется на трех компонентах: функциональный SIEM с хорошим уровнем зрелости, глубокая экспертиза команды по данному решению и наличие конкурентоспособной MSSP-модели продаж.
Каковы особенности эксплуатации SIEM-решений? Требуется ли поддержка?
Фактически в любой реализации SIEM необходимо тесное взаимодействие с Tier2 и Tier 3 службами техподдержки: вопросы парсинга, вопросы срабатывания корреляционных правил, нюансы визуализации и отчетности, стабильность работы компонент, поддержка кодировок, вопросы сертификации, вопросы миграции и обновлений, восстановлений после сбоев.
В итоге сложно представить эффективную работу SIEM на более-менее развитой ИТ-инфраструктуре без хорошо отлаженного взаимодействия с технической поддержкой производителя.
Например, в сервисной модели AMTSOC задачу взаимодействия с производителем SIEM берет на себя оператор данной экспертной услуги.
Как выбираются источники данных для SIEM?
В идеальной ситуации чем больше источников событий – тем меньше вероятность пропустить важное событие и не идентифицировать значимый инцидент, получив так называемую ошибку второго рода (False Negative). Но практика говорит о том, что при очень больших потоках событий возрастает вероятность ошибок первого рода (False Positive) – поскольку обработка бо́льшего количества событий приводит к усложнению задачи написания комплексных корреляционных правил и процесса фильтрации этих самых ошибок
Не говоря уже о том, что обработка дополнительных событий может серьезно увеличить стоимость решения.
Но практика говорит о том, что при очень больших потоках событий возрастает вероятность ошибок первого рода (False Positive) – поскольку обработка бо́льшего количества событий приводит к усложнению задачи написания комплексных корреляционных правил и процесса фильтрации этих самых ошибок. Не говоря уже о том, что обработка дополнительных событий может серьезно увеличить стоимость решения.
Специалисты AMTSOC рекомендуют при выборе списка источников на первых этапах фокусироваться на технических средствах защиты информации, системах аутентификации и авторизации, и ИБ событиях с прикладных систем. И далее, в процессе развития и повышения зрелости службы ИБ и службы SOC, подключать все больше и больше системных событий, в т. ч. для отработки результатов процесса Threat Hunting (например, поиска в событиях прошлого следов третированных атак и создания корреляционных правил для идентификации таких атак в реальном времени).
Иногда лучшие практики рекомендуют «обрезать» объем событий посредством определения важности (severity) и конкретных модулей-источников (facility).
Подобные приёмы также используют и для сохранения производительности SIEM.
Как использовать BitLocker без модуля TPM
Вы можете обойти это ограничение с помощью групповой политики. Если ваш компьютер присоединен к домену, то настройку групповой политики должен выполнить администратор сети. Если Вы просто делаете это на своем компьютере, и он не присоединен к домену, Вы можете использовать локальный редактор Групповой политики, чтобы изменить параметры собственного компьютера.
Чтобы открыть локальный редактор Групповой политики, нажмите Win + R на клавиатуре, введите gpedit.msc в диалоговом окне и нажмите клавишу ОК или Enter.
Перейдите к политике Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Шифрование диска BitLocker → Диски операционной системы.
Дважды щелкните параметр «Требовать дополнительную проверку подлинности при запуске» в правой панели.
Выберите «Включено» в верхней части окна и убедитесь, что установлен флажок Разрешить BitLocker без совместимого доверенного платформенного модуля (требуется пароль или ключ запуска на флэш-накопителе USB).
Нажмите OK, чтобы сохранить изменения. Теперь можно закрыть окно редактора Групповой политики. Ваше изменение вступает в силу немедленно – Вам даже не нужно перезагружаться.
Что лучше, &Перед, &После или &Вместо?
Когда вы перехватываете методы типовой конфигурации, всегда полезно помнить о двух вещах:
- После того, как вы написали своё расширение, типовая конфигурация будет изменяться;
- Ваша цель – добавить свою функциональность, а не навсегда отказаться от того, что есть, и что будет в типовой конфигурации.
С этой точки зрения наиболее предпочтительным является использование перехватчиков &Перед и &После. Потому что с ними перехватываемый типовой метод будет выполнен всегда, без каких либо условий. И если разработчики типовой конфигурации позже внесут в этот метод изменения, эти изменения обязательно отработают и при использовании вашего расширения.
Также вполне приемлемым является использование перехватчика &Вместо и метода ПродолжитьВызов(). Однако тут у вас появляется возможность и соблазн вызывать типовой метод не всегда, а в зависимости от каких-то своих собственных условий
К этому нужно подходить осторожно и помнить, что в тот момент, когда вы отказываетесь от вызова типового метода, вы отказываетесь от вызова не только того метода, который есть в конфигурации сейчас, но и от всех его вариантов, которые появятся в будущем. А в будущем, например, в нём могут появиться важные и полезные изменения.
И, наконец, самый «нехороший» вариант – это полное перекрытие типового метода перехватчиком &Вместо. В этом случае типовой обработчик безусловно не будет выполняться ни сейчас, ни в будущих версиях. То есть всю ответственность за работу будущих версий конфигурации вы берёте на себя, на своё расширение
Наверняка есть ситуации, когда такое полное перекрытие необходимо, но мы призываем вас подходить к его использованию очень взвешенно и осторожно.