查看: 12859|回复: 63
收起左侧

[分享] 【科普文 技术贴 卡饭首发 新手必看】————杀毒软件技术浅析(基础篇)

  [复制链接]
天道酬勤QQ
发表于 2011-8-4 18:14:08 | 显示全部楼层 |阅读模式
本帖最后由 天道酬勤QQ 于 2011-8-4 18:17 编辑

杀毒软件技术浅析(基础篇)

   前言:
  云时代的杀毒软件已经不是单一的某种技术的应用,而是一条完整的系统的技术解决方案。不同种类的病毒要用不同的技术去解决,而不是单凭一个技术解决全部病毒。
  闻道有先后,术业有专攻,各家杀毒软件厂商对杀毒软件的技术理念和病毒发展趋势的看法也并不是完全一样的,所以技术点都是有所偏重的。
  特征码技术,广谱特征码技术,启发式技术,主动防御技术,与云端结合后形成一套整体的系统的技术解决方案,去跟不同的病毒做对抗。云服务端只是各种杀毒软件技术的载体,并不是技术本身。
  杀毒软件是不能查杀未知病毒的,可以查杀未知行为但是已知特征,或者未知特征而已知行为的病毒。病毒的行为或者特征至少要知道一样才能查杀。
  先有病毒,才有的杀毒软件。先有病毒技术的发展,才有杀毒软件技术的发展。

  杀毒软件进步的技术动力其实是:病毒技术的进步!
  简单的用012345这六个数字来代替一段病毒代码。说一下病毒与杀毒软件对抗的发展史:
基于病毒特征的病毒查杀技术
1.特征码技术
  假设:012345是一个病毒代码的一部分, 杀毒软件病毒库中有012345这样一段特征,两者完全匹配,就判断包含012345的这段代码是病毒。特征码查毒的方法需要病毒库里的特征与病毒的特征完全匹配,一对一的方式去识别病毒。于是病毒想出了一个变种的方法来对抗杀毒软件。
病毒变种技术:012345中间加上空格,变成了0 1 2 3 4 5 这个时候跟病毒库中的012345就不一样了,但是病毒完全可以执行。
2.广谱特征码技术
  这个时候杀毒软件采用了广谱特征码技术,这个技术其实就是自动过滤掉0 1 2 3 4 5中间的空格,好让病毒库中的一个特征码可以使用很长时间。去匹配变种的病毒。于是病毒再次想出了变形的方法去对抗杀毒软件
病毒变形技术:将012345变形成了:零壹贰叁肆伍,看起来完全不一样了,杀毒软件的特征码无法匹配了,而病毒还是那个病毒。
基于病毒行为的杀毒软件技术:
3.启发式技术
  基于这种病毒的变形技术,杀毒软件厂商又研究出了启发式技术。启发式技术分为:
  静态启发式查毒技术
  基于单病毒样本特征的启发式查毒技术
  基于统计学的启发式查毒技术
  动态启发式查毒技术
  基于虚拟机的启发式查毒技术
  零壹贰叁肆伍这个病毒变形之后跟之前的012345根本没有任何共同的特征了。但是他们还是有共同的行为的。比如感染某个文件,释放某些特定的代码,调用某个API接口。这个时候杀毒软件的开发者们就人工总结了这些行为,通过行为去匹配这个文件是否是病毒。
而基于统计学的启发式查毒,就是统计了很多已知的病毒行为,简单的列个表大概就是这样:(当然真正的启发式统计的项目肯定非常非常多)

病毒都做了啥


给这些做法打个分


修改启动项


-5


修改注册表


-5


修改系统文件


-5


修改系统服务


-5


修改常用软件


-5

设立了一个分值的分界线:超过-15分就判断为病毒
这个时候零壹贰叁肆伍修改了启动项-5,修改了注册表-5,修改了系统文件-5,那OK这个就是一个病毒。
但是启发式可以查杀的病毒是不知道病毒特征但是却已知病毒行为的病毒。这并不能说是查杀未知病毒。如果有的病毒行为不在启发式的统计范围之内,那么启发式也是无能为力的。
所谓自学习的QVM,就是这种基于统计学的启发式查毒,只是不断的把病毒行为提取出来放到自己的病毒库中,然后在用统计出的值去匹配文件。就酱紫!
动态启发式就是虚拟机技术,原理也差不多就是分析病毒的行为,观察“壹贰叁肆伍”在虚拟机中都干了什么。但是虚拟机也不是万能的,模拟的真实环境毕竟不是完全真实的环境。
比如真实的系统中有个不起眼的文件叫“!”而虚拟机模仿的时候觉得这个“!”去掉也不影响什么。这个时候病毒就释放一个命令删除“!”然后发现没有“!”这个文件,就知道自己是在虚拟机里,就不释放那些有害的行为。

