1989年,第一款杀毒软件Mcafee诞生,至今杀毒软件已经有25年的历史,在此期间,杀毒软件经历了三代演变。
第一代:特征码杀毒引擎
1989年,第一款杀毒软件Mcafee诞生,开启第一代依赖特征码的杀毒引擎时代。这一代杀毒软件无论是查杀还是防御,都是基于特征码的,查杀用特征码比对,防御实时监控。
特征码引擎的基本原理就是“杀毒引擎+特征码匹配”,杀毒引擎是枪,特征码是子弹,子弹越多,能杀的病毒就越多。特征库是由杀毒厂商收集的病毒样本的特征码组成的,而特征码则是病毒分析工程师从病毒程序中找到和正当软件的不同之处,截取一段类似于“搜索关键词”的程序代码。
电脑一开机,特征码就被读到内存中,当用杀毒引擎扫描硬盘或者监控一个文件的动作时(比如下载、修改注册表等),它会读取文件并且与特征库中的所有特征码“关键词”进行匹配,如果发现文件程序代码被“关键词”命中,就把那个文件判定为病毒,然后报警和拦截。
特征库匹配是查杀已知病毒很有效的一项技术,也是杀毒引擎赖以工作的基础(扫描、监控都需要调用特征库),一直被杀毒软件沿用下来,所有特征码都需要严格的测试和比对,否则极易造成误伤。早期的杀毒引擎都是特征码杀毒引擎。
第二代:启发式杀毒引擎
启发式引擎扫描指的是“运用某种方式去判定事物的知识和技能”,是让杀毒软件具有学习能力的一项技术,通过行为判断、文件结构分析等手段,在较少依赖特征库的情况下能够查杀未知的木马病毒。
启发式又分为行为启发和静态启发两种,能够通过一些行为规则或静态特征来识别一些未知的病毒,对未知病毒有一定的检测能力,但启发式仍然要依赖特征码,比如它会按家族来查杀,即使一些病毒特征码变了,但可以通过一些静态特征来识别和查杀。启发式可以部分地进行智能查杀,但都必须和上一代的特征码引擎配合使用,并且仍然需要人工分析。
互联网高速普及的今天,基于特征码的杀毒引擎也受到越来越多质疑:木马数量急剧增加,人工截取特征码的效率有限。即使所有样本都能及时处理,特征库变大也会带来资源占用过大的问题,特别是杀毒引擎随系统启动时都要把特征库写入内存,这是杀毒软件遭到诟病的一大原因。
第三代:人工智能引擎
人工智能引擎主要依靠人工智能技术,这一代引擎已经摆脱了对病毒特征库的依赖,它在海量病毒样本数据中归纳出一套智能算法,自己来发现和学习病毒变化规律。它无需频繁更新特征库、无需分析病毒静态特征、无需分析病毒行为,但是病毒检出率却远远超过了第一、第二代引擎的总和,而且查杀速度比传统引擎至少快一倍。人工智能引擎的代表QVM人工智能引擎,在2010年5月研发成功,目前QVM人工智能引擎已经发展到第二代。
QVM引擎是未知病毒识别领域的一个突破,它将人工智能技术应用于病毒识别的过程当中,首先通过对病毒样本的分析和分类形成样本向量和向量机,然后建立一个机器学习的决策机模型,利用决策树和向量机对大量样本进行学习,从而识别恶意程序或非恶意程序。随着学习样本数量的增加,再配合白名单,就能够在识别未知恶意程序的同时,降低误报,使未知病毒识别技术真正商用。
任何引擎都非万能
安全是木桶理论,引擎仅是安全中的一环,最短板决定整体安全性。面对今天的安全威胁,需要有全系统的防护能力,需要一套系统的安全体系,脱离安全体系,吹嘘引擎万能,显然对于安全的理解太肤浅。杀毒软件的发展步伐不会停止,随着病毒的不断演变,杀毒软件也将继续演进到第四代、第五代。