
Gehärtetes Container-Staging-Framework mit seccomp-Syscall-Whitelisting, eBPF-basierter Kernel-Telemetrie und Live-CVE-2026-46300-Exploit-Simulation zum Testen von Laufzeitsicherheitsgrenzen.
Ein unternehmensgerechtes, mehrschichtiges Framework zur Container-Eindämmung und Laufzeitsicherheits-Telemetrie. Entworfen aus der Perspektive eines Cisco Lead Cybersecurity Architects, isoliert die Charantej-Architektur Staging-Laufzeiten, schränkt Systemaufrufsflächen ein und instrumentiert Echtzeit-Kernel-Telemetrie mittels Host-Level-Auditing, um moderne Linux-Containerbereitstellungen abzusichern.
Die Charantej-Architektur erzwingt Isolation, Least-Privilege-Eindämmung und Out-of-Band-Überwachung, um sicherzustellen, dass Sicherheitsgrenzen widerstandsfähig gegen Kompromittierungsvektoren des Host-Kernels bleiben.
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, usw.), um systemnahe Netzwerkmanipulationen zu blockieren.Das Low-Level Design definiert die operative Syscall-Validierungslogik, Filterpfade und Überwachungsendpunkte innerhalb der Kernel-Grenze.
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
Die Charantej-Architektur besteht aus drei miteinander verbundenen Konfigurationsschichten, um Sicherheitsgrenzen durchzusetzen.
Die Orchestrierungskonfiguration implementiert die folgenden Sicherheitskontrollen direkt über Laufzeit-Flags:
--cap-drop=ALL: Entzieht alle Standard-Linux-Kernel-Fähigkeiten und verhindert so, dass der Container administrative Low-Level-Berechtigungen erlangt.--security-opt no-new-privileges:true: Verhindert, dass Kindprozesse mehr Rechte erlangen als ihr Elternprozess, indem setuid- oder setgid-Binaries blockiert werden.--security-opt seccomp=seccomp-profile.json: Implementiert eine Whitelist-basierte Systemaufruffilterung.seccomp-profile.json)Standardmäßig erlaubt der Docker-seccomp-Filter eine breite Liste von Systemaufrufen. Die Charantej-Architektur beschränkt dies auf das absolute Minimum, das für die grundlegende Prozessausführung erforderlich ist:
SCMP_ACT_ERRNO): Blockiert alle Systemaufrufe, sofern sie nicht explizit im Profil auf die Whitelist gesetzt sind.read, write, exit, exit_group, futex, nanosleep, mmap, munmap, mprotect und close).socket-Manipulationen, setsockopt-Netzwerkänderungen, Namespace-Beitritte (setns) und Fähigkeitssätze (), wodurch unbefugte lokale Privilegieneskalationsversuche (LPE) neutralisiert werden.Host-Level-Tracing-Regeln überwachen konzeptionell Prozess- und Syscall-Grenzen:
Det_Anomalous_Networking: Prüft Socket-Optionen und löst einen sofortigen CRITICAL ALARM aus, wenn ein containerisierter Prozess versucht, Protokolle höherer Schichten oder ULP-Eigenschaften zu ändern (TCP_ULP optname).Container_Privilege_Escalation_Attempt: Alarmiert bei unbefugten Versuchen, Namespaces zu betreten (setns) oder Fähigkeitssätze zu ändern (capset).Dieses Repository enthält eine Live-Exploit-Simulation für CVE-2026-46300, um die Wirksamkeit der Charantej-Architektur praktisch zu demonstrieren. Der Exploit versucht zwei Vektoren:
setns() zu kapern.setsockopt(TCP_ULP).Ein Hilfsskript wird bereitgestellt, um den Exploit automatisch zu bauen und gegen einen ungeschützten Container (der ein verwundbares System darstellt) und den Charantej-gesicherten Container auszuführen.
bash run_exploit.sh
Der Exploit wird erfolgreich sowohl setns() als auch setsockopt() ausführen und einen Status "VULNERABLE" melden.
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!
Der Exploit wird abgefangen. setns() wird durch Capability-Drops blockiert (EPERM), und socket() / setsockopt() werden durch die Seccomp-Syscall-Filtergrenze (oder Cap-Drops, je nach Ausführungsprofil) explizit neutralisiert, was einen Status "BLOCKED" meldet. Dies bestätigt, dass selbst wenn die Fragnesia-Nutzlast ausgeführt wird, die Charantej-Architektur den Host sicher vom Exploit isoliert.
sequenceDiagram
participant App as Unprivileged App (Fragnesia Payload)
participant Cap as Capability Drop (ALL)
participant NS as /proc/self/ns/mnt (Host Namespace)
participant Sec as Seccomp Filter Boundary
participant ULP as Kernel ULP Memory
Note over App,ULP: STAGE 1: Namespace Hijacking Attempt
App->>Cap: 1. setns(FD, 0)
Cap-->>App: BLOCKED (EPERM - Operation not permitted)
Note left of Cap: Defense Triggered: Namespace escape neutralized
Cap-xNS: Cannot reach Host Namespace
Note over App,ULP: STAGE 2: ULP Memory Corruption Attempt
App->>Sec: 2. socket() / setsockopt(TCP_ULP)
Sec-->>App: BLOCKED (EPERM - Operation not permitted)
Note left of Sec: Defense Triggered: Socket operations neutralized
Sec-xULP: Cannot reach Kernel ULP Context
Note over App,ULP: IMPACT: Exploit completely contained. Host is Safe!
capset