瑞星卡卡安全论坛

首页 » 技术交流区 » 反病毒/反流氓软件论坛 » 菜鸟学堂 » 回顾总结,反病毒软件这些年的发展路
xc300 - 2010-1-16 19:45:00
有一年过去了,杀毒软件和病毒木马之间那似乎无休止的争斗也增加了一年,回顾过去,总结现在,不多废话
让我们一起看看杀毒软件技术的发展史吧

常见杀毒软件有两部分组成:杀毒引擎与病毒库。我们可以把杀毒引擎的任务和功能简单的理解为对指定的文件或内存进行扫描,以判断其是否含有恶意代码。而病毒库是众多木马病毒特征码的集合,它是对杀毒引擎的一种补充,也是杀毒引擎对文件或内存判断的依据和标准。因此,一个好的杀毒软件关键是有优秀的杀毒引擎和全面的病毒库。但是病毒库越大,杀速度也就会越低,而且占用的磁盘空间也增大,这是因为病毒库杀毒的过程,是引擎吧判断能力交给病毒库,用病毒库与指定的文件进行对比判断的过程

在杀毒软件的演变历程中,特征码经历了两个阶段简单特征码和广谱特征阶段


简单特征码的诞生要追溯到20世纪80年代末,随着个人电脑病毒的诞生,随即有了清除病毒的工具—反病毒软件。这一时期,病毒所使用的技术还比较简单,从而检测相对容易,特征码也很简单。杀毒软件对于特征码的选取一般都选择的比较长,比如十多个字节,一般也会选取多个以保证准确性
为了躲避杀毒软件的查杀,电脑病毒开始了进化,注解演变为变形的形式,每感染一次,就对自身变一次形,这样一来,同一病毒如果干扰后其变种病毒可能会大量增加,甚至达到天文级数字。大量不同形态的变性病毒之间甚至可以做到没有超过连续十个字符是相同的。


为了对应这种情况,特征码的获取就不再是简单的取出一段代码,而是分段的了,中间可能包含任意的字符,这样也就是增加了一些不参加比较的字符,在这些地方不管出现什么内容都不用来比较,这就是广谱特征码概念


不过有攻也有防,随着变形技术的流行和疯狂增长,以及变形技术的进步,病毒甚至可以做到在每次感染是通过随机的密钥规则变形自身,同一病毒的变种数目可以达到成千上万。在这一形势下,杀毒软件厂商必须增加升级频率频繁更新,用户的机器也必须经常联网升级杀毒软件才行
即使这样杀毒软件依旧走在病毒的后面,必须要出现并被反病毒工程师发现一种才能升级查杀


于是在这一形势下,启发式技术和基于程序行为做判定的主动防御技术应运而生。因为病毒要达到干扰和破坏隐藏等目的通常的行为会有一定的特征,例如非正常的读写文件,结束自身进程,操作系统重要文件夹或注册表敏感位置等,所以可以根据扫描特定的行为或多种行为的组合来判断一个程序是否有病毒。因此,主动防御技术抛弃了特征码扫描的那些弱点,成为前几年几乎每个杀毒软件的必备技术


当然人无完人,软件技术上也一样,主动防御面临着一大挑战就是其居高不下的误报率。一个简单的例子,当主动防御产品面对一些高级大型软件,需要安装驱动程序,创建自启动服务项目等等,那杀毒软件的主动防御是否会认为它是一个rootkit呢?或者其他一些软件会涉及到远程线程注入,钩子技术等,是否会认为他有盗号的嫌疑呢?
此外,病毒写作者不断努力找出新方法,借以避开现存反病毒系统使用的行为规则,如此始终将导致主动防御方法的有效性大打折扣

在此情况下,虚拟机检测技术又被杀毒软件厂商采用了,该技术对未知病毒有了很好的查杀效果。其原理其实是一种可控的,有软件模拟出来的程序虚拟运行环境,它模拟出真实的文件系统,注册表,内存,让运行在其中的木马病毒程序以为自己在真实电脑系统里,虽然病毒通过各种方式来躲避防病毒软件,但是当它运行在虚拟机中时,它并不知道自己的一切行为都在被虚拟机所监控,所以当它在虚拟机中脱去伪装进行传染时,就会被虚拟机所发现,然后他的各种病毒行为也会被有效检测出来,如此一来,利用虚拟机技术就可以发现大部分的变形病毒和大量的未知病毒。和主动防御完全不同,主动防御只有在程序运行后才能监控其行为,而虚拟机技术是把程序放入一个完全虚拟的环境先让它运行一遍,然后自动或提示用户来决定该程序是否合法正常,既然程序有恶意行为也只会影响到虚拟的环境,对真实的系统没有任何破坏。不过因为其原理实现复杂程序繁多,所以速度上比较慢


