現在地 HOME > 掲示板 > IT5 > 233.html ★阿修羅♪ |
|
Tweet |
歴代ウイルスが飛びついた“おいしい”機能(上)【IT_Pro記事】
http://itpro.nikkeibp.co.jp/members/NBY/techsquare/20040311/1/
[2004/03/16]
日経バイト2003年12月号,26ページより
図1●フォルダに見せかけてユーザーにクリックさせようとする「Antinny」ウイルス
ファイル交換ソフト「Winny」を使って感染を広げるAntinnyは,アイコンを偽装して自分自身をフォルダに見せかける。フォルダだと思ってクリックすると,Antinnyが実行される。
表●2003年に出現した,アイコンを偽装して安全なファイルや正当なアプリケーションに見せかけるウイルスの例
図2●テキスト・ファイルに見せかける「LoveLetter」ウイルス
ファイル名が「LOVE-LETTER-FOR-YOU.TXT.vbs」なので「LOVE-LETTER-FOR-YOU.TXT」に見える。加えて,VBScriptファイルのアイコンはテキスト・ファイルを連想させる。
米Microsoft社が追求する利便性がウイルス作者に工夫の余地を与えている。「ユーザーにとって便利な初期設定や機能は,ウイルス*1にとっても便利」(日本コンピュータセキュリティリサーチ コンピュータウイルス主席研究員の遠藤基氏)であるからだ。
ウイルスに利用されないように設計していても,頻繁に見つかるセキュリティ・ホールが原因で,本来はユーザーのために用意した機能がウイルスに利用されてしまう。それどころか「ユーザーはほとんど使わないのに,ウイルスだけが使うという機能も少なくない」(遠藤氏)。
ウイルス作者は,ウイルスに活用できる初期設定や機能,セキュリティ・ホールを見逃さない。今までウイルスはどんな風にWindowsの機能を使ってきたのだろうか。具体的に見ていこう。
ウイルスをフォルダに見せかける
Windowsはファイルの種類をアイコンで表す。ユーザーが直感的にファイルの内容を識別できるようにするためだ。ファイルの拡張子を表示する代わりに,拡張子からそのファイル種類を判断し,その種類に対応したアイコンを表示する*2。
ファイルの作者がアイコンを設定することもできる。ファイルが実行形式ファイルやダイナミック・リンク・ライブラリといったプログラム・ファイルの場合には,ファイルにアイコンのデータを含められる*3。この場合には,Windowsに登録されているアイコンではなく,ファイルに含まれるアイコンが優先的に表示される。拡張子から判断するだけでは,すべてのアプリケーション・ソフトが実行形式ファイル(exe)のアイコンになってしまい,分かりにくくなるからだ。
この仕様により,アプリケーションごとに特定のアイコンが表示されるので,ユーザーはひと目で内容が分かる。例えば,Microsoft Word(Winword.exe)では「W」のアイコンが,Excel(Excel.exe)では「X」のアイコンが表示される。
ただしこの仕組みは悪用できる。実行形式ファイルを他のファイル種類に見せかけることができるのだ。この手口を使うのが,2003年8月以降流行している「Antinny」ウイルスである。Antinnyは実行形式ファイルだが,Windowsはフォルダ・アイコンとして表示してしまう(図1[拡大表示])。感染の手順は以下の通りである。
Antinnyは,Anntinyに感染したパソコンのアップロード・フォルダにアーカイブ・ファイルとして潜む。
Winnyは,文字列を指定すると,ほかのWinnyユーザーのパソコンのアップロード・フォルダを検索して,その文字列が含まれるファイルを自動的にダウンロードする。Antinnyのアーカイブ・ファイル名に含まれる文字列(図1では「グラビアアイドル」)で検索しているWinnyユーザーがいれば,そのユーザーのパソコンのダウンロード・フォルダに,Antinnyのアーカイブ・ファイルが自動的にコピーされる。
ダウンロードしたユーザーがこのファイルを展開すると,一つの画像ファイルと一つのフォルダ・アイコンが表示される。「このフォルダの中にはもっとたくさんの画像ファイルがあるのだろう」と期待してクリックすると,Antinnyが実行されて被害に遭う。
Antinnyが実行されると,Winnyのキャッシュ・フォルダを削除したり,Windowsの起動時にAntinnyを実行するようレジストリを変更したりする。さらに,そのパソコンに同様の罠を仕掛ける。具体的には,Antinny自身を含むアーカイブ・ファイルを作成して,アップロード・フォルダにコピーする。
このとき,Antinnyはファイル名を工夫する。一定ではないが,全くのランダムではない。Antinnyは検索されそうな文字列をいくつか持っている。その中からランダムに選択した文字列をファイル名に使用する。例えば,「グラビアアイドル」「アニメ」「ゲーム」などを,候補の文字列として持っている。Antinnyが実行されたパソコンのダウンロード・フォルダに置かれているファイルの名前を使用する場合もある。
アイコンを偽装して,ユーザーに実行させようとするウイルスはAntinnyが初めてではない。過去にも多数存在する(表[拡大表示])。
テキストに見まがう「LoveLetter」
2000年から2001年にかけて流行した,VBScriptで記述されたウイルスも,拡張子が表示されないという初期設定が被害を大きくした。代表例が,2000年5月に出現した「LoveLetter」ウイルスである。LoveLetterウイルスの実体は,ファイル名が「LOVE-LETTER-FOR-YOU.TXT.vbs」のVBScriptファイルである(図2[拡大表示])。vbsは登録されている拡張子なので画面には表示されない。「LOVE-LETTER-FOR-YOU.TXT」と表示され,実行しても問題がないテキスト・ファイルのように見える。この手法は「二重拡張子」と呼ばれ,VBScriptで書かれたウイルスの多くが利用している。
二重拡張子を用いるVBScriptウイルスは,Antinnyのような実行形式ファイルではないので,アイコンを偽装できない。VBScriptのアイコンがそのまま表示される。ただし,VBScriptのアイコンはテキスト・ファイルを連想させるものなので,ユーザーは誤解しやすい。
VBScriptウイルスはテキスト・エディタで編集できるので,容易に変種を作ることができる。実際,LoveLetterのオリジナルが出現してから1カ月足らずで20種類を超える変種が出現し,現在では100種類を超えている*4。
VBScriptウイルスに感染するのはWindows 98以降である。Windows 98からスクリプトの実行環境「WSH(Windows Scripting Host)」を標準装備したためだ。WSHは初期設定で有効になっていて,VBScriptファイル(.vbs)やJScriptファイル(.js)と関連付けられている。Windows上でこれらのスクリプト・ファイルをダブルクリックすれば,WSHによりスクリプトの内容が解釈される。スクリプトからは,レジストリの変更やファイルの操作,アプリケーションの実行など,あらゆる操作を行える。
(勝村 幸博=IT Pro)
次回(中)へ続く
ウイルスに感染したPC、サーバを1台ずつ復旧処理していませんか?⇒解決策はこちら
アプリケーション使用基準審査により脆弱性防御を行うトップレイヤーのIPS。詳細説明はこちら
ウイルスやワームによる被害をネットワーク機器のレベルで守るシスコセキュリティソリューション
<“ウイルス”関連>
「今後は企業向けの営業も強化」――,シマンテックが2004年度の営業戦略 (2004/03/12)
Mydoom.AおよびBの非活性化を試みる「Netsky.J」発生 (2004/03/10)
「2004年,北米ISPのワーム対策コストは約2億4500万ドルに」,カナダ企業が予測 (2004/03/05)
「2月はMydoomやNetskyが猛威,ウイルス警告メールが来ても慌てるな」――IPA (2004/03/04)
感染を広げるBagleワーム,亜種「W32/Bagle.h@MM」の危険度は「中」 (2004/03/03)
Netskyウイルスの変種が流行中,拡張子が「.pif」の添付ファイルに注意 (2004/03/02)
米Network Associatesなど,危険度「中」のワーム「W32/Netsky.d@MM」を警告 (2004/03/02)
アンチウイルス・ベンダー各社がBagleワームの亜種「W32/Bagle.c@MM」を警告 (2004/03/01)
2004年2月のウイルス被害状況,「Sober-C」が再びワースト1に (2004/03/01)
米Network Associatesが「W32/Netsky.c@MM」を警告,危険度は「中」 (2004/02/27)
歴代ウイルスが飛びついた“おいしい”機能(中)
http://itpro.nikkeibp.co.jp/members/NBY/techsquare/20040311/2/
日経バイト2003年12月号,26ページより
***** 前回(上)を読む*****
リスト1●ActiveXコントロールを呼び出すスクリプトの例
これらのスクリプトが含まれているHTMLファイルをInternet Explorerで読み込むと,ローカルのActiveXコントロールが呼び出されて,ファイルを実行させられたり削除させられたりする可能性がある。
図3●スクリプトとActiveXコントロールの連携機能を安全に使うためにMicrosoftが用意した対策
逆に,これらのいずれかが守られない場合には,WebページやHTMLメールから“危険な”ActiveXコントロールを呼び出せる。
写真●「BubbleBoy」ウイルスが仕込まれたHTMLメールを表示した画面
Windowsにセキュリティ・ホールがある場合には,この画面を表示させた時点で感染する。メールの本文を見ただけで感染する初めてのウイルス。
リスト2●「Redlof」ウイルスのソースコード
HTMLとスクリプトから構成される。セキュリティ・ホールを突く部分を読み込むと,セキュリティ・ホールがあるInternet Explorerは,設定を無視して危険なActiveXコントロールを呼び出すようになる。スクリプト部分には,危険なActiveXコントロールを使って,Redlof自身をパソコン内のHTMLファイルなどに追加するスクリプトが記述されている。
リスト3●「Klez」ウイルスを添付したHTMLメールの例
メールは二つのMIMEパートで構成される。HTMLのパートから実行形式ファイルのパートを呼び出す場合,通常Internet Explorer(IE)はユーザーに警告を表示する。しかし,セキュリティ・ホールがあるIEは,「Content-Type」が「audio/x-wav(音声ファイル)」などに設定されていると,呼ぶ出すパートが実行形式ファイルであっても,警告無しに実行してしまう。
万全ではないMSの対策
Windowsには,スクリプトとActiveXコントロールの連携機能が用意されている。Windowsの標準ブラウザであるInternet Explorer(IE)は,スクリプトのインタプリタ機能を備え,HTMLファイル中に記述されたスクリプトを解釈して実行する。スクリプトでは実現できない操作は,その操作を担当しているActiveXコントロールを呼び出して,スクリプトから依頼できる。これが,スクリプトとActiveXコントロールの連携機能である。
例えば,スクリプトだけでは,パソコン中のプログラムを実行したり,ファイルを操作したりすることはできない。だが連携機能を使って,プログラムを実行できる「WScript.Shell」や,ファイルを操作できる「Scripting.FileSystemObject」を呼び出せば可能となる。便利な半面,リスト1[拡大表示]のようなWebページを閲覧すると,勝手にプログラムを実行されたり,削除されたりする可能性がある。そのような可能性はMicrosoftも考慮しており,不正な利用を防ぐための手立ては用意されている(図3[拡大表示])。
まず,(1)WScript.ShellやScripting.FileSystemObjectのように,“危険な”ActiveXコントロールには,「安全マーク(Safe for Scripting)」と呼ばれる印(レジストリ値)を付けていない*5。そして,(2)IEの初期設定では,WebページやHTMLメール中のスクリプトからは,安全マークが付いているActiveXコントールしか呼び出せないようにしている。
さらに,これは当然ではあるが,(3)設定通りに振舞うように実装している。これらの対策が守られている限り,リスト1のようなスクリプトがWebページ中に含まれていても,勝手にファイルを実行されたり,削除されたりすることはない。
逆に,(1)〜(3)のいずれかが守られていないと,スクリプトとActiveXコントロールの連携機能はウイルスの格好のターゲットとなる。実際,(1)および(3)に関するセキュリティ・ホールが見つかったために,この連携機能を利用するウイルスが出現した。
第1弾が,1999年11月に出現した「BubbleBoy」ウイルスである(写真[拡大表示])*6。メール本文を開くだけで感染するBubbleBoyは,1999年8月に公開されたセキュリティ・ホール「『Scriptlet.typelib/Eyedog』の脆弱性に対する対策」を突く。Windowsに含まれているActiveXコントロールの一つであるScriptlet.TypeLibは,パソコン中のファイルを操作できるので危険である。にもかかわらず,安全マークが付いていた。このセキュリティ・ホールによって,(1)の前提が崩された。WebページやHTMLメールにScriptlet.TypeLibを呼び出すスクリプトを記述しておけば,任意のファイルをパソコン中に作られてしまう*7。
BubbleBoyはHTMLメールで感染を広げる。HTMLメール中には,Scriptlet.TypeLibを呼び出して,スタートアップ・フォルダに「update.hta」というファイルを作成するスクリプトが書かれている。このスクリプトがBubbleBoyの本体である。このメールをWindowsユーザーが開くと,スクリプトが解釈されてupdate.htaが作成される。
update.htaには,OutlookやOutlook Expressを使って,アドレス帳に登録されているユーザーすべてに,BubbleBoyを含むメールを送信するスクリプトが記述されている。そのユーザーがWindowsを次回起動すると,BubbleBoyメールが一斉に送信される*8。
BubbleBoy以降,同じセキュリティ・ホールを利用してHTMLメールで感染を広げるウイルスは複数出現している*9。
呪文一つでチェック機能が無効に
2000年10月には,(3)の前提を崩すセキュリティ・ホールが見つかった。「『Microsoft VMによるActiveXコンポーネントの制御』の脆弱性に対する対策」である。このセキュリティ・ホールを利用すれば,安全マーク無しのActiveXコントロールをスクリプトから呼び出せる。
利用方法はいたって簡単。HTMLファイル中に
<APPLET CODE="com.ms.activeX.ActiveXComponent"></APPLET>
という“呪文”を書くだけで,IEのチェック機能が麻痺してしまう。その後は,安全マーク無しのActiveXコントロールを自由に呼び出せる*10。
このようなセキュリティ・ホールをウイルス作者が利用しないわけがない。このセキュリティ・ホールを利用するウイルスは多数出現している。なかでも,2001年8月に出現したスクリプト・ウイルス「Offensive」*11は,国内で大きな被害をもたらした。クラッカにより,ある有名なオークション・サイトのページにOffensiveが仕込まれたからだ*12。
Offensiveが記述されているWebページを閲覧すると,ローカルのWScript.Shellが呼び出され,レジストリが改変される。その結果,パソコンを正常に操作できなくなる。具体的には,すべてのプログラムが起動できなくなるとともに,デスクトップ上からすべてのアイコンが消える。また,Windowsを終了するボタンも消える。レジストリが改変されているために強制終了して再起動しても症状は変わらない。ただし,Offensiveに感染することはない。レジストリを改変されるだけである。
2003年2月に出現した「Redlof」は,Offensiveと同じセキュリティ・ホールを利用して感染を広げる(リスト2[拡大表示])。Redlofは,WScript.Shellを呼び出してレジストリを改変するだけではなく,Scripting.FileSystemObjectなどを呼び出して,パソコン中のファイルを操作する。具体的には,パソコンの全ドライブを検索し,拡張子がhtmlやvbs,aspなどのファイルにRedlof自身を埋め込む。これらのファイルをWebで公開すれば,そのファイルを閲覧したユーザーにも感染が広がる。加えて,OutlookやOutlook Expressのテンプレート・ファイル(blank.htm)に感染し,そのテンプレート・ファイルを使用するようにレジストリを変更する。以降,そのユーザーがOutlookなどでHTMLメールを送信すれば,Redlofも一緒に送られる。
プレビューで勝手に実行される
Outlook Expressの初期設定では有効になっているHTMLメール。HTMLメールは表現力が豊かである半面,細工を施しやすいので,ウイルスの格好の運び手となる*13。2001年3月に公開された「不適切なMIMEヘッダーが原因でInternet Explorerが電子メールの添付ファイルを実行する」のセキュリティ・ホールを利用すれば,メール本文をプレビューするだけで動き出すウイルスを容易に作れてしまう。代表例が,2001年9月に出現した「Nimda」や2002年1月に出現した「Klez」である。
前述のBubbleBoyやRedlofもHTMLメールを利用する。これらもHTMLメールの本文を読むだけで実行されるウイルスである。ただ,作成することが比較的難しく,動作が限定されているので,危険性はそれほど大きくない。
一方,Nimdaなどが突くセキュリティ・ホールは,HTMLメールにちょっとした細工を施すだけで利用できる。しかも,ウイルスの動作に制限はない。このセキュリティ・ホールを利用すれば,どのようなウイルスでも実行できる。具体的には,HTMLメール中のMIMEヘッダーの一つである「Content-Type」に手を加えると,ユーザーがHTMLメールをプレビューしただけで,添付されている実行形式ファイルが,勝手に実行される(リスト3[拡大表示])。Content-Typeは,そのMIMEパートのファイル種類を指定するヘッダーである。
Outlook ExpressやOutlook(実際には,HTMLメールの表示を担当するIE)は,実行形式ファイルが添付されている場合には,そのファイルを開く前にユーザーに警告を出す。画像ファイルや音声ファイルのように,勝手に開いてもパソコンに影響を与えないファイルについては,警告を出さずに開く。
セキュリティ・ホールがあるIEは,警告を出すべきかどうかを前述のContent-Typeだけから判断する(リスト3(2))。このため,勝手に開いても問題がないファイル種類がContent-Typeに指定されている場合には,添付されているファイルが実行形式ファイル(ウイルス)であっても,警告を出さずに実行する*14。
Nimda以降,メールで感染を広げるウイルスのほとんどが,このセキュリティ・ホールを利用している*15。
Nimdaなどが流行した原因は,IEのセキュリティ・ホールである。HTMLメールが悪いわけではない。とはいえ,Outlook ExpressでHTMLメールが初期設定で有効ではなかったら,NimdaやKlezがあれほど大きな被害をもたらすことはなかったはずだ*16。
(勝村 幸博=IT Pro)
次回(下)へ続く
ウイルスに感染したPC、サーバを1台ずつ復旧処理していませんか?⇒解決策はこちら
アプリケーション使用基準審査により脆弱性防御を行うトップレイヤーのIPS。詳細説明はこちら
ウイルスやワームによる被害をネットワーク機器のレベルで守るシスコセキュリティソリューション
<“ウイルス”関連>
「今後は企業向けの営業も強化」――,シマンテックが2004年度の営業戦略 (2004/03/12)
Mydoom.AおよびBの非活性化を試みる「Netsky.J」発生 (2004/03/10)
「2004年,北米ISPのワーム対策コストは約2億4500万ドルに」,カナダ企業が予測 (2004/03/05)
「2月はMydoomやNetskyが猛威,ウイルス警告メールが来ても慌てるな」――IPA (2004/03/04)
感染を広げるBagleワーム,亜種「W32/Bagle.h@MM」の危険度は「中」 (2004/03/03)
Netskyウイルスの変種が流行中,拡張子が「.pif」の添付ファイルに注意 (2004/03/02)
米Network Associatesなど,危険度「中」のワーム「W32/Netsky.d@MM」を警告 (2004/03/02)
アンチウイルス・ベンダー各社がBagleワームの亜種「W32/Bagle.c@MM」を警告 (2004/03/01)
2004年2月のウイルス被害状況,「Sober-C」が再びワースト1に (2004/03/01)
米Network Associatesが「W32/Netsky.c@MM」を警告,危険度は「中」 (2004/02/27)