Контроль целостности системы в НАЙС.ОС через Secure Boot, IMA и AIDE на ГОСТ-алгоритмах

Secure Boot, IMA и AIDE — это три ключевых компонента системы контроля целостности в НАЙС.ОС. Они обеспечивают защиту на каждом этапе: от загрузки ядра (через ГОСТ-подпись), до запуска служб и проверки системных файлов. В НАЙС.ОС всё это работает на основе ГОСТ-криптографии: Ядро подписано алгоритмом ГОСТ Р 34.10–2012 Хеши для файлов считаются через Streebog (ГОСТ Р 34.11–2012) Ключ доверия встроен в ядро при сборке Пользователь и администратор получают прозрачную защиту целостности: если хоть один файл подменён — это будет зафиксировано, от загрузки до /etc/passwd.

1. Угрозы: зачем нужен контроль целостности

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

🔓 Примеры реальных атак

  • Установка rootkit'а с подменой системных модулей ядра;
  • Инъекция вредоносного кода в libc.so или другие библиотеки;
  • Компрометация загрузчика ( GRUB ) с внедрением неподписанного ядра;
  • Изменение скриптов запуска ( systemd , rc.local ) для закрепления атакующего.

🛑 Почему антивирус и фаервол не спасают

Эти средства работают на уровне пользовательского пространства или поздних этапов загрузки. Они не контролируют:

  • Что реально загружается в память на этапе boot;
  • Была ли подменена библиотека, уже находящаяся в кэше;
  • Какие бинарные файлы исполняются от имени root.

📜 Требования регуляторов

Согласно требованиям ФСТЭК (в том числе по классам защищённости КС3+, 1Г), система должна обеспечивать контроль целостности на всех этапах:

  • Загрузчик, ядро, модули и initrd;
  • Системные библиотеки и исполняемые файлы;
  • Файлы конфигурации и политики безопасности;
  • Сигнализация и логирование при нарушении целостности.

Именно для этих целей в НАЙС.ОС реализованы механизмы Secure Boot , IMA и AIDE — с опорой на российскую криптографию ГОСТ.

2. Архитектура: как это устроено в НАЙС.ОС

В НАЙС.ОС реализована сквозная модель контроля целостности , охватывающая весь жизненный цикл системы — от начальной загрузки до запуска пользовательских процессов. Основные компоненты этой модели:

🔐 Secure Boot с ГОСТ-подписью

На этапе загрузки используется встроенный публичный ключ ГОСТ , который собирается прямо в бинарь ядра Linux (через параметр CONFIG_SYSTEM_TRUSTED_KEYS ). Ядро и initramfs подписаны с использованием ГОСТ Р 34.10–2012 + Streebog , что позволяет ядру проверить их подлинность до запуска пользователя.

🧠 Поддержка IMA и EVM в ядре

Ядро Linux собрано с активированными опциями:

  • CONFIG_IMA=y — подсистема Integrity Measurement Architecture (IMA);
  • CONFIG_EVM=y — Extended Verification Module (атрибуты безопасности);
  • CONFIG_INTEGRITY_SIGNATURE=y — поддержка подписей на основе x509/ГОСТ.

🔒 ГОСТ-криптография через ядро

Все криптографические операции выполняются через встроенные модули ядра Linux , основанные на CryptoAPI :

  • gost28147_generic.ko — алгоритм ГОСТ 28147-89 (блочное шифрование);
  • kuznyechik_generic.ko — Кузнечик (ГОСТ Р 34.12-2015);
  • streebog_generic.ko — ГОСТ Р 34.11-2012 (Streebog256/512);
  • magma_generic.ko — Магма (альтернативная реализация ГОСТ 28147);
  • gosthash94_generic.ko — устаревший ГОСТ-хеш (для обратной совместимости);

Эти модули загружаются автоматически и используются для хеширования и проверки подписей IMA, AIDE и модулей ядра.

Таким образом, контроль целостности в НАЙС.ОС реализован на уровне ядра , без внешних зависимостей, и соответствует требованиям защищённых ОС.

3. Secure Boot с ГОСТ-подписью ядра

В НАЙС.ОС реализована собственная система загрузки доверенного ядра без использования shim и без зависимости от UEFI Secure Boot. Вместо этого используется прямая проверка ГОСТ-подписи ядра с помощью встроенного открытого ключа.

