clamav病毒库格式解析

clamav病毒库格式解析

最新用到clamav,发现网上对病毒库格式的介绍还是不多,在clamav主页上找到个英文版的https://github.com/vrtadmin/clamav-devel/raw/master/docs/signatures.pdf,不过介绍的不详细,也缺少例子,在这里介绍下。
以前没用CSDN发过贴,不知道怎么推荐,但CSDN论坛betabin博主的 ClamAV学习系列介绍的东西挺好,大家可以去转转。

  • clamav简介
  • sigtool的用法
  • 病毒库格式
  • 总结

clamav简介

Clam AntiVirus(ClamAV)是免费而且开放源代码的防毒软件,软件与病毒码的的更新皆由社群免费发布。目前ClamAV主要是使用在由Linux、FreeBSD等Unix-like系统架设的邮件服务器上,提供电子邮件的病毒扫描服务。ClamAV本身是在文字接口下运作,但也有许多图形接口的前端工具可用,另外由于其开放源代码的特性,在Windows与Mac OS X平台都有其移植版。 —— [ clamav开源主页 ]

clamav的病毒库可以在安装后配置自动升级,也可以按如下方法手动获取:
http://db.cn.clamav.net/daily.cvd
http://db.cn.clamav.net/main.cvd
http://db.cn.clamav.net/safebrowsing.cvd
http://db.cn.clamav.net/bytecode.cvd

sigtool的用法

下载的病毒库cvd是由zlib压缩库压缩的文件,前512个bytes是一个特殊的头文件,记录引擎病毒库的简单信息,包括名字、创建时间、版本号、签名数量等,然后一个接着一个存储病毒库文件。clamav提供了一个签名工具sigtool,可以查看、生成和解压缩病毒库,在clamav的运行代码中会通过cli_untgz函数解压缩cvd文件,可以通读代码了解详细过程。
sigtool查看cvd的信息
sigtool -i main.cvd
File: ../database/main.cvd
Build time: 17 Sep 2013 10:57 -0400
Version: 55
Signatures: 2424225
Functionality level: 60
Builder: neo
MD5: 6c03be24ae2171478e0de317e3661e36
Digital signature: U44YuTP7vNpU3sZVfI54S78bkaJluqmkJCFX8skaNcNUPoTLnTxXtSuOwWufwn+M+21kGR0CO7hvU3K+44YuOA92rMNNNmKOJOnli+lGv972THU2dkCL+491C6Y4Q+169wIW+Zp/TyH93yt75qGv8vanBM1QdyXk8fnDvsOlC4
Verification OK.
sigtool解压缩main.cvd
sigtool -u main.cvd
main.db main.fp main.hdb main.info main.mdb main.ndb main.zmd

clamav病毒库格式(cvd解压后)

A. 基于hash的签名
A.1 基于md5 hash的签名,签名文件后缀*.hdb
格式:
HashString:FileSize:MalwareName
举例:
507d8f868c27feb88b18e6f8426adf1c:12391:Win.Exploit.CVE_2013_3163
用sigtool生成签名的方法:
sigtool –md5 test.exe > test.hdb
A.2 基于SHA1和SHA256的签名,签名文件后缀*.hsb
格式:
HashString:FileSize:MalwareName
举例:
71e7b604d18aefd839e51a39c88df8383bb4c071dc31f87f00a2b5df580d4495:544:clam.exe
用sigtool生成签名的方法:
sigtool –sha1 test.exe > test.hsb
sigtool –sha256 test.exe >test.hsb
A.3 基于PE section hash的签名,文件后缀*.mdb
格式:
PESectionSize:PESectionHash:MalwareName
举例:
23040:32f0b60a78f632259c16b0e94ae8ebbc:Win.Trojan.Qqpass-1714
用sigtool生成签名的方法:
sigtool –mdb test.exe > test.mdb
A.4 未知文件的大小的hash签名
clamav0.98开始支持,用通配符*表示未知文件大小,但有一个限制条件(functional level≥73):
举例:
在以上 .hsb和.mdb中匹配未知文件大小的签名分别
HashString:*:MalwareName:73
*:PESectionHash:MalwareName:73
B. body-based签名
B.1 十六进制格式
用sigtool将可显示字符串转换成十六进制的方法是
sigtool –hex-dump string
举例:
zolw@localhost:/tmp/test$ sigtool –hex-dump How do I look in hex?
486f7720646f2
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值