Skip to main content
MSRC

近くて遠くて、古くて新しい、脆弱性ハンドリングとゼロデイ対策

Windows XP のサポート終了や、セキュリティ アドバイザリ 2963983(MS14-021)によって脆弱性や脆弱性ハンドリングに対する関心が高まっているように思います。特に関心の高いゼロデイ攻撃については、「ゆりか先生のセキュリティひとくち講座:第 8 回: ゼロデイ攻撃ってなんだろう?」で概要をご紹介しています。

ゆりか先生のセキュリティひとくち講座:第 8 回: ゼロデイ攻撃ってなんだろう?
http://www.microsoft.com/ja-jp/security/msy/msy008.aspx

今回は、少し実践的な視点から、通常の脆弱性ハンドリングとゼロデイ攻撃が確認された際のハンドリングについて、Coordinated Vulnerability Disclosure に基づいた脆弱性ハンドリングの基本的な考え方とセキュリティ更新プログラム公開時の品質管理についてご紹介し、そして「ゼロデイ攻撃が公表された際の対応」として、基本対策の重要性と、緩和策として推奨されることの多い MAPP、拡張保護モード、EMET についてご紹介します。

脆弱性とセキュリティ更新プログラム公開のタイミング

Windows Update / Microsoft Update によるセキュリティ更新プログラム(以下、更新プログラム)の提供は、1998 年に始まりました。当初は、更新プログラムの準備ができ次第公開していましたが、この形態では企業の IT 担当者が事前に準備出来ず、更新プログラムの適用率が上がりませんでした。このため、2002 年には毎週水曜日(米国時間)に公開することで、IT 担当者が事前に準備ができる形態としました。しかし毎週では負担が大きいことがわかり、2003 年には現在の毎月第二火曜日(米国時間)の公開に変更し、そして、具体的な更新プログラムの適用計画を事前に準備できるように、2004 年にはセキュリティ情報の事前情報通知を始めました。

この変更は、単にマイクロソフト社内のプロセスの変更のように見えるかもしれませんが、実はそれほど簡単な話ではありません。

主要な脆弱性のハンドリング(取扱い)には、Responsible Disclosure (RD)と Full Disclosure (FD)と呼ばれるふたつの考えがあります。Responsible Disclosure では、ソフトウェアベンダー等から修正プログラムが公開されるまで、つまり利用者が対策を実施できるようになるまでは、情報公開を行わない事が最も安全である、という考え方です。これを前提にできれば、月に一度の更新はさほど難しい事ではありません。

これに対して Full Disclosure は、ソフトウェアベンダー等からの修正プログラム等の提供の有無にかかわらず、詳細な脆弱性情報を全て一般に公開することで修正プログラムの公開を早め、結果として利用者の安全性を高め事ができる、という考え方です。

この二つの考え方の違いにより、修正プログラムが公開される前に、脆弱性に関する情報が公開されることがあります。脆弱性の公開の有無については、セキュリティ情報の脆弱性に対する FAQ「このセキュリティ情報のリリース時に、この脆弱性は一般に公開されていたのですか?」という項目で確認することができます。

Responsible Disclosure を厳密に適用すると、攻撃が確認された場合でも、修正プログラムが公開されるまでは、脆弱性の公表ができないことになります。この課題の解決に取り組んだのが、Coordinated Vulnerability Disclosure(CVD)です。Coordinated Vulnerability Disclosure は、「ベンダーおよび脆弱性の発見者が解決に向けて緊密に連携し、時期を得た対応を実施するために広範に取り組み、一般への公開は積極的な攻撃の場合のみとし、一連の対応において最善だと思われる緩和策および回避策に重点的に取り組むこと」です。端的に言えば、該当する脆弱性への攻撃が確認された場合は必要な情報を公開し、できる限り被害を防ぐための取組みみを行うというものです。

Coordinated Vulnerability Disclosure については、弊社の Katie Moussouris の Blog に詳しく(少々楽しく)述べられており、日本のセキュリティチーム Blog でも概要を紹介しています。

