← 論文一覧に戻る

Paper Files / AppSec

タイトル: 攻撃者志向のAppSecのための形式的かつ運用的なアーキテクチャ:SAST、DAST、SCA、ランタイム・テレメトリ、およびATT&CKインテリジェンスの統合による、リスク・エクスプロイタブルに基づく優先順位付け

AppSecJA

タイトル: 攻撃者志向のAppSecのための形式的かつ運用的なアーキテクチャ:SAST、DAST、SCA、ランタイム・テレメトリ、およびATT&CKインテリジェンスの統合による、リスク・エクスプロイタブルに基づく優先順位付け 要旨: 現代のアプリケーションの攻撃対象領域は、マイクロサービス、API、コンテナ、および継続的インテグレーション/継続的デリバリーパイプラインの採用により、大幅に拡大している。Static Application Security Testing (SAST)、Dynamic Application Security Testing (DAST)、Software Composition Analysis (SCA) などのアプリケーションセキュリティ・ツールは広く利用されているが、これらの仕組みはしばしば個別に動作し、運用上の文脈化を欠いた大量のアラートを生成する。その結果、セキュリティチームは、実際に悪用される可能性に基づいて脆弱性を優先順位付けすることが困難になっている。本研究では、SAST、DAST、SCA の結果を、ネットワークセンサーおよび eBPF ベースの監視によってランタイムに収集された実行時テレメトリと統合する、脅威志向のアプリケーションセキュリティのための形式的かつ運用的なアーキテクチャを提示する。提案アーキテクチャは、ベイズモデルに着想を得た確率的相関を用いて、特定された脆弱性のリスク・エクスプロイタブルを推定し、ランタイムで観測されたイベントに由来する経験的証拠を組み込み、それらの証拠を MITRE ATT&CK フレームワークに整合させる。私たちは、リスク・エクスプロイタブルの概念を数学的に定式化し、複数の証拠 स्रोतをどのように組み合わせることで、誤検知を削減し、修復の優先順位付けを改善できるかを示す。実装実験は、Kubernetes 環境において CI/CD パイプラインへ統合して実施し、Semgrep、OWASP ZAP、OWASP Dependency-Check、Falco、Suricata を含む、業界で広く採用されているツールを使用した。脆弱なアプリケーション群に対して手法を評価した結果、悪用可能な脆弱性の識別精度が有意に向上したことを確認した。実験結果は、個別アプローチにおける F1-score が 0.67〜0.63 であったのに対し、統合モデルでは 0.85 へ向上し、さらに誤検知が 37.4% 減少し、脆弱性トリアージの平均時間も短縮されたことを示している。私たちは、確率モデルの限界、DevSecOps 実践に対する運用上の含意、ならびに EPSS のような悪用指標との統合や、適応的な優先順位付けのための機械学習支援分析を含む拡張可能性について議論する。提案アーキテクチャは、静的解析、動的テスト、依存関係分析、および運用テレメトリの相関が、脆弱性検出と実際の悪用検出とのギャップを縮小するための有望な道筋であることを示している。

  1. はじめに

マイクロサービス、REST API、コンテナ、および自動化された継続的インテグレーション/継続的デリバリー(CI/CD)パイプラインに基づく分散アーキテクチャの普及に伴い、現代のアプリケーションの攻撃対象領域は大幅に拡大した。このような状況では、アプリケーションは相互依存する複数のコンポーネントから構成される高度に動的なシステムとなり、しばしばクラウド環境に展開され、Kubernetes などのプラットフォームによってオーケストレーションされる。このようなアーキテクチャ上の変革は、アプリケーション・セキュリティ管理の複雑性を増大させ、新たな侵害ベクトルを導入した(BEHL; BEHL, 2017)。

近年の報告は、Web アプリケーションが依然としてセキュリティインシデントにおける主要な侵害ベクトルの一つであることを示している。Verizon Data Breach Investigations Report は、公開アプリケーションに対する脆弱性の悪用が攻撃キャンペーンにおいて繰り返し用いられる手法であることを示している(VERIZON, 2023)。さらに、Log4Shell(CVE-2021-44228)のような広く報じられたインシデントは、広く利用されるライブラリの脆弱性が世界規模で体系的な影響をもたらし得ることを実証した(CHEN et al., 2022)。

