Русский
Русский
English
Статистика
Реклама

Плк

Как атаковали промышленную инфраструктуру на The Standoff анализ трафика с помощью PT ISIM

25.02.2021 18:11:56 | Автор: admin

На прошедшем The Standoff эксперты PT Expert Security Center, в данном случае представляющие команду глобального SOC киберполигона, мониторили действия команд атакующих и защитников цифровой копии мегаполиса FF, противостояние проходило в режиме реального времени и длилось 123 часа. Ранее мы писали о том, как глобальный SOC следил за всем происходящим в инфраструктуре виртуального города, как отдел обнаружения вредоносного ПО вылавливал и исследовал троянские программы редтимеров с помощью песочницы PT Sandbox и как мы следили за всеми веб-ресурсами киберполигона с помощью PT Application Firewall. Теперь поговорим о защищенности технологических сетей объектов виртуального города и результатах мониторинга, проведенного с помощью системы глубокого анализа технологического трафика PT Industrial Security Incident Manager (PT ISIM).

В этой статье мы расскажем о том, какие атаки на технологический сегмент сети объектов города детектировала система, и отметим, насколько эти угрозы соответствуют реальному уровню защищенности промышленных систем.

Что атаковали на The Standoff

Макет города на киберполигоне The Standoff включал в себя цифровые копии объектов инфраструктуры, управляемые настоящими SCADA-системами и ПЛК: точно такие же устанавливают на реальных предприятиях. Вот элементы и объекты, которые могли атаковать участники соревнований от read teams:

  • системы управления стрелками и шлагбаумами на железной дороге,

  • багажная лента в аэропорту,

  • телескопический трап в аэропорту,

  • кран в морском порту,

  • HVAC делового центра,

  • колесо обозрения в парке развлечений,

  • светофоры в деловом центре,

  • уличное освещение,

  • подстанция (электричество всего города),

  • задвижки автоматизированной газораспределительной станции,

  • турбина ТЭЦ,

  • шкаф пожарной автоматики ТЭЦ,

  • ветрогенераторные установки на электростанции,

  • системы управления производством на нефтехимическом заводе,

  • системы управления добычей нефти.

Теперь рассмотрим самые интересные, как нам кажется, атаки, которые глобальный SOC The Standoff детектировал с помощью PT ISIM.

Остановка добычи нефти

Команды Back2oaz и Сodeby смогли успешно атаковать компанию Nuft, которая в рамках модели города управляла нефтедобывающим месторождением. Участники red teams получили доступ к серверу SCADA и отправили команды по специализированному промышленному протоколу, что привело к аварии остановке процесса добычи нефти. В реальности реализация такого бизнес-риска привела бы к репутационному ущербу, недополучению прибыли и падению рыночной стоимости компании.

Цепочка развития атаки выглядела так:

  1. Неавторизованное подключение по RDP от узла из сегмента серверов 172.20.61.2 к серверу SCADA 172.20.22.11 (время 01:30). На данном этапе был получен доступ к SCADA-системе.

  1. Подача команды управления по протоколу CIP от сервера SCADA 172.20.22.11 к ПЛК 172.20.23.11 (09:02). На данном этапе выполнялся перебор различных команд управления (команды подавались в разные области, в том числе в проприетарные: 0x349, 0x68 (SFC Forces), 0x6b (SymbolObject)). Это может говорить о том, что атака выполнялась с помощью инженерного или специализированного атакующего ПО.

Подключение по RDPПодключение по RDPПеребор команд CIPПеребор команд CIPИнцидент об управляющем воздействииИнцидент об управляющем воздействии

В данном случае имело место управляющее воздействие по протоколу CIP. При этом атакующие, судя по всему, подбирали команды вслепую. Защитники в этой ситуации должны были предпринимать активные действия уже на предыдущих, ранних этапах атаки, которые были обнаружены с помощью MaxPatrol SIEM, PT Sandbox, PT NAD и PT ISIM. Естественно, по условиям учений производилось только наблюдение. После проникновения в сегмент АСУ ТП у защитников было очень мало времени для реакции на данную атаку, потому что со стороны наблюдателя все выглядело вполне легитимно: с управляющего АРМ или со SCADA-сервера подается легитимная команда на остановку или на изменение уставки.