Coordinated Vulnerability Disclosure: Bringing Balance to the Force
http://blogs.technet.com/b/ecostrat/archive/2010/07/22/coordinated-vulnerability-disclosure-bringing-balance-to-the-force.aspx

「協調的な脆弱性の公開」の発表
http://blogs.technet.com/b/jpsecurity/archive/2010/07/28/3347185.aspx

前述の通り、Coordinated Vulnerability Disclosure においてポイントとなるのが、修正プログラム公開前に攻撃が確認されたケースです。いわゆるゼロデイ攻撃がこれに該当しますが、セキュリティ情報の FAQ「このセキュリティ情報のリリース時に、マイクロソフトはこの脆弱性が悪用されたという報告を受けていましたか?」という項目で、該当する脆弱性に対するゼロデイ攻撃の有無を確認することができます。

ゼロデイ攻撃が確認された場合、脆弱性の存在をすぐに公開をするのが望ましいように思われます。しかし、情報は悪意のある人たちにも公開されることから、公開した情報に基づいて新たに攻撃コードが開発され、修正プログラムがない状況の下で攻撃が拡大することが懸念されます。このため、マイクロソフトでは、脅威の増大を防ぎ、更新プログラムを確実に適用していただくためには、できる限り定例の更新プログラムとして公開することが望ましいと考えています。

一方で、深刻な状況にあることが確認された場合は、定例外で更新プログラムを公開しています。しかし、この場合においても、定例更新と同様の高い品質で更新プログラムを提供する必要があります。高い品質とは、単に該当するプログラムが正しく動作することではありません。修正前のプログラムの挙動を前提としたアプリケーションやドライバーがあった場合、更新プログラムを適用することでシステムに問題が生じてしまいます。このような問題を避けるためには、OS のバージョン、言語、各国で異なる主要なアプリケーション、多様なハードウェアなど、膨大な組み合わせの検証が必要となります。修正が容易で他のプログラムへの影響がない場合は迅速な公開ができますが、一連のテストで問題が発見されると、結果として更新プログラムの公開に時間がかかってしまうことになります。

なお、脆弱性と攻撃コードの流通状況については、先日公開されたセキュリティインテリジェンスレポート 第 16 版の特集記事に詳しく述べられています。意外な事実も記載されているので、ぜひご一読ください。

セキュリティ インテリジェンス レポート
http://www.microsoft.com/ja-jp/security/resources/sir.aspx

Microsoft Security Intelligence Report Volume 16
http://www.microsoft.com/security/sir/default.aspx

ゼロデイ攻撃の対策 STEP-1 (更新プログラムの適用と MAPP)

各国の CERT 組織、セキュリティ研究者、セキュリティベンダー等の協力の下で、Coordinated Vulnerability Disclosure に基づいて脆弱性ハンドリングを行っていますが、残念ながら未知の脆弱性を悪用したゼロデイ攻撃がみつかることも少なくありません。

ゼロデイ攻撃が公表された際に最初にやって頂きたいのは、意外かもしれませんが、これまで公開されている更新プログラムをすべて適用し、セキュリティソフトが最新の状態で稼働していることを確認することです。

ゼロデイ攻撃は、現実に行われている多用な攻撃の極一部に過ぎず、攻撃の大半は公開済みの脆弱性に対して行われます。このため、マイクロソフト製品に限らず、すべてのソフトウェアを最新の状態に維持することが、被害を防ぐ上では重要となります。

また、攻撃がマイクロソフト社の製品に対するものであれば、MAPP (Microsoft Active Protection Program)を通じて、主要なセキュリティベンダーに脆弱性や攻撃に関する情報が提供されており、更新プログラムが公開される前であっても、セキュリティ製品による該当するゼロデイ攻撃からの保護が期待できます。セキュリティベンダーの Blog などでも、MAPP による情報提供と、自社製品の対応について述べられている場合も少なくありません。

MAPP および MAPP メンバーの対応状況については以下をご参照ください。

Microsoft Active Protections Program
http://www.microsoft.com/ja-jp/security/msrc/mapp.aspx

MAPP Partners with Updated Protections
http://technet.microsoft.com/en-US/security/dn568129