🔏 Подпись ядра ГОСТ-алгоритмами

  • Ядро Linux подписывается с использованием алгоритма ГОСТ Р 34.10-2012 ;
  • В качестве хэш-функции применяется Streebog (ГОСТ Р 34.11-2012) ;
  • Отдельные модули ядра (например, .ko ) также могут быть подписаны этим же ключом.

🔐 Ключ доверия в ядре

Вместо использования внешней цепочки сертификатов, открытый ключ встраивается в ядро при сборке через механизм CONFIG_SYSTEM_TRUSTED_KEYS . Это файл PEM-ключа, который становится частью сегмента .builtin_trusted_keys .

Благодаря этому ядро может самостоятельно проверять подписи — как самого себя (включая initramfs ), так и модулей, даже в изолированной среде (например, без доступа к PKI).

🧪 Проверка на этапе загрузки

Уже на этапе перехода от bootloader к ядру (например, GRUB → vmlinuz), встроенный механизм проверки валидирует:

  • что ядро подписано доверенным ключом,
  • что модули ядра имеют корректные подписи,
  • что IMA/EVM могут запускаться в режиме appraise/audit.
📘 Чем отличается от UEFI Secure Boot и почему без shim — это надёжнее:
  • UEFI Secure Boot требует промежуточных слоёв (shim, MokManager) и взаимодействия с UEFI PKI;
  • НАЙС.ОС использует встроенный, неизменяемый открытый ключ — он не зависит от прошивки материнской платы;
  • Исключается вектор атаки через подмену shim/PK;
  • Реализация проще, детерминированнее и лучше соответствует требованиям ФСТЭК по доверенной загрузке.

4. IMA (Integrity Measurement Architecture)

Подсистема IMA (Integrity Measurement Architecture) в НАЙС.ОС включена на уровне ядра и служит для измерения, контроля и оценки целостности файлов до их исполнения или загрузки.

🔍 Что делает IMA

  • Производит хеширование каждого исполняемого файла при запуске;
  • Сопоставляет полученные значения с эталонной базой (или с подписью);
  • Фиксирует нарушения в журнале или блокирует запуск (в зависимости от политики);
  • Верифицирует библиотеки, скрипты, бинарные файлы, модули ядра и пр.

🔐 ГОСТ-хеширование

В НАЙС.ОС IMA использует Streebog256 и Streebog512 в качестве хеш-функций. Они доступны благодаря модулю ядра streebog_generic.ko и подключаются через cryptoapi :

  • IMA может записывать хеши в measure log с использованием ГОСТ;
  • Можно указать алгоритм явно: ima_hash=streebog256 в параметрах ядра.

🔏 Подписи и режим appraise

IMA поддерживает режим appraise , при котором запускаются только те файлы, у которых есть корректная подпись. В НАЙС.ОС возможно использование ГОСТ-подписей на основе x.509 :

  • Файл подписывается ГОСТ-ключом в формате x509 ;
  • IMA валидирует его перед выполнением;
  • Если подпись отсутствует или некорректна — файл не запускается.

🛠️ Пример политики

Файл /etc/ima/policy.conf может содержать строки вида:

    
      appraise func=BPRM_CHECK mask=MAY_EXEC uid=0
    
  

Это означает: "требовать подпись при запуске бинарников от root".

IMA работает как активный агент доверия — он не просто логирует нарушения, но может препятствовать запуску подозрительных или подменённых компонентов в системе.

5. AIDE (Advanced Intrusion Detection Environment)

В НАЙС.ОС предустановлен и настроен AIDE — инструмент для регулярного контроля целостности файловой системы . Он сканирует каталоги, считает хеши всех важных файлов и сравнивает их с эталонной базой. Нарушения целостности логируются и могут автоматически передаваться в систему уведомлений.

🔐 ГОСТ-хеширование по умолчанию

  • AIDE в НАЙС.ОС использует ГОСТ Р 34.11–2012 (Streebog) в качестве алгоритма хеширования;
  • Это гарантирует соответствие требованиям по криптографии и совместимость с ГОСТ-инфраструктурой;
  • Поддержка реализована через OpenSSL или nss-native вызовы при сборке.

🛠️ Использование AIDE

После установки, AIDE можно использовать в двух основных режимах:

  • aide --init — инициализирует базу хэшей для текущего состояния файловой системы;
  • aide --check — выполняет сравнение с эталонной базой и выводит все отличия.

🧩 Где хранится база

