发新话题
打印

[转载]2004病毒和反病毒技术发展综述

[转载]2004病毒和反病毒技术发展综述

信息来源:中国电脑教育报

2004年是计算机病毒疫情不断,反病毒技术提供商大显身手的一年。一方面是病毒大面积的爆发,给全球互联网带来了灾难,另一方面,反病毒技术也在病毒的帮助下得到了相当大发展,未知病毒扫描技术逐渐成熟,立体防毒体系的提出,全网安全的概念盛行都离不开病毒、木马、恶意攻击的大力帮助。本文就是对这一年来病毒和反病毒技术发展谈一下个人看法,仅供参考。

   一、目的性、网络性是现代病毒的特征

   2004年,目的性、网络性将成为病毒编写的主要特点。截止2004年中国上网用户已达8500万,这么大的上网群体将会吸引更多的病毒作者放弃传统的病毒编写模式,转而编写具有网络特性的病毒,这种情况会使明年的网络病毒大量增加。

   网络的发展会使网站浏览、邮件、即时通讯、电子商务、网上银行等与网络有关的服务得到全面的发展,人们将会更加频繁地使用网络,更加依赖网络,这些情况会使带有目的性的病毒大量增加。象今年的小邮差病毒,从第9个变种以后,病毒就已经不再象以前的变种那样攻击某些网站了,而是伪装成信用卡信息填写栏来骗取用户的信用卡信息,已经具有很强的目的性了。因此在2004年,带有强烈性目的性、网络性的病毒成为病毒的主流。

   二、补丁策略是病毒防范的有机组成

   从2003年至2004年两年病毒与反病毒技术的较量过程中可以看出,病毒编写者往往是有针对性利用某一个漏洞进行攻击,攻击技巧大同小异。只是由于漏洞层出不穷,病毒也挥之不去。以“冲击波”,"震荡波"病毒为例,如果用户不进行系统补丁的安装,病毒就会乘虚而入。因此,未来的反病毒事业需要和漏洞防治紧密的结合在一起,每一个反病毒公司要做到未知病毒的预防,首先要抢在病毒编写者前面,发现系统漏洞,并根据系统漏洞的特点进行相应的预防和处理。

   三、防范未知病毒技术期待突破

   对于未知病毒的检测研究一直是多数反病毒厂商未曾放弃的,在主流的反病毒产品中都包含了相应的检测未知病毒的机制。

   检测未知病毒将面对很多问题,首先,这个机制必须是智能的,而不能把大量合法的应用程序误报成病毒给用户带来不便。目前,对未知病毒的检测的最大的挑战是WIN32文件型病毒(PE病毒)和特洛伊木马。由于其内核不公开,导致许多漏洞除了微软自己知道外,不能被广大用户主动发现和知晓,只能依靠运气和概率去发现。这给反病毒造成了困难远远大于给病毒编写造成的困难。反病毒技术只能跟在病毒后面去亡羊补牢。另外,Win32程序的虚拟运行机制要比在一个DOS环境复杂很多,涉及到虚拟内存资源的API调用和很多系统资源进程调度,而很多特洛伊木马程序,都善打擦边球,反病毒程序很难用传统行为分析的方法去区别其和一些正常网络服务程序的区别,因为从技术的角度讲,这些木马程序的运行机制和正常的网络服务完全一样,区别的只是目的。

   未知杀毒是对未知病毒进行有效识别与清除的技术。该技术的核心是以软件的形式虚拟一个硬件的CPU,然后将可疑文件放入这个虚拟的CPU进行解释执行,在执行的过程中对该可疑文件进行病毒的分析、判定。每个反病毒公司都在进行这种理论的研究工作,虽然取得了一些进展,但还未完全进入实用阶段。虚拟机机制在智能性和执行效率上都存在很多难题需要克服,在今后几年内,该技术将会有一个突破性的发展,完全进入实用阶段。

   四、反病毒体系趋向于立体化

   从以往传统的单机版杀毒,到网络版杀毒,在到全网安全概念的提出,反病毒技术已经由孤岛战略延伸出立体化架构。瑞星研发部副总经理马杰在近日的瑞星产品发布会中谈到过去防毒是警察抓小偷,零零散散;现在防毒是正规军进行剿匪,立体作战!用瑞星自己的解释就是新近推出的防毒墙!这种将传统意义的防病毒战线从单机延伸到网络接入的边缘设备,从软件扩展成硬件。从防火墙,IDS,到接入交换机,从软件到硬件的转变从计算机安全发展的角度讲,这是在长期病毒和反病毒技术较量中的新探索,也是计算机安全界在病毒网络化后的必然趋势。可谓以彼之道,还彼之身!

   这种立体化的基本趋势有如下特点:

   1 是对公司网络资源(如mail服务器)提供全面的保护。
   2 提供域用户登陆的自动查毒探头安装,拉或者推的方式的升级并提供统一的控制中心对全部查毒探头进行管理,进行。
   3 提供专门的隔离服务器。
   4 提供独立设备的反病毒网关。

   总结

   计算机病毒是一段程序的运行,网络攻击也是一种网络服务,新的计算机技术,网络服务带来新便利的同时往往就是新型病毒和网络攻击横行的前奏。现行的计算机体系决定着病毒和恶意攻击本身具有"不可判定性",网络攻击和病毒从技术上讲是不可灭绝的,但也是可以防治的。

