バッファオーバフローとは?
バッファオーバフローとは、プログラムが確保した領域を超える長さのデータを書き込ませ、隣接するメモリを壊して制御を奪う攻撃です。戻り先アドレスを書き換えて攻撃コードへジャンプさせる形が典型。C言語のように境界検査を自動で行わない言語で起きやすい脆弱性です。
ばっふぁおーばふろー
バッファオーバフローの意味
プログラムが確保した領域を超える長さのデータを書き込ませ、隣接するメモリを壊して制御を奪う攻撃です。戻り先アドレスを書き換えて攻撃コードへジャンプさせる形が典型。C言語のように境界検査を自動で行わない言語で起きやすい脆弱性です。
バッファオーバフローの具体例
100バイトの配列に200バイトの入力をコピーする実装に長い文字列を送り、スタック上の戻りアドレスを上書きして任意コードを実行させる。対策は入力長の検査、安全な関数の使用、OS側のDEPやASLRといった実行防止・配置ランダム化です。
バッファオーバフローは試験でどう引っ掛けられる?
「メモリ不足で異常終了するだけの現象」ではなく、任意コード実行につながる深刻な脆弱性です。またJavaやPythonのように境界検査がある言語では原則起きない点、ヒープ型とスタック型がある点も押さえましょう。
バッファオーバフローと関連する用語
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。