© 1995-2006 Symantec Corporation. All rights reserved. 商標について プライバシーポリシー
最終更新日: 1998年8月17日 00:00 (米国時間)
Strange Brewは、Javaアプレットとアプリケーションに初めて感染したコンピュータウイルスです。このウイルスは、シマンテックが開発したSeekerというウイルス自動検索エンジンによってインターネット上で発見されました。
種別: ウイルス
感染サイズ: 約3890バイト
被害状況
危険性評価グラフ
被害状況:低
ダメージ:低
感染力:低
感染力
Strange Brewは、ウイルス研究者の間では寄生型ウイルスと呼ばれているタイプのウイルスです。寄生型ウイルスとは、感染後もプログラムが正しく動作するような方法で、自分自身を感染対象のプログラムに付着させるウイルスを指します。Strange Brewウイルスの場合、Javaの.classファイルに自分自身を付着させます。Javaの.classファイルは、Java言語で記述されたアプレットやアプリケーションプログラムを構成する実行形式ファイルです。 Javaの.classファイルは、Windows 95やWindows NTで使用される標準アプリケーションの.EXEファイルと多くの点で似ていますが、Java技術に対応しているシステムであれば、事実上どのようなコンピュータ上でも使用することができます。言い換えると、このウイルスは十数種類のコンピュータ環境で自己複製を行う能力を備えています。従来のコンピュータウイルスは1種類か、多くても数種類のコンピュータ環境でしか繁殖することはできませんでした。たとえば、最近出現したW95.CIHウイルスが感染できるのは、Windows 95/98システムのみです。これとは対照的に、Strange Brewウイルスは、Windows 95、UNIXサーバ、CRAYスーパーコンピュータなど、Javaが動作可能なあらゆる環境下で全く同様に動作することができます。 Strange Brewウイルスは、JavaアプレットファイルとJavaアプリケーションファイルの両方に感染します。Javaアプレットは通常Web上からダウンロードして使用されるJavaプログラムで、Webブラウザ(Internet ExplorerやNetscape Navigator)上でのみ動作します。Javaアプリケーションはスタンドアロンのプログラムで、ブラウザがなくても実行することができます。 Strange Brewウイルスが他のファイルに感染することができるのは、感染したJavaアプリケーションが実行された場合のみです。また、感染したJavaアプレットの場合でも、ユーザがInternet ExplorerやNetscape Navigatorのような保護機能が整ったWebブラウザを使っていれば、ブラウザによるセキュリティチェックに引掛かって直ちに停止させられるため、感染することはできません。つまり、Webサーフィンするだけでこのウイルスに感染することはなく、普通にインターネットを利用しているユーザにとっては、このウイルスの脅威とは無縁だということになります。このウイルスは、感染したJavaアプリケーションが実行された場合は増殖することができますが、Javaアプリケーションを使用している企業やユーザは非常に少ないため、このウイルスに感染する危険は非常に低いと思われます。 Strange Brewは、寄生型ウイルス(前述参照)であることと同時に、ダイレクトアクション型のウイルスでもあります。つまり、このウイルスは、感染したアプリケーションから制御を奪うとすぐに他のファイルへの感染を試み、感染活動を終えると、制御を元のアプリケーションに返して自動的に終了します。このウイルスは、コンピュータのメモリに常駐することもなければ、上記以外の感染動作あるいは有害活動を行うこともありません。 このウイルスが他のアプリケーションに感染する際、感染したアプリケーションが起動されたときに常に制御を奪うとは限りません(ウイルスが制御を奪うかどうかは、感染したJavaアプリケーションがどのように使用されているかや、プログラムの構造により決まります)。しかし、ウイルスが制御を奪った場合、2段階に分かれた感染動作を実行します。第1段階として、このウイルスはカレントディレクトリを検索し、既に感染している.classファイルを探します。Strange Brewウイルスに感染したファイルが見つかると、感染したファイルの領域をメモリに読み込みます。この情報は後で他のファイルに感染する際に必要になるウイルスプログラムのロジックとデータの構成要素として使用されます。ウイルスは、その後この情報をメモリに読み込み、第2段階の感染処理(後述参照)を開始します。カレントディレクトリに感染したファイルが見つからなかった場合、ウイルスは感染処理を終了し、元のJavaアプリケーションに制御を返します。 このウイルスは、感染ファイルを検出し、その内容をメモリに読み込んだ後、新たな感染先を探し始めます。このウイルスは、ファイルサイズが101で割り切れる".class"ファイルは既に感染済みであると判断します。StrangeBrewに感染したファイルが全て101で割り切れるサイズになるのは、この理由によるものです。しかし、このことは、元々のファイルサイズが101で割り切れる未感染ファイルを見逃す原因にもなっています。ウイルスが未感染と思われる.classファイルを探し出すと、そのファイルの内部構造を調べ、感染に適しているかどうかを確認します。そのファイルが感染に適していなければ、ウイルスは、そのファイルのファイルサイズを101で割り切れる値に変更するために、そのファイルにバイトを挿入します。これにより、次回以降の感染活動時に、感染に適していないファイルを素早く除外できるようになります。 感染に適した.classファイルが見つかると、ウイルスは自分自身をそのファイル(ホストファイル)に挿入します。ウイルスに感染され、ウイルスの寄生先となったファイルは「ホストファイル」と呼ばれています。このウイルスは、ファイルに新しいセクション(新しいメソッド)を作成し、そのセクションに自分自身のプログラムロジックを書き込むことによって.classファイルに感染します。この新しいセクションは、ホストファイルに元々含まれているプログラムコードのセクションの前に挿入されます。ウイルスはその後、ホストプログラムを、新たに挿入したウイルスロジックに制御を渡すように改変します。このとき、ウイルスによりホストプログラムのエラー処理機能が変更されるため、感染したプログラムによっては正常には動作しなくなることがあります。しかし、ほとんどのJavaアプリケーションは正しく動作します。最後に、このウイルスはファイル内の幾つかのテーブルとフィールドを更新します。 このウイルスは、カレントディレクトリ内の感染に適した.classファイル全てに感染を試みた後、ホストアプリケーションに制御を戻します。感染したファイルのサイズは、3,890バイト程度増加します。また、感染したファイルのタイムスタンプを、このプロセスが実行されたときの日付と時刻に変更します。 この感染処理は設計の出来が悪く、ウイルスが意図通りに感染できなかったり、ウイルスがクラッシュするなどの大きなバグを抱えています。ウイルスが感染処理の実行時にクラッシュした場合、ホストとなったJavaアプリケーションが終了し、それ以後の感染処理は行なわれません。 Strange Brewウイルスには意図的な発病症状はなく、感染したり、(感染処理に失敗した結果)Java実行ファイルを損傷する可能性があること以外は、有害な活動は行いません。このウイルスは世間一般には出回っておらず、このウイルスによる感染被害に遭ったという報告は現時点では寄せられていないため、一般のエンドユーザや企業に対する脅威とはみなされていません。ただし、JavaやWWWの開発関係者の場合、開発中または使用中のJava".class"ファイルがこのウイルスに感染したり、感染により破損する可能性があるため、注意が必要です。 このウイルスに感染した場合、使用しているJavaアプリケーションの起動に時間がかかったり、そのアプリケーションが動作しなかったりするなどの徴候が見られます。また、感染したJavaアプレットを不注意にもダウンロードしてWWWブラウザ内で実行してしまった場合、次のメッセージが表示される可能性があります。 Netscape 4.05: Applet <アプレット名> can't start: class got a security violation: method verification error IE 4.0: error: com.ms.lang. VerifyErrorEx: WVLayout.Strange_Brew_Virus: invalid constant value
Symantec Security Response では、すべてのユーザと管理者の皆様に対し、基本的なオンライン・セキュリティ対策として日常的に次のことを実行することを奨励しています。
感染の疑いがある場合には、LiveUpdateを実行するか、あるいはSymantec Security Response のホームページから最新のウイルス定義ファイルをダウンロードしてください。