セキュリティ・ホールの概要と影響度
Windowsネットワーク機能の1つとして、リモート・プリンタの印刷の終了メッセージや、無停電電源装置(UPS)からの警告メッセージなどをユーザーにポップアップ表示して知らせるために利用されるWindowsメッセンジャ・サービスに未チェック・バッファのセキュリティ・ホールが存在することが判明した。メッセンジャ・サービスは、簡単なメッセージを相手のコンピュータに送るために用意されたWindows標準のサービスである(「net
send」コマンドなどが利用している)。
このセキュリティ・ホールを悪用することで、攻撃者は、ユーザーのコンピュータ上で、ローカル・システム特権で任意のプログラムを実行可能である。この手の未チェック・バッファのセキュリティ・ホールでは、攻撃時点でログオンしているユーザーの権限で攻撃プログラムが実行されるものが多いが、今回のセキュリティ・ホールでは、ログオン・ユーザーの権限とは無関係に、ローカル・システム特権で攻撃用プログラムが実行される可能性がある。より危険性の高いセキュリティ・ホールだといってよいだろう。
また任意のプログラム実行以外にも、今回のセキュリティ・ホールを攻撃することで、メッセンジャ・サービスを異常終了させることも可能だ。
メッセンジャ・サービスのメッセージは、NetBIOSまたはRPC(Remote Procedure Call)を介して配信される。このためNetBIOS
over TCP/IPで利用されるポート(ポート137〜139番)、およびUDPブロードキャスト・パケットをファイアウォールなどでブロックしている場合には、今回のセキュリティ・ホールを攻撃するためのメッセージをブロックすることができる。通常、これらのポートはインターネット向けにはオープンされていないので、その場合には外部からの攻撃は受けない。しかしBlasterワーム同様、このセキュリティ・ホールを攻撃するワームに感染したコンピュータが社内に持ち込まれるなどすると、イントラネット内部で攻撃が実行される可能性がある。
対象プラットフォーム
今回報告されたセキュリティ・ホールの影響を受ける環境は以下のとおり。マイクロソフトから公開された修正プログラムを適用するには、以下の「対象プラットフォーム」に示したService
Packの適用が必要である。
| 影響を受けるソフトウェア |
対象プラットフォーム |
| Windows NT Workstation 4.0 |
Windows NT Workstation 4.0 SP6a |
| Windows NT Server 4.0 |
Windows NT Server 4.0 SP6a |
| Windows NT Server 4.0, Terminal Server Edition |
Windows NT Server 4.0, Terminal Server Edition
SP6 |
| Windows 2000 |
Windows 2000 SP2/SP3/SP4 |
| Windows XP |
Windows XP SP未適用/SP1/SP1a |
| Windows Server 2003 |
Windows Server 2003 |
 |
| 影響を受けるソフトウェアと対象プラットフォーム |
修正プログラムの注意点
修正プログラムを検証した結果、Windows XP SP未適用/SP1/SP1a向けの修正プログラムにおいて、MS03-043で更新される「wkssvc.dll」がDLLキャッシュ(%SystemRoot%\system32\dllcache)にコピーされないことが判明した。DLLキャッシュは、保護対象のシステム・ファイルのバックアップを保存しておき、不正にシステム・ファイルが書き換えられたときなどに、自動的にDLLキャッシュ内の該当ファイルで復旧するという「Windowsファイル保護」と呼ばれる機能を実現するためのしくみである。MS03-043の修正プログラムは、たとえDLLキャッシュにMS03-043より古いwkssvc.dllが存在していても、それを新しいMS03-043のwkssvc.dllで上書きせずに残してしまう。
このためMS03-043の修正プログラム適用後に、何らかの障害によりwkssvc.dllが破壊された場合には、古いバージョンのwkssvc.dll(セキュリティ・ホールのあるもの)がDLLキャッシュから復旧されてしまうので注意が必要である。
一時的な回避策
何らかの理由から、修正プログラムをすぐに適用できない場合には、以下に示す方法で問題を一時的に回避できる。ただしこれはあくまで回避策であり、セキュリティ・ホールを根本的に解消するものではない。
具体的には、コントロール・パネルの[管理ツール]にある[サービス]を起動して、メッセンジャ・サービスを無効化する。メッセンジャ・サービスの名称は「Messenger」である。
ただしメッセンジャ・サービスを無効化すると、当然ながら印刷終了やUPSなどから送られるメッセージも表示されなくなる。
|