3 系统实现原理、技术和流程图

本系统的架构主要包括图形界面、各个功能模块、模块间接口这三个部分。而其实现的关键则在于无线网络的全频段扫描以及数据捕获、数据的协议实时解析、内容还原技术、以及非法网络行为的检测和防护技术。

3.2 关键技术分析

3.2.1无线网络的全频段扫描和数据捕获

3.2.1.1 全频段扫描

通过在Linux平台下,设置无线网卡I/O通信端口寄存器为监听模式,可以对802.11a/b/g的13个频段内的接入点、站点以时分跳频的方式监听,实时发现各个信道的AP以及连接AP的站点,并分析捕获的数据,获得AP和站点的加密方式、信号强度、MAC地址等相关信息。

3.2.1.2数据包捕获

一旦选定需要监护的AP,则可以通过对网卡端口寄存器编程来实现固定信道的扫描,此时不再是13个信道的时分跳频,而是网卡固定于一个特定的信道来扫描获取该信道的数据。再对捕获的数据包进行BSSID的过滤,这样就可以得到该AP服务集的数据包。

3.2.2 数据的实时解析

用数据包捕获方式得到的是802.11MAC层的通信数据,根据TCP/IP协议栈与802.11的相关协议,数据恢复需要从TCP/IP协议模型的底层向上层进行一层层的解析和重组:数据链路层—网络层—传输层—应用层(含会话、表现层)。

TCP、IP的协议解析是本系统中的一大难点,这其中关系到IP分片和重组以及TCP流重组和重传的解析。我们选择了libnids开源工具对该部分协议做了具体的解析。

在TCP、IP解析的基础上实现了对FTP协议,HTTP协议,SMTP协议,POP3协议的并行解析。由于监听的网络同时会有多个人使用某个协议,我们建立了对应于各个TCP连接的虚拟端口,用于区分不同TCP链接的通信数据。图3.2描述了TCP连接与各个协议的关系。

图 3.2 协议解析关系图

同时我们给出了应用层解析流程,见图3.3:

图3.3 应用层协议解析流程图

3.2.3 用户网络内容的还原

3.2.3.1网页内容还原

对于HTTP,由于其网络地址大多为服务器的相对地址,还原后的原始文件无法用浏览器打开,即使打开也只有文字信息(如图3.4所示),缺少图片和flash信息,这就需要后期的数据处理。3.2.3.2 邮件内容处理

邮件内容并不是直接传输ASCII码,它有自己的传输编码,所以必须根据其相应的传输编码来对其进行解析。比如其常用的传输编码方式为base64编码。如表3.1所示:

表3.1 base64编码

这种编码其实就相当于加密,当然还有其他的传输编码方式,必须做相应的解码才能使得其可读。所以邮件文件的处理程序流程就是先读文件,查找传输编码方式,最后解码还原。

3.2.4网络行为控制

网络行为的控制主要控制两类事件,一是阻断非法用户接入AP,二是防止合法用户访问非法IP。其中前者的分析基于MAC层的数据,后者基于IP层的数据。虽然我们的系统独立于AP和站点,但是我们可以通过伪冒成该站点与AP通信,向AP发送去鉴权或去关联数据帧,中断AP与该站点之间的通信或者连接,来中断非法接入或者非法访问。

3.2.5 WEP攻击检测与主动防护

当前最流行的WEP攻击软件是基于统计原理的PTW[7]算法,该算法可以在收集40000个有效包的情况下破解出64bit的WEP密钥。PTW算法采用主动攻击的方式,假冒合法用户大量发送已截获的无线网络中的ARP请求包,通过这种方式,攻击者将会收获大量的ARP回复和转发包,之后采用统计算法[7],分析ARP包中的密钥流和ARP包所对应的不同IV,攻击者即可在很短的时间内破获正确的密钥,进而实行非法操作。

事实上几乎所有的WEP攻击算法的都需要捕获大量的ARP包。基于此,我们采用在MAC层捕获、统计网络中的ARP包的流量去判断是否存在WEP攻击。

一旦发现有WEP攻击,我们通过分析ARP包中源、目的端以及IV等信息,用一个伪造的密钥和不断递增的IV,按照WEP加密方式构造出一个新的ARP包,并通过网卡大量发送,使得攻击者大量捕获的是用错误密钥加密的ARP包。另一方面我们通过发送ARP包的时间间隔来伪冒成攻击者,向AP发送去鉴权帧,使得攻击者时而断开与AP的连接,这样AP就不会转发攻击者发送的ARP包,因此攻击者就几乎收不到正确密钥加密的ARP数据包,而大量捕获我们用伪造密钥加密的ARP包,因而最终破获出一个错误密钥。由于我们构造的ARP包与正确密钥加密的ARP包对于攻击者来说是无法区分,因此这样的防护方法可谓是疏而不漏。

  1. 无线局域网安全设置的五个基本点
  2. 无线局域网WLAN安全技术谈


相关内容