杀毒软件原理
杀毒软件的构造的复杂度程度要远远高于木马或病毒。鉴于木马病毒越来越向系统底层发展,杀毒软件的编译技术也不断向系统底层靠近。如主动防御技术,就是应用RING0层的编译技巧。
杀毒软件一般由扫描器、病毒库与虚拟机组成
扫描器是杀毒软件的核心,用于发现病毒,杀毒软件的好坏就直接取决于他的扫描器编译技术与算法是否先进,杀毒软件不同的功能对应着不同的扫描器,也就是说,大多杀毒软件都是由扫描器组成的。而病毒库存储的特征码形式取决于扫描器采用哪种扫描技术。它里面存储着很多病毒所具有的独一无二的特征字符,称为“特征码”(用来区分一个文件是否是病毒)分为文件特征码和内存特征码。文件特征码存在于一些未执行的文件,如exe、jpg。。都可能存在文件特征码。而内存特征码仅存在于内存中已运行的应用程序。
而虚拟机是最近引入的概念,它为待查的可执行程序创建一个虚拟的执行环境,提供它可能用到的一切元素,包括硬盘,端口等,让它在其上自由发挥,最后根据其行为来判定是否为病毒
杀毒软件的原理就是匹配特征码。当扫描到一个文件,杀毒软件会检测这个文件里是否包含病毒库里所包含的特征码,如有就查杀。
基于文件的杀毒技术:第一代扫描技术、第二代扫描技术、算法扫描。
-
通配符扫面技术
它为第一代扫描技术的分支,通配符可理解为具有一定意义的符号。简单的扫描器支持通配符,应为鉴于字符串扫描技术的执行速度与特征码长度限制,使其退出历史。