Windows XPの新しいサービスパック「Windows XP Service Pack 2(SP2)」の内容が明らかになりつつある。3月8日に開催された「SECURITY SUMMIT 2004」ではデモが実施され,関連ドキュメントもいくつか公開されている(関連記事)。米国時間3月17日には,SP2の最初の製品候補版であるRC1(Release Candidate 1)がテスター向けにリリースされている。そこで今回および次回の記事では,Windows XP SP2の新セキュリティ機能を詳細に解説する。新機能のポイントは,(1)ネットワーク保護,(2)メモリー保護,(3)安全性の高い電子メールとブラウザ,(4)コンピュータの保守性――の4つ。今回は,Windows XP SP2の概要を紹介するとともに,(1)と(2)について解説する。なお,記事は3月21日時点の情報に基づいて執筆している。今後,内容が変更される可能性はあるので,注意していただきたい。

今までのサービスパックとは異なる XP SP2

 当初,Windows XP SP2は2003年秋にリリースされる予定だった。それが大幅に遅れている。米Microsoftによると,2004年上半期までにXP SP2(英語版)を正式リリースする予定であるという。Windows XP SP1のときには,Windows XP SP1 日本語版は英語版から10日遅れてのリリースだった。XP SP2においても,日本語版はそれほど遅れることなく――つまり,6月ごろまでには――リリースされると予想される(関連記事)。

 XP SP1が公開されたのは2002年9月だったので,SP1からSP2のリリースまでに2年近くかかっていることになる。これほど時間がかかっているのは,SP2が単なるバグ・フィックス版や機能追加版ではないためだ。つまり,今までのサービスパックとは異なる目的を持っているためだ。具体的には,セキュリティ機能の大幅強化である。

 このコラムでも何度か書いているように,2003年8月に出現した「Blaster」ワームが突いたような“超特大”セキュリティ・ホールがWindowsには次々と見つかっている。パソコンをネットワークに接続しているだけでシステムを乗っ取られる,とても危険なセキュリティ・ホールである。そのようなセキュリティ・ホールを突いた攻撃を受けるリスクを軽減することが,XP SP2の主な目的の一つなのである。

 Windows XP SP2は,結局は「SP2」という名称で落ち着いたものの,「Windows XP Second Edition」または「Special Edition(SE)」という名称のWindows XPの新しいリリースになるという噂があった(関連記事)。このことからも,今までのサービスパックとは異なるものであることがうかがえる

 もちろん,今までのサービスパック同様,Windows XPの出荷以降にリリースされた機能も統合的に提供される。例えば,Bluetoothの最新版である「Bluetooth 2.0」,セキュリティを考慮した公衆ワイヤレスLANスポット接続を実現する「Unified Wireless local Area Network(LAN) Client」,「『メンバ』以外からのファイル転送受付を拒否する」といった機能を追加した「Windows Messenger 4.7.3000」,「Windows Media 9シリーズ Player」,「DirectX 9.0b」――などが提供される。これらに加えて,新セキュリティ機能を提供されるのだ。

XP SP2の内容を伝える資料が複数公開

 では,具体的にどのような機能が提供されるのか。現時点(3月21日)では,「Microsoft Windows XP Service Pack 2 での機能の変更点」「Changes to Functionality in Service Pack 2 for Microsoft Windows XP」「Windows XP SP2 の機能紹介」といった資料が参考になる。

 「Microsoft Windows XP Service Pack 2 での機能の変更点」は,XP SP2ベータ版の内容を基に作成されたドキュメントの日本語訳である(ベータ版は2003年12月12日にリリースされている)。このドキュメントは2004年2月23日に公開された。

 このドキュメントのオリジナルが「Changes to Functionality in Service Pack 2 for Microsoft Windows XP」である。オリジナルは,2月20日に更新されているが,原稿執筆時点(3月21日),更新内容は上記の日本語版には反映されていない。

 更新内容――オリジナルにはあって,日本語版にはない内容――としては,XPに標準搭載されているパーソナル・ファイアウオール機能「ICF(Internet Connection Firewall)」の名称が「Windows Firewall」に変更されたこと,未掲載だったOutlook Express の変更点が追加されたこと,「Alerter」や「メッセンジャ サービス」などに新たな項目がいくつか追加されたこと――などが挙げられる。

 「Windows XP SP2 の機能紹介」は,ストリーミング形式のセミナーである。時間は40分。セミナーの内容は,1月1日時点の情報を基にしている。セミナーの視聴には,Internet Explorer(IE)とWindows Media Player 9 が必要だ。

 これらの内容に併せて,筆者が現時点でつかんでいる情報を基に,Windows XP SP2 の内容を網羅的に紹介していこう。重要なポイントについては,適宜解説を加える。なお,冒頭でも書いたように,いずれの情報も,今後変更される可能性があることには留意してほしい。

