Windowsプラットフォームはしばしば、セキュリティパッチ提供前の脆弱性を狙う「ゼロデイ攻撃」に晒される。この脅威に対抗する無償の脆弱性緩和ツール「Enhanced Mitigation Experience Toolkit(EMET)」のインストール方法を解説する。
対象ソフトウェア:Windows 7/Windows 8/Windows 8.1/Windows Server 2008 R2/Windows Server 2012/Windows Server 2012 R2
Windows OSおよびそのアプリケーションに対してはゼロデイ攻撃、すなわちセキュリティパッチがリリースされる前に脆弱性を攻撃するという事件がしばしば発生している。またセキュリティパッチの適用が遅れた結果、既知の脆弱性を攻撃されて被害に遭ったという例も報道されている。このようにセキュリティパッチの適用前の攻撃をいかにして防ぐか、ということはセキュリティ対策上の重要な課題の1つといえる。
こうした脅威に対抗すべく、マイクロソフトが無償で提供しているソフトウェアツールの1つが「Enhanced Mitigation Experience Toolkit(EMET)」だ。「Mitigation」とは「緩和」「軽減」といった意味で、EMETはWindows上で実行されるソフトウェアの脆弱性に対する攻撃を「緩和・軽減」することで攻撃成功を防ぐ役割を果たす。セキュリティパッチが脆弱性そのものを修正・解消することで攻撃を無効化するのに対し、EMETは脆弱性が存在することを前提として悪用コード(エクスプロイトコード)の実行を「妨害」するという違いがある。
「緩和」という言葉から連想できるように、EMETはあらゆる攻撃を完全に阻止できる万能ツールではない。攻撃が成功する確率、すなわち攻撃によって実害を被る可能性を下げるためのツールだ。とはいえ実際に効果はある。例えば、2014年4月末に発覚したInternet Explorerのゼロデイ攻撃の際、マイクロソフトはセキュリティパッチのリリースまでの回避策の1つとしてEMETを推奨していた。特にWindows Vista/Windows Server 2003/Windows Server 2008では「最も効果が高い対策」と記されている。
執筆時点で正式にリリースされているEMETの最新版は4.1 Update 1で、プレビュー版として5.0が提供されている(いずれも無償で利用できる)。EMET 4.1 Update 1はWindows XP〜Windows 8.1とWindows Server 2003〜Windows Server 2012 R2にインストールできる(OS用Service Pack最新版の適用が必要)。スタンドアロンのPCでも利用できる他、企業内システム向けにグループポリシーで一括設定できるようにも設計されている。
ゼロデイ攻撃が発覚してから管理下のPCにEMETをインストールして回るのでは、対策として間に合わない可能性がある。あらかじめインストールしておき、攻撃が発覚したら速やかに適切な設定をEMETに施すのがよいだろう。そこで本稿では、EMET 4.1 Update 1をインストールする手順と最小限の設定の確認について説明する。これによりIEやMicrosoft Office、Adobe Acrobat/Reader、Oracle Java、ワードパッドといった攻撃対象になりがちなソフトウェアについては、EMETで保護されるようになる。その他のソフトウェアを保護する方法など、設定方法の詳細は別途解説したい。
EMETの動作原理や緩和策の種類などについては、次のPDFを参照していただきたい。
EMETを実行するには.NET Framework 4.xが必要なので、あらかじめインストールしておく。すでに.NET Framework 4.xがインストール済みかどうか確認するには、次のTIPSを参照していただきたい。
Windows 8/Windows Server 2012以降であれば、.NET Framework 4.5.xが標準でインストール済みなので、あらためてインストールする必要はない。Windows 7/Windows Server 2008 R2以前の場合、もし.NET Framework 4.0をインストールするなら、必ずFull版をインストールすること。Client Profile版ではEMETのインストールに失敗するためだ。
.NET Framework 4.xはWindows Updateからインストールできる他、次のページからオフラインのインストーラーを入手できる。
Windows 8の場合は、KB2790907のパッチを適用しておく必要がある。これは「互換性に関する更新プログラム」の2013年3月版で、それ以降にリリースされた2013年9月版のKB2869628にも含まれている。Windows Updateですでに適用しているかもしれないので、確認しておこう。
まず、次のWebページからEMET 4.1 Update 1のインストーラー(EMET Setup.msi)をダウンロードする。
次に管理者アカウントの下でインストーラーを実行する。UAC(ユーザーアカウント制御)が表示されたら[はい]ボタンをクリックすると、英語表記のウィザード画面が表示されるのでデフォルトの設定のまま進めていく。「License Agreement」画面では規約を確認して[I Agree]を選択する。また「EMET Configuration Wizard」画面では[Use Recommended Settings](推奨設定を用いる)を選択する。これにより、IEやOffice、Adobe Acrobat/Reader、Oracle Java、ワードパッドを保護する設定が適用される。
あとはウィザードが完了するまで進めていく。インストール完了時点で、すでにEMETのプログラムが常駐して保護を始めている。
EMETはサイレントインストールができるので、配布ツールによる複数PCへの一括展開も可能だ。その際のコマンドラインは次の通りだ。
msiexec /i "EMET Setup.msi" /qn /norestart
ただし前述の推奨設定は適用されないので、インストール後に設定を変更する必要がある。
スタートメニューの[Enhanced Mitigation Experience Toolkit]−[EMET GUI]をクリックするか、またはスタート画面で[EMET GUI]を検索してクリックすると、EMETの設定画面が表示される。タスクバーの通知領域にあるEMETのアイコン(南京錠を模したデザイン)をダブルクリックすることでも設定画面を呼び出せる。
ここでインストール時に指定した「推奨設定」が正しく反映されているか確認してみよう。まず起動直後のメイン画面で、ツールバーにある「System Settings」−[Quick Profile Name]が[Recommended security settings](推奨セキュリティ設定)になっていることを確認する。次に「System Status」−[Certificate Trust (Pinning)]が[Enabled]になっていることも確認する。これはアプリケーションが暗号化通信に用いる電子証明書の信頼性を検証する機能だ。
次にツールバーの「Configuration」−[Apps]をクリックして「Application Configuration」画面を開く。そのツールバーの「Mitigation Settings」にあるチェックボックスがいずれもオンであることを確認する。これらは、保護対象として登録された全ソフトウェアに適用される脆弱性緩和機能のオン/オフを設定している。
さらに「Mitigations」−[All]タブに注目する。「App Name」列にはInternet Explorer(iexplorer.exe)やAdobe Reader(AcroRd32.exe)、Office(EXCEL.EXE/POWERPNT.EXE/WINWORD.EXE)などのアプリケーション実行ファイル名が並んでいるはずだ。各行の右側には個々の脆弱性緩和機能のオン/オフを設定するチェックボックスが並んでいて、java*.exeの「HeapSpray」列を除いて、全てオンになっている。
[A]
もしEMETのインストール後に保護対象のアプリケーションで動作不良が見つかったら、それはEMETの脆弱性緩和機能による副作用の可能性がある。その場合、上記の画面で該当アプリケーションのチェックボックスをオフにしていって、不具合の解消を図ることになる。
新たにアプリケーションをEMETに登録して保護する、といった詳細な設定方法については、別途解説する予定だ。
■関連リンク
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.