Проблемы и перспективы безопасной передачи данных в АСУ ТП с использованием Blowfish и "зашумления"

Автор: Кочетков В.В., Зобнин Б.Б.

Журнал: Международный журнал гуманитарных и естественных наук @intjournal

Рубрика: Технические науки

Статья в выпуске: 12-1 (51), 2020 года.

Бесплатный доступ

Данная статья посвящается проблемам и перспективам безопасной передачи данных в технологических сетях разрабатываемого мобильного комплекса переработки кисло рудничных вод (КПКРВ). Для извлечения широкого спектра материалов используются разнообразные приборы и устройства. Например, аналоговые сигналы измеряются приборами КИПиА, цифровые сигналы (+24в) используются для управления различной запорной арматурой и формирования обратной связи (состояние концевых выключателей: открыт-закрыт, состояние различных узлов: включен-выключен, состояние технических защит: сработал-не сработал). Для управления магнетизатором используются приборы, формирующие ШИМ сигналы (широтно-импульсная модуляция). Все эти приборы и устройства соединяются с контроллерами и серверами по технологической сети. Чаще всего используется RS-485 в связке с открытым протоколом ModBUS RTU/ASCII. Данный протокол передачи данных не использует авторизации и никак не защищает передаваемые данные (передаются в открытом виде согласно структуре протокола). Сами по себе передаваемые данные не содержат секретной информации, но могут быть использованы для создания аварийных ситуаций на установке КПКРВ, вплоть до разрушения оборудования, угрозе жизни и здоровью персонала.

Еще

Комплекс переработки кисло рудничных вод, безопасность объекта, птк, асу тп, промышленные технологические сети

Короткий адрес: https://sciup.org/170187109

IDR: 170187109   |   DOI: 10.24411/2500-1000-2020-11622

Текст научной статьи Проблемы и перспективы безопасной передачи данных в АСУ ТП с использованием Blowfish и "зашумления"

Количество кибератак на сетевые структуры предприятий России увеличивается ежегодно, в том числе и на технологические сети АСУ ТП. Подвергнуться атаке может любой сегмент, начиная от сетей автоматизации построенных на Ethernet, и заканчивая линиями связи RS485. Длинна сегмента RS-485 может составлять до 1200 метров. Линия, как правило, прокладывается по кабельным каналам, которые никак не охраняются (максимум двери закрыты на замок). Такие установки, как КПКРВ, как правило, являются стационарными и располагаются на достаточно удаленном от поселения расстоянии, явный пример удаленность Леви-хинского водохранилища. Такие комплексы являются самодостаточными и могут работать в “безоператорном режиме”. Как уже говорилось выше, данные КПКРВ не содержат информации, которая могла бы быть интересна злоумышленникам. Ос- новные данные – это результаты измерений давлений, температур, состояний оборудования и так далее. Причина, по которой злоумышленники могут проводить атаки на протоколы передачи данных – это вывести установку (агрегат) из работы (DDOS). Подобные атаки могут не только аварийно остановить программнотехнический комплекс, но также привести к разрушению оборудования. Например, подменить ответ от прибора КИПиА формирующего сигнал о повышении давления в тракте, на значение ниже, чем оно есть на самом деле, вывести техническую защиту, приводящую в действие защитные клапана (установить в 0). ПТК попытается поднять давление, согласно технологии, увеличив производительность или подключив резервные насосы. В результате могут быть “раздавлены” датчики давления, нарушена целостность трубопровода и устройства отбора проб качества воды.

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

Степень защищенности всего комплекса равна степени защищенности самого слабого звена. Как правило, принято защищать верхний уровень сервера: установкой брандмауэров, роутеров и шифрованием каналов передачи данных. Ограничение доступа к помещениям, шкафам, программным оболочкам посредством замков, электронных пропусков, парольного и ключевого доступа. Но, как правило, забывают про технологические линии связи, связывающие приборы с контроллерами и серверами. Манипуляции с данными, передаваемыми по таким линиям, могут привести к весьма печальным последствиям.

Для повышения уровня безопасности передачи данных в технологических сетях,

$n [i] = Sn\j ]

