反病毒软件江湖:排斥与兼容的战争(1)

安全
实时监控、主动防御等技术的发展是一柄双刃剑,一方面随着监控点的增加能应对新的安全威胁,另一方面也使反病毒产品的稳定性遇到挑战,测试难度普遍加大。反病毒产品自身的稳定性压力都在呈现几何级数增长,相互之间的兼容则变得更加困难。以下从文件监控技术点,描述导致反病毒产品自身的稳定性下降、与操作系统之间和相互之间出现严重冲突问题的成因。

文件监控的潜在兼容性问题

文件监控是反病毒厂商普遍采用的技术手段,其主要机理是对文件的创建、读取、关闭等行为进行监控触发对文件病毒检测,以阻断病毒的执行和部分相关行为。

文件监控的实现方式主要有以下两大类型:

1. API挂钩。

根据钩挂API的层次不同我们又可以分为 :

(a) Ring3文件监控。

多采用inline hook的方式修改文件操作相关函数的前几个字节,跳转到自己的函数,然后对将要操作的文件和缓冲区进行检测。

由于实现跳转的方式有多种,所以不同软件的实现策略有所不同,很难保证多个软件共存时前一软件修改后不影响到后一个软件,而且很可能导致相关进程崩溃。

由于此类技术也多被恶意软件使用,一些安全软件不会在执行完自己的代码后执行修改前的自己,而是采用从原始文件中读取、分析、执行的方式,导致多个安全软件同时监控一个API时,只有一个生效。

出于性能考虑,不传递给原API处理而采用自己实现的代码完成该API的相应功能,那么也不会将相关信息传递给其他软件。

部分软件在执行完自己的函数后会把修改后的字节还原,然后调用原系统API完成功能后再次修改、挂钩。两个使用此实现的软件同时工作则可能造成互相调用导致死锁,程序没有响应。

(b) Ring0文件监控。与ring3的情况类似,但是后果更加严重。

由于inline hook不同实现造成的不兼容性很可能导致系统API无法正常工作,导致系统蓝屏。

例如:安天客户端产品(Antiy Ghostbusters4.0)早期版本采用大量inline hook,后因与其他产品严重冲突放弃;360安全卫士中inline hook有几种不同实现方式共存的现象,并且与360安全浏览器有重合的监控点;

挂钩之间相互调用,会导致死锁,系统死机;

采用替换SSDT的方式,则只有自己的挂钩有效,其他软件的挂钩均无效。

例如:360安全卫士等产品采用替换SSDT的方式,与其共存的安全软件通过标准方法获取的SSDT是无效的,导致其他安全软件功能出现缺失;

Vista以后微软对内核进行保护,部分对内核函数的修改会导致系统蓝屏。

例如:多个产品在内测和对外版本都出现过对关键内核函数进行修改,但是并没有仔细判断版本,导致兼容性出现问题而使系统蓝屏。

2. 文件过滤驱动

  1. File System Filter Drivers  
  2.  
  3. File System Minifilter Drivers 

过滤驱动的本质依然是挂钩,但微软为了方便厂商调用,对其进行了封装,属于官方的技术。此类技术本身已经力求稳定与兼容,多数都提供了一定的兼容性保障。微软自己的安全产品在驱动层面也多使用类似的方式。

但是在安全产品的实际应用中,多层监控逐层传递会造成效率的降低,一些厂商在实现时会绕过后续的过滤驱动,直接将IRP请求发给下一层驱动完成相关的功能。

反病毒软件排斥与兼容问题分析的更多内容请读者阅读:

反病毒软件江湖:排斥与兼容的战争(2)

反病毒软件江湖:排斥与兼容的战争(3)

反病毒软件江湖:排斥与兼容的战争(4)

【编辑推荐】

  1. 反病毒产品兼容冲突问题 
  2. 浅析黑客技术和网络安全
  3. 别让恶意软件妨碍我们的生活
  4. 大多数企业忽视“网络间谍”的威胁
  5. IT人员的困绕:互联网早期的病毒传播
责任编辑:佚名 来源: 中国教育网络
相关推荐

2011-06-17 14:41:49

兼容性防火墙浏览器防护

2011-06-17 14:41:46

兼容性反病毒主动防御

2014-05-19 10:50:08

2010-07-16 12:15:39

反病毒软件病毒

2010-03-31 09:41:05

2011-06-29 11:17:37

2016-11-24 14:11:44

2014-05-22 13:08:23

2012-03-12 14:17:10

2015-05-27 09:23:31

2009-04-08 11:44:25

2013-01-17 11:05:42

2012-07-16 09:23:54

赛门铁克Windows XP

2012-03-13 16:36:21

2011-08-08 15:36:57

2010-12-02 10:17:29

2009-04-21 14:34:59

恶意软件测试卡巴斯基

2012-01-16 10:22:51

2022-01-10 07:08:15

病毒软件网络攻击网络安全

2012-01-09 11:02:52

点赞
收藏

51CTO技术栈公众号