This is the Trace Id: 20ac0b5055f4f6e9264ac16f2201e5a2
Skip to main content
MSRC

Enhanced Mitigation Experience Toolkit (EMET) 基本解説 ~ 第 1 回 EMET とは

こんにちは、村木ゆりかです。

先日、脆弱性緩和ツール Enhanced Mitigation Experience Toolkit (EMET) の最新版である EMET 5.0 を公開しました。また、日本語のユーザーガイドも公開しましたので、ご覧下さい。

EMET は昨今セキュリティ情報でも緩和策として説明することもあり、目にしていただく機会も増えてきました。そもそも EMET ってなに?どうやって使うの?というご質問を多くいただきます。

そこで、数回に分けて、EMET の基本について解説していきたいと思います。


■EMET の入手先

EMET は、マイクロソフトが無償で提供しているセキュリティ ツールです。とりあえずツールを入手して触ってみたい!という方は、以下から入手してください。

セキュリティ TechCenter Enhanced Mitigation Experience Toolkit

現在の最新版は、EMET 5.0 です。 EMET 5.0 をダウンロードする (英語情報) からダウンロードください。


Enhanced Mitigation Experience Toolkit (EMET) とは?

EMET は、ひとことでいうと、 「システムやアプリケーションに対して、攻撃を緩和する機能を有効にすることで、脆弱性の悪用を防ぐ」 ためのツールです。

攻撃者が、被害者の端末で何か悪事を働こうとする場合、被害者の端末にあるソフトウェアの脆弱性 (プログラム上にあるセキュリティの問題点) を悪用します。

たとえば、「細工された Word 文書ファイルを開くと、Microsoft Word の脆弱性が悪用され、リモートでコードが実行される」という場合を例に挙げてみます。細工された文書ファイルには、脆弱性を悪用するためのコードが仕組まれており、Word 文書ファイルを開くと、Word プログラムが起動し、Word 文書がデータとして読み込まれますが、この際に、以下の流れで攻撃が行われます。

  1. Word プログラムの脆弱性の悪用により、本来のプログラムの処理の流れを変更し、攻撃者が意図する処理を実行するように誘導します。
  2. 攻撃者が意図する処理が実行されることにより、たとえばキーロガーやバックドアのダウンロードと実行、オンライン送金の操作、クレジットカード情報の搾取などが起こります。

図 1: 脆弱性を悪用する攻撃の流れの例

脆弱性に対する対策としては、まず、「セキュリティ更新プログラムを適用する」対策があげられます。プログラムに存在している脆弱性を修正することで、悪用する脆弱性がなくなるため、攻撃や悪用は成功しません。

その他の対策としては、「緩和策を適用する」という対策があります。「緩和策」を適用しても、脆弱性自体は存在したままですが、脆弱性を悪用する手法をあらかじめブロックしておくことで、攻撃を失敗させ、被害を防ぐことを目的としています。

EMET は、この「緩和策をアプリケーションやシステム (以下プログラム) に適用する」という対策を行うためのツールです。緩和策には様々な手法があります。最新の OS では、多くの緩和策が用意されていますが、プログラムによっては利用されていない (有効化されていない) 場合があります。EMET は、プログラムに対して、OS が提供する緩和策を強制的に適用するほか、EMET 独自の緩和策を適用します。攻撃を検知した場合には、攻撃を受けたアプリケーションやシステムを強制終了することで、攻撃による被害を回避します。

図 2: 脆弱性対策の比較

■EMET の使いどころは?

EMET は脆弱性を悪用する攻撃に対して有効性の高いツールですが、上述したように、脆弱性の対策はセキュリティ更新プログラムを適用することが基本的な対策であり、また、その他の一般的なセキュリティ対策(マルウェア対策ソフトの利用など) も必要な対策であることには変わりありません。

一方で、特に以下のようなケースででは、EMET が有効なセキュリティ対策となることが期待できます。

・ゼロデイ攻撃への対策

脆弱性の対策を行うにはセキュリティ更新プログラムでの対策が最善の対策です。しかし、セキュリティ 更新プログラムがまだ提供されていない「ゼロデイ攻撃」が発生している場合は、EMET の緩和策を適用することで、攻撃のリスクを低減することができます。

攻撃に対して、製品ベンダーから回避策 (たとえば脆弱性の存在している機能を利用しない) が提示される場合もあります。EMET は、回避策を適用するまでのリスク軽減や、回避策の利用が難しい場合の対策としても有効です。

図 3: ゼロデイ攻撃における保護策

・セキュリティ更新プログラムを適用するまでのセキュリティ対策

脆弱性が製品ベンダーと発見者の間で協調的な取り組みとして扱われている場合、脆弱性情報とセキュリティ更新プログラムの公開が同時に行われます。この場合は、セキュリティ更新プログラムを適用することで、対策をとることができます。しかし、セキュリティ更新プログラムを適用するまでには、適用テストを行うなど、ある程度の時間が必要になる事も少なくありません。このような場合、更新プグラムが公表された段階で、該当するプログラムに EMET を適用することで、更新プログラムを適用するまでの間に攻撃を受けるリスクを低減することができます。

図 4: 協調的な脆弱性報告の場合における保護策

・レガシー プログラムへのセキュリティ対策

EMET は、マイクロソフトの製品だけではなく、他社製のアプリケーションに適用可能です。サポートが終了してしまったソフトウェアや、自社開発のソフトウェアでメンテナンスの体制が十分でないものなどの、レガシー プログラムに対して EMET を適用することで、攻撃を受けるリスクを低減することができます。

■ つづきは・・

今回は、EMET とは何か、そして使いどころの概要をご説明しました。次回は、「第 2 回 EMET よくある誤解」と題し、EMET を使う上でよくある質問や誤解されている点の解説をお届けする予定です。