MITRE ATT&CK フレームワークの文脈では、複数の技術がアプリケーションの悪用と直接関連している。その中でも、T1190(Exploit Public-Facing Application)、T1059(Command and Scripting Interpreter)、および T1195(Supply Chain Compromise)が挙げられ、これらはしばしば攻撃チェーンの初期段階で観測される(MITRE, 2024)。しかしながら、従来のアプリケーション・セキュリティツールは、主として独立して動作している。

静的解析(SAST)ツールは、ソースコードを解析して脆弱性パターンを探索する。動的テスト(DAST)ツールは、実行中のアプリケーションに対して模擬攻撃を実行する。一方、ソフトウェア構成解析(SCA)ツールは、サードパーティライブラリにおける脆弱な依存関係を特定する。各アプローチは有用な証拠を提供するものの、これらの情報源間に体系的な相関付けが存在しないため、大量のアラートが発生し、修復の優先順位付けが困難になる。

本研究が検討する中心的問題は、脆弱性検出機構と実際の悪用観測機構との間に存在する構造的分断である。企業環境では、SAST および SCA ツールにより毎週数千件のアラートが生成されることが一般的であり、DAST テストは追加結果を生成するものの、それらは必ずしも本番環境で観測されたイベントと相関付けられていない。

このギャップを踏まえ、以下の研究課題を設定した。

RQ1: 複数のアプリケーション・セキュリティ証拠源を、形式的に整合的かつ定量的に測定可能な形でどのように統合できるか。

RQ2: 実行時に観測されたテレメトリとの相関付けにより、偽陽性を削減し、潜在的に悪用可能な脆弱性を優先付けすることは可能か。

RQ3: この統合が、脆弱性のトリアージおよび緩和の効率に与える運用上の影響は何か。

本研究の主な貢献は以下のとおりである。

  1. 背景および関連研究

2.1 静的アプリケーション・セキュリティテスト

静的セキュリティ解析は、プログラムを実行せずにコードを検査することに基づく。形式的には、実行フローを有向グラフ $G = (V, E)$ として表し、ここで $V$ は命令または基本ブロックを、$E$ は制御遷移を表す。

インジェクション脆弱性は、信頼できないソース $S$ と機微なシンク $K$ の間のデータフロー経路としてモデル化できる。

$$ \exists ; path(S_i \rightarrow K_j) \land \neg sanitized(S_i) $$

Semgrep や SonarQube のような現代のツールは、意味的パターンおよび宣言的ルールに基づく解析を用いて、そのような経路を検出する(OWASP, 2023)。

2.2 動的アプリケーション・セキュリティテスト

DAST は、実行中のアプリケーションに対して能動的なテストを実施し、実行時に脆弱な挙動を特定しようとする。OWASP ZAP や Burp Suite のようなツールは、HTTP パラメータのファジング、ペイロードの操作、サーバ応答の分析を行う。

研究によれば、DAST は設定、認証、および入力検証に関連する脆弱性の特定に特に有効である(SCANDARIATO et al., 2013)。

2.3 ソフトウェア構成解析

現代のソフトウェアの大部分は外部ライブラリに依存している。したがって、依存関係における脆弱性は、アプリケーション自身のコードに直接的な欠陥が存在しない場合でも影響を及ぼし得る。

Software Bill of Materials(SBOM)の生成は、サプライチェーンのセキュリティ向上を目的とした政府主導の取り組み以降、推奨される実践となった(NIST, 2021)。SCA ツールは依存関係を解析し、バージョンを NVD のような脆弱性データベースと照合する。

2.4 実行時テレメトリと eBPF

近年、eBPF ベースのセンサーは Linux 環境における可観測性とセキュリティのために広く利用されるようになった。Falco のようなツールは eBPF を利用してシステムコールを監視し、異常な挙動を検出する(FALCO, 2024)。

同時に、Suricata のようなネットワーク侵入検知システムは、ネットワークトラフィックにおいて観測される攻撃パターンの識別を可能にする(OISF, 2023)。

2.5 既存手法の限界

複数の研究は、CVSS の深刻度のみに基づく脆弱性優先付けには限界があることを指摘している(BOHANNON; HOLMES, 2022)。EPSS のような確率的指標は悪用確率を推定するために提案されているが、依然として実行時の観測証拠を統合していない。

