Integrity SCADA: обеспечение кросс-платформенности без технологий Wine

Опубликовано в номере:
PDF версия
Поддерживая тренд на импортозамещение программных продуктов, компания «ЭлеСи» разработала и выпустила SCADA-систему, позволяющую использовать в том числе отечественные операционные системы, – Integrity SCADA. Рассмотрим возможности и преимущества этой системы.

C 2014 г. стратегия импортозамещения в промышленности, в том числе снижения уровня зависимости от зарубежного программного обеспечения, стала одним из приоритетных направлений. Уже тогда компания «ЭлеСи» имела в своем арсенале многолетний опыт разработки собственной SCADA-системы с внедрениями по всей стране на таких объектах, как Братская ГЭС, СДКУ Транснефть, проект «Север», ЕСУ ТС ВСТО, АСДУ Московского метрополитена, Единая диспетчерская СУЭК-Кузбасс, СОДУ «Сила Сибири» и многие другие. Но, как и остальные отечественные производители, мы разрабатывали свой программный продукт под операционные системы семейства Windows как наиболее распространенного семейства операционных систем. Собственный программный код компонентов, использовавший преимущества Windows, не обеспечивал кросс­платформенность, и о 100%-ной импортозамещенности говорить было нельзя, поскольку средой выполнения программного обеспечения оставалась Windows.

На тот момент у нас возник вопрос, как обеспечить независимость от операционной системы Windows и дать потребителю возможность выбора других платформ, в том числе и отечественных. На волне импортозамещения появились и получили новый толчок в развитии такие операционные системы, как Astra Linux, RedOS, AltLinux, и другие.

На поверхности было два решения: быстрое и с минимальными доработками — использование Wine-технологии или подобных технологий виртуализации, либо долгое и затратное — полная переработка исходных кодов программных продуктов для обеспечения кросс-платформенности. Мы выбрали второй путь и не ошиблись.

Опираясь на 20-летний опыт разработки SCADA-систем, в 2016 г. наша компания начала разработку нового программного комплекса — платформы для создания систем управления и автоматизации под ОС различных семейств, без ограничения на использование по отраслям промышленности, с нуля. В 2019 г. «ЭлеСи» представила первую версию кросс-платформенного продукта — Integrity SCADA.

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

Состав программного комплекса Integrity SCADA

Рис. 1. Состав программного комплекса

Компонентный подход Integrity SCADA позволяет строить системы автоматизации под конкретные задачи, на базе только необходимых компонентов и на коммуникационных протоколах, вплоть до интеграции отдельных компонентов Integrity SCADA со сторонними системами, за счет строгого соответствия промышленным стандартам и спецификациям.

 

Серверные резервируемые компоненты

К серверным резервируемым компонентам относятся: IntegrityServer — сервер ввода/вывода оперативных данных; IntegrityHistoryServer — сервер истории; IntegrityReports — мощный инструмент по созданию отчетов с собственным редактором; IntegrityDataTransport — сервер транспорта данных.

IntegrityServer предназначен для сбора данных по промышленным протоколам, математической предобработки данных, генерации сообщений о событиях и авариях, предоставления данных сторонним системам и клиентским приложениям. Коммуникационные протоколы реализованы в виде подключаемых модулей. Можно собрать конфигурацию сервера только из необходимых модулей. Подтвержденная работоспособность сервера 24×7, с легкой масштабируемостью, от малых проектов 0–25 000 сигналов до проектов, содержащих более 2 000 000 сигналов. Предусмотрена возможность создавать распределенные системы обработки данных. Обмен данными со сторонними системами осуществляется по стандартным промышленным протоколам и спецификации OPC UA. Открытый формат конфигурации позволяет выполнять конфигурирование сторонними средствами. Встроены механизмы предотвращения потери оперативных данных и событий для клиентских подключений. Низкие требования к аппаратной составляющей, возможность работы без графического интерфейса на серверных операционных системах. Обеспечено горячее резервирование серверов данных с синхронизацией оперативных данных и событий. Исчерпывающие функции самодиагностики с предоставлением диагностической информации. Разграничение доступа к данным сервера ввода/вывода.

IntegrityHistoryServer обеспечивает сбор и хранение данных технологического процесса, а также предоставление исторических данных сторонним системам и клиентским приложениям. Распределенная структура хранения данных, разделение БД на БД хранения данных и БД хранения событий, как следствие — повышение скорости чтения/записи технологических данных. Предусмотрена схема распределенного резервирования — для каждого сервера истории можно назначить список коллекторов — сборщиков технологических данных и событий. Имеется настраиваемая защита от корректировки и удаления данных истории. Хранение данных осуществляется в первичном и архивном виде, сжатие первичных и архивных данных с настройкой уровня сжатия. Встроенная СУБД собственной разработки. Доступ к историческим данным и событиям посредством SQL-запросов и по спецификации OPC UA. Разграничение доступа к данным сервера истории.

