杀毒软件江湖:排斥与兼容的战争(下)

2010-08-22 09:01肖新光
中国教育网络 2010年11期
关键词:反病毒监控点主动防御

文/肖新光

反病毒产品的兼容性问题

除了文件监控、防火墙、浏览器防护的潜在兼容性问题之外,在多款软件共存的情况下,主动防御的兼容性问题尤为严重。主动防御主要可以分为两个方面来看待:

1. 自我保护

多款安全软件都保护自己的监控点不被修改,特别是使用了inline hook或者对系统设备、内核对象、SSDT进行了hook的产品。类似安天Atool等Rootkit检查工具曾使用过替换进程SSDT保证自己的hook不被修改,但也导致使用SSDT hook的主动防御完全失效的副作用。360安全卫士曾使用替换SSDT的技术对自己的监控点进行保护,导致与其共存的安全软件主动防御功能中关于SSDT的部分完全失效。

一旦发现自己的监控点被修改,则会对监控点进行修复,也就是重新hook。这就有可能导致多款安全软件反复争夺监控点,或者hook直接互相调用造成死锁,最终耗尽系统资源,导致机器死机。

由于自我保护的存在,病毒感染安全软件后,依然会被安全软件的自我保护所保护,其他安全软件可能无法读取其内容进行检测,或者可以检测,但是无法结束相应的进程。

2. 恶意行为分析

一款软件出于安全角度考虑,不调用被hook的原始API,则会导致其他软件在分析恶意行为时,无法检测到该行为,进而造成程序的行为序列发生改变,最终导致行为分析误报或者漏报。

由于安全软件的某些行为和恶意软件具有相似性,例如:对API进行的某些hook,在多款安全软件共存的情况下,很有可能一款安全软件被另一款报为病毒,这也是一种误报。

为了保证自身进程的行为不被重复记录或者对行为分析产生影响,安全软件可能会对特殊API的调用参数含义进行修改,增加自身需要的标识,而这些标识可能会造成后续的监控产生不可预知的行为,最糟糕的情况就是导致系统蓝屏。

对于ring3与ring0结合判断的主动防御,处于二者中间的其他安全软件对数据的修改可能会造成ring0缓冲区的溢出(例如:ring3的API挂钩通知ring0的驱动,需要26字节实际数据可能由于中间沙箱软件的路径重定向被改为27字节或者更多)或者被截断,导致系统蓝屏或者漏报。

以上仅仅是主动防御潜在兼容性问题的一部分,由于主动防御技术本身的复杂度,在多款实用主动防御技术的安全软件共存的情况下,兼容性问题就更容易出现,也更加严重,这里说明的仅仅是一部分,不是全部。

兼容问题对反病毒厂商的影响

兼容性是反病毒厂商的核心困扰之一,由于反病毒使用大量的内核技术、驱动等,一旦出现兼容性的后果,其所造成的影响,要远严重于其他应用软件。同时反病毒产品为了对抗病毒的一些自我防护机制,也会使问题的处置变得比较复杂。因此,多种反病毒软件之间冲突引发的问题要比其他软件冲突问题后果更加严重。

兼容性冲突问题使反病毒厂商技术支持的难度增大,由于环境的复杂性,问题变得更加难以排查和处理。

特别是企业版产品,厂商承担着更大的责任和支持义务,如果由于冲突性问题,带来问题,对于问题的责任、后果的认定等方面都带来较大压力。

同时,有的冲突问题由于需要厂商间相互沟通才能解决,因此增加了支持压力和解决用户问题的周期。

解决冲突问题的约定俗成规则

在实时监控技术在Windows体系下刚刚成熟时,能够提供相关机制的厂商不多,监控点也相对较少,因此在出现兼容冲突问题时,厂商之间可以相互改造和规避。后来由于安全厂商过多,而监控点也在不断增加,解决相关问题的复杂度已经超出了每个厂商的个体能力。

因此在经历了大量冲突事件后,部分主流厂商选择了从安装环节保证互斥的方法。其具体操作是:在安装时检测用户系统中是否有其他反病毒产品,如果有则提示用户可能的冲突后果,并提示用户卸载。如果用户不卸载,则明示用户共存后果,或者选择自身不予安装。但先被装载到主机上的反病毒产品,并不监控其他反病毒产品的安装行为,以及进行提示。这就是约定俗成的“后卸前”原则。