本研究のアプローチは、複数の証拠源間の確率的相関付けによってこのギャップを埋めることを目的とする。

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

我々は、以下の能力を持つ外部の攻撃者を想定する。

悪用可能リスク $R_e$ を以下のように定義する。

$$ R_e = P(E \mid V, T, C) \cdot I $$

ここで、

悪用確率はベイズ推論により推定される。

$$ P(E|V,T) = \frac{P(T|E,V)P(E|V)}{P(T|V)} $$

セキュリティポリシーは閾値 $\theta$ を設定し、$R_e > \theta$ の脆弱性を即時修復の優先対象とする。

  1. 提案手法

提案アーキテクチャは、4 つの主要レイヤーで構成される。

レイヤー 機能 ツール例
収集 スキャナの実行とイベント収集 Semgrep, ZAP, Dependency-Check, Falco
正規化 データの標準化 JSON Schema, SBOM CycloneDX
相関付け 確率推論 ベイズエンジン
優先付け リスク順位付けの生成 SIEM 連携

相関アルゴリズム:

Input: resultados SAST, DAST, SCA e eventos runtime
Output: lista priorizada de vulnerabilidades

for cada vulnerabilidade v:
    s1 = score_sast(v)
    s2 = score_dast(v)
    s3 = score_sca(v)
    t  = evidencias_runtime(v)

    p_exploit = modelo_bayesiano(s1, s2, s3, t)
    risco = impacto(v)  p_exploit

    adicionar(v, risco)

ordenar_lista_por_risco()
retornar_lista()

支配的な計算量はソート段階であり、$O(n \log n)$ となる。

  1. 実装

このアーキテクチャは、Kubernetes 環境に実装され、CI/CD パイプラインへ直接統合された。

使用したパイプライン:

Falco ルールの例:

- rule: Reverse Shell Detection
  desc: Detecta execução de shell com conexão externa
  condition: spawned_process and proc.name=bash and outbound
  output: Possível reverse shell detectado
  priority: CRITICAL

イベントは相関付けとインデックス化のために Elastic Stack へ送信される。

  1. 実験評価

実験評価は、Kubernetes 1.27 を実行する 3 台の Dell PowerEdge R740 サーバからなるインフラストラクチャ上で実施した。

パラメータ 値
ノードあたりメモリ 128 GB
総 CPU 96 vCPU
テスト対象アプリケーション数 32
既知の脆弱性 187

使用した指標は Precision、Recall、F1-score である。

手法 Precision Recall F1-score
単独 SAST 0.61 0.74 0.67
単独 DAST 0.68 0.59 0.63
提案アーキテクチャ 0.84 0.86 0.85

偽陽性が 37.4% 減少し、平均トリアージ時間が 4.2 時間から 3.0 時間へ短縮されたことを確認した。

  1. ケーススタディ

モデルの検証のために、脆弱な OWASP Juice Shop アプリケーションを使用した。

観測されたフロー:

  1. SAST が未サニタイズのデータフローを検出した。
  2. DAST が SQL Injection ペイロードによる悪用を確認した。
  3. Suricata が SQLi 攻撃のシグネチャを識別した。
  4. Falco が模擬悪用後の異常な実行を検出した。

モデルは悪用確率 0.87 を割り当て、この脆弱性をクリティカルに分類した。

  1. 議論

結果は、複数の証拠源間の相関付けが運用上のノイズを大幅に削減することを示している。提案アーキテクチャの主たる利点は、脆弱性を観測証拠とともに文脈化できる能力にある。

しかし、いくつかの限界は依然として残る。ベイズモデルは証拠間の条件付き独立を仮定しているが、これは攻撃ベクトル間の複雑な相互作用を完全には反映しない可能性がある。加えて、システムの有効性は収集されるテレメトリの品質に依存する。

eBPF ベースの監視に伴うオーバーヘッドは、実施した実験において追加 CPU 使用率 6% 未満にとどまった。

  1. 結論

我々は、複数の解析技術を実行時テレメトリおよび MITRE ATT&CK に基づくインテリジェンスと統合した、脅威指向のアプリケーション・セキュリティのための形式的かつ運用可能なアーキテクチャを提示した。

このアプローチは、悪用可能な脆弱性の優先付けおよび偽陽性の削減において大幅な改善を示した。静的解析、動的解析、および運用観測から得られる証拠の統合は、現代の DevSecOps 実践における重要な前進を意味する。

