📗
owasp-devsecops-guideline-ja
  • OWASP DevSecOps Guideline ja
  • OWASP DevSecOps ガイドライン 日本語版
    • OWASP DevSecOps ガイドライン
  • V0.3
    • 0-概論 (Intro)
      • 0-1-序文 (Intro)
      • 0-2-概要 (Overview)
    • 1-要員 (People)
      • 1-1-チーム形成 (Shape-the-team)
        • 1-1-1-セキュリティチャンピオン (Security-champions)
      • 1-2-トレーニング (Training)
        • 1-2-1-セキュアコーディング (Secure-coding)
        • 1-2-2-セキュリティ CI/CD (Security-CICD)
    • 2-プロセス (Process)
      • 2-1-設計 (Design)
        • 2-1-1-脅威モデリング (Threat-modeling)
      • 2-2-開発 (Develop)
        • 2-2-1-コミット前 (Pre-commit)
          • 2-2-1-1-プレコミット (Pre-commit)
          • 2-2-1-2-シークレット管理 (Secrets-Management)
          • 2-2-1-3-コードのリンティング (Linting-code)
          • 2-2-1-4-リポジトリ堅牢化 (Repository-Hardening)
      • 2-3-ビルド (Build)
        • 2-3-1-静的解析 (Static-Analysis)
          • 2-3-1-1-静的アプリケーションセキュリティテスト (Static-Application-Security-Testing)
          • 2-3-1-2-ソフトウェアコンポジション解析 (Software-Composition-Analysis)
          • 2-3-1-3-Infastructure as Code (Infastructure-as-Code-Scanning)
          • 2-3-1-4-コンテナセキュリティ (Container-Security)
            • 2-3-1-4-1-コンテナスキャン (Container-Scanning)
            • 2-3-1-4-2-コンテナ堅牢化 (Container-Hardening)
      • 2-4-テスト (Test)
        • 2-4-1-インタラクティブアプリケーションセキュリティテスト (Interactive-Application-Security-Testing)
        • 2-4-2-動的アプリケーションセキュリティテスト (Dynamic-Application-Security-Testing)
        • 2-4-3-モバイルアプリケーションセキュリティテスト (Mobile-Application-Security-Test)
        • 2-4-4-API セキュリティ (API-Security)
        • 2-4-5-構成ミスチェック (Misconfiguration-Check)
      • 2-7-運用 (Operate)
        • 2-7-1-クラウドネイティブセキュリティ (Cloud-Native-Security)
        • 2-7-2-ログ記録と監視 (Logging-and-Monitoring)
        • 2-7-3-ペンテスト (Pentest)
        • 2-7-4-脆弱性管理 (Vulnerability-Management)
        • 2-7-6-侵害と攻撃のシミュレーション (Breach-and-attack-simulation)
    • 3-ガバナンス (Governance)
      • 3-2-データ保護 (Data-protection)
      • 3-1-コンプライアンス監査 (Compliance-Auditing)
        • 3-1-1-コンプライアンス監査 (Compliance-Auditing)
        • 3-1-2-Policy as Code (Policy-as-code)
        • 3-1-3-セキュリティベンチマーク (Security-benchmarking)
      • 3-3-レポーティング (Reporting)
        • 3-3-1-成熟度追跡 (Tracking-maturities)
        • 3-3-2-脆弱性一元管理ダッシュボード (Central-vulnerability-management-dashboard)
  • V0.2
    • 0-概論 (Intro)
      • 0-1-序文 (Intro)
      • 0-2-概要 (Overview)
    • 1-導入 (Init)
      • 1-1-チーム形成 (Shape-the-team)
        • 1-1-1-セキュリティ担当者 (Security-champions)
      • 1-2-トレーニング (Training)
        • 1-2-1-セキュアコーディング (Secure-coding)
        • 1-2-2-セキュリティ CI/CD (Security-CICD)
    • 2-コミット前 (Pre-commit)
      • 2-1-プレコミット (Pre-commit)
      • 2-2-脅威モデリング (Threat-modeling)
      • 2-3-リポジトリ堅牢化 (Repository-hardening)
      • 2-4-シークレット管理 (Secrets-Management)
      • 2-5-コードのリンティング (Linting-code)
    • 3-コミット CI (Commit-CI)
      • 3-2-インタラクティブアプリケーションセキュリティテスト (Interactive-Application-Security-Testing)
      • 3-1-静的解析 (Static-analysis)
        • 3-1-1-静的アプリケーションセキュリティテスト (Static-Application-Security-Testing)
        • 3-1-2-ソフトウェアコンポジション解析 (Software-Composition-Analysis)
        • 3-1-3-コンテナセキュリティ (Container-Security)
          • 3-1-3-1-コンテナスキャン (Container-scanning)
          • 3-1-3-2-コンテナ堅牢化 (Container-hardening)
        • 3-1-4-Infastructure as Code (Infastructure-as-code)
    • 4-継続的デリバリ CD (Continuous-delivery-CD)
      • 4-1-動的アプリケーションセキュリティテスト (Dynamic-Application-Security-Testing)
      • 4-2-モバイルアプリケーションセキュリティテスト (Mobile-Application-Security-Test)
      • 4-3-API セキュリティ (API-Security)
      • 4-4-設定ミスのチェック (Miss-Configuration-Check)
    • 5-デプロイ CD 稼働開始 (Deploy-CD-Golive)
      • 5-1-鍵と証明書の管理 (Key-and-certificate-management)
      • 5-2-クラウドネイティブアプリケーション保護プラットフォーム (Cloud-Native-Application-Protection-Platform)
    • 6-運用 (Operation)
      • 6-1-稼働時テスト|継続的テスト (Runtime|Continuous-test)
        • 6-1-1-インフラスキャン (Infra-scanning)
          • 6-1-1-1-クラウドリソース (Could-resources)
          • 6-1-1-2-K8S リソース (K8S-resources)
        • 6-1-2-イメージスキャン (Image-scanning)
      • 6-2-侵害と攻撃のシミュレーション (Breach-and-attack-simulation)
      • 6-3-ログ記録と監視 (Logging-and-Monitoring)
      • 6-4-ペンテスト (Pentest)
      • 6-5-脆弱性開示ポリシーとバグバウンティ (VDP|Bug-bounty)
    • 7-ガバナンス (Governance)
      • 7-1-コンプライアンス監査 (Compliance-Auditing)
        • 7-1-1-コンプライアンス監査 (Compliance-Auditing)
        • 7-1-2-Policy as Code (Policy-as-code)
        • 7-1-3-セキュリティベンチマーク (Security-benchmarking)
      • 7-2-データ保護 (Data-protection)
      • 7-3-レポーティング (Reporting)
        • 7-3-1-成熟度追跡 (Tracking-maturities)
        • 7-3-2-脆弱性一元管理ダッシュボード (Central-vulnerability-management-dashboard)
  • V0.1
    • 00. OWASP DevSecOps ガイドラインの概要
      • 00a. DevSecOps 入門
      • 00b. 脅威モデリング
    • 01. コミット前に
      • 01a. シークレットとクレデンシャルに注意
      • 01b. コードのリンティング
    • 02. 脆弱性スキャン
      • 02a. 静的スキャンはプロセスの重要な部分
      • 02b. 動的アプリケーションセキュリティテスト (DAST)
      • 02c. インタラクティブアプリケーションセキュリティテスト
      • 02d. ソフトウェアコンポーネント/コンポジション解析 (SCA)
      • 02e. インフラストラクチャ脆弱性スキャン
      • 02f. コンテナ脆弱性スキャン
      • 02g. プライバシー
      • 02h. 脆弱性の一元管理
    • 03. コンプライアンス監査
