ウイルスについて I98N044 久野耕介 I98N114 藤田和久
はじめに 近年コンピュータウイルスの被害が増大している コンピュータウイルスのMelissaについて解析を行う 図1:コンピュータウイルスの被害数 近年は,ウイルスの被害が増えてきています.そしてニュースなどでも取り上げられ,コンピュータウイルスについての認識や危機感について注目を集めました.そこで我々はコンピュータウイルスのMelissaをとり上げ解析を行いました.IPAセキュリティセンターを参照しました.
コンピュータウイルスとは 感染,潜伏,発病のいずれかの機能を持つプログラムである 意図的に被害を及ぼすように作成されたプログラムである コンピュータウイルスは単にウイルスと呼ばれている コンピュータウイルスとは感染,潜伏,発病という動作のうち一つ以上の動作を行うものであり,ユーザが気付かないようにコンピュータに侵入するように意図的に作成されたプログラムのことです. コンピュータウイルスにはいろいろな種類や特徴があり,その種類によって感染方法,潜伏期間,発病方法が異なってきます. コンピュータウイルスは一種のプログラムですが,その動作が自然界にあるウイルスに似ているために,単にウイルスと呼ばれています.
Melissaについて 感染,潜伏,発病という三つの動作を行うウイルスである Office製品のマクロ機能を利用し,広がるタイプである Melissaの感染とはMelissa本体のプログラムが処理されることにより,他のファイルに自らのプログラムをコピーすることです. 潜伏とはOutlookにMelissaの感染したファイルが開かれずにそのままの状態でとどまっていることです. 発病とはMelissaのプログラムが実行されることです. マクロとはユーザが行いたい一定の処理を自動的に実行するめの手続きを記述したものです.
Melissaの実行環境 Windows2000サーバと2台のクライアントコンピュータを立ち上げる Melissaの処理を調べる際に,安全のためにインターネットには接続せずに一台の独立したWindows2000サーバを立ち上げました.そして2台のクライアントコンピュータを立ち上げ計三台のコンピュータで実行環境を構築しました.メールサーバにはZmailServerを使いました. クライアントの1台にMelissaの添付ファイルを送りその添付ファイルを実行させ動作を確認しました.
Melissaの処理 マクロのセキュリティの設定を「低」にする レジストリより過去に実行されたことがあるか確認 Outlookに登録されている50人にMelissaを送る Melissaは感染ファイルが開かれるとまずWordのセキュリティの設定を「低」にします.レジストリより自身が過去に実行されたことがあるかを確認し,実行されていなければOutlookのアドレス帳より先頭から50人にMelissaの添付されたメールを送ります. Melissaに感染した添付ファイルを開いてもすぐには発病せず,Wordの設定が保存されているテンプレートファイル「NORMAL.DOT」に感染します.この後にWordを開くとMelissaが発病しメールの送信が行われます.
活動の流れ Melissaが入っているファイルを開く ↓ 「NORMAL.DOT」にMelissaが感染する Wordを開くとMelissaが実行される ソースコードの記述に従って処理を行う 以上を要約するとこのようになります.Melissaに感染したファイルを開くと「NORMAL.DOT」にMelissaが感染します. 「NORMAL.DOT」にメリッサが感染している状態でWordを開くとMelissaが実行されます. 処理の流れはセキュリティレベルの設定を変更し,レジストリにMelissaが実行されたという書き込みがされているかどうかを判断します.その時,レジストリにMelissaが実行されたという書き込みがされていなければレジストリに書き込みをし,メールを送信します.
Melissaによるセキュリティ変更 System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Word\Security", "Level") = 1 ここではレジストリを書き換えてセキュリティレベルの変更したことを確認しています. レジストリの「HKEY_CURRENT_USER」のSoftwareからWordのセキュリティレベルの情報を取得し、2から1へ変更しています. ここで1というのは設定レベルを「低」にすることをあらわしています.もし2なら「中」、3なら「高」をあらわしています. このレジストリ内容の確認はCドライブのWINNT¥system32¥regedt32により確認することができます.
Melissaの実行の確認 System.PrivateProfileString(“”, "HKEY_CURRENT_USER\Software\Microsoft\Office\", "Melissa?") = "... by Kwyjibo" ここでもレジストリの内のOfficeの部分にキイコードの追加書き込みをしています. HKEY_CURRENT_USER\Software\Microsoft\Office\の部分に「... by Kwyjibo」という書き込みがされます.これは人の名前かもしれません.
Melissaによるメール送信 Set a = CreateObject("Outlook.Application") Set b = a.GetNameSpace("MAPI") ・ BreakUmOffASlice.Send Outlookに登録されている50人にMelissaを送信する この部分でOutlookのアドレス帳に登録されている50人にMelissaを送信します.この部分の処理は大体20行くらいになります.
Melissaの駆除について 標準テンプレート「NORMAL.DOT」を削除する MelissaはまずWordの標準テンプレートファイルである「NORMAL.DOT」に感染するため,そのファイルを削除することによってMelissaは駆除することができます.このことはほかのWordのマクロウイルスにもいえることです.
考察 メーリングリストで大量のメールを送ることと類似している 多くのマクロウイルスは,駆除方法が類似している Melissaがどのような処理を行っているのかの解析により, Melissaはメーリングリストで大量のメールを送ることと類似しているように感じました.そしてほとんどのマクロウイルスはその感染方法から,駆除の方法がほぼ同一であると考えられます.しかしウイルスはマクロ型だけではなく多くの種類があり,日々増えているので,やはり最新の定義ファイルに更新したウイルススキャンソフトを使用することが必要だと思いました.