В данном случае можно было бы рассчитывать на механизм белых списков команд протокола, при использовании которого подбор команд злоумышленниками был бы обнаружен. Опять же, если нарушитель владеет данными об атакуемом объекте, то он не будет заниматься перебором, а сразу отдаст опасную команду. В реальной жизни пока чаще встречаются сбои в работе систем и, как следствие, прохождение в сети опасных команд или данных, что удается выявить с помощью систем непрерывного анализа технологического трафика и уже упомянутых белых списков.

Запредельные обороты колеса обозрения

Была в городе FF и компания 25 Hours, которая по сценарию владела парком развлечений. Ей пришлось столкнуться с атакой команды Back2oaz, в ходе которой был осуществлен удаленный доступ к серверу SCADA и отправлены команды по специализированному промышленному протоколу. Это позволило спровоцировать аварийную ситуацию атакующие получили доступ к системе управления колесом обозрения и увеличили скорость вращения аттракциона до максимальной, что привело к падению колеса.

Атака развивалась следующим образом:

  1. Неавторизованное соединение TCP от узла 172.17.61.17 к серверу SCADA 172.17.22.11 (03:29). Вероятнее всего, это была разведка.

  2. Неавторизованное соединение по протоколу SMB от узла 172.17.61.17 к серверу SCADA 172.17.22.11 (06:06). Поиск файлов на общем ресурсе с целью найти чувствительную информацию или подсказки по дальнейшему подключению. Кроме того, на этом этапе может оставляться полезная нагрузка для дальнейшей эксплуатации.

  3. Неавторизованное подключение RDP от узла 172.17.61.17 к серверу SCADA 172.17.22.11 (08:07). Получен доступ к SCADA-системе.

  4. Изменение параметров или подача управляющего воздействия на мнемосхеме, вызвавшая отправку команды управления от сервера SCADA 172.17.22.11 к ПЛК 172.17.23.11 (08:25). Эта часть атаки могла при условии проникновения на сервер SCADA быть выполнена довольно простым способом путем подачи команды напрямую с мнемосхемы. Тем не менее атакующие серьезно исследовали систему, выявили управляющие теги и провели осмысленную атаку с помощью инженерного или специального ПО. В данном случае SCADA-система и ПЛК не имели защитных механизмов, призванных не допустить опасных ситуаций. Важно отметить, что с точки зрения NTA отправленная команда является абсолютно легитимной (если не учитывать контекст технологического процесса, который возможно заложить на уровне PT ISIM proView Sensor).

Вот как эта атака отражалась в интерфейсе PT ISIM.

Сводка взаимодействий с сервером SCADAСводка взаимодействий с сервером SCADA

Атакующие смогли провести опасную атаку, поскольку после проникновения в технологическую сеть исследовали инфраструктуру объекта. Им удалось получить доступ к инженерному ПО, выяснить управляющие теги и отправить их на ПЛК. Как и в описанном выше кейсе, защитникам следовало предпринимать активные действия уже на предыдущих этапах атаки, которые были обнаружены с помощью MaxPatrol SIEM, PT Sandbox, PT NAD и PT ISIM. После проникновения в сегмент АСУ ТП в данном случае у защитников было достаточно возможностей для реакции в реальном времени, но в реальных условиях было бы недостаточно. Во время учений, когда каждый инцидент на виду, у нападающих есть в распоряжении несколько часов, чтобы довести атаку до завершения. А в реальных условиях у киберпреступников может быть гораздо больше времени и на исследование инфраструктуры, и на проведение самой атаки. Подобную атаку на финальном ее этапе возможно выявить с помощью глубокого разбора промышленного протокола с анализом конфигурации и выявлением опасных действий оператора, таких как превышение допустимой мощности вращения колеса или несанкционированная остановка.

Нарушение и остановка процесса производства химических веществ

Упомянутая выше компания Nuft владела еще одним важным объектом в городе нефтехимическим заводом. До его технологической сети тоже добралась команда нападающих Back2oaz. Им удалось осуществить вход на сервер SCADA RDP, а также нарушить работу ПЛК с помощью специализированного инженерного ПО, в итоге был реализован бизнес-риск нарушение и остановка производства. Возможными последствиями подобных атак в реальной жизни могут быть отзыв лицензии, падение капитализации компании, отставка руководства, травмы сотрудников предприятия, жертвы среди населения города, техногенная авария и экологическая катастрофа.