ゼロデイ攻撃の対策 STEP-2(緩和策の適用)

一般に、ゼロデイが公表される際には合わせて緩和策も公開されます。この内容をよく理解することが、対策を進める上での重要なステップとなります。特に、グループポリシーを使って PC 等を管理している場合は、緩和策を迅速かつ確実に適用することが可能なので、緩和策を正確に理解することが重要になります。

例えば、セキュリティアドバイザリ 2963983(MS14-021)では、以下の緩和策が記載されており、どの緩和策も「現在確認されている悪用を防ぐことを確認しています。」とあります。つまり、どれかひとつの緩和策を適用することで、該当する攻撃を防ぐことが可能となります。

  • VML を無効にする
  • 拡張保護モードを有効にする
  • EMET を導入する

[回避策まとめ] セキュリティ アドバイザリ 2963983 – Internet Explorer の脆弱性により、リモートでコードが実行される

http://blogs.technet.com/b/jpsecurity/archive/2014/04/30/workarounds-for-security-advisory-2963983.aspx

攻撃に関連する VML を無効化する対策はわかりやすいのですが、「拡張保護モード」と「EMET」については、なぜ保護できるのかをご存じない方が多いようです。ここでは、「拡張保護モード」と「EMET」の保護の仕組みについて紹介します。

ゼロデイ攻撃の対策 拡張保護モード(Windows 8/8.1)

拡張保護モードは、Windows 7 以降で稼働する Internet Explorer 10, Internet Explorer 11 に実装されている機能です。Windows 7 と Windows 8 では、拡張保護モードの動作に違いがあるのですが、ここでは Windows 8 以降のシステムで稼働する拡張保護モードについてご紹介します。

Windows 8 以降で動作する拡張保護モードは AppContainer 上で動作します。AppContainer 上で動作するプロセスは、システムや他のプロセスと分離されて動作するため、システムや他のプロセスに対するアクセスができません。このため、脆弱性が悪用された場合でも、攻撃コードは AppContainer 上でしか動作せず、プログラムの悪用を阻止することが可能となります。

拡張保護モードは、ゼロデイ攻撃の有無にかかわらず、有効性の高い技術です。オンラインバンクの不正送金が問題となっていますが、このような攻撃に対しても有効性の高い技術だと考えています。

拡張保護モード
http://blogs.msdn.com/b/ie_ja/archive/2012/03/21/enhanced-protected-mode.aspx

Understanding Enhanced Protected Mode
http://blogs.msdn.com/b/ieinternals/archive/2012/03/23/understanding-ie10-enhanced-protected-mode-network-security-addons-cookies-metro-desktop.aspx
IE10 & IE11 : 拡張保護モードの実態
http://blogs.technet.com/b/jpieblog/archive/2013/11/30/3614857.aspx

ゼロデイ攻撃の対策 EMET: Enhanced Mitigation Experience Toolkit

EMET は、マイクロソフトが無償で提供している、脆弱性の悪用を防止するためのツールで、EMET 3.0 からはグループポリシーや SCM(System Center Configuration Manager)にも対応しています。

EMET 5.0 Technical Preview 公開しました
http://blogs.technet.com/b/jpsecurity/archive/2014/02/26/emet-5-0-technical-preview.aspx

EMET は、「システム緩和策の強制適用」と「EMET 特有の緩和策の適用」によって脆弱性の悪用を防ぎます。

最新のシステムで、DEP や ASLR など Windows が備えているセキュリティ機構が有効であれば、大半の攻撃を防ぐことが可能です。しかし、これらの機構を無効にしているプログラムや DLL が少なからず存在し、攻撃の糸口になることがあります。「システム緩和策の強制適用」は、このようなプログラムに対して強制的にセキュリティ機構を有効にすることがで、攻撃を防ぐことが可能となります。

