MS11-004 に関する技術的な説明が、Security Research & Defense のブログで公開されました。

以下に日本語訳を掲載いたします。

 

--- Regarding MS11-004, Addressing an IIS FTP Services Vulnerability の日本語抄訳 ---

本日、マイクロソフトは IIS サーバーの Microsoft FTP サービスに存在する脆弱性を解決する MS11-004 を公開しました。このブログではこの脆弱性の技術的な詳細について触れたいと思います。

 

まず、IIS FTP サービス コンポーネントに脆弱性が存在することを明確にしたいと���います。FTP サービスは IIS のオプションのコンポーネントで、既定ではインストールされません。

 

FTP サービスのバージョンと IIS のバージョンとの違いは少々混乱を招く部分になります。たとえば、Windows Vista および Windows Server 2008 上の IIS 7 に同梱されている FTP サービスのバージョンは FTP 7.0 ではなく、FTP 6.0 です。しかし、マイクロソフト ダウンロードセンターからオプションのコンポーネントとして FTP 7.0/7.5 IIS にインストールすることもできます。 実行している FTP のバージョンや使用中のコンピューターが影響を受けるかどうかが定かでない場合、この手順を使用して更新プログラムがコンピューターに必要であるかを確認してください。

 

·           FTP サービスが有効でない場合、そのコンピューターは影響を受けません。

·           FTP サービスが有効である場合、

o    Windows Server 2003 上の IIS6: 影響を受けません。

o    Windows Vista および Windows Server 2008 上の IIS7: 既定で、 IIS 7 FTP 6.0 を使用しており、この脆弱性の影響を受けません。しかし、マイクロソフト ダウンロード センターから IIS 7 用の FTP 7.0/7.5 パッケージを手動でインストールしている場合、この脆弱性の影響を受けます。

o    Windows 7 および Windows Server 2008 R2 上の IIS 7.5: IIS 7.5 に同梱されている FTP 7.5 はこの脆弱性の影響を受けます。

 

このプロセスを自動化する方法もあります。FTP 6.0 FTP 7.0/7.5 とは異なるサービス名で実行されています。このため、FTP 7.0/7.5 のサービス名である "ftpsvc" が実行されているかどうかをチェックするとよいでしょう。過去の SRD ブログ Assessing an IIS FTP 7.5 Unauthenticated Denial of Service Vulnerability (英語情報) で、既にこのアプローチについてお話していますが、ここにもう一度記載します。

 

(管理者として実行している) コマンド プロンプト上において IIS FTP サービスをクエリすることにより、その IIS FTP サービスの状態を確認することができます。

 

·           Windows + R キーを押します

·           "cmd.exe" (引用符は必要ありません) と入力します

·           コマンドプロンプトで "sc query ftpsvc" (引用符は必要ありません) と入力します

 

サービスがインストールされていない場合、次のように表示されます。

 

> sc query ftpsvc

[SC] EnumQueryServicesStatus:OpenService FAILED 1060:

指定されたサービスはインストールされたサービスとして存在しません。

 

サービスがインストールされており、実行されている場合、次のように表示されます。

> sc query ftpsvc

SERVICE_NAME: ftpsvc

        TYPE               : 20  WIN32_SHARE_PROCESS

        STATE              : 4  RUNNING

                                (STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN)

        WIN32_EXIT_CODE    : 0  (0x0)

        SERVICE_EXIT_CODE  : 0  (0x0)

        CHECKPOINT         : 0x0

        WAIT_HINT          : 0x0

 

別のアプローチとして、コンピューターがこの脆弱性の影響を受けるかどうかを確認するために、ファイル システムをスキャンすることもできます。'ftpsvc.dll' %system32%\inetsrv ディレクトリに存在していない場合、そのコンピューターはこの脆弱性の影響は受けません。'ftpsvc2.dll' というファイル名が確認された場合、そのコンピューターには FTP 6.0 がインストールされており、この場合もまた、この脆弱性の影響は受けません。 Windows UpdateMicrosoft Update および WSUS の検出ロジックは上記のシナリオで処理するため、この更新プログラムは FTP 7.0 または FTP 7.5 をインストールしている IIS 7 コンピューターにのみ提供されます。

 

最後に、この問題が悪用される可能性について説明したいと思います。2010 12 月、こちらのブログ (英語情報) にこの問題を投稿し、リモートでコードが実行される可能性は低いと考えている理由の概要を説明しました。「これらの特徴により、ヒープスプレイもしくは一部の関数ポインターを上書きする攻撃を実行することは困難です。オーバーランの性質上、結果として可能性のある影響は、サービス拒否のみであり、コードが実行されることはありません。」と述べました。

それ以降のさらなる調査により、DEP および ASLR 保護が突破された場合、この脆弱性が悪用される可能性があることが分かりました。現在までに悪用は一般で確認されておらず、また、悪用コードは一般に利用可能となってはいません。現在の状況を要約すると、コードが実行される可能性はありますが、大部分のお客様に及ぶ可能性のある影響は、サービス拒否となります。

 

謝辞:

この問題について協力して下さった IIS チームの Nazim Lala、日本の CSS セキュリティ レスポンス チームおよび MSRC エンジニアリング チームの Brian Cavenah に謝意を表します。

Chengyun MSRC エンジニアリング、Chengyun Chu および Mark Wodrich