
ハードニングされたコンテナステージングフレームワーク。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 5CAP_SYS_ADMIN、CAP_NET_ADMIN、CAP_NET_RAW など)を削除して、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| AlertCharantej アーキテクチャは、セキュリティ境界を強制するために、相互接続された3つの設定レイヤーで構成されています。
オーケストレーション設定は、以下のセキュリティ制御をランタイムフラグを介して直接実装します:
--cap-drop=ALL: すべてのデフォルトの Linux カーネルケイパビリティを削除し、コンテナが低レベルの管理権限を取得するのを防ぎます。--security-opt no-new-privileges:true: 子プロセスが setuid や setgid バイナリを介して親プロセスよりも多くの権限を取得するのを防ぎます。--security-opt seccomp=seccomp-profile.json: ホワイトリスト方式のシステムコールフィルタリングを実装します。seccomp-profile.json)デフォルトでは、Docker の seccomp フィルターは広範なシステムコールを許可します。Charantej アーキテクチャはこれを、基本的なプロセス実行に必要な絶対最小限に制限します:
SCMP_ACT_ERRNO): プロファイルで明示的にホワイトリストに登録されていない限り、すべてのシステムコールをブロックします。read、write、exit、exit_group、futex、nanosleep、mmap、munmap、mprotect、close など)のみを許可します。socket 操作、setsockopt ネットワーク変更、名前空間参加 (setns)、ケイパビリティセット (capset) を明示的にブロックし、権限のないローカル特権昇格 (LPE) の試みを無効化します。ホストレベルのトレーシングルールは、概念的にプロセスとシステムコールの境界を監視します:
Det_Anomalous_Networking: ソケットオプションを監査し、コンテナプロセスが上位層プロトコルや ULP プロパティ(TCP_ULP オプト名)を変更しようとした場合に、即座に CRITICAL ALERT をフラグします。Container_Privilege_Escalation_Attempt: 名前空間への参加 (setns) やケイパビリティセットの変更 (capset) の不正な試みを警告します。このリポジトリには、CVE-2026-46300 のライブエクスプロイトシミュレーションが含まれており、Charantej アーキテクチャの有効性を実践的に示します。 エクスプロイトは2つのベクトルを試みます:
setns() を使用してホストマウント名前空間を乗っ取ろうとします。setsockopt(TCP_ULP) を介して不正な 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!エクスプロイトはインターセプトされます。setns() はケイパビリティドロップ (EPERM) によってブロックされ、socket() / setsockopt() は Seccomp システムコールフィルター境界(または実行プロファイルに応じて cap ドロップ)によって明示的に無効化され、「BLOCKED」ステータスを報告します。これにより、たとえ Fragnesia ペイロードが実行されても、Charantej アーキテクチャがホストをエクスプロイトから安全に隔離することが確認されます。
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!