网友预测:下一轮杀软厂商的炒作思维

互联网 | 编辑: 黄蔚 2009-01-02 12:30:00转载 返回原文

浅而显的理解下HIPS

如果您经常关注安全方面的应用,我想应该对以下的情况不算陌生。N年前杀软商开始炒启发式,静态启发式、高级启发式。。。。。炒到最后的结果却依然是:该是谁的启发技术好就等同谁的实际效果好。这句话略显拗口,但我想说的是:在技术日益发展的现在,当你听到宣传说某个技术多好多NB的时候,往往就是其逐渐商业化乃至已经不再能称为先进的时代了,这一点,前辈们早有综述,判断产品最终的标准在于他能不能让你在现在而不是过去更安全,其他的很多噱头都是虚的。

主动防御其实也是一样,所谓的主动防御更是一样。记得当年曾有分关于“所谓的高启发”之说,便是有些带壳入库,有些根据IAT判断,非说自己是强虚拟机查API,是高级启发式,是神乎其神的技术,可是最终的效果说明了一切。实际上,这正是我们这个市场顾客过度商业化导致的企业过度商业化的结果,假如顾客不理性,那么企业自然乐得其成了,但往往很多原因出在我们顾客身上,但是下贱的手法,确是厂商自创。

关于主防,关于HIPS,最近的说法很多,无非是杀软的利益集团假口质疑,而一边则不置可否或者说是不屑一顾。看得我们急啊,到底哪个适合(注意是适合,而不是更好)我呢?然而这种状况不会持续多久,很快我们就会发现,原来振振有词大骂主动防御的,会摇身一变,满城尽是行为分析,尽是主动防御。这一趋势其实早已开始萌动,不少软件商在公布下一代产品的时候开始试探:“我们将加入HIPS元素”,只不过,受到了公司自身的技术限制——他们暂时确实拿不出一个像样的传统主动防御组件,或拿不出一个普及化的智能的方案,尤其是杀软厂商,那是他们没太接触过的领域。

第一部分:浅而显的理解下HIPS

主动防御中最有生气的HIPS,从理念产生至今其实并不年轻,早在win9X时期,就有一些与微软关系密切的厂商提出这一理念。为什么要和微软关系密切呢,我妄自揣测,这正是由于主机入侵防御要涉及内核技术、开发难度大,而在当时,貌似微软还没有公布那么多关于自身系统的东西。即使在今日,开发HIPS的难度较之杀软,普遍意义上也更有要求,当然,把两者做好都不容易,甚至HIPS的后期维护和更新压力也十分KB,通常产品测试期都要beta1、beta2.。。。beta3,RE.。即使B了那么多下,有时的结果也很难让普通用户满意。

API控制Windows的各个部件

什么是主机入侵防御。我想用自己第一次理解而不是看资料略过时的思路与大家分享。

首先,众所周知,计算机有很多功能,比如您平时操作,您可以创建或删除,可以运行或结束,可以用一个程序打开另一个(比如在迅雷中打开刚下的压缩文件),所有这些打开的功能,关闭的功能,运行的功能,结束的功能,调用的功能等等,其实并不是软件本身(如迅雷)自身创造的,而是很多软件都要使用的。由此,微软在系统中放了很多类型的通道,如用于打开或关闭的,用于创建或删除的等等,而软件要实现这个功能的过程,就是指令去借用系统的通道完成特定任务的过程。

这样做有很多好处。呵呵,假如微软不给这些通道,程序开发就会变得很头大,相当于你要自己创造通道去实现每个过程。这很累,在绝大多的公司也不可能。首先,你要和微软的关系足够好,否则你的程序会非常不稳定,其次,你还要投入大把的经费去保证在调用和被调用时的互相认知。。。总之,这就是传说中的API通道,他是系统中所有的软体乃至系统本身多数功能得以工作的前提。我们举手投足,都要经过API的转述。他是WIN的天然代码。

抄下定义:API是一套用来控制Windows的各个部件(从桌面的外观到为一个新进程分配的内存)的外观和行为的一套预先定义的Windows函数。用户的每个动作都会引发一个或几个函数的运行以告诉Windows发生了什么。远程过程调用(RPC)、标准查询语言(SQL)、文件传输 、信息交付是他的基本类型,这里就不多做叙述。我们最需要牢记的一点是,所有程序,包括病毒,都要告诉win你的程序发生了哪些事件或要求执行那些特定操作,由API达成需要的功能。而对API的处理存在静态与动态的不同,正是HIPS与杀软的最大区别,也是我说了这么多废话的原因所在。

好了,回到主动防御,大家已经看到的是COMODO的API HOOK的SSDT表。所谓HOOK,就是个过滤器,被加了HOOK的API通道(为了理解好,以后我就直称“通道”了),无论任何程序要通过它实现相应功能,都会被COMODO监视,您可以选择是否拦截或放行。可以看到,有管理创建文件通道的过滤器,有管理结束进程的过滤器,有管理。。。。。这些正是病毒达成功能的必经之路,来个AURORUN.INF类的EXE吧,他屁颠屁颠的跑到创建文件的通道那里准备创建实体,于是COMODO就会报未知AUTORUN.INF文件——如果我们设置规则为不许建立这个问题,那么COMODO就会完全不给他面子,如果我们放行,他又会去找运行文件的通道那里报到,A:“我要运行!”,COMODO:“你是不可能滴!”。

对于API的检测 HIPS是动态的

这就是HIPS里AD的最浅显原理,但是,要做个完全拦截不漏的HIPS并不容易。首先,通道何其多也,HOOK放在哪些也不是随便来的。如果都来HOOK过滤。。。。因为兼容等问题,是要影响系统正常运行的。如果放几个,也会可能漏过病毒新使用的方法。而且,开发驱动的稳定性也在一定程度上影响HIPS的能力。此外,除了这种监视拦截,还有多种因素会影响病毒,最重要的是HIPS的易用,控制弹框。不少同学用了卡巴却把HIPS关闭,说实话,真是一种浪费,也不划算,如果你肯用点时间点点,当策略都建立了,你的使用可能安全无问题的度过更多很多的时间。

对于API的检测,HIPS是动态的,直接针对行为的他占用必然更少。而杀软则多少要使用点虚拟技术,相应的结果是占用多。由于API包含在代码内——你要自己的软件借用那些,您得先标注告诉系统不是。杀软的强虚拟机查API就是在代码中找高危的API或API组合或API与其他名称的组合。这里捎带两点,稍微上样点的杀软都是通过给病毒定义特征码的办法,在病毒代码中找关键的、通用的、难回避更改的部分,定义为特征码,下次看到杀软也就认识了。杀软的强虚拟机,只是个类似CPU的东西,他是不分析行为的,他看运算的代码中是否和特征码相符。这一点,以后将在“所谓的主动防御”中再加叙述。

杀软是代码级的,是静态的,这就造成了他的易用——不许点框,也造成了他的越来越明显的弱势。ROOTKIT技术在发展,有时杀软甚至无法发现病毒文件是否出现过。。。而代码级的启发式,面对很多免杀的方法都很无助。虽然目前免杀的水平层次不一,但是不能否认,一定情况下,一个菜鸟学会免杀一些启发技术在新的环境下不及格的杀软(实际上及格的没几个),最多一个小时,少则20分种,比如公爵,上海一哥这些冉冉升起的新星们。

无论是做好的杀软还是HIPS,都需要克服很多梗阻,在这个意义上,我们对于他们的开发者都抱有一种起码的感激,这年头,做生意不骗人不是件容易的事情。

出处点击此处

返回原文

本文导航

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