前回は、クライアントソフトウエアの脆弱性への有効な対応方法について紹介した。今回は、対策情報が通常のサイクルに沿って対応できないケース(課題)で脆弱性への攻撃を緩和するEMETとその有効性を解説する。

脆弱性を突く攻撃の緩和に強みを発揮するEMET

図1●EMET設定画面
図1●EMET設定画面
[画像のクリックで拡大表示]

 EMETは、Enhanced Mitigation Experience Toolkitの略称で、Microsoft社が無償で提供しているツールである。ソフトウエアの脆弱性が悪用されることを防止するユーティリティとなっており、攻撃を軽減する対象を設定することで脆弱性を悪用した攻撃からPCを保護し、脆弱性の悪用を可能な限り困難にするように機能する。専用の画面からどの軽減機能を有効にするのか、どのアプリケーションをチェック対象にするのかといった設定ができる(図1)。

 脆弱性を悪用した攻撃を緩和するために、EMETには多くの機能が実装されている。特にメモリー周りを利用した攻撃やWindows APIを利用した攻撃に対して効果が高い。

緊急度の高い脆弱性を使って実際に検証

 今回のEMETの検証は、表1に示した環境で実施する。検証にあたっては、まずは攻撃用サイトを準備し、Metasploit Frameworkを使って脆弱性を悪用する攻撃を発生させる。その後で同サイトにアクセスし、攻撃防御の成功可否をチェックする。検証は図2表2に示した3つのシナリオで実施した。

 検証には、IPAが発信している重要なセキュリティ情報から緊急度が高い、Internet Explorerの脆弱性「CVE-2012-4969」とJREの脆弱性「CVE-2013-0422」を使った。

図2●検証の流れ
図2●検証の流れ
[画像のクリックで拡大表示]

表1●検証環境スペック
項目
攻撃対象PC
攻撃用サイト
OS
Windows XP SP3
Windows 7 SP1
IPアドレス
192.168.147.20
192.168.147.10
アプリケーション
Internet Explorer 8 / EMET 3.5.0
Metasploit 4.5.2

表2●検証シナリオ
シナリオ名
検証内容
対象CVE
シナリオ1
脆弱性対策未実施時の動作検証
CVE-2012-4969(Internet Explorerの脆弱性)
CVE-2013-0422(JREの脆弱性)
シナリオ2
EMET適用時の動作検証
シナリオ3
パッチ適用対策時の動作検証