山下眞一郎/富士通南九州システムエンジニアリング 第一ソリューション事業部 ネットソリューション部 担当部長

 ある企業のシステム管理者から『1月14日に公開されたマイクロソフトのセキュリティ・リリースは,ネットワークに接続しているだけでパソコンを乗っ取られる可能性があるという非常に危険なセキュリティ・ホールに関するものらしい。脅威を分析してアドバイスしてほしい』と相談を受けました。

 2009年の第1弾の“パッチ・チューズデイ”(米国Microsoftがセキュリティ修正パッチをリリースする第2火曜日)の対象は1件でした。その1件である「MS09-001 - 緊急 SMB の脆弱性により,リモートでコードが実行される(958687)」は,筆者が以前から『超特大』のセキュリティ・ホールと呼んで警告していた非常に危険なレベルのセキュリティ・ホールです。

[関連記事]

 『超特大』のセキュリティ・ホールとは,「デフォルト状態の広範囲のWindowsが影響を受ける」かつ「ネットワークに接続しているだけでパソコンを乗っ取られる可能性がある」という,通常のセキュリティ・ホールとは別格の危険なものを指して区別していたものです。あえて超特大と強調しているは,マイクロソフトのセキュリティに対する“深刻度の評価システム”でも「緊急」,「重要」,「警告」,「注意」という4種類にレベル分けはされているものの,「緊急」が連発されている状況で,何が本当に深刻なセキュリティ・ホールであるかが伝わらないという危機感があったためです。

 ちなみに,2008年にはマイクロソフトから計78件のセキュリティ情報が公開されましたが,それぞれの“最大深刻度”は「緊急」が45件(57.7%),「重要」が30件(38.5%),「警告」が3件(3.8%),「注意」が0件という状況でした。「緊急」が危険なセキュリティ・ホールであることは理解していますが,このように「緊急」が連発される状況では,本当に深刻なレベルのセキュリティ・ホールが埋もれてしまいます。マイクロソフトには,『超特大』のセキュリティ・ホールを容易に判別できるよう,アナウンスを工夫してほしいと思います。

実際には危険度は低い「MS09-001」

 さて,「MS09-001」のセキュリティ情報レポートの内容を確認するといろいろなことが見えてきます。

 まず,「MS09-001」を悪用する攻撃ツールやウイルスの登場のしやすさや,ゼロデイ攻撃(zero-day attack)の可能性を見てみましょう。「MS09-001」には以下の3種のセキュリティ・ホールが存在します。

「CVE-2008-4114:SMBの検証のサービス拒否の脆弱性」
「CVE-2008-4834:SMBのバッファー・オーバーフローの脆弱性により,リモートでコードが実行される」
「CVE-2008-4835:SMBの検証の脆弱性により,リモートでコードが実行される」

 マイクロソフトが評価する「Exploitability Index」(悪用可能性指標)では,3種とも「3 - 機能する見込みのない悪用コード」とされ,リモートでコードを実行することはできない,もしくはコードが機能する可能性は低いと判断されています。

 また,「CVE-2008-4834:SMBのバッファー・オーバーフローの脆弱性により,リモートでコードが実行される」と「CVE-2008-4835:SMBの検証の脆弱性により,リモートでコードが実行される」については,マイクロソフトのセキュリティ情報のレポートの「謝辞」に記載があります。この「謝辞」に記載されるということは,セキュリティ・ホールの発見者が,そのセキュリティ・ホールを一般に公表する前にマイクロソフトに連絡し,パッチを準備する猶予を与えたということです。そのため,事前に既知のセキュリティ・ホールとして攻撃の対象になっていなかった,つまりゼロデイ攻撃の対象ではなかったと考えられます。

 一方,「CVE-2008-4114:SMBの検証のサービス拒否の脆弱性」は,「謝辞」の項に記載がなく,レポートにも「この脆弱性は一般に知られていました。これは Common Vulnerability and ExposureのCVE-2008-4114にアサインされています」と記載され,既知のものであったことが明記されています。ただ,タイトルの通りサービス拒否,つまりリモートからコードを実行されることはないため,危険性は低いと判断できます。

 ちなみに,月例の“パッチ・チューズデイ”以外のスケジュールで2008年10月24日に緊急公開された至近の『超特大』のセキュリティ・ホールである「MS08-067 - 緊急 Serverサービスの脆弱性により,リモートでコードが実行される(958644)」は,どのような状況だったのでしょうか?

 「MS08-067」には,次のセキュリティ・ホールが存在します。

「CVE-2008-4250:Serverサービスの脆弱性」

 マイクロソフトが評価する「Exploitability Index」(悪用可能性指標)は,「1 - 安定した悪用コードの可能性」とされ,コメントでも「一貫した悪用コードがWindows XPおよびWindows Server 2003に影響を及ぼす,限定された標的型攻撃で確認されました」と記載されています。つまり,「MS08-067」を悪用する攻撃ツールやウイルスの作成は一番容易なレベルなわけです。

 さらに,「謝辞」の項が存在しません。「謝辞」の記載がないということは,パッチ公開前に既にセキュリティ・ホールの情報や攻略方法が公開されていた危険なもの,もしくはマイクロソフト自身が発見したものということになります。「MS08-067」の場合は,パッチ公開前に既に攻撃が観測されていました。このため“パッチ・チューズデイ”以外のスケジュールで緊急公開されたという経緯があります。

 実際,「MS08-067」を悪用する「Conficker」や「Downadup」と呼ばれるウイルスは,現在世界的な規模で感染が確認されており,継続的に注意が必要です。

[関連記事]

 私は相談を受けたシステム管理者の方に,「MS09-001」は「緊急」レベルの中でも別格の『超特大』のセキュリティ・ホールであること,同じ『超特大』レベルでありウイルス被害が世界的に広がっている「MS08-067」と比較すると悪用される可能性は低く,パッチ公開前に既知のセキュリティ・ホールとしてパソコンをリモートから乗っ取る攻撃の対象にもなっていないことを伝えました。とはいえ以前からこのコラムで書いているように,「公開されてから24時間以内に評価を完了し,48時間以内にパッチ適用を完了する」ことをお勧めしました。

[関連記事]

Windows Vista/Server 2008なら深刻度はもっと低い

 今回の「MS09-001」のセキュリティ情報で注目すべきなのは,ネットワークに接続しているだけでパソコンを乗っ取られる可能性があるという『超特大』のセキュリティ・ホールであるにもかかわらず,Windows VistaとWindows Server 2008の“最大深刻度”が「警告」レベルにとどまっていることです。これに対してWindows 2000/XP/Server 2003の“最大深刻度”は「緊急」です。

 Windows VistaとWindows Server 2008の“最大深刻度”が「警告」レベルにとどまった理由は,「CVE-2008-4834:SMB のバッファー オーバーフローの脆弱性により,リモートでコードが実行される」ではWindows VistaとWindows Server 2008は“対象外”であり,「CVE-2008-4835:SMB の検証の脆弱性により,リモートでコードが実行される」では,Windows VistaとWindows Server 2008が「既定でファイル共有が無効にされている」からだとされています(残りの「CVE-2008-4114:SMB の検証のサービス拒否の脆弱性」は,いずれのOSも「警告」レベル)。

 これは,Windows VistaとWindows Server 2008が,意図的に設定変更しない限りシステムの安全が保たれるようにデフォルト状態を安全な状態に設計するという「デフォルト・セキュア」(Secure By Default)に重きを置いた設計思想を採ったからだと思われます。

 デフォルト状態で危険なサービスが無効になっていること以外にも,管理者であっても管理者権限をそのままでは使用できないようにする「UAC」(User Access Control)や,メモリー上に展開するコンポーネントの位置を起動ごとにランダムに変更する「ASLR」(Address Space Layout Randomization)とプログラムがメモリー内のコードを誤った方法で実行することを防止する「データ実行防止」(DEP)の組み合わせによって,リモートからの悪用コード実行が困難になっていると言われています(DEPはWindows XP SP2も採用済み)。

[関連情報]

 ちなみに,前述した至近の『超特大』のセキュリティ・ホールである「MS08-067」も,Windows 2000/XP/Server 2003の“最大深刻度”が「緊急」なのに対し,Windows VistaとWindows Server 2008の“最大深刻度”は「重要」レベルにとどまっています。

 「重要」レベルにとどまった理由は,「Windows VistaおよびWindows Server 2008で,影響を受けるコードパスは認証されたユーザーにのみアクセス可能です。攻撃者が認証されていない場合,この脆弱性が攻撃されることはないと考えられます」と記載されています。はやり,Windows VistaとWindows Server 2008の「デフォルト・セキュア」(Secure By Default)の設計思想が有効に機能している表れだと思います。

 Windows Vistaの一般的な評判が悪く,特に企業での採用が進まないのは,従来のOSよりも多くのハード資源(CPUやメモリーなど)を要求されることや,既存ソフトウエアや周辺機器の互換性問題,OSの安定性への不安,Vistaを使用したいと思わせる魅力のある機能不足にあると言われています。もちろん,UACのプロンプトの出力がうっとうしいということもあります。ただ,実は企業にとって本当に困るのは,「Vistaで字形変更された文字」と「Vistaで新規追加された文字」の存在です。特に,「Vistaで新規追加された文字」から派生している“4バイト文字問題”(日本語の1文字を4バイトで表現する文字が混在する)対応はやっかいです。

[関連記事]

 それでも筆者自身は,こうした固有の問題を解消/回避できる,もしくは問題にならないのであれば,セキュリティ上の観点から,企業におけるクライアントOSとしてWindows Vistaを採用することを勧め始めています。

 現在,企業向けクライアントOSとしては,日本語版を含めベータ・バージョンがリリースされた「Windows 7」に注目が集まっています。Windows Vistaはスキップされる不運なクライアントOSという評価になりがちです。しかし,ベータ・バージョンとしては出来が良いという評価の「Windows 7」も,セキュリティ的に安心して使えるのはSP1登場以降だと思われます。

 一方のWindows Vistaは,特に互換性とパフォーマンスの向上を狙って2008年3月に「Windows Vista SP1」がリリースされました。Windows Server 2008 は,Windows Vistaと同じ“Longhornプロジェクト”で開発され「Windows Vista SP1」と同時期にリリースされたことから,「Windows Vista SP1」相当の修正が加えられた状態で出荷されていると言われています。

[関連記事]

 ネットワークに接続しているだけでパソコンを乗っ取られる可能性があるという『超特大』のセキュリティ・ホールは,今後も残念ながらなくなるとは思えません。こうした非常に危険な『超特大』のセキュリティ・ホールを悪用した攻撃の直撃を回避できる可能性が高いWindows Vista,そしてWindows Server 2008は,セキュリティの観点から評価に値すると考えています。

著者について
以前,ITproで「今週のSecurity Check [Windows編]」を執筆していただいた山下眞一郎氏に,情報漏えい対策に関する話題や動向を分かりやすく解説していただきます。(編集部より)