
Hardened-контейнерный фреймворк для промежуточного развертывания с белым списком системных вызовов seccomp и телеметрией eBPF для обнаружения и блокировки попыток побега из контейнера и повреждения ядра ULP.
Корпоративная платформа комплексной защиты контейнеров и телеметрии безопасности времени выполнения. Разработанная с точки зрения ведущего архитектора кибербезопасности Cisco, архитектура Charantej изолирует подготовительные среды выполнения, ограничивает поверхность системных вызовов и инструментирует телеметрию ядра в реальном времени с помощью аудита на уровне хоста для защиты современных развертываний Linux-контейнеров.
Архитектура Charantej обеспечивает изоляцию, контейнеризацию с минимальными привилегиями и внешний мониторинг для гарантии устойчивости границ безопасности к векторам компрометации ядра хоста.
flowchart TD
subgraph HostOS ["Host OS (Secured Linux Node)"]
subgraph Docker ["Docker Container Runtime"]
App["Audited App Namespace"]
end
subgraph Auditor ["Host Auditor (Falco Engine)"]
eBPF["eBPF Probes"]
end
Kernel["Host Linux Kernel"]
end
SIEM["SIEM / Log Repository"]
App -->|System Calls| Kernel
Kernel -->|Trace Events| eBPF
eBPF --> Auditor
Auditor -->|Telemetry Logs| SIEM
style HostOS fill:#1e1e1e,stroke:#333,stroke-width:2px
style Docker fill:#2a2a2a,stroke:#007bff,stroke-width:2px
style Auditor fill:#2a2a2a,stroke:#dc3545,stroke-width:2px
style Kernel fill:#333,stroke:#ffc107,stroke-width:2px
style SIEM fill:#1e1e1e,stroke:#28a745,stroke-width:2px,stroke-dasharray: 5 5
CAP_SYS_ADMIN, CAP_NET_ADMIN, CAP_NET_RAW и т.д.) для блокировки низкоуровневых манипуляций с сетью на уровне системы.Проектирование низкого уровня определяет операционную логику проверки системных вызовов, пути фильтрации и конечные точки мониторинга в границах ядра.
flowchart TD
subgraph ContainerSpace ["Container Namespace (User Space)"]
App["Audited Process"]
end
subgraph SeccompBoundary ["Seccomp Syscall Filter Boundary"]
Syscall["Syscall Invocation"]
Filter{"Syscall in Whitelist?"}
Block["SCMP_ACT_ERRNO (Block & Fail)"]
Allow["Allow & Pass"]
end
subgraph KernelSpace ["Linux Host Kernel Space"]
Handler["System Call Handler"]
Subsystem["Target Subsystem (e.g., Network/Memory)"]
end
subgraph TelemetryLayer ["Host Auditing Layer"]
eBPF["eBPF Probe Instrumentation"]
Falco{"Event Matches Rule?"}
Alert["Log syslog / SIEM Alarm"]
end
App -->|1. Invokes Syscall| Syscall
Syscall --> Filter
Filter -->|No: e.g., setsockopt/socket| Block
Filter -->|Yes: e.g., read/write| Allow
Allow --> Handler
Handler --> Subsystem
Handler -->|2. Traces Execution| eBPF
eBPF --> Falco
Falco -->|Yes| Alert
Архитектура Charantej состоит из трех взаимосвязанных слоев конфигурации для обеспечения границ безопасности.
Конфигурация оркестрации реализует следующие средства контроля безопасности непосредственно через флаги среды выполнения:
--cap-drop=ALL: Удаляет все стандартные возможности ядра Linux, предотвращая получение контейнером низкоуровневых административных привилегий.--security-opt no-new-privileges:true: Предотвращает получение дочерними процессами больше привилегий, чем у родительского процесса, через двоичные файлы setuid или setgid.--security-opt seccomp=seccomp-profile.json: Реализует фильтрацию системных вызовов по белому списку.seccomp-profile.json)По умолчанию фильтр seccomp в Docker разрешает широкий список системных вызовов. Архитектура Charantej ограничивает его абсолютным минимумом, необходимым для базового выполнения процессов:
SCMP_ACT_ERRNO): Блокирует все системные вызовы, если они явно не разрешены в профиле.read, write, exit, exit_group, futex, nanosleep, mmap, munmap, mprotect и close).socket, изменения сети через setsockopt, присоединение к пространствам имен (setns) и установку возможностей (capset), нейтрализуя попытки неавторизованного локального повышения привилегий (LPE).Правила трассировки на уровне хоста концептуально контролируют границы процессов и системных вызовов:
Det_Anomalous_Networking: Аудирует параметры сокетов и немедленно выдает CRITICAL ALERT, если какой-либо контейнеризированный процесс пытается изменить протоколы верхнего уровня или свойства ULP (имя опции TCP_ULP).Container_Privilege_Escalation_Attempt: Сигнализирует о неавторизованных попытках присоединения к пространствам имен (setns) или изменения наборов возможностей (capset).Этот репозиторий включает симуляцию живого эксплойта для CVE-2026-46300 для практической демонстрации эффективности архитектуры Charantej. Эксплойт пытается использовать два вектора:
setns().setsockopt(TCP_ULP).Предоставляется вспомогательный скрипт для автоматической сборки эксплойта и его запуска против незащищенного контейнера (представляющего уязвимую систему) и контейнера, защищенного Charantej.
bash run_exploit.sh
Эксплойт успешно выполнит оба вызова setns() и setsockopt(), сообщив о статусе "VULNERABLE".
sequenceDiagram
participant App as Unprivileged App (Fragnesia Payload)
participant Cap as Capability Check (Kernel)
participant NS as /proc/self/ns/mnt (Host Namespace)
participant Sys as Syscall Interface
participant ULP as Kernel ULP Memory
Note over App,ULP: STAGE 1: Namespace Hijacking
App->>Cap: 1. setns(FD, 0)
Cap-->>App: Allowed (No cap_drop)
App->>NS: Hijack Host Namespace
NS-->>App: SUCCESS: Container Isolation Bypassed
Note over App,ULP: STAGE 2: ULP Memory Corruption (CVE-2026-46300)
App->>Sys: 2. socket(AF_INET, SOCK_STREAM, 0)
Sys-->>App: FD allocated
App->>ULP: 3. setsockopt(FD, IPPROTO_TCP, TCP_ULP, "tls")
Note right of ULP: Attempts unauthorized memory modification
ULP-->>App: SUCCESS: Malicious payload injected
Note over App,ULP: IMPACT: Host Kernel Memory Compromised!