FrontPageのサーバ側コンポーネント問題


Windows 2000 World 2000年7月号
月刊セキュリティレポート No.6


本文書は、Windows 2000 World誌に寄稿した記事の原稿を、 IDGジャパン編集部殿の許可を得た上で掲載したものです。




Hit-Highlighting機能の問題の続報


本連載の前回記事(2000年5月号)で、Index ServerのHit-Highlighting機能を不正に利用することにより、仮想ルートディレクトリを含んでいる論理ディスクドライブ上の任意のテキストファイルやMS Officeドキュメント(テキスト部分のみ)を、Webブラウザ経由で読み出すことができるという問題を取り上げた。米国マイクロソフトはこの問題についてセキュリティ情報MS00-006[1]および修正モジュールを公開したが、その後、David Litchfield氏によりHit-Highlighting機能に関する新たな問題[2]が指摘された。

氏によると、Index ServerがインストールされているIIS4.0に対し、特定のURLでアクセスすることにより、ASP等のページのソースコードを表示させることができる。

例えば、
    http://192.168.0.31/null.htw?CiWebHitsFile=/default.asp%20&
                                  CiRestriction=none&CiHiliteType=Full
のようにアクセスすることで、default.aspのソースコードがWebブラウザ上に表示される(図1)。


図1 null.htwを利用してIIS4.0標準のdefault.aspファイルのソースコードをWebブラウザ上に表示。


null.htwはHit-Highlighting機能のデフォルトフォーマットのテンプレートファイルだが、実際には存在しない仮想的なファイルである。上記URLでdefault.aspの後に%20(すなわちスペース)が付加されているが、これを付けることによりASPファイルのソースコードを表示させることが可能となる。

米国マイクロソフトはこの問題を受け、先に発行したセキュリティ情報MS00-006を3月31日付けで更新し、対応する英語版修正モジュールも更新した。日本語版のIndex Serverについては情報がやや不足している。日本語版の該当するセキュリティ情報ページ[3]には特に新しい問題の説明や修正モジュールの更新に関する記述は見当たらない。しかし本原稿執筆時点(4月28日)で日本語版修正モジュールをダウンロードして適用したところ、新しい問題は発生しなくなるため、日本語版の修正モジュールもこの問題に対応したものに更新されていると推測される。

いつの時点で日本語版修正モジュールが更新されたのかは不明であるが、最新修正モジュールに含まれるWebhits.dllの日付が4月6日であることより、少なくともそれ以前にこの修正モジュールをダウンロードして適用した場合は、再度ダウンロードして再適用することが必要であると思われる。

ちなみにこの新しい問題はIIS4.0のIndex Server 2.0にのみ発生し、Windows 2000のインデックス・サービスでは発生しないため、Windows 2000では修正モジュールを再適用する必要はない。




FrontPageのサーバ側コンポーネント問題


さて前置きが長くなったが、今回は最近報告されたFrontPage関連サーバ側コンポーネントの問題について解説する。

今回報告されている問題を整理すると、以下のようになる。
    1) Link Viewサーバ側コンポーネントの問題

    • ASPファイルソースコードの閲覧
    • リモート・バッファオーバーフロー

    2) サーバ側イメージマップコンポーネントの問題

    • ディレクトリパスの表示
    • リモート・バッファオーバーフロー

マイクロソフトはそれぞれの問題について、以下の対処方法[4]を推奨している。
    1) Dvwssr.dllファイルの削除

    2) Htimage.exeおよびImagemap.exeファイルの削除

1. Link Viewサーバ側コンポーネントの問題


この問題は、Webアプリケーション開発ツールであるVisual Interdev 1.0の、Link View機能(Webサイト内のページ同士の関係を表示する機能)を実現するためにWebサーバ側にインストールされる、Dvwssr.dllというdllファイルに起因する。

先に述べた通り、Dvwssr.dllには以下の二つの問題が指摘されている。
    - ASPファイルソースコードの閲覧
    - リモート・バッファオーバーフロー
一つ目のASPソース閲覧の問題は、Web編集権限のあるユーザがリモートからDvwssr.dllにアクセスすることにより、同一サーバ上にある他の仮想サイトのASPファイルについてまで、そのソースコード内容を読むことができてしまうというもので、rain forest puppy氏によって報告[5]された。それによると、特定のエンコード処理を施したファイル名をDvwssr.dllに引数として与えてやることにより、そのファイル(.aspまたは.asa)のソースコードが表示される。

