← 論文一覧に戻る

Paper Files / DevSecOps

MITRE ATT&CKに基づく多段階相関を備えたリスク駆動型DevSecOpsアーキテクチャと、クラウドネイティブCI/CDパイプラインにおける実証的エビデンス

DevSecOpsJA

MITRE ATT&CKに基づく多段階相関を備えたリスク駆動型DevSecOpsアーキテクチャと、クラウドネイティブCI/CDパイプラインにおける実証的エビデンス クラウドネイティブアーキテクチャおよび高度に自動化されたCI/CDパイプラインの採用拡大は、ソフトウェア開発ライフサイクルに関連する攻撃対象領域を著しく拡大させた。サプライチェーン侵害や広範に流通した脆弱性の悪用を含む、広く文書化されたインシデントは、文脈に応じた優先順位付け機構および振る舞い相関機構に統合されていない個別のセキュリティ対策が不十分であることを示している。本研究では、静的コード解析、依存関係解析、SBOMの生成および検証、Infrastructure as Codeの検証、実行時の振る舞い検知、ならびに形式的な文脈リスク計算エンジンを統合した、リスク駆動型DevSecOpsアーキテクチャを提示する。本アーキテクチャは、開発および実行のパイプライン全体にわたるイベントの多段階相関のためのオントロジーとしてMITRE ATT&CKフレームワークを利用する。われわれは、CVSSのみに基づくアプローチの限界を批判的に分析し、運用上の文脈化の欠如がしばしば脆弱性の不適切な優先順位付けおよびアラート疲れを招くことを示す。さらに、EPSSにより推定される悪用確率、正規化された技術的影響、および動的な運用露出要因からなる複合関数としてリスクを定式化する。加えて、敵対者の形式的定義、ビルドブロック機構の正当性に関する性質、および敵対的技術間の相関に関する確率モデルを導入する。アーキテクチャは、GitLab CI、SonarQube、Semgrep、Trivy、Syft、Grype、OWASP ZAP、Falco、Suricata、Open Policy Agentを用いてKubernetes環境に実装した。われわれは、2つの異なる組織ドメインに分散した企業向けマイクロサービスの集合を対象に、6か月にわたりシステムを実証的に評価した。その結果、平均修復時間の一貫した削減、偽陽性の相対的減少、ならびに総ビルド時間に対する運用上の影響が限定的であることが示された。実証結果は、形式的なリスクモデリング、脅威インテリジェンス、およびポリシー自動化の統合が、クラウドネイティブ環境におけるDevSecOpsプログラムの運用効果を大幅に向上させうることを示唆している。

  1. はじめに

クラウドネイティブ・アーキテクチャ、マイクロサービス、およびコードとしてのインフラストラクチャ(Infrastructure as Code – IaC)の普及は、ソフトウェア開発ライフサイクルを根本的に再定義した。CI/CD パイプラインの採用により、コード変更はますます短い間隔で統合、テスト、および本番環境へ展開される。このパラダイムは機能提供までの時間を短縮する一方で、アーティファクトが複数の自動化段階を通過し、外部依存関係がビルド過程で動的に組み込まれるため、攻撃対象領域も拡大させる。

実証的報告は、既知の脆弱性の悪用がセキュリティインシデントにおける反復的な初期侵入ベクトルであり続けていることを示している。2023 年版 Data Breach Investigations Report は、既知の脆弱性と設定ミスが、企業システムに対する初期侵害の主要因の一つであり続けていることを記録している(VERIZON, 2023)。これと並行して、欧州サイバーセキュリティ機関は、ソフトウェアサプライチェーンを標的とする攻撃の著しい増加、特にビルドパイプラインや外部依存関係を悪用する攻撃の増加を指摘している(ENISA, 2022)。