База данных AIDE обычно сохраняется в /var/lib/aide/aide.db.gz , с контрольными подписями и сохранением разрешений. После изменений в системе (например, обновлений) следует пересоздавать базу.

📘 Как включить cron-проверку и отправку в журнал:
  • Добавьте задание в /etc/cron.daily/aide :
              
                #!/bin/bash
                /usr/bin/aide --check | logger -t aide --priority=notice
              
            
  • Убедитесь, что journalctl и rsyslog собирают теги aide ;
  • Нарушения попадут в системный журнал и могут быть отправлены по почте или в SIEM.

Таким образом, AIDE дополняет Secure Boot и IMA, обеспечивая постоянный контроль за всей системой , включая данные и пользовательские конфигурации.

Где именно применяются ГОСТ-алгоритмы

Все ключевые компоненты цепочки доверия в НАЙС.ОС используют сертифицированные алгоритмы ГОСТ. Это обеспечивает соответствие российским стандартам информационной безопасности и полную совместимость с регламентами, применимыми к защищённым ИТ-системам.

Компонент ГОСТ-алгоритм Использование
Secure Boot ГОСТ Р 34.10–2012 + Streebog Подпись ядра и модулей ядра
IMA Streebog256 / Streebog512 Хеширование исполняемых файлов при запуске
AIDE Streebog Проверка содержимого и изменений файловой системы
CryptoAPI (ядро Linux) gost* , kuznyechik* , magma* Реализация ГОСТ-шифров и хешей в ядре: модули *.ko

Все алгоритмы реализованы либо через встроенные механизмы ядра Linux (CryptoAPI), либо через доверенные криптографические библиотеки, совместимые с ГОСТ. Это позволяет обеспечить настоящую сквозную защиту : от загрузки системы до исполнения пользовательских приложений.

8. Для разработчиков и дистростроителей

В НАЙС.ОС уже включён встроенный публичный ключ доверия , собранный в ядро Linux через параметр CONFIG_SYSTEM_TRUSTED_KEYS . Это означает, что вы можете использовать нашу инфраструктуру подписания для:

  • Подписывания собственных модулей ядра (например, nginx.ko , VPN-драйверов и т.п.);
  • Формирования и верификации IMA-профиля своей подсистемы или продукта;
  • Сборки доверенных пакетов с расширенной защитой на уровне ядра.

📥 Как подписать модуль или файл

Если вы хотите использовать официальный ключ доверия, встроенный в ядро НАЙС.ОС, обратитесь в нашу команду через форму обратной связи на niceos.ru или по внутреннему регламенту. Подписание возможно:

  • По запросу (для партнёров и внутренних команд);
  • Автоматизировано через внутренний CI (если модуль проходит аудит и соответствует политике безопасности).

🔏 Как подписывать модули ГОСТ-подписью самостоятельно

Если вы используете свой ключ ГОСТ:

  1. Создайте X.509-сертификат с ключом ГОСТ Р 34.10-2012;
  2. Соберите модуль ядра с поддержкой подписи ( CONFIG_MODULE_SIG=y );
  3. Подпишите модуль с помощью sign-file из комплекта ядра:
    
      scripts/sign-file gost2012_512 streebog512 cert.pem key.pem mymodule.ko
    
  

Убедитесь, что ваш публичный ключ находится в .builtin_trusted_keys или указан в параметре загрузки ima_policy= для доверия на уровне IMA.

🧩 Создание собственного IMA-профиля

Пример профиля IMA:

    
      measure func=BPRM_CHECK
      appraise func=BPRM_CHECK appraise_type=imasig
    
  

Профиль можно сохранить в /etc/ima/policy.conf и активировать через параметр ядра: ima_policy=/etc/ima/policy.conf

📘 Пример: модуль nginx проверяется по ГОСТ-сигнатуре при запуске

Вы установили модуль ngx_http_modsec.ko и подписали его через sign-file . При запуске nginx ядро проверяет подпись, валидирует её через streebog и сертификат ГОСТ. В случае несоответствия — модуль не загружается, сообщение фиксируется в journalctl и audit.log .

Таким образом, разработчики и сборщики дистрибутивов могут использовать IMA и систему подписей ГОСТ для создания защищённых модулей и пользовательских компонентов, совместимых с политиками безопасности НАЙС.ОС.

9. Что получает пользователь и ФСТЭК-инспектор

В НАЙС.ОС реализована сквозная система доверия — от загрузки ядра до запуска пользовательских процессов. Это не только техническое решение, но и практический шаг к соответствию нормативным требованиям регуляторов.

