Microsoftが無償で提供している「Enhanced Mitigation Experience Toolkit」(EMET)は、マルウェアの攻撃からPCを守る有用なソフトウェアだ。一般的なセキュリティソフトとともに、使い方を覚えておきたいところ。全4回の予定で、EMET 5.0の導入や設定、具体的な使い方を解説していく。

【ハウツー】今からはじめるMicrosoftの脆弱性緩和ツール「EMET 5.0」

■第1回 - みんな狙われている! より高まるセキュリティの重要性
■第2回 - Windows 8.1にEMET 5.0をインストールする
■第3回 - EMET 5.0の基本的な使い方
■第4回 - EMET 5.0の証明書信頼設定とトラブルシューティング

*****

IPA(独立行政法人情報処理推進機構)の「2014年版 情報セキュリティ10大脅威」によれば、誰もが被害者になりうるネットバンキングの不正送金は5位にランクイン。2013年版では1位だったが、2014年はサーバーから盗み出したアカウント情報の漏えいや、不正ログインなどが上回っている。

IPAの「2014年版 情報セキュリティ10大脅威の概要」より。IPAのWebサイトでぜひ目を通していただきたい

このように多角的な攻撃が日々増加し、今これをご覧になっているアナタが、いつ被害者になってもおかしくないのだ。「PCを使っているだけなのに、なぜ攻撃を受けてしまうのか」と、疑問に思う方もおられるだろう。Windows環境に限れば、脆弱性(ぜいじゃくせい)を狙ったマルウェアが多数存在することが1つの大きな理由だ。脆弱性とは、OSやアプリケーションといったソフトウェア全般が抱えるセキュリティ上の弱点で、セキュリティホールともいわれる。マルウェアは、悪意を持つソフトウェアの総称だ。

Windows OSを構成するコンポーネントやアプリケーションに潜む脆弱性を悪用するマルウェアは、遠方からのコード実行やリモート制御といった複数の手法を組み合わせる。これにより、フィッシングサイトへ誘導したり、ネットバンキングへの入力内容を盗み取ったりしているのだ。

マルウェアからWindows 0S、ひいてはユーザーを守る1つの手段としてMicrosoftは、対策ソフトウェアを提供している。Windows 7には「Microsoft Security Essentials」を無償提供し、Windows 8および8.1では「Windows Defender」が標準搭載となった。ただし、これらはマルウェアの侵入や感染を防ぐ対策ツールであり、セキュリティリスクをゼロにすることはできない。あくまでもマルウェアの存在をMicrosoftが認知し、マルウェアを見つけ出す定義ファイルの更新が必要だからだ。

日本マイクロソフトが毎月開催している「マイクロソフトセキュリティ情報」より

Microsoftは毎月、セキュリティ更新プログラムをリリースして脆弱性を修正しているが、近年は更新プログラム提供前の脆弱性が悪用されてしまうゼロデイ攻撃が少なくない。例えば、2014年8月リリースのセキュリティ更新情報「MS14-051」はInternet Explorerの脆弱性をふさぐものだが、日本マイクロソフトによれば、リリース前の悪用事例を確認したという。

「Enhanced Mitigation Experience Toolkit」(EMET)とは

MS14-051が示す脆弱性は、「Enhanced Mitigation Experience Toolkit」(以下、EMET)を事前にインストールすれば安全だ、と日本マイクロソフトの担当者は説明している。Microsoftが提供するEMETは、メモリー破損の脆弱性を利用するマルウェアの攻撃を未然に防ぐ脆弱性緩和ツールだ。

2009年10月にファーストバージョンをリリースし、2014年9月の時点で最新版はバージョン5.0である。前述したゼロデイ攻撃などを防ぐため、アプリケーション単位で緩和策を指定して保護するためのツールだ。

米Microsoftが2014年7月31日(現地時間)にリリースした「EMET 5.0」

一例として、Windowsには「DEP」(Data Execute Prevention:データ実行防止)というセキュリティ機能があり、Windows XP Service Pack 2から実装された。概要を簡単にいうと、Windowsの脆弱性を悪用して特定のメモリー領域に書き込まれたデータ(悪意あるプログラム)の実行を防ぐ機能だ。

Windows 8.1のDEP機能。標準設定では保護対象をOSやサービスなどに限定している

だが、上図のように初期状態は、Windowsを構成するコンポーネントやサービスに限定した保護となっているため、アプリケーションに脆弱性が潜んでいた場合、攻撃を受けるリスクは避けられない。EMETは、このような脆弱性が潜むアプリケーションに対して、その脆弱性を緩和し、攻撃を仕掛けるマルウェアなどから保護する。

さらにEMETは、「Certificate Trust Configuration」(証明書信頼設定)という機能を持つ。各TLS(SSL)サイトの信頼性をEMETが検証し、通信内容を盗聴する中間者攻撃(MITM)の可能性を通知する。詳しくは次回以降で紹介するが、推奨設定でEMETをインストールした場合、Microsoftの各サービス、Twitter、Facebook、Yahoo!用の証明書信頼に対する規則が、自動的に追加する仕組みだ。

EMET 5.0の「Certificate Trust Configuration」から、保護するSSL/TLSサイトを設定する

改めて整理すると、一般的なマルウェア対策ツールは脆弱性を悪用するマルウェアの侵入を防止し、Microsoftのセキュリティ更新プログラムはOSその他の脆弱性を解消する。そしてEMETは、未知の脆弱性を狙うゼロデイ攻撃を未然に防ぐ。それぞれが異なる領域でセキュリティを高めており、EMETは多層防御に欠かせない存在といえるのだ。

基本的にEMETは、ソフトウェアベンダーの各マルウェア対策ソフトとも共存できる。ただし、EMETが持つプロセス監視機能を、マルウェア対策ソフトが攻撃と誤認するケースもある。マルウェア対策ソフト側がEMETと同種の機能を備える場合、衝突して不具合を生じる可能性も拭いきれない。気になるようなら、ソフトウェアベンダーのサポートセンターへ事前に確認するといいだろう。

このように導入メリットの大きいEMETだが、必ずしも万人向けではない。理由の1つとして、既存のソフトウェアの動作に影響を及ぼすケースが挙げられる。例えば、Webブラウザーのプラグインに対してもEMETの脆弱性緩和が機能するため、場合によってはWebブラウザーが正常に動作しないこともある。

「Application Configuration」から、アプリケーション単位で適用する脆弱性緩和策を選択できる

環境やバージョンによって異なるため断言できないが、筆者が試した限りでは、64ビット版Windows 8.1上でデスクトップ版Skypeがハングアップする症状が見られた(解決法は今後の記事で紹介する)。

他にも、脆弱性緩和の対象となるアプリケーション側で、EMETの動きを「ソフトウェアへのハッキング」と誤認し、常にハングアップするケースもあるそうだ。これはEMET側の設定によって回避できるが、いずれにせよEMETをうまく使うには、ある程度の経験と理解が必要となる。次回はまず、EMETの導入方法から紹介していく。

阿久津良和(Cactus)