English
 电子信箱
 加入收藏

  威盾防火墙 >> 新闻中心 >> 业界动态 >> 专家讲解主机入侵防御系统的实际应用

 

专家讲解主机入侵防御系统的实际应用

威盾防火墙 2014-12-17

 

网络的互连是为了实现信息的方便共享和传输。但是几乎自从有了网络的存在,入侵行为也就同时出现了。Internet的出现和高速发展同时带动了网络入侵活动的发展。在种种网络入侵行为中,针对关键服务器的攻击可以说是最具威胁性、可能造成损失最大的行为。越来越重要的信息无形资产存储在这些服务器上,一旦服务器受到了安全威胁势必殃及这些信息和数据。下面将从分析一些最普遍的攻击方式入手,逐一介绍破解这种攻击的方法,此处用到的核心技术是主机入侵防御系统。

  一、堆栈溢出防范

  这种类型的攻击赫赫有名,频频出现在CERT、SANS、CSI等国际网络安全组织的最具威胁的攻击类型名单内。据统计,通过缓冲区溢出进行的攻击占所有系统攻击总数的80%以上。这是一种渗透到系统中的攻击技术,其基本理是当来自某个程序的输入数据超出程序缓冲区能够处理的长度时会产生溢出,结果不受程序员的控制。当入侵者巧妙地安排代码后,被攻击的服务器还可能执行入侵者指定的程序代码,从而导致攻击者甚至可以获得系统中超级用户的权限。比如80年代的Morris"蠕虫"事件导致了当时Internet上1/3的计算机瘫痪,这种入侵方式就是采用了UNIX的Finger服务的一个缓存区溢出的漏洞;2001年的红色代码病毒在短短几个小时内传遍了全球,造成了数十亿美元的损失,也是采用了Windows服务器平台上的IIS服务的一个缓存区溢出漏洞。2003年的SQL Slammer蠕虫、2004年的震荡波等同样也是利用了这种漏洞。为什么这种攻击这么多呢?主要原因在于(单不仅限于)目前广泛用于系统编程的语言--C语言本身的某些函数就存在着一些漏洞,造成了这种漏洞的广泛存在和难以彻底清查。

  目前对这种攻击方式的防范方式主要有以下几种:第一,对存在溢出漏洞的程序打补丁。这是最常见的防范方式,需要依靠程序的厂商提供相应的补丁程序才能生效。但是随着网络攻击的频度不断加快,一个漏洞从被发现到运用在大规模的攻击中的时间大大缩短。往往程序厂商还没有发布相应的补丁程序,攻击就已经发生了。所以这种方式是非常被动的,无法防范新出现的漏洞入侵。第二,通过操作系统的设置使得缓冲区不可执行,从而阻止攻击者植入攻击代码。这种方式的主要问题在于首先可能和现有的应用程序存在冲突,其次对溢出攻击的防范不全面。因为有些攻击不需要进行攻击代码的植入过程。第三,采用专用的防范溢出的编译器对程序进行编译检查。这是一个比较完整的保护措施,但是却需要付出非常高昂的时间和费用的代价。

  所有上述的办法都无法在现实的业务系统中顺利使用。主机入侵防御系统则提供了另一种切实可行、易于实施的防止"堆栈溢出攻击"的方法。主机入侵防御系统中具有一种STOP (STack Overflow Protection,堆栈溢出保护)技术,可以阻止这种入侵,防止用户或程序获得超级用户权限。

  所有的缓冲区漏洞挖掘程序都基于以下一个假设,即:程序在每次运行时有问题的参数压入栈内的数据地址空间偏移量是一定的(或者相差较小)。如果在程序运行时由操作系统定义并且分配一个随机化的偏移给该应用程序,那么则专为此有缺陷的程序设计的溢出程序在溢出时就会返回一个错误的ret地址,而不能跳转到恶意构造的shellcode下。虽然大部分的缓冲区溢出程序也能提供可调整的offset变量,但由于每次有缺陷的程序运行时都将拥有一个随机化的偏移,因此通过上次不成功的溢出猜测所得到的地址空间和内容并不能来指导修正下次调整的offset。主机入侵防御系统提供了STOP技术在不改变操作系统内核下同级工作,能帮助定义并且分配一个随机化的偏移量,在不修改的系统内核的情况动态实现上述功能。

  通过这种防范措施,用户不仅仅能够对所有已知和未知推栈溢出类型的攻击进行高强度防范,而且还不需要修改任何现有的操作系统和应用程序,保证原有系统的持续运行,保护了投资。


相关内容: 最新内容:
主机入侵防御系统的应用[2014-12-17]
深度解析主机入侵防御系统的概念与应用[2014-12-17]
什么是主机入侵防御系统HIPS[2014-12-17]
智能型主机入侵防御系统:ThreatFire KEY[2014-12-17]
浅谈企业入侵防御体系建设[2014-12-17]
Web系统入侵与防御架构的研究[2014-12-17]