Level1:ウイルスの知識で武装特集「いま、ウイルス対策を再考する」(1/2 ページ)

既に語り尽くされた感のあるウイルス。しかし、いまだに甚大な被害をもたらしているのも、またウイルスだ。ウイルス対策を再考するためにも、それにまつわる正確な知識は欠かせない。今だからこそウイルスに関する知識をしっかり確認しておこう。

» 2004年07月05日 14時00分 公開
[星澤裕二,ITmedia]

 ウイルスにフォーカスした連載を始めることになった。「いまさらウイルス?」かもしれない。ウイルス、ホームページ改ざん、個人情報漏えい、スパム(迷惑)メールなどインターネットにはさまざまな脅威が存在する。どれをとっても、すでに多くの人が話題としているので、多少の知識を持っているはずだ。中でも歴史が古いウイルスについては、すでに語り尽くされた感がある。しかし、いまだに甚大な被害をもたらすのは、そのウイルスなのである。

 ウイルス事件は新聞やテレビでも取り上げられるメジャーな問題になっている。情報処理推進機構(IPA)の試算によると、2003 年1年間の国内ウイルス被害総額は約3025 億円と大きなものだった。それにもかかわらず、しっかりした知識がないために感染してしまったというケースは少なくない。この連載では、ウイルスの歴史、アンチウイルスソフト、ウイルス対策ポリシーなどウイルスに関するすべてを取り扱う。いまさらと言わず、ぜひ最後までお付き合い願いたい。

 連載を開始するにあたって、まず、ウイルスの定義をしなければならない。日本では、ウイルスという言葉は二つの意味を持っているから厄介だ。「広義のウイルス」(*1)と「狭義のウイルス」である。この連載では前者を「マリシャスコード」(Malicious Code)と呼び、後者を単に「ウイルス」として解釈していく。

*1 旧通産省が告示した「コンピュータウイルス対策基準」では、ウイルスを広義で解釈している。The Helminthiasis of the Internet(RFC1135)では、ワームとウイルスを区別している。

「広義のウイルス=マリシャスコード」を知る

 それでは、マリシャスコードにはどんなものが含まれるのだろうか。少々強引ではあるが、マリシャスコードとはアンチウイルスソフトが警告を発するものといえる。つまり、ウイルスやワーム、トロイの木馬の総称だ。

 アンチウイルスソフトで見つけられるものは時代とともに変化してきた。最近では、多くのアンチウイルスソフトがスパイウェアやジョークプログラムなどにも対応している。コンピュータやネットワークに何らかの損害を与えるものがマリシャスコード(広義のウイルス)ということになる。ちなみに、法務省が公開した「ハイテク犯罪に対処するための刑事法の整備に関する要綱」の中では、マリシャスコードのことを不正指令電磁的記録(*2)と呼んでいるようだ。

*2 この中には、いわゆる“ウイルス作成・保有罪”が含まれる。刑法の条文は「人の電子計算機における実行の用に供する目的で、人の使用する電子計算機についてその意図に沿うべき動作をさせず、又はその意図に反する動作をさせる不正な指令に係る電磁的記録その他の記録」である。

図1 図1■マリシャスコードはその特徴からこの図のように分類可能だ

 では、マリシャスコードに含まれるものを見ていこう(図1)。

