マイクロソフトは14日、月例のセキュリティ更新プログラム(修正パッチ)をリリースし、セキュリティ情報を公開した。
今回公開されたセキュリティ情報は「MS09-001」1件のみだが、最大深刻度は最も深刻な“緊急”のもの。内容としては、Windowsでのネットワークファイル共有やプリンタ共有を実装するための「SMB」プロトコルに存在する、3つの脆弱性を修正している。
3つの脆弱性のうち、「SMBの検証のサービス拒否の脆弱性(CVE-2008-4114)」については、2008年9月頃に「Microsoft Windows WRITE_ANDX SMB command handling Kernel DoS」としてインターネット上に公開され、既にWindows Vista用の実証コードも公開されている。ファイル共有やプリンタ共有を利用しているPCについては、できるだけ早急にパッチを当てることをお勧めしたい。
では、公開されたセキュリティ情報「MS09-001」で解決された3つの脆弱性について、もう少し詳しく見ていこう。
● MS09-001:SMBの脆弱性により、リモートでコードが実行される(958687)
・SMBの検証のサービス拒否の脆弱性 - CVE-2008-4114
前述の通り、「Microsoft Windows WRITE_ANDX SMB command handling Kernel DoS」というタイトルで公開されていた脆弱性だ。Windows内に含まれる「srv.sys」の実装に問題があり、SMBパケットとして不正な「WRITE_ANDX」データを送りつけることで、リモートから標的PCを停止させるサービス拒否(DoS)攻撃が可能であるという内容だ。マイクロソフトからは、深刻度としては4段階で上から3番目の“警告”にレーティングされている。
この脆弱性は2008年9月には、該当部分を解析した逆アセンブルリストを使った脆弱性の詳細の解説と、Windows Vista用の実証コードがインターネット上に公開され、一般に存在が知られていた。解説自体はWindows Vistaのコードを使って行われ、また実証コードもWindows Vista用とされているが、解説でも「このコードはWindows NTに由来する全OSに存在している」とされている。
実際に、マイクロソフトのセキュリティ更新でも、影響を受ける環境はWindows Vista/XP/2000およびWindows Server 2008/2003、それぞれ64ビット版やItanium版も含むというように、非常に広い範囲が対象となっている。
公開された実証コードは、オープンソースのセキュリティ検証用ツール「Metasploit Framework」用のスクリプトで、このツールさえあれば誰でもこの脆弱性を使った攻撃が可能となってしまっている。この「Metasploit」は、システムの脆弱性を発見・検証するためのセキュリティフレームワークとして公開されているツールなのだが、過去にはWindowsの脆弱性を突くゼロデイ攻撃にも悪用されたことがある。
また、マイクロソフトでは次期バージョンのOS「Windows 7」のベータ版を一般にも公開している。米Microsoftのセキュリティブログによれば、Windows 7のベータ版もWindows Vistaや Windows Server 2008と同様の脆弱性を持っているという。
ただし、Windows 7などベータ版リリースのOSに関しては、修正パッチは“緊急”のものだけが、Windows Update経由で提供される。今回の件も含めて、“重要”“警告”“注意”レベルの修正パッチは、次のベータ版あるいは製品版にのみ含まれることになる。ベータ版リリースのOSは、基本的にテスト目的以外に利用されるものではないので、こうした点は理解しておくべきだろう。
・SMBのバッファーオーバーフローの脆弱性により、リモートでコードが実行される - CVE-2008-4834
・SMBの検証の脆弱性により、リモートでコードが実行される - CVE-2008-4835
残り2つの脆弱性は、どちらも標的となるSMBサーバーに不正な値のSMBパケットを送信することで、(論理上は)認証なしにコード実行を行う、あるいはサービスを停止させることができるものだ。2つともこれまで一般には未公開の脆弱性情報で、脆弱性の技術的な情報はマイクロソフトからも、情報提供元のZero Day Initiativeからもほとんど公開されていない。
CVE-2008-4834は、Windows XP/2000およびWindows Server 2003では深刻度が“緊急”、Windows VistaおよびWindows Server 2008では深刻度が“警告”とされている。SMBの「Trans Request」において、ある不正な値を送信することで、権限がなくてもカーネルパニックを引き起こし、システムの再起動をかけさせることが可能となる。論理的にはリモートから任意のコードの実行の可能性もあるものだ。
CVE-2008-4835は、Windows XP/2000およびWindows Server 2003では深刻度が“緊急”、Windows VistaおよびWindows Server 2008は対象外となっている。こちらも同様に、SMBの「Trans2 Request」において、ある不正な値を送信することで、リモートからのカーネルパニックによるシステムリブートを引き起こすことができ、論理上はリモートから任意のコードの実行の可能性もあるというものだ。
今月セキュリティ情報が公開された3つの脆弱性は、Exploitability Index(悪用可能性指標)がいずれも「3 - 機能する見込みのない悪用コード 」とされている。リモートからのコード実行の可能性はほぼ皆無である、という判定だ。
米Microsoftの「Security Vulnerability Research & Defense」ブログで公開されている情報によれば、脆弱性はカーネルメモリに任意のデータが書かれるわけではなく、固定値である「0」が書かれることに起因するもので、悪意のユーザーが任意のデータを上書きするようにコントロールするのは難しく、実用的なコードを実装することは非常に困難だということのようだ。
つまり、今回修正された3つの脆弱性のうち2つにはリモートコード実行の可能性があるため、最大深刻度は“緊急”とされているが、実質的は深刻度はそれよりも低いものだと考えてもそれほど差し支えはなさそうだ。むしろ、サービス拒否攻撃につながる「CVE-2008-4114」の方が、既に実証コードも公開されているため、より差し迫った脅威であると考えるべきだ。
今月の月例修正パッチは、脆弱性の深刻さを考える際に、公表された「深刻度」だけで単純に考えるのは危険かもしれない、ということを示す例だと言えるだろう。
関連情報
■URL
マイクロソフト 2009年1月のセキュリティ情報
http://www.microsoft.com/japan/technet/security/bulletin/ms09-jan.mspx
MS09-001:SMBの脆弱性により、リモートでコードが実行される(958687)
http://www.microsoft.com/japan/technet/security/bulletin/ms09-001.mspx
■関連記事
・ マイクロソフト、1月の月例パッチ1件を公開(2009/01/14)
( 大和 哲 )
2009/01/14 17:44
- ページの先頭へ-
|