XP SP2の機能強化

 まず,Service Pack 2 の目的(The goal for Service Pack 2)は,Windows Server 2003 にも適用された,マイクロソフトの「信頼できるコンピューティング (Trustworthy Computing)」の成果をWindows XPにも適用することとされている。

 その実現のために,Windows XP SP2では,大きく4つの観点で機能強化されている。その4つとは,(1)ネットワーク保護,(2)メモリー保護,(3)安全性の高い電子メールとブラウザ,(4)コンピュータの保守性の向上――である。これらにより,たとえ最新のパッチを適用していない状態であっても,攻撃を受けるリスクを軽減できるという。それでは,順に見ていこう。

(1)ネットワーク保護

■ICFの機能を強化した「Windows Firewall」の実装

 まず,Windows XPに標準搭載されているICF(Internet Connection Firewall)の機能が強化され,「Windows Firewall」へと名称が変更される。ICF はデフォルトでは無効だが,Windows Firewallはデフォルトで有効になっている。Windows Firewallが有効になっていれば,外部からの強制的なアクセスは遮断されるので,たとえパッチを適用していない状態でもワームなどからの攻撃を防げる。

 Windows Firewallは,ユーザーが使用しないポートを自動的にふさぐ「ステートフル フィルタリング ファイアウォール」である。また,単なるポート単位ではなく,アプリケーション単位でネットワーク接続の可否を設定できる。具体的には,ユーザーがネットワークを利用するアプリケーションを起動すると,ネットワーク接続の可否をユーザーに問い合わせるダイアログ・ボックスが表示される。

 Windows Firewallでは,「起動時のセキュリティ(Boot time security)」という機能も追加される。現時点では,ネットワーク・サービスの起動とICFフィルタリングの保護機能の起動にはタイムラグが存在する。このため,たとえICF を有効にしていても,ICFの起動が完了するまでの間,Windows XPシステムは無防備になってしまう。すなわち,その間にワームに感染する可能性がある。それを防ぐのが,起動時のセキュリティである。

 起動時のセキュリティは「起動時ポリシー(Boot-time policy)」で実現される。これは,Windows Firewallが起動を完了するまでは変更できない静的ルールである。起動時ポリシーでは,DNS や DHCP,ドメイン参加といった許可されたネットワーク・サービス以外は通信を許可しない。つまり,ネットワーク・サービスを起動して(パソコンを起動して)Windows Firewallが起動を完了するまでの間は,起動時ポリシーにより外部からのアクセスは遮断される。そして,Windows Firewallの起動が完了した後は,起動時ポリシーは解除され,ユーザーが設定したポリシーで,Windows Firewallがパソコンを守る。

 さらに,Windows Firewallでは複数のポリシー(プロファイル)をサポートする。具体的には,企業ネットワークに接続している場合の「ドメイン プロファイル」と,インターネットに直接接続している場合の「モバイル プロファイル」の2種類を設定できる。この2種類を設定しておけば,「企業ネットワークに接続しているときにはある程度緩いポリシーを適用し,インターネットに直接接続しているときには厳しいポリシーを適用する」といった使い分けが可能になる。ただし,企業ネットワークに接続している場合でも,Windowsのドメインに参加しない場合には,ドメイン プロファイルは適用されない。

 また,Active Directoryのグループポリシーを利用すれば,Windows Firewallの設定を各ユーザーが勝手に変更できないようにできる。

■RPCインターフェイスの制限

 「Blaster」ワームなどが悪用した「RPC インターフェイスのバッファ オーバーランによりコードが実行される (823980) (MS03-026)」で明らかになったように,デフォルトで起動され,なおかつリモートから認証なし(匿名)でアクセスできるRPC(リモート・プロシージャ・コール)インターフェイスは危険な存在である。セキュリティ・ホールがあると悪用されて深刻な事態を招く。

 そこでWindows XP SP2では,RPC インターフェイスの安全性を高めるために仕様を変更する。例えば,新たなレジストリ・キーを追加し,リモートからRPC インターフェイスへの匿名アクセスをデフォルトで不許可にする。

■DCOM のセキュリティ強化

 DCOMのセキュリティも強化される。DCOM(Distributed Component Object Model;分散コンポーネント・オブジェクト・モデル)とは,ネットワーク分散型アプリケーションを構築するためのプログラミング・モデル。COM(Component Object Model;コンポーネント・オブジェクト・モデル)を拡張したものである。COMとは,プラットフォームに依存しない分散型のオブジェクト指向プログラミング・モデルであり,これをネットワーク経由で利用できるようにしたものがDCOMである。

 DCOMも悪用されると深刻な事態を招く。そこでWindows XP SP2では,DCOMの動作に「コンピュータ・レベルでの制限」と「きめ細かいアクセス制限」――の2点を追加する。これらにより,例えば,外部からのDCOMのアクティブ化や起動,呼び出しを無効にできる。

 その他の変更として,「Alerter」と「メッセンジャ サービス」のデフォルト設定も変更する。いずれもメッセージをやり取りするためにWindowsに実装されているサービスである。特にAlerterは,管理者から各ユーザーへ警告メッセージを送るために使われるサービスである。従来のデフォルト設定は,Alerterは手動で,メッセンジャ サービスは自動で起動されていた。XP SP2では,いずれもデフォルトでは“無効”に設定される。

 メッセンジャ サービスには,“超特大”のセキュリティ・ホールの一つ「メッセンジャ サービスのバッファ オーバーランにより,コードが実行される (828035) (MS03-043)」をはじめ,複数のセキュリティ・ホールが見つかっている。今後見つかるであろうメッセンジャ サービスのセキュリティ・ホールを突く攻撃を回避するには,メッセンジャ サービスを無効にしておくことが一番である。そのためのデフォルト設定変更だと考えられる。

