Insider's Eye

Windows XP SP2のセキュリティ機能

デジタルアドバンテージ
2004/04/08


不正な攻撃からの防御能力を高めるWindowsファイアウォール

 これまで「インターネット接続の共有」とかICF(Internet Connection Firewall)と呼ばれていたソフトウェア・ファイアウォール機能は、XP SP2からは機能が強化され、「Windowsファイアウォール」と呼ばれるようになった。前述したとおり、このファイアウォール機能(パケット・フィルタ機能)がデフォルトで有効化される。強化された機能としては、より高機能なステートフル・パケット・フィルタリング(アプリケーションの動作に応じて動的にポートを開閉する機能)や、システム起動時のファイアウォール無効時間(TIPS―ファイアウォールの空白時間に注意)の回避などがある。マニュアルなどで細かく調整することは可能だが、特別な設定を行わない状態では、リモートからそのコンピュータへの共有フォルダ/プリンタへのアクセス、リモート・レジストリ接続、一般的ないくつかを除くTCP/IPポートへのアクセスが禁止される。従ってこれらを利用してクライアント・コンピュータにアクセスするようなソフトウェアは、XP SP2を適用すると動かなくなる可能性が高い。

Windowsファイアウォール機能
XP SP2のWindowsファイアウォールにより、リモートからの不正アクセスに対する防御能力が高まる。しかしその一方で、リモートからクライアント・コンピュータを管理するソフトウェアなどは、XP SP2の適用によって正しく機能しなくなる可能性もある。

 Windowsファイアウォールを有効化したままこうしたリモート管理ソフトウェアを利用するには、特定のプログラム(この場合は管理ソフト)を指定したり、フィルタ対象から除外するTCP/IPポートを指定したりする。これにはコントロール・パネルの[Windowsファイアウォール]が使える。

コントロール・パネルの[Windowsファイアウォール]−[全般]タブ
Windowsファイアウォールに関する各種設定確認、例外の指定などをここから行える。
  これを選択すると、外部からこのコンピュータへのアクセスがブロックされる。デフォルトでオンにされる。

 ファイアウォールによる保護の例外を指定するには、[例外]タブをクリックする。

[Windowsファイアウォール]−[例外]タブ
例外としてブロック対象から除外するプログラムやサービス、TCP/IPポートを設定できる。
  現在ブロック対象外となっているプログラム/サービス一覧。下のボタンから、プログラムを追加することができる。
  特定のプログラムを指定して、例外としてアクセス可能にする。
  特定のTCP/IPポートを指定して、例外としてアクセス可能にする。

 ここでの設定により、特定のプログラムからのリモート・アクセスを許可したり、特定のTCP/IPポートを経由したアクセスを許可したりできる。この画面から分かるように、デフォルトでは、ファイル共有すら禁止されるようになるので、SP2の導入でファイルがアクセスできないといったトラブルが多発するかもしれない。リモート管理ソフトウェアがどのようなサービスやポートを使っているかを調査するなど、XP SP2の展開には慎重な事前準備が必要になる。

 代表的なネットワーク・サービスを指定して例外を指定したり、WindowsファイアウォールのICMP(Internet Control Message Protocol)でのアクセスを詳細に設定したりするには、[詳細設定]タブをクリックする。

[Windowsファイアウォール]−[詳細設定]タブ
ネットワーク接続ごとにファイアウォールを有効/無効化したり、代表的なネットワーク・サービスを指定して例外指定したりできる。
  ネットワーク・サービスごとのアクセス許可を行うにはこれをクリックする。→
  ICMPによるアクセス許可を細かく設定するにはこれをクリックする。→

 FTPやPOP、SMTP、Telnetなど、インターネットの代表的なサービスを指定して、アクセスを許可する場合には[A]をクリックする。

サービスごとのアクセス設定
代表的なインターネット・サービスを指定してアクセス許可を指定できる。
  アクセスを許可するサービスのチェック・ボックスをオンにする。

 ネットワーク管理では、ICMPプロトコルを利用してクライアントの状態を監視するものが多い。デフォルトではこのためのICMPパケットもブロックされてしまう。上記ダイアログの[ICMP]タブをクリックすれば、ICMPプロトコルによるアクセス許可を細かく設定できる。

ICMPの設定
ネットワーク管理などで使われるICMPサービスに応答するかどうかを細かく設定できる。
  許可するアクセスのチェック・ボックスをオンにする。

 Windowsファイアウォールによって拒否されたアクセスについては、情報がログに記録される。デフォルトでは%SystemRoot%\pfirewall.logに結果がテキスト形式で記録される。

「セキュリティのログ」の例
Windowsファイアウォールによってドロップされたアクセスは、このようなログに記録される。

バッファ・オーバーフロー攻撃のチェック

 バッファ・オーバーフロー攻撃は、プログラムが想定しているバッファ以上のデータを書き込むことでスタックを破壊し、細工したアドレスにジャンプ(リターン)させるなどして、結果的に攻撃用プログラムを実行させるというものだ。攻撃者の任意のプログラム実行につながることから、緊急性の高いセキュリティ・ホールになることが多い。

 本来は、アプリケーションが不正なバッファの上書きを正しくチェックしていれば問題ないが、現実にはすべてが正しくチェックされているとは限らない。このためXP SP2では、Windows XPのリリース以降に変更された全コードが「/GS」コンパイラ・オプション付きで再コンパイルされた。/GSは、バッファ・オーバーランを検出し、リターン・アドレスが上書きされていないかどうかをチェックするコードを挿入するコンパイラ・オプションだ。/GSオプションにより、コンパイラはスタックのリターン・アドレスの前に小さな記憶領域を割り当て、関数の実行時にこの領域にセキュリティCookieを読み込む。そして関数の終了時にCookieの内容が変更されていた場合には、リターン・アドレスが上書きされた可能性があると判断し、エラーが報告されるようになる。/GSコンパイラ・オプションの詳細は以下のページを参照されたい。

 これにより、若干のオーバーヘッドが発生するものと思われるが、万一プログラムにバッファ・オーバーフローのセキュリティ・ホールがあったとしても、攻撃を阻止できる可能性が非常に高くなる(ただしその原理上、その検出は100%完全というわけではないので、すべてのバッファ・オーバーフロー攻撃が阻止できるわけではない)。

