1   1  /  1  页   跳转

解释一下HIPS

解释一下HIPS

如题


用户系统信息:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
分享到:
gototop
 

回复:解释一下HIPS

.。。
目前,很多安全厂商在推出新产品时,总是强调该产品具有“主动防御”技术,可以防御未知病毒、未知威胁、ZeroDay攻击等。根据安全专家的分析,所谓“主动防御”其实是针对传统的“特征码技术”而言的。


一般意义上的“主动防御”,就是全程监视进程的行为,一但发现“违规”行为,就通知用户,或者直接终止进程。它类似于警察判断潜在罪犯的技术,在成为一个罪犯之前,大多数的人都有一些异常行为,比如“性格孤僻,有暴力倾向,自私自利,对现实不满”等先兆,但是并不是说有这些先兆的人就都会发展为罪犯,或者罪犯都有这些先兆。


因此“主动防御”并不能100%发现病毒或者攻击,它的成功率大概在60%--80%之间。如果再加上传统的“特征码技术”,则有可能发现100%的恶意程序与攻击行为了。从国外的情况看,诺顿、Kaspersky、McAfee等主流安全厂商,都已经向“主动防御”+“特征码技术”过渡了,可以说这是安全系统的必然发展趋势。


此外,防火墙也是一个运用“主动防御”技术的典型例子。目前的企业都在使用防火墙,很多用户对于防火墙经常询问是否放行一个进程访问网络,或者有不明连接进入本机而发出警告印象深刻。


其实防火墙就是在全程监视进程的网络行为,一但发现违反规则的行为就发出警告,或者直接根据用户设定拒绝进程访问网络。当然,现在的防火墙一般都把系统网络进程,如Services.exe、Svchost.exe、Lsass.exe记在“受信名单”里,这些进程是默认允许访问网络的,如果禁止的话,操作系统就不正常了,这也是现在很多病毒和木马都喜欢远程注入这些系统进程,以求突破防火墙而访问网络的原因。


“主动防御”的技术实现


在“主动防御”技术的的实现上,主要是通过函数来进行控制。因为一个程序如果要实现自己的功能,就必须要通过接口调用操作系统提供的功能函数。以前在DOS里几乎所有的系统功能或第三方插件都是通过中断提供的,在Windows里一般是通过DLL里的API提供,也有少数通过INT 2E或SYSENTER提供。一个进程有怎么样的行为,通过看它调用了什么样的API就大概清楚了,比如它要读写文件就必然要调用CreateFile(),OpenFile(),NtOpenFile(),ZwOpenFile()等函数,要访问网络就必然要使用Socket函数。因此只要挂接系统API(尽量挂接RING0层的API,如果挂接RING3层的API将有可能被绕过),就可以知道一个进程将有什么动作,如果有危害系统的动作该怎么样处理等等。例如瑞星反病毒系统,用户可以在它的安装目录里找到几个驱动文件,其实这些驱动就是挂接了ntoskrnl.exe,ndis.sys等系统关键模块里的API,从而对进程的普通行为,网络行为,注册表行为进行监视的。


在此基础上,用户可以自己设想一下一个“主动防御”型安全系统的一般操作流程:通过挂接系统建立进程的API,系统就在一个进程建立前对进程的代码进行扫描,如果发现SGDT,SIDT,自定位指令(一般正常软件不会有这些指令),就进行提示,如果用户放行,就让进程继续运行;接下来监视进程调用API的情况,如果发现以读写方式打开一个EXE文件,可能进程的线程想感染PE文件,就发出警告;如果收发数据违反了规则,发出提示;如果进程调用了CreateRemoteThread(),则发出警告(因为CreateRemoteThread()是一个非常危险的API,正常进程很少用到,倒是被病毒、木马用得最多)。


可以想象,未来企业用户在运行程序时可能会被提示多次,访问网络也可能被提示多次,各种各样的提示有可能将大多数人搞的昏头转向。不过这就是安全,也是主动防御的魅力,一句话,企业想安全就要管严,放松就不安全了!
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT