ソリューション

マクニカネットワークスが取り扱う製品で、皆様の課題を解決します

安全神話を崩壊させたGumblarにどう挑む?3製品に見るドライブバイダウンロード攻撃への最適解

安全神話を崩壊させたGumblarにどう挑む?3製品に見るドライブバイダウンロード攻撃への最適解

本講座は、ITエンジニアの為の明日から役に立つシステム構築スキルや技術・製品スキルなどをご提供します。まだお客様へご提案したことがない製品や技術でも、ポイントを押さえた実務知識を短時間に把握したい方にお勧めです。

【今回の講座】

センセーショナルな事件として報道されたGumblarという攻撃は、「怪しいWebサイトへアクセスしなければ大丈夫」という安全神話を完全に崩壊させました。このGumblarの他にも、「普通のWebサイトを見ただけで感染」させるドライブバイダウンロード(Drive-by Download)攻撃は多数発生しています。今後もドライブバイダウンロード攻撃はしばらく続く可能性が高く、クライアントPCは常に攻撃の危険に晒されることになります。 今回はGumblarだけに限らず、ドライブバイダウンロード攻撃全般の対策を紹介します。クライアントPCが正規のWebサイトへアクセスしてから、情報漏えい等の実被害が発生するまでの各ステップを理解したうえで、弊社が取り扱っている製品でいかにドライブバイダウンロード攻撃を防ぐのかを解説していきます。

重要なのは、1つのステップに対する防御策だけでは不十分であり、セキュリティ対策の基本である「多層防御」が、ドライブバイダウンロード攻撃に対しても非常に重要であるということを理解することです。

ドライブバイダウンロード攻撃の流れ

普通のWebサイトを閲覧してから、情報漏えい等の実被害が発生するまでの流れは、図1の通りです。6つのステップに分かれます。

タイトル

図1.Webサイトの閲覧から実被害までのステップ

ステップ(1)

一般ユーザが正規のWebサイトへアクセスへします。
この正規のWebサイトは、攻撃者によって事前にJavaScriptがコンテンツ内に埋め込まれている状態です。結果として、そのJavaScriptを読み込んでしまうことになります。JavaScriptはほとんどの場合、発見や検知を回避させるための難読化が施されています。難読化を解除すると現れるのが、下記のように不正なWebサイトへの見えないリンクです。

不正サイトURL

ステップ(2)

攻撃者が用意した不正なWebサイトへアクセスさせられてしまいます。ブラウザの画面上は正規サイトのコンテンツしか表示されないため、ユーザは不正なWebサイトへのアクセスに気がつきません。

ステップ(3)

不正なWebサイトからマルウェア(Exploit、攻撃コード)をダウンロードしてしまいます。これらのマルウェアは、下記のようなブラウザ、もしくはブラウザのプラグインとして動作するソフトの脆弱性を突くことで、ステップ4以降のウイルスのダウンロードとインストールを実行します。

  ブラウザ (IE, Firefox, Safari)
  Adobe Reader
  Adobe Flash Player
  RealNetworks Real Player
  Microsoft Office
  JRE (Java Runtime Environment)

ステップ(4)

脆弱性を突かれた結果、ウイルス(実行ファイル)をダウンロード、インストールさせられます。インストールされるウイルスは1つだけとは限らず、2つ目、3つ目と次々にダウンロードされるケースもあります。この場合、1つ目にインストールされるウイルスは、2つ目以降のウイルスをダウンロードする目的のためにダウンローダと呼ばれ、ステップ5で発生するようなPC内部での情報搾取等の活動を行うのは、2つ目以降にインストールされるウイルスであるケースが多くみられます。

ステップ(5)

感染したウイルスは、PC内部で様々な活動を行います。Gumblarの場合は、FTP通信をモニタリングし、FTPアカウントの情報を盗み、その情報をファイルに保存します。

ステップ(6)

PC内部で盗んだ情報、Gumblarの場合はFTPアカウントの情報を、外部にある攻撃者のサーバへ送信します。

未知のWebサイトが持つ脅威を6200万ユーザで共有!Blue Coat社製品による対策

ステップ(2)に対する対策

Blue Coat ProxySGはURLフィルタリング機能を持っており、その代表格はBlue Coat社自らで運用を担っているBlue Coat Web Filterです。Blue Coat Web Filterは、70を超すカテゴリにWebサイトを分類しデータベースとして保持していますが、これだけでは増え続けるWebサイト全てを網羅し、万全なURLフィルタリングを実現することは到底できません。新たに生まれたWebサイトが、ドライブバイダウンロード攻撃を仕掛けるための悪意のあるサイトかもしれないからです。たとえデータベースが更新され続けても、それだけでは不十分というこです。