「EMET 特有の緩和策の適用」は、主にシステム緩和策を回避する攻撃を防ぎます。たとえば、DEP・ASLR の回避に悪用される、ROP(Return Oriented Program)、Heap Spray などを防止し、Null Page Allocation の防止、スタックやヒープのランダム化、Export Address Table Access Filtering (EAF)等の汎用性の高い対策も提供します。EMET が提供する具体的な緩和策については、上記 URL からリンクされているユーザーガイドが参考になります。また、脆弱性とシステム側の対策(セキュリティ機構)の推移について、より詳しい内容に興味のある方は、Matt Miller のこちらの資料が参考になります。

A Brief History of Exploitation Techniques & Mitigations on Windows
http://hick.org/~mmiller/presentations/misc/exploitation_techniques_and_mitigations_on_windows.pdf

EMET は、メンテナンスが出来ないカスタムアプリケーションの保護にも利用できるなど有効性の高いツールです。一方で、PC がグループポリシーの管理下にない場合、ゼロデイ攻撃が報道されてから EMET の導入を行うことは、現実的な対策ではないかもしれません。

ゼロデイを前提とした対策の一環として、前もって EMET を Opt-IN、つまり EMET で保護するプログラムがない状態で各 PC にインストールしておき、ゼロデイが公表された時点で、該当するプログラムの保護を有効にすることも、現実性の高い運用だと思います。

むすび

セキュリティインテリジェンスレポート第 16 版では、Windows に様々なセキュリティ機構が有効に機能することにより、ゼロデイ攻撃が難しくなり、そして、その価値が高まったと分析しています。このため、ゼロデイ攻撃は、できる限り発見を遅らせるために極めて限定的に悪用される傾向にあります。そして、脆弱性と攻撃手法が一般に知られるようになり、金銭で入手可能な攻撃ツールキットに組み込まれてはじめて、広く攻撃が行われる傾向にあります。

ゼロデイ攻撃対策というと、何か難しいことをするように思いますが、一般的なセキュリティ対策の延長線上で考えることで、対応可能な問題とすることができます。本文中でも述べましたが、更新プログラムの確実な適用、セキュリティプログラムの適切な利用、そしてシステムやアプリケーションを安全な設定で利用することで、多くのゼロデイ攻撃を未然に防ぐことが可能です。

加えて、グループポリシーを使って PC 等を管理し、EMET のような緩和策を事前に展開しておくことで、ゼロデイの対応手順を一般化することもできると思います。

なお、以下の記事は、ゼロデイ攻撃の対策を振り返り、今後の対策を進める上で、大変参考になる記事だと考えています。
あわせてご参照ください。

ゼロディ脆弱性が発覚!あなたはどうする? ~セキュリティ担当者として心得ておくべきことは~

http://itpro.nikkeibp.co.jp/article/COLUMN/20140523/559004/?ST=security&P=1

IE に見つかった「ゼロディ脆弱性」、“タイミング”と“誤解”で騒ぎ拡大
http://itpro.nikkeibp.co.jp/article/COLUMN/20140507/554903/?ST=security&P=1

なぜ、IE の脆弱性問題は過剰報道になったのか?
http://pc.watch.impress.co.jp/docs/column/gyokai/20140513_647964.html

日本における脆弱性ハンドルについては、経産省が取り纏めており、以下の URL から必要な情報を確認することができます。

ソフトウエア等脆弱性関連情報取扱基準(平成 16 年経済産業省告示第 235 号)
http://www.meti.go.jp/policy/netsecurity/law_guidelines.htm

IPA: 脆弱性対応ガイドライン
http://www.ipa.go.jp/security/vuln/index.html#section10

JPCERT/CC:脆弱性情報ハンドリングとは?
http://www.jpcert.or.jp/vh/

今年の 3 月から 5 月にかけて、Internet Explorer を含めて多くの脆弱性や、攻撃が話題となりました。一連の事案を振り返ると、企業や組織の IT 管理者は、単に更新プログラムを適用するだけではなく、リスクの本質を理解し、適切な対応を行うことが求められるようになっていると感じています。
この資料が、安全性を高める上で何らかのご参考になれば幸いに思います。


Related Posts

How satisfied are you with the MSRC Blog?

Rating

Feedback * (required)

Your detailed feedback helps us improve your experience. Please enter between 10 and 2,000 characters.

Thank you for your feedback!

We'll review your input and work on improving the site.