D.O.S,全称为Deny of service,是网络攻击最常见的一种。它故意攻击网络协议的缺陷或直接通过某种手段耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务停止响应甚至崩溃,而在此攻击中并不入侵目标服务器或目标网络设备。这些服务资源包括网络宽带、系统堆栈、开放的进程。或者允许的连接。这种攻击会导致资源耗尽,无论计算机的处理速度多快、内存容量多大、网络带宽的速度多快都无法避免这种攻击带来的后果。任何资源都有一个极限,所以总能找到一个方法使请求的值大于该极限值,导致所提供的服务资源耗尽。
这里我们讲述的是有线D.O.S攻击的延伸--无线D.O.S中的其中一种类型:验证洪水攻击。
1.关于无线连接验证
在无线网络环境,无线客户端都是需要通过一个验证来实现连接无线接入点的。AP上的验证可采用开放式密钥验证或者预共享密钥验证两种方式。一个工作站可以同时与多个AP进行连接验证,但在实际连接时,同一时刻一般还只是通过一个AP进行的。
图1 使用密码来进行连接验证
2.验证洪水攻击原理
验证洪水攻击,国际上称之为Authentication Flood Attack,全称即身份验证洪水攻击,通常被简称为Auth攻击,是无线网络拒绝服务攻击的一种形式。该攻击目标主要针对那些处于通过验证、和AP建立关联的关联客户端,攻击者将向AP发送大量伪造的身份验证请求帧(伪造的身份验证服务和状态代码),当收到大量伪造的身份验证请求超过所能承受的能力时,AP将断开其它无线服务连接。
一般来说,所有无线客户端的连接请求会被AP记录在连接表中。当连接数量超过AP所能提供的许可范围,AP就会拒绝其它客户端发起的连接请求。下图2为笔者绘制的身份验证洪水攻击原理图,可看到攻击者对整个无线网络发送了伪造的身份验证报文。
图2 身份验证洪水攻击原理图
3.身份验证攻击实现及效果
为了开展验证洪水攻击,攻击者会先使用一些看起来合法但其实是随机生成的MAC地址来伪造工作站,然后,攻击者就可以发送大量的虚假连接请求到AP。对AP进行持续且猛烈的虚假连接请求,最终会导致无线接入点的连接列表出现错误,合法用户的正常连接亦会被破坏。
可以使用的工具有很多,比如在Linux下比较有名的MDK2/3,或者早一点的Void11等,在Windows下我们也可以使用aireplay- ng的其中一个参数配合实现。下图3为MDK2/3攻击工具的Java图形化版本界面,该工具通过事先监测到的无线客户端MAC,可对指定无线客户端进行定点攻击。
图3 设定预攻击目标
下图4为攻击进行中抓图,可以看到该攻击工具伪造了大量不存在的客户端MAC来对目标AP进行连接验证。
图4 Auth攻击进行中
下图5为在攻击开始后,无线网络出现不稳定状况时,使用Ommipeek抓包的结果分析,可以清晰地看到大量红色的802.11 Authentication数据包文提示出现。
图5 出现大量红色的802.11 Authentication数据包文提示
双击打开图5中的任意一个802.11 Auth数据包,可以很容易地看到如图6所示的数据包详细说明,包括类型、协议版本、时间、发送源MAC、目标MAC等。管理员可通过抓包来识别和记录攻击者主机的无线网卡MAC。
图6使用Omnipeek对捕获的数据包进行分析
当攻击进行,已经连接的无线客户端会明显受到影响,出现断网频繁,反复重新验证无法通过等情况。当网络中出现此类情况时,无线管理员应引起足够的重视,并迅速进行处理。
4.应对方法
通过跟踪客户端的验证情况和连接状况可以帮助无线管理人员识别此类拒绝服务攻击。也可通过在监测软件上部署警报来实现预警机制,这样当警报被触发时,被攻击影响的无线接入点和客户端都会被记录并重新识别。
另外,在企业AP上开启MAC地址过滤并进行详细的配置,对阻止攻击者会起到一定作用。