例えば、
    /iissamples/issamples/advquery.asp
というファイル名は、エンコード処理を行なうと、
    /A8XMaGSHCV/CZaaCWFee/4GTKce4S.IKF
となる。すなわち、
    http://192.168.0.31/_vti_bin/_vti_aut/dvwssr.dll?
                          /A8XMaGSHCV/CZaaCWFee/4GTKce4S.IKF
というURLでアクセスすることで/iissamples/issamples/advquery.aspの内容を読むことができるわけだ(図2)。詳細については氏のアドバイザリ文書[5]を参照していただきたい。


図2 Dvwssr.dllを利用してIIS4.0に標準で付属するサンプルASPファイル advquery.aspをWebブラウザに表示。ブラウザ表示上ではわかりにくいが 「ソースの表示」を行なうとASPのソースコードがそのままブラウザに 渡ってきているのがわかる。


ただし通常、Dvwssr.dllにアクセスできるのはWeb編集権限を持ったユーザに限られる。またそのユーザが、読みたいファイルに対するNTFS上の読み込みアクセス権を持っていない場合は、この方法でASP等の内容を読むことはできない。すなわち、一つのWebサーバマシン上で複数の仮想Webサイトを顧客に提供しているようなISPの場合で、しかもASPファイルの読み込みアクセス権が適切に設定されていない場合、ある顧客のWeb編集者が他の顧客の仮想サイト上のASPファイルを読める危険性がある。

この問題は公開された当初、ファイル名のエンコードに用いられるキーワードが「Netscape engineers are ...」というような、Netscapeの技術者を誹謗するような文言であったことも手伝い、「これは非常に危険なバックドア(裏口)である」といったような過大な取り扱いがマスメディアにおいてなされた。だが実際は上述の通り、特定の条件下において発生する問題である。

二つ目のリモート・バッファオーバーフロー問題は、Dvwssr.dllに与える引数(ファイル名)が異常に長い場合、Dvwssr.dllがバッファオーバーフローを起こしてしまうというもので、Gerardo Richarte氏によりBugTraqに報告[6]された。このバッファオーバーフローにより、リモートでのWebサービスの停止およびシステム権限での任意コマンド実行が可能となる。日本語版IIS4.0についてもラックの三輪氏より、バッファオーバーフローによる任意コマンドの実行の可能性が報告されている。

ただしこのバッファオーバーフロー問題も、先のASPファイル内容閲覧の問題と同様、実行するためにはDvwssr.dllへのアクセス権限が必要である。すなわち、基本的にはユーザ認証を通過したWeb編集者によってのみ引き起こされるということになる。そもそもWeb編集の権限を持ったユーザは、そのWebサーバ上で稼動するWebアプリケーションを作成し、インストールする権限を持つ。すなわち、Web編集者はもともとWebサーバに対して著しい影響を与えるだけの権限が与えられているのだ。十分に信頼できるユーザにのみ、Web編集の権限を与えるようにしていれば、これらの問題はあまり深刻にはならないだろう。

マイクロソフトはこれら問題に対し、セキュリティ情報MS00-025[7]を公開している。その中で対処法として、Dvwssr.dllファイルの削除をあげている。このファイル自体はVisual Interdev 1.0のクライアントからしか使われていないため、該当するクライアントソフトを使用するのでない限り削除してしまっても問題ない。

Link Viewサーバ側コンポーネント(Dvwssr.dll)問題の影響を受けるのは、基本的には以下のいずれかの環境である。
  • FrontPage 97/98 Server Extensionsをインストールしている
  • Windows NT 4.0 Option Pack (IIS4.0)をインストールしている
  • Personal Web Server 4.0をインストールしている
Windows 2000(IIS5.0)はこの問題の影響を受けない。またWindows 2000にアップグレード、あるいはOffice 2000 Server ExtensionsもしくはFrontPage 2000 Server Extensionsをインストールした場合もこの問題の影響を受けないとのことである。


2. サーバ側イメージマップコンポーネントの問題


FrontPage 97/98 Server Extensionsには、Webサーバ側でイメージマッピング(イメージデータ上におけるハイパーリンク)を実現するために、Htimage.exeおよびImagemap.exeという二つのコンポーネントが含まれている。これらはクライアント側でのイメージマッピング機能を持たないような古いタイプのWebブラウザ(IE1.0、2.0等)にイメージマッピングを提供することを目的としており、Htimage.exeはCERN準拠のサーバ側イメージマッピング、Imagemap.exeはNCSA準拠のサーバ側イメージマッピングをサポートする。

