高 见, 袁得嵛
(中国人民公安大学信息技术与网络安全学院, 北京 100038)
基于WIFI探针的预警系统设计与研究
高 见, 袁得嵛
(中国人民公安大学信息技术与网络安全学院, 北京 100038)
进入21世纪后,各类社会犯罪大量出现,并且呈现出远程化、高智能化、高科技化等特点。WIFI技术的使用逐渐普及,如何通过WIFI技术发现潜在犯罪,并能对可能出现的犯罪事件进行预警引起了警方的重点关注,是目前研究的热点问题。通过分布式采集WIFI网络中终端主动发送探针的数据包的MAC地址信息和SSID信息,对数据进行汇总分析,达到对大人流的预警和指定终端的行为轨迹分析,并搭建了预警系统,通过实验数据验证了预警系统的可行性和前瞻性。
WIFI; MAC; SSID; 探针; 预警
目前,大量的互联网设备支持WIFI接入的功能,比如手机,PAD,笔记本等。移动设备接入互联网的方式一种是通过3G、4G网络,另一种是通过WIFI功能,由于WIFI高速、稳定、免费、便利的特点,很多用户喜欢通过WIFI的方式接入互联网,并且手机的WIFI功能经常处于开放状态。通过对WIFI认证协议的研究,一些学者发现,在WIFI通信过程的Probe request中包含了终端的MAC地址信息和SSID重要信息。
在移动终端接入WIFI网络的时候,需要发送Probe request探针数据包,而这些数据包中包含了该终端之前接入过的SSID名称以及终端的MAC地址信息,这种探测模式一般称为主动发现模式。WIFI通信过程经常会使用WPA和WPA2的加密方式,以保证终端和AP之间的数据包传输的机密性,防止被第三方窃听。然而在终端接入AP之前,终端需要去发现AP的存在,两者需要发送一些数据包来标识自身的存在,而前期的交互信息是明文,而且包含了终端的MAC地址信息和之前接入过的SSID信息。MAC地址信息可以唯一的标识一台终端设备,不同的厂商拥有自己的MAC地址段,可以通过MAC地址直接查询该MAC地址对应的终端设备厂商信息。因此,在手机识别的过程中,MAC地址可以作为其唯一性的标识,不同的两个手机MAC地址是不同的。
表1描述了部分厂商的MAC地址段信息,通过MAC地址的前6位,可以查询到该MAC地址属于哪个厂商生产。每个厂商对应的MAC地址段可能有很多,表1中只列出了常用手机厂商的某个MAC地址段。
表1 常见的MAC厂商表
由于WIFI具有免费、高速的特点,越来越多的人更倾向于使用WIFI接入网络。因此,相对于传统的运营商基站信息分布图,WIFI分布图更能反映出当地的人口密度。普通的WIFI接入点的覆盖范围比较小,从几十米到几百米不等,而对于基站,覆盖范围小至几百米,大至几公里,WIFI接入点更能说明手机终端的地理位置。图1显示了法国里昂最新的数据统计[1],图1左图中包含了大约3000个基站,其中覆盖了2G、3G和LTE,在图1右图中包含了50000个WIFI接入点。
图1 基站与AP的分布图
(1)客户端连接方式
IEEE802.11协议链接过程的一个重要部分是主动发现热点并接入WLAN网络。在这个过程中,首先是WLAN网络的AP通过发送广播包向外界公布该SSID,并发送Beacons帧数据包。WLAN网络中的客户端通过对收到的SSID进行鉴别和对比,选择最优的,并发送请求连接的数据包,最后是认证并连接到AP。
(2) Beacons探针
WLAN网络中的客户端通过Beacon探针来发现指定地区开放AP的SSID信息。WLAN中的路由器会周期性地广播beacons数据包,在beacons中包含了AP的SSID信息和MAC地址信息[2-3]。
(3)IEEE 802.11 探针
客户端扫描可用AP的方法可以分为两种:主动扫描和被动扫描[4],如图2所示。
图2 协议认证过程
①主动扫描:WLAN中的客户端会主动地在扫描的频道中发送探针,并等待AP的回应,不同的路由器回应时间不等,大约在10ms左右。请求探针有两种类型,直接探针和广播探针。
直接探针:客户端定期发送曾经接入过的SSID的探针请求,如果拥有该SSID的AP收到请求,便会回应,其它AP不予回应。直接探针中包含了终端的MAC地址信息和曾经接入过的SSID信息。
图3 主动扫描直接探针
广播探针:在广播探针中,客户端会发送一个没有SSID信息的探针请求,客户端附近的所有路由器在收到该探针后,返回自己的SSID信息数据包。在广播探针中只包含了终端的MAC地址信息。
图4 主动扫描广播探针
②被动扫描:在被动扫描模式,客户端只是被动的在某个频段监听附近AP广播的beacon探针,通过对beacon探针中SSID的识别来决定是否接入,如图5所示。
图5 被动扫描
根据802.11协议本身的特点,在移动终端打开WIFI功能的前提下,终端会发送Probe Request数据包,数据包中包含了终端的MAC地址信息和曾经接入过的AP的SSID。因此本文设计了分布式WIFI探测系统,以便获取终端的MAC地址信息、时间信息、位置信息和SSID信息,并最终对所获得数据进行检索和分析,从而达到预警的目的。
该系统包括终端采集器、后台数据库和数据分析系统3个部分,如图6所示。
图6 分布式WIFI主动探测系统
2.1 终端采集器
在实验过程中,我们选择OPENWRT路由器,该路由器可以将自己定制的操作系统刷入该设备,并作为终端采集器。这个设备用来获取无线通讯过程中的数据包,并且收集经过过滤筛选的信息。配置无线路由器最关键的就是要将配置好的无线路由器设置成监听模式,在该模式下路由器可以获取所有嗅探到的数据包,并重点分析Probe Request探针,从这些探针请求中,获取移动终端的MAC地址,同时生成一份SSID的列表。如表2所示,获取的列表中有一些MAC地址是重复信息,比如16:A7:C6:FC:11:B3发送的Probe Request信息中包含SSID为“29EC”的信息。有些信息表明一个MAC地址接入过多台路由器,比如58:44:98:B0:29:5D曾经接入过SSID为“苏宁易购许镇店1”和“TH_XSSS_5G”两个路由器。
表2 主动探针中包含的SSID信息
2.2 数据库设计
采集端的数据传输到后台服务器上,需要将数据存储在数据库中,对于区域小、数据量少的WIFI数据可以使用MySQL,如果数据量大,可以使用Oracle和SQL Server。在数据库中设计的主要表有4个,其中MAC信息表、SSID信息表和终端采集信息表为静态表,存储基础信息;采集信息表为动态表,存储采集信息。表格设计如表3所示。
表3 MAC信息表
MAC信息表中MACID是主键,为每个不同的MAC地址提供唯一标识,MAC字段为MAC地址信息,MACMAN是MAC地址对应的厂商信息。
表4 SSID信息表
如表4所示的SSID信息表中,SSIDID是主键,为采集到的每个SSID提供唯一标识,SSIDNAME字段为路由器的SSID名字,可以重复,GPSLAT和GPSLNG分别为对应SSID的经纬度。
表5 采集终端信息表
表5所示的采集终端信息表,记录了所有采集终端的基本信息,CJNAME字段为采集终端的名字,GPSLAT和GPSLNG分别为采集终端的经纬度。
表6 采集信息表
表6所示的采集信息表,动态记录了所有采集终端采集的MAC地址信息,分别与MAC信息表和采集终端表的CJID和MACID外键关联,TIME为采集终端第一次采集到该MAC的时间。
3.1 大人流预警
2014年12月31日23时35分,很多游客市民聚集在上海外滩迎接新年,上海市黄浦区外滩陈毅广场东南角通往黄浦江观景平台的人行通道阶梯处有人跌倒,继而引发多人摔倒、叠压,致使拥挤踩踏事件发生,造成36人死亡,49人受伤。通过本文设计的预警系统,可以统计平时每个终端采集器附近手机终端数量的均值,同时可以统计多个终端采集器所代表的某个区域的手机终端数量的均值。
在系统中,对人员聚集区设置阈值M,当该区域中的所有采集器的采集终端数量大于M时,立即向当地派出所预警,需增派警力维持秩序,预防踩踏事件。
如图7所示,某区域由3个终端采集器覆盖,S1,S2,S3采集的人数分别为N1,N2,N3,阈值为M,那么预警条件为:
图7 大人流数据统计图
因为每个采集器的覆盖范围有重叠,所以在计算区域人数的时候取各个采集器的并集。
3.2 案件预警
通过该预警系统可以预测同一作案人,某类案件的发生。假设某商场发生偷窃案件,该商场在终端采集器S1的覆盖范围,根据偷盗时间,可以获得在该时间段内出现的MAC地址集合为
US1={M1,M2,……,Mn}
其中Mn代表不同手机的MAC地址。
同类盗窃案件发生分别发生在S2,S3的覆盖范围,其对应的MAC地址集合分别为
US2={M1,M2,……,Mn}
US3={M1,M2,……,Mn}
计算
KM=US1∩US2∩US3={Mi,Mj,…,Mk}
KM集合中的MAC地址代表这些MAC地址对应的手机在多个盗窃案发生地均出现过,因此这些MAC地址手机的用户为重点嫌疑对象。如图8所示,3个偷窃案件所在采集终端范围的交集是重点嫌疑对象,即图8中深色的点。
图8 案件发生地数据统计图
当该MAC再出现在某个采集终端区域内时,系统给出预警,民警应根据预测范围重点防范可能出现的盗窃案件。
3.3 轨迹分析
通过预警系统,可以对某个手机接入过的SSID进行统计分析,并结合War Driving技术来确定该手机的轨迹。在实验过程中,我们先在手机安装War Driving APP在校园内行走,获取所有开放WIFI的SSID和它们的GPS信息,采集的SSID和GPS信息可以在Google Earth上直接导入。
对于指定的MAC地址,进入某个采集终端的范围后,可以获得该手机曾经接入过的SSID信息集合,通过该集合,结合之前的War Driving信息,就可以在地图上标注该手机经常的活动轨迹,如图9所示。
图9 校园内WIFI轨迹图
除此之外,通过预警系统,可以以采集终端的GPS信息作为参照点,以某个手机进入采集终端的时间为时间序列,进而标注特定手机的行为轨迹。这对于刑事案件在某一区域抓捕嫌疑人,以及锁定犯罪嫌疑人的逃跑路线、逃跑范围有重要意义。
通过对802.11协议族的分析,发现在建立连接初期,移动终端会暴露一些隐私信息,比如MAC地址和曾经接入过的SSID名称。在本文中提出了一种分布式的采集系统,可以将部署在各区域的采集终端采集的数据最终汇总到中心数据库服务器上。对数据库中的数据进行分析,并通过预警算法对不同类型的事件给出预警。此外,还提出了分布式预警系统的3种应用场景:大人流预警、案件预警和轨迹分析。在下一步的工作过程中,将对互联网的公共数据和公安的特定案件数据进行关联分析,研究预警模型,对社会上的潜在犯罪行为进行预测。
[1] RAVENEAU P,STANICA R,FIORE M,et al. Urban-scale cellular offloading through Wi-Fi access points:A measurement-based case study[C]∥Research and Technologies for Society and Industry Leveraging a better tomorrow (RTSI),2015 IEEE 1st International Forum on. IEEE, 2015:132-137.
[2] CUNCHE M,KAAFAR M A,BORELI R. Linking wireless devices using information contained in Wi-Fi probe requests[J]. Pervasive & Mobile Computing,2014,11(4):56-69.
[3] MUSA A B M,ERIKSSON J. Tracking unmodified smartphones using wi-fi monitors[C]∥ACM Conference on Embedded Network Sensor Systems. 2012:281-294.
[4] CUNCHE M. I know your MAC Address: Targeted tracking of individual using Wi-Fi[J]. Journal of Computer Virology and Hacking Techniques,2014,10(4):219-227.
(责任编辑 于瑞华)
高 见(1982—), 男, 山东菏泽人, 博士, 讲师。 主要研究方向为网络安全、僵尸网络。
D035.39