基于Wi-Fi协议的历史轨迹探测系统的研究与实现
2016-11-20王奕钧
王奕钧
(公安部第一研究所,北京 100044)
基于Wi-Fi协议的历史轨迹探测系统的研究与实现
王奕钧
(公安部第一研究所,北京 100044)
历史轨迹探测对于商业用户行为分析、警务嫌疑人身份落地及重点人布控都有着重要作用和现实意义。目前的探测方式或采用移动客户端静默搜集用户信息,或采用运营商分流数据,或采用摄像头拍摄结合人工分析等方式,这些探测方式存在着采集样本受限、提取有效信息困难、分析效率低下等各种弊端。提出了一种基于Wi-Fi协议的历史轨迹探测方式,并给出具体的系统设计与功能实现,为商业分析、警务应用提供一种新的分析用户行为的途径。
Wi-Fi;轨迹探测;探针请求
1 引言
历史轨迹探测,即发现目标人或设备的活动区域及移动轨迹,在商业应用中,可以用于统计交通运营状况、接入点商圈分布、用户高频行为等;在警务工作中,可以对追踪嫌疑人位置、布控抓捕嫌疑人提供数据支持。传统的历史轨迹探测方式多采用移动客户端报送数据、摄像头录像监控等方式,但都存在影响实用性的限制。例如:移动客户端需要不断地更新版本与功能以吸引用户;摄像头录像监控依赖于图像识别技术的发展,对图像清晰度、拍摄角度、周围光线都有较高的要求等。随着无线网络技术的迅速普及,城市中Wi-Fi网络接入点几乎遍布城市的每一个角落,不论是咖啡馆、快餐店,还是商场、酒店都会提供Wi-Fi网络以吸引顾客。如果能利用遍布在城市中的这张无形的Wi-Fi网络,探测并标记目标人或设备,将降低历史轨迹探测的成本,提高历史轨迹探测的精确度。本文提出了一种基于Wi-Fi协议的历史轨迹探测方式,并给出具体的系统设计与功能实现。
2 Wi-Fi协议利用原理
Wi-Fi连接的过程可以描述成扫描、认证、关联和连接[1]4个步骤,详细流程如图1所示。
图1 Wi-Fi连接过程示意
终端设备准备连接Wi-Fi接入点时,会首先扫描自身周围的Wi-Fi接入点,并根据扫描结果自动(已认证过)或手工输入密码完成身份认证,当双方认证成功后,终端设备向Wi-Fi接入点发起关联以便获取网络的完全访问权限,当成功获得后,终端设备可以通过Wi-Fi接入点访问网络。
终端设备在探测Wi-Fi网络时存在被动接收和主动探测两种方式[2]。
被动接收方式是终端设备定时将它的广播频率调整到一个固定的扫描频道,静默等待接收Wi-Fi接入点发布的信标(beacon)以完成Wi-Fi接入点的发现,过程如图2所示。
图2 被动接收方式示意
主动探测方式由终端设备主动向Wi-Fi接入点发送探针请求,Wi-Fi接入点响应探针(probe)请求完成 Wi-Fi接入点的发现,其中,探针又分为直接探针和广播探针。使用广播探针的状态下,终端设备广播一个无SSID的探针请求,所有的AP都会收到这个请求,并返回它们支持的SSID,详细过程如图3所示。
图3 广播探针探测示意
当终端设备使用直接探针时,终端设备直接发送特定名字的SSID探针请求,只有拥有请求的 SSID的AP才能回应,过程如图4所示。
图4 直接探针探测示意
基于Wi-Fi协议的轨迹探测系统正是利用Wi-Fi协议中主动扫描的特性,自动捕获终端设备发出的直接探针请求,从中发现终端设备访问过的Wi-Fi SSID[3],进而描绘出终端设备的历史轨迹。
3 系统设计与实现
基于Wi-Fi协议的轨迹探测系统包括Wi-Fi接入点采集系统、Wi-Fi信息汇总资源库和Wi-Fi轨迹探测系统3个组成部分。系统总体结构如图5所示。
图5 探测系统结构
系统功能介绍如下。
(1)Wi-Fi接入点采集系统
用来搜集Wi-Fi接入点的地理信息以及该接入点下连接的用户信息,包括ESSID、BSSID、加密方式、信道、最大传输速率等[4]。Wi-Fi接入点采集系统由信号放大模块、信号采集模块、信号定位模块、客户端信息采集模块和加密通信模块构成。信号放大模块用于放大远端Wi-Fi信号,中继远端Wi-Fi接入点的数据分组以供Wi-Fi接入点采集系统分析采集使用;信号采集模块用于采集Wi-Fi接入点通信传输的数据分组,从中过滤并捕获Wi-Fi接入点采集系统所需的关键数据;信号定位模块将捕获的Wi-Fi接入点信息通过信号增益定位、公开API查询等方式,确定Wi-Fi接入点的地理信息;客户端信息采集模块用来采集每个Wi-Fi接入点下的客户端信息;加密通信模块用来传输Wi-Fi接入点采集系统与Wi-Fi信息汇总资源库之间的数据。
(2)Wi-Fi信息汇总资源库
用来存储所有Wi-Fi接入点采集系统在外捕获的Wi-Fi接入点信息和客户端信息,同时向Wi-Fi轨迹探测系统提供查询接口,为绘制客户端轨迹提供数据支撑。Wi-Fi信息汇总资源库采用关系型数据库构建,保证Wi-Fi信息汇总资源库具有较高的可扩展性,对高并发的查询请求具有良好的支撑能力,对于其中的数据,可以实现高可靠的容灾备份机制。
(3)Wi-Fi轨迹探测系统
用于发现终端设备曾经连接过的Wi-Fi接入点,并通过在Wi-Fi信息汇总资源库中的查询比对,绘制出该终端设备曾经出现过的历史轨迹。为了保证绘制轨迹的精准有效,Wi-Fi轨迹探测系统使用客户端MAC地址发现模块搭建蜜罐Wi-Fi,诱捕终端设备真实MAC地址。加密通信模块用来传输Wi-Fi轨迹探测系统与Wi-Fi信息汇总资源库之间的数据。
由于探针请求中不包含Wi-Fi接入点的BSSID及MAC地址,若仅使用ESSID作为标识,会因为重名而导致检索结果不唯一,所以在采集Wi-Fi接入点信息时,要补充采集Wi-Fi接入点下接入的客户端MAC地址,从而双向查询对比出终端设备接入过的Wi-Fi接入点,从而探测出该终端设备出现过的地理位置(即历史轨迹)。
具体实现中,Wi-Fi接入点采集系统分为固定基站式和随身携带式两种设备形态,固定基站式设备用于大范围覆盖、长期采集Wi-Fi接入点信息,是整个Wi-Fi接入点的移动终端定位系统的基础支撑。拟采用多网卡多天线的结构覆盖全向方位,天线采用多台高增益定向天线拼接实现全向覆盖,随身携带式设备用于对重点地区的详细侦测采集,意图发现嫌疑接入点信息的精确位置。Wi-Fi接入点采集系统采用C++开发,运行在Linux平台上,使用airodump-ng库抓取无线数据,覆盖 2.4 GHz、3.6 GHz、4.9 GHz和 5.8 GHz 4个频段,通信加密采用AES算法结合对称加密的方式。
Wi-Fi信息汇总资源库采用Java开发,运行在Hadoop集群上,数据存储在HBase分布式数据库中,使用Impala检索模块、MapReduce并行编程技术以及基于Lucene的高性能索引模块,实现海量数据中的高速查询。
Wi-Fi轨迹探测系统中Wi-Fi探测模块采用C++开发,运行在Linux平台上,使用airodump-ng库抓取无线数据;前台采用JavaEE+Oracle+Tomcat开发实现,运行在Windows平台上;控制层通过Spring MVC框架实现;持久层使用Hibernate实现;业务逻辑层采用Spring框架实现;表示层采用JSP+HTML+CSS+AJAX实现;通信加密采用AES算法结合对称加密的方式。
具体部署结构如图6所示。
Wi-Fi接入点采集系统采集数据分组包括Wi-Fi接入点的BSSID(无线路由器的硬件地址)、MB(无线路由器支持的最大速率)、ENC (加密协议)、AUTH (密钥模式)、ESSID(无线路由器的广播序列号)和接入终端的station MAC(接入端的硬件地址)、PWR(信号强度)、Rate(接入端支持的最大速率)以及经纬度信息,数据结构如图7所示。
图6 系统部署结构
图7 采集数据结构
Wi-Fi信息汇总资源库表包括3张数据表,分别是Wi-Fi接入点信息表、终端设备信息表和接入点/终端设备关系表,表结构分别如图8、图9、图10所示。
Wi-Fi轨迹探测系统捕获数据格式如图11所示。
Wi-Fi轨迹探测系统将捕获的探针数据中的station和probe字段向Wi-Fi信息汇总资源库发起查询请求得到该终端设备的经纬度,之后通过google map API将终端设备出现的地理信息描绘到地图上,探测结果如图12所示。
4 结束语
终端设备历史轨迹的探测在多个应用领域都有着迫切的需求和重要的意义[5]。通过对Wi-Fi协议连接过程的分析,论证了基于Wi-Fi协议探测终端设备历史轨迹的可行性,同时设计实现了基于Wi-Fi协议的轨迹探测系统的功能原型,并给出了系统探测的结果。
图8 Wi-Fi接入点信息表结构
图9 终端设备信息表结构
图10 接入点/终端设备关系表结构
图11 探针数据捕获
图12 历史轨迹探测结果展示
[1]周天彤,李强,郑东.对无线网络移动认证协议的分析与改进[J].计算机应用与软件,2012,29(3):19-21.ZHOU T T,LI Q,ZHENG D.The analysis and improvement of wireless mobile network authentication protocol[J].Computer Applications and Software,2012,29(3):19-21.
[2]BHARDWAJ J.What is your phone saying behind your back[EB/OL]. (2012-10-02)[2015-09-20].http:/nakedsecurity.sophos.com/2012/10/02/what-is-your-phone-saying-behind-your-back/,2012-10.
[3]SIDIROPOULOS N,MIODUSZEWSKI M,SCHAAP E.Open Wi-Fi SSID broadcast vulnerability[EB/OL].(2012-12-24)[2015-09-20].https:/www.OS3.nl/_media/2012-2013/Courses.
[4]PISCATAWAY N.Wireless LAN medium access control (MAC)and physical layer(PHY)specifications [J].IEEE Computer Society,2012:C1-1184.
[5]李婷,裴韬,袁烨城,等.人类活动轨迹分类、模式和应用研究综述[J].地理科学进展,2014,33(7):938-948.LI T,PEI T,YUAN Y C,et al.Research of human activity trajectory classification、patterns and applications [J].Progress in Geography,2014,33(7):938-948.
Research and implementation of the historical trajectory detection system based on Wi-Fi protocol
WANG Yijun
First Research Institute of Ministry of Public Security,Beijing 100044,China
The historical trajectory detection plays a vital role and has the practical significance for commercial user behavior analysis,the identity of the police suspect landing and surveillance of key.Current detection methods use mobile client silence to collect user information,or use operators to shunt data,or shooting combined with artificial analysis.The ways have many disadvantages such as the sample is limited,the effective information is difficult to extract and the analytical efficiency is low.A historical track detection based on Wi-Fi protocol was proposed,and specific system design and function relization were given which provided a new way to analyze the behavior of users.
Wi-Fi,trajectory detection,probe request
TP393.4
A
10.11959/j.issn.1000-0801.2016146
2016-03-24;
2016-05-09
王奕钧(1983-),男,公安部第一研究所工程师,主要研究方向为网络信息安全。