Авторы: Y. Deng, S. Shukla
Источник: Deng Y., Shukla S. A distributed real–time event correlation architecture for SCADA security //International Conference on Critical Infrastructure Protection. – Springer, Berlin, Heidelberg, 2013. – С. 81–93.
Автор перевода: Н.Н. Юрьев
Системы диспетчерского управления и сбора данных (на англ. Supervisory control and data acquisition. SCADA) требуют мониторинга угроз в реальном времени и систем раннего предупреждения для выявления кибератак. Организации типично используют системы обнаружения вторжения для определения события атаки и обеспечения ситуационной осведомленности. Однако, по мере усложнения кибератак сигнатуры обнаружения вторжений отдельных событий перестают быть адекватными. Действительно, эффективное обнаружение вторжений требует корреляции нескольких событий, которые временно и/или пространственно разделены. В статье предлагается инновационный механизм корреляции событий для обнаружения киберугроз, который включает семантическую иерархию событий. Кибератаки низкоуровневых событий обнаруживаются в коммуникационной и вычислительной инфраструктуре и коррелируются для выявления атак более широкого масштаба. В статье также описывается распределенная архитектура для захвата событий в реальном времени, корреляция и распространение. Архитектура использует механизм публикации/подписки, который децентрализует ограниченные вычислительные ресурсы по распределенным агентам для улучшения обнаружения атак в реальном времени ,не смотря на то что, это ограничено излишними коммуникационными затратами.
Ключевые слова: SCADA системы, корреляция событий, пространственно–временная корреляция
Системы диспетчерского управления и сбора данных (SCADA) необходимы для контроля и управления операциями в критической инфраструктуре (например, системы электроснабжения, очистные сооружений, нефте–и газопроводы, транспортные средства и промышленные технологические среды) [12]. Система SCADA использует датчики для мониторинга различных физических величин контролируемой системы и сообщают о них в режиме реального времени мастеру SCADA (или центру управления). Выполнение алгоритма оценки состояния с последующим применением законов управления, выдает импульсы на управляющие входы, которые направляются на полевые устройства для управления настройками исполнительных механизмов. В случае возникновения чрезвычайной ситуации (например, обнаружено ненормальное поведение), система SCADA должна среагировать на них для восстановления системы. Для обеспечения точной и своевременной передачи данных датчиков и управляющих входов в системах SCADA широко применяются передовые методы связи [16].
В большинстве систем SCADA администраторы могут контролировать и управлять данными, генерируемыми полевыми устройствами, даже удаленно из дома. Часто полевые устройства, установленные в отдаленных районах, подключаются к интегрированной сети, что исключает ручное наблюдение и обслуживание устройств. Использование сетевых технологий обеспечивает удобство для системных операторов, производительность для обслуживающего персонала и повышение эффективности для владельцев критически важных инфраструктурных активов.
Однако внедрение передовых коммуникационных и вычислительных технологий повышает уязвимость к кибератакам. Рассмотрим печально известное вредоносное ПО Stuxnet, нацеленное на ядерный перерабатывающий завод в Иране. Stuxnet был разработан с использованием четырех атак нулевого дня и очень сложной функциональностью вторжения. Она распространилась огульно через флэш–накопители и целевое промышленное оборудование Siemens под определенные версии Microsoft Windows [6, 10]. Stuxnet значительно усилил опасения по поводу безопасности SCADA. Между тем, несколько промышленных консорциумов (например, ISAC), агентства по стандартизации (e.g. NIST и NERC) и правительственные учреждения (например, DHS) разработали публикации, в которых излагаются правила, передовая практика и руководящие принципы защиты систем SCADA от кибератак.
В традиционных системах информационных технологий (ИТ) для обнаружения сетевых атак используются системы обнаружения вторжений (СОВ). Однако обнаружение вторжений, связанное с сетями SCADA, должно увеличить или обновить традиционные СОВ, потому что события часто происходят в физической системе. В традиционных ИТ–системах СОВ на основе сигнатур и аномалий, обычно используются для обнаружения вторжений и вредоносного поведения, на основе предопределенных шаблонов атак и отклонений от нормального поведения, соответственно [4, 11, 13]. Хотя СОВ добились большого успеха в традиционных ИТ–системах, есть некоторые неотъемлемые преимущества, когда они используются в системах SCADA. Во–первых, большинство СОВ не предназначены специально для систем SCADA, поэтому они не способны анализировать протоколы связи, специфичные для SCADA. Во–вторых, в зависимости от сценария приложения, количество зарегистрированных событий генерируемых СОВ может значительно отличаться. Например, при нормальных условиях работы события СОВ регистрируются через регулярные заданные интервалы времени, однако во время потенциальных вредоносных событий частота отчетов может значительно увеличиться. В случае системы SCADA подавляющее число событий потенциально может парализовать систему. В–третьих, устаревшие системы SCADA имеют ограниченные вычислительные и коммуникационные ресурсы; в результате СОВ не в состоянии удовлетворить ограничения реального времени, наложенные на системы SCADA. Следовательно, важно конструировать и разработать SCADA–специфические СОВ, которые соответствуют оперативной среде.
В этом разделе описывается архитектура типичной системы SCADA и ее основные характеристики.
Система SCADA–это критически важная система, которая объединяет передовые сетевые, вычислительные и управляющие технологии [19]. Хотя масштаб системы SCADA варьируется в зависимости от среды, как правило, он состоит из трех компонентов: полевые компоненты, компоненты серверной платформы и инфраструктуры связи (Рис. 1).
Полевые компоненты включают удаленные терминальные блоки (УТБ), программируемые логические контроллеры (ПЛК), интеллектуальные электронные устройства (ИЭУ), дистанционные датчики и приводы. УТБ терминальные приборы которые получают измерения от дистанционных датчиков и посылают инструкции к приводам. ПЛК микропроцессорные регуляторы которые могут управлять множеством входных и выходных сигналов. ИЭУ это специфические устройства. В электроэнергетике ИЭУ измеряют напряжение, ток, частоту и информацию о фазе, а также способны отключать автоматические выключатели при обнаружении аномалий или непредвиденных обстоятельств.
Серверные компоненты системы SCADA обычно включают человеко–машинный интерфейс (ЧМИ), центр управления SCADA, серверы приложений, базы данных конкретных приложений и резервные серверы. ЧМИ представляет обработанные данные операторам в читаемой форме. Он может заколебаться от одиночного экрана компьютера к выделенному центру управления для наблюдения тысяч передающих линий на главной электронной утилите. Центр управления SCADA предоставляет собой масштабируемую структуру вычислений в реальном времени. Он собирает оперативные данные с полевых устройств и ретранслирует их на серверы приложений. Серверы приложений реализуют приложения для принятия решений, которые не могут быть выполнены полевыми устройствами (например, оценка состояния ширины области, интеллектуальный сброс нагрузки). Серверы баз данных архивируют измерения и обрабатывают данные, а также предоставляют службы извлечения данных для приложений. Резервные серверы предоставляют службы резервного копирования другим серверам данных для повышения надежности системы.
Инфраструктура связи состоит из маршрутизаторов, коммутаторов и локальных сетей. Данные передаются между центром управления SCADA и полевыми компонентами с заданной скоростью, основанной на производительности внутренней сети в режиме реального времени. В SCADA–системах реализованы различные SCADA–протоколы связи (например, Modbus, DNP3,ICCP, PROFIBUS и IEC 61850) [8]. Сетевая инфраструктура обеспечивает преимущества экономии затрат, времени и рабочей силы, одновременно повышая ситуационную осведомленность и гибкость управления.
В отличие от традиционных ИТ–систем, SCADA–системы требуют повышенной надежности и доступности, производительности в реальном времени, детерминизма, параллелизма и безопасности.
Атрибуты | SCADA системы | ИТ системы |
---|---|---|
Наличие | Чрезвычайно высоко | От низкого до среднего |
Целостность | Очень высоко | От низкого до среднего |
Конфиденциальность | Низко | Высоко |
Идентификация | Высоко | Средне |
Критичность времени | Критично | Задержки допустммы |
Жизненный цикл системы | 15 лет и больше | от 3 до 5 лет |
Сопровождаемость ПО | Редко, неофициально, не всегда документировано | Часто, официально, документировано |
Совместимость | Критично | Не критично |
Протоколы связи | DNP3, ICCP, Modbus, Fieldbus, PROFIBUS, BacNet | TCP/IP, UDP |
Вычислительная мощность | Очень ограниченно на старых микропроцессорах | Нет ограничено на новых процессорах |
Пропускная способность | Ограничено | Очень высокая |
Администрирование | Централизованное / локальное | Централизованное |
Влияние атак на безопасность | Стабильность процесса, повреждение оборудования, влияние окружающей среды, безопасность персонала | Влияние на бизнес |
В этом разделе описывается парадигма публикации/подписки, используемая для корреляции событий.
Как правило, для повышения безопасности систем SCADA применяются индивидуальные методы анализа событий. Событие соответствует деятельности, которая используется для мониторинга, контроля или управления системой. Примеры событий включают процесс загрузки измерений, действие удаленного входа в систему на полевом устройстве и команду модификации, выполняемую системным оператором. Обратите внимание, что большинство операций в системе SCADA генерируют серию событий, а не одно событие.
Например, системный оператор может пожелать проверить рабочее состояние ИЭУ, расположенного на удаленной подстанции, чтобы проверить, нуждается ли устройство в техническом обслуживании. Запрос включает в себя ряд событий, таких как вход в главный компьютер, вызов приложения обслуживания, создание канала связи, вход в удаленное устройство ИЭУ, загрузка данных истории, вызов приложения анализа обслуживания и запись действий в базе данных хронологии. На основе этих действий корреляция событий может быть выполнена для определения поведения системы и выявления коренных причин проблемы или прогнозирования будущих тенденций.
Хотя сложные кибератаки обычно незаметны и их трудно обнаружить, они все равно вызывают аномалии и основные события (например, ненормальные пакеты, необычные попытки входа в систему и внезапное увеличение трафика). Если эти события анализируются индивидуально, трудно определить потенциальные атаки. Однако, используя методы корреляции событий, СОВ может собирать информацию из связанных событий, чтобы идентифицировать, казалось бы, несопоставимые действия атаки. Например, когда система SCADA сообщает о сбое входа в систему, механизм корреляции событий извлекает связанные события, произошедшие в течение указанного периода времени.
Если количество неудачных попыток входа с одного IP адреса или одного региона превышает заданное пороговое значение, то корреляции событий может сообщить о возможной бруте логина.Общий процесс корреляции событий включает в себя четыре этапа, конвейерный поток обработки данных (Рис. 2). На первом этапе создания метаданных распределенные датчики создают необработанные данные. Дистанционные датчики захватывают и измеряют аналоговые сигналы и состояние систем в реальное временя. Обратите внимание, что датчики создают только метаданные без формы, которые обрабатываются полевыми компонентами.
На втором этапе, генерация событий, полевые компоненты генерируют системные события. На этом этапе события генерируются в соответствии с двумя ситуациями. Во–первых, полевые компоненты могут генерировать события, если в метаданных обнаружено ненормальное поведение. Процесс создания событий переупаковывает метаданные в соответствии с предопределенным форматом событий и сообщает о событиях. Во–вторых, полевые компоненты отслеживают физические атрибуты системы во время ее работы. На основе различных требований и конфигураций генератор событий определяет обычные характеристики событий поведения, такие как успешная передача данных.
Третий этап, корреляция событий, реализует механизм корреляции событий в центре управления SCADA. Опираясь на серверы приложений и серверы баз данных, центр управления SCADA собирает все события из распределённых компонентов и использует алгоритмы корреляции для анализа событий.
На четвертом этапе, управление событиями и реакция, механизм корреляции событий отправляет результаты в приложения управления событиями более высокого уровня. Так как события на этом этапе резко уменьшаются, представлены только события высокого риска. Системные операторы, отвечающие за взаимодействие с приложениями, выполняют соответствующие действия в ручном или автоматическом режиме.
На рис. 3 показана архитектура корреляции событий. Движок имеет четыре основных компонента: очередь событий, декодер формата, коррелятор событий, модуль перестановки и вывода.
Когда дисперсные события поступают в механизм корреляции событий, они буферизируются для того чтобы включить одновременную оценку. Поскольку системы SCADA имеют требования в режиме реального времени, для обеспечения адекватного времени реагирования на чрезвычайные ситуации применяется схема приоритетного управления событиями высокого риска. Декодер формата событий затем извлекает эффективные сегменты из основных сообщений о событиях. После извлечения информация отправляется в коррелятор событий для анализа алгоритмами корреляции событий. Коррелятор событий взаимодействует с серверами приложений и серверами данных для облегчения извлечения истории событий. Модуль перестановки событий и вывода переформатирует результаты корреляции, упаковывает статистическую информацию и отправляет ее в приложения более высокого уровня.
Методы корреляции событий объединяют связанные события для оценки. Однако эффективность является проблемой для механизма корреляции событий. Коммерчески доступные корреляционные движки (например, HP ECS, SMARTS и Nerve Center) обычно имеют сложные конструкции и пользовательские интерфейсы [9, 14, 18]. Основная причина заключается в том, что механизм корреляции должен постоянно взаимодействовать с каждым удаленным датчиком. Когда компоненты удаленных полей загружают первичные события на сервер корреляции событий, буферы модуля корреляции событий заполняются первичными событиями, что обычно приводит к исчерпанию ресурсов.
Мы предлагаем парадигму публикации/подписки, показанную на рисунке 4, для повышения эффективности обработки. Ключевым аспектом парадигмы публикации / подписки является интеграция авторизованного процесса сертификации третьей стороной на сервере подписчика событий. Сервер подписчика событий изменяет подключения между модулем корреляции событий и удаленными генераторами событий с прямых подключений на подключения, ориентированные на подписку. Это неинвазивный онлайновый механизм корреляции событий, который предотвращает прерывания удаленных полевых устройств и сервера корреляции событий.
Парадигма публикации / подписки обеспечивает возможность уменьшения всей вычислительной нагрузки на порядок. В этой архитектуре распределенные удаленные устройства считаются издателями событий, а сервер подписчика событий – подписчиком. Консоль событий подписывает необходимую информацию от различных удаленных пользователей, и решения могут приниматься вручную или автоматически. Обратите внимание, что только зарегистрированным событиям издателей, отмеченным звездочками на Рис. 4, разрешается публиковать рутинные события абоненту событий. Это действие уменьшает объем передаваемых данных, что приводит к более эффективному использованию сети SCADA. Кроме того, частичные рабочие нагрузки выделяются удаленным устройствам, что повышает вычислительную производительность сервера корреляции событий.
База данных событий создается и поддерживается в виде двумерной структуры данных для упрощения процедуры интеллектуального анализа событий. Выбираются шаблоны событий, которые должны быть отфильтрованы. В конечном итоге строится группа трехуровневых иерархических потоков корреляции событий:
Для повышения точности корреляции используется двумерный (временной и пространственный) механизм коррелятора событий. Отметим, что в ИТ–инфраструктурах успешно используются темпорально–пространственные методы корреляции событий [2, 7]. Однако существующие методы корреляции событий плохо подходят для систем SCADA из–за требований к срокам и доступности.
На рис. 5 показан двумерный пространственно–временной коррелятор событий. Во временном измерении коррелятор событий отслеживает необычные события в процессе с помощью машины последовательных состояний {E1, E2, . . ., ЭН.} Пока машина состояний соответствует предопределенным последовательным шаблонам правил и достигает конечного состояния Ei, механизм корреляции запускает отчет о событиях для коррелятора. Например, рассмотрим сценарий, в котором коррелятор временных событий отслеживает повторную атаку входа, когда злоумышленник пытается получить доступ к учетной записи. Коррелятор временных событий применяет ограничение на количество неудачных попыток, абстрагируя поведение как переход состояния. Когда машина последовательного состояния достигает конечного состояния, срабатывает сигнал тревоги, указывающий, что поведение вторжения достигло высокого уровня риска.
В пространственном измерении коррелятор событий отслеживает события, происходящие в различных процессах, и строит многомерные векторы {(P1, E1), (P2, E2), (P3, E3),. . ., (Pi, Ej)}. Обратите внимание, что различные процессы могут выполняться на одном процессоре или в разных расположениях. Многие атаки (например, распределенные атаки типа "отказ в обслуживании") требуют скоординированных действий. Если коррелятор должен был обнаружить события индивидуально, это не вызвало бы сигнал тревоги события. Однако предлагаемый пространственный коррелятор событий генерирует индекс для каждого конкретного события и классифицирует их на различные уровни безопасности. Коррелятор пространственно–временных событий автоматически объединяет двумерный процесс в совместную процедуру корреляции, которая определяет приоритеты событий отслеживания.
Мы разработали и внедрили инструменты корреляции событий и интегрировали их в серверную платформу. Экспериментальная система SCADA, показанная на рис. 6, была построена для анализа эффективности системы пространственно–временной корреляции событий публикации / подписки. Экспериментальная система развернула функцию публикации в каждом полевом устройстве. Сервер подписчика событий, сервер корреляции событий и монитор киберугроз были реализованы на главном сервере SCADA. Низкоуровневая связь между главным сервером SCADA и распределенными полевыми сайтами была создана как TCP/IP. Однако, другие SCADA–специфические протоколы как DNP3 и IEC61850 смогли быть реализованы с помощью программных пакетов.. Общность архитектуры позволяет использовать платформу в качестве специализированного SCADA–тестового стенда для оценки уязвимостей сети и последствий кибератак.
Корреляция событий–эффективный механизм обнаружения кибератак. Однако для корреляции событий более высокого порядка требуются подробные сведения о мониторинге более низкого порядка и архитектуре генерации событий. Корреляция данных является важным методом оценки каждого уровня обнаружения атак, от уровня необработанных данных до уровня отчетности. Качество корреляции может быть улучшено путем объединения временных и пространственных свойств события в рамках совместного механизма корреляции. На основе шаблонов проектирования и результатов парадигма публикации/подписки, используемая в сочетании с пространственно–временной корреляцией событий, представляется эффективным подходом для обнаружения атак на системы SCADA. Действительно, мы надеемся, что эта работа будет стимулировать возобновление исследований, посвященных специализированным механизмам корреляции событий для систем SCADA.