2004年11月10日 - Internet Explorerの旧バージョンは切り捨てなのか

 WindowsXP SP2インストール時にアップデートされるInternet Explore SP2と、その他のサポート期間がまだ終わっていないIEブラウザとの違いはやはり大きすぎる。
 XP SP2用IESP2では各種の脆弱性の影響を最初から受けないのにも関わらず、まだサポートが終了していない他の旧バージョンでは事後の対応しか望めない点で放置されているも同然なのだ。Microsoftは旧製品のセキュリティ対策はそれほど熱心ではないらしい。
 (脆弱性は公表され悪用される前にメーカーが対応するのが望ましい)
 また幾つかのブラクラ(ブラウザクラッシャー)に対して、XP SP2用IESP2は耐性を持っている。例としてポップアップのブロックなどだ。
 これから先はブラクラを知らない世代が増えるのだろう。

URIは画像ファイルなのにhtmlファイルな罠


 よく使われるブラクラ(ブラウザクラッシャー)へ誘導する手口の一つを紹介する。
 htmlファイルを作成後にその拡張子(エクステンション)をjpgやgifに変換してWebサーバー上にアップする手法である。
 このファイルへのURLはjpgやgif画像であり、一見危険は無いと誤解するやもしれないが、Internet Explorerの旧バージョンはこれをhtmlファイルとして解釈して開いてしまう。
 (もちろんInternet Explorer SP2はこれを回避しプレーンテキストとして開く*1)
 今回はただ単に他のサイトへ転送するだけだが、主な使い道は危険なスクリプトを含むhtmlファイルを安心して開かせる目的で利用される。

 このようなhtmlファイルの拡張子をgifにしてアップする。
 http://www.geocities.jp/luca_lucanian/fakegif.gif
 ジオの仕様のため外部から開けないので、そこでとりあえず http://www.geocities.jp/luca_lucanian/を開き、fakegif.gifを押してもらいたい。

 Internet Explorer6 SP2以外ではリフレッシュタグにてGoogleに転送されるが、IE6SP2ではプレーンテキストとして扱われる。
 IEの旧バージョンでも対応してもらえるとうれしいんだが。


<HTML>
<HEAD>
<META http-equiv="refresh" content="5;url=http://www.google.co.jp">
<TITLE></TITLE>
</HEAD>
<BODY>
<P>実はhtml</P>
</BODY>
</HTML>


テスト結果


Internet Explorer 5.01 SP4(Windows2000 SP4)


 テスト用としてWindows2000をインストールしSP4適用後、Windows Updateより「Microsoft Internet Explorer 6 Service Pack 1」と「Windows 2000 用セキュリティ更新プログラム (KB840987)」を除きその他全てをインストールして利用する。
 (後者はインストール後に、起動時に不具合が起きる可能性が高いから適用しなかった)
 このパソコンではInternet Explorerはバージョン: 5.00.3700.1000であった。またセキュリティの項目は「高」に設定した。
 (なおIEのこのバージョンでは「その他」-「ページの自動読み込み」の項目は無い)
 この環境ではhttp://www.geocities.jp/luca_lucanian/を開きfakegif.gifのリンクを開けば、自動的に5秒後にこの日記に転送されてしまう。

Internet Explorer 6 SP1(Windows2000 SP4)


 上記の構成のパソコンでWindows UpdateよりInternet Explorerを導入。再起動後、再度Windows Updateより最新の状態にした。
 (Windows 2000 用セキュリティ更新プログラム (KB840987)はインストールしなかった)

 この時点ではVersion: 6.0.2800.1106、更新バージョン: SP1; Q823353である。
 IEのプロパティのセキュリティより、規定のレベルから「高」を選択し、レベルのカスタマイズより「ページの自動読み込み」を無効から有効に切り替えた。
 これでもやはり、http://www.geocities.jp/luca_lucanian/を開きfakegif.gifのリンクを開けば、自動的に5秒後にこの日記に転送されてしまう。
 Windows 2000 SP4はInternet Explorer 6 SP1を使うしかないのか・・・

