Метод декомпозиции каналов: проверяемая полнота

SEC-FOUND-0002 методологический документ фундамента
Статусчерновик
Версия0.1
Опубликовано09.06.2026
Пересмотрдо 09.06.2028

Зачем этот документ. Карта цели защиты держится на перечне каналов нарушения, и весь её авторитет упирается в один вопрос: «а все ли каналы вы рассмотрели?» Пока перечень строится воображением («какие бывают атаки?»), вопрос неотвечаем, а тревога законна. Этот документ заменяет открытое перечисление закрытыми конструкциями: полнота перечня становится свойством построения, проверяемым по чек-листу, а неустранимая неполнота самой модели — застрахованной структурно, а не замолчанной.


1. Честная рамка: какой полноты не бывает

Абсолютной полноты перечня угроз не существует. Противник креативен, система меняется, модель всегда беднее мира; любая методика, обещающая «гарантированно все каналы», лжёт. Из этого не следует капитуляция — из этого следует точная постановка: полнота существует только относительно модели. Тогда задача распадается на две, решаемые разными средствами:

Для сравнения: деревья атак (Шнайер, 1999) — полезный язык записи, но ветви в них порождаются воображением аналитика, поэтому полнота дерева непроверяема. Метод ниже совместим с деревьями как нотацией, но строит ветвление иначе.

2. Задача 1: четыре закрытые конструкции

2.1. Разбиение через отрицание инварианта

Цель защиты формулируется как инвариант — конечный предикат с объявленным уровнем (SEC-FOUND-0001): «смысл D извлекают только субъекты из множества S и только через интерфейсы I». Нарушение цели — логическое отрицание предиката, а отрицание конечной конъюнкции полно по построению:

извлекает не-член S · член S извлекает вне I · D существует в представлении, не покрытом инвариантом.

Тот же приём порождает исчерпывающие разбиения субъектов. Трихотомия «не имеет легального доступа / администрирует, не имея права читать / имеет право читать» исчерпывает всех людей по их отношению к авторизации — четвёртой категории не существует логически. Это разбиение не кажется полным — оно доказуемо полно, и в этом отличие от списка «хакеры, инсайдеры, подрядчики…», который всегда можно продолжить.

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

2.2. Базис на законе сохранения

Для конфиденциальности существует жёсткий факт: извлечь смысл можно только из существующего представления. Представления конечны и инвентаризируемы: боевая база, реплики, бэкапы, выгрузки, отчёты и агрегаты, кэши, экраны, бумага, память людей (физлицо — носитель защищаемой информации и по ГОСТ Р 50922). Тогда:

канал = представление × путь извлечения из него,

и невозможная творческая задача «вообразить все атаки» сводится к проверяемой эмпирической: полна ли инвентаризация представлений и путей. Инвентаризацию верифицируют инструментально (discovery данных, анализ конфигураций, схемы потоков), её дефект — конкретный находимый артефакт («забытая реплика»), а не философская тревога. Уровень инварианта управляет охватом: инвариант на уровне смысла включает в базис представления, где форма не копируется (отчёты, агрегаты, головы сотрудников), — см. каналы 3.3–3.4 в SEC-TASK-0001.

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

2.3. Фиксированная таксономия, применяемая механически

Инженерия опасных производств решила задачу полноты до ИБ. HAZOP (МЭК 61882): конечный список управляющих слов (нет / больше / меньше / наоборот / иначе…) прикладывается к каждому элементу схемы без исключений. Анализ деревьев отказов: верхнее событие раскладывается через логические вентили, и полнота входов каждого вентиля — предмет явной проверки. В ИБ тот же приём — STRIDE-per-element: шесть классов нарушений × каждый узел и поток диаграммы.

Полнота здесь возникает из произведения «конечная модель × конечная таксономия», и пропуск становится адресуемым: либо элемента нет в модели (дефект инвентаризации, ловится 2.2), либо не заполнена клетка таблицы (дефект дисциплины, ловится ревизией). Творчество вытеснено в правильное место — в построение модели, где оно проверяемо.

2.4. Анализ структуры управления (STPA-Sec)

Самая сильная конструкция — и самая близкая философии Секьюритики. STAMP/STPA (Левесон, MIT; адаптация к безопасности — Young, Leveson, STPA-Sec) вообще не перечисляет угрозы. Строится структура управления значимой деятельностью: контроллеры, управляемые процессы, управляющие воздействия, обратные связи. Множество управляющих воздействий конечно. К каждому механически прикладываются четыре типа опасного проявления:

воздействие не выдано, когда требовалось · выдано опасное/неверное · выдано не вовремя или в неверном порядке · прекращено преждевременно / длится слишком долго.

