注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

★ ★ ★ 卡多 - K.D

DELPHI

 
 
 

日志

 
 

什么是所谓的主动防御?  

2011-01-01 15:17:20|  分类: ‖ 杂文 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

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

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

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

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

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

这样做有很多好处。呵呵,假如微软不给这些通道,程序开发就会变得很头大,相当于你要自己创造通道去实现每个过程。这很累,在绝大多的公司也不可能。首先,你要和微软的关系足够好,否则你的程序会非常不稳定,其次,你还要投入大巴的经费去保证在调用和被调用时的互相认知。。。总之,这就是传说中的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:“你是不可能滴!”。

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

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

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

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

  评论这张
 
阅读(68)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017