豊田 孝

 前回はWindows XPが標準でサポートするファイアウオール機能を有効にすることにより,私たちのシステム・セキュリティを高める方法を紹介いたしました。本日は,セキュリティ的に問題のあるサービス機能そのものを無効にする方法を紹介しましょう。

 一部の方はご存知だと思いますが,先日,Windows XPが標準でサポートするユニバーサル・プラグ・アンド・プレイ(以後UPnP)サービスに関するセキュリティ・ホールが発見されました。このUPnPサービスは後で説明しますが,技術的には“Windowsサービス”と呼ばれ,Windows XPから強力な権限を与えられているWindowsプロセスの一つです。

図1●Windows XPで実行中のプロセス情報とサービス情報の一覧
 それではここで,図1[拡大表示]のような具体的な画面を見ていただきましょう。これは,第9回で紹介した補助プログラムを実行した画面です。Windows XPで実行中のプロセス情報とサービス情報を一覧できます。この画面を見ると分かるように,論理ポート5000や1900などが使われています。実は,UPnPサービスはこれらのポートを通して,ネットワークに新しく追加された機器から送信されてくる情報を待っているのです。TCPやUDPなどの文字列も含まれていることから分かるように,UPnPサービスは既存のインターネット標準プロトコルを内部で使用しています。

 Windows XPはUPnPサービスを自動的に開始しますから,Windows XPインストール直後のシステム環境では,この図のように,ポート番号5000や1900が開かれているはずです。第9回で紹介した補助プログラム「No9ListProcessServices.exe」を実行すれば,皆さんのWindows XPマシンの状態を簡単に確認できます。後日ぜひ確認してみてください。

 これ以降では,本日用意した4種類の補助プログラム(こちらからダウンロードできます)を実行しながら,次の5項目を具体的に説明していきます。なお,本日紹介するすべての補助プログラムはWindows XP環境で動作確認してあります。

・UPnPサービスの正体
・修正コードの適応
・修正コード適応後のシステム状態の把握
・修正コードを構成するファイルの確認
・UPnPサービスの無効化手順

 それではまず,UPnPサービスの正体を確認しておきましょう。

図2●「No11CheckUPnP.exe」補助プログラムの初期画面
図3●番号1を選択した結果
図4●番号2を選択した結果

UPnPサービスの正体

 本日の第1補助プログラム「No11CheckUPnP.exe」(こちらからダウンロードできます)を実行すると,図2[拡大表示]のような初期画面が表示されます。この初期画面で番号1を選択し,OKボタンをクリックすると,図3[拡大表示]のような情報が返されます。同じように,番号2を選択すると,図4[拡大表示]のような情報が返されます。

 これら2つの画面の「5 Description」欄をじっくりと眺めると分かりますが,「ホームネットワーク」,「UPnPデバイスの検出」,そして「UPnPデバイスのホスト」という文字列が見えると思います。これらの文字列をそのまま組み合わせると,次のような文章ができます。

“UPnPサービスは,ホーム・ネットワーク環境を対象とするサービスであり,その環境内に,UPnPデバイスを発見するクライアント機能とUPnPデバイス情報を通知するホスト機能を同時に実現するためのサービスである”

 この文章を一読すると,「ホームネットワーク」と「インターネット」の関係や境界がはっきりしていないことが分かります。少なくとも,第1補助プログラムから取り出した内部情報には,「インターネット」という文字列すら存在しません。この事実を常識的に解釈すれば,次のような結論が得られるのではないかと思います。

“UPnPサービスは,ホームネットワーク環境を効率的に拡張する機能を提供しているが,その内部でTCP/IPやUDP/IPなどのインターネット標準プロトコルを採用しているため,インターネットに接続されていると,クラッカなどから送信される,好ましくないメッセージも受け取ってしまう”

 この文章は,「ホームネットワーク」と「インターネット」間の境界があいまいであることを指摘するとともに,セキュリティ面での不安を訴えています。Microsoftはこのような不安を軽減するために,ネットワーク・スコープ」概念に基づく対策を公開しています。この公開情報を読んでみると,「ネットワーク・スコープ」という概念を導入し,「ホームネットワーク」と「インターネット」間の境界を明確にしようとしています。公開ルーターのホップ数や論理ポート番号を使ったセキュリティ対策も取れるようになっています。興味のある方はぜひ一読されるとよいでしょう。

 それでは次に,インターネット側からの攻撃を防止する対策を考えてみましょう。一般的には,次のような複数の対策が考えられます。

・ファイアウオールをはじめとする各種セキュリティ・システムを導入する
・Microsoftが提供する修正コードを適応する
・UPnPサービス自体を無効にする

 ファイアウオールについては前回取り上げましたから,今回は,修正コードの適応とUPnPサービスの無効化対策を紹介します。

修正コードの適応と,その後のシステム状態の把握

図5●「WhatIsPatch.exe」補助プログラムの実行画面
 修正コードはここからダウンロードし,用意されているセットアップ・プログラムを実行するだけです。

 多くの人は,公開された修正コードをダウンロードし,自分のシステムにインストールしていると思いますが,実際にどのような情報がインストールされているのか確認する方法をご存知ですか。ここでは,修正コードインストール後の状態を確認することにします。修正コード適応後のシステム環境で本日の第2補助プログラム「WhatIsPatch.exe」(こちらからダウンロードできます)を実行すると,図5[拡大表示]のような情報が返されます。

 この画面の「説明」欄を見ると分かるように,修正コードは正式には「Windows XP Hotfix(SP1)」と呼ばれ,インストールした修正コードをアンインストールするプログラムまでも用意されていることが分かります。ところで皆さんは「説明」欄内の「Hotfix(SP1)」という部分をどのように解釈したらよいと思いますか?

 Microsoftの公開情報を読んでみると,この修正コードは,将来提供されると思われるWindows XPサービスパック1(SP1)に含まれると明記されています。この説明文を読んだ人の中には,次のような不安を持つ人もいるでしょう。

“修正コードを適応しているシステムに,将来公開されるWindows XP SP1をさらにインストールすると,自分のシステムは一体どのようになってしまうのだろう?”

 この不安を軽減するために,修正コード適応後にインストールされたファイル情報を確認しておくことが大切です。