在智能家居环境下基于CSI的伪AP检测研究

2018-02-28 02:51
信息安全研究 2018年2期
关键词:网卡载波智能家居

冯 鑫 胡 勇

(四川大学电子信息学院 成都 610065)

近年来随着移动互联网的高速发展,物联网和“互联网+”的概念深入人心,相关产品和服务层出不穷.根据思科最新报告,未来10年,物联网将形成价值高达14.4万亿美元的巨大市场[1].其在家庭环境中的应用,即智能家居逐渐受到业界和用户的关注.智能家居产品应用于家庭内部,能够连接网络、接受外界控制或控制家庭其他设备,从而提升家居生活的便利性、舒适性.

为了方便,智能家居环境中终端与终端,终端与网关之间的通信基本都是通过无线通信.WiFi网络具备移动性好、传输速率快、配置简单等优点,使其广泛运用于智能家居设备的通信.

WiFi网络给人们带来便利的同时,其安全问题却层出不穷.例如:

1) 使用低安全级别的WEP(Wired Equivalent Privacy)加密方式可以让黑客用工具瞬间破解密码;

2) 无线网络钓鱼攻击可以使用户的隐私完全暴露在黑客电脑中;

3) 信号干扰攻击可以使用户无法正常连接上网络,并导致路由器瘫痪;

4) 设置弱口令可以使黑客在短时间内暴力破解;

5) 开启了WPS(WiFi protected setup)功能的路由器,Pin码暴力破解可以在短短几小时内破解其口令.

在各种无线攻击中,无线网络钓鱼攻击是危害非常严重的一种攻击方式.无线网络钓鱼攻击[2]是指黑客架设一个与真实接入点相同的服务集标识(service set identifier, SSID)的伪造接入点,并将其放置在真实接入点周围环境中,以此来诱导受害者连接上伪造的接入点.在国外的一些文献中,伪造接入点常被称为流氓AP(rogue AP)或者邪恶双胞胎AP(evil twin AP).一旦受害者误连接上伪造AP,黑客便可以实施一系列的恶意攻击,例如,监听敏感信息、中间人攻击、拒绝服务攻击等等.

无线网络钓鱼攻击的步骤很简单,首先要获取到真实AP的SSID、接入口令,再用监听软件获取到真实AP的加密方式、无线信道等信息.其次,准备一个大功率的无线网卡.最后在笔记本电脑上安装特殊软件,让网卡成为AP并与真实AP配置相同.由于802.11协议规定,如果附近环境中存在配置相同的AP,那么终端会选择信号更强的一个AP接入.即使终端先前已经连上真实AP,并且伪造AP与真实AP的信号强度相当,那么黑客依然可以主动利用取消身份验证洪水攻击(de-authentication flood attack),来将终端转化为未关联或未认证状态,以重新诱导终端接入伪造AP.无线网络钓鱼攻击原理如图1所示:

图1 无线网络钓鱼攻击原理

随着物联网的发展,无线网络钓鱼攻击逐渐蔓延至智能家居环境中.一旦智能终端接入伪AP,那么黑客将完全控制整个物联网环境,掌握所有智能设备的控制权.例如,控制智能开关、控制智能门锁、篡改终端数据等等.这将给智能家居环境带来灾难性的破坏.由于会有许多智能设备与同一AP连接,而且每次修改接入口令后,需对每个终端的重新接入进行设置,比较麻烦,所以在智能家居环境下的AP很少会修改口令.这让黑客更容易通过暴力破解或者通过WPS协议的漏洞暴力破解Pin码得到口令.其次,现在智能设备本身没有统一的安全标准,安全性参差不齐,黑客也极易通过设备本身的漏洞拿到口令.

在智能家居环境中,各个终端和AP之间的位置都比较固定,本文利用WiFi定位技术收集AP的位置信息,并将AP的位置信息存入指纹数据库.利用检测到当前的AP位置信息与指纹库中的真实AP位置信息作比较,判断AP的真实性.实验结果表明,该方法能有效检测智能家居环境中的伪AP.

1 伪AP检测技术研究现状

伪AP检测技术是通过一系列技术手段,检测当前环境是否存在伪AP,并向用户警示.现有的检测技术主要分为2类:一类是基于AP硬件特征的检测;另一类是基于终端与AP流量特征的检测.