关于第一个计算机病毒的产生时间有着许多许多的说法,我确信在Babbidge机器时代是肯定没有病毒的,但是到Univac 1108和IBM 360/370的时候就已经有了("Pervading Animal" 和 "Christmas Tree"),所以第一个计算机病毒的诞生是在二十世纪70年代初或者二十世纪60年代末,虽然在那时候没有人叫它们病毒。但是,病毒成为一个问题的时候,就出现了解决问题的人——安全专家——和他们的成果:杀毒技术和防病毒产品。

  作者简介:刘杰,中国最早系统地从事计算机病毒与网络安全技术研究的专家,曾起草中国安全法规:计算机病毒防治产品评级标准,获公安部科技成果二等奖,现任国家有关部委网络安全顾问、商丘师范大学客座教授,是光华反病毒软件的开发者。

  杀毒软件是对付计算机病毒的最有效方法,但是没有杀毒软件能100%的保证系统不被病毒感染。任何宣称存在这种杀毒软件的广告都是虚假的、在法律上说都是无效的。那样的系统是不存在的,因为每种杀毒算法都可能促使产生与之相对立的病毒的算法,随之制造的病毒对于这种特定的杀毒软件可能检测不到(当然:任何杀毒算法都可以开发成一个杀毒软件)。而且,已经证实“在有限理论的基础上不可能存在绝对的防毒”——试验者是Fred Cohen。

  从杀毒技术上来讲,当前,最流行的杀毒软件都是一个扫描器,扫描的算法有多种,通常为了使杀毒软件功能更强大,会结合使用好几种扫描方法。

  1)病毒扫描

  病毒扫描是当前最主要的查杀病毒方式,它主要通过检查文件、扇区和系统内存、搜索新病毒,用“标记”查找已知病毒,病毒标记就是病毒常用代码的特征,病毒除了用这些标记,也用别的方法。有的根据算法来判断文件是否被某种病毒感染,一些杀毒软件也用它来检测变形病毒。

  病毒扫描从杀毒方式上可以分成两种——“通用”和“专用”。“通用”扫描被设计成不依赖操作系统,可以查各种病毒;而“专用”扫描则被设计用来专查某种病毒,如宏病毒,可以使某些应用软件的病毒防护更加可靠。

  病毒扫描也可按照用户操作方式分成实时扫描和请求式扫描,实时扫描能提供更好的系统病毒防护,因为如果有病毒出现,能够立即发现,请求式扫描只在运行时才能检测到病毒。

  2)启发式扫描

  启发式扫描是通过分析指令出现的顺序,或组合情况来决定文件是否感染,每个对象都要检查,这种方式查毒效果是最高的,但也最可能出现误报。

  3)CRC 扫描

  CRC扫描的原理是计算磁盘中的实际文件或系统扇区的CRC值(检验和),这些CRC值被杀毒软件保存到它自己的数据库中,在运行杀毒软件时,用备份的CRC值与当前计算的值比较,可以知道文件是否已经修改或被病毒感染。

  使用这种算法的CRC扫描是强有力的反病毒工具:100%的病毒都能在进入计算机时被检查出来。但这种杀毒方式天生就有一个缺点——效率很低。CRC扫描在病毒已经渗透到计算机之后,并不能很快的检测到,只有过一段时间病毒开始传播时才会发现,而且不能检测新文件中的病毒(例如邮件、软件文件、备份恢复的文件或解压文件),因为在它的数据库中没有这些文件的CRC值。此外,有的病毒也会利用CRC扫描的这种“弱点”,只在扫描之前感染新创建的文件。

