camavのチェックは何をしているのか。

■clamscanで自動削除しても良いスクリプトは以前に書いた。

 Squeezeにclamavを導入。EICARチェック
 http://d.hatena.ne.jp/labunix/20120423

■システム全体をチェックする場合は何もして欲しくない。
 「Infected files: 75」の内訳は、
 snort/suricataのルールファイルとローカルテスト用のEICARサンプル。

$ cat myscripts/clamscaan.sh
#!/bin/bash

if [ `id -u` -ne "0" ];then
  echo "Sorry,Not Permit User!" >&2
  exit 1
fi

CLAMLOGDIR=/var/log/clamav

test -d "$CLAMLOGDIR" || mkdir "$CLAMLOGDIR"
test -d "$CLAMLOGDIR" || exit 1

clamscan -r \
  -l /var/log/clamav/clamav_`date '+%Y%m%d'`.log \
  --exclude-dir=/proc \
  --exclude-dir=/sys \
  --exclude-dir=/dev \
  /

unset CLAMLOGDIR
exit 0

$ sudo ./myscripts/clamscaan.sh | tail -10
----------- SCAN SUMMARY -----------
Known viruses: 1634275
Engine version: 0.97.6
Scanned directories: 15238
Scanned files: 107379
Infected files: 75
Data scanned: 10178.40 MB
Data read: 288581.41 MB (ratio 0.04:1)
Time: 1852.977 sec (30 m 52 s)

$ sudo grep FOUND /var/log/clamav/clamav_20130121.log | wc -l
751日前以降に修正があったファイルを対象にする。
 ここが「Infected files: 0」なら問題なしとする。

$ cat myscripts/clamscandaily.sh
#!/bin/bash

if [ "`id -u`" -ne "0" ];then
  echo "Sorry,Not Permit User" 2>&1
  exit 1
fi

TODAY=`date '+%Y%m%d'`
CLAMLOGDIR=/var/log/clamav

find / -type f -mtime -1 -print > clamscan_$TODAY.tmp
clamscan -f clamscan_$TODAY.tmp \
  -l "${CLAMLOGDIR}/clamscan_daily_$TODAY.log" \
  && rm clamscan_$TODAY.tmp
unset TODAY CLAMLOGDIR
exit 0

$ sudo ./myscripts/clamscandaily.sh | tail -10
----------- SCAN SUMMARY -----------
Known viruses: 1634784
Engine version: 0.97.6
Scanned directories: 0
Scanned files: 7824
Infected files: 0
Total errors: 7390
Data scanned: 148.65 MB
Data read: 742.66 MB (ratio 0.20:1)
Time: 93.717 sec (1 m 33 s)

■ところで「Known viruses: 1634784」の内訳は何処だろう。。。

$ sudo tail -1 /var/log/clamav/clamav.log
Mon Jan 21 22:55:58 2013 -> Database correctly reloaded (1634784 signatures)

$ sudo /etc/init.d/clamav-freshclam restart
$ sudo /etc/init.d/clamav-daemon restart
$ sudo grep signatures /var/log/clamav/clamav.log  | tail -3
Mon Jan 21 22:55:58 2013 -> Database correctly reloaded (1634784 signatures)
Mon Jan 21 23:11:04 2013 -> Not loading PUA signatures.
Mon Jan 21 23:11:08 2013 -> Loaded 1634793 signatures.

■「Not loading PUA signatures.」対策は以前にも行っていた。

 vyatta6.4のセキュリティ(メールウイルス対策) 
 http://d.hatena.ne.jp/labunix/20120729

$ sudo grep PUA /etc/clamav/clamd.conf
DetectPUA true

$ sudo /etc/init.d/clamav-daemon restart

$ sudo grep signatures /var/log/clamav/clamav.log  | tail -3
Mon Jan 21 23:34:30 2013 -> Not loading PUA signatures.
Mon Jan 21 23:34:34 2013 -> Loaded 1634793 signatures.
Mon Jan 21 23:38:27 2013 -> Loaded 1640082 signatures.

$ sudo grep signatures /var/log/clamav/clamav.log  | tail -3
Mon Jan 21 23:34:30 2013 -> Not loading PUA signatures.
Mon Jan 21 23:34:34 2013 -> Loaded 1634793 signatures.
Mon Jan 21 23:38:27 2013 -> Loaded 1640082 signatures.

■以下と結果が異なるがfreshclam/clamavのログが正しいようだ。

$  /usr/bin/sigtool -l | wc -l
1638585

■以下に見るとおりdailyも最新。

 clamav-virusdb
 http://lurker.clamav.net/list/clamav-virusdb.html

$ sudo clamscan --version
ClamAV 0.97.6/16539/Mon Jan 21 22:42:07 2013

■一つ前と変わらないようだが、PUAは使っていないということかな。。。

$ touch test;sudo clamscan test
test: Empty file

----------- SCAN SUMMARY -----------
Known viruses: 1634793
Engine version: 0.97.6
Scanned directories: 0
Scanned files: 0
Infected files: 0
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 4.010 sec (0 m 4 s)

■EICARのシグネチャは以下の通り。

$ /usr/bin/sigtool -l | grep -i eicar
Eicar-Test-Signature
Eicar-Test-Signature-1

■以下に見ると通り、最近流行りのJavaのゼロデイ脆弱性は、2013/01/11時点でclamavでは検知しないことが分かる。

 Analysis of CVE-2013-0422 - A New 0-day Java Exploit
 http://stopmalvertising.com/malware-reports/analysis-of-cve-2013-0422-a-new-0-day-java-exploit.html

 ClamAV	-	201301112012-08-29時点での以下のCVEには対応しています。

 CVE-2012-4681をSnortで検出、アラート、SquidGuardとiptablesでブロック
 http://labunix.hateblo.jp/entry/2012/08/29/215603

$  /usr/bin/sigtool -l | grep -i CVE_2012_4681
Java.Exploit.CVE_2012_4681
Java.Exploit.CVE_2012_4681-12012/01/25時点での以下のCVEには対応して無いようです。
 対象がWheezyだけだったからでしょうか。。。

 CVE-2012-0056 Debianで今考えられる対応
 http://labunix.hateblo.jp/entry/2012/01/25/234531

$  /usr/bin/sigtool -l | grep -i CVE_2012_0056

■以下のCVE-2012-5076はありました。

 Oracle Java SE JREのJAX-WSクラスの脆弱性により、任意のコードが実行される脆弱性(CVE-2012-5076)に関する検証レポート
 http://security.intellilink.co.jp/article/vulner/121114.html

$  /usr/bin/sigtool -l | grep -i CVE_2012_5076
Java.Exploit.CVE_2012_5076
Java.Exploit.CVE_2012_5076-1
Java.Exploit.CVE_2012_5076-2

■以下に見るように余り新しいウイルスには対応していないようです。

$ /usr/bin/sigtool -l | grep -i CVE_2013 | wc -l
0

■clamavのミラーの状態は以下で確認出来ます。

 the status of ClamAV® Database mirrors
 http://www.clamav.net/doc/mirrors/

■結論

 どの脆弱性に対応しているかは随時確認が必要なようです。