Bratus等人[3]提出通过向AP发送一些特殊格式的数据帧,由于不同无线网卡硬件和驱动不同,AP返回的数据帧的特征也各不相同,所以其利用此返回的数据帧特征信息作为指纹存储起来,每次连接前检测AP的合法性.该方法的局限性属于主动攻击的一种,极易被攻击者发现,并且也可被伪造.文献[4]提出利用MAC地址检测法,MAC地址用来表示互联网上每一个网络设备的标识符.然而在AP给终端发送消息的过程之中同样包含了自身的MAC地址和目的设备的MAC地址,作为攻击者只要在真实AP的范围内是同样可以接收到真实AP的MAC地址的,所以攻击者完全可以利用工具将自己架设的伪AP的MAC地址修改为真实AP的MAC地址,以欺骗受害者.Wei等人[5]提出利用TCP协议中的ACK数据帧的到达时间不同来建立特征库,但是其非常容易受TCP的流量影响,需要利用大量时间来搜集建立特征库,这大大降低了效率.Ma等人[6]提出一种伪AP的检测框架,通过监听目标AP的流量来发现一些异常信息,并提取操作系统和网卡接口的相关信息作为指纹,以此来找出存在危险的AP.

2 基于CSI的伪AP检测

以上研究都是基于硬件特征作为指纹信息,或流量特征作为指纹信息,以鉴别伪AP.但是,硬件特征和流量特征都可以被攻击者伪造,而在智能家居环境下AP的位置都比较稳固,很难被伪造,可以通过识别AP的位置来鉴别伪AP,所以本文提出一种基于CSI的伪AP检测方法.

2.1 WiFi定位技术

要获取到真实AP的位置信息,必须要选取合适的WiFi定位技术,特别是基于WiFi室内的定位.目前现有的WiFi定位技术有以下5种:

1) 到达时间法TOA(time of arrival)[7]

该方法通过测量数据包从发送端到接收端的时间,再利用信号的传播速度来计算它们之间的距离.利用到达时间法要求硬件之间有严格的时间同步.其次,它不适合于室内的定位.由于室内环境的复杂性,如遇到桌子、墙壁等障碍物,其计算出来的距离要长于实际距离.

2) 到达时间差法TDOA(time difference of arrival)[8]

该方法和到达时间法类似,通过定位点向2个不同的站点发送无线信号,将信号间的时间差利用几何算法来得到距离.该方法虽然不需要严格的时间同步,但是也不适合于室内的定位.

3) 到达角度法TOA(time of arrival)[9]

其利用信号的传播方向来定位,通过测量终端到AP的到达角度值,再利用夹角射线原则通过几何知识列出方程组,估算出目标终端的位置信息.该方法在室内环境中可行,但是要获取得到角度信息必须依赖复杂的硬件设施.

因为信号强度随距离急剧衰减,其利用接收端获取到的目标AP的信号强度,再通过路径损耗模型得到RSSI和距离d的函数关系,从而估算出d的值.该方法目前应用场景很多,但是对于智能家居环境下的室内定位,其存在精度不高和稳定性弱的缺陷.

5) 信道状态信息法CSI(channel state information)

其借助了正交频分复用OFDM(orthogonal frequency division multiplexing)技术,将数据流分为多个子数据流,将每个子数据流加载到相互独立并且正交的子载波上,并行传输到接收端.在装有csitools的Linux系统环境下,将每个子载波的幅度和相位信息提取出来,经过过滤除杂处理后,作为指纹信息构建特征库用于定位.

2.2 基于SCI的定位及数据获取

在室内环境下,CSI相比RSSI更加稳定精确,因为其获取到的是物理层下更加细微的信息,所以有更高的鲁棒性和细粒度.检测伪AP大多都是在室内环境复杂、人员较多的环境下,所以选择信道状态信息法来定位真实AP的位置.

在OFDM系统中,信道状态信息的频域模型为[11]

Y=HX+N,

(1)

其中,Y为发射端的信号向量,X为接收端的信号向量,N为高斯白噪声,因此所有子载波的信道状态信息矩阵能够估算为

(2)

矩阵中每一个CSI值表征单个载波的幅度和相位信息:

CSI=|csi|ej sin∠csi,

(3)

其中,|csi|表示子载波的幅度;∠csi表示子载波的相位.

目前能用于搜集CSI信息的网卡有2款:Atheros 9390[12]和Intel 5300[13].采用Intel 5300网卡,在ubuntu 11.04的Linux系统环境下安装特定的内核和经过修改的网卡驱动,再准备1台支持802.11n的无线AP.

