【Bagle、Mytob検出テストについて】

In the Wildの検体を個人ですべて手に入れるのはかなり困難なことのように思います
不可能ではないけれど地道で根気の要る作業を伴います
それでいて得られるものは、ほんのわずかな好奇心、それが満たされるだけ
そもそも集めたところで何をするわけでもありませんし、テスト自体は他の機関、雑誌がすでにやっていることです

と、話に入る前にIn the Wild(ItW)とは何か、という説明をしておきたいのですが
それに関してはすでに丁寧な解説がされているサイトがあるのでそれを紹介するだけにします
簡単に言えばThe WildList Organization Internationalが集めたウイルス群なのですが
それの持つ意味を理解しておくと非常に役に立ちます
ついでにVirus Bulletinのことも知っておいて損はないので、一緒に知識として入れてしまいましょう

Firewallと森で遊ぼう/やさしいセキュリティ講座(9) Anti-Virusの性能評価
http://eazyfox.homelinux.org/Security/Beginner/beginner09.html

JCSA(日本コンピュータセキュリティ協会)
http://www.jcsa.or.jp/virinfo.html

株式会社アイ・オー・エス/
第六回「コンピュータウイルスに関する疑問(2) 〜コンピュータウイルスは何種類存在する?(1)〜」
http://www.ios-corp.co.jp/column/column6.html

このようにIn the Wildは多くのアンチウイルスの基準となるような感染率の高いウイルスのリストだと言うことが分かります
その辺にある有象無象のウイルスではありません
最後にもうひとつ

@IT:意外に知らないコンピュータウイルスのミステリ
http://www.atmarkit.co.jp/news/200501/21/virus.html

>「何万種というウイルスの数が報告されているが、実際に活動しているウイルスは2000種程度しかない」
中田秋穂氏はこの2000という数字を、ほとんどWild Listサンプルの数から導いています
(もちろんこの2000種以外のウイルスは脅威ではない、という意味ではありません)

これがアンチウイルス業界で「In the Wild」と呼ばれるものです
有名な認証機関/テスト機関としてはICSALabsWest Coast Labs、前述したVirus Bulletinなどがあります
現在Wild Listサンプルは「最低限、確実に検出しなければならないウイルス群」である、というひとつの指標となっています

ただこのWildListのレポーターには各アンチウイルス企業から選出された人間が多く
それゆえIn the Wildを100%検出できることに対して栄誉や称号という意味合いはほとんどなく
テスト自体、各ベンダーがきちんと対応できているか第三者機関が確認をする、という行為でしかなくなりつつあります

またKasperskyのデータベースであるViruslist.comによるWildListの説明はと言うと
WildList
http://www.viruslistjp.com/glossary/?glossid=189276647
とあり、WildListは真の脅威の基準としては幾分時代遅れになった、としています
それでも検出されるべき最低限の基準であるという認識は捨ててはいないようです

【WildList、ItWサンプルによる検出テスト】

そんなものはやるまでもなくほとんどのアンチウイルスが100%です
ただひとつ(自分にとって)不可解なニュースがありました
それが、ご存じの方も多いと思いますが、日経パソコンオンラインの『ウイルス対策ソフト乗り換え案内』でした

ウイルス対策ソフト乗り換え案内/ウイルスの検出率は100%ではない
http://pc.nikkeibp.co.jp/article/NPC/20061114/253696/

結果はノートン、ウイルスバスター、マカフィーがWildListサンプルに関しては100%
キングソフトがわずかに落ち99.6%、ソースネクストのウイルスセキュリティが大きく引き離されて81.2%という結果でした
別にこの結果に驚きはありません
In the Wildといっても信頼性のある第三者機関のテストに参加していなければ、検出できるのかできないのか分かりません
そういう意味ではどこのテストにも参加していないウイルスセキュリティ(K7)の検出性能は曖昧なものでした

