天极网9月27日消息 自2004年9月21日江民率先推出首款2005版杀毒软件江民杀毒软件KV2005,并首次提出该杀毒软件系采用了“驱动级编程技术”的首款系统级杀毒软件后,在广大反病毒发烧友和编程爱好者中引起了强烈的反响。许多用户对“驱动级编程技术”“系统级的杀毒软件”这两个概念感到陌生,纷纷希望专家能详细解释一下何谓“驱动级编程技术”以及“系统级杀毒软件”。近日,江民公司反病毒专家王磊从技术层面对此进行了较为详尽的阐述。
王磊介绍,首先,“驱动级编程技术”主要体现在杀毒软件的“病毒实时监控”这一功能上。大家知道,电脑的所有操作指令是由其大脑CPU发出的,一般CPU指令分为四个优先层级,ring0、ring1、ring2、ring3,应用程序运行在ring3,涉及到操作系统任务调度、内存管理、中断和I/O等等的特权指令只有在Ring0才能执行。对于病毒的活动来说,由于反病毒软件必须保证其在内存阶段即被截获并作出处理,所以普通的用户级程序是无法监控的,只有工作于ring0层(也即系统核心层)的程序才能监控系统活动。江民杀毒软件 KV2005病毒实时监控使用了“驱动级编程技术”,将查病毒模块直接移植到ring0系统核心层直接监控病毒,让工作于系统核心态的驱动程序去拦截所有的文件访问。
简单地说,病毒在感染一个文件后,常常会对同类文件进行重复感染,如“新欢乐时光(VBS/KJ)”病毒,会感染所有。exe可执行文件,当病毒在被触发时,病毒会发出感染另一个文件的请求,此时通过“驱动级编程技术”编写的实时监控程序会第一时间根据用户的决定选择不同的处理方案,如清除病毒,禁止访问该文件,删除该文件或简单地忽略。这样就可以有效地阻止病毒的进一步在本机上的传播。
王磊进一步说明,与其它杀毒软件通过工作在RING0层(系统核心层)的程序监控到病毒后,再调用RING3层(用户层)的查杀病毒模块对病毒进行处理不同,江民杀毒软件KV2005直接在RING0层对病毒进行处理,真正与操作系统层工作在同一层级,解决了RING0与RING3层之间双向通信消耗问题。如果RING0层的程序监控到病毒再调用RING3层的查杀病毒模块的话(技术上通过异步过程调用APC来实现),可能面临着一些十分可怕的事情,用户可能会发现它会在一段时间内工作正常,但时间一长,系统就被挂起了。就连驱动编程大师Walter Oney在其著作《System Programming For Windows 95》的配套源码的说明中也声称,其APC例程在某些时候工作会不正常。而微软的工程师声称文件操作请求是不能被中断掉的,你不能在驱动中阻断文件操作并依赖于ring3的反馈来做出响应。这些问题的长期存在会使电脑存在打开杀毒软件病毒监控后病毒仍然发作的可能性。采用了“驱动级编程技术”的江民杀毒软件KV2005则解决了此类问题,其病毒监控十分灵敏,效率更高,系统更稳定。
王磊最后认为,这也是为什么江民杀毒软件KV2005被称为国内“首款系统级的杀毒软件”的内在的原因。(完)