IntegrityReports отвечает за формирование и управление отчетами различного уровня сложности для анализа исторических данных и оперативной производственной информации. Обладает широким набором базовых шаблонов отчетов, есть собственный встроенный редактор шаблонов отчетов. Получение оперативных и исторических данных для отчетов по спецификации ОРС UA или посредством SQL-запросов, в том числе со сторонних серверов данных. Генерация отчетов по расписанию, по событию, по запросу пользователя. Рассылка отчетов по E-Mail.

IntegrityDataTransport осуществляет транспорт данных как между локальными компонентами ПК, так и в рамках территориально распределенных источников данных и клиентских компонентов, организует единое адресное пространство. Внешняя коммуникация — ОРС UA. Резервирование источников, резервирование сетевых интерфейсов. Единое адресное пространство. Работа в условиях распределенной сети и нестабильных каналов связи. Шифрование данных по открытому и закрытому ключам, SSL-сертификаты. Низкие требования к пропускной способности каналов.

 

Встроенные компоненты клиентской безопасности

Сервер клиентской безопасности IntegrityClientSecurity служит для управления правами доступа пользователей к функциям клиентских приложений SCADA-системы. Использование кросс-платформенных служб организации учетных записей пользователей. Распределенная система резервирования. Возможность создания кластера клиентской безопасности с общей точкой входа пользователя на нескольких АРМ одновременно.

IntegrityEnvironmentControl осуществляет контроль целостности среды исполнения проекта: проверка контрольных сумм файлов, слежение за процессами и службами, контроль утилизации ресурсов операционной системы.

 

Клиентские компоненты Integrity SCADA

  • IntegrityHMI — приложение визуализации;
  • IntegrityTrends — приложение отображения графиков;
  • Integrity Alarms — приложение отображе­ния событий;
  • IntegritySimpleReports — приложение для простого создания отчетов;
  • IntegrityContainer — приложение-контейнер для встраивания клиентских приложений.

IntegrityHMI отображает технологический процесс в виде наглядной интерактивной схемы взаимодействия технологических объектов. Обладает собственным графическим векторным редактором. Выполняет создание проекта, а не отдельных мнемосхем. Единое дерево сигналов всего проекта. Редактор вычислений для встроенной обработки сигналов, можно использовать привычные среды разработки, редактирование стандартных динамик, возможность создания пользовательских динамик. ОРС UA с неограниченным количеством источников данных. Библиотека графических примитивов со сквозным изменением объектов, готовые встроенные отраслевые библиотеки.

IntegrityTrends — отображение в виде графиков изменения оперативных и исторических технологических параметров. Получение оперативных и исторических данных по спецификации OPC UA. Единое приложение — как часть приложения контейнера, единое приложение как часть проекта визуализации. Возможность добавления неограниченного количества графиков. Широкие возможности по формированию поля графиков. Дискретизация времени отображения данных до 1 мс. Гибкие настройки для ускорения работы с большими объемами данных. Экспорт в открытые форматы png, xlsx, odt, csv, html, печать.

IntegrityAlarms — отображение данных о технологическом процессе в виде таблицы сообщений о событиях, авариях и тревогах. Получение оперативных и исторических событий по спецификации OPC UA. Полная поддержка АЕ-модели. Единое приложение как часть приложения контейнера, единое приложение как часть проекта визуализации. Широкие возможности фильтрации событий, мигание сообщений. Экспорт в открытые форматы xlsx, odt, csv, html, печать.

IntegritySimpleReports — простое создание отчетов на основе шаблонов, подготовленных в офисных пакетах как по оперативным срезам данных, так и отчетов по историческим данным.

IntegrityContainer — приложение-контейнер, в которое встраиваются клиентские приложения (IntegrityTrends, IntegrityAlarms, IntegrityXYPlot), позволяющие из встраиваемых приложений сделать отдельный десктоп-клиент. Позволяет не реализовывать отдельные десктопные приложения, а создать универсальные клиентские приложения, которые могут одинаково встраиваться как в среду визуализации, так и в приложение-контейнер.

Веб-приложение визуализации IntegrityWeb. Реализован клиент визуализации посредством веб-клиента для отображения технологической информации в наглядном виде на любой платформе, в любом браузере. Предоставление технологии настоящего «тонкого клиента», только браузер, HTML, JS. Поддержка популярных браузеров без искажения отображения проекта автоматизации. Использование бесплатного кросс-платформенного веб-сервера. Получение данных и событий по спецификации OPC UA. Работа с десктопным проектом визуализации с поддержкой скриптов. веб-компонентов и событий в рамках проекта визуализации.

Информационная архитектура и производительность компонентов позволяют создавать системы как вертикального, так и горизонтального масштабирования (рис. 2).

