「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

バッファローオーバーフロー

pointこの用語のポイント

point言い間違いとか書き間違いだよ

point「バッファオーバーフロー」のことだと思うよ

スポンサーリンク

簡単に書くよ

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

「バッファオーバーフロー」の言い間違いとか書き間違い。
バッファオーバーフローは

「これくらい入るかな~」と思って確保していた領域よりもたくさん入れちゃって、入りきらなかった状態のこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「バッファオーバーフロー」について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

バッファオーバーフローは「確保していた領域よりもたくさん入れちゃって、入りきらなかった状態」です。
もっと端的に言えば、あふれちゃったわけですね。
データを溜めておく場所バッファがあふれたオーバーフローした)」状態です。

バッファローオーバーフロー

プログラミングでは変数を扱います。
変数は「データを入れておく箱」です。
中にデータ(値)を入れます。

バッファローオーバーフロー2

この変数ですが、実際にはメモリ上に場所を確保します。
メモリの上に「ここからここまで、この変数が使うから」と値を入れておくための領域を確保するのです。

バッファローオーバーフロー3

よく分からない方は花見の場所取りをイメージしてください。
場所を取るために下に敷いたブルーシートが変数です。
その上に座る上司や先輩、花見の参加者が値です。

花見の参加者が多くなると、ブルーシートに座りきれません。
ブルーシートの外にはみ出してしまうでしょう。
そうすると、隣で花見をしている人たちの迷惑になってしまうかもしれませんね。

コンピュータの世界も同じです。

例えば、3文字まで入る変数をメモリ上に確保したとしましょう。

バッファローオーバーフロー4

そこに4文字以上入れると、入りきらない分があふれてしまいます。

バッファローオーバーフロー5

もし隣の領域を他の変数が使っていたら、どうでしょう?

バッファローオーバーフロー6

他の変数の値を書き換えてしまいますね。

バッファローオーバーフロー7

これは本来想定していない事態です。
困ったことになる可能性が高いでしょう。

このような

元々確保していた領域よりも大きい値を入れて、あふれちゃった状態

がバッファオーバーフローです。

また、意図的にバッファオーバーフローを発生させることでプログラムに誤作動を起こさせようとする悪いことを「バッファオーバーフロー攻撃」と言います。

バッファローオーバーフロー8

このバッファオーバーフロー攻撃を意図して「バッファオーバーフロー」と表現している場合も あります。

以上を踏まえて

「バッファオーバーフロー」を意図したであろう間違い

が「バッファローオーバーフロー」です。

バッファローオーバーフロー9

「バッファロー」では ありません。
「バッファ」です。

バッファローオーバーフロー10

もしかしたら、どこかに文字通りの「バッファローオーバーフロー」という用語があるかもしれませんけどね。
基本的には「バッファオーバーフロー」を意図しているはずです。


image piyo2

一言でまとめるよ

まぁ「バッファローオーバーフロー」って単語が出てきたら「『バッファオーバーフロー(確保していた領域よりもたくさん入れてあふれた状態、あるいは、それを利用した攻撃)』って言いたい(書きたい)んだろうな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像008
書籍画像010


書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
実務で役立つ ログの教科書 基礎知識から収集方法・分析手法・トラブルシューティング・パフォーマンス最適化・機械学習での活用まで
クイズで学ぶUIデザイン ユーザビリティの基本が身につく50問