Windows Shell のオーバーフロー(追加情報) | ScanNetSecurity
2024.04.26(金)

Windows Shell のオーバーフロー(追加情報)

[翻訳:関谷 麻美]
2002年3月12日

国際 海外情報
[翻訳:関谷 麻美]
2002年3月12日

概要
 eEye Digital Security は、悪意あるコードの実行を引き起こすバッファ・オーバーフローの脆弱性を Windows Shell に発見した。
 その脆弱性は、存在しないプログラムを示す URL ハンドラ をWindows
Shell が操作する方法に存在する。
 この脆弱性のパッチは、リリースされている。
下記の URL を参照のこと。
http://www.securiteam.com/windowsntfocus/5WP0B0A6LU.html

詳細
脆弱なシステム
Microsoft Windows 98
Microsoft Windows 98 Second Edition
Microsoft Windows NT 4.0
Microsoft Windows NT 4.0 Terminal Server Edition
Microsoft Windows 2000

 Windows Shell は、開発者が自分のカスタム URL ハンドラに書き込むことができる機能を提供する。例を挙げると、ICQ、AIM、MS Conference、mIRC、Windows Media Player、Outlook/Express、その他... などのプログラムは、プログラム自体のカスタム URL ハンドラをインストールして、URL からプログラムに機能を移すことができる。

 例えば、"eeye" と呼ばれるカスタム URL ハンドラに書き込むことができ、eeye://data を要求した人はいつでも、eeye URL を処理するために書かれたものであればどんなプログラムでもそのデータを移すことができる。

 システム・レジストリで、URL ハンドラが存在しないプログラムに対しマップされた時に、問題が発生する。

 例えば AOL Instant Messenger は、HKEY_CLASSES_ROOTaim に URL ハンドラをインストールする。AIM が URL ハンドラであることを知っている理由は、AIM が URL ハンドラであることを windows shell に告げる "URL Protocol" キーが存在するからだ。

 "URL Protocol" キー用のレジストリを列挙することにより、インストールされている全ての URL ハンドラを確認できる。

 次に、インストールされ、存在しないプログラムにマップされた URL ハンドラを識別する。
 以下のフォームでURL ハンドラにマップされる。
HKEY_CLASSES_ROOTurlhandlershellopencommand
 そして、(デフォルトで)示された実行可能なプログラムなら何でも、指示された URL を処理することができる。

 AIM ハンドラ (HKEY_CLASSES_ROOTaimshellopencommand) が存在しないファイルを示した場合、URL ハンドラは URL ハンドラに移されたデータのバッファ・オーバーフローを介して利用される可能性がある。

例: aim://[buffer]
 [buffer] が 324 ぐらいのバイト数の場合。この時点で攻撃者は EIP を制御し、プログラム内の実行の流れをコントロールすることができる。つまり、攻撃者が望む全てのコードを被害者に実行させることができる。

 非常に大事なことだが、AIM もしくは URL ハンドラのプログラム自体には、何の問題もないことを明確にする。問題は、 Microsoft Windows Shell の脆弱なコードに存在する。

 特定の URL ハンドラが悪用可能となるのは、プログラムアンインストールされる際、アンインストーラーが完全にレジストリのマッピングを削除しないか、あるいはユーザがプログラムフォルダを削除し、無効になった URL マッピングをそのまま残している場合だ。

 Windows をデフォルトでインストールした場合、バッファ・オーバーフローは存在する。但し、その脆弱性を利用することは不可能だ。何故なら、デフォルトでは、存在しないファイルを示す URL ハンドラは、ないからだ。しかし、プログラムをインストールし、削除して時間が経過すると、システムは脆弱になる。

 この脆弱性は、ローカルな脆弱性だ。それは、Windows の統合された性質によるものだが、URL をサポートする全てのプログラムを使用してリモートでこの脆弱性を利用することは可能だ。例を挙げると、Outlook 電子メールにこの脆弱性を利用した攻撃の URL を送信することが可能だ。もしくは、"悪質な Web ページ"にこの攻撃の URL を埋め込み、そしてユーザにその Web ページを訪問させることができる。制御権を取得するために、リモートでシステム・プロセスをそれらの"悪質な URL"にする多数の方法がある。

 この脆弱性をローカルもしくはリモートで利用する場合、攻撃を受けるユーザの権限で攻撃者のコードが実行される。結果、その悪質な URL を実行するユーザが管理者の場合、攻撃のコードは管理者の権限で実行される。

 このバッファ・オーバーフローに対し脆弱なシステムは、数種類ある。しかし、マイクロソフトのパッチがリリースされたなら即座に適用することを推奨する。

解決策
 マイクロソフトはパッチをリリースし、この問題をセキュリティ情報で発表した。下記の URL を参照。
http://www.securiteam.com/windowsntfocus/5WP0B0A6LU.html

追加情報
eEye Digital Security がこの情報を提供した。

[情報提供:SecuriTeam]
http://www.securiteam.com/

《ScanNetSecurity》

Scan PREMIUM 会員限定記事

もっと見る

Scan PREMIUM 会員限定記事特集をもっと見る

カテゴリ別新着記事

「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」

ページ右上「ユーザー登録」から会員登録すれば会員限定記事を閲覧できます。毎週月曜の朝、先週一週間のセキュリティ動向を総括しふりかえるメルマガをお届け。(写真:ScanNetSecurity 名誉編集長 りく)

×