このページの本文へ

モダンマルウェアの脅威と対策 第3回

なぜ従来型のセキュリティ手法ではだめなのか?

2012年06月13日 06時00分更新

文● アスキードットPC編集部

  • この記事をはてなブックマークに追加
  • 本文印刷

シグネチャの回避

 マルウェアを発見し阻止する従来のアプローチは、マルウェアのサンプルを収集し、そのシグネチャを書き留めるというシンプルな概念をもとにしている。この戦略は受動的であるがゆえの欠点をいくつか持っている。

 まず設計の面で、保護手段はマルウェアが「流出」してからでないと供給できない。それまでの間、ネットワークは脅威を検出できないままである。新しい、あるいは未知の不審なトラフィックのサンプルをキャプチャし鑑定してからでないと、セキュリティベンダは検出用シグネチャを作成できず、企業のネットワークも保護できない。このことは、新しいシグネチャが作成されダウンロードされるまでの間に、ユーザーやネットワークが新しいマルウェアによって破られることを意味する。企業のネットワークは数週間や数カ月間無防備となり、新しいマルウェアが疑わしいものと判断され、収集され、解析され、特定されるまでの間この状態は続く。この期間中、攻撃者は自由に感染したネットワークやユーザーを支配下におく。

 モダンマルウェアは、このような弱点を突いて勢力を広める。標的型マルウェアやポリモーフィズム(後述)は、シグネチャベースによる検出に固有の弱点を突く、共通のテクニックとなりつつある。

標的型マルウェア

 マルウェアがネットワークの脅威になる以前、マルウェアのおもな目的は、できるだけ広範囲にマルウェアをばらまくことだった。実際、セキュリティ業界は長い間、マルウェアをランク付けするのに、一定の期間に何台のマシンに感染するかという指標を使っていた。このようなマルウェアは、新しいサンプルの検出がたやすく、収集するのも比較的簡単だ。

 しかしながら、モダンマルウェアはこのようなモデルから変化しており、よりモダンなマルウェアはよりインテリジェントで、高度にネットワーク化されている。これにより攻撃者は遠隔地から目標のユーザーをコントロールできる。精通した攻撃者にとっては、何百万もの感染したユーザーはもはや必要ない。スキルの高い攻撃者なら、1台の感染したホストだけできわめて洗練された攻撃を行うことができる。

 このような場合、攻撃者はより標的を絞り込んだマルウェアに移行する。これらの種類のマルウェアは、特定のユーザーやネットワーク向けに特化した設計がされている。Stunxnetは標的型マルウェアの一例である。これは、特定の資源がある特定のネットワーク上でのみ動作する。このアプローチには2つの重要な利点がある。まず、マルウェアが捕獲される可能性がほとんど考えられなくなる。何百万ものコピーが動いている従来のマルウェアとは違い、このマルウェアは2つ3つしか存在しないからだ。次に、ターゲット以外のネットワークには感染しないように設計されていることで、不必要に注目を集めることもない。このような標的型アプローチは、知的財産を狙った、世界でもっとも洗練されたネットワーク攻撃であると折り紙がつけられるようになってきた。

ポリモーフィズム

 ポリモーフィズム(polymorphism)はマルウェアでしばしば使われてきた技術だが、今では一般的になってきている。このアプローチはシグネチャによる検出を避けるために、定期的に自分自身を変異させるものである。たとえばあるマルウェアアプリケーションは、他に何も用途のないコードのセクションを持っていて、そこを書き換えることでマルウェアのシグネチャを変えている。

従来のネットワークコントロールは無力

 伝統的なネットワークセキュリティソリューションは、モダンマルウェアの挑戦に対応できるような設計がまったくなされていない。伝統的ファイアウォールやIPSソリューションはトラフィックを分類する。そしてファイアウォールはトラフィックを許可したり拒否したりし、IPSはどのシグネチャを適用するか決定するが、いずれも対象トラフィックの指定はポート番号をベースにしている。そのため、回避能力を持つ動的な脅威、たとえばモダンマルウェアは、予期せぬポートで通信可能となり、ネットワークへのアクセスを得て、検出から逃れられる。

・ファイアウォール

 ポートベースのファイアウォールは、防御の最前線として使われることが多く、トラフィックの粗いフィルタリングと、ネットワークを複数の個別のパスワードで保護されたセグメントに分ける機能を持つ。ポートベースのファイアウォールの欠点の1つは、ネットワークを出入りする通信を識別し制御するのにプロトコルとポートを使っている点である。このポート重視の設計は、マルウェアや回避能力を持つアプリケーションのように、ネットワークに接続できる空いているポートを見つけるまでポートをあちこち変えるものについては無力である。さらに、ファイアウォールそのものはマルウェアを検出したりコントロールしたりするのにはあまり役に立たない。

 ポートベースのファイアウォールにマルウェア対策が追加されたソリューションとして、ブレードモジュールやUTM(Unified Threat Management)プラットフォームがあるが、正確さに劣り、パフォーマンスの低下もかなり大きい。

・侵入防止

 侵入防止システム(IPS、Intrusion Prevention System)は、ファイアウォールよりもトラフィックのより深い部分を見るように設計されている。しかしながら、IPSソリューションは、すべてのトラフィックに対してフルセットのIPSシグネチャチェックを行うわけではないのが通例だ。むしろ、IPSはポートをベースにして、特定の種類のトラフィックに対して、適切なシグネチャを適用しようとする。

 さらに、IPSソリューションはネットワークを保護するのに必要なマルウェア検出能力を持っていない。ほとんどのIPSソリューションは数百のありふれたマルウェアしか検出できない。実在するマルウェアは数万種類もあるのでこれでは不充分だ。

・プロキシ

 プロキシソリューションもまた、ネットワークトラフィックを制御する手段である。しかし、プロキシは限定された種類のアプリケーションやプロトコルしか見ないうえ、監視すべきネットワークトラフィックの一部しか監視しない。設計上、プロキシは制御しようとするアプリケーションを模擬しなければならないため、アプリケーションのアップデートや新しいアプリケーションへの対処に苦心する。その結果、プロキシはいくつかのプロトコルについては深い知識を持っているものの、ハッカーが自分たちの本当のトラフィックを隠すために使っているトンネリングや、プロトコルに包まれるプロトコルといったものへの幅広いサポートが欠けている。最後の問題は、パフォーマンスの低下だ。これはプロキシにおけるデータを受け取り、それを求める接続先に送る、という動作が必然的に持つ弱点である。

 これらのネットワーク制御の問題点は、どれも正確にアプリケーションとマルウェアを認識できないことにある。いずれも、トラフィックの一部だけしか見ないのに、パフォーマンスの問題を抱えている。

 セキュリティポリシーは、ユーザーと、使われているアプリケーションの認識をベースにすべきである。ただ単にIPアドレス、ポート、プロトコルだけをベースにすべきではない。誰と(ユーザー)何が(アプリケーションとコンテンツ)ネットワークにアクセスしているかを知らず、制御もしないでいると、企業のネットワークは、ポートベースのネットワーク制御をバイパスできるアプリケーションとマルウェアによって危険にさらされるだろう。

カテゴリートップへ

この連載の記事
  • 角川アスキー総合研究所
  • アスキーカード