お手柄、エメット(EMET)さん!山市良のうぃんどうず日記(5)

第3回で紹介した脆弱性緩和ツール「Enhanced Mitigation Experience Toolkit(EMET)」ですが、先の大型連休中にも有効であった事例がありました。今回のIEの脆弱性で一躍脚光を浴びたEMET。更新版が出たので、IEの脆弱性の一件と合わせて再度説明します。

» 2014年05月12日 18時00分 公開
[山市良テクニカルライター]
「山市良のうぃんどうず日記」のインデックス

連載目次

IE脆弱性大騒動、その顛末

 第3回「エメット(EMET)、していますか?」では、2014年3月に公表されたMicrosoft Wordの脆弱(ぜいじゃく)性を突いたゼロデイ攻撃の可能性をマイクロソフトの脆弱性緩和ツール「Enhanced Mitigation Experience Toolkit(EMET)」の推奨設定で軽減できたということを紹介しました。

 そして先月末、大型連休に入って早々、「Internet Explorer」(IE)の脆弱性がマスメディアで大きく取り上げられ、大きな騒動になりました。最新のIE 11を含むIEのほとんどのバージョンにセキュリティ上の欠陥があるので、IEの使用を中止して代替ブラウザーを使用するようにと米国の政府機関が警告したというものです。

 問題のニュースや記事の多くは、ソースとして「US-CERT」(米国国土安全保障省配下の情報セキュリティ対策組織)の以下の脆弱性情報を示していました。最新の脆弱性情報を公開して注意喚起することは、US-CERTの通常の業務です。日本では「JPCERT/CC」が同日、同様の情報を公開しました。

 US-CERTの脆弱性情報は簡潔なもので、IEには未対策策の解放済みメモリ使用の脆弱性(Use-After-Free Vulnerability)があるので「マイクロソフトセキュリティアドバイザリ 2963983」(後にセキュリティ情報「MS14-021」に置き換えられました)に従って緩和策や回避策を講じるように注意喚起するものであり、「IEの使用を中止するように」とは書いていません。ただ、Windows XPユーザーなど、サポート終了のためマイクロソフトセキュリティアドバイザリ 2963983の対象外となっている場合は、IE以外のブラウザーの使用を検討するように助言するものでした(画面1)。

画面1 画面1 US-CERTの脆弱性情報。IEの使用中止を呼びかけているわけではない

 このUS-CERTの脆弱性情報が、おそらくロイター経由で尾ひれが付いて、“IEの使用を中止し代替ブラウザーを使用するようにと米国の政府機関が警告”のようなニュースになってしまったようです。

 マイクロソフトが提示した緩和策や回避策は一般ユーザーには非常に難解なものであったため、他のブラウザーに乗り換えるのが最も簡単な対処方法となるのは確かでした。しかし、このような報道のされ方を見ると「他のニュース、例えばあの曲やあの細胞の騒動も、似たり寄ったりだったりして」なんて考えてしまいます。

 なお、4月28日に公表されたIEの脆弱性は、3日後の5月1日(いずれも米国時間)にWindows Updateなどで緊急公開された更新プログラム「KB2964358」で解決されました。騒ぎが大きくなったからでしょうか、ついこの前にサポートが終了し、本来、対応されないはずであったWindows XPに対しても例外的に更新プログラム「KB2964358」が提供されました。

あのIEの脆弱性はEMETの推奨設定で回避できたらしい

 今回のIEの脆弱性に関して最初に公開されたマイクロソフトセキュリティアドバイザリ 2963983では、EMET 4.0以降を推奨設定で導入していれば、追加手順なしで今回の脆弱性の悪用を回避できたそうです。推奨設定には、IE(iexplore.exe)に対する全ての緩和策が構成済みになっています。

 その後に公開されたセキュリティチームの情報によると、IEに対する全ての緩和策に加えて、「Deep Hooks」(ディープフック)および「Anti Detours」(迂回回避)という追加のROP(Return-Oriented Programming)緩和策(Anti-ROP)を有効化することが、更新プログラム公開までの間の有効な回避策とされました。

 これらの緩和策がどういうものであるか、難しい話になるので説明はしません。重要なのは、次期バージョンのプレビュー版であるEMET 5.0 Technical Previewでは両オプションは既定で有効となっていますが、EMET 4.0/4.1では「Deep Hooks」は既定で無効だったということです。もしかしたら、実際に攻撃に遭った場合、EMET 4.0/4.1の推奨設定では防ぎきれなかったのかもしれません。