Подобные реализации BlowFish могут быть подвержены уязвимостям, например, “атакам на основе открытых текстов”. Рассмотрим данную атаку конкретнее. Атака на основе открытых текстов [3] – вид криптографического анализа, в основе которого лежит известный (не зашифрованный текст или структура данных) – шпаргалка (подсказка). То есть если мы заранее знаем структуру пакета передачи данных, то можем логически восстановить зашифрованные данные.

Во второй мировой войне, данный метод использовался сначала поляками, а потом британцами для декодирования сообщений, закодированных Enigma. Алан предлагается использовать шифрование передаваемых данных по протоколу BlowFish [1]. Данный протокол является свободным и изначально создавался для устройств с ограниченным объемом памяти. Так же плюсом можно считать скорость и простоту реализации. Данный алгоритм разработал Брюс Шнайер в 1993 году как альтернативу устаревшему криптографическому протоколу DES. Представляет собой сеть Фейстеля [2] с настраиваемым количеством раундов шифрования, увеличивая количество используемых S –блоков и размеры массива P, усиливаем криптографическую стойкость алгоритма. Однако, следует сохранять баланс между высокой криптостойкостью и накладными расходами алгоритма. Чрезмерное увеличение количества S – блоков приведёт к необоснованному расходу оперативной памяти контроллера (актуально для микроконтроллеров, обладающих ограниченным объемом ОЗУ). При оптимизации объемов памяти, используемых алгоритмом, стоит учесть и тот факт, что при уменьшении количества S – блоков есть вероятность появления слабых ключей, то есть ключей, два элемента S – блока которых идентичны. Смотрим формулу 1.

Тьюринг предположил, что есть некий текст, передаваемый в одном и том же формате, в каждом зашифрованном сообщении, например, цифра один, немецкое “Eins” встречалось в подавляющем числе сообщений наравне с приветствием “Heil Hitler”. Такой текст назвали подсказками (английское Crib), он лег в основу криптографического метода дешифровки сообщений, названого “Eins алгоритмом”.

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

Рис. 1. Прибор регистрации измерений КИПиА Овен ТРМ 138

Рис. 2. Прибор регистрации измерений КИПиА Сенсорика Ш932.9Д

Рассмотрим рисунки 1 и 2, фотографии приборов на щите управления. На большинстве производственных предприятий, имеющий АИС или АСУ ТП, имеются такие шиты управления. С первого взгляда это нам ничего не дает, перефразируем инспектора Лестрейда из произведений Артура Конана Дойла о приключениях Шерлока Холмса, “Прибор как прибор”. Но на самом деле мы получили достаточно информации для начала работ по взлому и выводу из строя установки. Во-первых, мы знаем тип прибора ТРМ 138. Что это нам дает?? ТРМ 138 выпускается компанией Owen, на их сайте есть подробная инструкция на это устройство, произведя анализ, выясняем, что прибор сетевой, поддерживает линии связи RS-485 (расстоя- ние не менее километра, значит, есть внешние кабельные трассы, возможно вне помещений и возможно легко доступные), поддерживает протокол обмена данными “Owen”, а с 2007 года оснащается и протоколом “ModBUS RTU” [4], что нас устраивает. Далее из инструкции мы выяснили, что прибор восьми канальный, то есть получает данные с восьми измерительных датчиков. Рядом находится “Бирка” с подписями каналов. Из нее мы получаем информацию о количестве сигналов и к какой части технологического оборудования они относятся. Возможно, так же рядом будет обозначен сетевой адрес прибора. Данные, получаемые с датчиков, являются аналоговыми (унифицированные сигналы, 4 – 20мА, 0 – 1 вольт). Значит, в памяти они будут храниться в формате “Float” или “Double” которые в контроллерах занимают, как правило, 4 байта.

Нарушителю останется только обнаружить линию в кабельные связи (по типу кабелей AWG 22, FTP/CUT 5e – Ethernet или подобных низковольтных кабелей с малым сечением), подключиться и провести аудит сети. Проанализировав полученную информацию, злоумышленник сможет подменить передаваемые пакеты данных от прибора к АСУ (автоматизированная система управления) или САР (система автоматического регулирования). В зависимости от технологического назначения датчика (например, датчик давления сырой воды в установке переработки кисло рудничных вод), он может подменить реальные данные другими, “обманув” систему и указав, что в тракте давление ниже положенного, это приведёт к увеличению производительности насосов. Реальное давление будет расти, а система считать, что давления не хватает. По сути, злоумышленнику придется отключить цифровые сигналы технологических защит, так же передаваемых по линии RS-485, в ко- нечном итоге это приведет к выходу из строя установки (порывы тракта, выход из строя датчиков и других составляющих установки).