静态启发式
优点:
相对动态启发式来说,查杀速度更快
缺点:
容易受加壳、加密,变形等手段影响
基于统计学的启发式,库比较大   

动态启发式
优点:
基于虚拟执行,能够捕获到真实的病毒行为
对抗强度高
缺点:
查毒速度较慢,在引擎中要谨慎使用
研发代价非常大            


4.主动防御技术
如果说启发式技术还是要去匹配行为,那么主动防御就是在启发式的基础上去实时监控行为。两者的原理差不多,都是依据已知的病毒行为来判断。但是启发式的工作方式是:
发现病毒行为-----去匹配特征-----返回一个结果
主动防御的工作方式:
发现病毒行为-------直接返回一个结果
主动防御的作用就是减少了病毒与杀毒软件的对抗时间。

主动防御的优点:
减少病毒与杀毒软件对抗周期
对付已知病毒行为的病毒有一定效果

主动防御的缺点:
由于要对整个系统进行全面的监控,会导致系统性能下降
对驱动技术依赖比较高,经常需要使用一些系统未公开技术,兼容性较差
不同的杀毒软件技术其实对应的是不同种类的病毒,如果只采用特征码技术,那么对于采用病毒变形技术的病毒就很难有效查杀。如果只采用行为分析技术,对于简单的采用特征码就可以查杀的病毒来说又失去了效率。而且行为分析技术需要牺牲一部分系统资源来提升工作效率。
有没有即能保证效率又能保证效果的方案呢?云技术的出现让特征技术与病毒行为技术整合成一个庞大的体系,并各司其职使用又能互补缺陷的杀毒软件技术成为了可能:

5.边界防御技术
  病毒特征,病毒行为,有一个最基本的前提,就是病毒进入了电脑。
  但是病毒也不是电脑自己产生的,病毒是如何进入用户电脑的呢?我们常说病从口入,这个入口上是否可以采取一些措施呢?长期以来入口这个问题因为所有杀毒软件厂商都忙于跟病毒一刀一枪的对抗,而忽略掉了。边界防御技术在特征和行为查杀的基础上首次关注了病毒是怎么进入电脑的这个问题。
  边界防御技术使用了一种东西,叫互联网爬虫。跟搜索引擎的爬虫有些类似,在互联网上自动抓取新增的软件和网站进行分析,之后在云端利用各种技术评定一下这个软件或者网站的安全级别。当用户访问安全级别较低的网站或者从这些网站下载东西的时候,就会触发杀毒软件调高自己的保护级别。
  同时,边界防御将访问用户电脑的文件分为了认识和不认识的,在通过特征分析或者行为判断来识别不认识的文件,是安全的还是病毒。
  
dyhua
发表于 2011-8-4 18:19:56 | 显示全部楼层
lz感觉这文章就是大家都知道的东西啊
没有看到技术含量
chujunci
发表于 2011-8-4 18:21:30 | 显示全部楼层
好像在哪见过!!
里奥
发表于 2011-8-4 18:21:55 | 显示全部楼层
这些,很多人都知道了
天道酬勤QQ
 楼主| 发表于 2011-8-4 18:25:28 | 显示全部楼层
里奥 发表于 2011-8-4 18:21
这些,很多人都知道了

纠正一下一些人的误区
里奥
发表于 2011-8-4 18:27:55 | 显示全部楼层
天道酬勤QQ 发表于 2011-8-4 18:25
纠正一下一些人的误区

误区都是被杀软公司炒作出来的
域圈
发表于 2011-8-4 18:28:57 | 显示全部楼层
来学习一下
无名_肆
发表于 2011-8-4 18:54:51 | 显示全部楼层
支持楼主
K_Ghost!
发表于 2011-8-4 18:59:38 | 显示全部楼层
实话说 这的确好熟悉
iezhaoie
头像被屏蔽
发表于 2011-8-4 19:00:27 | 显示全部楼层
学习一下
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-2-2 20:44 , Processed in 0.131581 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表