そこで登場するのが、WebPulseと呼ばれるクラウドサービスです。WebPulseはBlue Coat Web Filterの既存データベースには存在しない新たなWebサイトの情報を収集し、瞬時にカテゴライズ判定を行うサービスであり、Blue Coat ProxySGでBlue Coat Web Filterを使う全てのユーザが対象となっています。そのユーザ数は推定でおよそ6200万と言われており、WebPulseが形成しているクラウドサービスが他に類を見ない大規模なものであることがわかると思います。

Gumblarに代表されるドライブバイダウンロード攻撃を成功させるためには、感染したクライアント端末から外部のURLに対してWebアクセスを実行しなくてはなりません。WebPulseはここで最大限に効果を発揮します。Blue Coat Web Filterの既存データベースに存在しないWebサイト情報は、瞬時にWebPulseに送付されカテゴライズ判定を受けます。Blue Coat ProxySGがこの判定結果を基づきWebサイトへの通信をブロックすれば、ドライブバイダウンロード攻撃を中断できます。(図2)Blue Coat社によると、WebPulseは1分間に1億5千万ものテゴライズ判定処理をこなしているそうです。

Blue Coat WebPulseのクラウドサービス

図2.Blue Coat WebPulseのクラウドサービス

一方で興味深いのは、WebPulseによってカテゴライズ判定対象となるのが既に存在する正規Webサイトではないという点です。具体的には、Blue Coat Web Filterが持つカテゴライズデータベースにマッチしたWebサイトに対して、WebPulseは働きません。正規Webサイト上に密かにドライブバイダウンロード攻撃が仕掛けられていたとしても、Blue Coat ProxySGはアクセスを許可してしまいます。これは、正規のWebサイトそのものには害がなく、WebPulseによって正規Webサイトを閉鎖に追い込むことは避けなければならない、というBlue Coat社の思惑が働いているためです。

ここで、実際のWebPulseの設定を見てみます。WebコンソールからConfiguration > Content Filtering > Blue Coatを選択します。「Blue Coat Web Filter」タブではカテコライズデータベースを定期的に更新する為のユーザ名とパスワードが設定できます。WebPulseを利用するには、こちらをまず設定してください。右隣の「WebPulse」タブがWebPulseに関連する設定画面になります。デフォルトで“Enable WebPulse service”のチェックがONになっているので、このままの状態でWebPulseが利用できます。(図3)カテゴライズ判定に基づき、Blue Coat ProxySGでは2つの動作が選択できます。1つ目は、WebPulseによる判定結果を受け取るまでWebブラウジングを止めるImmediately動作(最初のリクエストからフィルタ)。もう1つは、WebPulseによるカテゴリ判定結果を待たずに“Pending”カテゴリに分類してバックグラウンドで処理を継続するIn the background動作(最初のリクエストはトリガとなるだけ)。デフォルトではImmediatelyになっているので、要件に応じて調整することも可能です。

Blue Coat WebPulse設定画面

図3.Blue Coat WebPulse設定画面

WebPulseが判定した結果をBlue Coat Web Filterを利用する全ユーザで瞬時にシェアできるのは、クラウドサービスならではの大きな魅力の一つです。世界中でドライブバイダウンロード攻撃の脅威が拡大する事態になっても、WebPulseは6200万ものユーザ規模で対抗することができます。Blue Coat Web FilterがURLフィルタリング機能として常に成長し新たな脅威にも迅速に対応できるのは、WebPulseとの綿密な連携があるからこそ。Blue Coat Web FilterとWebPulseを組み合わせてご利用いただくことを、ぜひともお勧めします。

ステップ(3)(4)に対する対策

ドライブバイダウンロード攻撃により、悪意のあるWebサイトからマルウェアがダウンロードされてしまう場合もあるでしょう。Blue Coat ProxySGは、ICAP連携によるウイルススキャンサービスをサポートしており、その代表的なものがBlue Coat ProxyAVです。ProxyAVは、ウイルス対策ソリューションに定評があるKaspersky、McAfee、Sophos、Pandaをウイルススキャンエンジンとして選択することができます。悪意のあるWebサイトからクライアント端末にマルウェアがダウンロードされてしまった場合の対策として、Blue Coat ProxySGと綿密な連携が可能なProxyAVにマルウェア検出、駆除を委ねることを強くお勧めします。

ステップ(6)に対する対策

ドライブバイダウンロード攻撃は、攻撃を仕掛けた側が目的の情報を吸い上げることで完結します。この対策にもプロキシが活躍します。プロキシ以外の外部インターネット向け通信を禁止している企業は少なくありません。認証プロキシを用いるとユーザ単位での制御が機能するため、感染したウイルスが外部と通信を行うことを防止できる可能性が高くなります。LDAPやNTLM認証を得意とするBlue Coat ProxySGであれば、ドライブバイダウンロード攻撃を最終段階で抑制することになります。

