Paper Files / DevSecOps
タイトル: MITRE ATT&CK ベースの行動テレメトリと SAST、DAST、SCA の CI/CD パイプライン統合のための脅威指向 DevSecOps: 形式アーキテクチャ
タイトル: MITRE ATT&CK ベースの行動テレメトリと SAST、DAST、SCA の CI/CD パイプライン統合のための脅威指向 DevSecOps: 形式アーキテクチャ 要旨: クラウドネイティブ・アーキテクチャおよび継続的インテグレーション/継続的デリバリー(CI/CD)パイプラインの大規模な採用は、ソフトウェア開発プロセスを大きく変革した。しかし、この自動化は、セキュリティ機構が開発ライフサイクルに体系的に組み込まれない場合、攻撃対象領域を著しく拡大する。SolarWinds のサプライチェーン侵害や脆弱性 CVE‑2021‑44228(Log4Shell)の悪用といった広く文書化されたインシデントは、コード、依存関係、および実行時監視の統合における不備が、大規模な侵害を許し得ることを示している。静的解析(SAST)、動的解析(DAST)、およびソフトウェア構成分析(SCA)ツールは DevSecOps パイプラインで広く利用されているが、それらを個別に運用すると、多数のアラートが発生し、実際のリスクに基づく優先順位付けが困難になりがちである。本研究では、セキュリティスキャナの結果を行動テレメトリおよび MITRE ATT&CK フレームワークへの体系的マッピングと統合する、脅威指向の DevSecOps アーキテクチャを提案する。CVSS による重大度指標、ランタイムで観測された悪用証拠、ならびにアプリケーションのコンテキスト上の重要度を組み合わせ、CI/CD パイプラインにおける残余リスクの計算を数学的に定式化する。さらに、静的段階で検出された脆弱性と、Falco や Suricata などの検知・可観測性システムから得られる行動指標を相関付ける適応的優先順位付けアルゴリズムを導入する。提案アーキテクチャは、GitLab CI/CD、Kubernetes、および Semgrep、SonarQube、Trivy、Checkov、OWASP ZAP を含む、広く利用されているアプリケーションセキュリティツールを用いた企業環境に実装した。48 のマイクロサービスと約 320 万行のコードを含む 120 のパイプラインに対し、6 か月間にわたり実証的評価を行った。その結果、平均検知時間(MTTD)、平均修復時間(MTTR)、および本番環境における重大脆弱性の発生率が有意に低減した。また、優先順位付けが行動テレメトリおよび脅威インテリジェンスに基づく場合、誤検知率が大幅に減少することも確認された。これらの結果は、コード解析、サプライチェーンセキュリティ、および MITRE ATT&CK ベースの行動検知を体系的に相関させることで、現代の CI/CD パイプラインにおける運用リスクを定量的に低減できることを示している。
- 序論
過去10年間に加速したデジタルトランスフォーメーションは、組織に分散アーキテクチャ、マイクロサービス、継続的インテグレーションおよび継続的デリバリーの実践を採用させてきた。現代の開発環境では、CI/CD パイプラインがビルド、テスト、デプロイの各プロセスを自動化し、デリバリーサイクルを大幅に短縮している(KIM et al., 2016)。この自動化は生産性と運用信頼性を向上させる一方で、セキュリティ制御がパイプラインにネイティブに組み込まれていない場合、攻撃対象領域を拡大させる。
広く文書化されたセキュリティインシデントは、開発ライフサイクルに統合されたセキュリティの欠如に伴うリスクを示している。CVE‑2021‑44228、通称 Log4Shell は、広範に展開された Java アプリケーションにおいてリモートコード実行を可能にし、ソフトウェアサプライチェーン全体にグローバル規模の影響を及ぼした(NIST, 2021)。同様に、SolarWinds のサプライチェーン侵害は、攻撃者がソフトウェアのビルドおよび配布プロセスに直接悪意あるコードを挿入し得ることを示した(CISA, 2021)。
現代の攻撃はしばしば、MITRE ATT&CK のような知識ベースに体系化された行動パターンに従う。これは、侵入の異なる段階で攻撃者が用いる技術を記述している(MITRE, 2023)。T1195(Supply Chain Compromise)、T1190(Exploit Public‑Facing Application)、T1059(Command and Scripting Interpreter)といった技術は、実際のインシデントでも反復して観測される。しかし、従来の DevSecOps パイプラインは、開発中に検出された脆弱性と、実行時に観測される行動指標とを関連付けることは稀である。
この状況を踏まえ、本研究では以下の研究課題を定式化する。
RQ1: CI/CD パイプラインで検出された脆弱性に伴う残余リスクを、どのように数学的に定式化できるか。
RQ2: 静的解析および動的解析ツールの結果を、実行時に観測される行動証拠とどのように統合できるか。
RQ3: この統合が、検知時間や修復時間といった運用セキュリティ指標に対して、どのような定量的影響を及ぼすか。
本研究の貢献は三つある。第一に、CI/CD パイプラインにおける残余リスク計算のための形式的モデルを提案する。第二に、脆弱性の深刻度、運用コンテキスト、行動証拠を統合する適応的優先順位付けアルゴリズムを提示する。第三に、実際の企業環境でアーキテクチャを実証的に評価し、運用リスク指標における測定可能な低減を示す。
- 背景および関連研究
DevSecOps は、ソフトウェアのライフサイクル全体にわたりセキュリティ制御を体系的に統合することで、DevOps パラダイムを発展させたものである(MYRBATEN; COLPAERT; PRETSCHNER, 2020)。このモデルでは、セキュリティテストが開発パイプラインの異なる段階で継続的に実行される。
形式的には、CI/CD パイプラインを順序付けられたステージ集合として表現する。
$$ P = {s_1, s_2, …, s_n} $$
ここで各ステージ $s_i$ は、ソフトウェア成果物 $a_j$ に対して変換関数 $f_i$ を実行する。
SonarQube や Semgrep などの静的コード解析(SAST)ツールは、脆弱性に関連する構文パターンを識別する。OWASP ZAP などの動的解析(DAST)ツールは、外部との相互作用をシミュレートしながら実行中のアプリケーションを評価する。一方、Trivy や OWASP Dependency‑Check などのソフトウェア構成解析(SCA)ツールは、サードパーティ依存関係における脆弱性を特定する(OWASP, 2021)。
これらのツールは広く採用されているものの、実証研究は、誤検知および脆弱性の不適切な優先順位付けに関連する重大な課題を指摘している(RAHMAN et al., 2019)。多くの場合、優先順位付けは CVSS スコアのみに基づいており、これは技術的深刻度を測定するが、必ずしもアプリケーションの文脈的リスクを反映しない(FIRST, 2019)。
脆弱性集合に関連するリスクは、次のようにモデル化できる。
$$ R = \sum_{v \in V} P(v) \cdot I(v) $$
ここで $V$ は特定された脆弱性の集合、$P(v)$ は悪用確率、$I(v)$ は潜在的影響を表す。
しかし、従来モデルは運用テレメトリ、進行中の悪用証拠、または展開コンテキストをほとんど取り込まない。本提案は、セキュリティスキャナと ATT&CK ベースの行動監視との相関付けによって、これらの要因を統合する。
- 脅威モデルと問題の定式化
我々は、以下の能力を有する攻撃者 $A$ を想定する。
• CVE ベースで公開された既知脆弱性の悪用
• ソフトウェア依存関係への悪意あるコード挿入(サプライチェーン攻撃)
• 初期侵害後のリモートコマンド実行
攻撃者はアプリケーションに外部からアクセス可能であり、Nmap や Masscan のような広く利用可能なツールを用いて自動スキャンを実行できる。
文脈的リスクを捉えるために、以下の二つの追加パラメータを定義する。
• $E(v)$: 当該脆弱性に関連する観測可能な悪用証拠
• $C(v)$: 運用要因に基づく文脈的重大度
したがって、調整済み悪用確率を次のように定義する。
$$ P’(v) = \alpha \cdot S(v) + \beta \cdot E(v) + \gamma \cdot C(v) $$
ここで:
• $S(v)$ は CVSS から導出される技術的深刻度を表す
• $\alpha + \beta + \gamma = 1$
システムの残余リスクは次のように定義される。
$$ R’ = \sum_{v \in V} P’(v) \cdot I(v) $$
我々の目的は、応答時間 $T$ および利用可能資源 $K$ の運用制約下で $R’$ を最小化することである。
- 提案手法
我々は、CI/CD パイプラインに統合された複数のステージから構成される、脅威指向の DevSecOps アーキテクチャを提案する。
| ステージ | 機能 | ツール |
|---|---|---|
| SAST | 静的コード解析 | Semgrep, SonarQube |
| SCA | 依存関係解析 | Trivy |
| IaC | Infrastructure as Code 解析 | Checkov |
| DAST | 動的テスト | OWASP ZAP |
| Runtime | 行動検知 | Falco, Suricata |
| Correlation | ATT&CK マッピング | 分析エンジン |
脆弱性の優先順位付けは、深刻度、コンテキスト、行動証拠を統合する適応的アルゴリズムによって実施される。
優先順位付けアルゴリズム:
Input: vulnerabilities set V
Output: prioritized list L
for each v in V:
severity = getCVSS(v)
exploitEvidence = queryTelemetry(v)
context = computeContext(v)
P_prime = alphaseverity + betaexploitEvidence + gammacontext
risk[v] = P_prime impact(v)
return sortDescending(risk)
計算量は、ソート段階により $O(n \log n)$ である。
- 実装
このアーキテクチャは、クラウドネイティブ環境で広く採用されている技術を用いて実装した。
| コンポーネント | 技術 |
|---|---|
| CI/CD オーケストレーション | GitLab CI |
| コンテナ | Docker |
| オーケストレーション | Kubernetes |
| SAST | SonarQube, Semgrep |
| SCA | Trivy |
| IaC スキャン | Checkov |
| DAST | OWASP ZAP |
| 可観測性 | Elastic Stack |
| 行動検知 | Falco, Suricata |
SAST 解析を実行する CI ジョブの例:
sast:
image: returntocorp/semgrep
script:
- semgrep --config=auto --json > report.json
artifacts:
paths:
- report.json
コンテナ内でのシェル実行を検知する Falco ルールの例:
- rule: Shell in Container
desc: Detecta execução de shell em contêiner
condition: container.id != host and proc.name = bash
output: "Shell detectado (user=%user.name container=%container.id)"
実験環境は 12 ノードからなる Kubernetes クラスタ上で実行され、合計 96 vCPU および 384 GB のメモリを備えていた。
- 実験評価
評価は、複数のマイクロサービスを含む企業環境において、6 か月間にわたり実施した。
| パラメータ | 値 |
|---|---|
| 解析対象パイプライン数 | 120 |
| マイクロサービス数 | 48 |
| コード行数 | 320 万 |
| 期間 | 6 か月 |
従来手法と提案アーキテクチャの比較:
| 指標 | ベースライン | 提案法 |
|---|---|---|
| MTTD | 72 h | 26 h |
| MTTR | 9.8 days | 5.8 days |
| 本番環境の重大脆弱性数 | 21 | 9 |
| 誤検知率 | 22% | 13.6% |
平均検知時間は 64% 短縮され、平均修復時間は 41% 短縮された。
- ケーススタディ
我々は、約 200 万人のアクティブユーザを有する金融分野の組織においてケーススタディを実施した。
ビルド工程中、Trivy ツールは Log4j 依存関係における CVE‑2021‑44228 の存在を検出した。
イベントの流れは以下の通りである。
-
Trivy が SCA ステージで脆弱な依存関係を特定した。
-
Suricata が LDAP 悪用試行に関連する সন্দ suspicious? -> Need Japanese only. We should translate. Let’s continue correctly.
-
Suricata が LDAP 悪用試行に関連する疑わしいトラフィックを検知した。
-
相関エンジンが当該イベントを ATT&CK 技術 T1190 に結び付けた。
-
優先順位付けアルゴリズムが当該脆弱性の重大度を自動的に引き上げた。
修正は初回検知後およそ 6 時間以内に適用され、悪用の成功を防いだ。
- 考察
結果は、脆弱性スキャナと行動テレメトリとの相関付けが、リスク優先順位付けの精度を大幅に向上させることを示している。ATT&CK との統合は、セキュリティイベントの解釈を容易にする運用タクソノミを提供する。
しかし、このアプローチには限界もある。有効性は、収集されるテレメトリの品質と、環境における監視範囲に依存する。さらに、複数のスキャナを継続的に実行することは、大規模パイプラインにおいて追加の計算コストを導入し得る。
別の限界は、実行環境における適切な計装への依存である。eBPF ベースの可観測性システムおよび実行時センサは、行動証拠を信頼性高く捕捉するために不可欠である。
- 結論
我々は、静的解析、動的解析、依存関係セキュリティ、および MITRE ATT&CK に基づく行動監視を統合した、脅威指向の DevSecOps アーキテクチャを提示した。CI/CD パイプラインにおける残余リスク計算を数学的に定式化し、技術的深刻度、運用コンテキスト、悪用証拠を取り込む適応的優先順位付けアルゴリズムを導入した。
実証評価は、検知時間、修復時間、本番環境における重大脆弱性の発生件数を含む、運用セキュリティ指標において有意な低減を示した。これらの結果は、実行時テレメトリと脆弱性分析との相関が、DevSecOps 環境におけるリスク管理により効果的なアプローチを提供することを示している。
提示したアーキテクチャは、SBOM 生成や SLSA のようなビルド整合性フレームワークを含む、ソフトウェアサプライチェーンセキュリティの現代的実践と互換性があり、継続的デリバリープロセスにおけるトレーサビリティと信頼性を高める。
References
ALLAMANIS, Miltiadis et al. A survey of machine learning for big code and naturalness. ACM Computing Surveys, v. 51, n. 4, 2018. Available at: https://doi.org/10.1145/3212695
BEHL, Abhishek; BEHL, Kanika. Cybersecurity and cyberwar: what everyone needs to know. Journal of Information Security, v. 8, n. 2, 2017. Available at: https://doi.org/10.4236/jis.2017.82008
CISA. SolarWinds supply chain compromise. 2021. Available at: https://www.cisa.gov/news-events/alerts/aa20-352a
FIRST. Common Vulnerability Scoring System v3.1 Specification. 2019. Available at: https://www.first.org/cvss/specification-document
HUTCHINS, Eric M.; CLOPPERT, Michael J.; AMIN, Rohan. Intelligence‑driven computer network defense informed by analysis of adversary campaigns. 2011. Available at: https://apps.dtic.mil/sti/citations/ADA547669
KIM, Gene et al. The DevOps Handbook. Portland: IT Revolution Press, 2016. Available at: https://itrevolution.com/product/the-devops-handbook
MITRE. ATT&CK for Enterprise Matrix. 2023. Available at: https://attack.mitre.org
MYRBATEN, Nils; COLPAERT, Pieter; PRETSCHNER, Alexander. DevSecOps: a multivocal literature review. IEEE Access, 2020. Available at: https://doi.org/10.1109/ACCESS.2020.3005717
NIST. NVD CVE‑2021‑44228 Detail. 2021. Available at: https://nvd.nist.gov/vuln/detail/CVE-2021-44228
NIST. Secure Software Development Framework (SSDF) SP 800‑218. 2022. Available at: https://doi.org/10.6028/NIST.SP.800-218
OWASP. OWASP Top 10 – 2021. 2021. Available at: https://owasp.org/www-project-top-ten
OWASP. Dependency‑Check Project. 2023. Available at: https://owasp.org/www-project-dependency-check
RAHMAN, Foyzur et al. The impact of false positives on static analysis. ACM CCS, 2019. Available at: https://doi.org/10.1145/3319535.3363202
SCARFONE, Karen; SOUZA, Ricardo. Guide to intrusion detection and prevention systems. NIST SP 800‑94. 2012. Available at: https://doi.org/10.6028/NIST.SP.800-94
SHARMA, Tushar; COYNE, Eoin. Continuous security in DevOps pipelines. IEEE Security & Privacy, 2020. Available at: https://doi.org/10.1109/MSEC.2020.2970417
SIGSTORE PROJECT. Sigstore documentation. 2023. Available at: https://www.sigstore.dev
SLSA. Supply‑chain Levels for Software Artifacts Specification. 2023. Available at: https://slsa.dev
TRIVY PROJECT. Trivy vulnerability scanner documentation. 2024. Available at: https://aquasecurity.github.io/trivy
ZALANDO. Falco runtime security project. 2023. Available at: https://falco.org
OPEN INFORMATION SECURITY FOUNDATION. Suricata IDS documentation. 2023. Available at: https://suricata.io
CNCF. Cloud Native Security Whitepaper. 2023. Available at: https://www.cncf.io/reports/cloud-native-security-whitepaper
CYCLONEDX. CycloneDX SBOM specification. 2023. Available at: https://cyclonedx.org
SCOTT, James; WILSON, Mark. Observability in cloud native systems. O’Reilly Media, 2022. Available at: https://www.oreilly.com/library/view/observability-engineering
GOOGLE. Binary Authorization and secure supply chains. 2023. Available at: https://cloud.google.com/binary-authorization
CILIUM PROJECT. eBPF-based runtime security and observability. 2023. Available at: https://cilium.io