シマンテックは今月6日に実施した製品評価ワークショップで、セキュリティ製品の実状に即した評価手法を紹介するとともに、基準とすべき具体的なガイドラインを提示した。この半年間で新たに発見されたマルウェアは50万件にものぼる。続々と生まれる新たな脅威に対して、セキュリティ製品も従来のパターンマッチング方式以外にさまざまな手段で対抗している。もはや、ウイルス検出数だけで性能を評価する「フラットファイルスキャニング」では、進化するセキュリティ製品を正しく評価することは不可能といえる。
シマンテックは、このような状況を踏まえた検証手法として「ダイナミックテスティング」を提案している。有効な検証結果を得るためには、実環境に近い検証環境の構築とサンプルの選定が鍵となる。ここでは、シマンテックが推奨するダイナミックテスティングのサンプル選定方法と実際の検証手法を具体的なガイドラインを織り交ぜて解説していく。
サンプル選定のガイドライン
どんなサンプルを選定したかによって検証結果も大きく変わってくる。より有効な検証結果を得るためには、実際の環境にマッチしたサンプルを偏りなく公正に選定する必要がある。
シマンテックは、マルウェアとフィッシングのサンプル選定時に留意すべきガイドラインを提示している。
それぞれの具体的なガイドラインは以下のとおり。
-
マルウェアサンプル
- 50~100件のサンプル数を集める
- ある種の脅威のみではなく適切な種類の脅威を網羅すること
- 脅威として実証されていること
- 実行可能なアクティブなファイルであること
- 人工的なサンプルを作らない
- 多数のソースから収集
- サンプル選定のソースを明確にする
-
フィッシングサンプル
- アクティブな新鮮なサンプルであること
- 詐欺サイトであることが実証されていること
- 多数のソースから収集
マルウェアの検証では、まず、十分なサンプルを収集する必要がある。シマンテックは50~100程度のサンプルを集めることを推奨しているが、検証に時間がかけられない場合には、AV-testやVirusTotalといった第三者機関へサンプル収集を委託したり、研究者やハニーポットシステムがサンプルを提供するWEBサイトやメーリングリストを利用する方法もある。セキュリティベンダによってはサンプル提供に応じるケースも出てきている。
マルウェアの検証では、誤検知を確認するためにクリーンなアプリケーションサンプルを用意する必要があるが、その際にもマルウェアのサンプル選定と同様のガイドラインが適用される。
-
クリーンなサンプルセットのガイドライン
- 十分なサンプル数を集める
- 多数のソースから収集(複数のベンダーのアプリケーション)
- ある種の脅威のみではなく適切な種類の脅威を網羅
- クリーンと認められた実行可能なファイルであること
- 人工的なサンプルを作らない
- サンプル選定のソースを明確にする
フィッシングの検証の場合は、サンプルには新鮮さが求められる。サンプルが古いとURLがすでにブラックリストに掲載され、ヒューリスティックスキャンの評価ができなくなる可能性が高くなる。
いずれのケースでも、サンプルの偏りを防ぐためにできるだけ多くのソースを利用することが重要だ。また、そのサンプルが検証の目的に合う脅威であることを実証するために、サンプル自体の検証も行う必要がある。
サンプルの検証方法
マルウェアであれば、ヘックスエディタやTrIDといったツールを使ってのファイルの確認、複数のアンチウイルスソフトによるスキャン、セキュリティ製品をインストールしていない状態でサンプルを実行するダイナミックテストなどをいくつか組み合わせて判断を行う。
フィッシングサイトは、SSL証明書のチェックやドメインのWHOISデータと登録データのチェックを行うなどして詐欺サイトであることを確認する。詐欺サイトであっても、トップはフォーム入力のない無害なページが表示されるケースもあるため、個人情報を要求するページまで進んでから判断すべきだ。
サンプル検証時の留意点
現在アンチウイルス製品は32種類あるが、そのうちの半数が認めたものであれば、脅威として実証されたと判断していいだろう。検証するアンチウイルス製品の数が少なければ、たとえその半数が脅威を認めたとしても信頼度は低くなる。
検証にかけられる日数が1日であれば、10の脅威サンプルで5つの製品の検証までが現実的な数値と言える。5日間かけられるのであれば、30の脅威サンプルを使って10の製品の検証までが可能だろう。いずれにしても、10程度のクリーンなアプリケーションにより誤検知を確認することが重要だ。
また、脅威の中にはWindows Vista上で完全に動作しないものもある。シマンテックの調査によると、数千のサンプルのうち約3分の1がWindows Vista上で実行できないことが確認されている。検証にWindows Vistaを利用する場合には、特に注意する必要がある。
こういったサンプル選定のガイドラインに従うことで、検証の信頼度を高めることが可能となる。