広く分析されたインシデントは、この状況の深刻さを示している。Log4Shell 脆弱性(CVE‑2021‑44228)は、広く配布されるライブラリが数千ものアプリケーションで利用された場合に、いかにシステム全体のリスクをもたらしうるかを示した。同様に、SolarWinds インシデントは、侵害されたビルドプロセスが、署名され信頼されたマルウェアの配布につながりうることを明らかにした(CISA, 2021)。これらの事象は、問題の本質が単に脆弱性の存在にあるのではなく、開発・ビルド・実行の間で統合された可視性が欠如していることにあることを示している。

この文脈で攻撃者が用いる多様な手法は MITRE ATT&CK フレームワークに記載されており、T1195(Supply Chain Compromise)、T1552(Unsecured Credentials)、T1059(Command and Scripting Interpreter)、T1610(Deploy Container)などが含まれる(MITRE, 2023)。しかし、セキュリティツールはしばしば孤立して動作する。SAST ソリューションは静的な脆弱性パターンを検出し、SCA ツールは脆弱な依存関係を特定し、ランタイム監視システムは疑わしい挙動を検出する。これらの領域間に意味的相関が欠如していることは、運用上の有効性を低下させ、アラートの大量発生に寄与する。

このような状況を踏まえ、我々は以下の 3 つの中心的研究課題を検討する。

我々は、形式的モデリング、挙動相関、およびセキュリティポリシーの自動化を統合した、リスク指向の DevSecOps アーキテクチャを提案する。本アプローチは、脅威インテリジェンス、静的解析、実行時監視を単一の優先順位付けモデルに統合する。

  1. 背景と関連研究

2.1 DevSecOps と SDLC におけるセキュリティ

NIST が公表した Secure Software Development Framework(SSDF)は、開発ライフサイクル全体にセキュリティを統合するための体系的な実践を定義している(NIST, 2022)。これらの実践には、依存関係の管理、アーティファクトのトレーサビリティ、および継続的なセキュリティ検証が含まれる。現代の環境では、これらの実践は自動化された CI/CD パイプラインによって運用化される。

先行研究は、DevOps におけるセキュリティの効果的な統合が、ツールだけでなく、チームの認知負荷を低減する優先順位付けメカニズムにも依存していることを示している(RAHMAN; WILLIAMS, 2016)。実証研究もまた、脆弱性検出のみに基づくアプローチは、しばしばチームの対応能力と整合しない量のアラートを生成することを示している。

2.2 脆弱性メトリクス

Common Vulnerability Scoring System(CVSS)は、脆弱性の技術的深刻度を分類するための標準化モデルを提供する(MELL; SCARFONE; ROMANOSKY, 2007)。しかし、CVSS は脆弱性の内在的特性を評価するために設計されており、特定の展開コンテキストは考慮しない。

この制約を緩和するために、Exploit Prediction Scoring System(EPSS)は、観測データと脅威インテリジェンスに基づいて脆弱性の悪用確率を推定する(FIRST, 2023)。CVSS と EPSS の組み合わせは、修正優先順位付けを改善するために近年の多くの研究で用いられている。

2.3 サプライチェーンセキュリティ

近年、サプライチェーンセキュリティはソフトウェアセキュリティにおける中心的テーマとなっている。SLSA(Supply-chain Levels for Software Artifacts)や Software Bill of Materials(SBOM)の採用といった取り組みは、ビルドプロセスにおける透明性とトレーサビリティの向上を目指している(OWASP, 2023; GOOGLE, 2023)。

表 1 は、CI/CD パイプラインにおけるリスク低減のために広く用いられているいくつかのアプローチを要約したものである。

アプローチ 主な目的 制約
SAST ソースコード中の脆弱性検出 偽陽性率が高い
SCA 脆弱な依存関係の特定 文脈的優先順位付けの欠如
SBOM ソフトウェア構成要素の台帳 活発な悪用を検出しない
ランタイム監視 挙動検出 実行環境に限定された可視性

我々は、これらのアプローチの大半がパイプラインの孤立した層で動作しており、統一された相関および優先順位付けの仕組みを欠いていることを観察した。

  1. 脅威モデルと問題の定式化

3.1 敵対者モデル

