記事の最後へ▼ 
< 質 問 >
NOD32でウィルスチェック時の判定条件について

#1409の続きという感じですが、NOD32がウィルスチェッ
ク時に返すエラーが、パスワード付き圧縮ファイル以外
の時にもありました。

フィルタログとNOD32のログを確認する限りで、以下の
パターンがありました。

    アーカイブは破損しています
    アーカイブを読込み中にエラーが発生しました

以下はパスワード付き圧縮ファイルの時のREPORTファイ
ルの後半部分ですが、こういった異常パターンが他にも
あるのではないかと思います。
そこで、下から2行目の「検出されたウイルス数」とい
う行を使って、ウィルスメールか否かの判定を行うよう
にしてはどうかと思いますが、いかがでしょうか。

C:\XMail\MailRoot\avscan\FtFVwDAM\xmcfg_00.zip ≫ZIP ≫file.xls - エラー - ファイルはパスワード保護されています
検査したファイル数:0
検出されたウイルス数:0
検査終了時刻:22:11:38検査に要した時間:0秒(00:00:00)

ST (04.26/06)


【 cop (04.27/06) 】

ST さん、

>そこで、下から2行目の「検出されたウイルス数」とい
>う行を使って、ウィルスメールか否かの判定を行うよう
>にしてはどうかと思いますが、いかがでしょうか。

ふむ。
しかし、それについては 409 行でそうしています。

  $cstr = 1 if (grep(/\x83\x45\x83\x43\x83\x8B\x83\x58\x90\x94:[1-9]/,@report));

しかし、これだけではウイルス名を取得できないので、追加処理をしています。

なかなかめんどうですね。
時間を見つけて考えてみます。
アイデアがあればまた書いてください。


【 ST (04.27/06) 】

copさん

確かに409行目にありました。すみません。

そこで思いついた方法ですが、NOD32に
限った場合になるかもしれませんが、
440行目の

if (!$virus && !$cstr){&vscan_end($dir); return;}



if (!$cstr){&vscan_end($dir); return;}

に変更すると言うのではどうでしょうか。


【 ガイア (04.27/06) 】

> if (!$cstr){&vscan_end($dir); return;}

だと、今度はほかのエンジンの場合に通り抜けてしまいますよね。


【 ST (04.27/06) 】

この方式でやるとしたら、他のエンジンでも
ウィルスを検知した場合に、$cstr = 1;を
追加すれば良いかと思います。


【 cop (05.01/06) 】

ひとまず "アーカイブ" を含むものは除外することにしました。


【 ST (05.16/06) 】

XMailCFG2.22版での対応ありがとうございました。

XMailCFGにちょっと修正を加えて、未知のエラーメッセージが出力され
たときはREPORTファイルを削除しないようにしましたので、また発見さ
れたら報告させて頂きます。

今のところ、未知のエラーメッセージは出ていないようです。

記事の先頭へ▲ 
SUPER LABORATORY