ところが次の月、K7AntiVirus(ウイルスセキュリティと同エンジンを持つアンチウイルス)が
セキュリティ認証機関CheckMarkの「Anti-Virus Level 1」に合格し認証を獲得したとソースネクストが発表しました
「Checkmark Anti-Virus Level 1」とはWildListサンプルを100%検出することが条件とされています
ちなみに「Checkmark Anti-Virus Level 2」はWildListサンプルを100%検出し、かつ駆除、修復できることが条件となっています
残念ながらウイルスセキュリティはこのLevel 2を取得することは出来ませんでしたが
それはともかくウイルスセキュリティは2006年12月13日の段階でin the Wildを100%検出できたことになります

その報告に慌てたのか日経パソコンオンラインはこのわずか2ヶ月後
『【続報】「ウイルスセキュリティZERO」を再検証』として新たな記事を掲載しました
http://pc.nikkeibp.co.jp/article/NPC/20070220/262575/

内容はというとウイルスセキュリティはWildListサンプルを100%検出できた、という結果
キングソフトはもっと早い段階でCheckMarkを獲得していた気もしますけど。タイミング的な問題でしょうか
ただCheckMark Level 1はIn the Wild発表から2ヶ月以内に対応すれば合格
CheckMark Level 2は1ヶ月以内、という基準ですので、タイミング的な問題でもない気はするのですが

それでふと、自分の手持ちのウイルスではどうだろうと思い立ったわけです
だが自分はIn the Wildの検体をあまり持ち合わせてはいないので
とりあえず大量の亜種が存在し、今なお感染率の高いウイルスのみに焦点をあてることにしました
Virus Bulletin onlineのMalware prevalenceを見るとW32/Mytobが7.01%、W32/Bagleが3.56%
SOPHOSの2007年2月の『月間トップ10ウイルス』ではMytob 12.5%、Bagle 2.4%
この2種だけで全体の約10%とかなりの感染率です
しかしこの表ではMytobの何が、つまりaなのかbなのか、どのウイルスを指しているのか分かりません
恐らくは亜種をひとまとめにした数字なのだろうと思われますが・・・
ということで、分からない以上その亜種を集められるだけ集めてみた、というわけです

つまり今回テストをした検体の中にはIn the Wildに含まれていないMytobやBagleがかなり存在します
だから下手すれば大手でも100%を逃す可能性はあります
そもそも自分の集めたMytobがIn the WildのどのMytobなのか、これがまたよく分かりません
各ベンダーにより名称が統一されていないからです
そんな事情もあり、このようなテストをすることになりました。ほとんど思いつきです

【テストに用いる検体の選別】

前回、前々回もそうだったのですが、このウイルスの選別というのがまた七面倒くさい作業だったりします

自分はよくウイルスの確認のためにVirusTotalを利用します
Jotti's malware scanと同じように、複数のアンチウイルスのエンジンでウイルスの検査をしてくれるサービスのひとつです
怪しいファイルを発見したら、とりあえずここにアップロードして確認をしてみる、というのが一般的な使い方です
この2つが混雑している場合はVirus.Orgを利用します。ただこのサービスにはKasperkeyとNortonが存在しません
その代わり上記2つには存在しないTrend Microがあります。状況に応じて使い分けるのがいいかと思われます
またこれらにアップロードされたファイルは、ファイルの内容区別されることなく全て登録されたベンダーに送信されるそうです
しかし自分の経験則上、各ベンダーに送られる速度は非常に遅く、即時対応を期待してアップロードするには適していません

以下の画像をご覧ください
VirusTotalでウイルスの確認をした画像です



実はこのファイルは壊れていて(人為的に壊してあり)、ウイルス、実行ファイルとしての機能を果たしません
だが各アンチウイルスはファイルの検査をする際に
内部に一致した文字列でも発見するのか、ウイルスとして検出してしまいます
ウイルスと判断するソフトが多いことは確かですが、検体として含めるには不適切です
これと同様に拡張子がない、不明なファイルも排除していきます
また上記画像のような結果が出た場合、Bagleと命名しているベンダーとそうでないベンダーがあることが分かります
単なる名称の違いなのか、まったくの別物と認識しているのか判断できませんが
MWAV(eScan)、NOD32、この2つで確認し
これらのどちらかがBagleと検出したならば、それはBagleであるとしました
このようにして利用する検体を選別していきます

