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

2008/10/6 来源:www.arpun.com 作者:小白

针对入侵检测系统的漏洞,让我们来了解一下黑客的入侵手法。 一旦安装了网络入侵检测系统, 网络入侵检测系统就会为你分析出网上出现的黑客攻击事件, 而且你能用此入侵检测系统的反击功能, 即时将这种联机猎杀或阻断。 你也可以配合防火墙的设置, 由入侵检测系统自动为你动态修改防火墙的存取规则, 拒绝来自这个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 等各种较复杂的欺瞒手法。

二、“猎杀”及重调安全政策的漏洞

所谓“猎杀”, 就是在服务器中设定一个陷阱, 如有意打开一个端口, 用检测系统对其进行24小时的严密盯防, 当黑客尝试通过该端口入侵时, 检测系统就会及时地将其封锁。 网络入侵检测系统的“猎杀”及重新调整防火墙安全政策设置功能, 虽然能即时阻断攻击动作, 但这种阻断动作仅能适用tcp session, 要完全限制, 就必须依赖重新调整防火墙安全政策设置的功能, 同时也可能造成另一种反效果:即时阻断的动作会让攻击者发现ids的存在, 攻击者通常会寻找规避方式, 或转向对ids进行攻击。 重新设置防火墙的安全政策, 若设置不当, 也可能造成被攻击者用来做阻断服务(denial of service)攻击的工具:经过适当的设计, 若网络入侵检测的检查不足, 攻击者可以伪装成其他的正常ip来源进行攻击动作, 入侵检测系统若贸然限制这些来源的ip, 将会导致那些合法用户因攻击者的攻击而无法使用。 论是识别方式的设计, 还是所谓的“猎杀”及重新设置防火墙安全政策的设置功能, 都有其利弊。 能够实地了解入侵检测系统的识别方式, 或进行其识别手法的调整, 将有助于提高入侵检测系统运作的正确性。 对“猎杀”及重新调整防火墙安全政策设置功能工具的使用, 则应仔细评估其效益与相应的损失, 这样才能有效地发挥网络入侵检测系统的功能。

网友评论
评论(...
全部评论