動的解析
Dynamic Analysis
どうてきかいせき
プログラムを実際に動作させ、その振る舞いを観察して分析する手法。マルウェアの解析では、サンドボックスなどの隔離した環境で検体を実行し、作成するファイル、レジストリの変更、通信先などを記録して機能を調べる。ソフトウェアの検証では、実行時のメモリの使い方や脆弱性の有無を調べるのに使う。
Related
他の資格での定義
Past Exams
過去問での出題
過去問で 3 回出題(情報セキュリティマネジメント試験 2・基本情報技術者試験 1)。うち 3 回は用語そのものを問う問題です。
出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「用語を問う問題」は、この用語の説明や特徴そのものを問う問題です。用語名で照合しているため、関係の薄い問題が含まれることがあります。
Related
関連キーワードの用語
プログラムを実行せずに、ソースコードやバイナリを解析して脆弱性を検出する検査手法。SQLインジェクションやバッファオーバーフローにつながる危険な関数の使用や、入力値が無害化されずに出力に渡る経路などを見つける。開発の早い段階から自動で実行できる一方、誤検知が多く、実行時の設定や環境に起因する問題は見つけにくい。
不審なプログラムやファイルを、本来の環境から隔離した仮想環境で実行し、その挙動を観察する仕組み。ファイルの作成、レジストリの変更、外部への通信などを記録して、シグネチャでは検知できない未知のマルウェアを判定する動的解析に使われる。仮想環境であることを察知して活動を止めるマルウェアもあるため、解析妨害への対処も必要になる。
攻撃者をおびき寄せるために、脆弱に見せかけてインターネット上に設置するおとりのシステム。正規の利用者がアクセスしないため到達した通信はほぼすべて攻撃とみなせ、攻撃の手口や使われたマルウェアの検体を収集・解析して、攻撃の動向の把握や対策の検討に役立てる。踏み台に悪用されないよう、外部への通信を制限して運用する。
プログラムを実行せずに、ソースコードや実行ファイルの内容を調べて分析する手法。マルウェアの解析では、逆アセンブルなどで検体のコードや埋め込まれた文字列を調べ、機能や通信先を推定する。ソフトウェアの開発では、ツールでソースコードを検査して不具合や脆弱性を見つけるのに使う。
プログラムを書くときに従う、命名規則、字下げ、コメントの書き方、使用を禁止・制限する構文などの組織やプロジェクトの取決め。書き手によるばらつきを抑えて読みやすさと保守性を高め、誤りや脆弱性の作り込みを防ぐ。遵守の確認は静的解析ツールで自動化することが多い。
ソースコードがコーディング標準や記述のルールに従っているかを自動的に検査するツール。規約違反や誤りを招きやすい記述を指摘するため、レビューの負担を減らし、品質のばらつきを抑えられる。