Цепочка развития атаки выглядела так:

  1. Неавторизованное соединение по RDP от 172.20.61.17 к серверу SCADA 172.20.22.10 (19:30). Получен доступ к SCADA-системе.

  2. Команда на перезагрузку в сервисный режим по проприетарному протоколу, переданная с помощью инженерного ПО от сервера SCADA 172.20.22.10 к ПЛК 172.20.23.10 (01:51 на следующий день). Для реализации данного риска атакующие использовали специализированное ПО для работы с ПЛК, штатно применяемое для данного технологического процесса. Перевод в сервисный режим означает фактическую остановку выполнения основного кода и прерывание технологического процесса. В условиях отсутствия резервирования и защитных механизмов на контроллерах нижнего уровня это может привести к серьезной аварии, в частности к перегреву, нарушению процесса производства и в итоге к остановке производства полностью.

PT ISIM детектировал каждый шаг атакующих.

Подключение по RDPПодключение по RDPКоманда на перевод ПЛК в сервисный режим Команда на перевод ПЛК в сервисный режим Информационный обмен между сервером SCADA и ПЛКИнформационный обмен между сервером SCADA и ПЛК

Киберполигоны и реальность

На The Standoff, конечно, существовали некоторые условия, которые облегчают жизнь атакующим и не должны встречаться на реальных промышленных объектах. Например, инженерное ПО на управляющих АРМ или дефолтные пароли для доступа в различные системы. Однако на практике оказывается, что их все же можно встретить в инфраструктуре промышленных компаний. Нередки случаи подключения промышленной сети к корпоративной, имеющей выход в интернет. В таких условиях крайне важно использование систем глубокого анализа технологического трафика в связке с другими инструментами SIEM-системами, решениями для управления уязвимостями; это позволяет выявлять атаки на промышленные объекты и своевременно реагировать на возникающие угрозы.

Автор: Сергей Петров, руководитель отдела экспертизы промышленных систем Positive Technologies

Подробнее..

Система автоматического сброса на промышленном программируемом реле

23.02.2021 16:14:33 | Автор: admin

Имеется транспортёр, на котором установлен датчик дефектов и исполнительное устройство - сбрасыватель. По транспортёру движутся объекты, задача - производить сброс в случае обнаружения дефекта. Длина объекта от 1,5 до 7 метров, во избежание различных интересных эффектов сброс необходимо производить в момент прохождения центра объекта мимо сбрасывателя. Пройденное объектом расстояние измеряется при помощи датчика перемещения (инкрементального энкодера), наличие объекта определяется датчиком наличия (фотодатчиками). Обработав данные с этих датчиков, можно измерить длину объекта и вычислить необходимое перемещение до точки сброса.

Это история об использовании простого программируемого реле в реальной задаче промышленной автоматизации. Но такое ли оно простое? Добро пожаловать в программирование без единой строчки кода!

Для решения этой задачи используем имеющееся в наличии программируемое реле Siemens LOGO 6 серии. Подобные реле есть у многих производителей, они как правило имеют небольшие размеры и размещаются на стандартной DIN-рейке. Я попытаюсь на примере LOGO рассказать, что они из себя представляют и чем отличаются от ПЛК.
Базовый модуль имеет несколько входов, выходов, разъём для программирования, дисплей и кнопки управления (есть более дешёвые модели без кнопок и дисплея). Более новые серии (начиная с 7) имеют слот для SD карты и Ethernet. Питание бывает как низковольтное, так и 230 Вольт. К базовому модулю могут подключаться модули расширения - входные, выходные, коммуникационные. Максимальная конфигурация - 24 входа и 16 выходов, программа может содержать до 200 элементов (до 400 начиная с 7 серии).
Отличие от ПЛК: входы и выходы подключаются на неразъёмный клеммник, нет индикации их состояния, программа не может меняться во время исполнения и перезаписывается только целиком. Для программирования могут использоваться только два языка из стандарта МЭК 61131-3: LAD (релейно-контактная логика) и FBD (функциональные блоки).

Это одна и та же программа, слева FBD, справа LADЭто одна и та же программа, слева FBD, справа LAD

Ну и, разумеется, более ограниченные ресурсы - меньше входов и выходов, нет возможности структурировать программу (хотя с 7 версии появилась возможность выделять часть программы в пользовательскую функцию), нет сложной математики. С другой стороны, более низкая цена при наличии хорошей функциональности, надёжности, удобной среды программирования и отладки делают их привлекательными для решения несложных задач. Насколько несложных? В примерах использования обычно приводят примитивные кейсы вроде управления освещением, климатом или автоматическими дверями. Но иногда приходится задействовать все ресурсы этого миниатюрного контроллера.