Каналы нарушения выводятся из потери управления, а не угадываются. Для методики, определяющей ИБ как сохранение управляемости, это не заимствованный инструмент, а родной: «принцип» Секьюритики (конститутивный инвариант) и security constraint в STPA-Sec — одно и то же понятие, пришедшее из двух независимых традиций. STPA-Sec особенно силён там, где слаб базис представлений: для целостности и доступности процессов, для OT/АСУ ТП, для организационных контуров.

Выбор конструкции по типу цели: конфиденциальность — отрицание инварианта (2.1) + базис представлений (2.2); целостность/доступность процесса — структура управления (2.4) + граф зависимостей; везде — таксономия (2.3) как дисциплинирующая решётка поверх модели. Конструкции дублируют друг друга частично — это достоинство: расхождение их результатов указывает на дефект одной из моделей.

3. Задача 2: страховка от неполноты модели

3.1. Канало-независимое обнаружение

Превентивные меры полны лишь относительно модели; обнаружение последствий от модели не зависит. Класс мер, реагирующих на состоявшееся нарушение инварианта, каким бы путём оно ни произошло: канарейки (записи-маркеры, сигнализирующие при обращении извне), watermarking выгрузок, мониторинг внешних площадок, поведенческие аномалии на уровне события. Поэтому в каждой карте цели обязательна строка «остаточный канал: неизвестный», закрываемая только мерами этого класса, — встроенное в конструкцию признание неполноты. Карта без этой строки методике не соответствует.

3.2. Фальсифицируемость модели каналов

Каждый инцидент и каждая находка красной команды классифицируется двухуровнево:

Модель не претендует на вечную полноту — она сходится к полноте под давлением опыта, и это единственная честная гарантия, которая существует. Срабатывание контура обнаружения (3.1) при «всех закрытых каналах» упреждающего контура — штатная команда на пересмотр, а не парадокс (двухконтурная проверка — см. карту цели, раздел 5).

4. Процедура: шесть шагов

  1. Инвариант. Цель защиты сформулирована как конечный предикат; объявлен уровень (носитель/форма/смысл).
  2. Верхнее разбиение построено отрицанием инварианта и/или логической дихотомией; полнота доказуема, основание деления едино.
  3. Базис построен на законе сохранения: инвентаризация представлений / зависимостей / управляющих воздействий, верифицированная инструментально.
  4. Таксономия применена к каждому элементу базиса; матрица «элемент × класс нарушения» заполнена без пустых необъяснённых клеток.
  5. Остаточный канал объявлен и закрыт канало-независимым обнаружением с оценкой чувствительности.
  6. Триггер пересмотра определён: классификация инцидентов и находок по 3.2, версионирование карты.

Шесть условий заменяют тревогу «а всё ли мы учли» проверкой конструкции. Ответ на вопрос критика становится предъявляемым: «полнота верхнего уровня — по построению, вот разбиение; полнота базиса — вот инвентаризация и метод её верификации; неполнота модели застрахована — вот контур обнаружения и правило пересмотра».

5. Типовые дефекты применения

  1. Смешанное основание деления («внешние, инсайдеры, фишинг») — классы пересекаются, полнота недоказуема.
  2. Категория «прочее» как мусорный ящик — симптом того, что разбиение не построено, а набросано; «прочее» допустимо только как остаточный канал из 3.1, с мерами обнаружения.
  3. Таксономия поверх неверифицированной модели — аккуратно заполненная матрица на неполной инвентаризации; решётка 2.3 без фундамента 2.2.
  4. Инвентаризация как разовый проект — базис устаревает быстрее годового цикла; инвентаризация — процесс с владельцем.
  5. Уровень инварианта не объявлен — каналы смысла молча выпадают (диагноз версии 1.0 карты SEC-TASK-0001).
  6. Остаточный канал без обслуживания — канарейки развёрнуты и забыты: страховка, по которой не платят взносы.

6. Что опровергло бы метод

7. Источники для разборов в Библиотеке

Полный список с выходными данными — в разделе «Источники» в конце документа. Разборы этих работ стоят в очереди Библиотеки: на русском языке их систематических разборов не существует.

8. История пересмотров

ВерсияДатаИзменения
1.02026-06-10Первая публикация: две задачи полноты, четыре закрытые конструкции, два механизма страховки, процедура шести шагов, типовые дефекты. Цикл пересмотра 24 месяца; драйвер — опыт применения в картах целей и накопление сравнительных данных по моделированию угроз.

Источники

  1. Leveson N. Engineering a Safer World: Systems Thinking Applied to Safety. MIT Press, 2011
  2. STPA Handbook. MIT Partnership for Systems Approaches to Safety and Security
  3. Young W., Leveson N. An Integrated Approach to Safety and Security Based on Systems Theory. Communications of the ACM, 2014
  4. МЭК 61882. Исследования опасности и работоспособности (HAZOP)
  5. Shostack A. Threat Modeling: Designing for Security. Wiley, 2014
  6. Schneier B. Attack Trees. Dr. Dobb's Journal, 1999
  7. NUREG-0492. Fault Tree Handbook. U.S. NRC, 1981