【毎回テストをしながら思うこと】

つまり感染したことを客観的に示す方法です
これが一番悩みました
もういっそのこと感染する状況をキャプチャして動画共有、配信サービスに投稿しようかとさえ考えました
ただその場合、感染の瞬間を捉え第三者に理解できる形で保存することの難しさ
ひとつひとつ動画にすると容量や数、手間の面で煩雑になってしまうこと
また表現する側の手段としてはあまりスマートな方法ではないと感じること等、いろいろあります
最終的にはオンデマンドスキャナで検出した画像をキャプチャするという形にしましたが、これも完璧な方法ではありません
今でも考え中です

またテスト内容に関しては個人で出来る範囲のものを考えているつもりではありますが
情報価値のあるテストなどそう出来るわけもなく、必要性も考慮して検出テスト自体もうやらないかもしれません
毎回雑誌の情報を引用するのも何なので、自分が保有する6万体のウイルスの検出率でもやろうかと思ったのですが
前述した通り、大量ウイルスの検出テストはほとんど無意味だと思って取り下げることにしました
有名どころではGIGAZINEの『アンチウイルスソフトウェアランキング、最強はどれ?』で紹介されたwww.virus.grがあるのですが
この手のテストは自分が昔したテストを含め、あまり当てにしない方がいいかと思います
参考までに検出率としてはAV-Comparativesの方が信頼性や情報価値は高いでしょう
ただこのサイトにしても大量のウイルスを用いたテストに関しては、さほど意味はないと個人的には思っています
あまりにも検出率が低すぎるのも困りものですが

自分がやってみたいテストといえば、常駐プロセスがOSに与える負荷を測定するテストなのですが
これを正確に計るテスト内容がなかなか思いつきません
以前Superπで計算速度が変わるかどうかテストをしたことがあるのですが、ほとんど変化ありませんでした
またHDBENCHでも変化なし
テストする前に検索すれば良かったのですが、すでに以下のテスト結果が存在しており時間の無駄でした

DOS/V POWER REPORT | Impress Japan
PC自作 ウワサの検証 完全版 ウワサその11 アンチウイルス編 / アンチウイルスソフトはPCを遅くする?
http://www.dosv.jp/feature/0606/17.htm

ただこのテストはベンチマーク利用時ではパフォーマンスに変化がなかったことが説明されているだけで
一般的なOS、ファイル操作時での変化についてまでは言及されていません
他にはアンチウイルスベンダー側のテストとして、キヤノンのサイトに指標になるような結果が載せられています

OSへの負担を感じさせない軽快な動作/NOD32
http://www.canon-sol.jp/product/nd/product_3.html

100個のExcelファイルを起動、終了させた場合の所要時間です
隠す必要があるのかどうかは分かりませんが、企業名は読めば分かる形で伏せられています
分からない人のために説明しておくと、J社はJUSTSYSTEM、つまりKasperskyのこと
T社はTrendMicro、M社はMcAfee、S社はSymantecなのだろうと思われます、だが絶対的なものではありません
しかしこれも分かりにくいといえば分かりにくいです

ちなみにGIGAZINEで取り上げられていた『何のソフトを入れているとWindowsが重くなるのかリスト』というエントリーですが
これは誤りで『何のソフトを入れているとWindowsの起動が遅くなるのかリスト』、という方が正しいです
よってシステムの重さとは純粋に関係のないテスト結果であり参考になりません

自分が考えているものとしては
大量の実行ファイルをDドライブからEドライブへコピーした際の所要時間、及びCPU使用率の変化を測定
またはウイルス検出時に「ダイアログを出さずに自動的にファイルを削除する」
という設定にしておいてファイルにアクセス。ウイルスを自動削除するに必要な時間、CPU使用率を計測
など考えてはいるのですが、どれも決定的な感じではない印象を受けます

と、問題は色々ありますが、どのようなテストが良いのか、する価値があるのかも含めぼちぼちと考えていきたいと思います