1   1  /  1  页   跳转

转载>>解读主动防御

转载>>解读主动防御

一、什么是判断病毒的标准?——行为判断不是新生事物
大家都知道,杀毒软件厂商在捕获样本或收到用户提交的可疑样本之后,要在反病毒实验室中进行进一步的分析判断,然后才能确认该程序究竟是否为病毒。那么病毒分析工程师究竟是以什么作为判定依据呢?无论是静态反汇编分析,还是动态调试分析,最终的落脚点其实都是在关注这个可疑程序究竟做了些什么?也就是以行为分析为基础,结合该公司对病毒木马的定义标准和分类标准归类加入病毒库,其间也可能需要使用一些人工因素来协助判定一些莫宁两可的边缘程序,依据公司的市场需求或将其加入病毒库,或将其择出病毒库。


分析问题一般都有个由点及面,由表及里的过程,借用几何中“点”、“线”、“面”的概念,我们来看看行为监控的不同境界。

二、“点”监控:行为监控桌面化
从理论上讲行为分析和杀毒软件是同步诞生的,杀毒软件的诞生就建立在对样本进行行为分析判定的基础之上。因此从本质上讲,行为分析才是反病毒技术的最本质核心,。但由于杀毒软件所使用的反汇编或是动态调试的技术门槛都非常高,完全不可能在普通用户群大面积推广,于是特征扫描便成了对行为分析结果的简便应用,易于批量处理病毒。正是由于近几年国内几大杀软本末倒置,过于强调特征扫描这种应用级辅助手段的作用,才导致了一个技术上毫无新意的熊猫烧香居然可以大肆流行,称之为国耻恐怕不足为过吧。

矛盾就是需求,于是乎,HIPS很自然就出现了。HIPS,全称Host Intrusion Prevent System,中文翻译为基于主机的入侵防御系统。HIPS把系统监控划分为基本独立的3个防御子系统:AD(Application Defend)应用程序防御体系、RD(Registry Defend)注册表防御体系、FD(File Defend)文件防御体系。

所谓的点监控,其主要监控对象为程序动作,就是指对当前系统中所有程序的每一个动作,不管其是否有害,都做报警处理,询问用户允许还是拒绝。
代表厂商:
SNS(Safe'n'Sec Personal)
SSM(System Safety Monitor)
PG(ProcessGuard和Port Explorer)
GSS(Ghost Security Suite)--AD+RD
SS(SafeSystem 2006)
McAfee 8.X企业版系列的自定义防护规则
江民杀毒软件的主动防御模块

优点:
从用户体验的角度,HIPS不强求用户再去学枯燥无味的汇编语言。HIPS把用户的操作简化为允许和禁止两类,并试图用略带人性化的提示来改善用户人机交互体验。

缺点:
1.只有监控提示,没有杀毒能力
2.很多人说HIPS的缺点在于易用性,我认为易用性只是一个展露出来的表象而已,HIPS真正的缺点是其“点防御体系”所带来的问题。HIPS的作用是监控,只对程序单个动作这种“点”敏感,因此大量无意义的虚警现象是永远无法避免。如果不考虑规则的效果,按照8020法则,HIPS的绝大部分报警其实都是一些无意义与安全无关的虚警。
随便举个例子,在PSI(一个局域网聊天软件)里点开一个网页链接,HIPS都要去做报警提示。。。


三、“线”监控:初具行为杀毒功能
点监控没有病毒清除能力,核心原因是因为其技术架构没有把程序的一连串动作进行综合考虑,因此无法做病毒清除操作(即逆向还原)。线监控体系,主要监控对象为活动进程,就是从有害程序刚开始运行作为源头,沿着单一进程的运行脉络进行综合分析,因此称其为线性监控。清除病毒时即把监控到的一连串行为过程逆向操作还原。

正是由于HIPS类软件既具有良好的效果,又不利于市场推广。矛盾催生需求,于是乎,一些著名反病毒厂商都推出了带有主动防御模块的杀毒软件。
代表厂商:
卡巴斯基 6.0、7.0

优点:
线状的行为分析,其实用性比之点监控来讲有了很大的进步,例如卡巴斯基的主动防御模块除针对单一程序动作的“点”报警之外,增加了基于单一进程的连续行为判定,报警提示时进一步人性化,除了HIPS那些注入、磁盘读写等“专有名词型”提示外,增加了Torjan.generic(未知木马)这类普通用户也可以理解的提示,并提供了杀毒功能(卡巴斯基称为恢复)。
至于卡巴斯基提示恢复(杀毒)失败,应属于其自身产品的bug,而不能理解此类产品的设计缺陷。


卡巴好像没有提供具体的程序相关记录,补一张wei dian的图(摘自wei dian旧版帮助文件)来说明行为杀毒逆向清除的便利性。行为杀毒的清除操作非常简单高效,日志都是现成的,只要把日志中记录程序以前生成的文件删除、被修改的注册表还原就全ok了。


