SCF / Документация / Доказательства

Оценка и соответствие

Версия: 0.1

1. Принцип

Система оценивается не по тому, загружается ли она, и не по количеству функций, которые в неё входят. Оценка отвечает на вопросы:

  • можно ли восстановить систему по её собственной записи;
  • всё ли в ней учтено и аутентифицировано;
  • сохраняет ли она свои свойства безопасности в поставляемой конфигурации, а не в усиленном варианте;
  • защищает ли она данные тех, кто её эксплуатирует;
  • можно ли её безопасно обновить, откатить и в итоге вывести из эксплуатации;
  • ограничены ли её заявления доказательствами.

Зелёный конвейер доказывает, что конвейер отработал. Ничего из перечисленного он не доказывает.

2. Уровни доказательств

УровеньНазваниеЧто подтверждает
E0Декларациякто-то утверждает, что свойство выполняется. Доказательством не считается.
E1Проверка спецификацииспецификация, фиксация входов (lock) и политика прочитаны и согласуются с требованием.
E2Офлайн-проверка артефактовполученные артефакты проверены механически, без загрузки: конфигурация, параметры ядра, подписи, состав продукта (SBOM), результаты сканирования, проверки лицензий и товарных знаков.
E3Динамическая проверка в эмуляциисистема загружена в виртуальной среде с прошивкой и виртуальным модулем безопасности, поведение наблюдалось.
E4Проверка на эталонном оборудованиисвойство продемонстрировано на заявленном эталонном оборудовании, включая взаимодействие с прошивкой, разблокировку шифрования накопителя, засыпание, обновление и откат.
E5Эксплуатационные доказательствасвойство подтверждено эксплуатационными данными, которые производитель вправе хранить на законном основании, данными поддержки, историей инцидентов или независимым аудитом.

Свойство заявляется только на том уровне, на котором оно наблюдалось. Параметр ядра, присутствующий в файле конфигурации, — это доказательство уровня E2 о конфигурации, а не доказательство уровня E4 о работающей системе.

Требуемые минимальные уровни:

Класс требованийМинимум
спецификация, происхождение, лицензирование, состав продукта (SBOM)E2
изоляция, усиление защиты, значения по умолчанию, учётные данныеE2, плюс E3 для всего, что должно наблюдаться во время работы
целостность загрузки, шифрование накопителя, измерениеE4
обновление, откат, защита от отката, безопасность при прерыванииE4
путь восстановленияE4
поведение поставляемой системы в части приватностиминимум E3, для устройств E4
доступность установщика, первого запуска и восстановлениясогласно применимому профилю HIF

3. Корпус проверок

Каждый продукт ведёт корпус проверок. Каждая запись имеет вид:

CHECK-ID
требование           SCF-*
свойство             что должно быть истинно
метод                инструмент, команда или процедура
среда                офлайн | эмуляция | эталонное оборудование
ожидаемый результат
уровень доказательств
ответственный

Приведённый ниже базовый корпус обязателен для каждого профиля, если профиль не зарегистрировал исключение. Он намеренно выражен через свойства и методы, а не через вызовы инструментов: инструменты меняются быстрее обязательств.

Базовый корпус — это минимум, а не полное отображение Конституции. Если требованию здесь нет соответствующей записи, продукт MUST добавить её в собственный корпус до того, как заявит это требование выполненным; требование, заявленное без записи, остаётся декларацией уровня E0.

3.1 Спецификация и происхождение

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

3.2 Артефакты и аттестация

СвойствоМетодСреда
Манифест полон и согласован с артефактамисверить манифест с полученными файлами и дайджестамиофлайн
Состав продукта (SBOM) присутствует, валиден и покрывает компоненты верхнего уровнявалидация схемы плюс сравнение покрытия с замыканием зависимостейофлайн
Аттестация происхождения присутствует и проверяемапроверить подпись и указанный в ней lockофлайн
Каждый распространяемый артефакт подписан, его дайджест опубликованпроверить подписи опубликованным ключомофлайн
Инструкции по проверке опубликованы вместе с артефактомосмотреть поверхность доставкиофлайн
Соответствующий исходный код доступен там жеполучить его так, как это сделал бы получательофлайн

