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包对于攻击者来说是无法区分,因此这样的防护方法可谓是疏而不漏。