人の行動を媒介にして広がるウイルス

 まず、ウイルスだ。ウイルスはほかのプログラムに自分自身を感染させるプログラムである。ここでいう感染とは、ターゲットとなるプログラムを改ざんして自分自身を埋め込むことである。ウイルスには感染対象となるプログラム(宿主ファイルやホストファイルと呼ばれることがある)が必ず必要なのだ。

 どのファイルに感染するかはウイルス自身が決める。大抵は、拡張子が.exeや.dllなどの実行形式ファイルだが、後述するマクロウイルスのようにデータファイルが感染の対象になることもある。また、ウイルスによっては、特定のファイルサイズのプログラムにしか感染しない特殊なタイプもある。条件にマッチするプログラムがまったく存在しない環境では、ウイルスが感染することはない。

 ウイルスは、あくまで一台のコンピュータ上で感染を広げるものである。ウイルスに感染したプログラムを実行すると、実行したウイルスが存在するコンピュータのハードディスクに保存されているほかの未感染のプログラムに自分自身を付着させていく(図2A)。たとえそれがネットワークに接続されているコンピュータだとしても、ウイルス自身がネットワークを利用しほかのコンピュータに感染を広げることはしない。ただし、ネットワークドライブを割り当てている場合は別である。ウイルスからすれば、それは、ローカルに接続されているHDDと全く同じものに見えるからだ。そこにターゲットプログラムが存在すれば、やはり感染する。

図2A 図2A■ウイルスの感染の仕方

 しかし、ウイルスであっても、人のアクションが介在した場合には、ネットワークやメディア経由でほかのコンピュータに感染を広げる。

 例えば、ブート感染型ウイルスは、フロッピーディスクからHDDに感染し、以降、感染したコンピュータで利用したフロッピディスクへ感染を広げる。このフロッピーディスクがそのコンピュータでのみ使われている場合は、当たり前だが、ほかのコンピュータに感染を広げることはない。しかし、そのフロッピーディスクがほかのコンピュータで使用された場合、そのコンピュータは感染してしまうのである。あるいは、ウイルスに感染していることに気付かずにファイルをメールに添付してしまい、送信先のコンピュータを感染させてしまうことだってある。ウイルスそのものは、ネットワークやメディアを利用しほかのコンピュータに拡散する能力は持たないが、人間を介して拡散するのである。

 ウイルスは感染対象によって分類されることがある。フロッピーディスクやハードディスクのブートプログラムに感染するものをブート感染型ウイルス(単にブートウイルスと呼ばれることもある)、マイクロソフト社の「Word」や「Excel」などのデータファイルに感染するものをマクロウイルスと呼ぶ。アプリケーションプログラムに感染するものをファイル感染型ウイルスと呼ぶ。ファイル感染型は、ファイルのどこに感染するかによって分類することもできる。今回、それについては詳しく書かないが、今後の連載の中で解説していく予定だ。また、複雑な技術を使ったポリモーフィックやメタモーフィックについても後日触れたいと思う。

ネットワークを通して自身拡散するワーム

 現在、マリシャスコードの中でもっとも大きな被害を与えているのがワームだ。ウイルスとワームの最大の相違点は、ワームが感染対象のプログラムを必要としないこと。ワームはネットワークを通じて自分自身をほかのコンピュータにコピーするものである。ウイルスのようにほかのプログラムを改ざんして自分自身を埋め込むのではなく、自分自身をそのままコピーするのが特徴だ(図2B)。

図2B 図2B■ワームの拡散の仕方

ワームの多くは、広く一般に使われているアプリケーションを利用して感染を広げる。メールで感染を広げるタイプが多いが、最近のワームはメール以外にもチャットやP2Pネットワークなども感染経路

として利用し始めた。ワームは、これらの運搬方法によって分類することができる(図3)。

メール型
メールを利用し
感染を広げるタイプ
スクリプト型
メールのメッセージにスクリプトを埋め込み、セキュリティホールを悪用しメッセージを読むだけで感染する。
BubbleBoy、KakWorm
添付型
添付ファイルとして自分自身を送り込む
Bugbear、Beagle、Netsky
ネットワーク型
メール以外を利用し
感染を広げるタイプ
P2Pネットワーク
KaZaNa、Winnyなどのファイル共有ソフトを利用。
Gile、Antinny
インスタントメッセンジャー
インスタントメッセージングネットワークを利用
Goner、Menger
Webサーバ、SQLサーバ
CodeRed、Slammer
TCP/IP、FTP、SMB/CIFSなど
Sircam、Blaster、Sasser

図3■ワームの運搬方法による分類
       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