Проблемы информационной безопасности в многоуровневых промышленных сетях/инфраструктурах

За прошедшие полвека применение информационных технологий в АСУТП находилось в постоянном развитии и прошло путь от релейной автоматики до комплексных распределенных инфраструктур. Несмотря на то что многие болезни “излишней открытости” промышленных систем начала века (когда системы SCADA и контроллеры подключались к Интернету напрямую) сейчас потихоньку изживаются, тема информационной безопасности становится только более актуальной. Такие извечные проблемы АСУТП, как необновляемое ПО, устаревшая сетевая инфраструктура, отсутствие антивирусного ПО, ПО обнаружения вторжений, отсутствие и/или слабая аутентификации/авторизация, давно известны и даже успели надоесть своим постоянством. Сейчас многие предприятия уже успешно справились с большей частью этих проблем, но нужно понимать, что основные угрозы современным промышленным системам — впереди.

Рассмотрим типичную современную АСУТП с точки зрения ИТ-специалиста, и перед нами окажется сложная распределенная инфраструктура. На верхнем уровне — механизмы взаимодействия с бизнес-приложениями в КИС, в частности с ERP-системами. Непосредственно между КИС и промышленной инфраструктурой находится подсистема MES. Именно она является прослойкой между бизнес-процессами и промышленными процессами. Уровнем ниже расположены SCADA-системы и, возможно, серверы OPC (OLE for Process Control), системы управления активами (AMS, asset management system). Все они с применением обычных сетевых средств (Ethernet, Wi-Fi и др.), а также при помощи промышленных шин взаимодействуют с промышленными контроллерами (PLC). В свою очередь, к промышленным контроллерам подключены датчики, системы управления на микроконтроллерах, средства ввода-вывода и другие инструменты непосредственного контроля и управления промышленными процессами. При этом угрозы безопасности могут быть на каждом из уровней этой сетевой гетерогенной инфраструктуры.

Весьма популярным (и ошибочным!) утверждением относительно безопасности АСУТП является постулат о том, что если система не подключена к Интернету и слабо взаимодействует с КИС, то угроза может исходить только от инженеров системы. Ошибка состоит в том, что современные промышленные распределенные инфраструктуры используют множество технологий из самых различных областей ИТ, и в одной системе могут пересекаться как компоненты ActiveX и сервисы на основе .Net и SOAP, так и промышленные протоколы ModBus, ProfiNET и другие. Атака может произойти в любой точке данной системы.

Ярким примером того, что защита необходима на каждом из уровней промышленной инфраструктуры, является инцидент в австралийской компании Marochy Water Services (MWS), когда ее бывший сотрудник с помощью ноутбука и радиопередатчика подключался напрямую к водяным помпам предприятия и сливал воду. Это продолжалось несколько месяцев, пока наконец инженеры компании не смогли понять, в чем дело. Важным уроком этой атаки является то, что сама промышленная сеть предприятия не была подключена напрямую к Интернету и была “вроде бы безопасной”.

Разберем основные угрозы АСУТП на каждом из уровней распределенной инфраструктуры. На самом нижнем уровне основную слабость системы представляют линии связи между PLC и датчиками, средствами ввода-вывода и другими компонентами. Поскольку на больших промышленных предприятиях системы контроля и системы управления могут быть территориально разделены, то линии связи могут проходить по слабо защищенным территориям. В некоторых случаях в качестве линий связи используются беспроводные технологии (как в инциденте в MWS), и тогда задача атакующего еще более упрощается.

Рассмотрим гипотетический пример промышленной инфраструктуры, обслуживающей нефтяные скважины в пустыне. В типовой системе различные датчики и системы контроля непосредственно на месторождении общаются с PLC в центре управления посредством беспроводных протоколов на базе IEEE 802.15.4 и других технологий. Расстояние между месторождением и центром управления может быть достаточно значительным. Злоумышленник, используя направленную антенну, может прослушивать и подделывать трафик между датчиками и PLC. Казалось бы, что подделка показаний одного или нескольких датчиков не может серьезно угрожать безопасности. Но если в PLC не проверяется корректность получаемых от датчиков данных (а так происходит в большинстве случаев), то дальнейший вектор атаки может проходить через компрометацию PLC (посредством переполнения буфера через ошибки в реализации протокола). Вариаций и производителей PLC очень много, а серьезных исследований безопасности этих контроллеров на сегодняшний день мало, поэтому вероятность наличия уязвимостей в механизмах общения PLC с внешним миром высока.

Если атакующий (например, при помощи компрометации контроллера или каким-либо образом подключившись к линиям связи) получит доступ на уровень SCADA/OPC/ASM, то перед ним откроются широкие возможности как по взятию под контроль всего производственного процесса, так и по проникновению в КИС. Во-первых, завладев управлением одним контроллером, атакующий может попытаться получить контроль над соседними, используя как уже упомянутые уязвимости в реализациях промышленных протоколов, так и особые “свойства”, например отсутствие механизмов аутентификации в некоторых из них. Кроме того, злоумышленник может развить атаку на верхние уровни, как путем непосредственной компрометации систем SCADA/OPC/ASM (многие из которых также не применяют никаких методов защиты или фильтрации от некорректных данных со стороны PLC), так и с помощью проникновения на более верхние уровни. Скажем, используя некорректный информационный пакет, можно вызвать SQL-инъекцию в системе SCADA; или через OPC опять же вызвать инъекцию в другой SCADA-системе или в MES. Внедряя специализированные конструкции языка XML в данные, которые передаются системе ASM, можно получить XXE-атаку на подсистему MES, которая находится на уровень выше, чем непосредственно взаимодействующая с PLC система ASM.

Получив доступ к системе ASM или SCADA-системе, атакующий может попытаться компрометировать как нижележащие уровни инфраструктуры, так и подсистему MES или ERP-систему. Что в дальнейшем приведет к проникновению в КИС. Как видно, тесная внутренняя интеграция в промышленных системах позволяет атакующему, получив контроль хотя бы над одним узлом или одной линией связи, развить атаки на соседние системы вплоть до проникновения в корпоративный сегмент сети. Чего стоит только фраза одного из “черных шляп”: “В эту DMZ проще проникнуть, взломав их SCADA”.

Какие следует сделать выводы из всего сказанного выше? Современные инфраструктуры АСУТП являются комплексными сетевыми распределенными системами, и все годами выработанные средства атаки и защиты к ним также применимы. Реализуя защищенную промышленную инфраструктуру нужно помнить о следующих важных моментах:

  • физические ограничения доступа к линиям связи (как к обычным сетевым линиям, так и к промышленным системам передачи данных) являются критичными и не менее важными, чем ограничение физического доступа к оборудованию;
  • необходимы системы контроля и фильтрации некорректных данных в промышленных сетях;
  • механизмы и системы связи между уровнями инфраструктуры должны быть сведены к минимуму и хорошо защищены, дублирование — важная вещь в промышленных системах, но излишнее дублирование может привести к возникновению уязвимостей;
  • механизмы аутентификации, авторизации и шифрования при доступе к данным должны распространяться не только на пользователей, но и на взаимодействие между приложениями;
  • обновление программного обеспечения контроллеров и серверов, антивирусных баз и баз систем обнаружения вторжений по-прежнему необходимо.

При этом нельзя не отметить важность аудита промышленных систем. Необходимо проводить аудит не только всей инфраструктуры и её внутренних связей, но и, по возможности, не забывать про тестирование на проникновение и глубокий анализ безопасности различных элементов инфраструктуры — от ERP- и SCADA-систем до PLC и датчиков.

Автор статьи — аудитор ИБ в Digital Security