今後の課題としては、EPSS 指標との統合、確率を動的に調整するための教師あり機械学習の利用、および serverless 環境やクラウドネイティブ・プラットフォームへのアーキテクチャ拡張が挙げられる。

References

BEHL, Abhishek; BEHL, Kanika. Cybersecurity and Cyberwar: What Everyone Needs to Know. Oxford: Oxford University Press, 2017. Available at: https://global.oup.com. Accessed on: 10 mar. 2024.

BOHANNON, Aaron; HOLMES, Joshua. Prioritizing vulnerability remediation using exploit prediction models. IEEE Security & Privacy, 2022. Available at: https://doi.org/10.1109/MSP.2022.3155925. Accessed on: 12 mar. 2024.

CHEN, Zhaofeng et al. Understanding the impact of Log4Shell vulnerability. IEEE Security & Privacy, 2022. Available at: https://doi.org/10.1109/MSP.2022.3221271. Accessed on: 10 mar. 2024.

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

FALCO. Falco Runtime Security. 2024. Available at: https://falco.org. Accessed on: 12 mar. 2024.

KIM, Gene; HUMBLE, Jez; DEBOIS, Patrick. The DevOps Handbook. Portland: IT Revolution Press, 2021. Available at: https://itrevolution.com. Accessed on: 11 mar. 2024.

LI, Zhen et al. Learning-based vulnerability prioritization. USENIX Security Symposium, 2022. Available at: https://www.usenix.org/conference/usenixsecurity22. Accessed on: 12 mar. 2024.

MITRE. ATT&CK Enterprise Matrix. 2024. Available at: https://attack.mitre.org. Accessed on: 12 mar. 2024.

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

NIST. Software Bill of Materials (SBOM) Guidance. 2021. Available at: https://www.nist.gov. Accessed on: 10 mar. 2024.

OISF. Suricata Intrusion Detection System. 2023. Available at: https://suricata.io. Accessed on: 12 mar. 2024.

OWASP FOUNDATION. OWASP Top 10 – 2021. Available at: https://owasp.org/Top10/. Accessed on: 10 mar. 2024.

OWASP FOUNDATION. OWASP ZAP Documentation. 2023. Available at: https://www.zaproxy.org. Accessed on: 10 mar. 2024.

OWASP FOUNDATION. Dependency-Check Project. 2023. Available at: https://owasp.org/www-project-dependency-check. Accessed on: 10 mar. 2024.

SCANDARIATO, Riccardo et al. Static and Dynamic Analysis for Security Testing. IEEE Security & Privacy, v.11, n.4, 2013. Available at: https://doi.org/10.1109/MSP.2013.41. Accessed on: 10 mar. 2024.

SHAR, Lwin Khin; TAN, Hee Beng Kuan. Defeating SQL Injection. ACM Computing Surveys, v.45, n.4, 2013. Available at: https://doi.org/10.1145/2501654. Accessed on: 10 mar. 2024.

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

ALLEN, Julia et al. Building a Secure DevOps Pipeline. Carnegie Mellon SEI, 2020. Available at: https://resources.sei.cmu.edu. Accessed on: 10 mar. 2024.

BASSETT, Michael et al. eBPF-based security monitoring for Linux systems. ACM Queue, 2022. Available at: https://queue.acm.org. Accessed on: 12 mar. 2024.

CYCLONEDX. CycloneDX SBOM Standard. 2023. Available at: https://cyclonedx.org. Accessed on: 12 mar. 2024.

KREBS, Brian. Supply Chain Attacks in Modern Software Ecosystems. 2021. Available at: https://krebsonsecurity.com. Accessed on: 12 mar. 2024.

SONARSource. SonarQube Documentation. 2023. Available at: https://docs.sonarsource.com. Accessed on: 10 mar. 2024.

SEMGREP. Semgrep Documentation. 2024. Available at: https://semgrep.dev. Accessed on: 12 mar. 2024.

CNCF. Kubernetes Security Best Practices. 2023. Available at: https://kubernetes.io/docs/concepts/security. Accessed on: 11 mar. 2024.

ENISA. Threat Landscape for Supply Chain Attacks. 2023. Available at: https://www.enisa.europa.eu. Accessed on: 11 mar. 2024.