Контроль целостности
Контроль целостности --- механизм информационной безопасности, направленный на обеспечение неизменности данных, программного обеспечения и ресурсов системы. Цель --- предотвратить несанкционированные изменения и гарантировать, что данные изменяются только запланированным образом.
Целостность может быть нарушена на разных этапах:
- При хранении --- вследствие воздействия вредоносного ПО или физического повреждения сервера.
- При передаче --- путём перехвата и подмены данных в канале связи.
- При обработке --- из-за технических сбоев, приводящих к сохранению данных в неверном формате.
Контроль целостности ПО предусмотрен требованиями ГосСОПКА и ФСТЭК России (п. 20.9 --- меры по обеспечению целостности информационной системы). Также регламентируется ГОСТ Р в части определений событий и нарушений безопасности информации.
Архитектура
Процесс отслеживания целостности разделяется на два этапа: инициализация (создание эталона) и мониторинг (сравнение с эталоном).
Этап 1. Инициализация
- Снятие слепка --- создание эталонной базы хешей для контролируемых файлов.
- Сканирование директорий --- обход целевых путей (например,
/lib/echelon/). - Вычисление хешей --- расчёт контрольных сумм по алгоритму SHA-256 для каждого файла.
- Сохранение в БД --- защищённое хранение эталонных значений в неизменяемой базе данных immudb.
Этап 2. Мониторинг
Проверка целостности запускается по расписанию или по запросу и включает следующие шаги:
- Сканирование файловой системы по заданным путям.
- Вычисление текущих хешей файлов.
- Сравнение с эталонной базой.
- Классификация результатов.
- Генерация отчёта и отправка данных в SIEM.
Трёхуровневая иерархия
Целостность файлов определяется через иерархическую структуру:
| Уровень | Сущность | Назначение |
|---|---|---|
| 1 | Файлы (Records) | Отдельные файлы, отслеживаемые по пути и хешу |
| 2 | Группы записей (Record Groups) | Коллекции файлов, объединённые по шаблонам путей |
| 3 | Сервисы (Services) | Логические группировки групп записей для компонентов KOMRAD |
Файлы
Для каждого контролируемого файла сохраняются следующие данные:
| Атрибут | Описание |
|---|---|
| Путь к файлу | Полный путь в файловой системе |
| Название | Имя файла |
| Тип | Тип файла |
| Размер | Размер файла в байтах |
| Контрольная сумма | Хеш файла (SHA-256, SHA-512, Стрибог-256, Стрибог-512) |
| Владелец (UID) | Идентификатор владельца файла |
| Права доступа | Разрешения для работы с файлом |
| Дата создания | Временная метка создания файла |
| Время последней модификации | Временная метка последнего изменения |
| Состояние целостности | Текущий статус проверки |
Для файлов сохраняется история изменений --- слепки, созданные во время проверок или перерасчёта контрольных сумм. История хранится в неизменяемой базе данных immudb.
При проверке целостности учитываются следующие свойства файла:
content--- содержимое файла;modtime--- дата изменения файла;permissions--- разрешения для работы с файлом;size--- размер файла.
Группы записей
Группы записей объединяют файлы по шаблонам путей (glob-паттерны). Для каждой группы указывается:
- шаблон путей к файлам;
- алгоритм хеширования;
- контролируемые свойства файлов.
Сервисы
По умолчанию после установки KOMRAD на сервере контроля целостности создаются предзагруженные сервисы с установленными хешами.
Примеры сервисов для KOMRAD 4.6:
certs--- сертификатыbus--- интеграционная шинаcli--- интерфейс командной строкиcollectors--- коллекторыprocessor--- процессор событийreactor--- модуль реакцийserver--- сервер KOMRADpauth-server--- сервер аутентификацииgrafana--- панель мониторингаwaf-proxy--- WAF-проксиpackages--- пакеты
Пользователь может создавать собственные сервисы и рассчитывать контрольные суммы для них.
Задачи проверки целостности
Ключевые операции
-
Вычисление хеша --- расчёт контрольных сумм (SHA-256, SHA-512, Стрибог-256, Стрибог-512) с учётом содержимого файла, прав доступа, времени модификации и размера.
-
Верификация --- сравнение текущего состояния файла с эталоном. Обнаруживаются:
- несовпадение хешей (модификация файла);
- отсутствующие файлы;
- неожиданные новые файлы;
- ошибки доступа.
-
Аудит --- логирование всех операций в формате JSON для передачи в SIEM.
-
Фильтрация по glob-шаблонам --- дополнительное добавление или игнорирование файлов при проверке (например,
/etc/**/*.conf).
Категории результатов
| Категория | Описание |
|---|---|
| Проверено файлов | Общее число обработанных файлов |
| Файлы без ошибок | Файлы, хеш которых совпадает с эталоном |
| Изменённые файлы | Файлы с несовпадающими контрольными суммами |
| Отсутствующие файлы | Файлы, имеющиеся в эталоне, но не найденные в файловой системе |
| Неожиданные новые файлы | Файлы, обнаруженные в файловой системе, но отсутствующие в эталоне |
| Ошибки доступа | Файлы, к которым невозможно получить доступ |
Статусы задач
| Статус | Описание | Доступные действия |
|---|---|---|
| Создана | Задача создана, но не запущена | Запустить |
| В процессе | Задача запущена, но не завершена | Поставить на паузу, Остановить |
| На паузе | Задача приостановлена | Запустить, Остановить |
| Завершена | Задача успешно завершена | Скачать отчёт |
| Отменена | Задача была отменена | Запустить |
Пример результата проверки
{
"timestamp": "2026-01-21T08:45:00Z",
"event_type": "integrity_violation",
"file_path": "/etc/passwd",
"file_name": "text",
"file_type": ".txt",
"status": "modified",
"expected_result": "e3b0c442...",
"actual_result": "8125603a..."
}
Безопасность и хранение данных
Для хранения эталонных хешей используется immudb --- неизменяемая база данных с криптографической верификацией. Все операции записи создают новые версии записей, а предыдущие хеши остаются в истории для аудита.
Преимущества использования immudb:
- Криптографическая защита от несанкционированного изменения данных.
- Полная история всех изменений с временными метками.
- Поддержка версионированных и временных запросов.
Интеграция с SIEM
Сервер контроля целостности обеспечивает:
- Генерацию структурированных логов в формате JSON.
- Отправку событий нарушения целостности в систему SIEM.
- API для запросов состояния файлов, групп и сервисов.
- Подтверждение целостности по запросу от внешних систем.