SOFTWARE TOOLS FOR BUILDING AUTOMATED CONTROL SYSTEMS IN THE ENVIRONMENT OF THE DOMESTIC
OPERATING SYSTEM
A. I. Blagodarniy
Institute of Computational Technologies of SB EAS, 630090, Novosibirsk, Russia
In the article „Software tools for building automated control systems in the environment of the domestic operating system" the construction, schemes of components interrelation and the tool nucleus of the SCADA-svstem on the platform of the Russian network real time operational system „Neutrino KPDA. 10964-01", which is being developed and accompanied bv the Russian Ltd Company „SVD "Installed systems"" from St. Petersburg. Using the Russian operational system answers the task of import substitution of the programming provision, the importance of which is increasing because of geopolitical risks and the growing pressure of economic sanctions from unfriendly states.
The product being described in this article is the result of developing the SCADA-svstem „BLACART", constructed at the ICT SB RAS and functioning in the environment of the operational system QNX 4.25. The denominated SCADA-svstem displayed high performance in dozens of realized systems of control in different branches of industry, as a rule, in dangerous production. The certificate of conformity and the resolution for its application at the mining enterprises were received.
As a result of relocating SCADA-svstem „Blacart" onto the base of the „Neutrino" operational system the structure of the SCADA-svstem hasn't been changed. It was only the programming key (code) which was changed, particularly, all applications of different system libraries of subprograms were carried out in POSIX-interoperable format. Having preserved the structure as well as the main characteristics and functional capabilities of the SCADA-svstem in the process of relocating it into the milieu of the „Neutrino" system, it also became possible to keep up all of the previous product values that prove to have been efficient in the course of realized long-term control systems practice.
A newlv-developed SCADA-svstem has been realized as a distributed computing technological network, which is simultaneously a local computing network on the basis of the network protocol „Qnet" of the operational system „Neutrino".
The software of the SCADA-svstem is a hierarchical association of two subsystems: the subsystem of the upper level and the one of the lower level, which has been put into operation at one or another unit(s) of the technological network. The subsystem of the upper level is the automatic work position of the operator, which includes the graphical interface of the operator and the operational and archive databases control system. The subsystem of the lower level realizes the interface with the monitoring and technological equipment control.
The elaboration or modification of a specific project of the automated control system over technological processes on the basis of newlv-developed SCADA-svstem is reduced to the construction of the graphical
interface of the operator with the help of the system application builder (graphics editor) „Application "
subsystems.
All automated work positions of the operator are fully equal in status display operations and technological equipment control, their local database being synchronized between themselves. The absence of the dedicated data server in the technological network is the first and major peculiarity
© A.I. Blagodarniy, 2018
of the SCADA-svstem software. Such an approach realizes the principle of multiple hot backup in automated control systems.
The described SCADA-svstem has been constructed and elaborated as a real time SCADA-svstem and is intended for automatizing technological processes, which put tough demands on the time of control system reaction to one or another event. A guaranteed little time of reacting to any single event is one more major peculiarity of the SCADA-svstem.
The safeguard of the newly developed SCADA-svstem from cvber-attacks can only be reached by tough monitoring of users' access to management in accordance with the categories as well as by blocking all of the functions of using the operational system (by the operators). The characteristics of the operational system „Neutrino" itself also make safety possible. As for the vulnerability of the programming provision, it can be easily detected and neutralized as the programming key of the SCADA-svstem is open.
Key words: SCADA, import substitution of software, QNX, Neutrino.
References
1. Golushko S. K., Pishchik B. N., Cheido G. P., Shakirov S. R. Import substitution in the
field of hardware and software complexes as a base for designing high quality automated control
„
"
2. Makartchev V., Mikhailenko Yu., Podervvanskij R. Be careful — viruses // The military-political review. 2011. [Electron, res.]: http://www.belvpo.com/ru/1159.html.
3. Gritsai G., Timorin A., Goltsev Yu., Ilvin R., Gordeitchik S., Karpin A. Security of industrial systems numbered v2.1. [Electron, res.]: http://www.ptsecurity.ru/download/SCADA_analytics_ russian.pdf.
4. [Electron, res.]: http://www.kpda.ru/products/kpdal0964/.
5. Blagodarnij A. I., Karatisheva L. S. Universal SCADA-svstem BLACART under the control of the operation system QNX // Problems of informatics. 2009. N 3. P. 62—67.
6. Blagodarnvj A. I. Osobennosti i opvt primeneniva nadezhnoj SCADA-sistemv Blakart //
„"
sentvabrva 2013. S. 10.
ПРОГРАММНЫЙ ИНСТРУМЕНТАРИЙ ДЛЯ ПОСТРОЕНИЯ СИСТЕМ АВТОМАТИЗИРОВАННОГО УПРАВЛЕНИЯ В СРЕДЕ ОТЕЧЕСТВЕННОЙ ОПЕРАЦИОННОЙ СИСТЕМЫ
А. И. Благодарный
Институт вычислительных технологий СО РАН, 630090, Новосибирск, Россия
УДК 004.9
Описывается архитектура, схемы взаимодействия компонент и инструментальное ядро SCADA-системы на платформе отечественной защищенной операционной системы реального времени „Нейтрино КПДА.10964-01". Продукт является результатом развития SCADA-системы „Блакарт", разработанной в ИВТ СО РАН и работавшей в среде ОС QNX 4.25. Указанная SCADA-система показала высокие эксплуатационные качества в десятках реализованных систем управления в различных отраслях промышленности, как правило, на опасных производствах. Использование сертифицированной отечественной операционной системы является нужным шагом в направлении киберустойчивости.
Ключевые слова: SCADA, импортозамещение программного обеспечения, QNX, Нейтрино.
Постановка задачи. Безопасность современного производства не в последнюю очередь обеспечивается надежностью применяемой автоматизированной системы управления технологическими процессами (АСУТП), Использование хороших архитектурных решений и разумно выбранной операционной среды позволяет строить АСУТП, отвечающие самым высоким требованиям по надежности. Но в последнее время все большую остроту приобретает вопрос устойчивости информационных систем к кибервоздействиям, как случайным, так и намеренным [1]. Намеренные воздействия могут быть двух типов: чисто внешние, проникающие в систему по используемым каналам связи, и внутренние, через „закладки" в программно-аппаратных компонентах. Последствия несанкционированного вмешательства в деятельность АСУТП посредством кибервоздейетвий могут быть очень разрушительными, причем в роли злоумышленника может оказаться как физическое лицо, так и специально созданная структура недружественного государства [2].
По данным обзора [3], наиболее часто используемые в России зарубежные SCADA-
" " " "
нальных характеристик, обладают и набором выявленных уязвимоетей. То же самое относится и к широко используемым в России зарубежным операционным системам (ОС),
"
С учетом этих обстоятельств единственно разумным решением является построение отечественной SCADA-системы на платформе отечественной же операционной системы, прошедшей сертификацию надежности. В качестве такой операционной системы целесообразно использовать Защищенную сетевую операционную систему реального времени
"
(с) А. И. Благодарный, 2018
ООО „СВД „Встраиваемые системы", город С.-Петербург [4]. Использование отечественной ОС отвечает задаче импортозамещения программного обеспечения, актуальность которой возрастает ввиду геополитических рисков и нарастающего давления экономических
санкций со стороны недружественных государств.
"
лительной техники по 3 классу защиты информации от несанкционированного доступа (система мандатной защиты), 2 уровню контроля отсутствия недекларируемых возможностей, что позволяет использовать указанную операционную систему в информационных и управляющих системах класса защищенности до 1Б включительно. В число ключевых особенностей этой операционной системы входит широкий набор наиболее передовых современных компьютерных технологий, обеспечивающих необходимое качество продукта, в том числе и возможность организации вычислительных процессов в многоядерной среде.
В качестве исходной БСАБА-системы была взята отечественная БСАБА-система ре"
"
на на ряде горно-шахтных предприятий Кузбасса. Практика многолетней эксплуатации
БСАБА-системы показала ее исключительную надежность [5, 6]. Созданные на основе
"
лением разнородные технологические процессы: наземное и подземное энергоснабжение, контроль перемещения персонала в шахтах, управление протяженными цепочками ленточных конвейеров, водоотлив и т. п. Были получены сертификат соответствия и разрешение на применение на предприятиях горнодобывающей промышленности.
Архитектура Б С АБА- с и етс.м ы. Вновь разработанная БСАБА-система реализована
как распределенная вычислительная технологическая сеть, которая одновременно являет"
"
В общем случае программное обеспечение БСАБА-системы представляет собой иерархическое объединение двух подсистем: подсистемы верхнего уровня и подсистемы нижнего уровня, которые запущены на тех или иных узлах технологической сети. Программное обеспечение каждой подсистемы в составе БСАБА-системы, в свою очередь, состоит из некоторого набора программных компонент, оформленных в виде независимых задач или процессов.
Подсистема верхнего уровня, запущенная на каком-либо узле технологической сети,
порождает автоматизированное рабочее место (АРМ) оператора, выполняемое в графи"
то совершенно безразлично, на каких узлах технологической сети запущено программное обеспечение того или иного уровня.
Общая схема БСАБА-системы представляет собой сетевую архитектуру. Она изображена на рис. 1 и отображает схему взаимодействия всех основных компонент с указанием направлений межзадачных потоков данных. Стрелками темного цвета указаны пути передачи сигналов управления, стрелкам светлого цвета соответствуют направления передачи сигналов состояния технологических объектов,
В подсистему верхнего уровня входят следующие компоненты:
"
"
Рис. 1. Общая схема ЭСАБА-систомы
— задача „ГРзегуег" обмена данными со смежными АСУТП, работающими под управлением других операционных систем;
— задача передачи команд управления в подсистему нижнего уровня „ОПУ";
— задача приема данных из подсистемы нижнего уровня ,,ПКД";
— задача передачи данных в подсистемы верхнего уровня па других узлах техпологи-
"
— задача приема данных из подсистем верхнего уровня па других узлах технологиче-
"
Осповпые функции графического интерфейса оператора включают в себя отображение па экране монитора состояния технологического оборудования с помощью выбранной системы графических знаков и удаленное управление объектами технологического оборудования подачей команд управления оператором, а также контроль входа/выхода uepcona.ua в систему.
"
ции о состоянии технологического оборудования, а также команд управления, нротоко-
лирование действий оператора и предоставление максимально возможного сохранения и спектра услуг по обработке и визуализации сохраненной в базе данных информации.
База данных представляет собой набор файлов, состоящих из записей событий в их хронологическом порядке, т, е, упорядоченных по времени их поступления. Каждый файл содержит записи событий, произошедших за одни сутки, начиная с 0 часов. Файл записей за текущие сутки называется оперативным, остальные называются архивными файлами. Имена файлов базы данных образованы из префиксов ,,sPIT" для дискретных сигналов, ,,iPIT" для аналоговых сигналов, ,,еР1Т" для сводок энергоснабжения и ,,mPIT" для сигналов системы наблюдения и оповещения персонала и шестизначного порядкового номера файла, В конце каждых суток текущий оперативный файл переходит в архивный файл с тем же именем и создается новый оперативный файл с порядковым номером, на единицу большим. Далее проверяется общее количество архивных файлов, и если оно превышает заданное, то файл с минимальным существующим номером удаляется.
Компоненты „ОПС", „ОПУ", „ПКД", ,,ППС" подсистемы верхнего уровня являются вспомогательными демпферными задачами. Основное назначение демпферных задач — предотвращение блокировки интерфейса оператора и базы данных по операциям приема/передачи данных и распараллеливание потоков данных на другие запущенные АРМ
"
дого АРМ оператора запускается столько раз, сколько имеется дополнительных узлов
"
"
Количество подключаемых АРМ оператора ограничено лишь максимально допустимым количеством узлов в технологической сети.
Клиентские приложения АРМ оператора могут быть доступны и из других операци-
""
удаленного доступа, при этом для каждого пользователя в указанных операционных системах SCADA-система обеспечивает независимый раздельный доступ к клавиатуре и ручному манипулятору (мыши) для управления АРМ оператора.
Подсистема нижнего уровня образована драйверами — программами сопряжения с датчиками состояния и исполнительными реле управления технологическими объектами, Сюда же входят и драйверы интерфейса со смежными АСУТП — подсистемами
""
"
ров по операциям приема/передачи данных и распараллеливание потоков данных на различные узлы подсистемы верхнего уровня. Механизм распараллеливания обеспечивает
"
"
"
пологической сети.
Кроме рассмотренных выше задач, в состав программного обеспечения SCADA-системы включены также задачи синхронизации баз данных, диагностики состояния всех вычислительных машин технологической сети, диагностики состояния программного обеспечения на всех узлах той же технологической сети и диагностики состояния непосредственно самой локальной вычислительной сети. Вся указанная диагностика выводится на экраны мониторов всех АРМ оператора и записывается во все базы данных.
В процессе перевода SCADA-епетемы „Блакарт" па платформу операционной системы „Нейтрино" архитектура SCADA-еиетемы не изменились. Изменился только программный код, в частности, все обращения к различным системным библиотекам подпрограмм сделаны в POSIX-еовмеетимом формате. Сохранение структуры, основных свойств и функциональных возможностей SCADA-еиетемы в процессе ее перевода в среду операционной "
жденные многолетней работой в реализованных системах управления.
Организация обмена данными в SCADA-системе. При построении вычислительной технологической сети SCADA-еиетемы необходимо строго следовать следующему правилу: каждый компьютер, который является узлом технологической сети SCADA-
"
"
Обмен данными между компонентами одной подсистемы на одном и том же узле технологической сети осуществляется через разделяемую оперативную память с использованием кольцевых буферов данных. Обмен данными между компонентами подсистем на
различных узлах технологической сети осуществляется через сетевые POSIX-еовмеетимые
"
может принимать данные, оформляется в пространстве путевых имен технологической сети как администратор ресурсов со строго фиксированным именем, присваиваемым компоненте автоматически после ее запуска.
Для компонент подсистемы верхнего уровня это фиксированное имя имеет вид "
""
пущена программная компонента. Следовательно, для организации обмена данными между компонентами SCADA-еиетемы достаточно указать списки узлов технологической сети приема данных, как в командной строке запуска компонент подсистемы нижнего уровня, так и в панелях настройки АРМ операторов подсистемы верхнего уровня,
В SCADA-системе не используется контроль состояния технологических объектов ме-
"
уровня, которые передают данные только в случае изменения текущего состояния контролируемого оборудования. Дополнительно, для обеспечения надежного контроля текущего состояния контролируемого оборудования, подсистемы нижнего уровня с некоторым, заранее заданным интервалом времени передают также полную совокупность всех сигналов состояния технологических объектов,
""
надежную и неискаженную передачу пакетов данных, то в SCADA-системе не используются пакеты подтверждения приема данных. Исключение делается только для команд управления, которые возвращают пакет с кодом результата выполнения команды управления.
Используемые в SCADA-системе системы кодирования сигналов различны для подсистемы нижнего уровня и подсистемы верхнего уровня. Кодировка сигналов в подсистеме нижнего уровня отличается большей компактностью, что позволяет существенно улучшить сетевой трафик, т, е, увеличить скорость доставки пакетов данных в подсистему верхнего уровня. Кодировка сигналов в подсистеме верхнего уровня не является компактной, но зато очень хорошо приспособлена под объектно-ориентированное программирование, благодаря чему удается существенно уменьшить временные издержки на обработку
поступающих данных. Для обмена данными между подсистемами верхнего и нижнего уровней используется кодировка подсистемы нижнего уровня. Перекодирование сигналов
в кодировку подсистемы верхнего уровня осуществляет программа подсистемы верхнего
"
Методы разработки конкретного проекта АСУТП. Разработка или модификация конкретного проекта АСУТП сводится к трем основным операциям:
— построение графического интерфейса оператора с помощью системного построителя
"
— составление некоторого набора текстовых конфигурационных файлов подсистемы верхнего уровня;
— составление соответствующего набора текстовых конфигурационных файлов подсистемы нижнего уровня,
"
ня, которая подлежит модификации и настройке при разработке конкретного проекта АСУТП, Графический интерфейс оператора представляет собой набор видеокадров, каждый из которых является мнемосхемой некоторой части технологического оборудования или всего технологического оборудования (главный видеокадр). Графический интерфейс оператора также включает в себя набор панелей состояния и управления технологическим оборудованием.
Главный видеокадр постоянно находится на экране монитора. Остальные видеокадры вызываются оператором по мере необходимости, замещая друг друга и накладываясь на главный видеокадр. Основное отличие панелей состояния и управления технологическим оборудованием от видеокадров заключается в том, что на панелях отображается состояние только одного технологического объекта, и они вызываются на экран монитора в любом количестве и независимо друг от друга. Никаких ограничений на общее количество видеокадров и панелей состояния и управления и на распределение технологического оборудования по видеокадрам не существует. Единственное условие — главный видеокадр должен быть в обязательном порядке и только один.
Система управления базой данных (СУБД) также реализована в виде некоторого подмножества видеокадров и панелей графического интерфейса оператора, но эти графические объекты при разработке конкретного проекта АСУТП модификации не подлежат,
"
к ним относятся как видеокадры и панели, так и совокупность графических знаков на видеокадрах и панелях, имеют имена (теги) и определенные наборы свойств, которые можно увидеть в инспекторе объектов построителя приложений. Графические знаки на видеокадрах и панелях делятся на две категории: знаки, применяемые для оформления, и знаки, которые используются для отображения состояния технологического оборудования (активные графические знаки). Знаки, используемые для оформления, являются безымянными, т, е, имеют некоторый стандартный для построителя приложений тег. Тег активного графического знака можно выбирать совершенно произвольно, но если тег графического знака совпадает с кодом сигнала в кодировке подсистемы верхнего уровня, состояние которого он отображает, то для этого знака предоставляется дополнительная информация, например, график суточного изменения сигнала.
Во вновь разработанной SCADA-системе вся совокупность сигналов состояния и управления разбивается по технологическим объектам, каждый из которых обладает определенным набором сигналов состояния технологического оборудования и управления техно-
логическим оборудованием, В качестве таких технологических объектов могут выступать, например, различные двигатели привода, конвейеры, насосы водоотлива, ячейки энергоснабжения и т, п,
В конфигурационных файлах подсистемы верхнего уровня указывается общий список всех технологических объектов с указанием их кода в подсистеме верхнего уровня, приводятся таблицы сигналов состояния и управления по каждому технологическому объекту и определяются методы отображения сигналов состояния по каждому видеокадру и каждой панели графического интерфейса оператора. Кодировка сигналов в подсистеме верхнего уровня состоит из кода технологического объекта, которому принадлежит сигнал, с добавление символа, определяющего тип сигнала, и добавлением десятичного порядкового номера сигнала по таблице соответствующего типа сигналов.
Текстовые конфигурационные файлы подсистемы нижнего уровня определяют последовательность раеключения датчиков по системам сопряжения с технологическим оборудованием и, дополнительно, задают кодировку данных состояния и управления в кодах подсистемы верхнего уровня. Для кодирования сигналов состояния и управления в подсистеме нижнего уровня используются комбинации из пяти целых чисел: номер узла технологической сети, номер порта на узле, номер канала на узле, тип сигнала и порядковый номер сигнала по конфигурационным файлам подсистемы нижнего уровня.
Сетевая конфигурация технологической сети и распределение программного обеспечения АСУТП по узлам задаются соответствующими текстовыми конфигурационными файлами. Списки и форматы различных сводок состояния объектов технологического оборудования также определяются своими текстовыми конфигурационными файлами сводок. Основные особенности SCADA-системы. Все АРМ оператора являются абсолютно равноправными по операциям отображения состояния контролируемого технологического оборудования и управления технологическим оборудованием. Каждый АРМ оператора обладает собственной локальной архивной базой данных, синхронизированной с прочими базами данных. Отсутствие в технологической сети выделенного сервера данных (сервера приложений) является первой главной особенностью программного обеспечения SCADA-системы, Подобный подход реализует многократное горячее резервирование в системах автоматизированного управления и, тем самым, во-первых, существенно увеличивает надежность автоматизации управления технологическими процессами, а во-вторых, существенно упрощает процесс модификации и настройки программного обеспечения.
Рассматриваемая SCADA-еиетема спроектирована и разработана как SCADA-еиетема реального времени и предназначена для автоматизации технологических процессов, накладывающих жесткие требования на время реакции системы управления на то или иное событие. Существует верхняя оценка времени реакции SCADA-системы на любое одиночное событие, и она измеряется десятками миллисекунд. Гарантированное малое время реакции на любое одиночное событие является второй основной особенностью SCADA-системы,
Настройка программного обеспечения SCADA-системы на конкретный состав и конфигурацию автоматизируемого технологического оборудования, а также методы отображения состояния технологического оборудования на графическом интерфейсе оператора задаются текстовыми конфигурационными файлами подсистем верхнего и нижнего уровней, Непосредственно сам графический интерфейс оператора разрабатывается с помощью
"
родичу заказчикам не только исполняемых модулей SCADA-системы подсистемы нижне-
го уровня, но и передачу по крайней мере всей совокупности объектных модулей программного обеспечения подсистемы верхнего уровня. Однажды установленное программное обеспечение SCADA-системы может быть далее свободно скопировано на любой носитель информации. Таким образом, программное обеспечение SCADA-системы является открытым. И это обстоятельство является третьей основной особенностью программного обеспечения SCADA-системы, и это же обстоятельство существенно усложняет проблему защиты программного обеспечения от несанкционированного использования программно-аппаратными средствами. Для решения указанной проблемы предпочтительнее пользоваться правовыми методами, как это принято в большинстве стран Запада.
Заключение. Защита технологической сети АСУТП от кибератак достигается, как обычно, жестким контролем доступа операторов к управлению по категориям, блокированием всех функций обращения к операционной системе со стороны операторов, а также свойствами самой операционной системы „Нейтрино" и физической развязкой технологической и административной вычислительных сетей предприятий. При необходимости доступ из технологической сети в административную сеть осуществляется только через дополнительные сетевые адаптеры с контролем используемых сервисов стека протоколов TCP/IP. Возможные уязвимости программного обеспечения SCADA-системы могут быть достаточно легко найдены и нейтрализованы, поскольку программный код SCADA-системы является открытым.
Список литературы
1. Голушко С. К., Пищик Б. Н., Чейдо Г. П., Шакиров С. Р. Импортозамещение в области аппаратно-программных комплексов как базис для создания высоконадежных АСУ ТП // Тезисы Международной конференции „Актуальные проблемы вычислительной и прикладной математики - 2015". АМСА-2015, Новосибирск, 19-23 октября 2015. С. 113.
2. Макарчев В., Михайленко Ю., Подервянский Р. Осторожно: вирусы! // Военно-политическое обозрение. 2011. [Электрон, рес.]: http://www.belvpo.com/ru/1159.html.
3. Грицай Г., Тиморин А., Гольцев Ю., Ильин Р., Гордейчик С., Карпин А. Безопасность промышленных систем в цифрах v2.1. [Электрон, рес.]: http://www.ptsecurity.ru/download/ SCADA_analytics_russian.pdf.
4. [Электрон, рес.]: http://www.kpda.ru/products/kpdal0964/.
"
управлением операционной системы QNX // Проблемы информатики. 2009. № 3. С. 62-67.
"
"
по специальности „Механика, прикладная мате"
ре Института гидродинамики СО РАН. С 1980 года работает в области разработки цифровых систем управления технологическими процессами, опасными по тем или иным критериям.
Является ведущим разработчиком системы диспетчерского контроля и управления магистральными нефтепроводами на территориях
Новосибирск, 24-28 сентября 2013. С. 10.
Благодарный Анатолий Иванович — научный сотрудник Института вычислительных технологий СО РАН; тел.: +7 (913)757-13-71; e-mail: ablagodarnyj @mail.ru.
Анатолий Благодарный в 1975 году окончил обучение в Новосибирском государственном университете
Тюменской области и Ханты-Мансийского автономного округа. Участвовал в автоматизации энергоснабжения Сибирского химического комбината. В настоящее время основным направлением научно-производственной деятельности является автоматизация технологических процессов на угольных шахтах Кузбасса.
Anatoly Blagodarnyj in 1975 graduated from Novosibirsk state University majoring in „Mechanics, applied mathematics". Trained and studied at the graduate Institute of hydrodynamics SB RAS.
Since 1980 works in the field of development of digital control systems of technological processes hazardous according to various criteria. He is a leading developer of Supervisory control and management of oil trunk pipelines in the territories of Tyumen region and Khanty-Mansiysk Autonomous Area. I participated in automation of power supply of Siberian Chemical Plant. Now the main direction of research and production activity is automation of technological processes on coal mines of Kuzbass.
Дата поступления — 21.02.2018