SC Workbook
科目 A-2 · システム開発技術

条件に合う脆弱性検査手法

A 社は,B 社が開発した Web アプリケーションを導入する前に,XSS や SQL インジェクションなど,アプリケーション固有の実装に起因する脆弱性を自ら検査したい。ソースコードも実行モジュールも B 社から開示されず,稼働中のテスト環境に HTTP でアクセスすることだけが認められており,テスト環境のサーバにエージェントなどを導入することはできない。この条件で A 社が実施できる検査手法として,最も適切なものはどれか。

  1. アSAST:ソースコードやバイナリを実行せずに解析し,脆弱性につながるコードのパターンを検出する。
  2. イDAST:稼働中のアプリケーションに外部から疑似攻撃のリクエストを送り,その応答から脆弱性を検出する。
  3. ウIAST:アプリケーションの実行環境に組み込んだセンサで,テスト実行中の内部の処理を監視して脆弱性を検出する。
  4. エSCA:組み込まれた OSS などのコンポーネントとそのバージョンを特定し,既知の脆弱性情報と照合する。
正解と解説を見る

正解 イ

この問題の基礎知識

  • SAST(静的解析)は,ソースコードやバイナリを実行せずに解析する手法であり,解析対象のコードを入手できることが前提となる。
  • DAST(動的解析)は,稼働中のアプリケーションに外部からリクエストを送って応答を観察する手法である。IAST は,実行環境に組み込んだセンサ(エージェント)で内部の処理を監視する手法である。
  • SCA(ソフトウェア構成分析)は,組み込まれた OSS などのコンポーネントとバージョンを特定して既知の脆弱性と照合する手法であり,独自に実装した部分の脆弱性は対象としない。
  • 検査手法は,コードを入手できるか,稼働環境にどうアクセスできるか,エージェントを導入できるかといった前提条件によって,実施できるものが絞られる。
アSAST:ソースコードやバイナリを実行せずに解析し,脆弱性につながるコードのパターンを検出する。

SAST は解析対象のソースコードやバイナリを入手できることが前提である。この条件ではどちらも開示されないので実施できない。

イDAST:稼働中のアプリケーションに外部から疑似攻撃のリクエストを送り,その応答から脆弱性を検出する。正解

DAST は稼働中のソフトウェアを外部から検査する手法であり,ソースコードや実行環境への組込みを必要としない。HTTP でのアクセスだけが認められた条件でも,アプリケーション固有の脆弱性を検出できる。

ウIAST:アプリケーションの実行環境に組み込んだセンサで,テスト実行中の内部の処理を監視して脆弱性を検出する。

IAST は実行中のプログラムの内部の処理を監視するので,実行環境にエージェントなどを組み込む必要がある。サーバへの導入が認められていない条件では実施できない。

エSCA:組み込まれた OSS などのコンポーネントとそのバージョンを特定し,既知の脆弱性情報と照合する。

SCA が検出するのは,外部コンポーネントに含まれる既知の脆弱性である。B 社が実装した部分に起因する XSS や SQL インジェクションを検出する手法ではない。

検証用の出典出典照合済み
NIST IR 8397 Guidelines on Minimum Standards for Developer Verification of Software / NIST SP 800-218 Secure Software Development Framework (SSDF)
照合の根拠(5 件)
  • イ(正解): Web サービスには DAST(Web アプリケーションスキャナ)で脆弱性を検出する
    If the software provides a web service, use a dynamic application security testing (DAST) tool, e.g., web application scanner, see Sec. 3.5, or Interactive Application Security Testing (IAST) tool to detect vulnerabilities.
    NIST IR 8397 · Section 2.10(新しいタブで開きます)
  • イ(正解): DAST は稼働中のソフトウェアを検査する
    DAST tools, such as web app scanners, test software in operation.
    NIST IR 8397 · Section 3.5(新しいタブで開きます)
  • ウ(誤り): IAST はプログラムの実行を内部から監視するので,実行環境への組込みが必要
    A hybrid or IAST tool may also monitor program exe- cution for internal faults.
    NIST IR 8397 · Section 2.10(新しいタブで開きます)
  • ア(誤り): SAST(Static Application Security Testing)はソースコードかバイナリを解析するので,どちらも開示されない条件では実施できない
    examine the code, either source or binary, to warn of possible weaknesses.
    NIST IR 8397 · Section 3.6(新しいタブで開きます)
  • エ(誤り): SCA は組み込まれたコードの既知の脆弱性を調べるもので,独自実装の脆弱性検出ではない
    Software Composition Analysis (SCA) and Origin Analyzer (OA) tools scan a code base to identify what code is included. They also check for any vulnerabilities that have been reported for the included code
    NIST IR 8397 · Section 3.10(新しいタブで開きます)

条件はソースコード・実行モジュールの開示なし,HTTP アクセスのみ,サーバへのエージェント導入不可なので,外部から稼働中のアプリケーションを検査する DAST だけが実施できる。NIST IR 8397 は DAST・IAST を明記している(2.10,3.5)。

問題 ID A2-SDV-0502 · AI 作成のオリジナル問題 · 正解と各選択肢の根拠を出典の原文で確認しています。 照合日 2026-11-08

非公式の学習用アプリです(IPA とは関係ありません)。問題はすべて AI が作成したオリジナルで、誤りを含む場合があります。