Математическая проверка графа облачных полномочий, ролей кластера и ограничений подов без изменения среды
Внутри рабочего контейнера оказывается автоматически подставленный токен с правом создания новых подов или подключённый диск физического узла, что позволяет атакующему захватить весь кластер. Испытатель проверяет граф ролей и политики допуска в безопасном режиме холостого прогона и в автоматическом режиме выпускает правило входного контроля.
В облачной и контейнерной инфраструктуре границы безопасности определяются правилами делегирования ролей (IAM), привязками полномочий в кластере (Kubernetes RBAC) и параметрами разграничения подов. Пути захвата узла возникают тогда, когда в контейнер по умолчанию монтируется сервисный маркер с правом чтения секретов или запуска задач, разрешается использование сетевого и процессного пространства хоста либо открыт доступ к службе метаданных облачного узла.
Силовику и руководителю (без жаргона): Перехват «Bind cluster-admin ClusterRole, mount host root filesystem, or exfiltrate node IAM credentials from IMDS» до сокета (0 вреда рабочей базе, готовая печать ГОСТ)
Техническому проверяющему (улика): Норма Приказ ФСТЭК России от 25.12.2017 № 239 п. 28; Приказ ФСТЭК России от 11.04.2025 № 117 п. 58 | Фильтр SEC-ZD-V2-06 | Свидетель 1d76b309e48a5c23
Технократу, CTO и VC (математика): Инвариант Z3 (assert (and (= (pod_privileged spec) false) (= (host_path... | FP = 0,0% | Правило IMMUNE-K8S-1D76B309 (mcp-sentinel 1.1.2)
1. Схема перехвата на проводе и выпуска контракта для CLD-K8S-06
Инструментальный цикл проверки по классу CLD-K8S-06 (OWASP Kubernetes Top 10 (K01 / K03), MITRE ATT&CK T1611 / T1078.004): блокировка опасной мутации правилом SEC-ZD-V2-06 до сокета, фиксация свидетеля 1d76b309e48a5c23 и выпуск контракта IMMUNE-K8S-1D76B309 для шлюза mcp-sentinel.
2. Фильтр нулевого ущерба и формальный инвариант решателя для CLD-K8S-06
По правилу SEC-ZD-V2-06 программный фильтр на проводе допускает только безопасное чтение матриц полномочий и проверку спецификаций с флагом серверного холостого прогона (dryRun). Любые команды реального запуска привилегированных контейнеров, изменения ролевых привязок или остановки служб кластера перехватываются до сокета.
На испытательном стенде анализатор строит граф достижимости административных прав и проверяет реакцию входного контроллера кластера в сравнении с защищённым эталоном. Подтверждённый пробой разграничения фиксируется формальным свидетелем 1d76b309e48a5c23 без ложных срабатываний на штатных манифестах развёртывания.
Код класса: CLD-K8S-06 (cloud_iam_kubernetes_escape)
Международные матрицы: OWASP Kubernetes Top 10 (K01 / K03) | MITRE ATT&CK T1611 / T1078.004
Нормативная привязка: Приказ ФСТЭК России от 25.12.2017 № 239 п. 28; Приказ ФСТЭК России от 11.04.2025 № 117 п. 58
Режим проверки: Активное безопасное зондирование (AUTO_SCAN)
Проверочный зонд: POST /apis/authorization.k8s.io/v1/selfsubjectrulesreviews {"spec":{"namespace":"kube-system"}} | PodSpec: privileged=true, hostPath=/
Перехваченная мутация: Bind cluster-admin ClusterRole, mount host root filesystem, or exfiltrate node IAM credentials from IMDS
Инвариант решателя Z3: (assert (and (= (pod_privileged spec) false) (= (host_path_mount spec) false) (= (rbac_wildcard_verbs role) false) (= (imds_hop_limit node) 1)))
Правило фильтра: SEC-ZD-V2-06
Хэш свидетеля: 1d76b309e48a5c23
Скомпилированный фильтр: IMMUNE-K8S-1D76B309 (mcp-sentinel 1.1.2)
3. Автоматический выпуск защитного контракта IMMUNE-K8S-1D76B309 и квитанция ГОСТ Р 34.11-2012
На основании свидетеля 1d76b309e48a5c23 компилятор в автоматическом режиме формирует защитный контракт IMMUNE-K8S-1D76B309. Правило запрещает привилегированный режим контейнеров, монтирование корневых разделов узла и групповые маски полномочий на уровне входного шлюза кластера.
4. Инженерные разъяснения по проверке и закрытию класса CLD-K8S-06
Проверка возможности побега из контейнера без реального запуска эксплойта на узле
Испытатель проверяет правила входного контроллера кластера и таблицу ролей через штатный режим проверочного разбора без фактического создания контейнеров и без нагрузки на рабочие узлы.
Блокировка кражи облачных ключей физического узла изнутри контейнера
Контракт закрывает сетевые обращения из подов к локальному адресу метаданных облака и отключает автоматическую подстановку избыточных сервисных маркеров в файловую систему контейнера.