1989年,第一款杀毒软件mcafee诞生,开启第一代依赖特征码的杀毒引擎时代。
这一代杀毒软件无论是查杀还是防御,都是基于特征码的,查杀用特征码比对,防御实时监控。
特征码引擎的基本原理就是“杀毒引擎+特征码匹配”,杀毒引擎是枪,特征码是子弹,子弹越多,能杀的病毒就越多。
特征库是由杀毒厂商收集到的病毒样本的特征码组成,而特征码则是病毒分析工程师从病毒程序中找到和正当软件的不同之处,截取一段类似于“搜索关键词”的程序代码。
电脑一开机,特征码就被读到内存中,当用杀毒引擎扫描硬盘、或者监控一个文件的动作时(比如下载、修改注册表等等),它会读取文件并且与特征库中的所有特征码“关键词”进行匹配,如果发现文件程序代码被“关键词”命中,就把那个文件判定为病毒,然后报警和拦截。
特征库匹配是查杀已知病毒很有效的一项技术,也是杀毒引擎赖以工作的基础(扫描、监控都需要调用特征库),一直被杀毒软件沿用下来,所有特征码都需要严格的测试和比对,否则极易造成误伤。早期的杀毒引擎都是特征码杀毒引擎。
2、第二代:启发式杀毒引擎
启发式引擎扫描指的“运用某种方式去判定事物的知识和技能”,是让杀毒软件具有学习能力的一项技术,通过行为判断、文件结构分析等手段,在较少依赖特征库的情况下能够查杀未知的木马病毒。
启发式又分为行为启发和静态启发两种,能够通过一些行为规则或静态特征来识别出一些未知的病毒,对未知病毒有一定的检测能力,但启发式仍然要依赖特征码,比如它会按家族来查杀,即使一些病毒特征码变了,但可以通过一些静态特征来识别和查杀。启发式可以部分地进行智能查杀,但都必须和上一代的特征码引擎配合使用,并且仍然需要人工分析。
启发式引擎公认比较强的是小红伞、nod32,其检测能力比较高。
互联网高速普及的今天,基于特征码的杀毒引擎也受到越来越多质疑:木马数量急剧增加,人工截取特征码的效率有限。即使假设所有样本都能及时处理,特征库变大也会带来资源占用过大的问题,特别是杀毒引擎随系统启动时都要把特征库写入内存,这是杀毒软件遭到诟病的一大原因。
3、第三代:人工智能引擎
人工智能引擎主要依靠于人工智能技术,这一代引擎已经摆脱了对病毒特征库的依赖,它在海量病毒样本数据中归纳出一套智能算法,自己来发现和学习病毒变化规律。它无需频繁更新特征库、无需分析病毒静态特征、无需分析病毒行为,但是病毒检出率却远远超过了第一、二代引擎的总和,而且查杀速度比传统引擎至少快一倍。人工智能引擎的代表是360的qvm人工智能引擎,这个引擎在2010年5月研发成功,当年正式应用于360杀毒产品中,qvm人工智能引擎目前已经发展到第二代。
360的qvm引擎qvm是未知病毒识别领域的一个突破,它将人工智能技术应用于病毒识别的过程当中,首先通过对病毒样本的分析和分类形成样本向量和向量机,然后建立一个机器学习的决策机模型,利用决策树和向量机,对大量样本进行学习,从而识别恶意程序或非恶意程序。随着学习样本数量的增加,再配合白名单,就能够在识别未知恶意程序的同时,降低误报,使未知病毒识别技术真正商用。
引擎的在不停演进,在360qvm引擎取得成功后,红伞等2代引擎领先厂商意识到3代引擎的技术优势,开始紧锣密鼓的研制3代引擎。
仔细研究了一下,最近几篇水稿中鼓吹的百度雪狼引擎,本质上还是一个第一代最古老的特征码引擎,使用的都是瑞星和江民时代的杀毒技术,在3代引擎已经成熟商业化的时候,雪狼引擎还停留在第一代,技术明显落后了。面对今天的安全威胁形势,第一代基于特征码的杀毒引擎技术已经接近于被淘汰,目前美国政府已经停止对第一代引擎技术的研发投资和支持,业已经明确禁止采购这类基于特征码的杀毒产品。
其实引擎并非万能的
杀毒技术哪家强?看25年三代杀毒引擎的演变:等您坐沙发呢!