バッファオーバフローとは?
バッファオーバフローとは、プログラムが確保した領域を超える長さのデータを書き込ませ、隣接するメモリを壊して制御を奪う攻撃です。戻り先アドレスを書き換えて攻撃コードへジャンプさせる形が典型。C言語のように境界検査を自動で行わない言語で起きやすい脆弱性です。
ITパスポートの過去問では2回出題されています(2014年度〜2017年度)。
ばっふぁおーばふろー
バッファオーバフローの意味
プログラムが確保した領域を超える長さのデータを書き込ませ、隣接するメモリを壊して制御を奪う攻撃です。戻り先アドレスを書き換えて攻撃コードへジャンプさせる形が典型。C言語のように境界検査を自動で行わない言語で起きやすい脆弱性です。
バッファオーバフローの具体例
100バイトの配列に200バイトの入力をコピーする実装に長い文字列を送り、スタック上の戻りアドレスを上書きして任意コードを実行させる。対策は入力長の検査、安全な関数の使用、OS側のDEPやASLRといった実行防止・配置ランダム化です。
バッファオーバフローは試験でどう引っ掛けられる?
「メモリ不足で異常終了するだけの現象」ではなく、任意コード実行につながる深刻な脆弱性です。またJavaやPythonのように境界検査がある言語では原則起きない点、ヒープ型とスタック型がある点も押さえましょう。
バッファオーバフローと関連する用語
バッファオーバフローが出た過去問
情報セキュリティにおける脅威であるバッファオーバフローの説明として、適切なものはどれか。
正解:プログラムが用意している入力用のデータ領域を超えるサイズのデータを入力することで、想定外の動作をさせる。
要点:バッファオーバフローは領域超過の入力で異常動作を誘発
バッファオーバフローは、プログラムが確保した入力用の領域を超える長さのデータを送り込み、隣接する領域を上書きさせる攻撃である。これにより処理が異常な動作をしたり、攻撃者が仕込んだ命令が実行されたりする恐れがある。入力長の検査を行うことが基本的な対策となる。
出典:平成26年度 秋期 ITパスポート試験 問59(IPA)情報セキュリティを脅かすもののうち,ソフトウェアの脆弱性を修正するパッチを適用することが最も有効な対策となるものはどれか。
正解:バッファオーバフロー
要点:バッファオーバフローはプログラムの欠陥。修正パッチが有効
バッファオーバフローは、プログラムが確保した領域を超えるデータを書き込んでしまう実装上の不具合を突く攻撃で、原因はソフトウェアそのものの欠陥にある。したがって修正パッチの適用が最も直接的で有効な対策になる。総当たり攻撃はパスワード強度や試行回数制限、ソーシャルエンジニアリングは教育と運用ルール、ポートスキャンはファイアウォールなど、対策の性質が異なる。
出典:平成29年度 春期 ITパスポート試験 問80(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。