Это первый набросок, когда казалось что главная проблема это определить точку сбросаЭто первый набросок, когда казалось что главная проблема это определить точку сброса

Как оказалось, датчик дефектов - довольно сложное устройство и имеет свой ленточный транспортёр, в связи с этим разместить фотодатчики наличия объекта удалось только на расстоянии 3 метров от него. Как следствие - во время его срабатывания датчики наличия могут видеть совсем другой объект. Расстояние от датчиков наличия до сбрасывателя составило 9 метров, на таком расстоянии могут разместиться до 6 объектов одновременно - их все придётся отслеживать. Сбрасыватель тоже непрост, его исходное положение необходимо контролировать для подтверждения удачного сброса и чтобы исключить ситуацию когда он завис поперёк транспортёра. Сбрасыватель установлен на выходном транспортёре, который управляется из другого места - от нас нужен сигнал разрешения его работы. Инкрементальный энкодер также установлен на выходном транспортёре. Ну и для удобства отладки и диагностики я решил добавить возможность настройки расстояний через дисплей и индикацию типа нештатной ситуации с помощью количества миганий лампы "Помеха". Уже в процессе разработки пришла идея добавить на дисплей текущее значение скорости транспортера, измеренной длины объекта и счетчики нештатных ситуаций. Также добавил мигание лампы в момент прохождения точки сброса каждым объектом - это в дальнейшем сильно упростило отладку.

РекурсияРекурсия

Программа в ПЛК выполняется циклически - читается состояние входов, производится их обработка согласно программе, выставляется состояние выходов. Исключение составляют только высокоскоростные входы и таймеры - они обрабатываются по прерываниям. Если какая-то переменная изменилась, её новое значение не может использоваться во влияющих на неё расчетах в этом же цикле - можно только запомнить и использовать в следующем цикле.

Программный счётчик имеет функцию включения/выключения выходного сигнала при достижении заданных пороговПрограммный счётчик имеет функцию включения/выключения выходного сигнала при достижении заданных порогов

В качестве порогов могут выступать значения других счётчиков или результаты вычислений.

Математика простая - 4 действияМатематика простая - 4 действия

Алгоритм работы системы: при поступлении сигнала от датчика дефектов он проходит линию задержки на одном из счётчиков расстояний ДД и привязывается к имеющемуся объекту, при этом горит лампа "Обнаружен дефект". Затем начинается отслеживаемое одним из счётчиков сброса движение объекта к точке сброса, лампа при этом мигает. Измерение длины объекта производится счётчиком длины, измеренное значение фиксируется в блоке вычислений соответствующего канала сброса и используется для вычисления точки сброса. При её достижении транспортёры останавливаются и производится сброс объекта. После возврата сбрасывателя в исходное положение транспортёры запускаются. Входной транспортёр имеет задержку запуска 4 секунды для компенсации времени разгона остальных транспортёров, которые управляются частотными преобразователями. Возможные нештатные ситуации - срабатывание датчика без объекта, отсутствие исходного положения сбрасывателя, отсутствие реакции сбрасывателя на сигал сброса, превышение габаритов объекта (датчик на входе), превышение длины объекта в результате нахлёста или неисправности датчика наличия. Также контролируется готовность датчика дефектов и частотных преобразователей привода движения.

Больше всего при разработке программы напрягали логические элементы без возможности расширения количества входов, прямо как старые добрые ЛА3. В старших контроллерах входы элемента можно наращивать по мере необходимости. Ещё если к выходу элемента подключен десяток входов и вдруг понадобилось добавить в разрыв ещё элемент - перерисовывать придётся все 10 линий. Особенно это доставляет, когда они идут на другие страницы - не помешало бы сделать повторители. Все выходы элементов нужно куда-то подключать, даже если они не нужны - придётся использовать открытый коннектор, без этого можно запустить симуляцию, но нельзя загрузить программу в контроллер. Этих коннекторов ограниченное количество, если не хватает - нужны логические элементы для объединения бесполезных сигналов. Ну и пользовательские функции для повторяющихся блоков - у меня их не было, но даже если бы я взял более новую модель LOGO - это бы не помогло, не влез в ограничения. Ну ладно, я знал на что иду - это же просто программируемое реле, и подобное его использование скорее исключение.

Программа в графическом виде разместилась на 8 листах А4, тут я привожу её в виде двух картинок (осторожно, они большие).

Картинка 1
Картинка 2

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

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru