マイクロソフトが7月17日に公開したWindowsのセキュリティ・ホール(関連記事)はとても危険だ。ほとんどすべてのWindowsがデフォルトで影響を受ける。サーバーやクライアントの区別なく,すべてのWindowsマシンにパッチを適用する必要がある。外部からの攻撃を防ぐため,ファイアウオールなどで不要なポートをふさぐことも不可欠だ。このセキュリティ・ホールを悪用するワームが出現すれば,インターネット全体が大きな被害を受ける恐れがある。その危険性を認識して,対策に臨む必要がある。

Cisco IOSのホールよりも危険

 このコラムは今回で第100回となるので,いつもとは趣向が異なる“100回記念”をお送りする予定だった。ところが,「SQL Slammer」や「Nimda」と同程度,あるいはそれ以上の被害をもたらすワームが出現する恐れがある,“超特大”のセキュリティ・ホールが公開された。そこで今回は予定を変更して,通常のスタイルで,そのセキュリティ・ホールを中心に解説する。

 「ワームが出現する恐れがあるホール」というと,米国時間7月17日に公開された「Cisco IOS」のセキュリティ・ホールを思い浮かべる方は少なくないだろう。細工が施されたパケットを送信されると,DoS(サービス妨害)攻撃を受ける可能性があるセキュリティ・ホールだ(関連記事)。

 米Cisco Systems米CERT/CC情報処理振興事業協会セキュリティセンター(IPA/ISEC)などが警告を出している。さらに,このセキュリティ・ホールを悪用可能なコード(Exploit)が出現している。それを受けて,CERT/CCなどは新たな警告を出している関連記事)。

 シェアが大きいCisco製ネットワーク機器――主にルーター――が対象になるので,危険なセキュリティ・ホールであることは間違いない。「インターネットの安定稼働を揺るがしかねない深刻なセキュリティ・ホール」として,さまざまなセキュリティ組織が警告している通りだ。しかし,こういった警告が功を奏して,Cisco IOSのセキュリティ・ホールは騒がれているほど大きな問題には発展しないと筆者は考える。

 筆者が懸念しているのは,Cisco IOSのセキュリティ・ホールではない。ほぼ同時期にマイクロソフトから公開されたWindowsのセキュリティ・ホールである。最大深刻度は最悪の「緊急」に設定されているが,「緊急」は“乱発”気味なので,「またか」と思って特に注意を払わなかったユーザーは多いだろう。マイクロソフトも特に警告を出していない。

 しかし,このセキュリティ・ホールはとても危険である。Cisco IOSのセキュリティ・ホールよりも危険だと筆者は考えている。このセキュリティ・ホールを悪用するワームが出現すれば,SQL SlammerやNimda以上の被害をもたらし,インターネット全体に多大な影響を及ぼす恐れがある。まさに“超特大”のセキュリティ・ホールなのだ。以下,詳細を解説する。

Windowsのほとんどが影響を受ける

 今回公開された“超特大”ホールは,

RPC インタフェースのバッファ オーバーランによりコードが実行される (823980) (MS03-026)

である。まず,概要を説明する。

 Windows NT/2000/XP/Server 2003 には,TCP/IP でメッセージの送受信を処理する RPC(リモート・プロシージャ・コール)の実装の特定個所にセキュリティ・ホールが存在する。このため,そのRPC を使用する DCOM(Distributed Component Object Model)インターフェイスに影響が発生する。具体的には,攻撃者から特別な形式のリクエストを特定の RPC ポートに送信されると,バッファ・オーバーランが発生して,任意のコードを実行される可能性がある(関連記事)。

 システムを乗っ取られる可能性がある,最大深刻度が「緊急」のセキュリティ・ホールなので,至急パッチを適用する必要がある。

 影響を受けるのは,Windows NT Server 4.0/NT Server 4.0 TSE(Terminal Server Edition)/2000/XP/Server 2003である。Windows Millennium Edition(Me)は影響を受けない。  なお,マイクロソフトのセキュリティ情報には記載されていないが,Windows NT Workstation 4.0は6月30日でサポートが終了しているので,テストされておらず,影響を受けるかどうか分からないという。また,セキュリティ情報では言及していないものの,Windows 98は影響を受けないという。Windows 98の場合,セキュリティ・パッチは2004年1月16日まで無償で提供されるが,問い合わせたユーザーだけが対象となる

デフォルトで影響を受ける

 このセキュリティ・ホールが,他の「緊急」のセキュリティ・ホールよりも危険な理由は,第一に影響範囲の大きさである。前述のように,現在マイクロソフトがサポート対象としているWindowsのほとんどが影響を受ける。さらに,今回セキュリティ・ホールが見つかったRPCは,すべてのWindowsでデフォルトで稼働している機能である。つまり,特別なソフトウエアや機能を組み込んでいなくても影響を受ける。また,そのWindowsマシンがサーバーであろうとクライアントであろうと,その利用形態に関係なく影響を受ける。

 加えて,セキュリティ・ホールを悪用するのに,攻撃対象マシンのユーザーのアクションを必要としない。「緊急」のセキュリティ・ホールの中には,ユーザーにWebページやHTMLメールを閲覧させる必要があるものが少なくない。WebページやHTMLメール中に攻撃用のコードを仕込み,それらをユーザーに閲覧させて,そのコードをユーザーのマシン上で実行させるのである。

 ところが,今回のセキュリティ・ホールについては,特定のパケットを送信するだけで悪用できる。つまり,ネットワーク接続しているだけで攻撃を受ける可能性がある。ユーザーをWebページに誘導したり,HTMLメールを送りつけたりする必要はない。ユーザーとしては「“怪しい”サイトへは行かない」や「HTMLメールを表示させない」といった対策が通用しない。ユーザー(守る側)からすれば,とても厄介なセキュリティ・ホールなのだ。

ポートをふさいで攻撃を防ぐ

 今回のセキュリティ・ホールを悪用する攻撃は,ユーザーの心構えでは防げない。具体的な回避策は,「よく寄せられる質問 : マイクロソフトセキュリティ情報(MS03-026)」に記載されている通り,

(1)「ファイアウオールで RPC インターフェイスポートをブロックする」
(2)「Windows XP および Windows Server 2003に標準搭載されている『インターネット接続ファイアウォール』を使用する」
(3)「影響を受けるすべてのコンピュータで DCOM を無効に設定する」

――の3点である。

 特に注目すべき(1)では,ブロックすべきポートとして「TCP/UDP 135 ポート,TCP/UDP 139 ポート,TCP/UDP 445 ポート,その他 RPC 用に設定されたポート」を挙げている。

 当初(7月17日)マイクロソフトの情報では,「攻撃者はTCPポート135番を使用する」としていた。このため,「TCPポート135番さえふさげば大丈夫」との印象を与えていたが,その後,情報が追加された。7月19日,「TCP/UDP 135 ポート,TCP/UDP 139 ポート,TCP/UDP 445 ポート,その他 RPC 用に設定されたポート」をふさぐ必要があることが追記された。注意しよう。

 RPCに関するセキュリティ・ホールは今回が初めてではない。例えば最近では「RPC エンドポイント マッパーの問題により,サービス拒否の攻撃が実行される (331953) (MS03-010)」が公開されている。特にこのセキュリティ・ホールについては,Windows NT 4.0 の修正パッチは提供されていないため,ポートをふさいで回避することしかできなかった(関連記事)。

 今回のセキュリティ・ホールを回避するためだけではなく,ファイアウオールやエッジ(境界)ルーターにおいて,不要なポート(特に,危険なポート)を遮断することはセキュリティのセオリーである。

 Windows OSにおいて遮断すべき“危険な”ポートとしてよく挙げられるのは,Windows固有のNetBIOS名の名前解決やNETコマンドなどに使用される「UDP 137」「UDP 138」「TCP 139」,およびWindows 2000以降のWindows同士の通信に使用される,ポート番号445 である。しかし今回のように,RPCが使用する「ロケーション・サービス(TCP/UDPのポート番号135)」が狙われることも多い。

 最低限,TCP/UDPのポート番号 23,135,137,138,139,445 ――は遮断しておく必要がある。これは過去の記事「Windowsのクラッキング対策“総まとめ”」でも指摘した通りだ。

 これらについては,外部からLAN内へのトラフィックを遮断するだけではなく,LAN内から外部へのトラフィックも遮断したほうがよい。被害者はもちろん,加害者にもならないためだ。管理者は再度確認しよう。

 Windows XP および Windows Server 2003マシンにおいては,(2)「Windows XP および Windows Server 2003に標準搭載されている『インターネット接続ファイアウォール』を使用する」も有効である。特にクライアント・マシンではぜひ使用したい。

 「インターネット接続ファイアウォール」を有効にすれば,デフォルトでインターネットからの RPC トラフィックを遮断する。コントロールパネルの「ネットワーク接続」の詳細設定にある「インターネット接続ファイアウォール」機能をチェックすれば有効になる。RPCを使った攻撃に限らず一般的な攻撃にも有効なので,ぜひこの機能を活用しよう。

ワームは必ず作られる

 とても危険な今回のセキュリティ・ホール。Cisco IOSと同じように,攻撃用コードやワーム(攻撃用コードを自動化したものがワームになる)は既に公開されているのだろうか。

 まず,マイクロソフトが公開するセキュリティ情報の「謝辞」によれば,発見者である「The LSD Research Group(The Last Stage of Delirium Research Group)」から,マイクロソフトへの事前報告や協力があったことが分かる。このことから,セキュリティ情報の公開前に,このセキュリティ・ホールが悪用されている可能性は小さいと考えられる。

 攻撃用コードについてはどうだろうか。The LSD Research Groupが公開したレポートによれば,同グループはWindows 2000/XP/Server 2003用の「Proof of Concept Codes(セキュリティ・ホールの存在を実証するコード)」の開発に成功したという。

 とはいえ,同グループでは「このセキュリティ・ホールはあまりにも影響が大きいので,実証用のコードや技術的な詳細を公表しない(Due to the enormous impact of this vulnerability, members of the LSD Research Group have decided not to publish codes or any technical details with regard to this vulnerability at the moment.)」としている。これを読む限りでは,実証用のコードや,それに基づく攻撃用コードがすぐに公開されることはなさそうだ。

 しかし安心はできない。というのも,上の文に続いて,「ただし,ユーザーが修正パッチを適用して,セキュリティ・ホールの影響が小さくなったら(when its impact will be reduced through propagation of appropriate fixes),セキュリティ・コミュニティに実証用のコードや技術的な詳細を公表する計画がある」と明言しているからだ。

 同グループが「セキュリティ・ホールの影響が小さくなった」と判断すれば,コードや技術的な詳細は公表されるのだ。そう遠くない将来,これらは確実に公表されると考えて,対象マシンすべてにパッチを適用すべきだ。

 コードや詳細が公開されれば,すぐに攻撃用コード(およびワーム)が作成されて公開されるだろう。“デフォルト・セキュア”とされるWindows Server 2003をはじめ,ほとんどのWindowsがデフォルトで影響を受ける今回のセキュリティ・ホールはクラッカにとって“魅力的”だ。

 また,技術的な詳細が公開されていない現状でも,攻撃用コードは作成可能である。実証用コードや詳細が公開されれば,攻撃用コードを作りやすくなるだけだ。現状でも作ることは不可能ではない。「攻撃用コードは必ず作れる(セキュリティ・ホールの中には,攻撃用コードを作れないものもある)」「TCP/IP でメッセージの送受信を処理するRPCの特定個所にセキュリティ・ホールが存在する」「Windows Meと98は影響を受けない」「Windows NT 4.0/NT Server 4.0 TSEは影響をうけやすい」――といった“ヒント”は既に公開されている。The LSD Research Group以外でも攻撃用コードは作成可能なのだ。

 2003年1月に出現して大きな被害をもたらした「SQL Slammer」ワームを思い出してほしい。同ワームが悪用するセキュリティ・ホールのパッチは2002年7月に公開されていた(関連記事)。既にふさがれているはずのセキュリティ・ホールが悪用されたのだ。それでもあれだけの猛威を振るった。しかも,SQL SlammerはデフォルトのWindowsには感染しない。SQL Server 2000あるいはMSDE 2000を稼働しているマシンだけに感染した。それなのに,あれほど大きな被害をもたらした。

 今回のセキュリティ・ホールを悪用するワームが出現したら,インターネット全体に多大な影響を及ぼすことは容易に予想できる。そのことを肝に銘じて,早急に対策を施す必要がある。前述のように,今回のセキュリティ・ホールはクライアント・マシンにも影響を及ぼす。ファイアウオールやルーターによる対策はもちろん,すべてのWindowsマシンでパッチ適用を徹底する必要がある。SQL SlammerやNimdaで明らかになったように,1台でもセキュリティ・ホールがあるマシンが存在すれば,そこからワームは入り込む(関連記事)。例外は許されない。すべてのマシンで対策を施さなければならない。

マイクロソフトは特に告知せず

 ところで,マイクロソフトは今回のセキュリティ・ホールの危険性をきちんと告知しているだろうか。

 「セキュリティ情報センターのご案内」では,特に告知していない。「マイクロソフト セキュリティ」「セキュリティ スクエア」も同様である。

 「TechNet セキュリティ センター」では,2003年3月18日に公開された「Windows コンポーネントの未チェックのバッファにより サーバーが侵害される (815021) (MS03-007)」を相変わらずアナウンスしている。しかも,Windows NT 4.0やWindows XPもこのセキュリティ・ホールの影響を受けることが明らかとなり,「MS03-007」のセキュリティ情報にはそのことが追記されているにもかかわらず,アナウンスはWindows 2000ユーザーだけを対象としている。

 今回の記事で解説したように,今回の「MS03-026」はとても危険なセキュリティ・ホールである。SQL SlammerやNimdaを“上回る”ワームが出現する可能性が高い。もし,同社でもこのセキュリティ・ホールをとても危険なものだと考えるのなら,ぜひ積極的にアナウンスしてもらいたい。

 なお余談にはなるが,今回の「MS03-026」は,Windows Server 2003が影響を受けるセキュリティ・ホールとしては3件目になる。1件目は「Internet Explorer 用の累積的な修正プログラム (818529) (MS03-020)」(実際には,Internet Explorer 6 for Windows Server 2003のセキュリティ・ホール),2件目は「HTML コンバータのバッファ オーバーランにより,コードが実行される (823559) (MS03-023)」である。

 1件目および2件目の深刻度は,他のWindowsでは最悪の「緊急」だったものの,Windows Server 2003では,4段階中下から2番目の「警告」だった。Windows Server 2003に限っては,デフォルト設定で攻撃を回避できるためだ。“デフォルト・セキュア”のうたい文句はだてではなかった。しかし,今回の「MS03-026」は Windows Server 2003もデフォルトで影響を受ける。Windows Server 2003で初めての「緊急」のセキュリティ・ホールなのだ。

攻撃用コードが存在するWindowsのホール

 それでは今回の記事の“後半”として,上記以外のWindows関連セキュリティ・トピックス(2003年7月20日時点分)を,各プロダクトごとに整理して解説する。

 各種OS関連では,「マイクロソフト セキュリティ情報一覧」にて,上記で紹介したセキュリティ・ホール以外に新規日本語情報およびパッチが4件公開された。

(1)HTML コンバータのバッファ オーバーランにより,コードが実行される (823559) (MS03-023)

 すべてのWindowsに含まれる「HTML 変換のサポート機能」にセキュリティ・ホールが見つかった。この機能が変換リクエストを処理する方法に不具合が存在するため,悪質なコードを実行させられる可能性がある。具体的には,細工が施されたWebページやHTMLメールをユーザーが閲覧すると,攻撃を受けることになる(関連記事)。

 システムを乗っ取られる可能性がある,最大深刻度が「緊急」の深刻なセキュリティ・ホールである。速やかにパッチを適用しよう。

 Windows Server 2003 の Internet Explorer(IE)はデフォルトで「セキュリティ強化の構成」で実行されるので,悪質なコードを勝手に実行してしまうことはない。このため,Windows Server 2003だけは深刻度が「警告」に設定されている。「セキュリティ強化の構成」については,「よく寄せられる質問(MS03-023)」に詳しい。

 このセキュリティ・ホールを悪用する攻撃用コードは既に公開されているの十分注意が必要である。これを裏付けるように,マイクロソフトのセキュリティ情報に「謝辞」の項はない。セキュリティ・ホールの発見者から,マイクロソフトに事前に情報が寄せられていないのだ。セキュリティ・ホールを悪用するWebページやHTMLメールが既に存在する可能性は高い。

 対策としては,パッチを適用することが望ましいが,パッチを適用するまでの回避策も「よく寄せられる質問(MS03-023)」に記載されている。いくつか記載されているが,IEユーザーには「アクティブ スクリプトを無効にする」ことが一番確実だろう。これは,このコラムの「IEを使い続けるための“お勧め”設定 2002年3月27日版」で勧めている設定の一つである。OutlookやOutlook Expressにおいては,HTMLメールをテキストとして表示する設定にすれば,電子メールを閲覧しただけで攻撃を受けることはない。

Windows XP SP1以外でも影響を受ける恐れあり

(2)Windows シェルの未チェックのバッファによりコンピュータが侵害される (821557) (MS03-027)

 Windows XPの「Windows シェル」にセキュリティ・ホールが見つかった。Windows シェルが既存のフォルダから「カスタム属性情報」を抽出する機能の 1つに未チェックのバッファが存在する。このため,攻撃者により悪質なコードを実行させられる恐れがある。

 最大深刻度 が「重要」の深刻なセキュリティ・ホールである。速やかにパッチを適用しよう。システムを乗っ取られる可能性もある。ただし,攻撃者がこのセキュリティ・ホールを悪用するには,細工を施したファイルを共有フォルダに置く必要がある。

 当初,Windows XP SP1 を適用しているシステムのみが影響を受けるとしていた。しかし 7月18日にセキュリティ情報が更新され,SP1を適用していないシステムでも影響を受ける可能性があることが追記された。ある特定の修正パッチを適用して,システム・ファイルの一つである「Shell32.dll」のバージョンが「6.0.2600.39」以降になっている場合には影響を受ける。その場合には,SP1を適用しているシステムと同じように,パッチを適用する必要がある。

ほかにも2種類の「重要」ホール

(3)ユーティリティ マネージャによる Windows メッセージ処理の問題により,権限が昇格する (822679) (MS03-025)

 Windows 2000の「ユーティリティ マネージャ」にセキュリティ・ホールが見つかった。ユーティリティ マネージャは,Windowsが備える「ユーザー補助プログラム (「Microsoft 拡大鏡」や「ナレータ」,「オンスクリーン キーボード」など) 」の状態をチェックし,それらを起動および停止できるようにするユーティリティである。ユーティリティ マネージャが Windows メッセージを処理する方法に不具合が存在するため,許可しているよりも高い権限を攻撃者に取得される可能性がある。

 最大深刻度が「重要」の深刻なセキュリティ・ホールなので,できるだけ速やかにパッチを適用する必要がある。なお,この問題に対する修正パッチは Windows 2000 SP4 に含まれている。

 ただし,リモートからはこのセキュリティ・ホールを悪用できない。攻撃対象マシンに対話的にログインできることが必要条件だ。信頼できるユーザーだけに対話的なログインを許可している場合には,影響は小さい。

(4)Windows のバッファ オーバーランによりデータが破損する (817606) (MS03-024)

 Windows NT Server 4.0/NT Server 4.0 TSE/2000/XP ProfessionalのSMB(サーバー メッセージ ブロック)の実装の一部にセキュリティ・ホールが見つかった。SMBパケットのパラメータをWindowsが検証する部分に不具合が存在するため,送り込まれた任意のコードを実行させられる可能性がある。SMBとは,Windows のファイル/プリンタ/シリアル・ポートを共有で使用したり,「名前付きパイプ」や「メール スロット」を使用してコンピュータ間で通信したりするための,インターネット標準プロトコルである。

 セキュリティ・ホールの最大深刻度は「重要」。任意のコードを実行させられた結果,システムを乗っ取られる恐れがある深刻なセキュリティ・ホールである。できるだけ速やかにパッチを適用する必要がある。

 ただし,SMB パケットを送信するには,対象マシンに認証されている必要がある。また,ファイアウオールやエッジ・ルーターでポート 139/445 を遮断していれば,インターネットから攻撃されることはない。

ISA Serverにはクロスサイト・スクリプティングのホール

 各種サーバー関連では,「マイクロソフト セキュリティ情報一覧」にて,新規日本語情報およびパッチが1件公開された。

ISA Server のエラー ページの問題により,クロスサイト スクリプティング攻撃が実行される (816456) (MS03-028)

 ISA (Microsoft Internet Security and Acceleration) Server 2000 が表示するエラー・ページの1つに,クロスサイト・スクリプティングのセキュリティ・ホールが見つかった。セキュリティ・ホールを悪用するWebページやHTMLメールを閲覧すると,攻撃を受ける恐れがある。

 セキュリティ・ホールの最大深刻度は「重要」。システムを乗っ取られる恐れがある深刻なセキュリティ・ホールなので,できるだけ速やかにパッチを適用する必要がある。

 なお,攻撃者はISA Server 2000を攻撃に“利用”できるだけである。直接ISA Server 2000を攻撃することはできない。



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

『Windows NT/2000/XP/Server 2003』
RPC インターフェイスのバッファ オーバーランによりコードが実行される (823980) (MS03-026)
 (2003年 7月19日:「問題を緩和する要素」と「回避策」にふさぐべきポートの情報が追加)
 (2003年 7月17日:日本語情報および日本語版パッチ公開,最大深刻度 : 緊急)

『すべてのWindows』
HTML コンバータのバッファ オーバーランにより,コードが実行される (823559) (MS03-023)
 (2003年 7月11日:「よく寄せられる質問」に「Outlook 電子メール セキュリティ アップデート」に関する情報が追加)
 (2003年 7月10日:日本語情報および日本語版パッチ公開,最大深刻度 : 緊急)

『Windows XP』
Windows シェルの未チェックのバッファによりコンピュータが侵害される (821557) (MS03-027)
 (2003年 7月18日:脆弱性識別番号修正および「よく寄せられる質問」に,SP1を適用していない Windows XP に関する情報が追加)
 (2003年 7月17日:日本語情報および日本語版パッチ公開,最大深刻度 : 重要)

『Windows 2000』
ユーティリティ マネージャによる Windows メッセージ処理の問題により,権限が昇格する (822679) (MS03-025)
 (2003年 7月10日:日本語情報および日本語版パッチ公開,最大深刻度 : 重要)

『Windows NT Server 4.0/NT Server 4.0, Terminal Server Edition/2000/XP Professional』
Windows のバッファ オーバーランによりデータが破損する (817606) (MS03-024)
 (2003年 7月10日:日本語情報および日本語版パッチ公開,最大深刻度 : 重要)

『ISA Server 2000』
ISA Server のエラー ページの問題により,クロスサイト スクリプティング攻撃が実行される (816456) (MS03-028)
 (2003年 7月18日:問題を緩和する要素が明確化)
 (2003年 7月17日:日本語情報および日本語版パッチ公開,最大深刻度 : 重要)


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


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