Deep Hooksを既定で有効化したEMET 4.1 Update 1

 「Deep Hooks」が“既定で無効”という仕様は、今回のIEの脆弱性の回避策としては不十分だったのかもしれません。マイクロソフトは2014年4月30日(米国時間)に、「Deep Hooks」を既定で有効化したEMET 4.1 Update 1(EMET 4.1.1)をリリースしました(画面2)。このEMET 4.1 Update 1なら、推奨設定だけで追加の構成は不要です。

画面2 画面2 EMET 4.1 Update 1を推奨設定でインストールした場合のアプリケーションの構成。「Deep Hooks」が最初から有効になっている。EMET 4.0および4.1の既定は無効

 EMET 4.1 Update 1は、システム要件や機能はEMET 4.1と変わりませんが、「Deep Hooks」の有効化以外にも、証明書信頼の構成、推奨設定に含まれるいくつかのアプリについて緩和策の変更、バグ修正など、変更点や改善点があります。4月30日以前にEMET 4.1を導入済みの場合は、EMET 4.1の環境にEMET 4.1 Update 1を上書きインストールすることをお勧めします。例えば、前々回に指摘した証明書信頼の有効期限の件は、EMET 4.1 Update 1で全て2015年8月1日に変更されています(*1)。

*1)EMET 4.1(およびEMET 4.0)の証明書信頼の有効期限問題については、2014年4月29日(米国時間)に公開された以下のMicrosoft Fix Itで解決することもできます。EMET 4.1 Update 1は解決済みであるため、Microsoft Fix Itによる問題解決は不要です。


 これまで推奨設定のまま使用していた場合は、インストールの際に推奨設定(Use Recommended Settings)を選択すればよいでしょう。設定をカスタマイズしていた場合は(証明書信頼やアプリの登録など)、既存の設定を引き継ぐ(Keep Existing Settings)を選択してインストールします(画面3)。インストール後にEMET GUIを開いて「Import」をクリックし、「CertTrust.xml」や「Recommended Software.xml」を取り込めば、カスタマイズした環境に新しい推奨設定を反映することができます。

画面3 画面3 既にカスタマイズして使用している場合は、EMET 4.1の設定を引き継ぎながら、EMET 4.1 Update 1をインストールする

EMETの導入で副作用が出たら……

 EMETの機能は、システム緩和策、アプリケーション(実行可能ファイルごとの)緩和策、証明書信頼の大きく3つあります。このうち、システム緩和策やアプリケーション緩和策はアプリケーションの正常な実行をブロックしてしまうことがあります。例えば、システムに対する緩和策を推奨設定の「Recommended security settings」から「Maximum security settings」に変更した場合、システムの起動や一部のアプリケーションの実行に影響するかもしれません。

 以下のマイクロソフトのブログにも書いてありますが、EMET 4.0やEMET 4.1(Update 1ではない)の「Deep Hooks」が既定で無効にされた理由は、アプリケーションの互換性問題の影響が大きかったからのようです。現在ではアプリケーションの開発元の対応により、「Deep Hooks」有効化時の互換性問題の多くは解消されているようで、EMET 5.0 Technical Previewおよび今回のEMET 4.0 Update 1で既定が有効に変更されました。別の言い方をすれば、古いバージョンのアプリケーションを「Deep Hooks」が有効なEMETで保護する場合、正常に動作に影響するかもしれません。

 EMETにアプリケーションを登録して緩和策を適用した結果、アプリケーションの起動や実行に問題が発生する場合は、登録を解除するか、問題を発生させている緩和策を調査して無効にすればよいでしょう。アプリケーションの登録を解除しても問題が発生する場合は、システムに対する緩和策が影響しているので、調整する必要があります。EMETの構成は難しそうですが、まずは推奨設定で使ってみて、もし問題があったらEMETユーザーガイド(日本語)を見ながら対処すればよいでしょう。どうしても問題を解決できないという場合でも、使用を中止する(EMETをアンインストールする)という解決策が残っています。