3.3 Целостность загрузки

СвойствоМетодСреда
Загружается при включённой проверке прошивкизагрузить с включённой проверкойэмуляция, затем эталонное оборудование
Компоненты загрузки несут текущее поколение отзывасравнить поставляемое поколение с действующей политикой отзываофлайн
Компоненты цепочки загрузки подписаны ключами, которым доверяет цепочкапроверить подписи загрузчика и ядраофлайн
Значения измерений соответствуют документации там, где профиль требует измеренийпрочитать измерения после загрузкиэмуляция, затем эталонное оборудование
Целостность системного тома обеспечивается там, где этого требует профильпроверить во время работы и попытаться внести изменениеэмуляция
Защита от отката отвергает более старую версиюпопытаться установить и загрузить более старый выпускэталонное оборудование

3.4 Криптография и учётные данные

СвойствоМетодСреда
Шифрование накопителя использует параметры, соответствующие политике алгоритмовпроверить заголовок зашифрованного тома, созданного установщикомэмуляция
Привязка ключа к состоянию платформы выполнена к содержательному состояниюпроверить регистрацию и намеренно изменить состояниеэталонное оборудование
Ни одно решение о доверии не использует устаревшие примитивыпроверить конфигурацию подписей и протоколовофлайн
Нет поставляемых учётных данных, пустых паролей и непреднамеренных привилегированных учётных записейпроверить учётные записи и ключевой материал в образеофлайн
Автоматический вход и беспарольное администрирование выключеныпроверить конфигурацию менеджера входа и повышения привилегийофлайн
Долгоживущие секреты генерируются при первой загрузкезапустить два экземпляра и сравнитьэмуляция

3.5 Изоляция и поверхность атаки

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

3.6 Данные и приватность

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

3.7 Обновления и уязвимости

СвойствоМетодСреда
Обновления безопасности по умолчанию применяются автоматическипроверить конфигурацию, затем понаблюдать на работающем экземпляреэмуляция
Обновления проверяются до примененияпопытаться применить обновление, подписанное недоверенным ключомэмуляция
Прерванное обновление оставляет систему загружаемойпрервать в нескольких точкахэталонное оборудование
Откат возвращает к предыдущему заведомо рабочему состояниювыполнить откат после намеренно испорченного обновленияэталонное оборудование
Офлайн-путь обновления работает с теми же гарантиямивыполнить обновление офлайнэмуляция
В поставляемых компонентах нет известных эксплуатируемых уязвимостейсверить состав продукта (SBOM) с актуальными данными об уязвимостяхофлайн
Для принятых результатов проверки есть заявления об эксплуатируемостипроверить опубликованные заявленияофлайн

3.8 Право и жизненный цикл

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

3.9 Поверхности взаимодействия с человеком

Проверяются по применимому профилю HIF, как минимум: установка без потери данных на машине с существующими данными; первый запуск, выполненный только с клавиатуры; первый запуск, выполненный с программой экранного доступа; корректное описание области действия у каждого разрушающего действия; вход в режим восстановления и выход из него без сети.

4. Severity

  • S0 Blocker — системе нельзя доверять и нельзя её использовать: она не загружается, обновление выводит её из строя, данные теряются, секрет общий для всех установок, артефакт не подписан или не учтён, либо сообщение об активной эксплуатации невозможно обработать.
  • S1 Critical — заявленное продуктом свойство безопасности или приватности не выполняется в поставляемой конфигурации.
  • S2 Major — требуемое свойство выполняется только после ручной настройки, либо откат и восстановление работают лишь в части случаев.
  • S3 Moderate — доказательства слабее требуемого уровня, либо документация противоречит поведению.
  • S4 Minor — локальная несогласованность, не влияющая на заявленные свойства.
  • Observation — гипотеза, не подтверждённый дефект.