将安装有实验环境的笔记本电脑连接至目标AP,并在笔记本上运行csitools[13],如果目标AP与笔记本之间有正常的流量交互,csitools就能够获取到CSI原始数据.获取到的CSI原始的数据为复数数据,以m×n×30的矩阵呈现.m表示发射端的天线个数,n表示接收端的天线个数,30是子载波的个数.

2.3 数据处理

在室内环境中,由于家具、墙面、行人走动等因素,会使无线信号受到多径传播和阴影效应的影响.多径传播如图2所示.这2个因素严重影响了CSI信息定位的精确性,所以在获取到CSI原始数据后,需要对CSI原始数据进行预处理,以消除它们对定位产生的误差.

图2 多径信道

因为CSI工具采集到的数据是频域下的幅度和相位信息,所以为了排除多径传播干扰,应将其转化到时域.多径信道在时域下的描述一般表述为

(4)

其中,Lp表示多径信道的数量;αk和τk表示第k个传输路径的幅度和传播延迟.利用傅里叶反变换(IFFT)处理CSI原始数据,就能得到其在时域下的信道响应h(t).其表征了时延与信号强度值在时域下的关系.非视距路径会比视距路径传播更长的路径,所以所消耗的时间也更长,无线信号会晚于视距路径到达接收端.如图3所示,第4条直方图表示视距路径的能量.为了得到视距路径信息或者接近视距路径的信息,设定50%阈值,即取第4条直方图的一半,这样就能将多径过多的路径排除.

图3 时域CIR图

在信号经过多径消除后,需要将信号进行傅里叶变换(FFT)重新转换到频域处理.在802.11n协议中,由于信号通过OFDM系统调制,被分为多路不同频率的子载波进行传输.虽然每个子载波的衰减程度都各不相同,但是其同时发生衰减的概率比无线接收信号强度发生同等衰减概率低很多.所以将多路不同的子载波进行结合,能有效解决阴影效应带来的误差,将信号的真实状态更好地还原出来.FILA系统[14]给出一个既简单又有效的子载波结合方式,提出CSI有效值的概念.CSI有效值由30组子载波加权平均,得到:

(5)

其中,CSIe表示CSI有效值;fk表示第k个子载波的频率;f0表示中心频率;|Hk|表示第k个子载波的幅度.

经过数据去杂处理后,将得到的CSI有效值用于定位,FILA系统给出CSI有效值与距离d的关系:

(6)

其中,d表示距离;f0表示中心频率;c表示光速;CSIe表示CSI有效值;n和σ是环境因子,在不同的环境中取值不同.由式(6)可知,只要在相同环境中,d与CSIe成函数关系,即可直接用CSIe的值来替代距离实现定位.因此提出信号空间距离的概念.利用CSIe的绝对值表示信号空间距离.

3 伪AP检测

伪AP检测包括2个阶段:第1个阶段为指纹搜集阶段,第2个阶段为指纹检测阶段.在指纹搜集阶段,需要在安全状态下,由安装有csitools工具的采集器在多个位置采集真实AP和参考AP的CSI原始信息,并通过数据处理得到CSI有效值即CSIe,并将CSIe的绝对值构建指纹库.参考AP用于辅助定位,并且参考AP的数量至少需要3个,因为理论上3个圆才能确定一个点,而2个圆有2个位置重合,一个圆则有无数个点重合.其原理如图4所示:

图4 定位原理

在指纹检测阶段,需要利用参考AP和当前所连AP采集到的CSI值与数据库中的指纹值进行匹配.全部原理如图5所示:

图5 伪AP检测原理

伪AP的检测过程包括如下步骤:

1) CSI原始数据采集;

2) CSI原始数据处理得到有效CSI值;

3) CSI数据指纹数据库建立;

4) 检测目标终端位置的CSI信息;

5) 与指纹数据库对比并判断安全性.

3.1 实验及评估

在7m×8m的实验室中,模拟了无线网络钓鱼攻击环境,如图6所示.

图6 实验环境

图7 CSI样本与指纹库的比较

实验使用路由器在实验室不同的位置建立了2个SSID分别为test1和test2的参考AP,一个SSID为test,密码为“12345678”的真实AP,另一个与真实AP配置信息完全一样的伪AP.在A点位置,有一台装有Intel 5300网卡并安装csitools软件的笔记本电脑,用来模拟智能家居的智能终端.为了实验的简便性,只保留所有AP和Intel 5300网卡的一根天线,这样在后期接收到CSI原始数据时是一个1×1×30的单列矩阵,使数据易于处理.在实验初始阶段,首先打开2个参考AP和真实AP,使笔记本分别连接这3个AP并搜集好CSI数据,并作数据提纯处理,然后存入数据库.接下来,打开伪AP电源,并利用拒绝服务攻击使笔记本电脑和真实AP转变为未关联或未认证状态.当笔记本电脑再次请求连接时会自动连上伪AP.此时,获取笔记本电脑所连伪AP的CSI信息,并与指纹库中指纹信息作对比,发现伪AP的CSI信息与真实AP的CSI指纹差异大,从而判定当前所连AP的位置与真实AP的位置不符,从而判定为伪AP.图7为采集的伪AP样本与指纹库的对比图.

