静的解析/動的解析とは?
静的解析/動的解析とは、ソースコードやバイナリを実行せずに解析して危険なコーディングを検出するのが静的解析(SAST)、実際に動作させて外部から入力を与え応答から脆弱性を検出するのが動的解析(DAST)。両者を組み合わせるIASTやソフトウェア構成分析(SCA)もある。
基本情報技術者試験の過去問では3回出題されています(2019年度〜2022年度)。
せいてきかいせき、どうてきかいせき
静的解析/動的解析の意味
ソースコードやバイナリを実行せずに解析して危険なコーディングを検出するのが静的解析(SAST)、実際に動作させて外部から入力を与え応答から脆弱性を検出するのが動的解析(DAST)。両者を組み合わせるIASTやソフトウェア構成分析(SCA)もある。
静的解析/動的解析の具体例
静的解析/動的解析は試験でどう引っ掛けられる?
検出できる対象が逆になる。静的解析(SAST)はソースコードが必要だが実行環境は不要で、網羅性は高い反面、実際には到達しない経路も指摘する(偽陽性が多い)。動的解析(DAST)は動作環境が必要だがソース不要で、設定不備やサーバの構成起因の問題を見つけられる反面、テストで叩けなかった経路は見逃す。ファジングは動的解析側、依存ライブラリの脆弱性を見るSCAは別カテゴリ。
静的解析/動的解析と関連する用語
静的解析/動的解析が出た過去問
マルウェアの動的解析に該当するものはどれか。
正解:検体をサンドボックス上で実行し、その動作や外部との通信を観測する。
要点:動的解析は検体を隔離環境で実行し挙動を観測すること
動的解析とは、検体を実際に実行させてその挙動を観測する手法である。安全に実行するために隔離環境(サンドボックス)を用い、ファイル操作やレジストリ変更、外部への通信などを記録する。これに対し、実行せずにコードや特徴を調べる手法は静的解析と呼ばれ、ハッシュ値照合や逆アセンブル・逆コンパイルによる解析が該当する。
出典:令和1年度 秋期 基本情報技術者試験 午前 問36(IPA)ソフトウェアのテストツールの説明のうち、静的テストを支援する静的解析ツールのものはどれか。
正解:プログラム中に文法上の誤りや論理的な誤りなどがあるかどうかを、ソースコードを分析して調べる。
要点:静的解析は実行せずにソースコードから欠陥を見つける
静的解析ツールは、プログラムを実行せずにソースコードを解析して、文法上の誤りやコーディング規約違反、初期化されていない変数などの問題を指摘する。実行を伴わない点が特徴で、早い段階で欠陥を見つけられる。テストデータの生成、網羅率の計測、実行時の性能測定はいずれも実行を前提とした動的なツールである。
出典:令和1年度 春期 基本情報技術者試験 午前 問48(IPA)マルウェアの動的解析に該当するものはどれか。
正解:検体をサンドボックス上で実行し、その動作や外部との通信を観測する。
要点:動的解析は隔離環境で実行して挙動を観測する
動的解析は、検体を実際に実行させて挙動を観測する手法である。安全のために外部と隔離されたサンドボックス環境で動かし、ファイルやレジストリの操作、外部との通信先などを記録する。実行せずにコードや特徴を調べる手法は静的解析と呼ばれ、ハッシュ値の照合や逆コンパイルによる解析が該当する。
出典:令和4年度 s 基本情報技術者試験 kamokuA 問35(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。