伪AP检测技术研究

0x00 简介


随着城市无线局域网热点在公共场所大规模的部署,无线局域网安全变得尤为突出和重要,其中伪AP钓鱼攻击是无线网络中严重的安全威胁之一。

受到各种客观因素的限制,很多数据在WiFi网络上传输时都是明文的,如一般的网页、图片等;甚至还有很多网站或邮件系统在手机用户进行登陆时,将帐号和密码也进行了明文传输或只是简单加密传输(加密过程可逆)。因此,一旦有手机接入攻击者架设的伪AP,那么通过该伪AP传输的各种信息,包括帐号和密码等,就会被攻击者所截获。

本文主要从理论上探讨伪AP钓鱼攻击的检测和阻断技术。

0x01 无线网络基础知识


基本术语

  • AP(Access point的简称,即访问点,接入点):是一个无线网络中的特殊节点,通过这个节点,无线网络中的其它类型节点可以和无线网络外部以及内部进行通信。
  • Station(工作站):表示连接到无线网络中的设备,这些设备通过AP,可以和内部其它设备或者无线网络外部通信。
  • Assosiate:连接。如果一个Station想要加入到无线网络中,需要和这个无线网络中的AP关联(即Assosiate)。
  • SSID:表示一个子网的名字,无线路由通过这个名字可以为其它设备标识这个无线路由的子网。设备进行扫描的时候,就会将相应SSID扫描到,然后就能够选择相应的SSID连接到相应的无线网络(当然不扫描,理论上也可以直接指定自己事先已经知道的ssid进行连接)。SSID可以和其它的重复,这样扫描的时候会看到两个同样SSID的无线网络。
  • BSSID:用来标识一个BSS,其格式和MAC地址一样,是48位的地址格式。一般来说,它就是所处的无线接入点的MAC地址。某种程度来说,它的作用和SSID类似,但是SSID是网络的名字,是给人看的,BSSID是给机器看的,BSSID类似MAC地址。
  • BSS(Basic Service Set):由一组相互通信的工作站组成,是802.11无线网络的基本组件。主要有两种类型的IBSS和基础结构型网络。IBSS又叫ADHOC,组网是临时的,通信方式为Station<->Station,这里不关注这种组网方式;我们关注的基础结构形网络,其通信方式是Station<->AP<->Station,也就是所有无线网络中的设备要想通信,都得经过AP。在无线网络的基础网络中,最重要的两类设备:AP和Station。

802.11标准简介

802.11是IEEE在1997年为无线局域网(Wireless LAN)定义的一个无线网络通信的工业标准。此后这一标准又不断得到补充和完善,形成802.11x的标准系列。802.11x标准是现在无限局域网的主流标准,也是Wi-Fi的技术基础。本文只介绍一下平时应用最多的应该是802.11a/b/g三个标准。

协议 发布(年/月) Op.标准频宽 实际速度(标准) 实际速度(最大) 半径范围(室内) 半径范围(室外)
802.11a 1999 5.15-5.35/5.47-5.725/5.725-5.875 GHz 25 Mbit/s 54 Mbit/s 约30米 约45米
802.11b 1999 2.4-2.5 GHz 6.5 Mbit/s 11 Mbit/s 约30米 约100米
802.11g 2003 2.4-2.5 GHz 25 Mbit/s 54 Mbit/s 约30米 约100米

WLAN拓扑结构

WLAN有以下三种网络拓扑结构:

  1. 独立基本服务集(Independent BSS, IBSS)网络(也叫ad-hoc网络)
  2. 基本服务集(Basic Service Set, BSS)网络
  3. 扩展服务集(Extent Service Set, ESS)网络

1) AD-Hoc网络

p1

无AP,站点间直接通信。

win7自带的AD-Hoc组建功能,可以让我们很方便的在一个小范围内快速组建”局域网”,联网打游戏啥的很方便。

2) BSS网络

p2

又名Infrastructured网(基础设施网):有AP(Access Point, 接入点),无线站点通信首先要经过AP。对于个人PC来说,使用最多的所谓”无线Wi-Fi”指的就是BSS网络模式

3) ESS网络

p3

其中,ESS中的DS(分布式系统)是一个抽象系统,用来连接不同BSS的通信信道(通过路由服务),这样就可以消除BSS中STA与STA之间直接传输距离受到物理设备的限制。

根据拓扑结构可以得出802.11的两类服务:

  1. 站点服务SS(每个STA都要有的服务)
    1. 认证(Authentication)
    2. 解除认证(Deauthentication)
    3. 加密(Privacy)
    4. MSDU传递(MSDU delivery)
  2. 分布式系统服务DSS(DS特有服务)
    1. 关联(Association)
    2. 解除关联(Deassociation)
    3. 分布(Distribution)
    4. 集成(Integration)
    5. 重关联(Ressociation)

帧格式

3.1 帧格式概述

无线中的数据传播有如下相似的格式:

p4

其中preamble是一个前导标识,用于接收设备识别802.11,而PLCP域中包含一些物理层的协议参数,显然Preamble及PLCP是物理层的一些细节。MAC层处理的是帧数据,截取上图中MAC头开始的部分构成MAC帧格式如下所示:

p5

  • MAC Header(MAC头):Frame Control(帧控制域),Duration/ID(持续时间/标识),Address(地址域),Sequence Control(序列控制域)、QoS Control(服务质量控制);
  • Frame Body(帧体部分):包含信息根据帧的类型有所不同,主要封装的是上层的数据单元,长度为0~2312个字节,可以推出,802.11帧最大长度为:2346个字节;
  • FCS(校验域):包含32位循环冗余码。

3.2 MAC Header

1)Frame Control(帧控制域)格式如下所示:

p6

  • Protocol Version(协议版本):通常为0;
  • Type(类型域)和Subtype(子类型域):共同指出帧的类型;
  • To DS:表明该帧是BSS向DS发送的帧;
  • From DS:表明该帧是DS向BSS发送的帧;
  • More Fra