|
|
・ 2006年4月 ・ |
●
(06/04/24)
|
●
(06/04/17)
|
●
(06/04/10)
|
●
(06/04/03)
|
・ 2006年3月 ・ |
●
(06/03/27)
|
●
(06/03/20)
|
●
(06/03/13)
|
●
(06/03/06)
|
・ 2006年2月 ・ |
●
(06/02/27)
|
●
(06/02/20)
|
●
(06/02/13)
|
●
(06/02/06)
|
・ 2006年1月 ・ |
●
(06/01/30)
|
●
(06/01/23)
|
●
(06/01/16)
|
・ 2005年12月 ・ |
●
(05/12/19)
|
●
(05/12/12)
|
●
(05/12/05)
|
・ 2005年11月 ・ |
●
(05/11/28)
|
●
(05/11/21)
|
●
(05/11/14)
|
●
(05/11/07)
|
・ 2005年10月 ・ |
●
(05/10/31)
|
●
(05/10/24)
|
●
(05/10/17)
|
●
(05/10/03)
|
・ 2005年9月 ・ |
●
(05/09/26)
|
●
(05/09/12)
|
●
(05/09/05)
|
・ 2005年8月 ・ |
●
(05/08/29)
|
●
(05/08/22)
|
●
(05/08/08)
|
●
(05/08/01)
|
・ 2005年7月 ・ |
●
(05/07/25)
|
●
(05/07/11)
|
●
(05/07/04)
|
・ 2005年6月 ・ |
●
(05/06/27)
|
●
(05/06/20)
|
●
(05/06/13)
|
●
(05/06/06)
|
・ 2005年5月 ・ |
●
(05/05/30)
|
●
(05/05/23)
|
●
(05/05/16)
|
●
(05/05/09)
|
・ 2005年4月 ・ |
●
(05/04/25)
|
●
(05/04/18)
|
●
(05/04/11)
|
●
(05/04/04)
|
・ 2005年3月 ・ |
●
(05/03/28)
|
●
(05/03/14)
|
●
(05/03/07)
|
・ 2005年2月 ・ |
●
(05/02/28)
|
●
(05/02/21)
|
●
(05/02/14)
|
●
(05/02/07)
|
・ 2005年1月 ・ |
●
(05/01/31)
|
●
(05/01/24)
|
●
(05/01/17)
|
・ 2004年12月 ・ |
●
(04/12/20)
|
●
(04/12/13)
|
●
(04/12/06)
|
・ 2004年11月 ・ |
●
(04/11/29)
|
●
(04/11/22)
|
●
(04/11/15)
|
●
(04/11/08)
|
●
(04/11/01)
|
・ 2004年10月 ・ |
●
(04/10/25)
|
●
(04/10/18)
|
●
(04/10/04)
|
・ 2004年9月 ・ |
●
(04/09/27)
|
●
(04/09/13)
|
●
(04/09/06)
|
・ 2004年8月 ・ |
●
(04/08/30)
|
●
(04/08/23)
|
●
(04/08/09)
|
●
(04/08/02)
|
・ 2004年7月 ・ |
●
(04/07/26)
|
●
(04/07/12)
|
●
(04/07/05)
|
・ 2004年6月 ・ |
●
(04/06/28)
|
●
(04/06/21)
|
●
(04/06/14)
|
●
(04/06/07)
|
|
|
|
|
.
【第48回】
バッファオーバーランと野球中継(セキュリティホール2)
(03/12/01)
窓の杜高校、超パソコン部の部室。
あらあら、めも理ちゃん。今日は脱力状態で部室に入ってきました。
一体、何があったのでしょう?
野球中継
|
どうしたんですかめも理ちゃん、げんなりしているようですね。
|
|
そうよ、昨日げんなりするようなことがあったのよ。
家のビデオで“世界のお菓子紀行”という番組を録画していたのよ。そうしたら昨日、お父さんが野球中継を同じビデオに録画して、その野球中継が長引いちゃったからと、私が録画していた世界のお菓子紀行の上にまで、野球中継を録画してくれたのよ。
おかげで、私が録画していた世界のお菓子紀行は、野球中継に上書きされてパーになったの。
|
|
それは災難でしたね。しかしまあ、野球中継が延びて世界のお菓子紀行に上書きされたのは、まるで、“バッファオーバーラン”みたいですね。
|
|
はっ? マッハオーバーラン? マッハの速度で走り過ぎるの?
|
|
違いますよ。バッファオーバーランです。
|
|
何それ?
|
|
そうですね、昨日の野球中継の件を例に、少し説明してみましょう。
|
上書き
|
めも理と窓太の4コマまんが 「バッファオーバーラン」 |
|
昨日のビデオの件ですが、本来世界のお菓子紀行が入るべき場所に、野球中継が録画されたのですね。
|
|
そうよ。
|
|
つまり、野球中継が思いのほか長くなってしまったために、本来めも理ちゃんが見るべき部分だった、世界のお菓子紀行の番組まで上書きされたということですよね。
|
|
そうよ。私が見るはずだった世界のお菓子紀行が、野球中継なんかになってしまったのよ。
|
|
バッファオーバーランも似たような現象です。
バッファオーバーランは、メモリ上に読み込まれたアプリケーションのプログラムの一部に、ほかのプログラムが上書きされて、実行される現象なのです。
|
|
へっ?
|
|
それじゃあ仮に、ビデオテープをメモリと思って下さい。メモリ上には、アプリケーションのプログラム部分や、そのアプリケーションが利用しているデータなどが読み込まれています。
ここでは便宜的に、めも理ちゃんが見るはずだった世界のお菓子紀行の部分をプログラムが読み込まれている領域、野球中継の部分をデータの領域とします。
|
|
ふむふむ。世界のお菓子紀行がプログラムで、野球中継がデータなのね。
あれ、ちょっと待ってよ。それじゃあ、世界のお菓子紀行が録画されていた部分に野球中継が上書きされたら変なことになるわよ。プログラムがデータに上書きされていることになるんじゃないの? そんなことってあり得るの?
|
|
それがあるのです。世界のお菓子紀行が野球中継に上書きされたように、データが溢れることによってプログラムの一部が上書きされてしまうことがあるのです。
|
|
へー。じゃあ、プログラムが書いてあった部分を上書きしてしまったデータ部分って、どうなるの?
|
|
そのままプログラムとして実行されますよ。
|
|
はっ?
|
|
つまりコンピューターは、プログラムと思ってそのまま上書きされたデータ部分も実行するわけです。
めも理ちゃんが、世界のお菓子紀行だと勘違いして、延々と野球中継を見るようなものです。
|
|
私はそんな間抜けなことはしないわよ。
|
|
でも、コンピューターはするのです。
こういった現象を、バッファ(メモリ上のある領域)をオーバーして、プログラムが実行(ラン)されてしまう現象ということで、バッファオーバーランと呼ぶのです。
|
|
へー。でもそんなのじゃ、まともにプログラムが動かないんじゃないの?
|
|
そうですね。普通は、こういったことが起こると、プログラムはエラーを起こして終了してしまいます。
|
|
普通はって、普通じゃないことがあるの?
|
|
それがあるのです。こういった現象を利用して、プログラムに意図しない動作を無理矢理実行させる、悪質な行為もあるのです。
つまり、データが溢れてプログラムを上書きすることを想定して、プログラムを上書きするデータ部分に、まったく別のプログラムを書いておくのです。
|
|
ぐはー、そんなにややこしいことをする人がいるの?
|
|
ええ、そうなんです。プログラムやデータといっても、本質的にはメモリ上では区別はないのです。
なので、少しデータが溢れるだけで、簡単にプログラムを書き替えてしまうことができるのです。
|
|
ふーん。好きなようにプログラムを書き替えられるのなら、どんな悪いことでもできるわね。
|
|
ええ、ハードディスク上のファイルを消したり、書き替えたりするのも思いのままです。
普通はこういうことが起こらないようにアプリケーションは作られているのですが、時どき作った人がミスをして、こういう現象が発生してしまうことがあるのです。
|
|
なるほど、そんなことがあるのね。知らなかったわ。
|
不機嫌
|
どうしたんですかめも理ちゃん。今日も不機嫌ですね。
|
|
また、野球中継が伸びたのよ。毎度毎度毎度毎度、バッファオーバーラン許すまじ。それと、ホームラン打ったからってバカ騒ぎする父親も許すまじ。ランってつく物は全て敵よ!
|
|
荒れていますねえ。
|
今回出てきた用語の解説
【バッファオーバーラン】 メモリ上のデータの一部が溢れて、同じくメモリ上にあるプログラムの一部を上書きしてしまう現象。プログラム部分を上書きするデータに、悪質なプログラムが書かれていることもあるので注意が必要。こういった現象が起こる場合は、プログラムの修正パッチなどを当てなければならない。バッファオーバーフローとも呼ばれる。
(クロノス・クラウン:柳井 政和)
|
|
|
|