各种扫描都有自己的优缺点,拥有一个病毒库是他们的基本特征,但是如果病毒库过大的话,查毒速度会变得很慢。除了以上的杀毒方法外,还有一些常用技术。

  1)行为判断

  行为判断就是通过驻留的杀毒软件截获那些对用户有病毒危险的行为,这些病毒可能会在修改可执行文件、引导扇区或MBR时被发现,这种方法的优点在于可以在病毒感染的早期发现并阻止,但有的病毒可以越过这种保护,使得杀毒软件完全失效。

  2)病毒免疫

  免疫有两种:一种是感染警告,另一种是阻止病毒感染。第一种免疫方式主要是预防那些把自己添加到文件末尾的病毒(通常是文件型病毒),每个文件都会检查。但有一个致命的弱点:无法检测到诡密病毒,所以实际上很少用这种免疫方式。

  第二种免疫方式主要是预防系统被某种特定病毒感染,如果文件被病毒修改就可以检测到(例如文件中存在字符串“MsDos”,说明文件可能被“Jerusalem”病毒感染),如果病毒把一个小的TSR程序拷贝到计算机内存中,系统肯定被感染。
由于不可能对所有的病毒采用免疫,所以这种病毒免疫方式并不通用。

  哪种杀毒技术更好?

  哪种杀毒技术更好?答案是——都好,只要计算机里没有病毒。但是如果要安装新软件、收邮件、使用Word或Excel电子表,需要根据自身的情况选择几种比较合适的杀毒软件。
各种杀毒软件的特点都会有一些不同,它们的质量我想可以肯定,下面说几点相对重要的:可靠性和方便性——杀毒软件会不会经常“挂起”,普通用户使用时是否需要特定的技术知识。

  1) 扫描文档、检测各种病毒的性能,能不能修复被感染的文件,扫描引擎能不能及时地更新,处理新病毒的速度。

  2) 杀毒软件是否适应各种平台(DOS、Windows、Alpha、Linux等),不仅可以根据用户需要扫描,还要有能实时监控、网络查毒的能力。

  3) 查毒速度等其他有用功能。
杀毒软件最重要的是可靠性,虽然没有“绝对的杀毒软件”,但也不能扫描一半文件就挂了,磁盘中剩下的文件还没有扫描完,也没有检测出系统中的病毒;杀毒软件不能要求用户具备特定的知识——许多用户只愿选择杀毒软件弹出简单的[OK]或[Cancel]按钮的消息框,如果杀毒软件经常会询问用户一些复杂的问题,用户肯定不会喜欢这种杀毒软件。

显然,病毒检测能力是第二个重要因素,之所以叫杀毒软件,目的就是检测并清除病毒。任何不能检测到病毒的杀毒软件都是无效的。如果一个杀毒软件不能100%防疫一种变形病毒,那整个系统将会被这种类型的病毒感染,此种杀毒软件只能检测出系统中被感染的部分(99%)文件,剩下的1%被感染文件还是没有查到,这时病毒已经感染计算机了,第二次扫描时,杀毒软件又会留下1%的文件没有扫描,但这次是上次99%中的1%,实际上是1.99%,可以想象最后将是什么样子。

  因此病毒检测能力是衡量杀毒软件质量的第二个最重要标准;比支持多平台等其他特点都重要。