Системы от локальных до сложных распределенных

Рис. 2. Системы от локальных до сложных распределенных

Интеграционные возможности позволяют не только интегрироваться в действующую систему управления предприятием, но и стать ядром нового объекта (рис. 3). Компоненты, входящие в состав комплекса, полностью перекрывают уровень SCADA и частично проникают на другие уровни автоматизации, позволяя создавать системы управления любым технологическим процессом и инфраструктурой предприятия.

Единое информационное пространство

Рис. 3. Единое информационное пространство

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

Кросс-платформенность компонентов и их унификация с использованием различных ОС

Рис. 4. Кросс-платформенность компонентов и их унификация с использованием различных ОС

Все компоненты Integrity SCADA разработаны на языке С++ без использования специфических системных функций, что в свою очередь обеспечивает максимальную производительность высоконагруженных систем.

Абсолютно все компоненты Integrity SCADA функционируют под Linux, в том числе средства визуализации, конфигурирования и собственная СУБД истории.

В Integrity SCADA не требуются виртуализация, применение Wine- и Wine-подобных решений или java-контейнеры.

Wine — это свободное програм­мное обеспечение, позволяющее пользователям UNIX-подобных операционных систем, например Linux, исполнять приложения, созданные исключительно для Windows, без наличия установленной Windows. Wine также предоставляет программистам библиотеку программ Winelib, при помощи которой они могут компилировать Windows-приложения для портирования их в UNIX-подобные операционные системы. По сути, Wine является «прослойкой» между выполняемым приложением и операционной системой, позволяющей запускать приложения, написанные не под целевую операционную систему. Очевидные минусы технологии — невозможность 100%-ной эмуляции всех функций и технологий Windows, дополнительные существенные затраты ресурсов оборудования, так как появляется добавочная прослойка, что увеличивает конечную стоимость проекта автоматизации и существенно ограничивает быстродействие системы. Проблемы с лицензией использования Wine в коммерческих целях, и самый существенный минус — проблемы сертификации и безопасности. Использование сторонней Wine-технологии противоречит требованиям по обеспечению безопасности значимых объектов КИИ Российской Федерации (Приказ № 239 ФСТЭК России от 25.12.2017) в соответствии с Федеральным законом от 26.07.2017 № 187-ФЗ «О безопасности критической информационной инфраструктуры Российской Федерации».

На сегодня компания «ЭлеСи» активно продвигает и использует методы безопасной разработки ПО. Программный комплекс Integrity SCADA создан в соответствии с требованиями ГОСТ Р 56939–2016 по безопасной разработке программного обеспечения и лицензии ФСТЭК России на разработку и производство средств защиты конфиденциальной информации.

Большое внимание в Integrity SCADA уделено встроенным средствам информационной безопасности.

Безопасность реализуется за счет применения безопасного протокола передачи данных во всех компонентах комплекса. Поддерживаются все актуальные политики безопасности в соответствии со спецификацией OPC UA 1.05.02. Подключение с помощью учетных данных или сертификата пользователя. Выполняется асимметричное шифрование по открытому и закрытому ключу. Организация защищенного канала связи в распределенных системах даже в условиях открытой сети. Выполняется настройка разграничения доступа на основе ролевой модели, гибкая настройка политик безопасности. Встроен аудит действий пользователей и администраторов системы, ограничение доступа по времени и продолжительности сессии. Кластерная авторизация пользователей, журнал информационной безопасности, интеграция с SIEM-системами по Syslog, в том числе с Ankey SIEM NG.

Выполняется контроль утилизации ресурсов (загрузка ЦП, ОЗУ, дисков, температуры), контроль среды исполнения (состояние процессов, служб), контроль целостности системного и прикладного ПО. Встроено ограничение запуска прикладного ПО при нарушении целостности. Происходят регистрация, формирование сигнализации и возможность автоматической реакции на инциденты. Существует интеграция с журналом ИБ и SIEM-системами по Syslog.

В ходе выполнения работы было принято во внимание Постановление Правительства PФ от 14 ноября 2023 года № 1912 «О порядке перехода субъектов критической информационной инфраструктуры Российской Федерации на преимущественное применение доверенных программно-аппаратных комплексов на принадлежащих им значимых объектах критической информационной инфраструктуры Российской Федерации». Применение технологий виртуализации Wine в системах автоматизации практически всех отраслей промышленности для обеспечения требований к отечественным программным решениям в конечном итоге демонстрирует свою нежизне­способность. Мы же, как показало время, не ошиблись в своем выборе.

Сегодня Integrity SCADA служит для реализации проектов на отечественных операционных системах в различных отраслях промышленности (рис. 5).

Примеры реализации проектов Integrity SCADA по отраслям

Рис. 5. Примеры реализации проектов по отраслям

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *