Protection Problems with MS08-001」より
January 17,2008 Posted by Holly Stewart

 通常,Frequency X Blogでは特定の製品に言及するのを控えているが,今回はこのルールに例外を設けたい。筆者はプロダクト・マネージャであるがゆえに,製品の検討にかなりの時間を費やしている。

 米マイクロソフトが2008年1月初頭に公開したセキュリティ情報「MS08-001」には,修復/保護の観点から,いくつか特殊な問題がある。まず,ユーザーは(Windows Updateで)更新プログラムそのものを受け取る。同プログラムは,中核をなすTCP/IPドライバを変更するが,この変更にはそうするだけの十分な理由がある。MS08-001でパッチが適用されたCVE-2007-0069の危険性をまだ知らない読者のために,以下に概要をまとめておこう。

  • 現在サポート対象となっているマイクロソフトの全OSに影響する
  • デフォルトで有効(Windows Server 2003は除く)
  • リモート攻撃が可能
  • ユーザーの操作は不要

 これらは,「攻撃にはうってつけ」と言っているに等しい。詳細は,米IBM ISS(インターネット・セキュリティ・システムズ)のWebサイトに掲載されている。

 ソフトウエア開発の世界に長らく身を置いているので,筆者はドライバ・ソフトの変更が扱いにくいこと,そしてこのような変更が時として非常に深刻な事態をもたらすことを知っている。マイクロソフトがISSのQA部門からは想像もできないような品質基準を備え,巨大なラボや優れたプログラムで相互接続性に取り組んでいるのは間違いないが,ドライバの変更がどのように相互に影響するのか,すべてを予測することは困難だ。筆者がたくさんの内製アプリケーションでネットワーク・ドライバを活用している顧客であったならば,今回のアップデートにはギョッとしてしまうだろう。

 このため,IBM ISSおよびその他多くのベンダーは,パッチを適用するまでの間,暫定的な保護と時間的余裕を顧客に提供することを目指す。大半は,境界からエンドポイントにいたるまで完全な保護を試みる。ところが,残念ながらMS08-001の場合はそう簡単にいかない。

 最初に筆者が述べておきたいのは,ネットワークの侵入防止システム(IPS)側の保護は,非常に堅牢であるということだ。ISSのIPS製品「Proventia Network IPS(NIPS)」や「同Network Multi-Function Security」がブロックキング・モードで保護しているセグメントは,今回の問題をネットワーク・ベースのエクスプロイトで悪用しても成功しない。さらに,ISSの研究開発チームX-Forceが今回のぜい弱性を検出したため,(手前味噌になってしまうが)我々の顧客は2007年8月以降この問題から保護されている。したがって,読者がISSの顧客で,NIPSなどを使って境界や各ネットワーク・セグメントを保護していれば,ワームやボットの侵入,あるいはセグメント間移動を阻止できる。

 ここで,中核部分をネットワーク・ベースで保護していない場合,またはホスト・ベースの製品に保護を依存している場合,もしくはこれら両方が当てはまる場合,今回の話はあまり面白いものではない。今回の一連のぜい弱性を,特別なものに仕立て上げる要因の一つになるからだ。これらの問題は,TCP/IPのカーネル・レベルのぜい弱性であり,TCP/IPスタック内のかなり下位層に存在するため,ホスト・ベースで保護する製品の大半が見過ごしてしまう。ホスト製品にIPSが搭載されている場合でも,ベンダーがWindows XPおよび同2000上でフックする標準APIでは,TCP/IPのような低レベルの保護は行えない。

 ISSのホスト向けソフトウエア(「Proventia Desktop 10 for Vista」およびWindows Server 2003用の「Proventia Server 2.0」)の最新バージョンでは,マイクロソフトが承認した,TCP/IPスタックをフックする新しいやり方に切り換えている(マイクロソフトが公式にサポートしたAPIの新バージョンを使う)。当初,このAPIについて我々は,PAM(Protocol Analysis Module,ISSのIPSコンポーネント)による保護が可能なほど深いTCP/IPスタック階層は(旧APIと同様に)操作できないと想定していた。このため注意を怠り,ホストの保護を記載せずにアドバイザリを出してしまった。その後の追加調査で,これらの新しいAPIは,Windowsのファイアウォールが無効となっている限り,下位層でフックし,必要な保護を行えると判明した(ファイアウォールが有効だと,ISSのホストベースの製品による攻撃感知が阻止される。そのため,ユーザーがマルチキャストをブロックするよう特別に設定しない限り,これら攻撃は遮断されない。読者であるその他のベンダーが,Windows Server 2003/Vistaでこれらの新しいフックを利用している場合,この点も同様に確認してほしい)。

 ISSの旧バージョンのホスト製品では,カーネル・パッチでTCP/IPスタックをフックするドライバを利用しており,これまで問題なく今回の攻撃を阻止できている。カーネルへのパッチ適用はマイクロソフトに推奨されていないが,この特別なドライバは我々のホスト製品で2003年初めから問題なく使えており,さらにこのようにパッチを当てる手法は,(「RealSecure」および「Proventia」の前身である)「BlackICE」製品ファミリで1999年より使用している。パッチを当てる場所を考えると,このドライバは非常に安定しており,さらにMS08-001への対応アップデートが不要であるという事実が,この安定性を証明している。

 したがって,今回のTCP/IPカーネルのぜい弱性に対する,ホスト・ベースの保護で問題となるのは,製品の多くが攻撃を全く確認できないということだ。標準のアンチウイルスは作動せず,またバッファ・オーバーフローなどの一般的な保護を含む阻止機構も働かないだろう。その理由は,アンチウイルスがこのような低レベルの監視を行わず,エクスプロイトがTCP/IPスタックをくぐり抜けることなど決してなかったからだ。ほとんどの場合,実際にこの攻撃を防ぐ方法は,パッチを当てるか,マルチキャスト機能を全体で無効にするかしかない。そうすると,ストリーミング・メディア・アプリケーションやファイル分散システムなど,多くの有用なものまで無効化してしまう。

 この記事を終わるにあたって言っておきたいのは,今回の特殊な問題は,複数階層のセキュリティを備える上での,まさにケース・スタディだ。これまでは,IPSはあくまでIPSであり,ホスト上であろうがネットワーク上であろうが,同じやり方で保護を行っていた。今回のようなぜい弱性は,新しいタイプの例外であり,セキュリティの調査や脅威に精通することが我々のビジネスでは非常に重要で,顧客を保護する上で欠かせないものであることを示す実例だ。


Copyrights (C) 2008 IBM, Corp. All rights reserved.
本記事の内容は執筆時点のものであり,含まれている情報やリンクの正確性,完全性,妥当性について保証するものではありません。
◆この記事は,日本IBMの許可を得て,米国のセキュリティ・ラボであるIBM Internet Security Systems X-Forceの研究員が執筆するブログIBM Internet Security Systems Frequency-X Blogの記事を抜粋して日本語化したものです。
オリジナルの記事は,Protection Problems with MS08-001でお読みいただけます。