4 结 论

本文提出一种在智能家居环境中基于CSI的伪AP检测方法,通过检测AP的位置确定是否伪造.因为目前现存的伪AP检测方式都是基于AP自身的硬件信息或者AP与终端的流量信息进行的,但硬件信息和流量信息非常容易被伪造,而AP的位置却非常难以被伪造.所以本文的方法能有效解决现存的伪AP检测易被绕过的问题.最后通过实验证明了该方法的可行性.

[1]王艳, 徐渊. 物联网或将迎来高速增长[J]. 中国电信业, 2014, 15(2): 30-31

[2]陈伟, 顾杨, 李晨阳, 等. 无线钓鱼接入点攻击与检测技术研究综述[J]. 武汉大学学报: 理学版, 2014, 60(1): 13-23

[3]Bratus S, Cornelius C, Kotz D, et al. Active behavioral fingerprinting of wireless devices[C] //Pro of the 1st ACM Conf on Wireless Network Security. New York: ACM, 2008: 56-61

[4]朱建明,马建峰. 无线局域网安全: 方法与技术[M]. 2版. 北京: 机械工业出版社, 2009

[5]Wei W, Sun K, Wang B, et al. Passive online rogue access point detection using sequential hypothesis testing with TCP ACK-pairs[C] //Proc of the 7th ACM SIGCOMM Conf on Internet Measurement. New York: ACM, 2007: 365-378

[6]Ma L, Teymorian A, Cheng X. A hybrid rogue access point protection framework for commodity WiFi networks[C] //Proc of the 27th Annual Joint Conf of the IEEE Computer and Communications Societies (INFOCOM 2008). Los Alamitos, CA: IEEE Computer Society, 2008: 1220-1228

[7]万群, 郭贤生, 陈章鑫. 室内定位理论、方法和应用[M]. 北京: 电子工业出版社, 2012

[8]Yang L, Ho K C. An approximately efficient TDOA localization algorithm in closed-form for locating multiple disjoint sources with erroneous sensor positions[J]. IEEE Trans on Signal Processing, 2009, 57(12): 4598-4615

[9]Kulakowski P, Vales-Alonso J, Egea-Lopez E, et al. Angle-of-arrival localization based on antenna arrays for wireless sensor networks[J]. Computers & Electrical Engineering, 2010, 36(6): 1181-1186

[10]寿向晨, 徐宏毅. 无线传感器网络中RSSI定位算法的设计与实现[J]. 武汉大学学报: 工学版, 2015, 48(2): 284-288

[11]邓晓华. 基于CSI的被动式室内定位与目标技术方法研究[D]. 杭州: 杭州电子科技大学, 2014

[12]Sen S, Lee J, Kim K H, et al. Avoiding multipath to revive inbuilding wifi localization[C] //Proc of the 11th Annual Int Conf on Mobile Systems, Applications, and Services. New York: ACM, 2013: 249-262

[13]Halperin D, Hu W, Sheth A, et al. Predictable 802.11 packet delivery from wireless channel measurements[J]. ACM SIGCOMM Computer Communication Review, 2011, 41(4): 159-170

[14]Wu K S, Xiao J, Yi Y, et al. FILA: Fine-grained indoor localization[C] //Proc of IEEE Int Conf on Computer Communications (INFOCOM). Piscataway, NJ: IEEE, 2012: 2210-2218

猜你喜欢
网卡载波智能家居
水声单载波扩频均衡技术研究
历元间载波相位差分的GPS/BDS精密单点测速算法
部署Linux虚拟机出现的网络故障
基于PLC的智能家居控制系统研究
Server 2016网卡组合模式
用于SAR与通信一体化系统的滤波器组多载波波形
低载波比下三电平NPC逆变器同步SVPWM算法
基于Zigbee的无线通信技术在智能家居中的应用
智能家居发展或将实现弯道超车
挑战Killer网卡Realtek网游专用Dragon网卡