IEから別のブラウザーへの乗り換え組もEMETで予防を

 マスコミの大げさな報道に影響され、IEは危険だから別のブラウザーに乗り換えたという人は多いかもしれません。今回の脆弱性に対してはIE以外のブラウザーの使用は有効かもしれませんが、次の重大な脆弱性がIE以外のブラウザーに出ないとも限りません。

 IE以外のブラウザーを利用している場合は、EMETのアプリケーションリストに登録しておくとよいでしょう。これらのブラウザーの未知の脆弱性を悪用したゼロデイ攻撃から守ってくれる“かも”しれません。ブラウザーの実行ファイル(.exe)を個別に追加登録してもよいのですが、EMET GUIの「Import」をクリックして、EMET 4.1 Update 1のインストール先(32ビット版の場合はC:\Program Files\EMET 4.1)の「\Deployment\Protection Profiles」にある「Popular Software.xml」を取り込めば、Mozilla Firefox、Google Chrome、Opera、Apple Safariを含むポピュラーなアプリケーションを適切な緩和策設定で登録してくれます(画面4画面5)。

画面4 画面4 「Popular Software.xml」には、主要なブラウザー、メディアプレーヤー、コミュニケーションツールに対する緩和策が含まれる
画面5 画面5 「Popular Software.xml」のインポートにより、複雑な設定なしでFireFoxもEMETで保護されるようになった

 そういえば、もしWindows上でいまだにApple Safariを使っているのなら、すぐに使用を中止して代替ブラウザーに乗り換えてください。Windows版Safariは2012年5月にリリースされたSafari 5.1.7を最後に更新バージョンは提供されていません。Safari 5.1.7を含むSafariの古いバージョン(6.0.1より前)には重大な脆弱性(CVE-2012-3713)があるため、検証環境が必要なWebサイトやアプリケーション開発者でない限り、Windows版Safariはすぐにアンインストールした方が安心です。

EMETに過度に期待しないこと!

 ここ最近の脆弱性に対するEMETの活躍を見れば、“EMET最強”と思ってしまうかもしれませんが、EMETは脆弱性“緩和”ツールであることに留意してください。あくまでも、ソフトウェアの脆弱性を悪用した攻撃を回避してくれる“かもしれない”ツールです。

 特に、サポートの切れたWindows XPやサポートの切れそうなWindows Server 2003で利用する場合は効果が限定されることに注意してください。EMETはWindowsが標準で備えるセキュリティ機能を効果的に利用しているに過ぎません。Windows XPやWindows Server 2003に実装されていないセキュリティ機能に依存するEMETの機能は利用できません。EMETを導入しているWindows XPよりも、EMETを導入していないWindows 7の方が堅牢であるという検証結果(*2)もあります。

 今回のIEの脆弱性に関して最初に公開されたマイクロソフトセキュリティアドバイザリ 2963983では、Windows XPは影響があるかどうかも示されませんでした。サポート終了とはそういうことです。今回はWindows XPに対しても例外的に更新プログラムが提供されましたが、今後は“例外はない”と考えるべきです。まだWindows XPを使い続けるのなら、マルウェア対策の継続やEMETの導入はもちろんのこと、あと1年ちょっとサポート期間が残っており、OSのバージョンが近い(XPは5.1、2003は5.2)、Windows Server 2003のセキュリティ情報を常に注視しておくとよいでしょう。

「山市良のうぃんどうず日記」バックナンバー

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP:Hyper-V(Oct 2008 - Sep 2014)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。マイクロソフト製品、テクノロジを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手がける。個人ブログは『山市良のえぬなんとかわーるど』。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。