27.04.2015

Использование Fox Data Diode для односторонней передачи промышленных протоколов.

image

Статья содержит описание опыта односторонней передачи данных по промышленным протоколам при помощи Fox Data Diode. Цель статьи - поделиться успешным опытом организации безопасной передачи данных при защите АСУТП.

Автор: Дмитрий Забелин

Термины

Односторонняя передача данных – процесс передачи данных от одного сетевого устройства к другому при физическом отсутствии обратного канала связи.

Data Diode (датадиод) – программно-аппаратный комплекс для односторонней передачи данных.

АСУ – автоматизированные системы управления.

АСУТП – автоматизированные системы управления технологическим процессом.

Промышленные протоколы – протоколы, используемые в АСУТП.

ПО – программное обеспечение.

БД – база данных.

ПЛИС – программируемая логическая интегральная схема.

Введение

Статья содержит описание опыта односторонней передачи данных по промышленным протоколам при помощи Fox Data Diode. Цель статьи - поделиться успешным опытом организации безопасной передачи данных при защите АСУТП. Содержание статьи ориентировано на специалистов в области защиты информации, но будет также полезно инженерам, обслуживающим технологические системы управления.

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

Полная изоляция производственной сети не всегда возможна. Зачастую каким-нибудь данным, используемым, например, для мониторинга состояния, требуется канал «вовне». Подобные каналы могут быть выделенными, но нужно понимать, если оператор связи предоставил предприятию выделенный канал, это не означает, что обязательно проложена физически отдельная линия между двумя конечными точками. Хотя теоретически это, конечно, возможно, но более затратно для предприятия. Таким образом владелец АСУ не может быть полностью уверен в безопасности своих каналов связи.

В целях обеспечения безопасности каналов связи существует немало классов решений. Наиболее известные и часто применяемые из них: межсетевые экраны (МСЭ), системы предотвращения вторжений (IPS), «песочницы» или виртуальные частные сети (VPN), где информация не передаётся в открытом виде, а шифруется с помощью криптографических алгоритмов. Среди существующих на сегодняшний день средств защиты есть одно, которое выделяется на фоне остальных тем, что гарантирует отсутствие воздействия извне, т.к. данные физически не могут быть переданы в одну из сторон.

О Data Diode как о технологии передачи данных.

Для людей с техническим образованием слово «диод» вызывает ассоциации с полупроводниковым прибором, в котором носители заряда имеют возможность пройти только в одном направлении. В случае с датадиодом подобная ассоциация имеет право на жизнь.

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

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

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

Пример

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

Ниже на рисунке представлены основные компоненты датадиода от Fox. Эта схема применима к большинству датадиодов с минимальными изменениями.


Рис. 1. Компоненты Fox Data Diode.

Fox Upstream proxy (в старых версиях Black proxy) – физический сервер на передающей стороне.
Data Diode – устройство, реализующее физическое отсутствие обратного канала.
Fox Downstream proxy (в старых версиях Red proxy) – физический сервер на принимающей стороне.

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

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

Передача промышленных протоколов через Fox Data Diode.

Существует большое количество производителей датадиодов, в том числе и отечественные. Минимальным функционалом, по мнению автора, является передача файлов, почтовых сообщений и потока по UDP. Не так давно Fox Data Diode обладал только этим набором возможностей. В настоящее время для передачи данных по промышленным протоколам Fox имеет набор так называемых репликаторов. Есть следующие виды:

OPC UA Replicator;
OSIsoft PI Replicator;
Modbus Replicator

Replicator-ы являются приложениями, не входящими в состав ядра прокси. Они могут располагаться на стороннем сервере, в том числе, на виртуальной машине. Replicator-ы не могут работать со старыми версиями прокси серверов на базе OpenBSD. По этой причине пришлось переустановить ПО на обоих прокси.

Я пользовался только OPC UA Replicator-ом. Задача была получать данные по протоколу IEC 60870-5-104 у Slave-устройства (сервер телемеханики) и передавать их далее через датадиод в режиме online без задержек.


Рис. 2. Общая схема передачи данных от сервера ТМ через датадиод во внешнюю сеть.

Существует два типа OPC Replicator-ов от Fox: один устанавливается на передающей стороне, а другой на приёмной (см. рисунок выше). Они называются upstream и downstream соответственно. На передающей стороне Replicator является OPC UA клиентом, а на приёмной сервером. Таким образом применительно к решаемой задаче, OPC Replicator от Fox не мог получить данные с сервера телемеханики напрямую, поэтому пришлось использовать ПО, которое опрашивает его по протоколу IEC 60870-5-104 и может выступать OPC UA сервером для upstream прокси датадиода. В качестве такого ПО использовался KEPServerEX от Kepware, чей функционал, не ограничивается протоколами OPC и IEC. На сайте производителя можно увидеть длинный список устройств и протоколов, среди которых большинство проприетарные. Наличие механизма туннелирования протоколов в OPC UA делает возможной их передачу через датадиод.

На приёмной стороне заказчику требовалось получить данные телемеханики по протоколу IEC 60870-5-104 или OPC DA. Таким образом напрямую с прокси датадиода их получить нельзя, т.к. Fox OPC Replicator может передавать данные только по протоколу OPC UA. По этой причине снова потребовалось преобразование протоколов. KEPServerEX не может выступать в качестве источника данных по протоколу IEC 60870-5-104, т.е. быть Slave устройством, но может отдавать их по OPC DA. К сожалению, версия протокола OPC UA пока мало распространена, не смотря на её преимущества. Для реализации передачи данных по протоколу IEC 60870-5-104 на приёмной стороне можно было использовать ПО от Triangle, но заказчику было удобнее применять одно и то же решение на передающей и приёмной сторонах.

Заключение.

Каким бы надёжным и безопасным не было средство защиты, оно не найдёт применения, если будет мешать штатному функционированию АСУ. Датадиоды не оказывают влияния на работу АСУ напрямую, т.к. служат для защиты каналов. В связи с этим основные опасения, связанные с их применением, касаются задержек, которые могут возникнуть при передаче данных. В некоторых случаях подобные задержки могут грозить владельцу производства серьёзными штрафами.

В рамках решения задачи, стоявшей перед автором, задержек не было выявлено, но справедливости ради нужно отметить, что для передачи данных телемеханики не требовалось больших скоростей (до 1000 параметров одновременно). Описанная в этой статье схема внедрения применена на реальном производстве.