我々は、敵対者 $\mathcal{A}$ を、アーティファクトのサイズ $|A|$ に対して多項式時間に制約された計算能力を持つ確率的実体として定義する。敵対者は以下の行動を実行できる。

  1. 公開リポジトリに侵害された依存関係を注入する。
  2. 公開利用可能なエクスプロイトを用いて既知の脆弱性を悪用する。
  3. 環境変数やログに露出した認証情報を取得する。
  4. リモート実行を獲得した後に任意コマンドを実行する。

我々は、標準化された暗号プリミティブは安全であり、$\mathcal{A}$ によって破られることはないと仮定する。

3.2 パイプラインモデル

CI/CD パイプラインを順序付けられた系列として表現する。

$$ S = {s_1, s_2, …, s_n} $$

ここで各ステージは次の関数である。

$$ f_i : A_i \rightarrow A_{i+1} $$

ただし $A_i$ はステージ $s_i$ の実行後のアーティファクト集合を表す。

定義(昇格された脆弱性)。脆弱性 $v$ は、あるステージ $s_k$ が存在して $v \in A_k$ であり、対応するアーティファクトが本番環境へ展開される場合、昇格されたものとみなす。

3.3 リスクの形式モデル

時刻 $t$ における脆弱性 $v$ に関連するリスクを次のように定義する。

$$ R(v,t) = P_e(v,t) \cdot I(v) \cdot E(v,t) $$

ここで:

性質(単調性)。
$P_e(v,t)$ と $I(v)$ が一定のままで $E(v,t)$ が増加すれば、$R(v,t)$ は単調に増加する。

3.4 最適化問題

運用上の目的は、本番環境における総リスクを最小化することである。

$$ \min \sum_{v \in V_{prod}} R(v,t) $$

ただし制約は以下の通りである。

  1. 提案手法

4.1 全体アーキテクチャ

提案アーキテクチャは、イベントバスによって統合された 5 層で構成される。

  1. 静的コード解析(SAST)
  2. 依存関係解析と SBOM 生成
  3. コンテナおよび Infrastructure as Code の検証
  4. 実行時挙動の監視
  5. リスクエンジンと自動化ポリシー

各層で生成されたイベントは、相関を容易にするために Elastic Common Schema を用いて正規化される。

4.2 リスク計算アルゴリズム

Algorithm ComputeRisk(v, context, t):

1: pe ← EPSS(v,t)
2: if PublicExploit(v) then
3:     pe ← min(1, pe + δ)
4: end if
5: i ← NormalizeCVSS(v)
6: e ← Exposure(context)
7: return pe  i  e

外部フィードへの定数時間アクセスを仮定すれば、このアルゴリズムの計算量は脆弱性あたり $O(1)$ である。

定理(ブロックの正当性)。
あるセキュリティポリシーが、$R(v,t) > \theta$ となる脆弱性 $v$ が存在するビルドをすべてブロックするならば、$\theta$ を超えるリスクを持つ脆弱性は本番環境へ昇格しない。

4.3 マルチステージ相関

攻撃チェーンを検出するために、我々はマルコフ連鎖に基づく確率モデルを用いる。

$$ P(T_{k+1}=t_j \mid T_k=t_i) $$

ここで $T_k$ はステージ $k$ で観測された ATT&CK 技法を表す。

複合アラートは次の場合に生成される。

$$ \prod_{k=1}^{m} P(T_k) > \alpha $$

この仕組みにより、CI/CD パイプライン、コンテナログ、ネットワークテレメトリを含む複数ソースのイベントを相関させることが可能になる。

  1. 実装

実験的実装は、以下のコンポーネントを備えたクラウドネイティブ環境で行われた。

OPA ポリシーの例

package cicd.security

deny[msg] {
  some v
  input.vulnerabilities[v].risk > 0.7
  msg := sprintf("Build blocked due to elevated risk: %v", [input.vulnerabilities[v].risk])
}
  1. 実験評価

6.1 実験環境

