• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

第一次亲密接触浅析杀毒软件技术应用

发布: 2007-6-23 18:14 | 作者:   | 来源:   | 查看: 13次 | 进入软件测试论坛讨论

领测软件测试网

   病毒的分类


  1994年2月18日,我国正式颁布实施了《中华人民共和国计算机信息系统安全保护条例》,在《条例》第二十八条中明确指出:“计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码。”这是我国对于计算机病毒的正式定义,但是在实际中,所有会对用户的计算机安全产生威胁的,都被划入了广义的病毒范畴。


  病毒大致分为以下几类:传统病毒,宏病毒,恶意脚本,木马、黑客、蠕虫、破坏性程序。

  1. 传统病毒:能够感染的程序。通过改变文件或者其他东西进行传播,通常有感染可执行文件的文件型病毒和感染引导扇区的引导型病毒;
 

  2.宏病毒(Macro):利用Word、Excel等的宏脚本功能进行传播的病毒;

  3.恶意脚本(Script)、:做破坏的脚本程序。包括HTML脚本、批处理脚本、VB、JS脚本等;


  4.木马(Trojan)程序:当病毒程序被激活或启动后用户无法终止其运行。广义上说,所有的网络服务程序都是木马,判定是否是木马病毒的标准不好确定,通常的标准是:在用户不知情的情况下安装,隐藏在后台,服务器端一般没有界面无法配置;


  5.黑客(Hack) 程序:利用网络来攻击其他计算机的网络工具,被运行或激活后就象其他正常程序一样有界面;黑客程序是用来攻击/破坏别人的计算机,对使用者本身的机器没有损害;


  6.蠕虫(Worm)程序:蠕虫病毒是一种可以利用操作系统的漏洞、电子邮件、P2P软件等自动传播自身的病毒;


  7.破坏性程序(Harm):病毒启动后,破坏用户计算机系统,如删除文件,格式化硬盘等。常见的是bat文件,也有一些是可执行文件,有一部分和恶意网页结合使用。

  病毒与引擎的变迁


  简单特征码

  80年代末期,基于个人电脑病毒的诞生,随即就有了清除病毒的工具──反病毒软件。这一时期,病毒所使用的技术还比较简单,从而检测相对容易,最广泛使用的就是特征码匹配的方法。

  特征码是什么呢?比如说,“如果在第1034字节处是下面的内容:0xec , 0x99, 0x80,0x99,就表示是大麻病毒。”这就是特征码,一串表明病毒自身特征的十六进制的字串。特征码一般都选得很长,有时可达数十字节,一般也会选取多个,以保证正确判断。杀毒软件通过利用特征串,可以非常容易的查出病毒。

  广谱特征


  为了躲避杀毒软件的查杀,电脑病毒开始进化。病毒为了躲避杀毒软件的查杀,逐渐演变为变形的形式,每感染一次,就对自身变一次形,通过对自身的变形来躲避查杀。这样一来,同一种病毒的变种病毒大量增加,甚至可以到达天文数字的量级。大量的变形病毒不同形态之间甚至可以做到没有超过三个连续字节是相同的。


  为了对付这种情况,首先特征码的获取不可能再是简单的取出一段代码来,而是分段的,中间可以包含任意的内容(也就是增加了一些不参加比较的“掩码字节”,在出现“掩码字节”的地方,出现什么内容都不参加比较)。这就是曾经提出的广谱特征码的概念。这个技术在一段时间内,对于处理某些变形的病毒提供了一种方法,但是也使误报率大大增加,所以采用广谱特征码的技术目前已不能有效的对新病毒进行查杀,并且还可能把正规程序当作病毒误报给用户。

  启发式扫描


  为了对付病毒的不断变化和对未知病毒的研究,启发式扫描方式出现了。启发式扫描是通过分析指令出现的顺序,或特定组合情况等常见病毒的标准特征来决定文件是否感染未知病毒。因为病毒要达到感染和破坏的目的,通常的行为都会有一定的特征,例如非常规读写文件,终结自身,非常规切入零环等等。所以可以根据扫描特定的行为或多种行为的组合来判断一个程序是否是病毒。

  这种启发式扫描比起静态的特征码扫描要先进的多,可以达到一定的未知病毒处理能力,但还是会有不准确的时候。特别是因为无法确定一定是病毒,而不可能做未知病毒杀毒。

  行为判定


  针对变形病毒、未知病毒等复杂的病毒情况,极少数杀毒软件采用了虚拟机技术,达到了对未知病毒良好的查杀效果。它实际上是一种可控的,由软件模拟出来的程序虚拟运行环境,就像我们看的电影《黑客帝国》一样。在这一环境中虚拟执行的程序,就像生活在母体(Matrix)中的人,不论好坏,其一切行为都是受到建筑师(architect)控制的。虽然病毒通过各种方式来躲避杀毒软件,但是当它运行在虚拟机中时,它并不知道自己的一切行为都在被虚拟机所监控,所以当它在虚拟机中脱去伪装进行传染时,就会被虚拟机所发现,如此一来,利用虚拟机技术就可以发现大部分的变形病毒和大量的未知病毒。

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网