Языковой барьер существует не только между ИТ-специалистами и пользователями.
«Умные» заводы и управляющие ими компьютеры также не могут взаимодействовать друг с другом без переводчиков — специализированных шлюзов промышленных протоколов.
В этом посте мы рассмотрим слабые стороны шлюзов протоколов и то, как злоумышленники могут использовать их для нанесения вреда бизнесу.
Шлюз протокола — это небольшое устройство, которое обеспечивает критически важный перевод команд между машинами, датчиками, различными исполнительными механизмами и компьютерами, которые управляют фабриками, плотинами, электростанциями и промышленными предприятиями.
Эти шлюзы похожи на домашние маршрутизаторы: они также имеют несколько интерфейсов, подключенных к разным сетям, и так же уязвимы для различных атак.
При выходе такого устройства из строя связь между системами управления и машинами прекращается.
Операторы не увидят, что происходит. Фактически, они даже не смогут определить, безопасно ли работают машины, турбины или генераторы.
Даже если что-то явно не так, неисправный шлюз не позволит оператору подать команду на запуск или остановку процессов.
Аналогичная ситуация произошла в декабре 2015 года во время атаки на энергосистему Украины : злоумышленники получили доступ к центру управления электросетями и отключили шлюзы протоколов на подстанциях, загрузив на них поврежденную прошивку.
Это блокировало все усилия сетевых инженеров по восстановлению обслуживания, поскольку команды от систем управления на включение автоматических выключателей не могли быть переданы.
В отчете об инциденте, составленном SANS ICS (подразделение американской образовательной и исследовательской организации SANS Institute по изучению промышленных систем управления) и Центром анализа и обмена информацией об электроэнергетике (E-ISAC — структура, объединяющая участников Северной Американский рынок электроснабжения) была повреждена прошивка шлюза.
Протоколы назывались «взрыв мостов».
Это очень точно описывает произошедшее, поскольку злоумышленники уничтожили ключевое звено – переводчики, выполняющие роль моста между контроллерами и подстанциями.
Структура взаимодействия сети управления и сети исполнения.
Источник (далее, если не указано иное): Trend Micro. Из-за своего расположения шлюз протокола может стать самым слабым звеном в цепочке устройств промышленного объекта, и злоумышленник может атаковать такие устройства по двум важным причинам:
Шлюзы вряд ли будут подвергаться инвентаризации критически важных активов, которая будет контролироваться агентом безопасности или системой регистрации.Поэтому атака с меньшей вероятностью будет замечена.
Проблемы трансляции трудно диагностировать, поэтому ошибки в конструкции шлюза протокола позволяют продвинутым злоумышленникам проводить очень скрытые атаки.
Типы шлюзов
По режиму работы можно выделить два семейства шлюзов: шлюзы реального времени (Шлюзы реального времени) пересылают трафик по мере его поступления — каждый входящий пакет немедленно оценивается, транслируется и пересылается; представители: Nexcom NIO50, Schneider Link 150, Digi One IA; станции передачи данных (Станции данных) — работают асинхронно, используя таблицу сопоставления интерфейсов — не ждут запроса на чтение для получения данных от подключенного ПЛК, а регулярно запрашивают обновления состояния у ПЛК и сохраняют полученные данные во внутреннем кэше для доставки по запросу .Вторая важная характеристика шлюзов протоколов — это тип протоколов, которые они поддерживают и преобразуют. По этому свойству устройства можно разделить на три категории: шлюзы, которые транслируют в рамках одного протокола , например, Modbus TCP в Modbus RTU — с точки зрения обычного перевода это аналогично переводу разговорного английского языка на английский язык Брайля; шлюзы, осуществляющие широковещание между разными протоколами на одном физическом уровне , например, Modbus RTU → Profibus, — оба протокола последовательные, это можно сравнить с переводом письменного текста с немецкого на английский; шлюзы, передающие команды между различными протоколами и физическими уровнями Например, Modbus TCP → Profibus — аналог перевода с разговорного английского на немецкий текст, написанный шрифтом Брайля.
В исследовании Трудности перевода: когда перевод промышленных протоколов идет не так мы изучили уязвимости первой группы шлюзов.
Для этого мы собрали испытательный стенд, состоящий из следующих компонентов: фаззер, генерирующий входящий трафик для тестируемого шлюза — например, при тестировании трансляции из Modbus TCP в Modbus RTU фаззер генерирует тестовые примеры Modbus TCP, шлюз — изучаемое устройство, симулятор - устройство, имитирующее приемную станцию, например, ПЛК, реализующий Modbus RTU ведомого устройства - необходим, поскольку некоторые шлюзы протоколов могут работать некорректно, если в цепочке нет ведомого устройства, сниффер, собирающий информацию об исходящем трафике, т.е.
о широковещательном протоколе, анализатор входящего и исходящего трафика.
Структурная схема стенда для исследования уязвимостей шлюза протоколов
Настоящий испытательный стенд
Мы использовали программное обеспечение с открытым исходным кодом QmodMaster для моделирования главного узла Modbus и pyModSlave для моделирования подчиненного устройства, адаптируя его к нашим потребностям, таким как получение данных из /dev/ttyUSB0.
Для перехвата трафика мы использовали Wireshark для Modbus TCP и IONinja для Modbus RTU. Мы написали специальные парсеры для преобразования вывода этих двух программ в общий синтаксис, понятный нашему парсеру.
Мы реализовали фаззер на базе BooFuzz, добавив в него некоторые модули проекта Boofuzz-modbus, распространяемого по лицензии Apache. Мы сделали фаззер переносимым на различные протоколы ICS и использовали его для тестирования нескольких реализаций Modbus. Вот некоторые типы атак, которые мы обнаружили при изучении различных шлюзов протоколов: атака на транслятор протокола, повторное использование учетных данных и расшифровка конфигурации, усиление трафика, повышение привилегий.
Атака на транслятор протокола
Шлюзы реального времени переводят пакеты из одного протокола в другой, заменяя заголовки исходного протокола заголовками целевого протокола.Шлюзы разных производителей по-разному обрабатывают недействительные пакеты.
Некоторые из них, например, при получении пакета с неправильно указанной длиной, вместо корректировки длины или сброса ее, транслируют его как есть.
Эта функция позволяет тщательно спроектировать пакет неправильной длины для Modbus TCP, чтобы он оставался правильным после трансляции в Modbus RTU. Однако, если вы читаете его как пакет Modbus RTU, он будет иметь совершенно иное значение по сравнению с эквивалентом Modbus TCP.
Атакующий пакет: в Modbus TCP содержит команду на чтение регистра, а в Modbus RTU это уже команда на запись нескольких битовых ячеек
При анализе этого пакета с семантикой Modbus TCP он интерпретируется как команда на чтение входного регистра (код функции 04) из блока с ID=3. Но в семантике Modbus RTU это интерпретируется как запись нескольких битовых ячеек (код функции 15 и 0F) в блок с ID=1.
Эта уязвимость имеет решающее значение, поскольку совершенно невинный запрос на чтение превращается в команду на запись из-за неправильной обработки пакета шлюзом протокола.
Опытный злоумышленник может использовать эту уязвимость для обхода специализированного межсетевого экрана промышленной сети, который блокирует команды записи с IP-адресов, не внесенных в белый список.
В результате достаточно одной команды, чтобы, например, отключить датчики контроля работоспособности и безопасности двигателя (датчик температуры и тахометр), оставив двигатель включенным.
Если инженеры и операторы этого не заметят, двигатель уже может перейти в критический режим и выйти из строя, но об этом никто не узнает, поскольку термометр и тахометр отключены.
Повторное использование учетных данных и расшифровка конфигурации
Шлюзы Moxa используют собственный протокол при обмене данными с программой удаленного управления MGate Manager. При запуске MGate Manager инженеру предлагается ввести имя пользователя и пароль для доступа к шлюзу протокола, после чего McGate Manager автоматически сбрасывает конфигурацию, чтобы пользователь мог изменить настройки.Когда полевой инженер завершает настройку шлюза протокола и нажимает кнопку «Выход», конфигурация сжимается, шифруется и загружается в шлюз.
Этапы настройки шлюзов Moxa
В этой процедуре есть два недостатка безопасности, которыми можно злоупотреблять.
— Повторное использование Когда инженер входит в систему, ключ хеширования пароля передается MGate Manager. Однако в исследованной прошивке механизм реализован таким образом, что хакер может перехватить зашифрованный пароль инженера для входа в систему, а затем использовать его для входа с правами администратора, даже не зная пароля в открытом виде.
— Расшифровка конфигурации Зашифрованная конфигурация, передаваемая по сети, содержит ключ шифрования, который позволяет хакеру сбросить и расшифровать ее.
Зашифрованная конфигурация содержит ключ AES для ее расшифровки.
Очень удобно для взлома Для расшифровки мы использовали фирменную библиотеку дешифрования, извлеченную из прошивки устройства.
Конфигурация содержит файлы конфигурации, базы данных SQLite и ключ Secure Shell (SSH).
Ниже приведен пример расшифрованной конфигурации нашего собственного шлюза протокола, который нам удалось перехватить.
Расшифрованные файлы конфигурации шлюза Moxa MGate 5105
Усиление трафика
Поскольку станции передачи данных асинхронно передают протоколы между собой, несколько запросов на запись одного бита можно объединить в один запрос, чтобы более эффективно использовать последовательную шину.Например, хакер может вызвать функцию 15 (записать несколько битов), на станции обработки данных она будет преобразована в 1 запись для ID=2, 1 для ID=4, 1 для ID=5, 1 для ID=6. Таким образом, одна запись в Modbus TCP превращается в четыре записи в Modbus RTU, вызывая небольшую перегрузку последовательной шины.
Одна команда TCP для записи ячейки превращается в четыре команды RTU
Следует отметить, что такое усиление не приведет к отказу в обслуживании (DoS), но перегруженная шина RS-485 все равно может привести к аномальному поведению.
Эмасштабирование привилегий
На шлюзе MGate 5105-MB-EIP мы обнаружили уязвимость повышения привилегий CVE-2020-885, которая позволяет непривилегированному пользователю выполнять команды с повышенными привилегиями.
Источник проблемы — отсутствие фильтрации пользовательского ввода в веб-интерфейсе утилиты Ping.
Интерфейс утилиты Ping шлюза Mgate
Обладая минимальными техническими знаниями, непривилегированный пользователь может запустить демон Telnet в контексте пользователя root, используя простой запрос HTTP GET, и получить полный удаленный доступ с помощью оболочки root.
Наши рекомендации
Изучив рабочие характеристики различных шлюзов промышленных протоколов, мы разработали ряд рекомендаций для поставщиков, монтажников или конечных пользователей.Устройства разных производителей по-разному обрабатывают недействительные пакеты.
Некоторые из них не обладают адекватными возможностями фильтрации пакетов или ведут себя непредсказуемо.
Поэтому крайне важно учитывать эти функциональные аспекты при выборе изделия.
Используйте специализированный брандмауэр промышленного протокола для обнаружения пакетов, не соответствующих стандартам протокола, и обеспечьте административный доступ к шлюзам протоколов только с авторизованных конечных точек.
Наличие межсетевого экрана ICS помогает обеспечить целостность трафика.
Линейка продуктов Trend Micro включает TXOne Networks, обеспечивающую защиту в режиме реального времени OT-сетей и критически важных устройств.
Выделите достаточно времени для настройки и защиты шлюза, это особенно важно для станций обработки данных — цена ошибки при настройке таблицы сопоставления ввода-вывода слишком высока, что может предоставить злоумышленнику платформу для проведения скрытых атак.
Отключите ненужные службы и включите шифрование везде, где оно поддерживается, например интеграцию с облаком MQTT. Рассматривайте шлюзы протоколов как критически важные активы OT и применяйте к ним соответствующие процедуры управления безопасностью, включая аудит конфигурации и своевременную установку обновлений встроенного ПО.
Теги: #информационная безопасность #кибербезопасность #Исследования и прогнозы в ИТ #киберугрозы #тренд микро #шлюзы протоколов
-
Электрон Октатрек Дпс-1 – Первые Впечатления
19 Oct, 24 -
Будь Мужиком, Открой Ип
19 Oct, 24 -
Завершение Разработки Riva Tuner
19 Oct, 24