Серьёзность определяется последствиями для людей и организаций, которые эксплуатируют систему, а не заметностью проблемы.

5. Уровни соответствия

SCF-Declared

  • профили выбраны;
  • матрица трассировки существует;
  • известные исключения зарегистрированы.

Это означает начало процесса. Это не знак качества, и он MUST NOT представляться как знак качества.

SCF-Conformant

  • выполнено каждое применимое MUST;
  • каждое исключение из SHOULD обосновано и зарегистрировано;
  • весь базовый корпус проверок выполнен на требуемом уровне доказательств, включая проверки на эталонном оборудовании;
  • выпуск пересобираем из своего lock;
  • состав продукта (SBOM), происхождение и подписи полны;
  • срок поддержки, контракт обновлений и политика раскрытия опубликованы.

SCF-Validated

  • выполнено SCF-Conformant, дополнительно:
  • выпуск независимо пересобран и сличён;
  • пути высокого риска — целостность загрузки, обновление, откат, восстановление, удаление данных — продемонстрированы на эталонном оборудовании;
  • процесс работы с уязвимостями не только описан, но и отработан;
  • эксплуатационный мониторинг на срок поддержки определён и обеспечен людьми.

Заявление о соответствии MUST называть версию SCF, профили, выпуск, архитектуры и эталонное оборудование, к которым оно относится. Заявление без этих границ недействительно.

6. Матрица трассировки

обязательство (право, модель угроз, требование заказчика)
→ требование SCF
→ требование продукта
→ поле спецификации, компонент или политика
→ реализация
→ автоматическая проверка
→ ручной или аппаратный сценарий
→ текущие доказательства и их уровень
→ исключения

Требование, у которого нет пути к доказательству, неполно и MUST NOT считаться выполненным.

7. Контрольный этап перед выпуском

Перед подписанием выпуска:

  1. область изменения определена, затронутые профили перечислены;
  2. lock полон, каждый вход аутентифицирован и зафиксирован;
  3. сборка выполнена в соответствующем требованиям контуре, её журнал сохранён;
  4. все офлайн-проверки пройдены, включая проверки лицензий, товарных знаков и уязвимостей;
  5. состав продукта (SBOM), манифест и происхождение полны и валидны;
  6. поколение цепочки загрузки актуально относительно политики отзыва;
  7. динамическая проверка в эмуляции пройдена;
  8. проверка на эталонном оборудовании пройдена для загрузки, обновления, отката, восстановления и шифрования накопителя;
  9. проверки доступности, требуемые применимыми профилями HIF, пройдены;
  10. срок поддержки, канал и дата окончания жизненного цикла установлены и опубликованы;
  11. у каждого открытого исключения есть ответственный и не истёкшая дата пересмотра;
  12. выпуск утверждает названный человек, утверждение фиксируется вместе с доказательствами.

План отката и критерии отзыва выпуска входят в контрольный этап, а не принимаются позже.

8. Исключения

ID
версия и требование SCF
продукт и профиль
причина
затронутые пользователи, устройства и данные
риск и вероятность
компенсирующая мера
ответственный
срок действия или дата пересмотра
доказательства

Истёкшее исключение блокирует новое заявление о соответствии, пока не пересмотрено. Исключение MUST NOT использоваться для закрепления постоянного архитектурного решения; если требование неверно, предложите изменение стандарта.

9. После выпуска

Срок поддержки — часть продукта, поэтому оценка не заканчивается выпуском.

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

10. Изменение стандарта

Если продукт не может выполнить SCF:

  1. проверить, не является ли проблема локальной архитектурой, а не требованием;
  2. проверить альтернативы, включая другое семейство платформ;
  3. зарегистрировать исключение с доказательствами;
  4. собирать доказательства не менее одного цикла выпуска;
  5. только затем предложить изменение стандарта.

Широко распространённая отраслевая практика не является доказательством того, что требование неверно. Отсутствие возможности в вышестоящем проекте — ограничение, которое фиксируется, а не основание для более слабого заявления.