セキュリティ対策としてパソコンにウイルス対策ソフトをインストールするのは,今となっては当たり前だ。しかし,入っているだけで安心してはいけない。最近は,対策ソフトをすり抜けるウイルスが出てきているためだ。

愉快犯から営利目的に

 こうした状況の背景には,ウイルスを作るユーザーの動機の変化がある(図1-1)。「以前はただの功名心や愉快犯的な気持ちからウイルスを作っていたが,最近は金儲けのために作るようになってきた」と,セキュリティ研究者の多くは口をそろえるところだ。ユーザーの個人情報を盗むタイプのウイルスはその典型といえる。こうしたウイルスの作者の目的は,集めた個人情報を転売したり,それを使って金融機関などへアクセスしたりして利益を得ること。そのためには,対策ソフトに検出されることなく,感染した事実をユーザーに悟られたくないというわけである。

図1-1●数年前と現在ではウイルスの傾向が大きく異なる
図1-1●数年前と現在ではウイルスの傾向が大きく異なる
2003年頃までのウイルスは,目立つ破壊・感染活動を行うものが多く,比較的発見が容易で対策も取りやすかった。一方,最近は,密かに活動するウイルスが増えている。個人情報を盗んだり,感染したパソコンを他のコンピュータを狙った攻撃の踏み台にしたりするには,ユーザーに感染を気づかれないことが重要だからだ。
[画像のクリックで拡大表示]

 功名心などから作られた「昔のウイルス」は,パソコンに感染すると目立った活動を行う。システムを破壊されるなど,致命的なトラブルに陥りやすい一方で,ユーザーにとっては感染の事実がわかりやすく,すぐ対処できる一面があった。また,1種類のウイルスが大量にインターネットに広まるため,対策ソフト・メーカーにとっては新種のウイルスでもサンプルを入手しやすかった。サンプルが手に入りやすいということは,対策ソフトがウイルスの検出に使うパターン・ファイルを作りやすいということでもある。

 パターン・ファイルは,ウイルスを発見するための指名手配書のようなものだ。パソコン上のプログラムのコードは,0と1の数字の羅列でできている。当然,プログラムの種類が異なれば,数字の順番は変わる。対策ソフト・メーカーは,この数字の羅列からウイルスに特有の部分を抜き出してパターン・ファイルを作っておく。そして,ファイルがハードディスクへ入出力される際に,対策ソフトがパターン・ファイルとの照合を実行し,合致したらウイルスと判定する。

 数年前までは,ウイルス対策ソフトをパソコンにインストールし,メーカーが随時公開するパターン・ファイルを忘れずに更新しておけば,高い確率でウイルスを検知できた。

 しかし,最近のウイルスは感染しても派手な活動をせず,感染パソコンに負荷をかけることもない。また,1種類当たりの数が少なく,サンプルを入手しにくくなっている。サンプルがなければパターン・ファイルに反映できない。

 例えば,2006年10月にセキュリティ・ベンダーのラックがまとめた調査では,同社が1日の間に収集したウイルスのサンプル24種のうち,シマンテック,トレンドマイクロ,マカフィーいずれかの対策ソフトで検出できたのは。9件しかなかったこのように,最新のパターン・ファイルに更新していても,対策ソフトで検出できないウイルスが増えているのである。

大量の亜種でパターンをかく乱

 では,こうしたウイルスはどうやってパターン・ファイルによる検出を逃れているのだろうか。その具体的な手口をいくつか見ていこう。

 手口としてまず挙げられるのは,一つのウイルスから多数の亜種を作ることで,パターン・ファイルの更新が追いつかないようにするという手法だ。具体的な手法には,「パッカー」と呼ばれるソフトを使うものがある。これは,ボットなどでよく使われる手法だ。

 パッカーとは,実行形式ファイルを実行可能な状態のまま圧縮するソフトである(図1-2)。こうしたパッカーはインターネット上に数多く出回っており,それらを使えば,1種類のウイルスから多数の亜種を簡単に作れるうえに,ウイルスの解析が困難になる。

図1-2●暗号化・圧縮などの加工で,簡単に別のウイルスに変化
図1-2●暗号化・圧縮などの加工で,簡単に別のウイルスに変化
パッカー(Packer)と呼ばれるツールを使って,ウイルスに圧縮や暗号化などの加工を施す。すると,別種のプログラムとして扱われ,同一のパターン・ファイルでは検出できないケースがある。ボットなどでよく使われている手法だ。
[画像のクリックで拡大表示]

 また,インターネット上にウイルスのソース・コードが出回り,そこから多数の亜種が作られるケースもある。

 二つめの手口は,対策ソフトの開発者や対策ソフトそのものから,その姿を隠すというもの。例えば,仮想マシン上では動作を止めたり自らを消去してしまったりする(図1-3)。対策ソフト・メーカーでは,VMwareなどの仮想マシン・ソフトを使ってコンピュータ上に仮想マシンを構築し,その上でウイルスのサンプル収集や実験をする。仮想マシンなら,ウイルスに感染しても基となるシステムが被害に遭わないし,ウイルスの動作も検証できるからだ。

図1-3●仮想マシンでの実験を見越され,ウイルスが動作を止めてしまうことも
図1-3●仮想マシンでの実験を見越され,ウイルスが動作を止めてしまうことも
仮想マシン上で動くOS(ゲストOS)がウイルスに感染しても,実際のOS(ホストOS)には影響が出ない。そのため,ウイルスの実験・研究などに仮想マシンを使うケースは多い。最近では,それを見越して仮想マシンの特徴を検知し,活動を停止するウイルスが出ている。
[画像のクリックで拡大表示]

 対策ソフトの開発者にサンプルを入手させないようにすることで,パターン・ファイルの開発や実験を邪魔しているのである。

 また,中には,感染すると対策ソフト自体を止めてしまうウイルスもある。こうしたウイルスを検出するのはなかなかやっかいだ。