MSブラストやウエルチと言ったコンピューターウイルスが猛威を振 るいました。その後も、それらのいろいろな亜種が出現し、被害を 拡大しています。亜種とは似たような症状や感染方法を持つウイル スで、元のウイルスのプログラムを改変したものとなっています。 先週末には、FBIがMSブラストの亜種を作成し、被害をもたらしたと して、アメリカの高校生を逮捕しています。実はコンピューターウ イルスの亜種を作ることは難しくありません。コンピューターのプ ログラムに少し詳しい小学生が作ったとしても不思議ではないので す。元のウイルスを手に入れることができれば、インターネットに はウイルスに関する様々な情報が載っていることから、それを利用 して、ほんの少しの努力で亜種をつくることができるのです。コン ピューターウイルスの脅威の一つは、誰でもウイルスをつくる可能 性があるということなのです。
しかし、まったく新しいタイプのウイルスを作るのは容易ではあり ません。コンピューターのプログラムの欠陥を見つけ出し、その欠 陥を利用してウイルスを作り出すのです。コンピューターのプログ ラムの欠陥を見つけ出すのは容易ではありません。コンピューター のプログラムの欠陥には、大きく分けて2種類あります。ひとつはプ ログラムが、そのプログラムを作った人の設計どおりに動かない欠 陥です。これはバグと呼ばれます。もう一つは、設計者が予期しな い動作を引き起こす現象です。これを通常、セキュリティホールと 呼びます。バグは時間をかけて検査することによってほぼすべてを 発見することができ、そのプログラムが一般に使われるようになる ころにはバグがないのが通例です。しかしセキュリティホールとい うのは、予期できない動作であり、発見が難しく、そのプログラム が広く使われだしてからも残ってしまう場合があります。現在の非 常に複雑となったコンピューターのシステムやプログラムではセキ ュリティホールを完全になくすことは不可能かもしれません。なぜ ならばセキュリティホールが完全にないことを保証するためには、 ありとあらゆる状態でのコンピューターとそのプログラムのすべて の動作をチェックしなければならないのです。現在の高度に複雑化 したコンピューターでは、もはや不可能なのです。MSブラストもセ キュリティホールを利用して感染するようになっています。そのセ キュリティホールとは「バッファオーバーフロー」と呼ばれ、コン ピューターに、ある特定の形式の大量のデータを送り続けると、そ のデータの一部をプログラムとみなして実行してしまうというもの です。例えて言うと、入口で不審者のチェックをするのですが、た くさんの人で混雑すると、溢れてしまった人を緊急の関係者入口に 導き、関係者の腕章をつけているとノーチェックで通してしまうよ うなものなのです。当然、コンピューターやプログラムの設計者は、 そのようなことを予想していませんでした。つまり、混雑している ときに、関係者のふりをして一般の入口に入ってくることなど予想 もしなかったのです。一般の入口には、データしか入ることが出来 ず、コンピューターを不正に操作する、つまりウイルスを感染させ るプログラムは通常入り込めないのですが、このようにすると、プ ログラムの検査も逃れて、まんまと実行されて、感染することにな るのです。次回からはセキュリティホールを利用したウイルスの特 徴と対策について述べます。