✅ Что получает пользователь

  • Гарантия целостности: ядро и модули подписаны ГОСТ-ключом и проверяются на этапе загрузки;
  • Контроль системных файлов: IMA и AIDE отслеживают попытки подмены и логируют нарушения;
  • Автоматическая защита: даже с правами root нельзя выполнить неподписанный файл или модуль;
  • Прозрачность: события логируются, доступны для аудита и интеграции в SIEM-систему.

🛡️ Что получает ФСТЭК-инспектор

  • Контроль целостности реализован на всех уровнях — от BIOS до пользовательских данных;
  • Мандатная доверенная загрузка без shim/UEFI, с ГОСТ-подписью и встроенным ключом;
  • ГОСТ-криптография используется на каждом этапе: Secure Boot, IMA, AIDE, CryptoAPI;
  • Документируемая реализация: политики, подписи, сертификаты и логи соответствуют требованиям по сертификации (например, для КС3/1Г).

Такой подход позволяет повысить доверие к системе со стороны пользователей, администраторов и регуляторов. Всё работает «из коробки», без необходимости вручную собирать ядро или переупаковывать модули.

10. Дорожная карта

Защита целостности в НАЙС.ОС уже охватывает ядро, модули, системные файлы и исполняемые процессы. Следующий шаг — расширение этих механизмов на уровень всей корневой файловой системы.

🔒 Immutable RootFS + Подписанный Overlay

  • Поддержка неизменяемой корневой файловой системы (immutable rootfs) , смонтированной только для чтения;
  • Использование подписанного OverlayFS для временных изменений (журнал, логи, кэш);
  • Проверка целостности оверлея и контроль попыток модификации;
  • Интеграция с IMA для обеспечения аттестации даже во временной среде.

Это сделает невозможным скрытое изменение системных компонентов даже с root-доступом, упростит аудиты и приблизит систему к стандартам reproducible + verifiable OS .

Поддержка этой функции уже находится в разработке и будет доступна в редакции ГОСТ.ОС как опция для защищённых сред (например, терминалов СКЗИ, УЦ, СМЭВ).

11. Заключение

НАЙС.ОС обеспечивает сквозную защиту целостности и доверенную загрузку на всех этапах: от бутлоадера до запуска пользовательских процессов и системных служб.

ГОСТ-алгоритмы реализованы встроенно : ядро поддерживает модули для Streebog , Kuznyechik , Magma и ГОСТ-подписей. Всё работает без внешних патчей или нестабильных надстроек.

Такая архитектура может не только отвечать требованиям регуляторов (ФСТЭК и т.д.), но и формирует фундамент защищённой ИТ-системы , подходящей для:

  • эксплуатации в системах ИСПДн и КИИ ,
  • документооборота (ЭДО, СМЭВ),
  • серверов доверенной инфраструктуры и CI/CD,
  • а также рабочих станций с повышенными требованиями к безопасности.

Надёжность начинается с доверия — и в НАЙС.ОС это доверие реализовано технически, криптографически и архитектурно.

⚠️ Важно: статус сертификации

НАЙС.ОС на текущий момент готовится к сертификации ФСТЭК России в редакции ГОСТ.ОС . Уже реализованы ключевые технические меры, которые должны соответствовать требованиям:

  • ГОСТ-криптография на всех уровнях (Secure Boot, IMA, AIDE);
  • Поддержка мандатной модели доступа (SELinux MLS);
  • Контроль целостности, событий и обновлений через проверенные цепочки поставки;
  • Полноценная подготовка документации, SBoM и криптообоснований.

Мы будем отдельно объявлять о начале процедур сертификации и результатах по мере их прохождения.

Комментарии
Обратная связь

Нашли неточность или хотите предложить улучшение статьи? Напишите нам.

Отправить отзыв

НАЙС.ОС включена в реестр российского ПО (Реестровая запись №30128 от 22.10.2025).
Реестровая запись произведена на основании поручения Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации от 22.10.2025 по протоколу заседания экспертного совета от 09.10.2025 №872пр
Свидетельство о государственной регистрации программы для ЭВМ №2025612870 от 05 февраля 2025 г.
Процессы разработки и поставки выстроены так, чтобы поддерживать требования ФСТЭК/ГОСТ и быть пригодными для оценки/сертификационных работ (при определении области и объекта сертификации).