使用MD5匹配病毒的技术可能不值得一提,但就目前来看这是种简单有效又值得信赖的方法,简单不用说了;有效是因为现在大部分的病毒或者恶意程序都不是感染型的,发放出去后不会变化或者变化有限;值得信赖是因为MD5误报正常文件的几率可以忽略不计。
虽然MD5比较简单,但用它来作为病毒引擎的主要方式还有额外的工作,做好它并不容易。
首先要从各个信任的源头那里获得病毒的MD5,有病毒样本最好,没有关系也不大。如果有病毒样本,可以找另一些病毒公司交换这些样本,这里可以充当一个中间商。大量的病毒样本或者MD5当然还需要建立一个有效的管理系统和病毒库的更新系统。另外,最好还要建立一个正常文件的MD5库。
实际使用时,用MD5来做为病毒引擎的主要病毒特征码会有一个问题:这个特征码的个数将会非常非常多,那么它比采用其它方式的引擎更需要快速找到匹配的MD5的方法(这个匹配有可能很简单,更容易利用硬件技术加速);另外,非常多的特征码的 加载时间和空间也是必须要考虑到的。
最后,当然要配合MD5做些辅助的手段,比如病毒匹配前的正常文件匹配过滤、特征字符串的匹配(这个从以前的主角变成现在的配角,目前可以用在HTML这种易变换的文件上),解压缩的支持等等。