WindowsXP SP2上のIESP2


 テストに用いたのはバージョンは6.0.2900.2180xpsp_sp2_rtmである。
 セキュリティ設定の「その他」-「ページの自動読み込み」は有効にしてある。
 テスト用URLを開くと、htmlではなくプレーンテキスト(plain text)として解釈され、リフレッシュタグによる転送は行われない。
 なおセキュリティ設定より「拡張子ではなく、内容によってファイルを開くこと」を有効にすれば、IE6SP2であってもリフレッシュタグにより転送されてしまう。つまりhtmlファイルとして認識される。
 (これを適切な用語で表記するとしたらば、Content-Type Spoofingでいいのかな?それともFile Type Spoofingなのか)

 なお関連するレジストリは、これ。
 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3]
 ここのDWORD値はIEのインターネットゾーンの設定を反映する。
 2100=dword:00000003で無効になり、2100=dword:00000000で有効になる。
 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\]以下のハイブも関係があるかと思い込んでたんだが、FeautureControlを丸ごと削除したものの、結果として何も変わりが無い。時間を見つけてもう少しやってみる予定。

Netscape 7.1


 URIを開くと壊れた画像ファイルとして扱われた。
 これが一番いいような気もする、無理に怪しいgifをhtmlとして解釈して開く事もなかろうに。

今回のトラップの解説


 今回紹介したInternet Explorerでの各バージョンでの違いは、あくまでも騙しURLを踏ませた後にどうなるかと言った問題である。
 今回はリフレッシュタグによる転送に留めたが、実際には悪質なブラクラや危険なスクリプトなどを含むページを踏ませるために多用されている。

 Windows XPをSP2にバージョンアップすればIE SP2が手に入るのだが、これは従来のIE以上に様々な機能の更新が含まれる。

 Web サイト構築における Microsoft Windows XP Service Pack 2 (SP2) への対応について(Microsoft)
 Windows XP Service Pack 2 への対応に向けた Web サイトの最適化(Microsoft)
 Windows XP SP2で、IEのセキュリティはどう変わる?(ITmedia)


 最も読んでもらいたいのは、これ。
 「"Windows XP Service Pack 2 セキュリティ強化機能搭載" での機能の変更点 第 5 部 : ブラウズのセキュリティ強化(Microsoft)(http://www.microsoft.com/japan/technet/prodtechnol/winxppro/maintain/sp2brows.mspx)
 「MIME スニッフィング用のゾーンの設定」と「Internet Explorer の MIME 処理推進」の項目だ。

 従来のIEはそれっぽいものであれば無理矢理レンダリングしてファイルを開いたのだが、IE SP2ではファイルの処理に当たってより慎重な対応をとっている。
 IE SP2での仕様変更における拡張子とContent-TypeがおかしいURLの取り扱いについて、大変わかりやすいサイトを見つけたので紹介しておく。
 「「XP SP2 は強力かも」に対するコメント(http://altba.com/bakera/hatomaru.aspx/ebi/topic/1310/comment)

まとめ的雑文


 マイクロソフトは古い製品のサポートは順次終了していく。
 今回テストしたInternet Explorer 5.01 SP4(Windows 2000 Professional SP4用)、そしてInternet Explorer 5.5 SP2(Windows Millennium用)はまだサポートは終了していない。
 (Me用のIE SP2は「セキュリティ更新プログラムのみサポート」と説明されているが)
 11月6日の日記に書いた通り、将来起こりうる「可能性」についての対応は、この2つではあまりにも現状は物足りないのだ。

 Windows 2000 SP4ユーザーにとっては、XP SP2用IESP2にて行われている各種の対策は、裏でひっそりと取り残されたような違和感を感じるのだ。
 それは前回の日記で紹介した各種の罠やExploitが、XP SP2用IESP2では実は既に無効なものだった点でより確信できるものとなった。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

 このブログは、Lucablog 2004-11-10 IEの旧バージョンは切り捨てなのか(http://d.hatena.ne.jp/LucaLuca/20041110)を修正・加筆し移転したものです。