由于大量恶意程序的涌现,杀毒软件和病毒的技术竞争也愈加激烈。病毒作者会利用新的技术隐藏自己躲避杀毒软件的查杀,或者寻找新的传播方式,或者甚至主动破坏杀毒软件。一个典型的案例是2008年2月份在国内爆发的“磁碟机”病毒。该病毒爆发后,每日会有数个变种产生来躲避杀软的检查,感染量达到数百万台计算机。同时,杀毒软件本身也在不断进化。那么,现在杀毒软件的主流技术有哪些呢?我们将给大家作一个简要的介绍。
(1) 基因码检测技术
直到现在,几乎所有的杀毒软件主要还是通过病毒数据库里的病毒特征数据,与被扫描的文件加以对照,从而把符合条件的真正的病毒区分出来。由于几乎每天都有新病毒或变种出现,各杀毒软件厂商也只有不断进行特征更新 (Signature Update) 与扩充自己的病毒数据库,才能确保尽快把最新的病毒特征数据收录其中。
这种处理方法看似简单有效,但网络世界里出现过的病毒高达7万多种,即使是仍活跃的病毒种类也达到数千种以上;若病毒数据库要一口气全部收录,数据库体积必然非常庞大,就是在扫描系统时进行逐个数据对照,过程也极为费时。因此,像ESET NOD32 等先进的杀毒软件,已逐渐改变这种特征检测 (Signature-based Detection) 的查毒方式,进而采用较新型的基因码 (Generic Signature) 检测技术。采用基因码技术后,病毒特征和病毒库的大小都得到了简化。
病毒特征化繁为简
所谓基因码,就是指同一病毒族群中的不同变种,多半含有相同的病毒特征。不少病毒最初是以单一品种出现,后经由其它病毒作者修改或自行演化,最后变成数十种以上的病毒变种。若以传统特征检测方式处理,病毒数据库便要为每一种病毒变种制作一份独立的特征数据;而较新的基因码检测技术,则会从各变种中找出共同之处,包括一些非连续的程序代码,以此找出同一类型病毒的普遍特征。
缩小病毒数据库的体积
这样,在进行系统扫描时,由于采用较少的特征数据就能检测庞大的病毒种类,因此进行特征对照时便能大大缩短时间。同时,对于由同一种源头变化出来的新变种,只要吻合该族群的普遍特征条件,即使未更新病毒数据库亦很有可能成功进行识别。因此,ESET NOD32 更新病毒数据库所用的时间极短,每次更新不过下载 20KB 至 50KB 不等,绝不会加重网络与硬盘的负担。
(2)虚拟机技术
针对变形病毒、未知病毒等复杂的病毒情况,极少数防病毒软件采用了虚拟机技术,达到了对未知病毒良好的查杀效果。它实际上是一种可控的,由软件模拟出来的程序虚拟运行环境。在这一环境中虚拟执行的程序。虽然病毒通过各种方式来躲避防病毒软件,但是当它运行在虚拟机中时,它并不知道自己的一切行为都在被虚拟机所监控,所以当它在虚拟机中脱去伪装进行传染时,就会被虚拟机所发现,如此一来,利用虚拟机技术就可以发现大部分的变形病毒和大量的未知病毒。
(3)代码分析技术
为了对付病毒的不断变化和对未知病毒的研究,代码分析扫描方式出现了。代码分析扫描是通过分析指令出现的顺序,或特定组合情况等常见病毒的标准特征来决定文件是否感染未知病毒。因为病毒要达到感染和破坏的目的,通常的行为都会有一定的特征,例如读写敏感文件,自我删除、自我复制,获取操作系统底层权限等等。所以可以根据扫描特定的行为或多种行为的组合来判断一个程序是否是病毒。
ESET NOD32拥有崭新的ThreatSense.Net预警系统
为了强化 ThreatSense? 引擎的准确性与效率,ESET NOD32 在最新的版本里加入了崭新的ThreatSense.Net 预警系统。该系统可说是把 ThreatSense? 的优秀病毒分析能力,由个人计算机范围拓展至全球性的规模处理;每当客户端的 ESET NOD32 遇到疑似病毒的文件时,便可自动或手动地将该文件压缩加密,并经由电邮寄送到 sample@eset.com ,快速地交由 ESET 总部的专家进行分析研究;一旦确定为病毒,ESET便迅速进行后续的处理。
(4)主动防御技术
一般意义上的“主动防御”,就是全程监视进程的行为,一但发现“违规”行为,就通知用户,或者直接终止进程。它一般会对一些敏感的注册表键值,系统文件,网络访问进行监控,如果有程序企图修改这些敏感区域,就会提示用户。
但是它也存在着一个弊端,就是杀毒软件会不断地弹出提示,询问用户是否允许。如果你不懂计算机,那么将很难应付,需要选择操作的东西很多. 所以不适合大部分的普通用户.
ESET NOD32 的启发式技术,综合利用了基因码,虚拟机,代码分析,和传统的病毒库技术。利用各种技术之间的优劣互补来提升整体的防病毒能力。