静的解析とは?
静的解析とは、プログラムを実行せずにソースコードを解析し、未初期化変数、配列の境界超過、到達不能コード、規約違反などを検出する手法。テストでは再現しにくい潜在不具合を早期に見つけられる。
基本情報技術者試験の過去問では4回出題されています(2019年度〜2024年度)。
せいてきかいせき
静的解析の意味
プログラムを実行せずにソースコードを解析し、未初期化変数、配列の境界超過、到達不能コード、規約違反などを検出する手法。テストでは再現しにくい潜在不具合を早期に見つけられる。
静的解析の具体例
コーディング規約の適合性検査や、複雑度の測定に用いる。
静的解析は試験でどう引っ掛けられる?
実行して振る舞いを調べる動的解析(プロファイリング、アサーション、ファジングなど)と対比される。静的解析は誤検出(偽陽性)が出る点も特徴。
静的解析と関連する用語
静的解析が出た過去問
マルウェアの動的解析に該当するものはどれか。
正解:検体をサンドボックス上で実行し、その動作や外部との通信を観測する。
要点:動的解析は検体を隔離環境で実行し挙動を観測すること
動的解析とは、検体を実際に実行させてその挙動を観測する手法である。安全に実行するために隔離環境(サンドボックス)を用い、ファイル操作やレジストリ変更、外部への通信などを記録する。これに対し、実行せずにコードや特徴を調べる手法は静的解析と呼ばれ、ハッシュ値照合や逆アセンブル・逆コンパイルによる解析が該当する。
出典:令和1年度 秋期 基本情報技術者試験 午前 問36(IPA)ソフトウェアのテストツールの説明のうち、静的テストを支援する静的解析ツールのものはどれか。
正解:プログラム中に文法上の誤りや論理的な誤りなどがあるかどうかを、ソースコードを分析して調べる。
要点:静的解析は実行せずにソースコードから欠陥を見つける
静的解析ツールは、プログラムを実行せずにソースコードを解析して、文法上の誤りやコーディング規約違反、初期化されていない変数などの問題を指摘する。実行を伴わない点が特徴で、早い段階で欠陥を見つけられる。テストデータの生成、網羅率の計測、実行時の性能測定はいずれも実行を前提とした動的なツールである。
出典:令和1年度 春期 基本情報技術者試験 午前 問48(IPA)マルウェアの動的解析に該当するものはどれか。
正解:検体をサンドボックス上で実行し、その動作や外部との通信を観測する。
要点:動的解析は隔離環境で実行して挙動を観測する
動的解析は、検体を実際に実行させて挙動を観測する手法である。安全のために外部と隔離されたサンドボックス環境で動かし、ファイルやレジストリの操作、外部との通信先などを記録する。実行せずにコードや特徴を調べる手法は静的解析と呼ばれ、ハッシュ値の照合や逆コンパイルによる解析が該当する。
出典:令和4年度 s 基本情報技術者試験 kamokuA 問35(IPA)ペネトレーションテストに該当するものはどれか。
正解:公開Webサーバや組織のネットワークの脆弱性を探索し、サーバに実際に侵入できるかどうかを確認する。
要点:ペネトレーションテストは実際に侵入できるかを試す
ペネトレーションテストは、実際に攻撃者と同じ手口で対象システムへの侵入を試み、防御を突破できるかを確認する検査である。脆弱性の有無を調べるだけでなく、実際に侵入可能かという観点まで踏み込む点が特徴になる。ソースコード検査や改ざん検知、通信の振る舞い監視とは目的が異なる。
出典:令和6年度 (公開問題) 基本情報技術者試験 kamokuA 問9(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。