Обеспечение информационной безопасности (ИБ) объектов критической информационной инфраструктуры (КИИ) Российской Федерации (РФ) является важной составляющей государственного суверенитета. На объектах электроэнергетики, относящихся к значимым объектам КИИ (ЗОКИИ), должны применяться полностью отечественные, доверенные программно-аппаратные комплексы и сертифицированные ФСТЭК России средства защиты информации (СЗИ), в том числе СЗИ от несанкционированного доступа (СЗИ НСД), часто в составе операционных систем (ОС) [1, 2].
Требования ИБ, предъявляемые к СЗИ, можно условно разбить на функциональные и требования доверия. Функциональные требования непосредственно помогают реализовать меры защиты, определяемые перечнем актуальных угроз объекта, возможными тактиками и техниками актуальных злоумышленников, которые потенциально могут использоваться для реализации угроз. Как правило, они описаны в формулярах СЗИ, а также технических условиях (ТУ), заданиях по безопасности (ЗБ) и профилях защиты (ПЗ). Требования доверия включают требования к разработке и производству, документации, испытаниям и поддержке СЗИ и являются итогом комплексного подхода. Кроме того, вводятся подходы к организации жизненного цикла разработки безопасного программного обеспечения (РБПО), призванные повысить качество кода не только СЗИ, но и прикладного программного обеспечения (ППО), для чего вводится процедура оценки соответствия самого процесса разработки.
К наиболее известным отечественным ОС, реализующим функции защиты, которые отвечают требованиям ИБ, актуальным для большинства энергообъектов (исходя из моделей угроз и требований нормативно-правовых актов) относятся:
Данные ОС разворачиваются на серверах, стационарных и переносных персональных компьютерах (ПК). Соответствие требованиям ИБ достигается благодаря использованию подходов РБПО, включающих ряд проверок на разных этапах разработки продукта, направленных на раннее выявление ошибок, уязвимостей и потенциально опасных конструкций. Само соответствие подтверждается на этапе сертификации.
Эксплуатация комплексов релейной защиты и автоматики (РЗА) энергообъектов использует сервисное программное обеспечение (ПО), в том числе, для проведения испытаний и анализа функционирования элементов систем РЗА. Указанное ПО может выполняться в виде веб- или десктопных приложений. Последние нашли широкое распространение, например, для компьютерно-управляемых испытательных комплексов.
Особенностью разработки ПО для десктопных приложений является выбор библиотек и фреймворков (наборов инструментов) для отрисовки графического интерфейса пользователя (ГИП, или GUI/UI) с учётом ответственности применения ПО на ЗОКИИ.
Далее рассматриваются вопросы разработки десктопных приложений для эксплуатации РЗА с точки зрения работы в безопасной сертифицированной среде.
ПО, устанавливаемое на оборудование с сертифицированными отечественными ОС, не должно понижать общий уровень защищенности объектов КИИ. Соответственно, программы не должны использовать несертифицированные сторонние библиотеки, которые могут иметь потенциальную возможность доступа к системным функциям или взаимодействовать напрямую с оборудованием. Использование в ППО библиотек, содержащих небезопасный, неописанный, недекларируемый, неисследованный функционал, может существенно понизить безопасность на энергообъекте. Наиболее безопасным и надежным решением является использование компонентов, прошедших оценку соответствия, например, в составе самой сертифицированной ОС.
Вне зависимости от лицензии и открытости исходного кода, к безопасному можно отнести только прошедшее оценку соответствия испытательными лабораториями в системе ФСТЭК России (или других уполномоченных органов РФ), ПО (ОС, библиотеки, фреймворки, программы).
Приказ ФСТЭК России от 25.12.2017 N 239 «Об утверждении Требований по обеспечению безопасности значимых объектов критической информационной инфраструктуры Российской Федерации» позволяет провести оценку соответствия требованиям доверия собственными силами в форме приемки, но требования доверия подразумевают проведение проверок, в том числе, сложных, комплексных, требующих наличия компетенций в области статического и динамического анализа, а также подразумевают наличие доступа к исходному коду оцениваемого ПО. Данные обстоятельства делают самостоятельную оценку соответствия практически невыполнимой для большинства субъектов КИИ, в особенности обладающих ЗОКИИ 1 и 2 категорий значимости.
Даже учитывая тот факт, что обязательных требований к наличию сертификата ФСТЭК России к ППО и его библиотекам не предъявляется, библиотеки, имеющие свободные лицензии и открытый исходный код не являются безопасными, поскольку:
В качестве примера, при котором вероятно появление указанных проблем, можно привести установку ППО, использующего библиотеки Microsoft в отечественных ОС на основе ядра Linux. ППО, установленное внутри сертифицированной по ряду требований ИБ ОС, попадает в зависимость от программных компонентов и политики разработчиков ПО одной из недружественных стран. Также в этом случае сертифицированная отечественная ОС на базе ядра Linux теряет свои основные преимущества перед Windows. Другим примером является применение в ОС Linux слоёв совместимости типа Wine для запуска программ, разработанных под ОС Windows. Нормативно-правовые акты [3] требуют отказаться от данной зависимости для обеспечения повышенного уровня безопасности.
В качестве примера рассмотрим два подхода к разработке ПО на распространенных языках программирования C++ и C#.
C/C++ является компилируемым языком программирования. Суть компиляции сводится к преобразованию исходного кода в машинный. Запуск программы осуществляется на платформе ОС, под которую она была скомпилирована.
C# является компилируемым языком программирования под виртуальную машину. Исходный код программы на С# компилируется, но не в машинный код, а в так называемый байт-код. Для запуска такой программы требуется другая программа, называемая «виртуальной машиной», которая переводит байт-код в машинный. Такой подход позволяет, при наличии в ОС разных виртуальных машин, запускать одну и ту же программу на разных платформах без перекомпиляции. Данный механизм повышает требования к аппаратному обеспечению, так как ОС необходимо обслуживать виртуальную машину. ОС на базе ядра Linux могут включать в составе несертифицированной части своего репозитория программные пакеты .NET от компании Microsoft для запуска консольных и десктопных приложений на языке С#.
Следующие инструменты используются для запуска программ, код которых разработан с использованием сторонних технологий компании Microsoft:
Wine – это слой совместимости, который позволяет запускать Windows-приложения в ОС Linux. Он транслирует Windows API в системные вызовы Linux. Соответственно, уязвимости в этих API могут быть использованы для атак на систему через Wine. Несмотря на то, что Wine входит в состав ОС Astra Linux, его возможности ограничены и, как правило, для запуска Windows-ПО необходима доустановка дополнительных внешних библиотек Microsoft и других разработчиков, что представляется небезопасным, рискованным и нежелательным для использования данного ПО на ЗОКИИ.
.NET представляет собой бесплатную кроссплатформенную высокопроизводительную платформу для разработки приложений с открытым кодом, поддерживаемую корпорацией Microsoft. Язык программирования C# (этой же компании Microsoft) является самым распространённым языком для платформы .NET. Сама по себе платформа .NET включает поддержку моделей консольных приложений и веб-приложений, но не содержит десктопный графический интерфейс пользователя (UI). Таким образом, несмотря на поддержку языка C# в отечественных и безопасных ОС (табл. 1), для разработки и запуска GUI-программ необходима установка дополнительных программных пакетов [4].
Библиотеки платформы .NET в ОС Astra Linux устанавливаются из расширенного репозитория, ПО в котором является сторонним по отношению к ОС Astra Linux и не дорабатывается с точки зрения выполнения требований по безопасности информации, а также не проверяется при сертификации [5].
Таблица 1 – Основные пакеты для разработки на .Net 8.0 из репозиториев Astra Linux
Пакет |
Репозиторий |
Описание |
dotnet8 |
extended |
Инструменты .NET CLI и среда выполнения |
dotnet-sdk-8.0 |
extended |
Комплект разработки ПО на .NET 8.0 |
dotnet-runtime-8.0 |
extended |
Среда выполнения .NET (исключая веб-приложения) |
aspnetcore-runtime-8.0 |
extended |
Среда выполнения ASP.NET Core (веб-приложения) |
Таблица 2 – Основные пакеты для разработки ПО на С#
Пакет |
Репозиторий |
Описание |
dotnet-sdk |
extended |
Комплект разработки ПО на .NET |
Avalonia |
microsoft |
Основной пакет Avalonia UI |
Avalonia.Desktop |
microsoft |
Пакет для создания приложений для рабочего стола (десктопных) |
Avalonia является открытым кроссплатформенным UI-фреймворком, который позволяет создавать десктопные приложения на языке C# с использованием .NET для ряда ОС, включая основанные на ядре Linux.
Рассматривая отечественный дистрибутив ОС Linux на примере Astra Linux, можно определить, какие зависимости требует внести в состав этой ОС ПО, разработанное на C#. Как указано в документации ОС Astra Linux [6] (табл. 2), хранилище пакетов Avalonia для разработки GUI-приложений принадлежит компании Microsoft.
sudo apt install ca-certificates apt-transport-https
wget -O - https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc.gpg > /dev/null
sudo wget https://packages.microsoft.com/config/debian/10/prod.list -O/etc/apt/sources.list.d/microsoft-prod.list
sudo apt update
sudo apt-get install dotnet-runtime-Х.Х
sudo dpkg -i dotnet-host_Х.Х_amd64
sudo dpkg -i dotnet-hostfxr-Х.Х_Х_amd64
sudo dpkg -i dotnet-runtime-deps-Х.Х_Х_amd64
sudo dpkg -i dotnet-runtime-Х.Х_Х_amd64
Таким образом, установка дополнительных пакетов в ОС AstraLinux производится из репозиториев с сайта, расположенного в домене microsoft.com. Добавление репозитория «microsoft» (табл. 2) в качестве «доверенного» (условно, т.к. для безопасности системы он не может считаться доверенным) приводит к возможности устанавливать из него произвольные пакеты, имеющие компоненты с произвольными версиями.
Для сравнения, разработка GUI с применением языка программирования С++ и UI-фреймворка GTK (который является частью всех отечественных ОС на базе ядра Linux) не требует установки пакетов Microsoft и использует только свободные библиотеки основного (сертифицированного) репозитория ОС Linux. Примеры структуры ППО на основе технологий .NET с Avalonia и с использованием только компонентов ОС Linux приведены на рис. 1.
![]() |
![]() |
а) ППО на базе С#, .NET и Avalonia |
б) ППО на базе С++ и библиотеки GTK |
Рис. 1 – Примеры реализации десктопного ПО
Можно обобщить следующие риски при внедрении ПО использующего указанные технологии программирования:
Резюме. Использование сторонних библиотек в сертифицированной ОС угрожает безопасности всей системы в целом. Поэтому, более безопасным и надежным является использование компонентов только самой сертифицированной ОС и/или компонентов, сертифицированных отдельно в системе ФСТЭК России.
При создании ПО для программно-аппаратных комплексов, которые будут использоваться на объектах КИИ, можно выделить следующие основные принципы.
На основе рассмотренных принципов была выполнена разработка кроссплатформенного ПО для проверки устройств релейной защиты и автоматики «ПроВерь РЗА», в соответствии с ГОСТ [8]:
ПО «ПроВерь РЗА» может функционировать под всеми видами отечественных ОС на базе ядра Linux и поддерживает преемственность и совместимость с предыдущими разработками ООО «НПП «Динамика» [9, 10] по внешнему виду (рис. 2), функциональности (табл. 3) и архивам. Разработанные ранее шаблоны сценариев и архивы используются в кроссплатформенном ПО, что обеспечивает бесшовный переход на новую версию продукта. Благодаря кроссплатформенности, для пользователей энергообъектов которые не относятся к объектам КИИ, предлагается специальная сборка для работы под ОС Windows.
![]() |
![]() |
![]() |
а) главное окно |
б) ручное управление |
в) генератор автоматических проверок |
Рис. 2 – Внешний вид кроссплатформенного ПО «ПроВерь РЗА»
При создании кроссплатформенного ПО «ПроВерь РЗА» использовался предыдущий опыт разработки ручного, полуавтоматического, автоматического и специализированного ПО [11]. Внедрены интеллектуальные конструкции, благодаря которым созданный ранее инструментарий для визуальной разработки шаблонов и сценариев, получил существенное развитие.
Таблица 3 – Основные возможности кроссплатформенного ПО «ПроВерь РЗА»
1 |
Стандартный пакет программ ручных и автоматических проверок РЗА |
2 |
Поддержка синхронного управления приборами серии РЕТОМ |
3 |
Гибкая настройка аппаратных средств |
4 |
Поддержка модуля объекта испытания и подстройка под проверяемый объект |
5 |
Визуальное создание модулей проверок шкафов и сложных защит |
6 |
Поддержка сценариев для повторного использования наработанных шаблонов проверки шкафов |
7 |
Поддержка МЭК 61850, MMS, GPS/ГЛОНАСС |
8 |
Гибкая настройка пользователем внешнего вида, количества встроенных окон и их размеров |
9 |
Режимы работы: независимое управление, короткое замыкание, симметричные составляющие, реле сопротивления и реле мощности |
10 |
Автоматическая подстройка конфигурации под выбранные аппаратные средства |
11 |
Работа с виртуальными каналами аппаратных средств |
12 |
Работа с клеммником объекта испытания |
13 |
Динамическое добавление произвольного количества измерительных органов (ступеней) РЗА |
14 |
Настраиваемая привязка любого параметра к выбираемому пользователем произвольного поля |
15 |
Выбор и настройка алгоритмов испытаний |
16 |
Отображение процесса испытаний |
17 |
Формирование единого протокола испытаний |
Для более полной диагностики рабочей конфигурации оборудования РЗА используется сервис MMS при совместной проверке функций релейной защиты и функций АСУТП. Проверка без перепрограммирования и минимальное количество переключений во время испытаний в значительной степени сокращают время испытаний и облегчают их проведение. При таком подходе уменьшается влияние человеческого фактора, повышается достоверность результатов, качество и надежность последующей эксплуатации оборудования на объектах КИИ.
Жуковский А.В.,
Катайкин А.А.,
Рыжов Э.П.,
Смирнов Ю.Л.,
к.т.н. Шалимов А.С.
ООО «НПП «Динамика»,
Иванов А.Ю.
ООО «СИГМА»
г. Чебоксары
июнь 2025