評価は、42 のマイクロサービスを実行する 12 台の同種計算ノードから成る Kubernetes クラスタで実施された。観測期間は 6 か月であり、約 20,000 件のビルドが分析された。

6.2 比較ベースライン

構成 ツール リスクベース優先順位付け
ベースライン A SAST のみ いいえ
ベースライン B SAST + SCA いいえ
提案アーキテクチャ SAST + SCA + runtime + correlation はい

6.3 評価指標

指標 ベースライン B 提案アーキテクチャ
平均 MTTR 8.4 日 3.1 日
相対的な偽陽性 高い 中程度
平均ビルドオーバーヘッド 3% 9%

観測された平均修復時間の短縮は、5% の有意水準における Mann‑Whitney 検定により統計的に有意であった。

  1. ケーススタディ

7.1 フィンテック

金融機関の環境において、本システムは curl ユーティリティにおける CVE‑2023‑38545 に関連する脆弱な依存関係を自動的に検出した。計算されたリスクはポリシーで定義された閾値を超えたため、ビルドは自動的にブロックされた。修正は、アーティファクトが本番環境へ昇格される前に適用された。

ATT&CK 技法 T1059 に関連付けられた疑わしい実行イベントは、アラートの重大度を高め、早期の調査を可能にした。

7.2 医療分野

コンテナベースの電子カルテアプリケーションを持つ病院組織において、本アーキテクチャは機微な臨床データを含むディレクトリへのアクセス監視に利用された。Falco による監視は、ATT&CK 技法 T1005(Data from Local System)と相関する異常なアクセスを検知した。

分析の結果、過剰な権限を持つ管理用スクリプトが特定され、外部からの悪用が起こる前に予防的修正が可能となった。

  1. 考察

結果は、リスクに基づく文脈的優先順位付けが、無関係なアラートの量を大幅に削減し、修復リソースの配分を改善することを示している。パイプラインの複数層から得られるデータを統合することにより、本システムは、個別のツールでは可視化できない攻撃チェーンを特定することを可能にする。

しかし、いくつかの限界を考慮する必要がある。モデルの精度は、EPSS データや公開エクスプロイト情報を含む外部脅威インテリジェンスフィードの品質に依存する。さらに、中間イベントが観測されない場合、完全でない攻撃チェーンは偽陰性を生じうる。

これらの限界にもかかわらず、実証結果は、形式的モデリングと運用自動化の統合が、大規模な企業環境において実現可能であることを示している。

  1. 結論

我々は、静的解析、依存関係解析、実行時監視、および MITRE ATT&CK フレームワークに基づくマルチステージ相関を統合した、リスク指向の DevSecOps アーキテクチャを提示した。我々はリスク計算を数学的に定式化し、自動化されたビルドブロック機構に対する正当性の性質を示した。

企業環境で実施した実証評価は、平均修復時間の有意な短縮と、脆弱性優先順位付けの品質向上を示した。これらの結果は、リスク指向アプローチがクラウドネイティブ環境における DevSecOps プログラムの有効性を大幅に高めうることを示唆している。

今後の研究方向としては、セキュリティポリシーの形式検証、アーティファクトの暗号学的アテステーション機構との統合、および脆弱性悪用予測のための確率モデルの高度化が挙げられる。

References

ALLEN, J.; BARNUM, S. Common Attack Pattern Enumeration and Classification (CAPEC). MITRE, 2023. Available at: https://capec.mitre.org/. Accessed on: 10 mar. 2024.

BEHL, A.; BEHL, K. Cyberwar, Cyberterror, Cybercrime and Cyberactivism. Cham: Springer, 2017. Available at: https://link.springer.com/book/10.1007/978-3-319-47647-6. Accessed on: 10 mar. 2024.

CISA. SolarWinds Cyber Incident Advisory. 2021. Available at: https://www.cisa.gov/news-events/alerts/aa20-352a. Accessed on: 12 mar. 2024.

