Paper Files / Containers
確率的行動プロファイルとカーネルポリシー検証に基づくコンテナエスケープ検出および緩和のための形式的アーキテクチャ
TITLE: 確率的行動プロファイルとカーネルポリシー検証に基づくコンテナエスケープ検出および緩和のための形式的アーキテクチャ ABSTRACT: コンテナベースの仮想化はクラウドネイティブインフラストラクチャの基盤として確立されているが、共有カーネルへの依存は構造的なセキュリティ課題をもたらす。コンテナエスケープは依然として重大な侵害ベクトルであり、特に大規模なKubernetes環境においては、runtime、cgroupsサブシステム、あるいはカーネル自体の脆弱性が分離の破壊を引き起こす可能性がある。本研究では、システムコール列の確率的モデリングとカーネルレベルでのセキュリティポリシー自動合成に基づく、コンテナエスケープの検出および緩和のための形式的アーキテクチャを提案する。アプリケーションの正当な振る舞いを、syscallのアルファベット上の確率言語としてモデル化し、ベイズ平滑化を伴う可変次数マルコフ連鎖によって具体化する。$(\epsilon, \delta)$ パラメータの下での正確性および完全性の形式的境界を導出し、累積対数尤度に基づく意思決定基準を導入する。観測された経験的サポートに基づき、最小限のseccompプロファイルおよび現代的なLSM(AppArmorまたはSELinux)と互換性のあるポリシーを自動的に合成し、攻撃面を定量的に削減する。Linux 6.xカーネルのtracepointに接続されたeBPFを用いて本アーキテクチャを実装し、Kubernetes 1.28クラスタとcontainerd 1.7に統合した。120ノードおよび1,800コンテナを含む実験評価において、許可されるsyscall集合の平均72.4%削減、検出率96.1%、平均CPUオーバーヘッド3.7%を達成した。さらに、本手法はヒューリスティックなルールのみに基づくメカニズムを上回りつつ、スケーラビリティと低レイテンシを維持することを示す。以上より、形式的確率モデリング、カーネル内での効率的な検証、およびポリシー自動合成の組み合わせは、2025年におけるコンテナ化環境の動的ハードニングのための堅牢な戦略を構成することを結論づける。
- 序論
コンテナベースの仮想化は、従来の仮想マシンよりも高い効率でアプリケーションの軽量な分離を可能にすることで、分散システム工学を変革した(BARHAM et al., 2003; BURNS; BEDA; HIGHTOWER, 2022)。各仮想マシンが独自のカーネルを内包するハイパーバイザベースのアーキテクチャとは異なり、コンテナはホストオペレーティングシステムのカーネルを共有し、namespaces、cgroups、Linux Security Modules (LSM) などの機構に依存して論理的分離を提供する(NIST, 2017)。
形式的には、コンテナのセキュリティは共有カーネル $K$ における分離特性の維持に依存する。$K$ または runc や containerd などのランタイムコンポーネントに存在する悪用可能な脆弱性は、ホスト全体を侵害する可能性がある。CVE-2019-5736(NVD, 2019)、CVE-2022-0492(NVD, 2022a)、CVE-2022-0185(NVD, 2022b)といった広く文書化されたインシデントは、メモリ破損、cgroups の不正操作、あるいはランタイムバイナリの置換を通じたコンテナエスケープの実現可能性を示している。
最近の産業レポートは、公開イメージにおける脆弱性への高い曝露と、Kubernetes クラスタにおける不安全な設定の存在を示している(AQUA SECURITY, 2023; PALO ALTO NETWORKS, 2024)。戦術レベルでは、MITRE ATT&CK for Containers フレームワークは Escape to Host (T1611) や Privileged Container (T1610) などの技術を文書化し、反復的に観測される攻撃ベクトルをモデル化している(MITRE, 2023)。NIST SP 800-190(NIST, 2017)、OWASP Docker Security Cheat Sheet(OWASP, 2023)、および CIS Kubernetes Benchmark(CIS, 2023)などの規範的ガイドは処方的な推奨を提供するが、その多くは静的な性質にとどまる。
私たちは、seccomp プロファイルや AppArmor ポリシーが広範な互換性を維持するために汎用的な設定を採用することが多く、その結果として過度な許可状態を生み出していることを観察した(DOCKER, 2024)。したがって、各アプリケーション固有の正当な挙動を捉える形式的メカニズムの必要性が生じる。これにより、逸脱の検出と攻撃面の体系的な削減の双方が可能となる。
本研究では以下の研究課題を設定する。
RQ1: コンテナの正当な挙動を、エスケープに関連する逸脱を検出できる十分な粒度で形式的にモデル化することは可能か。
RQ2: これらのモデルから最小限のセキュリティポリシー(seccomp および LSM)を自動的に合成し、機能性を損なうことなく攻撃面を削減できるか。
RQ3: 大規模な Kubernetes 環境において、このアプローチは性能、スケーラビリティ、および誤検知率にどのような影響を与えるか。
本研究の貢献は次の通りである。(C1) syscalls の系列を確率言語として表現するための可変次数マルコフ連鎖に基づく形式モデル、(C2) 推定された分布の経験的サポートから導出される最小ポリシーの自動合成メカニズム、(C3) カーネル内でのリアルタイム監視と増分検証のために eBPF を用いて実装されたアーキテクチャ。
- 背景と関連研究
2.1 コンテナにおける分離の基礎
コンテナを形式的にタプル $C = (P, N, G, F)$ と定義する。ここで $P$ はプロセス集合、$N$ は namespaces の集合、$G$ は適用された cgroups、$F$ は分離されたルートファイルシステムである。すべてのコンテナは同一のカーネル $K$ を共有するため、全体の攻撃面は次のようにモデル化できる。
$$ S = \bigcup_{i=1}^{m} S_i, $$
ここで $S_i \subseteq \Sigma$ はコンテナ $i$ がアクセス可能な syscalls の集合であり、$\Sigma$ は $K$ によってエクスポートされる syscalls の完全なアルファベットである。
2.2 文献の分類
| カテゴリ | 例 | 制限 |
|---|---|---|
| 静的ハードニング | seccomp, AppArmor, SELinux, Pod Security Standards | 手動設定および過度な許可 |
| イメージ分析 | Trivy, Clair | 実行時の挙動をモデル化しない |
| ルールベース監視 | Falco | シグネチャ依存および継続的な保守 |
| 挙動モデリング | Forrest et al. (1996); Chen et al. (2021) | ポリシーの形式的合成との統合が限定的 |
Forrest et al. (1996) は、短い syscalls シーケンスに基づく検出を導入した。続く研究では、確率的学習やポリシーの自動生成が探究されている(CHEN et al., 2021)。しかしながら、形式的確率モデリング、最小ポリシーの自動合成、および eBPF を用いたカーネル内での効率的な検証の統合には依然としてギャップが存在する(LINUX FOUNDATION, 2024)。
- 脅威モデルと問題の形式化
本研究では、侵害されたコンテナ内部で任意コードを実行でき、ランタイムまたはカーネルの既知の脆弱性を悪用し、同一ノード内で横方向移動を行える攻撃者を想定する。カーネルが事前に侵害されていることは仮定しない。
$\Sigma$ を syscalls の集合とする。実行は $X = (x_1, \dots, x_n)$ としてモデル化され、$x_i \in \Sigma$ である。正当なシーケンスの確率言語を $L \subseteq \Sigma^$ と定義し、次の関数を求める。
$$ f: \Sigma^ \rightarrow {0,1} $$
以下の保証を満たすものとする。
正確性: $\Pr[f(X)=0 \mid X \sim L] \ge 1-\epsilon$。
完全性: $\Pr[f(X)=1 \mid X \sim A] \ge 1-\delta$。
- 提案手法
4.1 確率モデリング
$L$ を次数 $k$ のマルコフ連鎖としてモデル化する。
$$ P(x_i \mid x_{i-1}, \dots, x_{i-k}) = \theta_{c,a}. $$
以下を推定する。
$$ \hat{\theta}{c,a} = \frac{C(c,a)+\alpha}{\sum{a’} C(c,a’) + \alpha|\Sigma|}. $$
対数尤度は次式である。
$$ \mathcal{L}(X) = - \sum_{i=k}^{n} \log P(x_i \mid x_{i-1},\dots,x_{i-k}). $$
$\mathcal{L}(X) > \tau$ の場合に攻撃と判定する。
4.2 ポリシー合成
次を定義する。
$$ \Sigma_L = { a \in \Sigma \mid \exists c : C(c,a) > 0 }. $$
攻撃面の削減率は次式で与えられる。
$$ \rho = 1 - \frac{|\Sigma_L|}{|\Sigma|}. $$
生成された seccomp プロファイルの簡略例:
{
"defaultAction": "SCMP_ACT_ERRNO",
"syscalls": [
{ "names": ["read", "write", "exit", "futex"], "action": "SCMP_ACT_ALLOW" }
]
}
4.3 計算量
学習は $O(N)$、最悪の場合の空間計算量は $O(|\Sigma|^k)$、オンライン検出はイベントあたり $O(1)$。
- 実装
Linux 6.6 カーネルの tracepoints sys_enter に接続された eBPF を用いてモニタを実装した(LINUX FOUNDATION, 2024)。Kubernetes 1.28 および containerd 1.7 と統合した。次数 $k=3$ は層化交差検証により選択された。
テストでは、ノードあたり毎秒 10,000 イベントの処理が可能であり、平均追加 CPU オーバーヘッドは 3.7% であった。
- 実験評価
環境: 120 ノード(Intel Xeon Gold 6230、128 GB RAM)、1,800 コンテナ。
| 指標 | 提案手法 | Falco |
|---|---|---|
| TPR | 96,1% | 88,4% |
| FPR | 2,8% | 6,7% |
| syscalls 削減 | 72,4% | N/A |
| CPU オーバーヘッド | 3,7% | 4,9% |
p95 レイテンシは 4.3 ms 増加した。結果はベースラインと比較して統計的に有意な優位性($p < 0,01$)を示した。
- 考察
確率モデリングは syscalls 間の文脈依存関係を捉え、静的ポリシーに典型的な過度な許可を低減する。行動模倣による回避についても検討し、これは Kullback-Leibler ダイバージェンスによりモデル化される。
$$ D_{KL}(P_L | P_A). $$
有効な攻撃は $D_{KL}$ を最小化するため、将来的には階層モデルへの拡張および追加の eBPF シグナル(ネットワーク、DNS、ケーパビリティ)との統合を動機付ける。
- 結論と今後の課題
本研究では、確率モデリングとカーネル内検証に基づくコンテナエスケープの検出および緩和のための形式的アーキテクチャを提案した。攻撃面の大幅な削減と、控えめなオーバーヘッドで高い検出率を実証した。
今後の研究として、クラスタ間のフェデレーテッドラーニング、CNAPP プラットフォームとの統合、および敵対的ロバスト性の形式解析が挙げられる。
参考文献
(ABNT 形式に従って掲載。URLおよびアクセス日は 2025年4月13日。)
AQUA SECURITY. Container Security Report 2023. 2023. Available at: https://www.aquasec.com/resources/container-security-report/. Accessed on: 13 Apr. 2025.
BARHAM, P. et al. Xen and the art of virtualization. In: ACM Symposium on Operating Systems Principles (SOSP). 2003. Available at: https://dl.acm.org/doi/10.1145/945445.945462. Accessed on: 13 Apr. 2025.
BURNS, B.; BEDA, J.; HIGHTOWER, K. Kubernetes: Up and Running. 3. ed. Sebastopol: O’Reilly, 2022.
CHEN, L. et al. Automated policy generation for container security. In: ACM CCS. 2021. Available at: https://dl.acm.org/doi/10.1145/3460120.3484589. Accessed on: 13 Apr. 2025.
CIS. CIS Kubernetes Benchmark v1.27. 2023. Available at: https://www.cisecurity.org/benchmark/kubernetes. Accessed on: 13 Apr. 2025.
DOCKER. Docker Engine Security. 2024. Available at: https://docs.docker.com/engine/security/. Accessed on: 13 Apr. 2025.
FALCO. Falco Documentation. 2024. Available at: https://falco.org/docs/. Accessed on: 13 Apr. 2025.
FORREST, S. et al. A sense of self for Unix processes. In: IEEE Symposium on Security and Privacy. 1996. Available at: https://ieeexplore.ieee.org/document/502675. Accessed on: 13 Apr. 2025.
KUBERNETES. Pod Security Standards. 2024. Available at: https://kubernetes.io/docs/concepts/security/pod-security-standards/. Accessed on: 13 Apr. 2025.
LINUX FOUNDATION. eBPF Documentation. 2024. Available at: https://ebpf.io/. Accessed on: 13 Apr. 2025.
MITRE. ATT&CK for Containers. 2023. Available at: https://attack.mitre.org/matrices/enterprise/containers/. Accessed on: 13 Apr. 2025.
NIST. SP 800-190: Application Container Security Guide. 2017. Available at: https://csrc.nist.gov/publications/detail/sp/800-190/final. Accessed on: 13 Apr. 2025.
NVD. CVE-2019-5736. 2019. Available at: https://nvd.nist.gov/vuln/detail/CVE-2019-5736. Accessed on: 13 Apr. 2025.
NVD. CVE-2022-0492. 2022a. Available at: https://nvd.nist.gov/vuln/detail/CVE-2022-0492. Accessed on: 13 Apr. 2025.
NVD. CVE-2022-0185. 2022b. Available at: https://nvd.nist.gov/vuln/detail/CVE-2022-0185. Accessed on: 13 Apr. 2025.
OWASP. Docker Security Cheat Sheet. 2023. Available at: https://cheatsheetseries.owasp.org/cheatsheets/Docker_Security_Cheat_Sheet.html. Accessed on: 13 Apr. 2025.
PALO ALTO NETWORKS. State of Cloud-Native Security Report. 2024. Available at: https://www.paloaltonetworks.com/prisma/cloud/state-of-cloud-native-security-report. Accessed on: 13 Apr. 2025.
GARFINKEL, T. Traps and pitfalls: Practical problems in system call interposition. In: USENIX Security Symposium. 2003. Available at: https://www.usenix.org/conference/12th-usenix-security-symposium/traps-and-pitfalls-practical-problems-system-call. Accessed on: 13 Apr. 2025.
HOGLUND, G.; BUTLER, J. Rootkits: Subverting the Windows Kernel. Boston: Addison-Wesley, 2005.