本サービスには一部、Googleの支援により翻訳されたコンテンツが含まれます。Googleは、明示または黙示を問わず、市場性、特定目的への適合性、ならびに非侵害の黙示的保証を含む、翻訳の精度、信頼性、正確性に関連するあらゆる点において保証しません。

Kaspersky Labの本Webサイトは、便宜上、Google Translateを搭載した翻訳ソフトウェアを利用して翻訳されています。正確な翻訳となるよう合理的な努力を払ってはおりますが、自動翻訳の正確性は完全ではなく、翻訳者(人間)による翻訳に代わるものとして意図されているものでもありません。翻訳はKaspersky Labの本Webサイトをご利用の皆様の利便性を図るためのものであり、「翻訳結果をそのまま」ご提供するものです。英語からその他言語への翻訳における精度、信頼性、正確性に関しては、明示または黙示を問わず、いかなる保証もなされません。翻訳ソフトウェアのため、コンテンツの一部(画像、動画、フラッシュ等)は正しく翻訳されない場合があります。

Virus.Win16.Gollum

クラス Virus
プラットフォーム Win16
説明

技術的な詳細

これは、WindowsおよびWindows95では「常駐」し、ディスクファイルアクセスをフックし、DOS EXEファイルに感染する寄生ウイルスです。これは、WindowsとDOSの2つの異なるプラットフォームに影響を与えるため、多パートウイルスです。このウイルスは、Portable Executable(PE)やNew Executable(NE)のWindows EXEファイルに感染することはありませんが、DOS EXEファイルを傍受して感染させるVxDドライバとしてWindowsにとどまります。したがって、このウイルスはWindowsファイルに感染せず、Windowsメモリに感染し、DOSメモリには感染しませんが、DOS EXEファイルに感染します。

感染したDOS EXEファイルが実行されると、ウイルスはそのVxD(GOLLUM.386ファイル)のみを削除し、Windows SYSTEM.INIファイルに登録し、ホストプログラムに戻り、他の処理は実行しません。 Windowsが起動すると、このウイルスVxDが読み込まれ、ウイルスが制御を引き継ぎ、V86が鎖を割り込んでDOS EXEファイルに感染します。 GOLLUM.386ドロッパーの長さは6592バイトですが、感染するとDOS EXEファイルに7167バイトが追加されます。

感染したDOS EXEファイル

DOS EXEファイルのウイルスは、NOT(XOR 0FFh)命令で暗号化されています。したがって、感染したファイルが実行されると、ウイルスは自身を制御して解読します。解読コマンドのループには愚かなアンチデバッグ手法が含まれており、ウイルスコードを分析する際には注意が必要です。

その後、Windows SYSTEM.INIファイルが検索されます。ウイルスによって使用される5つの名前があります。


C:WINDOWSSYSTEM.INI
C:WINSYSTEM.INI
C:WIN31SYSTEM.INI
C:WIN311SYSTEM.INI
C:WIN95SYSTEM.INI
このようなファイルがない場合、ウイルスはVxDを落とさずにホストプログラムに戻ります。それ以外の場合は、WindowsディレクトリにGOLLUM.386ファイル(ウイルスVxD)を作成し、このVxDをロードするコマンドをSYSTEM.INIファイルに挿入します。

DEVICE = GOLLUM.386
このコマンドは[386Enh]セクションに挿入されます – ウイルスは文字列 "[386"を検索し、そのコマンドをそこに書き込みます:

感染前と感染後のSYSTEM.INI
… …
[386Enh] [386Enh]
マウス= * vmdデバイス= GOLLUM.386

マウス= * vmd

ウイルスはVxDを2回ドロップしません。SYSTEM.INIファイルの文字列 "GOLLU"をスキャンし、この文字列が見つかると感染ルーチンを終了します。

VxDファイル内のウイルス

ウイルスVxD(GOLLUM.386ファイル)には、LE(Linear Executable)形式があります。このファイルのDOS EXEスタブには、標準テキストビデオモードに切り替えてテキストを表示する短いルーチンが含まれています。

GoLLum!
このファイルのLE部分には、起動パス(感染ルーチンで使用する)、INT 21h(V86割り込みチェーン)、INT 21hハンドラ、感染ルーチン、ウイルスDOS EXEコードを取得して格納するインストールルーチンが含まれています。 INT 21hウイルスハンドラは、ロードと実行(4B00h)、終了(4C00h)、およびディレクトリの変更(3Bh)という3つのコールを傍受します。

ファイルが実行されると、ウイルスは名前を保存して制御を返します。感染ルーチンはTerminateコールを制御します。最初にウイルスはファイル名をチェックします。これは、C:ドライブ上のファイルのみを感染させ、SCAN *。*、F-PR *。*、TB *。*(SCAN、F-PROT、ThunderByte関連プログラム) 'V'文字または数字が含まれています。このウイルスは、7167バイト未満の長さのファイルにも感染しません。

ウイルスはファイルを開き、ヘッダを読み込んでチェックします。ウイルスはEXEスタンプ(ファイルの先頭のMZ)とNewExeフラグをチェックしますが、失敗し、場合によってはNewExeファイルをDOS EXEとして感染させます。ファイルが破損する可能性があります。重複感染を防ぐため、ウイルスはCRCフィールド(EXEヘッダーのオフセット12h)と52h 43h(ASCII "RC")の2バイトを比較します。

このウイルスは、大部分のDOSウイルスで使用されている標準的な方法でファイルに感染します。コードの一部(DOSおよびVxD部分)をファイルの最後に書き込み、EXEヘッダー(エントリポイントとスタックの初期値、モジュールサイズ、および同定者「RC」)。 VxDを書くときにコード/データアクセス違反を避けるために、ウイルスはVxDウイルスのインストール中に保存されたスタートアップパスのGOLLUM.386からコピーします。

感染ルーチンが完了し、ウイルスはファイルを閉じ、ファイルの属性とファイルの日付と時刻のスタンプを復元します。

トリガルーチン

ウイルスは6月4日にインストールされている間に、テキストを含むシステムメッセージを送信し、Windowsにこのテキストをシステムエラーメッセージとして表示させます。

Gillyo / 29AによるGoLLuM ViRuS
ダークウォーターが住んでいた古いゴラム、小さな粘液
クリーチャー。私は彼がどこから来たのか、彼が誰だったのか知りません。彼
2つの大きな丸い薄い目を除いて、ゴラム – 暗い闇であった
彼の薄い顔で。
JRR ToLkieN … HoBBit
何かキーを押すと続行します
ディレクトリ(INT 21h Change Directory呼び出し)を選択すると、ウイルスはシステムタイマーを取得し、その値に応じて(確率1/256で)現在のディレクトリにGOLLUM.EXEファイルを作成し、そのVxD GOLLUM.386をそこにコピーします。このEXEファイルがDOSで実行されると、DOSスタブルーチンが表示されます。

GoLLum!
アンチウイルス整合性チェッカによる検出を避けるために、このウイルスはデータベースを削除します:ANTI-VIR.DAT、CHKLIST.TAV、CHKLIST.MS、AVP.CRC、IVB.NTZ。

ウイルスには、以下の文字列も含まれています。


GillYo / 29AでMicrosoft Windows用のGoLLuM ViRuS
GPTrap_DDB


オリジナルへのリンク