卡巴就是根据单一进程当次所做的行为记录,来进行恢复(杀毒)操作。

缺点:
1.当前主流的木马程序多使用复杂的分布式软件架构,多个进程并行运行,下载、开后门、偷密码、远程控制各自独立,相互保护相互协同工作。线性监控只针对单一的进程,杀毒时无法处理这种复杂情况。
2.单一进程能够提供的信息仍很有限,上述提到的分布式结构,线性监控无法一并处理,因此仍需要依赖大量的点监控报警。因此,从用户体验来讲,用户基本上感觉不到线性监控行为杀毒的威力,因为实际使用过程中,经常见到的仍是大量的点监控虚警(如下列图),基本上和点监控的HIPS是混淆的。


四、行为分析“面”防御体系——行为杀毒实用化
面监控是什么概念呢?就是从程序进入到系统中这一个点开始,全面监控这个程序生成修改文件、创建修改注册表的记录,全面记录每一个被生成的程序运行后的后续详细信息。由一个点开始,多线并进,最终形成一种面状监控状态。然后根据所有捕获的信息综合分析判定程序是否有害,杀毒时自动向上追源,直到源头的那个唯一的点。如下图wei dian面监控的典型日志,把一个点所做过的所有历史行为都记录下来,生成文件后再继续逐级记录,杀毒时逆向往上追源即可。

面监控究竟比线监控多了哪些线索呢?简单举一个例子,wei dian对程序被改名都非常敏感!我测试时原想通过改名来割断wei dian程序生成日志的逻辑关系,阻碍wei dian向上追源。但是我发现改名时(手工改名除外)wei dian会自动实时更正程序日志,以保证任何情况下都可以完成向上追杀木马源头!连和安全完全无关的改名操作都在被监控,面监控体系的细致程度只能用变态来形容。


代表厂商:
wei dian主动防御软件

wei dian主动防御软件这种面防御性的行为杀毒技术,其实比前两个阶段的某些产品面世的时间还要早。我分析原因主要有两个:一、东方wei dian公司虽然规模不大名气不响,但是没有历史包袱,可以毫无负担、毫无顾虑的倾力开发新一代安全产品,这点却是所有知名反病毒厂商都不可能具备的。所以就直接开发了实用型的面防御技术体系架构。二、东方wei dian的核心架构设计者刘旭,从业经验极为丰富。就像一名熟练的病毒分析师凭着直觉就可以迅速找到病毒分析的突破口在代码的哪几个位置,并加以验证。刘旭本人丰富的反病毒经验和对计算机底层架构的熟悉对于设计实现复杂的面监控分析系统是一种不可或缺的技术支撑。
PS:建议大家看看中关村的五大程序员的故事,个个儿都是顶天立地的程序英雄,蛮有意思呢~!


优点:
面监控体系最大的特点就是把围绕被监控程序进程的所有相关信息都收集起来进行综合分析,这样一方面可以基本杜绝点监控的虚警现象,另一方面对外表现出来的最大特点就是面监控行为杀毒除清除报警中提到的病毒木马外,还具有极强的追源特性,杀除病毒本体后会自动向上追源查杀木马源头。
追源是行为杀毒一个非常有价值的实用点,因为不断绝源头,对病毒就无法做到彻底处理。以wei dian为例,网络追源可以查找到共享病毒的感染来源;单机追源可以查找到本机木马的生成者,在系统中隐藏的木马生成者就是当前杀毒软件用户普遍提到的反复杀毒反复报警怎么也杀不干净的首要原因!行为杀毒追源干掉木马生成者之后,一般问题就能彻底解决。反复杀毒反复报警的情况多不多呢?自己检索一下各大论坛的电脑求救区吧。

至此,面监控分析体系的建立,行为杀毒技术已经基本具备了实用化的程度。

缺点:
1.面监控行为杀毒采集的信息点多,分析逻辑复杂,需要长期实践进行不断的优化调整。
2.点监控和线监控的报警提示属于建议性的,最终决定权由用户确定,所以就可以顺理成章的把因禁止恶意程序运行而产生的所有异常问题推脱给用户自己。但面监控型行为杀毒,就必须具备完善的驱动程序来抵御住恶意程序反终止、防止反hook的蓄意破坏行为,其容错能力和稳定性的要求都远高于点监控和线监控产品。比如杀毒时蓝屏,没有人会去找病毒作者修正bug,所有的怨气都要归安全软件厂商。
3.细化和丰富与安全无关的信息采集点,例如:针对QQ的盗号木马除报出“未知病毒外”是否可以通过细化监控信息明确报警出“QQ木马”,进一步提高人机交互的用户体验。



最后编辑2007-08-19 02:52:55
分享到:
gototop
 

蛮不错的转贴
收藏了... ...
gototop
 

瑞星2008公测版 主动防御模块 加入了时间倒计时 这一项是缺陷
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT