始创于2000年 股票代码:831685
咨询热线:0371-60135900 注册有礼 登录
  • 挂牌上市企业
  • 60秒人工响应
  • 99.99%连通率
  • 7*24h人工
  • 故障100倍补偿
您的位置: 网站首页 > 帮助中心>文章内容

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

发布时间:  2012/7/4 13:47:03
 文件监控的潜在兼容性问题

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

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

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请求发给下一层驱动完成相关的功能。


本文出自:亿恩科技【www.enkj.com】

服务器租用/服务器托管中国五强!虚拟主机域名注册顶级提供商!15年品质保障!--亿恩科技[ENKJ.COM]

  • 您可能在找
  • 亿恩北京公司:
  • 经营性ICP/ISP证:京B2-20150015
  • 亿恩郑州公司:
  • 经营性ICP/ISP/IDC证:豫B1.B2-20060070
  • 亿恩南昌公司:
  • 经营性ICP/ISP证:赣B2-20080012
  • 服务器/云主机 24小时售后服务电话:0371-60135900
  • 虚拟主机/智能建站 24小时售后服务电话:0371-60135900
  • 专注服务器托管17年
    扫扫关注-微信公众号
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 亿恩科技 版权所有  地址:郑州市高新区翠竹街1号总部企业基地亿恩大厦  法律顾问:河南亚太人律师事务所郝建锋、杜慧月律师   京公网安备41019702002023号
      1
     
     
     
     

    0371-60135900
    7*24小时客服服务热线