D.O.S,全称为Deny of service,是网络攻击最常见的一种。它故意攻击网络协议的缺陷或直接通过某种手段耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使 目标系统服务停止响应甚至崩溃,而在此攻击中并不入侵目标服务器或目标网络设备。这些服务资源包括网络宽带、系统堆栈、开放的进程。或者允许的连接。这种 攻击会导致资源耗尽,无论计算机的处理速度多快、内存容量多大、网络带宽的速度多快都无法避免这种攻击带来的后果。任何资源都有一个极限,所以总能找到一个方法使请求的值大于该极限值,导致所提供的服务资源耗尽。
这里我们讲述的是有线D.O.S攻击的延伸--无线D.O.S中的其中一种类型:关联洪水攻击。
1.关联洪水攻击原理
无线接入点内置了一个列表即“连接状态表”,里面可显示出所有与该AP建立连接的无线客户端状态。
关联洪水攻击,国际上称之为Association Flood Attack,全称即关联洪水(泛洪)攻击,通常被简称为Asso攻击,是无线网络拒绝服务攻击的一种形式。它试图通过利用大量模仿的和伪造的无线客户端关联来填充AP的客户端关联表,从而达到淹没AP的目的。在802.11层,共享解密身份验证有缺陷,很难再用。仅有的其他备选项就是开放身份验证(空身份验证),该身份验证依赖于较高级别的身份验证,如802.1x或VPN。
开放身份验证允许任何客户端通过身份验证然后关联。利用这种漏洞的攻击者可以通过创建多个到达已连接或已关联的客户端来模仿很多客户端,从而淹没目标AP的客户端关联表,具体情况如下图1所示。客户端关联表溢出后,合法客户端将无法再关联,于是拒绝服务攻击即告完成。此类攻击和之前提及的Authentication Flood Attack表现很相似,但是原理却不同。
图1 无线DOS之Asso洪水攻击
2.攻击工具及表现
一旦无线接入点的连接列表遭到泛洪攻击,接入点将不再允许更多的连接,并会因此拒绝合法用户的连接请求。可以使用的工具有很多,比如在Linux下比较有名的Void11等,在Windows下我们也可以使用最新版的aireplay-ng的其中一个参数配合实现,这里就不再举以图例了。
当然,还有一种可能是攻击者集合了大量的无线网卡,或者是改装的集合大量无线网卡芯片的捆绑式发射机(类似于我们常说的“短信群发器”),进行大规模连接攻击的话,对于目前广泛使用的无线接入设备,也将是很有效果的。下图2为Omnipeek捕获的遭到洪泛攻击的接入点网络数据,可以看到出现了无数无法验证的无线客户端。
图2 使用Omnipeek捕获的遭到洪泛攻击的接入点网络数据
需要注意的是,该攻击主要工作在链路层,而很多强化的认证体系如802.1X或者VPN都运作在高的协议层。如果因为一些原因我们不得不采用预共享验证或者开放式验证,则对于802.11协议层,没有特别有效的方法可以抵御。
3.应对方法
最好的办法仍旧是监控无线网络的连接状态,当出现大量的连接请求以及很多快速消失的进程时,应该立即开始进行无线检测其来源。应配置无线IDS或者某些管理模块来自动完成上述内容,并设置成当出现潜在隐患时立即通知管理员。