(2)メモリー保護(Executoin Protection)

 Windows XP SP2では,メモリー保護機能も強化される。具体的には,バッファ・オーバーフローの危険性を低減するような機能――バッファ・オーバーラン(Buffer Overrun)攻撃の可能性を減らす機能――が追加される。

 これまで,このコラムで“超特大”のセキュリティ・ホールとして紹介してきたものは,すべてバッファ・オーバーフローのセキュリティ・ホールである。ネットワークに接続するだけで感染する「Blaster」のようなワームは,ほとんどすべてバッファ・オーバーフローのセキュリティ・ホールを突く。メモリー保護を強化して,バッファ・オーバーラン攻撃を許さないような機構を用意すれば,未知のバッファ・オーバーフローの危険性にも対抗できる。

 バッファ・オーバーラン攻撃を防ぐ機能――バッファ・オーバーフローを発生させて,危険なコードを実行させようとする攻撃を防ぐ機能――は「実行保護(NX:no execute)」と呼ばれる。ただし,XP SP2だけでは実行保護は実現できない。実行保護をサポートするプロセッサと組み合わせて利用する必要がある(関連記事)。現時点での対応プロセッサは,IntelおよびAMDの64bitプロセッサである。AMDの場合は,この実装技術を「Enhanced Virus Protection」と名付けている。プロセッサが対応していれば,実行保護はデフォルトで有効となる。

 実行保護は,ユーザー・モードとカーネル・モードの両方で機能し,ヒープや各種スタック,メモリー・プールなどのデータ・ページからのコード実行を防ぐ。例えば,実行保護が有効なシステムでBlasterワームを実行させれば,スタックからのデータ実行が許されないので,メモリー・アクセス違反とプロセスの強制終了が発生する。DoS(サービス妨害)攻撃を受けることにはなるが,Blasterが起動されることはないので,他のシステムへの感染を防げる。

 とはいえ,実行保護は万全のセキュリティ対策ではない。あくまでも,データ・ページからのコード実行を防ぐだけである。すべての攻撃を防ぐわけではない。マイクロソフト自身も「ウイルス,ワーム,および他の悪意あるコードすべてに対する包括的な防御では無い」と注意書きしている。

(「Windows XP SP2のセキュリティ機能を解説する(下)」に続く)



マイクロソフト セキュリティ情報一覧

『Outlook 2002 および Office XP』
Outlook の脆弱性により,コードが実行される (828040)(MS04-009)
 (2004年 3月12日:Microsoft Office ダウンロードの情報を削除)
 (2004年 3月11日:最大深刻度を「緊急」に変更,クライアント用修正プログラムを提供開始,最大深刻度 : 緊急)
 (2004年 3月10日:日本語情報および日本語版パッチ公開,最大深刻度 : 重要)

『MSN Messenger 6.0/6.1』
MSN Messenger の脆弱性により,情報が漏えいする (838512)(MS04-010)
 (2004年 3月10日:日本語情報および日本語版パッチ公開,最大深刻度 : 警告)

『Windows Media Services 4.1 (Microsoft Windows 2000 Server)』
Windows Media サービスの脆弱性により,サービス拒否が起こる (832359)(MS04-008)
 (2004年 3月10日:日本語情報および日本語版パッチ公開,最大深刻度 : 警告)

『Windows 2000』
Windows Media サービスの ISAPI エクステンションの問題により,コードが実行される (822343)(MS03-022)
 (2004年 3月10日:修正プログラムの再リリースをアナウンス)
 (2003年 6月26日:日本語情報および日本語版パッチ公開,最大深刻度 : 重要)

Microsoft Security ホーム

はじめてのセキュリティ - セキュリティ対策編

Mydoom および Doomjuice ウイルスの感染の確認方法

TechNet Online セキュリティ

2004 年 2 月 セキュリティ 警告サービス 月刊サマリー


山下 眞一郎   Shinichiro Yamashita
株式会社 富士通南九州システムエンジニアリング
第一ソリューション事業部ネットソリューション部 プロジェクト課長
yamaアットマークbears.ad.jp


 「今週のSecurity Check [Windows編]」は,IT Proセキュリティ・サイトが提供する週刊コラムです。Windows関連のセキュリティに精通し,「Winセキュリティ虎の穴」を運営する山下眞一郎氏に,Windowsセキュリティのニュースや動向を分かりやすく解説していただきます。(IT Pro編集部)