マイクロソフト、「ASP.NET」の重大な脆弱性を警告――すべてのWindowsに影響
パッチは開発されているものの、公開時期については不明米国Microsoftは9月17日、同社のWebアプリケーション・フレームワーク「ASP.NET」の重大な脆弱性についてユーザーに警告を発した。この脆弱性が攻撃者に悪用されると、暗号化されたWebセッションが乗っ取られたり、Webサイトからユーザー名やパスワードが盗まれたりするおそれがあるという。
この脆弱性の存在は、アルゼンチンのブエノスアイレスで同日開催されたセキュリティ・カンファレンス「ekoparty Security Conference」で、2人の専門家がこの脆弱性とそれを突く攻撃手法について概説したことで明らかになった。
Microsoftの「セキュリティ・アドバイザリ(2416728)」によると、この脆弱性はASP.NETのすべてのバージョンに存在するという。ASP.NETは、膨大なWebサイトやアプリケーションの構築に使われている。Windows XP Service Pack(SP)3やWindows Server 2003からWindows 7、Windows Server 2008 R2まで、同社が現在サポートしているWindowsの全バージョンのほか、IIS(インターネット・インフォメーション・サービス)やSharePoint Serverなどのサーバ・ソフトウェアもこの脆弱性の影響を受ける。
ekopartyでジュリアーノ・リゾー(Juliano Rizzo)氏とタイ・デュオン(Thai Duong)氏は、ASP.NETの暗号化機能の脆弱性を悪用することで、リモート・サーバのセッション・クッキーや、そのほかの暗号化データを復号し、ASP.NETに依存するサイトやWebアプリケーションにアクセスしてファイルを盗めることを示すデモを行った。
リゾー氏とデュオン氏によると、両氏が発見した攻撃手法では、Webアプリケーションに“完全な管理者権限”でアクセスできるため、「情報の暴露からシステムの完全な乗っ取りまで」ありとあらゆることができるという。
両氏は、インターネット上のWebサイトの25%がASP.NETを使っていると推計している。
この脆弱性を悪用する攻撃手法では、ASP.NETアプリケーションに暗号文を無理やり送りつけ、返されるエラー・コードを監視する。このプロセスを数多く繰り返し、エラーを分析することで、ハッカーが暗号鍵を特定し、暗号文全体を復号するのに十分な情報を得るおそれがあるという。
Microsoftは、この脆弱性の修正パッチを「開発中」としているが、パッチの公開時期は明らかにしていない。同社は暫定的にWebサイトやアプリケーションの開発者に対し、コードに手を加えることを勧めている。
「この脆弱性を回避するには、ASP.NETのcustomErrors機能を有効にし、サーバで発生するエラーの内容にかかわらず、常に同じエラー・メッセージを返すように、アプリケーションを明示的に構成するとよい」と、Microsoftのスコット・ガスリー(Scott Guthrie)氏は述べている。同氏は、ASP.NETに責任を持つチームを含むいくつかの開発チームを統括している。「すべてのエラー・ページを1つのエラー・ページにマッピングすることで、サーバで発生する各種のエラーをハッカーが識別するのを防げる」
Microsoftはこの回避策の詳細をセキュリティ・アドバイザリで説明している。
ユーザーはこの回避策により、リゾー氏とデュオン氏が説明した攻撃を防げるが、この回避策は脆弱性を解決するわけではない。ガスリー氏は9月18日、自身のブログ記事に加えたコメントで、次のように述べた。「われわれは追ってパッチをリリースする。それまでは、上記の回避策で攻撃の芽を詰むことが重要だ」
リゾー氏とデュオン氏は、この脆弱性を悪用する攻撃を「パディング・オラクル(Padding Oracle)攻撃」と命名した。この名前は、問い合わせに対してヒントを提供するシステムを表す暗号用語にちなんだものだ。
両氏は3カ月前、セキュリティ専門家が攻撃に弱いフレームワークを発見するのに使えるツール「POET(Padding Oracle Exploit Tool)」を公開している。また、1カ月前にはセキュリティ・カンファレンス「Black Hat Europe」で、両氏の調査結果のプレゼンテーションを行い、論文を公開している。
なお、Microsoftでは、脆弱なASP.NETアプリケーションを検出するVisual Basicスクリプトを公開し、Webサイトやアプリケーションの開発者からの質問に対応する専用サポート・フォーラムも設置した。
(Gregg Keizer/Computerworld米国版)























