第2回 単純なファイル感染型から始まり、今に至るまでの移り変わりコンピュータウイルスの変遷

現在コンピュータウイルスの種類は数万種類も存在します。しかし、そのウイルス全てが全く異なる構造をしているわけではなく、大きく分けると数種類に分類できます。また、流行するウイルスの形態は年々変化しています。 今回は、過去から現在まで時間と共に移り変わる、コンピュータウイルスの変遷についてまとめてみます。

コンピュータウイルスのアイデンティティ(定義)とは?

ウイルスプログラムの動作が「感染」「潜伏」「発病」という特徴を持つ点から、人間に感染するような自然界のウイルスと似通った動きをするということで、フレドリック・コーヘン博士が1984年9月に米国のセキュリティ学会で発表した論文の中で「ウイルス」という言葉を使用して定義したのが最初です。

  • 感染機能

    他のファイルに自分自身をコピーすることによって、感染する機能

  • 潜伏機能

    発病するまでの特定の期間、条件が満たされるまで症状を出さないで潜伏している機能(この期間中も感染動作は行われる)

  • 発病機能

    データの破壊など、最終的にウイルス作者が意図する動作を行う機能

この3段階の工程を踏むのは、感染してもいきなり発病してしまっては、すぐに発見されてしまうため、「よりたくさんのPCに被害を及ぼしたい」というウイルス作者の欲望が満たされないからです。潜伏機能が優秀で長期間見つからない事で、より多くのPCに感染を繰り返すことができ、被害を大きくすることが可能なわけです。

しかし、近年のインターネットと電子メールの急激な普及が、ウイルスを進化させて感染を広げることとなりました。ウイルス作者もメールを利用することで一気に世界中に感染被害を広げることが可能となり、わざわざ潜伏期間を設ける必要が無くなったのです。一気に大量感染させて、一斉に発病するというわけです。このようなタイプは、本来のウイルスの定義にはあてはまりませんから、ウイルスとは呼べない“不正なプログラム”ということになります。

ご存知の通り、昨今では昔ながらのウイルスは影を潜め、殆どがメールを媒介とする不正なプログラムとなってしまったため、現在では不正なプログラム全体のことをウイルスと呼ぶようになり、各ワクチンメーカーも不正なプログラム全体を発見するように対応しています。

ウイルスの分類

1. ウイルスの定義にのっとったタイプ

  • ファイル感染型ウイルス

    実行形式のファイルに感染するタイプです。オリジナルの実行形式ファイルの一部を書き換えて、自分自身をコピーすることによって感染します。 ユーザがオリジナルのファイルを実行しようとすると、感染しているウイルスが実行される仕組みです。

  • システム領域感染型ウイルス(ブートセクタ型)

    OSが起動する際に一番目に実行される、システム領域に感染するウイルスです。FDを媒体にして他のPCのHDへと感染を広げるため、FDを殆ど利用しなくなった現在では殆ど見かけなくなりました。

  • マクロ型ウイルス

    Word、Excel等のマクロ機能を利用して感染を広げるウイルスです。
    ファイル感染型やシステム領域感染型との大きな違いは、「データファイルに感染する」という点です。この特徴のため、ウイルスの存在に気が付かずにデータファイルのやり取りを行うことで、悪意は無くてもウイルスを配ってしまうという大きな問題が発生しました。
    また、従来型のウイルスであれば感染するのはプログラムファイルだったため、必要なデータだけ抜き出して、OSを再インストールすれば復旧ができたので、何か起こってから対処するという後追いの対策がとれたのですが、マクロ型は感染対象がデータのため、事後対策では手遅れになり、「ウイルス対策は事前の予防が重要」というようにウイルス対策の考え方を改めることになりました。
    更に、マクロウイルスはプログラミングの知識がなくても、記述が可能なマクロコードで書かれているため、誰でも簡単に改造ができ、“亜種ウイルス”と呼ばれる改編されたウイルスが大量に発生するようになりました。