于是,已扫描速度快作为宣传口号之一的云安全诞生了,因该说其诞生不是偶然的,2009年,云计算发展已成熟

于是“云”成了IT行业最热门的名词。自从Google推出“云计算”以来,IT行业的各大厂商无一例外都捐入了一场“云中的战争”。紧随云计算、云存储之后出现的“云安全”,最早是趋势科技创造的概念。“云安全”的概念提出后,曾引起了广泛的争议,但事实胜于雄辩,云安全的发展像一阵风,趋势、卡巴斯基、ESET NOD32,MCAFEE、 SYMANTEC、江民科技、PANDA、金山、360、瑞星等等都推出了云安全解决方案。所谓“云安全”其实就是把原来放在客户端(用户的个人电脑)的分析计算能力转移到了服务器端(杀软厂商的高配置服务器),从而使得客户端变轻了

个人觉得“云”只是对特征码查杀的一种扩展。因为无论是什么样的查杀方式,总要有一个对病毒定义的方法,特征码查杀已经为大家所熟知。我理解的“云查杀”是用文件的hash与服务器端所记录的hash进行比对,如果服务器记录的这个hash是病毒,那么返回病毒名称,否则返回安全;如果一个文件的hash是未知的,那么客户端就会把这个文件上报到服务器,服务器根据其内置的规则来判断这个文件是否安全。现在的问题来了,改变一个文件的hash很容易,如果一个病毒对自身采用了一些变形技术,那么对于每个变种都必须由服务器来判定。所以说“云查杀”是用hash代替了特征码,但是hash也应该是一个文件的特征之一,如果说特征码所代表的是一批人的特征,那么hash就精确到一个人的身份证号码,但问题是现在办假证太容易了。
  之所以有“云查杀”的原因,我认为是99%和1%的关系。99%的人的电脑里99%的文件都是安全的,在这99%的用户中,有90%以上的文件是大家都有的,那么可以把这些“常见”文件的hash放在本地,也占不了多少空间,而且加快扫描速度,也能减轻服务器负担,剩下的那1%交给服务器所带来的代价是可以接受的。

但因此可能有个小问题,直接用“云安全”的设计对查杀病毒并不是十分有效,因为服务器要有自己的响应时间,并且不能误判。但是“云安全”用来对付木马变种却十分有用。对一个新木马,杀毒软件公司可以提取两套特征码,一套发放给用户,一套放在“云”服务器上,当服务器收到一个客户端提交的未知文件时,用服务器端特有的那一套特征码对未知文件进行扫描(杀毒软件公司在服务器端肯定还有别的检测分析手段),如果是病毒,那么由服务器自动提取病毒的一段特征码,当然要和服务器端的那套不一样,经过误报检测后发放给所有的用户更新。这样绝大多数用户就有了对这个木马变种的查杀能力。这样做的好处是减少了免杀木马的生存周期,可能还没有大范围的传播就被入库了,因为对服务器端做免杀的代价不是每个木马投放者能承受的。
    增加投放木马的成本,使其收益和投入不成比例,这才是“云安全”为我们带来的效果

当然这里只是一些简单的意见,至于其他云安全杀毒软件效果如何,也可以参考一些测试文章

回顾到2009年,杀毒软件发展历程也是不断的更新,可以看出工程师们为了应对各类层出不穷的病毒木马也是颇费脑筋
但安全和破坏永远是在交替着进步,杀毒战场上也没有永远不败的胜者,相信随的软件,硬件和手机通信,网络日益发达的新一年,病毒木马等恶意程序也会以惊人的速度和技术发展并造成巨大破坏,而杀毒软件或许也将以新的技术在2010年雄起展现.

2010年的反病毒之路会有哪些坎坷波折,会给我们带来哪些新技术新思想,会引发多少有影响的新闻事件,在这新的一年,谁将在这没有硝烟的战场上取得胜利.大发虎威,  大家就一起拭目以待吧

用户系统信息:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; QQDownload 598; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MAXTHON 2.0)
德拉克拉 - 2010-1-16 20:41:00
写的很好,顶LZ
莓鲑鲑 - 2010-1-16 21:06:00
反病毒之路,任重而道远!
hello_del - 2010-2-21 10:10:00
该用户帖子内容已被屏蔽
1
查看完整版本: 回顾总结,反病毒软件这些年的发展路