В настоящей статье рассмотрим способы защиты от прослушивания и защиту от подмены пакетов данных измерений в технологических сетях RS-485 на примере самого используемого в автоматизации протокола передачи данных ModBUS RTU. По умолчанию этот протокол не содержит структур контроля целостности передаваемой информации (кроме CRC – контроля четности), данные передаются в открытом виде, так как хранятся в памяти контроллеров. Так же в протоколе не предусмотрена простейшая авторизация.

Рассмотрим структуру протокола ModBUS RTU.

Пакет запроса состоит из адреса устройства, кода функции, адреса первого читаемого нами регистра (реальный адрес для функции 0x03 – Read Holding Registers будет 40001), но отображается и запрашивается как 0, так как это offset, (то есть смешение), количество читаемых регистров и CRC – контрольной суммы пакета.

Таблица 1. Структура запроса аналоговых сигналов с прибора

0x01

Адрес устройства, SlaveID

1 байт

0x03

Функциональный код (смотрим таблицу xxx)

1 байт

0x00

Адрес начального считываемого регистра

2 байта

0x04

Количество считываемых регистров в байтах

2 байта

CRC

Контроль чётности.

2 байта

Пакет ответа так же состоит из поля адреса и поля кода функции. Отличия начинаются с третьего поля, здесь возвращается количество байт содержащих данные измерительных каналов, байты с 4 по n это данные измерительных каналов, если формат передачи данных int16 или uint16

(int 32, uint 32) то 2 байта на один канал, если float, (значения с плавающей точкой) то 4 байта. Конец пакета завершают два байта контроля четности CRC16. CRC рассчитывается по всему пакету с первого байта до полей контроля четности (сами поля четности разумеется не включаются).

Таблица 2. Структура ответа аналоговых сигналов с прибора.

0x01

Адрес устройства, SlaveID

1 байт

0x03

Функциональный код (смотрим таблицу xxx)

1 байт

0x0001

Адрес регистра с которого начинаем считывать данные.

1 байт

0x0004

Количество слов (WORD), содержащих данные – n

1 байт

n

Данные измерительных каналов, передаваемых прибором

2 или 4 байта

CRC

Контроль четности

2 байт

Для примера, обмен сервера с прибором, Tx -запрос, Rx – ответ прибора.

Tx: [0008] 01 03 00 01 00 04 15 C9

Rx: [0013] 01 03 08 41 EC 00 00 42 72 A3 D7 F1 28

Именно в таком формате злоумышленник увидит обмен по сетям RS-485. Согласно формату, мы видим 8 байт информации: 41 EC 00 00 42 72 A3 D7, по спецификации [5] протокола ModBUS RTU, максимальный размер данных в канале 4 байта или 2 слова, значит, мы имеем два или четыре канала, соответственно, преобразовывая байты в слова и при необходимости, меняя байты (BYTE) и/или слова (WORD) местами (перестановка) получатся реальные значения, которые злоумышленник и может использовать для подмены.

Таблица 3. Данные пакета передачи данных до и после шифрования

Перехваченный запрос (TX) – ответ (RX)

Закодированный BlowFISH

Tx: [0008]

01 03 00 01 00 04 15 C9

54 4C 3B 8B DE 59 15 09

Rx: [0013]

01 03 08 41 EC 00 00 42 72 A3 D7 F1 28

42 A4 BB 54 41 47 2B C8 4B 21 34 F2 1F

Как видим, теперь структура пакета скрыта от стороннего наблюдателя, сетевой анализатор не сможет выделить за- прос/ответ на основе формата передачи данных. Смотрим рисунок 3.

Рис. 3. BlowFISH – Noise кодер, кодирование/декодирование пакета ModBUS RTU