2. ウイルスの定義に当てはまらない不正なプログラム

  • トロイの木馬

    プログラムを実行すると、ユーザが意図することと違った動作をこっそりと行うプログラムのことを指します。例えば、セキュリティ・ホールの対策を行うユーティリティプログラムを装い、実行すると裏でパスワードを盗んだり、PCの内部を外から見えるようにするものがあります。

  • ワーム

    感染対象を必要とせず、自分で自分自身の複製をどんどん増やして増殖していくタイプのプログラムのことをワームと呼びます。メールを利用したり、ネットワーク上で自分自身をコピーしたりします。
    最近では、被害報告の殆どがメールを送って自己増殖するワームです。
    また、ワームの中には“VBSワーム”と呼ばれる、Visual Basic Scriptで書かれたタイプがあります。これは、マクロと同じように誰もが簡単に編集できてしまうスクリプト言語のため、学生などの若年者によるプログラム改編によって、変種・亜種ウイルスが爆発的に増大しています。

  • トロイの木馬型ワーム(複合型プログラム)

    最近のメール型のウイルスは、ユーザが意図しないのに勝手にメールを送るという「トロイの木馬」タイプと、メールを送ることで自己増殖するという「ワーム」のタイプの両方の特徴を持つ複合型のプログラムがほとんどの報告例となっています。

3. ウイルス作者が利用する技術

  • ステルス型

    ワクチンソフトがウイルスを発見する動作を考慮して、ウイルスをうまく隠すための技術を取り入れたタイプです。例えば、感染ファイルを開くと、それを開いたアプリケーションには感染前のオリジナルファイルを開かせたように見せかけます。ワクチンソフトもプログラムのため、ウイルスファイルを検査するためにはファイルを開くわけですが、いくら検査してもウイルスがオリジナルファイルのイメージを受け渡す為に見つけられないというわけです。

  • ミューテーション(ポリモーフィック)型ミューテーション(ポリモーフィック)型

    感染のたびにウイルス自体の暗号化の形式が変化するタイプのウイルスです。中には数億通りに変化するものもあります。感染のたびに暗号化ルーチンが変わってしまうわけですから、ワクチンソフトで発見することが非常に困難であり、各ワクチンメーカー共に、ミューテーションタイプのウイルス発見技法を独自に開発しています。

  • セキュリティホール利用型

    ユーザの利用するOSやアプリケーションに存在する、プログラム上の問題点(セキュリティホール)を利用して感染するタイプです。
    2001年に大被害を出したNimda(ニムダ)ウイルスがその代表的なウイルスですが、その後は多くのウイルスがセキュリティホールを利用することで容易に感染被害を広げるようになりました。

ウイルスの変遷

ウイルス対策はよく「イタチゴッコ」と呼ばれます。既存のウイルスを容易に発見できるワクチン技術が確立し、ユーザが対策を取ってしまえばウイルスの感染被害は減少します。それに対抗するため、ウイルス作者はさらに新しい技法を作り出し、新たな被害を発生させています。

そうして増えていったウイルスの種類が、前述のウイルスの分類です。ウイルス被害の届出と変遷が以下のグラフです。(Source:IPA 2002)

ウイルス届出件数の年別推移棒グラフ
ウイルス届出件数の年別推移

このグラフではあまり目立ちませんが、1993年~1994年の大きな被害はシステム領域感染型によるものです。その後しばらくは減少したものの、1997年に新型のマクロ型ウイルスが発生したことで被害が急増しています。次の年にはマクロウイルス対策が確立して減少したものの、1999年にはメール型のワームの発生で被害が増大しています。

更に2000年にはVBSワームが出現。メール型のウイルスが簡単に作れるようになったことによって被害が激増し、加えて2001年にはメール+セキュリティホール利用型の出現によって大被害が連続して起きるようになりました。

このように、新しい技法を使ったウイルスが出現する度に被害が増大しているのです。

感染したウイルスのタイプを表した円グラフ
感染したウイルスのタイプ

2002年に特化して、被害にあったウイルスの種類をグラフにしたものが上記のグラフですが、これを見ると90%以上がメール型のウイルスであり、「感染」「潜伏」「発病」という過去の定義に則ったウイルスは1.5%のその他のほんの一部であることがわかります。

既にセキュリティホールを利用するタイプのウイルスが70%を超えていることに驚かされます。

ワクチンメーカーの苦悩

ウイルス作者が次々と作り出す新型ウイルスに対して、ワクチンメーカーも次々と検知・駆除する技術を改良して対抗してきました。しかし、セキュリティホールを利用して感染するタイプは、対象となっているセキュリティホールを塞がない限り何度でも感染してしまいます。つまり問題なのは、プログラム上の問題点である「セキュリティホールはワクチンソフトでは修復できない」 という点です。

また、セキュリティホールの利用に加えてメールを送るタイプが殆どですから、感染の広がりが非常に早く、新種の出現からワクチンソフトの対応までの時間が分単位で求められるようになってきています。

次回予告

ウイルスに対抗するための技術についてお話して行きます。

このページの最上部へ