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, MokManager) и взаимодействия с UEFI PKI;
- НАЙС.ОС использует встроенный, неизменяемый открытый ключ — он не зависит от прошивки материнской платы;
- Исключается вектор атаки через подмену shim/PK;
- Реализация проще, детерминированнее и лучше соответствует требованиям ФСТЭК по доверенной загрузке.
4. IMA (Integrity Measurement Architecture)
Подсистема IMA (Integrity Measurement Architecture) в НАЙС.ОС включена на уровне ядра и служит для измерения, контроля и оценки целостности файлов до их исполнения или загрузки.
🔍 Что делает IMA
- Производит хеширование каждого исполняемого файла при запуске;
- Сопоставляет полученные значения с эталонной базой (или с подписью);
- Фиксирует нарушения в журнале или блокирует запуск (в зависимости от политики);
- Верифицирует библиотеки, скрипты, бинарные файлы, модули ядра и пр.
🔐 ГОСТ-хеширование
В
НАЙС.ОС
IMA использует
Streebog256 и Streebog512
в качестве хеш-функций. Они доступны благодаря модулю ядра
streebog_generic.ko
и подключаются через
cryptoapi
:
-
IMA может записывать хеши в
measurelog с использованием ГОСТ; -
Можно указать алгоритм явно:
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
, с контрольными подписями
и сохранением разрешений. После изменений в системе (например, обновлений) следует пересоздавать базу.
-
Добавьте задание в
/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 (если модуль проходит аудит и соответствует политике безопасности).
🔏 Как подписывать модули ГОСТ-подписью самостоятельно
Если вы используете свой ключ ГОСТ:
- Создайте X.509-сертификат с ключом ГОСТ Р 34.10-2012;
-
Соберите модуль ядра с поддержкой подписи (
CONFIG_MODULE_SIG=y); -
Подпишите модуль с помощью
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
Вы установили модуль
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 и криптообоснований.
Мы будем отдельно объявлять о начале процедур сертификации и результатах по мере их прохождения.