セキュリティ業界を根本的に変える――McAfeeの新技術「DeepSAFE」とは


 米McAfeeは9月13日、米Intelの開発者向けカンファレンス「Intel Developer Forum」において、OS下の脅威を排除するという新たなセキュリティ技術「McAfee DeepSAFE」を発表した。

 この技術は、2011年2月に完了したIntelによるMcAfeeの買収以降、両社の戦略的パートナーシップとしては初の成果。「セキュリティ業界を根本的に変える」というDeepSAFEについて、McAfeeでセキュリティリサーチ担当ディレクターを務めるDavid Marcus氏に聞いた。

攻撃者はセキュリティ対策の「抜け穴」を把握している

McAfeeでセキュリティリサーチ担当ディレクターを務めるDavid Marcus氏

 本題に入る前にまずは、コンピューターを取り巻くセキュリティ脅威の現状を説明しておこう。昨今、セキュリティソフトによる検知を逃れるために、自分自身をルートキットで隠すステルスマルウェアが出回っている。

 ルートキットは、プログラムプロセスやデータを通常の方法で見えなくする悪用のテクニックだ。特にカーネルルートキットはOSの一部を書き換えて動作しているため、OS上で動くアンチウイルスソフトから発見するのは難しい。アンチウイルスソフトはOSのAPIを使ってメモリに存在するプログラムをチェックするが、ルートキットによってメモリテーブルが書き換わっていると、メモリにマルウェアが存在しないという「偽の応答」が可能になる。

 たとえばマルウェアがファイルシステムを改ざんしている場合、アンチウイルスソフトが全ファイルのスキャンをする際、マルウェアファイルがファイルシステム上にないとごまかすことができる。そうすれば通常のファイルスキャンでは検出できない。

 特に問題になっているのがメモリ管理コアのページテーブルを操作するルートキットだ。アプリケーションプログラムのメモリ空間は実メモリに直接割り当てられているのではなく、OSが管理する仮想アドレスを使ってマッピングされている仮想メモリを使っている。この仮想アドレスを管理しているのがOSのメモリ管理コアで、ページテーブルで管理している(本の目次のようなものと思ってほしい)。

 メモリ管理ルートキットがメモリ管理コアに介入すると、OS上で動作するアンチウイルスソフトがメモリ上のマルウェアの存在を確認することができなくなる。

 多くの攻撃者は従来のOSをベースにしたセキュリティ対策から逃れる方法を十分に把握しており、McAfeeでも「今やOSを超越したセキュリティソリューションが求められている」と危惧を抱いていたという。「我々の対策手法は攻撃者に解析し対処されるので、こちらとしても新たな対応策が求められていた」とDavid氏は言う。

怪しいメモリ管理参照を「OSの外から監視」するのがDeepSAFEの第一歩

DeepSAFEのソフトウェアスタック説明図。DeepSAFEのコアはOSとハードウェアの中間に位置して、OSごと監視するように動作する。問題があればOS上で動作しているMcAfeeのアプリケーションがユーザーに通知する

 David氏によると、DeepSAFEのアイデアが生まれたのは今から2年前。McAfeeとIntelの技術者で意見交換をしている際に、「Intel CPUが用意している拡張機能をコンピューターセキュリティのために使えないか?」という会話が交わされたのがきっかけだったと振り返る。

 OSの中で起こっているステルス化に対処するためには、OSの外からチェックするのが最もよい。先に書いたファイルシステムのルートキットを検知するために、アンチウイルスソフトの中にはCD-ROMから起動して、ファイルスキャンする方法がある。

 この方法ならファイルシステムのルートキットが含まれていても、OSを使わずにファイルをチェックするので、マルウェアを発見することができる。しかし、この方法を使うとスキャン中、パソコンとしての通常の利用ができなくなるという欠点がある。

 この問題は「OSが動作していても監視できるシステム」があれば解決する。DeepSAFEのコア機能は、OSの外から不正な挙動を監視している。このためマルウェアが隠れようとしてもマルウェアからDeepSAFEの存在はわからず、かつ監視されていることも把握できない。それを可能にするキーワードが「仮想化」だ。アンチウイルスソフトがOSを含め丸ごと監視すれば、ルートキットによる問題は起こらない。

 従来、仮想化によるアンチウイルスソフトがなかったのは、ソフトウェアのみの仮想化では、動作が重くなるというパフォーマンス上の問題があったからだ。

 そこでDeepSAFEはIntelの仮想化をサポートするためのVT-xという拡張機能を使用している。VT-xはIntelのCore 2 Duo CPUから段階的にサポートされている(BIOSで無効にされていたケースやCore 2 Duoでも下位CPUではサポートしていなかったが、Core i 3/5/7ではすべてサポートされている)。

 このVT-xを使うことで性能低下を最小限に抑え、OSを動作させたまま実用的なチェックが可能となる。

 DeepSAFE(の検知方法の一端)はメモリ管理コアのページテーブルの参照を行うなどの振る舞い(ビヘイビア)をチェックすることでマルウェアを判定する。

 正規のプログラムであるOSや解析ツールもページテーブルの参照を行うが、マルウェアには特有の挙動があるため、McAfeeがあらかじめ解析している怪しい挙動の組み合わせによってマルウェアかどうか判定するようになっている。特定のターゲットに対して持続的に実行されるAPT(Advanced Persistent Threat)攻撃で使われるような新種のマルウェアでも対応可能だ。

 判定にビヘイビア技術を使用しているため、将来新しい手法が登場しても柔軟にアップデートによって対処できるようになっているという。

DeepSAFEはマルウェアを町の外から監視する監視衛星

 DeepSAFEは既存のアンチウイルスソフトを置き換えるものではなく、検知手法の追加となる。従来のアンチウイルスソフトがマルウェアの手配書や振る舞いで捕まえる「町の一般警官」だとすれば、DeepSAFEはマルウェアを町の外から監視する監視衛星のようなものだ。

 McAfeeはDeepSAFEの技術を順次製品に投入する予定で、コンシューマー向けのMcAfeeスイート製品に対しては2012年中にアップデートで対処するとしている。McAfeeのコンシューマー製品は常に最新版にアップデートされるため、対応パソコンにインストールしていれば利用できるようになる。

 「今回のDeepSAFEは我々の第一歩であり、バージョン1である。今後はIntelプラットフォームの別の拡張機能を活用するだけでなく、他社(AMD)の拡張機能もサポートするだろう」とDavid氏は今後の展望を語る。Intel CPUの拡張機能にはIntel TXT(Trusted eXecution Technology)など、セキュリティ向上に利用できる機能がある。また、McAfeeはIntelの一部門ではなく子会社であることから、Intelプラットフォーム以外の拡張機能の活用も期待できる。

 「他社もDeepSAFEと同様の手法を採用するだろうが、DeepSAFEは他社よりも24カ月のアドバンテージがあるため、同業他社よりも一歩先にいる」とDavid氏はMcAfeeの先見性をアピールする。

 コンシューマーのパソコンにルートキットやステルス性の高いマルウェアが入り込む可能性は高い。これらを的確に判別できるDeepSAFEは、David氏の言葉を借りるまでもなく「これからのセキュリティベンダーが今後活用するテクノロジー」と言えるだろう。


関連情報


(小林 哲雄)

2011/10/13 06:00