重点在于特征值识别技术上的更新、解决单一特征码比对的缺陷。目的不在于检测所有的
未知病毒,只是对
特征值扫描技术的补充。
传统反病毒特征值扫描技术,由反病毒样本分析专家通过逆向反编译技术,使用反编译器(
ollydbg、ida、trw等)来检查可疑样本文件是否存在
恶意代码,从而判定
程序文件是否属于正常程序或病毒、恶意软件。在确认程序为病毒、恶意软件后,不同的安全厂商根据自己的标准对此可疑程序样本进行特征提取和样本命名(不同安全厂商有自己规定的特征提取点和样本命名规则)。最后经过测试部门测试通过后,更新到服务器,提供用户的本地
病毒库更新。在用户操作系统正常监控或用户
手动扫描后,利用
杀毒引擎对系统上的文件自动进行特征值提取并与病毒库中已存特征值比对,条件符合即比对结果为真时,即判断此文件为病毒库中记录的特征值对应的病毒名称的病毒(
恶意软件)。
病毒、恶意软件通常最初的指令是直接读写磁盘操作、解码指令,或获取系统目录(GetSystemDirctory)、获取磁盘类型(
GetDriveType)、打开
服务管理器(
OpenSCManager)等相关操作指令序列。这些都是病毒样本分析专家分析中得到的经验。
启发式技术,在原有的特征值识别技术基础上,根据反病毒样本分析专家总结的分析可疑程序样本经验(移植入反病毒程序),在没有符合特征值比对时,根据反编译后程序代码所调用的win32
API函数情况(特征组合、出现频率等)判断程序的具体目的是否为病毒、
恶意软件,符合判断条件即报警提示用户发现可疑程序,达到防御
未知病毒、恶意软件的目的。解决了单一通过特征值比对存在的缺陷。
例如:一个可疑程序通过反病毒
杀毒引擎反编译后,发现代码中自动释放
可执行文件驻留系统目录、
伪装系统文件、注册win32服务获取系统管理权限、通过命令行删除自身文件,调用系统组件
svchost.exe来开启后门服务,隐藏自身进程并尝试通过
OpenSCManagerA、OpenServiceA、ControlService等函数来开启系统自身的终端服务,以便进一步控制计算机。通过这些条件即可判断为
恶意软件(
后门程序)。