病毒技术在不断地发展,反病毒技术也在不断更新换代。
主动防御、启发式
自世界上第一个计算机病毒产生开始,一场病毒程序与杀毒软件之间旷日持久的斗争就已经展开。病毒技术在不断地发展,反病毒技术也在不断更新换代。
早期在编写病毒还是个技术工种的时候,反病毒工程师们忙着提取病毒的特征码,加入到杀毒软件的病毒库中,升级更新一下,就算完事,这就是传统的特征码扫描技术。就算病毒后来学会了发展种类繁多的变种,反病毒工程师们也只需从各变种中找出共同之处,如一些非连续的程序代码,以此找出同一类型病毒的普遍特征,提取出所谓“广谱特征码”,也不会费太多功夫。一直以来,这种特征码扫描技术作为最有效,最为可靠的反病毒技术,成为各种杀毒软件的基础技术,直至如今仍是最主要的反病毒技术。
但随着互联网的高速发展,病毒发展得也越来越快:病毒技术水平不断提高,病毒的传播手段也越来越多种多样,病毒的种类和数量也越来越多。这种情况下,传统的特征码技术已不足以应对,毕竟,一家杀毒软件厂商扩充病毒库的速度是赶不上互联网上数百万病毒制作者编写病毒的速度的,而且,它还具有天生的滞后性的弱点。如何防范每天大量出现的新病毒,于是一些新的反病毒技术应运而生。
主动防御
2007年杀毒软件厂商热炒的是主动防御的概念,只不过可能有的厂商称之为主动防御,有的称之为行为检测,或者其他一些什么新名词,但它们的共同特点是,用以防范未知病毒,所以我们可以将它理解为与传统特征码扫描技术不同的,能够主动检测和拦截未知威胁的防御技术。这种理解上的主动防御是一个广义的概念,比如一些厂商把启发式查毒技术,或者虚拟机查毒技术,甚至防火墙、注册表监控等都算在主动防御中。
而狭义上的主动防御,是指基于行为检测的反病毒技术,即通过病毒的行为特征来判别其是否为病毒并进行处理的病毒行为阻断技术。该技术通过提取计算机病毒的共性特征,如修改注册表、自我复制、不断连接网络等,综合这些病毒行为特征来判断其是否为病毒。也就是说全程监视进程的行为,一旦发现“违规”行为,就通知用户,或者直接终止进程。
但主动防御技术存在一个最大的弊端就是容易导致大量的误报或误杀,而且有一些杀毒软件的主动防御功能是给出报告,需要用户进行判断来决定操作,这对一些电脑安全知识匮乏的用户而言并不实用。
启发式
启发式是指“自我发现的能力”或“运用某种方式或方法去判定事物的知识和技能”, 是杀毒软件能够分析文件代码的逻辑结构是否含有恶意程序特征,或者通过在一个虚拟的安全环境中前摄性的执行代码来判断其是否有恶意行为。而这其中,前者被称为静态启发,后者被成为动态启发。
静态启发技术有点相当于广谱特征码技术,指的是在静止状态下通过病毒的典型指令特征识别病毒的方法,是对传统特征码扫描的一种补充。由于病毒程序与正常的应用程序有很多区别,比如通常一个应用程序在最初的指令,是检查命令行输入有无参数项、清屏和保存原来屏幕显示等,而病毒程序最初的指令通常是直接写盘操作、解码指令,或搜索某路径下的可执行程序等相关操作指令序列,根据这此区别设置一个特别的启发特征库,据此就可通过简单的反编译,在不运行病毒程序的情况下,核对病毒相关指令序列从而判定是否为病毒。
而动态启发技术与虚拟机技术结合比较紧密,通过杀软内置的虚拟机技术,给病毒构建一个仿真的运行环境,诱使病毒在杀软的模拟缓冲区中运行,如运行过程中检测到可疑的动作,则判定为危险程序并进行拦截。这种方法更有助于识别未知病毒,对加壳病毒依然有效,但如果控制得不好,会出现较多误报的情况。而且,动态启发因为考虑资源占用的问题,因此目前只能使用比较保守的虚拟机技术。目前,动态启发式主要应用在对花指令病毒的扫描和查杀。
网友评论