メインコンテンツへ
セキュリティセキュリティ実践

SAST・DAST・IASTの説明として、最も適切なものはどれか。

ア.SAST・DAST・IASTはいずれも本番運用中にのみ使用できるツールで、開発段階では適用できない。
イ.SASTは本番環境でリアルタイムに攻撃を検知し、DASTはコードをレビューして脆弱性を報告し、IASTは暗号化の強度を評価する手法である。
ウ.SASTはソースコードを静的解析し、DASTは実行中のアプリに外部から攻撃を試み脆弱性を発見する。IASTはアプリ実行中に内部エージェントで動的に検査する手法で、両者の利点を組み合わせる。正解
エ.DASTはコードが不要でURLがあれば検査できるが、認証後の画面には侵入できないため、ログイン機能のテストには使えない。

解説

セキュリティテストの3兄弟を料理に例えると:SAST=レシピ(コード)を読んで危険な材料を見つける、DAST=完成した料理を実際に食べてみて毒を検出する、IAST=料理しながら調理プロセスを内側からカメラで監視する。

なぜ ウ が正解か

ウが正解。SAST(Static Application Security Testing):コードを実行せず静的解析。開発初期に対応できる。DAST(Dynamic Application Security Testing):動作中のアプリにOWASP ZAPやBurp Suiteで外部から疑似攻撃。IAST(Interactive AST):アプリにエージェントを組み込み、テスト実行中のデータフローを内部追跡する。SASTはコード層、DASTは外部接触層、IASTは実行時内部の弱点を発見する。

なぜ イ は間違いか

説明が完全に誤り。SASTは本番監視ではなくコード静的解析、DASTは実行中アプリへの外部攻撃テスト、IASTは実行時内部エージェント監視。

なぜ ア は間違いか

SASTは開発フェーズで使うもの(Shift Left)。DASTも開発・ステージング環境で実施できる。本番限定ではない。

なぜ エ は間違いか

DASTは認証情報(クレデンシャル)を与えることでログイン後の画面も検査できる(認証付きスキャン)。認証後のテストが不可というのは誤り。

出典: AI生成問題(学習用)