IEのアドレス詐称によるセュリティーゾーンの回避にパッチが出た

ずいぶん長い間待っていたような気がしますけれどもパッチが出ました。このIE脆弱性は以下のようなアドレスでセキュリティーゾーンをだまくらかすことができるというものです。

http://[trusted_site]%2F.[malicious_site]/

上で、[trusted_site]%2Fとあります。IEは %2F をスラッシュであると勘違いし、 %2F の直前までの内容である、[trusted_site]を元にしてセキュリティーゾーンを定めてしまっていました。アタックベクターの考え方としては2通りありました。最初の例。[trusted_site]がドットを含む場合、一般にはインターネットゾーンなのですけれども、ドットを含まない場合にはイントラネットゾーンとしてセキュリティー強度が定められます。イントラネットゾーンはセキュリティー強度が既定値では甘いため、[malicious_site]のコンテンツが悪意ある作動をしてしまう懸念があります。ずいぶん昔にIPアドレスを巧みに表現して同じくドットレスにし、イントラネットゾーン扱いにするという脆弱性がありましたがそれを想起させます。以上が最初の例です。次、2番目の例。[trusted_site]がドットを含む場合、一般にはインターネットゾーンで処理されるのでしょうけれども、ユーザが事前に、とあるサイトAを信頼済みサイトゾーンに設定していて、しかもその事実を攻撃者が知っていた場合に、[trusted_site]にサイトAを設定したURLアドレスでもって、[malicious_site]のコンテンツが、信頼済みサイトゾーンのセキュリティー強度で作動してしまいます。これでは、せっかくインターネットゾーンのセキュリティー設定を強化していても何もならないわけです。以上が2番目のアタックベクターでした。

2月のWindowsUpdateでこの脆弱性にパッチがあたりました。具体的には、[trusted_site]%2F.[malicious_site]のようなアドレスをアドレスバーに投入したりアンカー要素として仕掛けたりしてもIEはそれを無視します。アドレスバーでエンターしても何も起こりませんし、アンカーでクリックしても無視されます。アドレスとして適切ではないという判定なのでしょう。意外と簡単な変更ですね。

以下関連情報です。

SA11830
Secunia - Advisories - Internet Explorer Security Zone Bypass and Address Bar Spoofing Vulnerability
http://secunia.com/advisories/11830
CAN-2005-0054
URL Decoding Zone Spoofing Vulnerability
http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-0054
Internet Explorer 5.01, 5.5, and 6 allows remote attackers to execute arbitrary code via an HTML page containing certain encoded URLs that spoof a less restrictive security zone, aka the "URL Decoding Zone Spoofing Vulnerability.とのこと。
MS:MS05-014
http://www.microsoft.com/technet/security/bulletin/ms05-014.mspx

追記:重要

どうもマイコンピュータゾーンにまで影響を及ぼすことが可能だったらしいです。上に私が書いたものだけでは説明がつきません。多重な URL Encode でもIEは一生懸命Decodeするらしい。そこに目をつけてのことらしいのですが。不足分は以下をお読みください。なお、exploitは書いてありません。exeを放り込まれるようなことも。こわいですね。