今回のサーバ側イメージマップコンポーネント問題は、Htimage.exeを利用したディレクトリパスの表示と、Htimage.exeおよびImagemap.exeにおけるリモート・バッファオーバーフローである。

デフォルトインストール状態のIIS4.0に対し、次のようなURLを指定してみよう。
    http://192.168.0.31/cgi-bin/htimage.exe/aaa?0,0
するとWebブラウザ上にはエラーメッセージと共に、仮想ルートディレクトリの実際のディレクトリパスが表示される(図3)。実際のディレクトリパスは、Webサーバを攻撃する者にとって非常に有用な情報となるため、これを知られることはセキュリティ上問題がある。この問題はDavid Litchfieldにより、今年の2月にBugTraqへ報告された。


図3 Htimage.exeを利用して仮想ディレクトリの実際のディレクトリパスを表示。


Htimage.exeのバッファオーバーフローは、今年の4月にNarrow氏によってBugTraqへ報告されたもので、以下のような長い文字列をHtimage.exeに指定した場合、Htimage.exeがバッファオーバーフローを起こすというものだ。
    http://192.168.0.31/cgi-bin/htimage.exe/aaa...長い文字列...?0,0
マイクロソフトはこの問題について、セキュリティ情報MS00-028[8]を公開した。それによると、
  • バッファオーバーフローは、Htimage.exeおよびImagemap.exeで発生する
  • バッファオーバーフローによりWebサービスが停止することはないが、 ユーザ権限で任意のコマンドを実行することが可能
とのことである。Htimage.exeおよびImagemap.exeは、前述のDvwssr.dllとは異なり誰でもリモートでアクセス可能なため、バッファオーバーフローで実行することができるコマンドは一般ユーザ権限に限られるとはいえ、この問題の危険性はかなり高い。

対処方法は、Htimage.exeおよびImagemap.exeをディスク上から削除することである。それによりサーバ側でのイメージマッピング機能がなくなり、IE1.0/2.0等の旧式Webブラウザに対してイメージマッピングを提供できなくなってしまう。もしこの機能を使用している場合は、Webページの修正が必要になるだろう。

サーバ側イメージマップコンポーネント(Htimage.exe, Imagemap.exe)問題の影響を受けるのは、Link Viewサーバ側コンポーネントの問題と同様、基本的には以下のいずれかの環境である。
  • FrontPage 97/98 Server Extensionsをインストールしている
  • Windows NT 4.0 Option Pack (IIS4.0)をインストールしている
  • Personal Web Server 4.0をインストールしている
だが、場合によってはWeb編集者が勝手にこれらのモジュールをインストールしている可能性もあるため、一度、cgi-bin等のスクリプト用ディレクトリについて検査することをお勧めする。



[1]  MS00-006: Patch Available for "Malformed Hit-Highlighting 
     Argument" Vulnerability 
     http://www.microsoft.com/technet/security/bulletin/ms00-006.asp

[2]  Cerberus Information Security Advisory (CISADV000330)
     http://www.cerberus-infosec.co.uk/adviissp.html

[3]  [IIS]Hit-Highlighting 引数の不正利用
     http://www.microsoft.com/japan/support/kb/articles/j052/2/37.htm

[4]  「サーバー側イメージマップコンポーネント」の脆弱性を排除する手順
     「Link View サーバー側コンポーネント」の脆弱性を排除する手順
     http://www.microsoft.com/japan/security/

[5]  A back door in Microsoft FrontPage extensions
     http://www.wiretrip.net/rfp/p/doc.asp?id=45&iface=2

[6]  DVWSSR.dll Buffer Overflow Vulnerability in Microsoft IIS 4.0 
     Web Servers 
     http://www.securityfocus.com/templates/archive.pike?list=1&
     date=2000-04-8&msg=38F7AD47.64293EFF@core-sdi.com

[7]  Procedure Available to Eliminate "Link View Server-Side Component"
     Vulnerability 
     http://www.microsoft.com/technet/security/bulletin/ms00-025.asp

[8]  Procedure Available to Eliminate "Server-Side Image Map 
     Components" Vulnerability 
     http://www.microsoft.com/technet/security/bulletin/ms00-028.asp


2000年4月執筆
塩月 誠人
インターナショナル・ネットワーク・セキュリティ株式会社