Powered by GitBook
On this page
  • IAST vs SAST
  • IAST vs DAST
  • ツール
  • 参考情報
  1. V0.2
  2. 3-コミット CI (Commit-CI)

3-2-インタラクティブアプリケーションセキュリティテスト (Interactive-Application-Security-Testing)

IAST (インタラクティブアプリケーションセキュリティテスト) は自動テスト、人間のテスト担当者、もしくはコードの機能とのその他の「相互連携」によって実行しながらアプリケーション、API、機能をテストするアプリケーションセキュリティテスト手法です。これはあらゆるソフトウェア開発ライフサイクル、特に DevOps と高い親和性を持っています。

IAST はアプリケーションをスキャンするのではなく、アプリケーションや API サーバーにインストールし、アプリケーションを継続的に解析し続けます。IAST はセキュリティに関連するアプリケーションの動作を直接観察できるセンサーをコードに組み込むことで機能します。IAST は APM ツールやプロファイラと同様の実績のある技法を使用していますが、セキュリティとスピードに対して高度に最適化されています。

IAST ではチームがコードをビルド、テスト、デプロイする方法を変更する必要はありません。IAST は通常の開発およびテストの中でリアルタイムにセキュリティテストを実行し、脆弱性を悪用することなく特定します。つまり、IAST を使用すれば、セキュリティの知識がなくても、誰でも高品質のセキュリティテストを実行できるのです。

