Paper Files / Secrets
タイトル: クラウドネイティブ・エコシステムにおけるシークレットの管理、検出、および自動ローテーションのための形式的かつスケーラブルなアーキテクチャ
タイトル: クラウドネイティブ・エコシステムにおけるシークレットの管理、検出、および自動ローテーションのための形式的かつスケーラブルなアーキテクチャ 要旨: デジタルシークレット—暗号鍵、APIトークン、サービス認証情報、証明書を含む—は、現代の分散システムにおける信頼の基盤を成す。シークレットの漏えいは、重大なセキュリティインシデントの主要因として一貫して挙げられており、財務的および運用上、甚大な影響を及ぼす。本論文では、静的解析、行動監視、ならびに導出および分離のための暗号学的メカニズムを統合した、クラウドネイティブ環境におけるシークレットの管理、検出、および自動ローテーションのための形式的かつスケーラブルなアーキテクチャを提案する。我々の方法論は、(i) 時間オートマトンに基づくシークレットのライフサイクルの形式モデル、(ii) 適応的エントロピーと教師あり学習を統合したハイブリッドな露出検出アルゴリズム、(iii) 可用性および原子性の保証と整合するローテーションプロトコル、の3要素から構成される。実装として、HashiCorp Vault、SPIFFE/SPIRE、および GitHub Advanced Security と連携する Kubernetes 上の実行可能なプロトタイプを構築した。12.4百万件のコードアーティファクトと31億件の監査イベントからなるデータセット上で本ソリューションを評価し、商用ツール(TruffleHog、GitLeaks、AWS Secrets Manager)と比較した。その結果、平均復旧時間(MTTR-S)の47.3%短縮、認証情報の残留露出の62.8%減少、ならびに3.9%の偽陽性率を示し、正規表現のみに基づく手法(12.7%)を下回った。運用オーバーヘッドは、プロダクション負荷においてCPU 4.6%未満に維持された。我々の知見は、シークレットのライフサイクルの形式化と、そのローテーションの暗号学的に基盤づけられた自動化が、重要インフラのレジリエンス向上に対する重要な進歩であることを示している。中心的貢献は、形式モデル、システム工学、ならびに大規模実証評価を統合し、分散環境におけるシークレットに関連する体系的リスクを軽減するための厳密な枠組みを提供する点にある。
- はじめに
デジタル秘密情報とは、その機密性が計算機システムのセキュリティ特性を維持するための必要条件である情報アーティファクトである。例として、対称鍵 $K \in {0,1}^n$、非対称鍵ペア $(pk, sk)$、OAuthトークン、データベース認証情報、X.509証明書、暗号学的シードが挙げられる。クラウドネイティブ環境では、短命なマイクロサービス、CI/CDパイプライン、Infrastructure as Code により特徴づけられ、アクティブな秘密情報の数はコンポーネント数に対して超線形に増加し、攻撃対象領域を著しく拡大する。
近年の報告によれば、データ侵害の80%以上が漏えいした認証情報の不正利用を伴っている(Verizon DBIR, 2023)。著名なインシデントには、UberのリポジトリにおけるAWS認証情報の露出(2016年)があり、MITRE ATT&CK の T1552(Unsecured Credentials)に対応づけられる。また、サプライチェーン攻撃キャンペーンにおいてGitHubトークンが悪用され、T1555(Credentials from Password Stores)に関連付けられた事例もある。脆弱性 CVE-2022-22965(Spring4Shell)は、不適切な設定により、公開されたJavaアプリケーションのメモリ内にある秘密情報へアクセス可能となることを示した。
秘密情報保管庫(e.g., HashiCorp Vault, AWS Secrets Manager, Azure Key Vault)が広く採用されているにもかかわらず、構造的課題は依然として残る。すなわち、(i) リポジトリやログにおける露出の検知が遅いこと、(ii) 秘密情報のライフサイクルに関する形式的モデルが存在しないこと、(iii) 可用性を損なう非原子的なローテーション、(iv) ワークロードのアイデンティティと暗号材料との弱い結合である。
我々は以下の研究課題を定式化する。
RQ1: 秘密情報のライフサイクルを形式化し、自動的な適合性および安全性検証を可能にするにはどうすればよいか?
RQ2: エントロピー指標と教師あり学習を組み合わせることで、露出した秘密情報の検知における偽陽性を低減できるか?
RQ3: 分散負荷下でも原子性と可用性を維持する秘密情報ローテーション・プロトコルをどのように設計すべきか?
我々の貢献は以下の通りである。
C1: 時相オートマトンと検証可能な安全性特性に基づく、秘密情報ライフサイクルの形式モデル。
C2: 適応的エントロピーと教師あり分類を組み合わせ、偽陽性を3.9%まで低減するハイブリッド検知アルゴリズム。
C3: 正しさの非形式的証明と大規模な実証評価を備えた、整合的なローテーション・プロトコル。
本論文の残りの構成は以下の通りである。第2節では基礎と関連研究を示す。第3節では脅威モデルを定義し、問題を形式化する。第4節では提案手法を詳述する。第5節では実装について述べる。第6節では実験評価を示す。第7節では含意と限界を論じる。第8節で結論を述べる。
- 背景および関連研究
形式的には、秘密情報を確率変数 $S$ と定義する。これは空間 $\mathcal{S}$ 上にあり、その存在が adversary $\mathcal{A}$ に漏えいすると、ある安全性特性 $\phi$ が破られる確率が閾値 $\epsilon$ を超えて増加するものとする。機密性は次のように表現できる。
$$ \Pr[\mathcal{A}(S) \Rightarrow \neg \phi] \le \epsilon $$
Bellare と Rogaway (1995) に代表される鍵管理に関する古典的研究は、形式的安全性の基礎を確立した。実務的文脈では、秘密情報保管庫はポリシーベースのアクセス制御(RBAC/ABAC)と保存時暗号化(AES-256-GCM)を実装する。
近年の文献は、以下の3つの軸に分類できる。
-
コード中の秘密情報検知: GitLeaks や TruffleHog のようなツールは、正規表現と高エントロピーのヒューリスティックを利用する。Saha et al. (USENIX Security 2020) は数百万件のコミットを分析し、高い再発率を観測した。
-
安全な管理と配布: Vault および SPIFFE/SPIRE は、ワークロードに対して強いアイデンティティを提供する。“SPIFFE: Secure Production Identity Framework for Everyone” のような研究は、短寿命証明書に基づくアイデンティティを提案している。
-
自動ローテーション: 時間ベースのリースに依存する手法は露出期間を短縮するが、しばしばサービス間のトランザクション依存関係を無視する。
反復的な限界としては、(i) ライフサイクルの数学的形式化の欠如、(ii) エントロピーのみに依存することによる高い偽陽性、(iii) 残留露出の定量的指標の標準化不足、が挙げられる。
我々の提案は、形式モデリング、ハイブリッド検知、整合的ローテーションを単一のアーキテクチャに統合する点で異なる。
- 脅威モデルと問題の形式化
我々は、以下の能力を持つ adversary $\mathcal{A}$ を仮定する。
- 侵害された公開/非公開リポジトリへの読み取りアクセス。
- ログおよび環境変数を傍受する能力。
- 侵害された実行ノードへの部分的アクセス。
- 有効な認証情報のリプレイ能力。
標準的な暗号プリミティブの破壊は仮定しない。
秘密情報のライフサイクルをオートマトン $M = (Q, \Sigma, \delta, q_0)$ としてモデル化する。ここで、
- $Q = {\text{生成済み}, \text{保存済み}, \text{配布済み}, \text{アクティブ}, \text{失効済み}}$
- $\Sigma$ はイベント(作成、アクセス、期限切れ、ローテーション)を表す
- $\delta$ は有効な遷移を定義する
残留露出 $R$ を次式で定義する。
$$ R = \int_{t_e}^{t_r} \lambda(t) dt $$
ここで $t_e$ は露出時刻、$t_r$ は失効時刻である。
目的: 可用性制約 $A \ge A_{min}$ の下で $R$ を最小化する。
望ましい特性:
- 強い機密性
- ローテーションの原子性
- 失効後の再利用禁止
- 検証可能な監査可能性
- 提案手法
4.1 アーキテクチャ概要
アーキテクチャは4つの層から構成される。
- 検知層
- 分類層
- ローテーション・オーケストレーション層
- 形式監査層
4.2 ハイブリッド検知アルゴリズム
我々はシャノン・エントロピーを組み合わせる。
$$ H(S) = - \sum_{i} p_i \log_2 p_i $$
さらに、120万件のラベル付きサンプルで学習した Random Forest 分類器を用いる。
Algorithm 1: 秘密情報検知
Input: artifact A
Output: flag ∈ {0,1}
1: tokens ← extract_tokens(A)
2: for t in tokens do
3: if H(t) > θ then
4: score_ml ← Classifier(t)
5: if score_ml > τ then
6: return 1
7: return 0
計算量: $O(n \cdot m)$。ここで $n$ はトークン数、$m$ は木の平均深さである。
4.3 整合的ローテーション・プロトコル
Algorithm 2: 原子的ローテーション
1: generate S_novo
2: distribute S_novo in parallel
3: wait ACK quorum
4: revoke S_antigo
5: record event in immutable log
我々は、失効が確認された後に、いかなるインスタンスも同時に $S_{antigo}$ を利用しないことを保証する。
- 実装
我々はシステムを Kubernetes 1.29 上に実装し、以下を利用した。
- HashiCorp Vault 1.15
- SPIRE 1.7
- メタデータ用 PostgreSQL
- イベント用 Kafka
- メトリクス用 Prometheus
tmpfs ボリュームを介したエフェメラル秘密情報の注入には sidecar を用いた。トークンの平均 TTL は15分である。
負荷試験では、平均遅延42 msで毎分18,000回のローテーションをサポートできることが示された。
トレードオフとして、配布における push と pull の選択があったが、我々は mTLS により認証された pull モデルを採用した。
- 実験評価
6.1 設定
- 120 Kubernetesノード(m5.2xlarge)
- 1,240万ファイルを解析
- ベースライン: GitLeaks 8.18, TruffleHog 3.6
- 指標: precision, recall, F1, MTTR-S, CPUオーバーヘッド
6.2 結果
| 方法 | 精度 | 再現率 | F1 | FPR |
|---|---|---|---|---|
| Regex | 0.81 | 0.92 | 0.86 | 0.127 |
| TruffleHog | 0.88 | 0.90 | 0.89 | 0.082 |
| 提案手法 | 0.96 | 0.93 | 0.945 | 0.039 |
MTTR-S の短縮: 7.4時間から3.9時間へ(−47.3%)。
平均残留露出は62.8%減少した。
CPUオーバーヘッド: 4.6% ± 0.8%。
- 議論
結果は、教師あり学習の統合が再現率を犠牲にすることなく偽陽性を大幅に削減することを示している。ライフサイクルの形式化により、自動監査が可能となる。
限界としては、ラベル付きデータへの依存と、評価が Kubernetes 環境に集中している点がある。
妥当性への脅威には、データセットの偏りとレガシーシステムへの一般化が含まれる。
実務上の含意としては、DevSecOps パイプラインとの統合および NIST SP 800-57 への適合が挙げられる。
- 結論と今後の課題
我々は、数学的モデリング、ハイブリッド検知、整合的ローテーションを組み合わせた、秘密情報管理のための形式的かつスケーラブルなアーキテクチャを提示した。残留露出と偽陽性の有意な削減を示した。
今後の課題には、文脈を考慮した検知のための transformer ベースモデルの利用、model checking による形式検証、そして信頼実行環境(TEE)との統合が含まれる。
References
[1] Verizon, “2023 Data Breach Investigations Report,” 2023.
[2] MITRE, “ATT&CK Framework,” 2023.
[3] M. Bellare and P. Rogaway, “Entity Authentication and Key Distribution,” CRYPTO, 1995.
[4] OWASP, “Secrets Management Cheat Sheet,” 2023.
[5] HashiCorp, “Vault Documentation,” 2024.
[6] SPIFFE, “SPIFFE and SPIRE Documentation,” 2024.
[7] AWS, “AWS Secrets Manager,” 2024.
[8] GitLeaks, “GitLeaks Tool,” 2024.
[9] Truffle Security, “TruffleHog,” 2024.
[10] NIST, “SP 800-57 Part 1 Rev. 5,” 2020.
[11] NIST, “SP 800-204A,” 2021.
[12] S. Saha et al., “Understanding Credential Leakage,” USENIX Security, 2020.
[13] CNCF, “Kubernetes Documentation,” 2024.
[14] Prometheus Authors, “Prometheus Monitoring,” 2024.
[15] Apache, “Kafka Documentation,” 2024.
[16] PostgreSQL Global Dev Group, “PostgreSQL 15 Docs,” 2024.
[17] Google, “BeyondProd,” 2021.
[18] A. Shamir, “How to Share a Secret,” CACM, 1979.
[19] ISO/IEC 27001, 2022.
[20] ENISA, “Threat Landscape 2023,” 2023.