Рассмотрим тестовую программу “BlowFISH Тест”, разработанную для экспериментов с алгоритмом BlowFISH и возможностью “Зашумления” закодированных данных, с последующим декодированием и восстановлением первоначальной информации. Первое поле, ключ, используемый для кодирования, второе поле – “Исходные данные” заносятся в шестнадцатеричном виде без префикса “0x” (указывает, что следом идет число в шестнадцатеричной системе), разделённые пробелом. При кодировании шестнадцатеричное представление числа переводится в двоичное и располагается в памяти согласно структуре пакета Modbus RTU (смотрим таблицы 1 и 2). После процедуры кодирования переводится в шестнадца- теричный формат для контроля процесса шифрования, после чего вновь расшифровывается и помещается в поле “Расшифрованные данные”. В результате видим, что предложенный алгоритм работает, но для надёжности можно усилить алгоритм, для этого можно создать функцию, которая по заранее созданным шаблонам будет менять местами байты уже зашифрованного пакета, таким образом разрушая структуру данных BlowFISH, не позволяя их расшифровать даже, зная ключ. Помимо перестановки байт, предлагается использовать генератор шума (случайных чисел), которые вставляются согласно шаблону после изменения порядка следования байт.

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

Рис. 4. BlowFISH – Noise кодер, кодирование/декодирование и “зашумление” пакета ModBUS RTU

Рассмотрим формат шаблона. В памяти пакет передачи данных представляет собой одномерный массив, в котором байты следуют по порядку, начиная с 0. Байты, определенные к перестановке, разделяются запятой, например 1,3; здесь первый байт массива поменяется местами с третьим, 5,2; пятый меняется со вторым, следование пар разделяются точкой с запятой. Запись 2,N; означает, что после второго байта будет вставлен “мусорный”, сгенерированный случайным образом байт. Количество таких правил не ограничено. Таким образом на выходе мы имеем зашифрованный пакет большей длинны чем исходный за счёт вставки лишних байт. Производить попытки декодирования (BruteForce последовательный подбор ключа к шифру) злоумышленник не станет, так как это долгий процесс и зачастую не возможный по причине ограничения времени.

Выводы

Проведя анализ полученных результатов, можно сказать, что метод защиты сети путем шифрования и зашумления данных при передаче по сетям RS-485 хорошо подходит для работы не только в малых и среднего размера сетях, но и в крупных сетях больших предприятий.

Что получили:

  • 1.    Разработан метод для реализации защиты технологических сетей.

  • 2.    Разработано программное обеспечение, реализующее описанный метод для меж серверного обмена технологическими данными.

  • 3.    Разработаны макетные платы для приборов, реализующих данный метод защиты.

  • 4.    Разработаны микропрограммы для приборов (прошивки).

Что осталось сделать.

При разработке новых приборов легко включить поддержку протокола ModBUS RTU с возможностью шифрования данных, передаваемых по сети, но что делать с приборами, сторонних фирм, выпущенных ранее и успешно работающих в сетях автоматизации?? Предполагается разработать промежуточный прибор, который бу- дет устанавливаться в шкафах местных щитов и щитов управления. Магистральная (шифруемая линия) от удаленных серверов подключается на вход промежуточного прибора, а выход (не шифруемая линия) к приборам сбора технологической информации. Организационные мероприятия по ограничению доступа к местным щитам и щитам управления возложить на техническое руководство предприятий. Не использовать стандартные пароли для доступа к настройкам приборов для сокрытия ключей шифрования и шаблонов зашумления.

Список литературы Проблемы и перспективы безопасной передачи данных в АСУ ТП с использованием Blowfish и "зашумления"

  • Шнайер Б. Прикладная криптография: Протоколы, алгоритмы, исходные тексты на языке Си. Триумф 2002.
  • Russell J. Cohn R. Сеть Фейстеля. "VSD" 2012.
  • Шнайер Б., Фергюссон Н. Практическая криптография. Диалектика. 2006 г.
  • Томас Д. Журнал промышленные сети. CTA 2/2009 г. cтр. 52.
  • Денисенко В. Протоколы и сети ModBUS и ModBUS TCP // Журнал промышленные сети. CTA. - 2010. - №4. С. 90
Статья научная