記事の最後へ▼ 
< 質 問 >
F-Secureでのウィルス誤検出?の応急処置

はじめまして、PerfectNaNaNaともうします。

テスト環境
Windows2000
ActivePerl 5.8.8
Xmail 1.22
XMailCFG 2.23
F-Secure

F-SecureをXMailCFG環境設定ウイルススキャン実行プログラムに登録後
テストウィルスをローカルで送信後正しく検出され、
フィルタ処理のログ2(XMailCFG)詳細のステータス詳細に
ウイルス存在=ウィルス名(xxxxKB) //xxxxはウィルスファイルの大きさ
と表示され正しく処置されますが、
ウィルスを含まない画像やファイルを添付しローカルで送信すると
フィルタ処理のログ2(XMailCFG)詳細のステータス詳細に
ウイルス存在=(xxxxKB) //xxxxはファイルの大きさ
と表示され、正しく送信できなくなります。

そこでfilter.common.cgiを調べてみると、
} elsif ($scanner =~ /\\fsav(\.exe)*$/i){
$cstr = 1 if (grep(/\x8A\xB4\x90\xF5|Infection:/i,@report));←ここが正しく動作していない
ことが分かりました。
\x8A\xB4\x90\xF5→感染

たぶん

ウィルス スキャンの結果 :
〜略〜\ウィルスファイル.exe 感染: ウィルス名

とレポートが出力されると「感染:」または「Infection:」がマッチしたときウィルス判定が出る。
しかしレポートの続きの

スキャン済み:          2
感染:                  0←これの「感染:」と誤認識してしまい
感染の疑いあり:         0
駆除済み:              0
削除済み:              0
名前変更済み:          0

結果、添付ファイルが付いているメールがウィルス処置にまわされてしまうようです。

マッチパターンを修正すれば解決すると思うのですが、良いマッチパターンが思いつきません。

応急処置としてウィルス名が検出されなければ処理を終わるように以下のように修正しました。
filter.common.cgiの
if (!$cstr){&vscan_end($dir); return;}←!$cstrを

if (!$cstr||!$virus){&vscan_end($dir); return;}←!$cstr||!$virusに変更しました。

一応これで誤検出が防げますが、無駄な処理が省かれないのでおすすめしません。

他のアンチウィルスソフト使用時でもこの処理は追加しておけば誤動作(暴走)防止にはなると思いますよ。

PerfectNaNaNa (09.06/06)


【 cop (09.06/06) 】

PerfectNaNaNa さん、
有意義な情報、ありがとうございます。

F-Secure でそんなトラブルがありますか。
さっそく修正したいと考えていますが、
手元にテスト環境がなくなっているので、
もし差支えがなければレポートファイルの
一つを XMailCFG の作者に送ってもらえれば
助かります。

記事の先頭へ▲ 
SUPER LABORATORY