Internet Explorerのセキュリティ強化

 XP SP2を適用すると、Internet Explorerにいくつかのセキュリティ関連機能が追加される。ユーザーから見て最も目立つのは、「ポップアップ・ブロック」機能だろう。

 Webサイトの中には、Webページをアクセスすると、次々と新しいウィンドウを開いて広告を表示するものなどがある。IEのポップアップ・ブロック機能は、このような不要なウィンドウのポップアップ表示を禁止するものだ。具体的には、JavaScript(JScript)のwindow.open( )やshowHelp( )メソッドを利用したウィンドウ生成をブロックする。これにより、ウィンドウを無制限にポップアップ表示してユーザーを混乱させるサイトなどの影響を排除できる(従来環境でこうしたサイトに対処する方法はTIPS「Webページの仕事妨害攻撃に対処する方法」を参照)。

IEのポップアップ・ブロック
不要なウィンドウのポップアップ表示を禁止する。デフォルトではこの機能がオンになっている。
  XP SP2で追加されtらポップアップ・ブロック機能のメニュー。
  ポップアップ・ブロック機能をオフにする。
  ポップアップ・ブロック機能の各種設定を行う。

 ポップアップがブロックされると、IEの表示は次のようになる(デフォルト時)。

ポップアップがブロックされたところ
ポップアップがブロックされると、表示領域の最上段にブロックしたことを知らせる情報バーが表示される。ここを右クリックすることで、ポップアップ・ブロック機能の設定を行える。
  ポップアップがブロックされたことを知らせる情報バー。この部分を右クリックするとメニューが表示される。
  このサイトをポップアップ許可サイトに登録する。
  ポップアップ・ブロック機能をオフにする。
  [ポップアップ ブロックの設定]ダイアログを表示する。

 必要なら、特定のWebサイトのポップアップ表示だけ許可するなどができる。なお、イントラネット・ゾーンについては、デフォルトでポップアップはブロックしない設定になっているため、イントラネット・ゾーンにあるWebアプリケーション・ベースの業務アプリケーションなどは影響を受けない。

[ポップアップ ブロックの設定]ダイアログ
特定ドメインへのアクセスでブロックを実行したくなければ、「許可されたサイト」に登録する。
  ブロックの対象外となっているドメイン。任意のドメインを追加することが可能。
  ユーザーがリンクをクリックした時点で開かれるポップアップについてもブロックする。デフォルトではオフなので、ユーザーが明示的にクリックした場合はブロックされない。
  ブロックしたことを通知するバー(前出の画面参照)を表示する。

 Webをアクセスしていると、Webページに組み込まれた動画を表示したり、リッチなユーザー・インターフェイスを実現したりするために、ActiveXコントロールなどのアドオンのインストールが促される場合がある。通常はユーザーに対してダイアログが表示され、インストールの確認がなされるが、いったんインストールしてしまうと、現在どのようなアドオンがインストールされているのか分かりにくかった。

 これに対しXP SP2では、[アドオンの管理]というダイアログが追加され、ここで現在インストールされているアドオンの一覧を確認できるようになった。

[アドオンの管理]ダイアログ
現在IEに追加されているアドオンを一覧にし、必要なら特定のアドオンに無効にすることができる。
  現在追加されているアドオン一覧。

SP2でXPは安心できるデスクトップOSになるか?

 セキュリティに「これで万全」という状態はない。しかし今回のXP SP2の適用により、Windowsの安全性は向上するだろう。特に、常時接続を手に入れたホーム・ユーザーで、自身でブロードバンド・ルータなどを設定できない場合は、Windowsファイアウォール機能や自動更新機能における、より強制力の大きいデフォルト設定の変更により、最悪の状態(セキュリティ・ホールが放置され、自由にアタック可能な状態)は回避できるようになる。NimdaやBlasterなどのワームでは、インターネット上にあるこのような管理されないコンピュータが感染パケットを撒き散らして被害を広げた。ここでは典型としてホーム・ユーザーと述べたが、インターネット接続部分のファイアウォールが正しく設置されていなかったり、ホットフィックスの適用をユーザーまかせにしたりしている場合は、企業であっても同様にXP SP2の恩恵に浴することができる。

 しかしその一方で、特にデフォルトで有効化されるWindowsファイアウォール機能により、クライアント・リモート管理系のソフトウェアが障害を起こす可能性が高い。このような管理ツールを利用している場合には、XP SP2を組織的にクライアントに展開する前に、十分なテストを実施し、必要な例外設定の内容と、設定内容のクライアントへの展開計画を練る必要があるだろう。End of Article

関連記事
  Insider's Eye セキュリティ機能を強化するWindows XP Service Pack 2(Windows Server Insider)
  TIPS―イントラネットでファイアウォールを使う(Windows XP編)(Windows Server Insider)
  TIPS―ファイアウォールの空白時間に注意(Windows Server Insider)
   
  関連リンク
  Microsoft Windows XP Service Pack 2 での機能の変更点(マイクロソフト)
     
 

 INDEX
  Insider's Eye
    Windows XP SP2のセキュリティ機能(1)
  Windows XP SP2のセキュリティ機能(2)
 
 「Insider's Eye」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間