脆弱性をもとにしたIPSが亜種をシャットアウト!McAfee社製品による対策

ステップ(3)(4)に対する対策【ネットワークIPS(侵入防御システム)】

McAfee Network Security Platform(以下、NSP)はシグネチャベースによる不正パケットの検出およびブロックが行えますが、特筆すべきはそのシグネチャの内容です。 一般的なシグネチャベースの防御は、攻撃のパターンを元にシグネチャが書かれます。したがって、亜種などが発生すると亜種用の新しいシグネチャが別途必要となります。 NSPの場合は、攻撃パターンではなく、脆弱性をベースに書かれているため、同じ脆弱性を突くような亜種が出現しても、新たなシグネチャを適用する必要がありません。そのため、攻撃コードが日々変わるGumblarのような脅威に対しても、有効な対策となりえます。  また、Artemisという新技術により、シグネチャ未公開の脆弱性を突くような攻撃が発生した場合にも対応できます。McAfee社では、新たなマルウェアを検知すると、即座にデータベースにてその情報を公開しています。そのデータベースを照合することにより、シグネチャのリリースを待たずして防御できるのです。具体的な動作例を見てみましょう。

  1. クライアントが不正なファイルをダウンロードし始める。
  2. NSPでは流れているパケットからダウンロードファイルを生成し、中身をチェックする。
  3. 不正なファイルである疑いがある場合は、McAfee社のArtemis用のサーバにそのファイルのハッシュ値をDNSプロトコルに乗せて送信する。
  4. Atemis用のサーバがデータベースとそのハッシュ値を照合し、既知のマルウェアであれば、その結果をNSPに返す。
  5. NSPにてパケットが破棄され、クライアントにマルウェアがダウンロードされることを防ぐ。

通常であれば、脆弱性が検知されてからシグネチャやウイルス対策のパターンファイルがリリースされるまで数時間から数日間を要してしまい、その間はゼロデイ攻撃の標的となります。しかし、上記のようにArtemisを用いることにより、リスクを大幅に低減できます。

ステップ(3)(4)(5)に対する対策【ホストIPS】

社内の端末であれば、ネットワークIPSで十分な対策が打てます。しかし、公衆無線LANやモバイルカードによってインターネットへ直接接続を行うようなモバイルPCに対しては、IPSで対策することはできません。そこで登場するのが、クライアント上で動作するホストIPS。McAfee Host Intrusion Prevention(以下、HIP)では、IPS機能に加え、アプリケーション制御が行えるため、不正なプログラムが実行されることを防げます。

ステップ(1)(3)(4)に対する対策【Virus Scan】

最もポピュラーな方法ではありますが、ウイルス対策による防御も有効となります。McAfee Virus Scan Enterprise(以下、VSE)ではGumblarなどのドライブバイダウンロード攻撃に用いられる難読化JavaScript、Exploit-PDF、最終的に感染するウイルスのパターンファイルが用意されています。

シグニチャ更新の頻度で脅威に対抗!SonicWALL社製品による対策

ステップ(1)(3)(4)に対する対策

SonicWALL NSA(Network Security Appliance)に実装されたゲートウェイ・アンチウイルス及びIPS機能は、1時間に1回の頻度でシグネチャの更新確認を行います。難読化JavaScript、Exploit、最終的に感染するウイルスに対して、常に最新の防御用シグネチャを提供します。シグネチャ及びマッチングエンジンは全て自社開発であり、他メーカからの提供は受けていません。高い検知率とスループットを提供します。

最後に

ここまで挙げた対策をみてもわかる通り、1つのステップだけ対策しておけば大丈夫というものではありません。ステップごとに複数の対策を実装する、多層防御が重要です。なぜなら、上記に挙げた対策のいずれも、シグネチャやURLフィルタなどのブラックリスト系ソリューションであるがゆえに、攻撃者とのイタチゴッコになってしまい、単独では完璧な対策とはなりえません。攻撃者視点で見ると、最終目的である情報の吸い上げを達成するには全てのステップを成功させる必要があります。しかし、いずれかのステップで失敗すれば、攻撃者の最終目的は達成されないのです。つまり、対策者側としては、1つのステップを突破されることを前提としたセキュリティ対策が必要であるということです。1つのステップを突破されても、次のステップで対策が打たれていれば、最悪の事態になることはありません。だからこそ、1つの対策だけに力を注ぐのではなく、攻撃者の次の一手を防ぐための多層防御が、企業のセキュリティ対策に欠かせない最良の方法となるのです。

いつか見た景色 from Staff's Albums