バッファオーバーフローとは
ばっふぁおーばーふろー
配列などの領域(バッファ)に、その大きさを超えるデータを書き込み、隣のメモリを壊してしまうこと。C言語では、書き込み先の大きさを知らない strcpy や gets、範囲を確かめずに添字を使うループなどで起こりやすく、未定義動作になる。スタック上のバッファがあふれると、局所変数や関数の戻り先の番地が書き換えられ、外から与えた入力で任意のコードを実行させる攻撃に悪用されることがある。大きさを指定できる関数や範囲の確認で防ぐ。
「バッファオーバーフロー」は、2分野の3問の練習問題に出てきます(リンカ・ローダと実行形式, C言語の基礎など)。
この用語の分野: C言語の基礎