这种方法虽然影响到了一些用户让多种反病毒产品共存的意愿,但其形成了一个单向的逻辑,即后安装的有告知和卸载的主动权,先装入主机的接受用户的选择。

这个过程是有一定合理性的:

需要指出的是,尽管反病毒厂商之间存在着长期的竞争,但主流厂商之间的技术层次的互通,技术资源(如病毒样本)的分享是一直存在的。

通过互斥一定程度上解决了兼容性问题。

保证了用户的知情权、选择权和自觉权。用户是在被告知后果的情况下,做出了符合个人意愿的选择。

用户在后一个反病毒产品的体验中,如果觉得不如之前的软件,可以通过再安装前一个软件的方法,重新选择之前的产品。这确保了厂商之间的竞争基本上是用户体验和效果的竞争,而没有赖在用户机器上不走的情况。

但互斥性的方法,所带来的问题也显而易见,那就是用户很难同时分享两个产品的保障。而这对于地下经济产业链所驱动的木马小众化、数量爆炸化的严峻安装形式,只靠任何一个厂商的力量,可能都很难保证用户安全。相关产品能够合理共存、机制互补更符合用户价值的最大化。

目前的问题和建议

需要指出的是,尽管反病毒厂商之间存在着长期的竞争,但主流厂商之间的技术层次的互通,技术资源(如病毒样本)的分享是一直存在的。加之管理部门、测评机构、CERT组织等的协调和努力,各厂商之间基本遵循了一些基础的原则。在历史上较长的时间内,尽管出现过各种商业摩擦,但一直都把兼容冲突作为期望回避的问题,而不是作为竞争的筹码和手段。有关问题的复杂化和扩大化是后期才出现的。

这说明任何没有明确行业规范为支撑的原则,都是脆弱的。在“后卸前”的用户自主选择链条中,只要有一家采用不良手段(如通过反人机工程的方法,在竞争对手产品安装过程中,给予多次提示,造成用户一次选择不当就无法安装、或者安装后失效等),保护自己所谓装机率,则会连带造成被拦截的厂商进行报复,从而导致规则被打破,形成恶性循环,最终导致通过恶意构造兼容性壁垒和陷阱变成普遍性的行为。因此,自然形成的事实标准需要形成行业规范,才能具有权威性。

反病毒产品作为主机安全的核心屏障,不仅要使用户远离安全威胁,也要保护用户的知情权和选择权。尊重用户卸载意愿,包括在保证稳定性基础上,尊重用户希望多个安全产品共存的愿望,不仅是用户权益的体现,也是厂商不怕被用户进行比较选择的自信心的体现。因为这个行业之所以前进,正是因为用户拥有不断尝试和选择的机会,这是每个厂商的动力之源。

同时,我们需要意识到用户期望多安全产品共存,是当前严峻的安全形势所催生的真实需求。反病毒产品如果能提供更多的定制选择,如提供行命令的扫描工具、提供扫描界面和监控机制(甚至不同监控机制)的可定制安装,就能让用户在获得多个厂商的检测能力的基础上,较少地付出兼容性代价。如果安全厂商之间进一步强化其互通体制和配置策略,未来能够支持用户更灵活的定制多产品共存的监控策略,则将创造一种更为理想的用户境界。

而主流操作系统厂商如果能对监控基础给出更为丰富的接口和定义相应的规范,包括保证公共安全接口统一嵌套化,则能进一步降低发生冲突的概率。

当然,我们希望用户理解,只要反病毒产品的实时监控和防御的使命存在,不同产品之间的兼容冲突问题就必然存在,不可能有终极解决之道。我们也希望传达给用户的信息是大量安全厂商所研发的充满不同个性的安全产品,是攻击者需要逾越的一个整体代价。只有八仙过海、各显其能的厂商个性存在,才能保证网络整体安全水准。多个厂商的共存和竞争,是互联网安全的基础保证。

猜你喜欢
反病毒监控点主动防御
变电站动静互联式的主动防御小动物入侵系统开发
基于网络信息安全技术管理的计算机应用
主动防御飞行器的范数型微分对策制导律
计算机网络信息安全分析与防护技术研究
高速公路室外监控点一体化智能箱设计浅析
某企业高中密度纤维板生产项目能源中心烟气监控点位设置研究
网络安全主动防御技术分析
网络应用的安全策略
基于信息安全的计算机主动防御反病毒技术研究
嘉兴拟三年打造无缝隙监控天网