ネットワークを経由して感染するコンピュータ・ウイルス。その感染手法は,一昔前から大きく様変わりしている。かつては,ユーザーが電子メールで送られてきたウイルス付きの添付ファイルをダブル・クリックして開かなければ,パソコンにウイルスは感染しなかった。ところが最近のウイルスの中には,メーラーのプレビュー画面でメール本文を表示したり,WebブラウザでWebサイトを閲覧したりするだけで感染してしまうものがあるのだ。これはいったいどういうわけなのだろうか。

 メーラーのプレビューで感染するウイルスもWebブラウザによるアクセスで感染するウイルスも,根本的なしくみは同じ。Webブラウザの機能や処理が関わっている。具体的に言うと,Outlook Expressなどのメーラーは,HTMLメールの閲覧にInternet Explorer(IE)のコンポーネントを利用しているのである。

 Webブラウザは,Webサーバーからデータをダウンロードし,それをそのまま解釈してWebページを表示する。Webページは,HTMLファイルや各種の画像ファイルなどで構成される。最近では,オーディオやビデオのファイルや,JavaScriptのようなスクリプト言語で記述された簡単なプログラムなども,Webページの構成要素に加わっている。Webブラウザはこうしたコンテンツを直ちに実行することで,Webページを表示するわけだ。

 では,もしパソコンに悪さをするJavaScriptのプログラムが,Webページに埋め込まれていたらどうだろうか。本来こうしたプログラムはあり得ない。なぜなら,Webページに埋め込めるスクリプト言語では,セキュリティの関係上,パソコンのファイルを改ざんするといった悪さはできないように作られているからだ。

 でも,WebブラウザがそのWebページを表示したとたんに起動してしまうウイルスはある。これは,こうしたスクリプトの実行環境やWebブラウザ自身にバグがあるから。なんらかの方法をとると,本来は許されない処理が実行できてしまうセキュリティ・ホールがこれまで多く見つかっている。こうしたセキュリティ・ホールを突けば,Webブラウザやメーラーで見ただけで感染するウイルスを作れるというわけだ。

 こうしたウイルスの一つが2001年に見つかった「Badtrans.B」だ。これは,メール本文ではなくその添付ファイルがウイルスの本体にになっている。添付ファイルの種類を指定する情報(MIMEヘッダー)が適切でないと,Internet Explorerが添付された実行ファイルを勝手に起動してしまうというバグを利用したものである。

 いまや,ウイルス対策ソフトの導入と並んで,セキュリティ・ホールをふさぐパッチの適用がウイルス対策の常識になっている。ただし,バグが見つかってもパッチが適用されていないケースもたまにある。こうした場合には,利便性が損なわれるが,すべてのスクリプトを拒否したり,余計なファイルをダウンロードしないようにWebブラウザの設定を変更するという対処法がある。また,業務に差し支えなければ,Webブラウザそのものを別のソフトに変更するという手も考慮すべきかもしれない。

高橋 健太郎