IPA/ISEC

最終更新日:2001年 5月18日


IIS が不要な URL デコード処理を行っていることによって
コマンドを実行されうる問題について

概要

マイクロソフト社は 5月15日に Internet Information Server (IIS) の脆弱性に関する新しい情報 (MS01-026)を公表しました。 URL としてある特定のリクエストを受け取ると、WEB では公開していないファイルへのアクセス、 Webの改ざんやコマンドの実行を許してしまいます。
同種の脆弱性はこれまでにもありましたが今回のものは新たに発見されたものです。 この IIS の脆弱性を利用した攻撃は高い技術力を必要としないにも係わらず多大な被害を与えることができるので大変危険です。

対象マシン

IIS 4.0 または IIS 5.0 を動作しているすべてのマシン

対処

Microsoft社が公開している修正プログラムを適用してください。
http://www.microsoft.com/japan/technet/security/prekb.asp?sec_cd=MS01-026

セキュリティを高めるための対策

不正な URL に関する脆弱性はたびたび報告されていますが、Web のルート (C:\inetpub\wwwroot など) をシステムのディレクトリ C:\WINNT があるドライブと異なるドライブに設定し(例えば、D:\inetpub\wwwroot)、 このドライブに他のファイルを置かないことによって耐性を高めることができます。

脆弱性の詳細

Web のルートが
C:\Inetpub\wwwroot
の場合、 Web で公開するファイル
C:\Inetpub\wwwroot\Hello.htm
は URL では
http://myhost/Hello.htm
で参照され、 ファイル
C:\Inetpub\wwwroot\sound\Hello.wav
は URL では
http://myhost/sound/Hello.wav
で参照されることになります。
つまり、
C:\Inetpub\wwwroot
以下のディレクトリの階層と URL が 対応します。

ディレクトリの場合、同じファイルを異なるパスで表現することができます。例えば、
C:\WINNT\system32\cmd.exe
は、
C:\Inetpub\wwwroot\..\..\WINNT\system32\cmd.exe
とも表現できます。
URL でも同じ表現が可能だとすると、Web のルート以下以外のファイルを 参照したりコマンドを実行できることになります。
http://myhost/../../WINNT/system32/cmd.exe

実際にはこのような指定ができないように IIS は URL をチェックするのですが、 URL としてある特定のリクエストを使うことによってこのチェックを回避できる、ということがこの脆弱性です。

しかし、例えこのように ".." を使って URL がチェックを通ったとしても 別のドライブのファイルを指定することはできません。 そこで Web のルートを Web 専用の別のドライブに置くことで安全性を高めることができます。

参考情報


            Copyright © 2001 Information-technology Promotion Agency, Japan. All rights reserved.