WindowsXPSP2のZoneIDとローカルマシンゾーンロックダウンとについて

本記事のまとめ

WindowsXPSP2においてダウンロードされたHTMLファイルに内包されるスクリプトは一般に作動しないという常識をもしも持っているならばそれは誤った考えです。

WindowsXPSP2のZoneID

WindowsXPSP2では安全度を高めるための新しいセキュリティフィーチャーとしてZoneIDなるものが導入されています。比較的わかりやすい文献を下記に御紹介させて頂きます。

本日私が皆さんに注目して頂きたいのは以下に掲げる引用部分です。@IT:Windows TIPS -- Knowledge:XP SP2のZoneIdとは?より。

・方法2―展開ウィザードによる解凍
もう1つの方法は、エクスプローラ上で.ZIPファイルを選択し、[ファイル]メニューの[すべて展開]を選ぶか、右クリックしてポップアップ・メニューから[すべて展開]を選択する方法である。このメニューを選ぶと、.ZIPファイルの[展開ウィザード]が起動され、展開先を指定するとファイルが展開される。この方法では、手間はかかるが、展開された各ファイルには正しく元の.ZIPファイルと同じZoneId情報が付けられる。

XPSP2のユーザさんは是非御確認しておいて頂きたいかと存じます。

ローカルマシンゾーンロックダウンを安易に信用できない?

XPSP2のIEユーザさんが、ローカルマシンゾーンロックダウンを信用できないかも知れませんので私なりに検討してみました。皆さんも是非ご自身で確認しておいて頂けると吉かもと存じます。

ローカルマシンゾーンロックダウンによって例えばインターネットからダウンロードしたHTMLファイルをデスクトップに置いてIEで開いたとしてもスクリプトが動かないはず・・・というのがXPSP2のローカルマシンゾーンロックダウンという新しいセキュリティ機能の売り文句のひとつだと私は思っております。(間違っていたらごめんなさい)そんなことをマイクロソフトさんが言っていないにしてもそのような感触を持っている人は少なからずいらっしゃることかと思われます。

しかしながらこの売り文句?は慎重に受け止めるべきです。実際にはZoneID機能によってスクリプトがInternetZoneの権限で作動することがあるからです。悪意あるHTMLファイルに与えられたInternetZoneの権限によって例えばクリップボードの中身をヘタすると盗まれかねませんので要注意ですし、他にも何か弱弱しい部分があるかも知れません。

確認してみましょう。ごくごく普通のスクリプトを含むHTMLファイルをzipで圧縮し適宜インターネット上のサーバに置いて下さい。そしてそれをダウンロードし、エクスプローラ上で.ZIPファイルを選択し、[ファイル]メニューの[すべて展開]を選ぶか、右クリックしてポップアップ・メニューから[すべて展開]を選択する方法にて解凍して下さい。ごくごく普通のスクリプトを含むHTMLファイルがIEで、どのような権限で作動するのかを是非御確認して頂きたいのです。

hoshikuzuによる確認結果

インターネット上の特定のサイトに置かれたスクリプト内蔵のHTMLファイルをzip圧縮したものをダウンロードしてみます。特定のサイトに関して私達は次のような権限をあらかじめ与えることができるでしょう。すなわち、インターネットゾーン、イントラネットゾーン、信頼済みサイトゾーン、制限付きサイトゾーン、の4通りです。

私hoshikuzuがXPSP2のIEで確認した限りでは、インターネットゾーン、イントラネットゾーン、信頼済みサイトゾーンの3種のサイトからダウンロードした場合には、くだんのHTMLファイルはインターネットゾーンの権限で作動致します。そして、制限付きサイトゾーンからダウンロードした場合には制限付きサイトゾーンの権限で作動致します。

以上より、ローカルマシンゾーンロックダウンにおいてHTMLファイルのスクリプトが作動しないはず、という知見は幻であることがわかります。そしてマイクロソフトさんの文献を各種あたりまくる限りにおいてこのことは仕様です。けして脆弱性ではありません。ユーザが気をつけるべきことです。インターネットゾーンのセキュリティ設定を多少厳しく制限しておいたほうが良いかもしれませんね。

あまり心配はいりませんが注意喚起

以下の引用部分は間違っています。ZoneIdは4にもなりうります。制限付きゾーンですので特に心配いりませんが・・・・@IT:Windows TIPS -- Knowledge:XP SP2のZoneIdとは?より引用です。

この例で分かるように、Zone.Identifierストリームにはテキスト形式でゾーン情報が記録されている。ここでは「ZoneId=3」となっているので、3はインターネット・ゾーンを表していると考えられるが、実際には3以外の値は記録されることはないようである(ほかのゾーンからのダウンロードの場合は、このストリーム自体が存在しない)。

以上御報告まで。是非とも御検証をお願い致します。っていうか"Mark of the Web"の記述が無いにも関わらずJscriptが動いてしまうHTMLファイルがあったのでかなり深刻に悩み続けましたよ、ヘタレな私は・・・とほほほ。もうっGoogleまわし続けました。万一Zone.Identifierがイントラネットゾーンや信頼済みサイトゾーンになりうるとするならば激しく危険ですので御教示下さい。>ALL

巷間、アダムスキー支持派のあいだですらあまり知られていない?アダムスキー型UFOの画像

上記画像でフチがまぁるくなっているのは反射型望遠鏡のフチですね。(via http://kiti.sub.jp/ufobbs/joyful.cgi on http://kiti.main.jp)