clamav で Pdf.Exploit とかで誤検出する場合の対応方法

[`evernote` not found]
Bookmark this on Hatena Bookmark
Share on Facebook
LINEで送る

ClamAV を運用していると,何年も前に入手し通常はアクセスしない PDF ファイルの中から,Pdf.Exploit 系の検出がなされる場合がある.
普通に clamdscan を走らせると発見されると同時に消されてしまうので,たまに困ることがある.

検出しても削除しないようにする

私の環境では,clamdscanだとうまく制御できなかったので,crontab で clamscan を呼ぶことにした.
メールの宛先とかは自分でいじってちょ.
あと freshclam はデーモン化して走らせておくこと.

#!/bin/sh

SCAN=/usr/bin/clamscan
OPT='-ri'
ROOT=/
LOG=/root/clamav.log
MAIL=/usr/bin/mail
FROM=root@HOSTNAME
TO=USERNAME@HOSTNAME

ALART_S="MALWARE was found on $(hostname)!"
ALART_B='see the log file attached.'

MSG_S="last scan log on $(hostname)"
MSG_B="last scan was finished at $(date)"


$SCAN $OPT $ROOT > $LOG

MALWARE=$(tail "$LOG"|grep Infected|cut -d" " -f3)

if [ "$MALWARE" -ne "0" ]; then
    echo "$ALART_B"|$MAIL -a $LOG -s "$ALART_S" -r "$FROM" "$TO"
else
    echo "$MSG_B"|$MAIL -a $LOG -s "$MSG_S" -r "$FROM" "$TO"
fi

特定のシグネチャを無視させる

検出されるシグネチャが増えると誤検出もメールに記載されるため分かりづらくなってくる.
そのシグネチャ自体を無視したい場合は,/var/lib/clamav/hogehoge.ign2とign2ファイルを作ってシグネチャ名をリストしておく.

$ echo Pdf.Exploit.CVE_2016_4207-1 | tee -a /var/lib/clamav/local.ign2

なお,上のシグネチャを無視するかは,貴方の判断で行なうこと.

特定のファイルを無視させる

明らかに問題ないと自分で思っているファイルだけ,あらゆる検出から無視させる場合は,/var/lib/clamav/hogehoge.fpとfpファイルを作ってファイルのシグネチャをリストしておく.

$ sigtool --sha256 /path/to/file | sudo tee -a /var/lib/clamav/local.fp

どっちのがリスクが高いかは使い方次第なので,やっぱし貴方の判断で設定すること.