ENISA. Threat Landscape for Supply Chain Attacks. 2022. Available at: https://www.enisa.europa.eu/publications/threat-landscape-for-supply-chain-attacks. Accessed on: 12 mar. 2024.

FIRST. Exploit Prediction Scoring System (EPSS). 2023. Available at: https://www.first.org/epss/. Accessed on: 10 mar. 2024.

GOOGLE. Supply-chain Levels for Software Artifacts (SLSA). 2023. Available at: https://slsa.dev/. Accessed on: 10 mar. 2024.

KENT, K.; SOUPPAYA, M. Guide to Computer Security Log Management. NIST, 2022. Available at: https://csrc.nist.gov/publications. Accessed on: 10 mar. 2024.

MELL, P.; SCARFONE, K.; ROMANOSKY, S. A Complete Guide to the Common Vulnerability Scoring System (CVSS). FIRST, 2007. Available at: https://www.first.org/cvss/. Accessed on: 10 mar. 2024.

MITRE. ATT&CK Framework. 2023. Available at: https://attack.mitre.org/. Accessed on: 10 mar. 2024.

NIST. Secure Software Development Framework (SP 800‑218). 2022. Available at: https://csrc.nist.gov/publications/detail/sp/800-218/final. Accessed on: 10 mar. 2024.

OWASP. Software Bill of Materials (SBOM) Guide. 2023. Available at: https://owasp.org/www-project-sbom/. Accessed on: 10 mar. 2024.

OWASP. Top 10:2021 Web Application Security Risks. 2021. Available at: https://owasp.org/www-project-top-ten/. Accessed on: 10 mar. 2024.

PASHCHENKO, I. et al. Software supply chain attacks: taxonomy and analysis. IEEE Security & Privacy, 2023. Available at: https://doi.org/10.1109/MSEC.2023.3241234. Accessed on: 10 mar. 2024.

RAHMAN, M. M.; WILLIAMS, L. Software Security in DevOps. Proceedings of the ACM CCS Workshop, 2016. Available at: https://doi.org/10.1145/2975963.2975997. Accessed on: 10 mar. 2024.

SHOSTACK, A. Threat Modeling: Designing for Security. Indianapolis: Wiley, 2014. Available at: https://www.wiley.com/en-us/Threat+Modeling. Accessed on: 10 mar. 2024.

SIGSTORE. Cosign Container Signing. 2023. Available at: https://sigstore.dev/. Accessed on: 10 mar. 2024.

SYFT. SBOM Generation Tool. Anchore, 2023. Available at: https://github.com/anchore/syft. Accessed on: 10 mar. 2024.

TRIVY. Comprehensive Vulnerability Scanner. Aqua Security, 2023. Available at: https://github.com/aquasecurity/trivy. Accessed on: 10 mar. 2024.

FALCO. Cloud Native Runtime Security. 2023. Available at: https://falco.org/. Accessed on: 10 mar. 2024.

SURICATA. Network Threat Detection Engine. OISF, 2023. Available at: https://suricata.io/. Accessed on: 10 mar. 2024.

OPEN POLICY AGENT. Policy-based control for cloud native environments. 2023. Available at: https://www.openpolicyagent.org/. Accessed on: 10 mar. 2024.

KUBERNETES. Kubernetes Documentation. 2023. Available at: https://kubernetes.io/docs/. Accessed on: 10 mar. 2024.

GITLAB. GitLab CI/CD Documentation. 2023. Available at: https://docs.gitlab.com/ee/ci/. Accessed on: 10 mar. 2024.

SONARQUBE. Static Code Analysis Platform. 2023. Available at: https://www.sonarsource.com/products/sonarqube/. Accessed on: 10 mar. 2024.

SEMGREP. Static Analysis Tool. 2023. Available at: https://semgrep.dev/. Accessed on: 10 mar. 2024.

VERIZON. 2023 Data Breach Investigations Report. 2023. Available at: https://www.verizon.com/business/resources/reports/dbir/. Accessed on: 10 mar. 2024.