网络安全 频道

网络入侵检测系统防范黑客的攻击

    本文针对入侵检测系统的漏洞来了解一下黑客的入侵手法。一旦安装了网络入侵检测系统,网络入侵检测系统就会为你分析出网上出现的黑客攻击事件,而且你能用此入侵检测系统的反击功能,即时将这种联机猎杀或阻断。

    你也可以配合防火墙的设置,由入侵检测系统自动为你动态修改防火墙的存取规则,拒绝来自这个ip 的后续联机动作!"这种美好的"前景",可能是许多入侵检测系统提供商的惯用销售手法,一般的企业或组织在建立自己的入侵检测系统时也会有这种预期目的。

    诚然,入侵检测系统可以具有很好的监视及检测入侵的能力,也可以对企业或组织的安全提供很好的协助。但是,正如小偷的手法会随着锁的设计而不断"更新"一样,随着入侵检测系统的出现,许多针对网络入侵检测系统的规避手法也随之不断"升级"。

    如今,黑客对于入侵检测系统已经有了一套较完整的入侵手法。下面我们将针对入侵检测系统的漏洞来了解一下黑客的入侵手法。
 
    一、识别方式的设计漏洞

    1.对比已知攻击手法与入侵检测系统监视到的在网上出现的字符串,是大部分网络入侵检测系统都会采取的一种方式。例如,在早期apache web服务器版本上的phf cgi程序,就是过去常被黑客用来读取服务器系统上的密码文件(/etc/password),或让服务器为其执行任意指令的工具之一。

    当黑客利用这种工具时,在其url request请求中多数就会出现类似"get /cgi-bin/phf?....."的字符串。因此许多入侵检测系统就会直接对比所有的url request 中是否出现/cgi-bin/phf 的字符串,以此判断是否出现phf 的攻击行为。

    2.这样的检查方式,虽然适用于各种不同的入侵检测系统,但那些不同的入侵检测系统,因设计思想不同,采用的对比方式也会有所不同。有的入侵检测系统仅能进行单纯的字符串对比,有的则能进行详细的tcp session重建及检查工作。

    这两种设计方式,一个考虑了效能,一个则考虑了识别能力。攻击者在进行攻击时,为避免被入侵检测系统发现其行为,可能会采取一些规避手法,以隐藏其意图。例如:攻击者会将url中的字符编码成%xx 的警惕6进值,此时"cgi-bin"就会变成"%63%67%69%2d%62%69%6e",单纯的字符串对比就会忽略掉这串编码值内部代表的意义。

    攻击者也可以通过目录结构的特性,隐藏其真正的意图,例如:在目录结构中,"./"代表本目录,"../"代表上层目录,web服务器 可能会将"/cgi-bin/././phf"、"//cgi-bin//phf"、"/cgi-bin/blah/../phf?"这些url request均解析成"/cgi-bin/phf",但单纯的入侵检测系统可能只会判断这些request是否包含"/cgi-bin/phf"的字符串,而没有发现其背后所代表的意义。

    3.将整个request在同一个tcp session中切割成多个仅内含几个字符的小packet,网络入侵检测若没将整个tcp session重建,则入侵检测系统将仅能看到类似"get"、"/cg"、"i"、"-bin"、"/phf"的个别packet,而不能发现重组回来的结果,因为它仅单纯地检查个别packet是否出现类似攻击的字符串。类似的规避方式还有ip fragmentation overlap、tcp overlap 等各种较复杂的欺瞒手法。

0
相关文章