資格暗記無料で始める

バッファオーバフローとは?

バッファオーバフローとは、確保した領域を超える長さのデータを書き込ませ、隣接するメモリを破壊する脆弱性。スタック上の戻り番地を書き換えて攻撃者の用意したコードへ制御を移せば、任意コード実行に至る。境界検査を持たないC/C++で起きやすい。

ばっふぁおーばふろー

高度試験・午前I(全区分共通)の頻出用語/午前I(全区分共通)


バッファオーバフローの意味

確保した領域を超える長さのデータを書き込ませ、隣接するメモリを破壊する脆弱性。スタック上の戻り番地を書き換えて攻撃者の用意したコードへ制御を移せば、任意コード実行に至る。境界検査を持たないC/C++で起きやすい。

バッファオーバフローの具体例

入力長を検査しない文字列コピー関数へ長大なデータを渡し、戻り番地を上書きする。対策は境界検査のあるAPIの使用に加え、スタック保護、配置をランダム化するASLR、データ領域の実行を禁止するDEPなどの緩和機構。

バッファオーバフローは試験でどう引っ掛けられる?

実行環境の緩和機構は攻撃の成立確率を下げるだけで、根本対策は入力長の検査を実装すること。またヒープ領域でも発生するため「スタック特有の問題」と決めつけないこと。

バッファオーバフローと関連する用語

最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。