当然杀毒软件也不能太敏感,如果经常误报,以致删除了没有感染的文件,用户也会错过真正的病毒警告。
多平台支持也是一个重要的因素,例如"OneHalf"病毒感染Windows95或WindowsNT系统,如果你使用DOS杀毒软件来解密磁盘(这个病毒会加密磁盘扇区),结果会令你很失望:磁盘上的数据可能被毁坏,因为Windows95/NT在扇区加密后不允许杀毒软件直接读/写它的扇区,而用Windows95/NT杀毒软件就能把病毒清除。
 
  对于杀毒软件来说,实时监控能力也是一个相当重要的标准,如果进来的文件和磁盘中有病毒应该能100%的检查到,保证文件服务器的安全(如避免Windows NT遭受宏病毒的攻击,对所有进来的邮件进行扫描)都是必需的。如果杀毒软件在网络管理方面的功能很强,那它的价值也很大。
另一个重要的标准是工作速度。如果全面扫描整个系统需要好几小时才能完成,大多数用户可能不会经常扫描。不同的杀毒软件用不同扫描算法,有的速度快质量好,而有的可能速度慢而且质量也没有那么高,这些要依靠软件开发者的能力。

  附加功能作为评价杀毒软件的最后一个标准,因为没有这些功能不会影响整个软件的使用。然而,有的功能对用户来说很方便,做事情会更容易,这样会促使用户经常使用杀毒软件。

  杀毒技术发展的趋势

  由于Internet的普及,互联网已经成为病毒制作技术扩散、病毒传播的重要途径,病毒开发者之间已经出现了团队合作的趋势,病毒制作技术也在与黑客技术进行融合。他们对现在的病毒对抗技术提出了挑战,因此,病毒防护技术正在发生重大的变化,概括起来说,就是病毒对抗的理论在做从作品对抗到思想对抗的转变,产品形态在从独立软件产品向操作系统的补丁转变。

1)从作品对抗到思想对抗

  以前,杀毒软件的理论基础是,首先要发现并确认一个病毒,然后,再进行防范,它的缺点是,对未知病毒的防范能力弱,我们没有有效的办法对付各种病毒的变形,对融合了黑客技术的病毒,不能有效防范。一般是一种新病毒发作后,大家才能开发出查杀该病毒的软件,用户还需要尽快升级自己的防毒软件,因此,可以说以前的方法就好象警察找罪犯,在警察没有看到罪犯犯罪,或得到举报前,即使罪犯犯了罪,警察也没有办法,这是一种病毒制造者与安全专家之间在作品层面的竞赛。而新的理论是基于对大量的病毒的特征、发作过程、传播变化统计的基础上,建立控制策略数学模型,采取分门别类的方法,有效解决应用同种思想开发出的各种病毒,可以极大提高对新病毒的反应时间。由于这种方法是通过抑制病毒设计思想而实现的,因此,这是一种病毒制造者与安全专家之间在整体思想层面的竞赛。

  因此,新的杀毒软件不仅仅是依据病毒数据库中的病毒代码对计算机进行扫描,而是对计算机所运行的各种进程、各种操作进行监控,如果发现某个事件或某项操作存在典型的病毒特征,或是对计算机存在危害,那么这些事件或操作就会被阻止,得以更有效地保护计算机不受新型病毒的入侵。

  2)从独立产品到操作系统的补丁

  杀毒软件作为一个独立的软件产品,已经存在了很久,但是,由于病毒制造者越来越多地利用操作系统的漏洞和黑客技术,因此,与操作系统的紧密结合成为一种必然:一方面,可以帮助操作系统减少漏洞,另一方面,也可以进一步提高运行效率和软件兼容度。从商业角度上来说,安全技术可以融入各种应用系统,减少应用系统自身的安全漏洞,同时,也可以为用户提供更加个性化的安全服务。

  科技带来了进步,也带来了计算机病毒,我们与计算机病毒所作的斗争,是一个人、一群人与另一个人、一群人智慧的斗争,因为病毒聪明而有智慧,就像制造病毒的那些人一样,他们发明了新的病毒——我们就不得不小心的对付它;他们发明了一个很高明的病毒——我们还是得更小心的对付它。我们每天坐在计算机前,象个哑巴一样不说话,面对着一个个的病毒妖怪,这样的一个病毒,我们分析需要一天,而编写防病毒算法又得一天,很像活的生物进化历程呢,不是吗?
曾几何时,有人对我说:装B遭雷劈。我说:去你妈的。于是,这个人又对我说:如果再说脏话,上帝会惩罚你的。我说:我操上帝。结论:彪悍的人生不需要上帝。

TOP

发新话题