マイクロソフトは6月13日,Windows NT 4.0/NT 4.0 Server, Terminal Server Edition,Windows 2000,Windows XPのセキュリティ・ホールを公開した。悪用されると,マシンにログオンできる一般ユーザーに,LocalSystem権限と呼ばれる高い権限を奪われる恐れがある。対策はパッチを適用すること。

 今回のセキュリティ・ホールは,Windows NT 4.0/2000/XPが備えるRAS(Remote Access Services)機能の電話帳(phonebook)が原因。電話帳には,RASが参照する電話番号やネットワーク設定などを保存されている。この電話帳に,バッファ・オーバーフローの不具合があることが明らかとなった。

 ある不正なデータ(エントリ)を電話帳が読み込むと,バッファ・オーバーフローを引き起こし,データに仕込まれた任意のコード(プログラム)を実行する恐れがある。このとき,コードはLocalSystem権限で実行される。LocalSystem権限とは,Windows OS自身の実行権限であり,ほとんど制限がない。そのため,どのようなコードも実行されてしまう。

 具体的なシナリオとしては,まず一般ユーザーとしてログインした攻撃者が,電話帳に不正なデータを書き込む。その後,攻撃者あるいは正規ユーザーがそのマシンのRASに電話をかけると,電話帳が不正なデータを読みこんでバッファ・オーバーフローを引き起こす。そして,データに仕込まれた任意のコードが実行される。

 今回のセキュリティ・ホールを,リモートから悪用することはできない。RASの電話帳があるマシンに直接ログオンするか,ターミナル・サービス経由でログオンする必要がある。つまり,ユーザー名とパスワードを知っていて,ローカルからログオンできる場合のみ,悪用が可能である。

 そのためマイクロソフトでは,今回のパッチを適用することに併せて,現在使用しているパスワードが安全かどうかを,改めて確認するよう勧めている。

MS02-029 に関する情報(要約情報およびパッチ,マイクロソフト)
Unchecked Buffer in Remote Access Service Phonebook Could Lead to Code Execution (Q318138)(英語情報,米Microsoft)
リモート アクセス サービスの電話帳の未チェックのバッファによりコードが実行される (Q318138) (MS02-029)(マイクロソフト)

(勝村 幸博=IT Pro)