IAST は開発サーバー、CI/CD パイプライン、品質保証サーバーに導入でき、また本番環境でも利用できます。サーバー、コンテナ、仮想マシン、クラウド、その他の環境など、コードが実行される場所であればどこでも IAST がインストールされます。IAST は複雑な API コードやデータに対する SAST や DAST の課題を克服しており、API セキュリティテストに非常に適しています。

IAST センサーは以下のものにアクセスできます。

  • コード全体

  • 完全な HTTP リクエストとレスポンス

  • データフローとコントロール

  • 設定データ

  • ライブラリやフレームワークとそれらの使用方法

  • バックエンド接続データ

この豊富なコンテキストにより、IAST は従来のアプリケーションセキュリティテストツールと比較して非常に正確であり、IAST は非常に詳細な詳細な調査結果を提供できるため、開発者は問題を理解して正しく修正できます。また IAST は以下のような非常に広範囲のアプリケーションセキュリティ脆弱性をカバーできます。

  • ハードコードされたシークレットや脆弱な暗号化アルゴリズムなどのコードに関する問題

  • インジェクションや SSRF などのデータフローに関する問題

  • クリックジャッキング、パラメータ汚染、ヘッダ欠落などの HTTP に関する問題

  • SSRF などのバックエンド接続に関する問題

  • 動詞の改竄 (Verb Tamparing) や脆弱な認証などの設定に関する問題

  • その他いろいろ

IAST の課題の一つは実行されたコードのみがテストされることです。しかし、単純なエンドツーエンドの「スモーク」テストや単純なクローラーを使用して、このカバレッジを生成することは簡単です。IAST は大規模な機能テストを必要とせず、基本的なエンドツーエンドの経路の実行だけを必要とします。IAST ツールの中にはアプリケーションから一連の経路を抽出して、経路カバレッジを 100% にするプロセスを簡素化するものがあります。


IAST vs SAST

静的アプリケーションセキュリティテスト 手法は SDLC の早い段階に非ランタイム環境でソースコードを調べます。セキュリティリスクを示す疑わしいコードパターンを探します。 SAST は簡単に導入できますが、他のセキュリティ対策の存在を考慮せず、実行時の視点が欠けているため、多くの誤検出を報告します。 SAST ツールは一般的にビルドプロセスの中で実行され、スキャンプロセスが終了するまでに時間がかかるため遅延が生じます。本番運用中のランタイム環境に適用できるため、 IAST は SAST よりも柔軟性が高くなります (SAST はソースコードに直接アクセスする必要があります) 。

IAST vs DAST

動的アプリケーションセキュリティテスト 手法はアプリケーションに対して悪意のある HTTP リクエストを送信し、HTTP レスポンスを評価してセキュリティ静寂性があるかどうかを判断するブラックボックススキャナのように機能します。 DAST はアプリケーションを外側から見て、一連のテストに対するサーバーの (ボディやヘッダを含む) レスポンスを見ることによりリスクの有無を判断しますが、 DAST はアプリの内部動作を可視化できません。さらに、 DAST が本当に役立つためには、ペネトレーションテスト担当者などの経験豊富なアプリケーションセキュリティチームにより操作される必要があるため、 DAST テストは自動化が困難です。 Forrester の見積もりでは DAST スキャンの所要時間はおよそ 5 から 7 日ですが、 IAST でのテストはリアルタイム (ゼロ分) オペレーションです。


ツール


参考情報

Previous3-コミット CI (Commit-CI)Next3-1-静的解析 (Static-analysis)

Last updated 4 months ago

and

Contrast Assess
Contrast Community Edition
Checkmarx Interactive Application Security Testing(CxIAST)
Seeker Interactive Application Security Testing
HCL AppScan on Cloud
OWASP - Free IAST Tools
Contrast Security - What is Interactive Application Security Testing?
Veracode - IAST
Hdivsecurity - IAST
Synk - IAST
Acunetix - IAST
Contrast Security - Why the difference sast, dast, and iast mastters
Esecurityplanet - Application security vendors