脆弱性管理

IAST(Interactive Application Security Testing) いあすと

アプリケーションセキュリティ脆弱性検出SASTDASTセキュリティテストDevSecOps
IASTについて教えて

簡単に言うとこんな感じ!

IASTはアプリが動いている最中に「中から」バグや脆弱性を見張るセキュリティ検査の手法だよ。アプリの内部にセンサーを埋め込んで、実際の通信や処理をリアルタイムで監視するイメージ!外から叩くだけじゃわからない問題も見つけられるんだ。


IASTとは

IAST(Interactive Application Security Testing) とは、稼働中のアプリケーションの内部にエージェント(監視プログラム)を組み込み、実際の処理フローをリアルタイムで解析することで脆弱性を検出するセキュリティテスト手法です。「インタラクティブ」という名の通り、アプリが実際に動作しながらデータを処理する過程を「内側から」観察するのが最大の特徴です。

従来のセキュリティテストには大きく2種類ありました。ソースコードを静的に解析する SAST(Static Application Security Testing) と、外部からリクエストを送って動作を確認する DAST(Dynamic Application Security Testing) です。IASTはこの両者の長所を組み合わせたアプローチとして登場し、「コードの文脈」と「実際の動作」の両方を把握しながら精度の高い検出を実現します。

実務的には、開発・テスト環境のCI/CDパイプライン(継続的インテグレーション/デリバリーの自動化フロー)に組み込んで使われることが多く、QAテストを実施する過程で自動的にセキュリティ検査も並行して行えるのがメリットです。開発の速度を落とさずにセキュリティを確保する DevSecOps(開発・運用・セキュリティを一体化する考え方)との親和性が非常に高い技術です。


IASTの仕組みと構造

IASTの核心は、アプリケーションの実行環境に組み込まれる エージェント です。このエージェントがコードの実行を監視し、データの流れ(特に外部入力がどこを通ってどこに出るか)を追跡します。

処理フェーズIASTエージェントがやること
HTTPリクエスト受信入力データのソース(出どころ)を記録
関数・メソッド呼び出しデータが通過するコードの経路を追跡
DB・外部API呼び出し危険なデータがそのまま渡されていないか確認
レスポンス送信機密情報の漏洩・サニタイズ漏れをチェック

検出できる主な脆弱性

覚え方:「動かしながら中から見る」

Interactive = 動いているアプリに 対話的 に問いかける
SASTが「設計図のチェック」、DASTが「外から扉を叩く検査」なら、
IASTは「店員として内側に入って接客しながら異常を見つける覆面調査員」!


歴史と背景

  • 2000年代前半 — Webアプリケーションの普及に伴い、SQLインジェクションやXSSなどの脆弱性が社会問題化。SASTとDASTが主流の対策手法として発展
  • 2012年頃 — Gartner(ITリサーチ企業)がIASTという用語を提唱。「ランタイム解析(実行時解析)」の概念をセキュリティテストに応用する方向性を示す
  • 2013〜2015年 — Contrast Security、Seeker(Synopsys)などのIAST専門ベンダーが登場。Java・.NET向けエージェントが本格普及
  • 2018年以降 — DevSecOpsの概念が広まるにつれ、CI/CDパイプラインへの統合ツールとしてIASTの需要が急増
  • 2020年代クラウドネイティブマイクロサービス環境への対応が進み、コンテナ内エージェントとして動作するIASTも登場

SAST・DAST・IASTの比較

3つのアプリケーションセキュリティテスト手法には、それぞれ異なる特性と得意領域があります。発注・選定時に「どのフェーズで何を検出したいか」を判断基準にするとよいでしょう。

セキュリティテスト手法の比較 SAST 静的解析 DAST 動的解析(外部) IAST 動的解析(内部) 解析対象 ソースコード 解析対象 実行中アプリへの 外部リクエスト 解析対象 実行中アプリの 内部処理フロー 実施タイミング 開発中(コード完成前) 実施タイミング テスト〜本番環境 実施タイミング テスト・CI/CD実行中 誤検知(FP) 多い傾向 誤検知(FP) 中程度 誤検知(FP) 少ない 導入コスト 低〜中 導入コスト 低〜中 導入コスト 中〜高 言語依存 あり(言語ごとに必要) 言語依存 なし 言語依存 あり(エージェント必要)

IASTが特に有効なシーン

  • テスト自動化が整っている開発チーム — QAテストと同時にセキュリティ検査が走るため、追加コストが最小化できる
  • 複雑なビジネスロジックを持つWebアプリ — 外部から叩くだけでは再現しにくい脆弱性を内部から検出できる
  • スピードが求められるアジャイル開発リリースサイクルを崩さずにセキュリティを組み込める

IASTの限界と注意点

  • エージェントが対応している プログラミング言語・フレームワーク に限定される(Java・.NET・Node.jsPythonなどが主流)
  • テストで実行されなかったコードパスの脆弱性は検出できない(カバレッジ依存)
  • 本番環境への組み込みはパフォーマンスへの影響リスクがあり、テスト環境での利用が推奨される

関連する規格・RFC

規格・文書内容
OWASP Testing GuideWebアプリケーションセキュリティテストの包括的ガイドライン。IASTを含む各種テスト手法の実践的な指針を提供
NIST SP 800-115情報セキュリティテストと評価に関する技術ガイド。動的テスト手法の位置づけを定義

関連用語