ПОД.2 — Подготовка исследовательского стенда
Раздел методики: 3.2
Применимость для уровня доверия 4 (уровень контроля 4): базовое исследование + усиления 1, 2
Кто проводит: испытательная лаборатория
Задачи исследования
- Подготовить исследовательский стенд, обеспечивающий проведение исследований в соответствии с представлением об ОО и разработанной методикой (ПОД.1).
- Подготовить специальные отладочные сборки ОО (со встроенными датчиками срабатывания ошибок — обязательно для уровня контроля 4, усиление 1).
Исходные данные
От разработчика ОО (полный пакет п. 2.3 Методики):
- а) Документация на ОО: руководство по безопасной установке и настройке, руководство администратора, руководство пользователя, формуляр
- б) Исходный код ОО
- в) ⭐ Сборочная среда и система сборки ОО, включая их документацию (необходима для контролируемой сборки)
- г) Дистрибутив ОО
- д) Результаты выполнения процессов разработки ОО по ГОСТ Р 56939-2024 (в части, необходимой для настройки стенда)
- е) Перечень программных компонентов и образов контейнеров ОО в формате CycloneDX 1.6/1.7 (JSON)
- з) При внесении изменений в сертифицированный ОО: план поддержки безопасности заимствованных компонентов
- и) Для контейнерного исполнения: перечни разрешённых действий (правила) взаимодействия компонентов ОО (из эксплуатационной документации)
Из предыдущих этапов:
- Сведения из ПОД.1: методика проведения исследований, поверхность атаки, перечень анализируемых модулей — для определения состава сред выполнения исследований
Требования к проведению исследования
Выбор сред функционирования
- Испытательная лаборатория формирует перечень сред выполнения исследований, определённых в рамках КАО.2, ДАО.1 и методики функционального тестирования ОО, включая не менее одной среды для каждого семейства сред функционирования.
- Каждая операционная система формирует собственное семейство сред функционирования.
- Для контейнерных сред: семейство определяется парой «базовая технология контейнеризации — операционная система».
- Для виртуализационных сред: семейство определяется базовой технологией виртуализации.
- При выборе среды из семейства следует выбрать среду с наименьшим защитным потенциалом.
Контролируемая сборка дистрибутивов ОО
Испытательная лаборатория выполняет контролируемую сборку дистрибутивов ОО для выявления:
- Взаимодействий сборочных сред и систем сборки с артефактами, размещёнными за пределами репозитория, контролируемого разработчиком.
- Использования в сборочном процессе программного кода, в отношении которого анализ не был выполнен в требуемом виде и объёме.
- Включения в состав дистрибутива исполняемых файлов, не собираемых разработчиком из исходных кодов.
Критично: при обнаружении любого из перечисленных фактов — испытательная лаборатория расценивает их как недостатки безопасности ОО и принимает решение о невозможности проведения дальнейших исследований.
Требования к исследовательскому стенду
При подготовке стенда проверяется:
-
Меры защиты целостности: в исследовательском стенде реализованы меры, обеспечивающие целостность ОО и среды функционирования, а также исключающие возможность несанкционированного доступа к результатам исследований.
-
Развёртывание сред и инструментов: все выбранные среды функционирования и инструментальные средства анализа развёрнуты и настроены в соответствии с эксплуатационной документацией. В ходе исследований не нарушаются условия эксплуатации сертифицированных сред функционирования (в т.ч. операционных систем).
-
Установка и настройка дистрибутива ОО: в подготовленных средах функционирования установлен и настроен дистрибутив ОО в соответствии с руководством по безопасной установке и настройке из эксплуатационной документации.
-
Контроль сетевых взаимодействий при установке: в ходе установки ОО и его настройки проводится контроль отсутствия недекларированных взаимодействий ОО с сетевыми ресурсами и ресурсами среды функционирования.
-
Антивирусный контроль: по результатам установки ОО выполняется антивирусный контроль:
- анализируется дистрибутив ОО, все файлы установленного ОО и среды функционирования
- используется не менее двух сертифицированных средств антивирусной защиты от различных разработчиков с актуальными базами данных
- при отсутствии сертифицированных средств для данной среды функционирования допускается использование иных средств антивирусной защиты
-
для контейнерных/виртуализационных ОО: контрольные суммы рассчитываются относительно снимков состояния (снапшотов) файловых систем выполняющихся контейнеров/виртуальных машин
-
Контрольные суммы: выполняется сравнение контрольных сумм дистрибутива ОО и исполняемых файлов установленного ОО с контрольными суммами, зафиксированными в документации ОО:
- алгоритм: ГОСТ 34.11-2012 «Стрибог»
- контрольное суммирование выполняется средствами сертифицированной операционной системы либо сертифицированным средством контрольного суммирования
Дополнительные требования (усиления) для уровня контроля 4
Усиление 1 — Отладочные сборки со встроенными датчиками ошибок
Разработчик ОО подготавливает специальные сборки ОО со встроенными датчиками срабатывания ошибок при компиляции модулей, подвергаемых динамическому анализу — для каждой среды функционирования, включённой в исследования.
Типы датчиков срабатывания ошибок:
- ошибки работы с памятью
- неопределённое поведение
- нарушения потока управления
- иные типы, исходя из технических возможностей используемых в ОО языков программирования и среды функционирования
Перечень используемых датчиков определяется совместно испытательной лабораторией и разработчиком ОО и фиксируется в протоколе исследований.
Если штатная система сборки не позволяет встраивать датчики:
Допускается использовать альтернативные методы встраивания датчиков:
- динамическое двоичное инструментирование
- динамическая компоновка
- запуск интерпретатора с дополнительными опциями
Если для языка ОО или его среды функционирования ряд типов датчиков неприменим или отсутствует → использование таких датчиков не требуется.
Усиление 2 — Поддержка нескольких процессорных архитектур
Исследовательский стенд должен обеспечивать проведение динамического анализа ОО для каждой процессорной архитектуры среды функционирования ОО.
Требования к результатам исследования
По результатам подготовки исследовательского стенда в документации и акте отбора образцов ОО (после завершения всех исследований) фиксируются:
- контрольные суммы дистрибутива ОО
- контрольные суммы исполняемых файлов установленного ОО
- контрольные суммы файлов исходных текстов ОО (в соответствии с уровнем контроля)
Все контрольные суммы рассчитаны по ГОСТ 34.11-2012 («Стрибог»).
Проверка артефактов результата
Формат для агента: артефакт считается принятым только при выполнении всех критериев; неприменимые пункты фиксируются с причиной.
| Артефакт | Что проверить | Критерий приемки |
|---|---|---|
| Перечень сред функционирования | Есть минимум одна среда для каждого семейства; семейства ОС, контейнеризации и виртуализации определены по правилам Методики | Для каждого семейства выбрана среда с наименьшим защитным потенциалом и есть обоснование |
| Журнал контролируемой сборки | Зафиксированы источник кода, команды/параметры сборки, версия сборочной среды, полученный дистрибутив | Нет взаимодействий с артефактами вне контролируемого репозитория; нет кода без требуемого анализа; нет исполняемых файлов, не собранных из исходников |
| Конфигурация исследовательского стенда | Описаны среды, инструменты, версии, настройки, меры защиты целостности и доступа к результатам | Все среды и инструменты развернуты по эксплуатационной документации; условия эксплуатации сертифицированных сред не нарушены |
| Отчет установки ОО | Зафиксированы шаги установки, настройки, контроль сетевых взаимодействий | Дистрибутив установлен по руководству безопасной установки; недекларированные взаимодействия отсутствуют или оформлены как недостатки |
| Отчет антивирусного контроля | Указаны минимум два средства разных разработчиков, дата актуальности баз, объекты проверки | Проверены дистрибутив, все файлы установленного ОО и среда функционирования; при отсутствии сертифицированных средств есть обоснование альтернатив |
| Ведомость контрольных сумм | Есть хэши дистрибутива, исполняемых файлов и исходных текстов; указан алгоритм и средство расчета | Хэши рассчитаны по ГОСТ 34.11-2012 («Стрибог») сертифицированной ОС или сертифицированным средством; для контейнеров/ВМ использованы снапшоты файловых систем |
| Отладочные сборки и датчики | Есть перечень сборок по средам и архитектурам, перечень датчиков, способ встраивания | Для каждой среды и каждой процессорной архитектуры динамического анализа есть применимая сборка или обоснованная альтернатива |
Чек-лист проверки результатов перед отправкой
Формат: каждый пункт проверяется как выполнено / не выполнено / неприменимо.
Все пункты без статуса "неприменимо" должны иметь статус "выполнено".
Блок 1: Выбор сред функционирования
- Сформирован перечень сред выполнения исследований.
- Для каждого семейства сред функционирования включена не менее одной среды.
- Для каждого семейства выбрана среда с наименьшим защитным потенциалом (задокументировано экспертное обоснование).
- Для контейнерных сред: семейство определено корректно (пара «технология контейнеризации — ОС»).
- Для виртуализационных сред: семейство определено по базовой технологии виртуализации.
Блок 2: Контролируемая сборка
- Выполнена контролируемая сборка дистрибутивов ОО испытательной лабораторией.
- Проверено отсутствие взаимодействий сборочной среды с артефактами вне репозитория разработчика.
- Проверено, что в сборочном процессе не используется код, не прошедший анализ в требуемом объёме.
- Проверено, что дистрибутив не содержит исполняемых файлов, не собранных из исходных кодов.
- Результаты контролируемой сборки задокументированы.
Блок 3: Исследовательский стенд
- В стенде реализованы меры защиты целостности ОО и среды функционирования.
- Реализован контроль доступа к результатам исследований.
- Все среды функционирования развёрнуты и настроены согласно эксплуатационной документации.
- Инструментальные средства анализа развёрнуты и настроены согласно их документации.
- Дистрибутив ОО установлен и настроен по руководству безопасной установки.
- В ходе установки проведён контроль сетевых взаимодействий — недекларированные взаимодействия не выявлены (или выявленные зафиксированы как недостатки).
Блок 4: Антивирусный контроль
- Антивирусный контроль проведён двумя или более сертифицированными средствами от разных разработчиков.
- Базы данных признаков вирусов актуальны на дату проведения контроля.
- Контролю подвергнуты: дистрибутив ОО, все файлы установленного ОО, среда функционирования.
- Для контейнерных/виртуальных сред: контроль выполнен по снапшотам файловых систем.
- Результаты антивирусного контроля задокументированы.
Блок 5: Контрольные суммы
- Вычислены контрольные суммы дистрибутива ОО (алгоритм ГОСТ 34.11-2012 «Стрибог»).
- Вычислены контрольные суммы исполняемых файлов установленного ОО.
- Вычислены контрольные суммы файлов исходных текстов ОО.
- Контрольные суммы совпадают с зафиксированными в документации ОО.
- Контрольное суммирование выполнено сертифицированной ОС или сертифицированным средством контрольного суммирования.
- Значения контрольных сумм зафиксированы в акте отбора образцов ОО.
Блок 6: Отладочные сборки (усиление 1)
- Разработчик подготовил специальные сборки ОО со встроенными датчиками ошибок.
- Подготовлены сборки для каждой среды функционирования, включённой в исследования.
- Перечень используемых датчиков согласован с испытательной лабораторией и зафиксирован в протоколе.
- Датчики охватывают: ошибки работы с памятью, неопределённое поведение, нарушения потока управления.
- Для языков/сред без поддержки определённых датчиков: зафиксировано обоснование неприменимости.
- При отсутствии штатной поддержки датчиков: применено динамическое двоичное инструментирование или аналог (задокументировано).
Блок 7: Многоархитектурность (усиление 2)
- Исследовательский стенд обеспечивает динамический анализ для каждой процессорной архитектуры среды функционирования ОО.
- Перечень поддерживаемых архитектур задокументирован и соответствует заявленным средам функционирования ОО.
Задачи СИ по данному разделу
Рабочий перечень задач для Redmine: Перечень_задач_СИ_М3.md
| Код задачи | Наименование |
|---|---|
| СИ-ПОД2.01 | Определить среды выполнения исследований |
| СИ-ПОД2.02 | Развернуть исследовательский стенд |
| СИ-ПОД2.03 | Выполнить контролируемую сборку ОО |
| СИ-ПОД2.04 | Установить и настроить ОО в выбранных средах |
| СИ-ПОД2.05 | Проконтролировать сетевые взаимодействия при установке |
| СИ-ПОД2.06 | Провести антивирусный контроль |
| СИ-ПОД2.07 | Рассчитать контрольные суммы (ГОСТ 34.11-2012) |
| СИ-ПОД2.08 | Подготовить отладочные сборки с датчиками ошибок (усил. 1) |
| СИ-ПОД2.09 | Обеспечить динамический анализ для всех процессорных архитектур (усил. 2) |