针对入侵检测系统的漏洞,让我们来了解一下黑客的入侵手法。一旦安装了网络入侵检测系统,网络入侵检测系统就会为你分析出网上出现的黑客攻击事件,而且你能用此入侵检测系统的反击功能,即时将这种联机猎杀或阻断。你也可以配合防火墙的设置,由入侵检测系统自动为你动态修改防火墙的存取规则,拒绝来自这个ip的后续联机动作!诚然,入侵检测系统可以具有很好的监视及检测入侵的能力,也可以对企业或组织的安全提供很好的协助。但是,正如小偷的手法会随着锁的设计而不断更新一样,随着入侵检测系统的出现,许多针对网络入侵检测系统的规避手法也随之不断升级。 一、识别方式的设计漏洞 1.对比已知攻击手法与入侵检测系统监视到的在网上出现的字符串,是大部分网络入侵检测系统都会采取的一种方式。例如,在早期apacheweb服务器版本上的phfcgi程序,就是过去常被黑客用来读取服务器系统上的密码文件(etcpassword),或让服务器为其执行任意指令的工具之一。当黑客利用这种工具时,在其urlrequest请求中多数就会出现类似getcgi-binphf?.....的字符串。因此许多入侵检测系统就会直接对比所有的urlrequest中是否出现cgi-binphf的字符串,以此判断是否出现phf的攻击行为。 2.这样的检查方式,虽然适用于各种不同的入侵检测系统,但那些不同的入侵检测系统,因设计思想不同,采用的对比方式也会有所不同。有的入侵检测系统仅能进行单纯的字符串对比,有的则能进行详细的tcpsession重建及检查工作。这两种设计方式,一个考虑了效能,一个则考虑了识别能力。攻击者在进行攻击时,为避免被入侵检测系统发现其行为,可能会采取一些规避手法,以隐藏其意图。例如:攻击者会将url中的字符编码成%xx的警惕6进值,此时cgi-bin就会变成%63%67%69%2d%62%69%6e,单纯的字符串对比就会忽略掉这串编码值内部代表的意义。攻击者也可以通过目录结构的特性,隐藏其真正的意图,例如:在目录结构中,.代表本目录,..代表上层目录,web服务器可能会将cgi-bin..phf、cgi-binphf、cgi-binblah..phf?这些urlrequest均解析成cgi-binphf,但单纯的入侵检测系统可能只会判断这些request是否包含cgi-binphf的字符串,而没有发现其背后所代表的意义。 3.将整个request在同一个tcpsession中切割成多个仅内含几个字符的小packet,网络入侵检测若没将整个tcpsession重建,则入侵检测系统将仅能看到类似get、cg、i、-bin、phf的个别packet,而不能发现重组回来的结果,因为它仅单纯地检查个别packet是否出现类似攻击的字符串。类似的规避方式还有ipfragmentationoverlap、tcpoverlap等各种较复杂的欺瞒手法。 二、猎杀及重调安全政策的漏洞 所谓猎杀,就是在服务器中设定一个陷阱,如有意打开一个端口,用检测系统对其进行24小时的严密盯防,当黑客尝试通过该端口入侵时,检测系统就会及时地将其封锁。网络入侵检测系统的猎杀及重新调整防火墙安全政策设置功能,虽然能即时阻断攻击动作,但这种阻断动作仅能适用tcpsession,要完全限制,就必须依赖重新调整防火墙安全政策设置的功能,同时也可能造成另一种反效果:即时阻断的动作会让攻击者发现ids的存在,攻击者通常会寻找规避方式,或转向对ids进行攻击。重新设置防火墙的安全政策,若设置不当,也可能造成被攻击者用来做阻断服务(denialofservice)攻击的工具:经过适当的设计,若网络入侵检测的检查不足,攻击者可以伪装成其他的正常ip来源进行攻击动作,入侵检测系统若贸然限制这些来源的ip,将会导致那些合法用户因攻击者的攻击而无法使用。论是识别方式的设计,还是所谓的猎杀及重新设置防火墙安全政策的设置功能,都有其利弊。能够实地了解入侵检测系统的识别方式,或进行其识别手法的调整,将有助于提高入侵检测系统运作的正确性。对猎杀及重新调整防火墙安全政策设置功能工具的使用,则应仔细评估其效益与相应的损失,这样才能有效地发挥网络入侵检测系统的功能。 从网上被骗报警中心的参考价值来看,也能给其他行业带来很多的启发。