IAST(インタラクティブ・アプリケーション・セキュリティ・テスト)とは
インタラクティブ・アプリケーション・セキュリティ・テスト(IAST)は、SAST(静的アプリケーション・セキュリティ・テスト)とDAST(動的アプリケーション・セキュリティ・テスト)を組み合わせて、アプリケーションの脆弱性をより効果的に発見する方法です。
IASTの特徴には以下が含まれます:
- IASTツールは、アプリケーションが実行されている間にセンサーや監視コンポーネントをアプリケーション内部に追加することで動作します。これらのツールは、テストが自動化されているか人手で行われているかに関わらず、アプリの動作を監視します。このアプローチにより、IASTはコードの実行、ユーザー入力、およびアプリがデータをリアルタイムでどのように処理するかをチェックできます。
- IASTはコードベース全体を自動的にスキャンするわけではなく、テスト中にアプリケーションがどれだけ広範囲に実行されるかによってカバレッジが決まります。テスト活動が広範であるほど、脆弱性のカバレッジは深くなります。
- IASTは通常、QAまたはステージング環境で展開され、自動または手動の機能テストが実行されます。
サイバーセキュリティにおけるIASTの重要性
SASTは、アプリケーションを実行せずにソースコード、バイトコード、またはバイナリを分析し、コーディングエラーを発見するのに非常に効果的ですが、誤検知を生じる可能性があり、実行時特有の問題を見逃すことがあります。
DASTは、実行中のアプリケーションを外部からテストし、実行時にのみ現れる問題を露出することができますが、内部ロジックやコード構造への深い可視性が欠けています。IASTはこれらの技術の強みを組み合わせてギャップを埋め、以下を提供します。
- 脆弱性の原因と経路に関するより深い洞察。
- SASTやDAST単独と比較して改善された検出精度。
- 実行時の活動とコード分析を関連付けることによる誤検知の削減。
IASTの仕組み
- インストルメンテーション: IASTはインストルメンテーションを使用します。つまり、センサーやモニタリングコードがアプリケーションに埋め込まれ(多くの場合、QAまたはステージング環境で)、テスト中の動作を観察します。
- モニタリング: データフロー、ユーザー入力、およびコードの動作をリアルタイムで観察し、テストや手動操作によってアプリケーションが実行される際に監視します。
- 検出: 不適切な設定、未サニタイズのデータフロー、またはインジェクションリスクなどの脆弱性をフラグします。
- 報告: 開発者に検出された問題を解決するための実行可能な発見と修正ガイダンスを提供します。
例
機能テスト中、QAチームはログインフォームと対話します。IASTツールは、ユーザー入力がサニタイズされずにデータベースクエリに流れ込むことを検出し、潜在的なSQLインジェクションリスクを示します。チームは脆弱性レポートとセキュリティ問題を修正するための実行可能なステップを受け取ります。
関連用語
- SAST (静的アプリケーションセキュリティテスト)
- DAST (動的アプリケーションセキュリティテスト)
- SCA (ソフトウェア構成分析)
- アプリケーションセキュリティテスト
- ASPM (アプリケーションセキュリティ姿勢管理)