WineでWindowsウィルスを動かす
ことウィルスに関する限り、Linuxはユーザ・フレンドリでは全くない。何せ、ウィルスを探し出して動かす必要があるのだ。Windowsなら、ウィルスが勝手に動いてくれるというのにだ。GNU/Linuxの開発に携わる者は、この歴然たる落差を埋めるべく善処すべきである。
しかし、ウィルスを集めている我が友人たちを煩わせる必要はなかった。bogofilterで選り分けたメールの分厚い束をひっくり返すと、ウィルスが大量に見つかったからだ。そこで、APTで手に入れたClamAVに私の「スパムやら何やら、読みたくもないゴミ・メール」コレクションを料理させ、6つのウィルスをつまみ出した。いずれもWindows専用だが、その「専用」ぶりを、これから確かめようというのである。
Klez驚いたことに、Klezは動いた。しかし、Wineの方は「ntdll」エラーの連発だ。そこで、Klezの症状をウェブで探してみた。その結果、Klezはシステムを渉猟して電子メール・アドレスを探しだし、ほとんど反RFC的方法でKlez自身をメールで送るとされていることがわかった。これを見逃す手はない。そこで、電子メール・アドレスを書き込んだ.txtファイルを~/.wine/fake_windows/Windows/Desktop/の下に置いて、Klezをもう一度動かしてみた。数分待ったが、メールは一通も届かない。Symantecの情報をもう一度眺めると、Klezはドメインのメール・サーバをDNSに照会する手間を省いてしまうほどに反RFC的らしい。「smtp.domainname.com」だけしかトライしないのだ。私のメール・サーバはsmtp.mydomain.comではない。しかし、PanixというISP(私は、ここにシェル・アカウントを持っている)には、このような形式の名前を持つホストがある。そこで、.txtファイルを変更して、もう一度トライしてみた。30分ほど待ったが、やはり、何事も起こらなかった。もちろん、Wineでネットワークは動いていた。puttyをダウンロードしたのだから、ネットワークに問題はない。Panixは、Postfix regexか何かでKlezをブロックしているに違いない。ということで、Klezには、5点満点のペンギン・ポイントを2つ与えよう。予想された動きはしなかったが、ともあれ動いたのだから。
MyDoom
MyDoomは.zipファイルと思われるが(file
コマンドも同意見だ)、Info-ZIPのunzipコマンドでは展開すらできなかった。MyDoomは、その入手法と同様、Linux互換ではないようだ。そこで、ペンギン・ポイントは0。
Sobig
ClamAVによれば、私のゴミ・メールの束にはSobigワームが2系統いるそうだ。どちらも動く。しかし、winstt32.datファイルを作成するはずなのに、私の擬似Windowsディレクトリのどこにもそんな名前のファイルはない。電子メールも送ってこなかった。Klezと同程度のLinux互換ということで、ペンギン・ポイントは2つ。
SCOワーム
このウィルスは米SCOをDoS攻撃するように設計されている。それ故にSCOと名付けられたこのウィルスは当然Linux互換のはずだ。だが、実際はどうだろうか。SCOウィルスは、少なくともClamAVによれば、実態はMyDoomワームの変種のようだ。しかし、MyDoomとは異なり、Linux上で展開することはできる。
しかも、単に動くだけでなく、背負ってきた荷物を下ろして、~/.wine/fake_windows/Windows/System/shimgapi.dllを作ったのだ。しかし、頑張りもここまでで、あえなく死んでしまった。残念である。もう少し長く動いてくれれば、システム・クロックを2004年2月3日に設定できたかもしれないのだ。もちろん、DoSを楽しむためだが、それには、ワームの荷物を能天気に実行してしまうWindowsが必要なのだろう。このワームにはペンギン・ポイントを3つあげよう。何はともあれ、実際に何かをしたのだから。ついでに言えば、MyDoomをこのように修正した者が誰であれ、Linux互換のために多少とも頭を絞ってくれたようだ。それこそ進歩と言うべきだと私は思う。
SomeFoolSomeFool(Netsky.Dとも呼ぶ)という移民二世は、実際にwinlogon.exeファイルをWineに組み込んだ。しかも、無限ループに陥ったようで、我がLinuxマシンのパフォーマンスを本当に低下させるというおまけまで付いた。したがって、ペンギン・ポイントを4つあげよう。単に動くのみならず、一部とは言え発症したのだ。しかも、実際にLinuxにそこそこの悪さをしでかしたのだから。もっとも、Wineを動かしている端末からCtrl-Cを押したら、ぴたりと止まってしまったが。
結論
5つのWindowsウィルスをWineで動かしてみた。しかし、電子メールを送信し増殖できたものは一つとしてなかった。Windowsウィルスをばらまくことに全力をあげることによってWindowsコミュニティに加わろうと思っても(実行可能ファイルと見るとやたらに実行し、しかもMicrosoft OutlookやInternet Explorerを使い続けているところを見ると、Windowsユーザの多くはこの行為を重要な資格要件だと思っているらしい)、GNU/Linuxツールで、それを実行するのは容易なことではないがよくわかった。もちろん、アドレス帳に載っている人々に手作業でウィルスを送ることはできる、しかし、そのどこに面白味があるだろうか。その上、こうしたウィルスは「From:」行を偽り、さまざまな「Subject:」行を用いるのが普通だ。GNU/Linuxユーザとしては、この重要な機能を見逃すわけにはいかない。
私は、SomeFoolウィルスの作者に多少の敬意を表したい。このウィルスは、実際に(たとえ、それが一時的で僅かなものであろうとも)我がLinuxに影響を及ぼしたのだから。しかし、これが、Wineを使ってダミー・アカウントでウィルスを動かしたことによって被った最大の危機であるのなら、Wineが真にWindows互換になるまでの道のりがまだまだ遠いことは明らかである。
Klez | MyDoom | Sobig | SCO | SomeFool | |
Wineで動作 | する | しない | する | する | する |
ペイロードをインストール | しない | しない | しない | する | する |
伝染する | しない | しない | しない | しない | しない |
Linuxに感染 | しない | しない | しない | しない | する |
ペンギン・ポイント | 2 | 0 | 2 | 3 | 4 |
原文