智能家居安全分析
2016-10-19赵俊任姣姣
赵俊++任姣姣
[摘 要]本文中介绍智能家居所使用的各种无线连接技术,如蓝牙、WIFI、Zigbee等,分析所面临的攻击威胁、较明显的安全风险,其中最大问题是加密破解和重放攻击,针对以上威胁从技术上提出优化措施,消除安全隐患。
[关键词]蓝牙;WIFI;Zigbee;无线;安全;重放攻击;
中图分类号:TN784.2 文献标识码:A 文章编号:1009-914X(2016)18-0276-01
1.智能家居安全问题
在今年的“3?15晚会”上,包括洗衣机、烤箱在内的数款智能硬件被黑客现场“入侵”,演示着被不同程度破解的情况。世界级的黑客大赛GeekPwn5在今年5月12日落下帷幕,黑客轻松攻破了现在市面上的部分智能家居产品。包括国内比较流行的路由器,无人机以及一些知名的保险箱也被轻松攻破。
日本生产的一台机器马桶也曾被美国一家数据公司演示入侵,通过蓝牙连接操纵马桶盖的开启和关闭,黑客甚至能让马桶向用户下身喷射水流。诸如此类的例子还很多,曾经在现场目睹黑客轻松入侵的观众,纷纷表示震惊。
厂商层面目前我国的智能家居行业存在一个显著问题:缺乏统一标准,厂商各自为政。很多智能家居产品的安全性能尚未完善就被推出市场,厂商只专注于消费者的购买行动,却忽略了背后存在的安全隐患。
2.相关技术安全分析
智能家居需要依靠网络通信技术来联通,常见的网络通信技术包括:蓝牙、WIFI、Zigbee。
2.1.蓝牙安全
蓝牙技术是一种尖端的开放式无线通讯标准,使用全球通用的频带(2.4GHz),能够在短距离范围内无线连接桌上型电脑与笔记本电脑、便携设备、PDA、移动电话、拍照手机、打印机、数码相机、耳麦、键盘甚至是电脑鼠标。
现有的BT攻击工具中,有趣的工具有以下几个:
1、atshell—通过curtain频道打开一个到BT目标的连接
2、attest—与上一个类似,也会盲目尝试检索联系人、电话等等
3、bluesnarfer —同上,但提供了更多选项
4、bt_dos—提供针对BT目标的拒绝服务攻击
记录并重播一个iBeacon
1、从你的电脑开始发送iBeacons:
# hciconfig hci0 leadv
# hciconfig hci0 noscan
# hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 E2 0A 39 F4 73 F5 4B C4 A1 2F 17 D1 AD 07 A9 61 00 00 00 00 C8 00
2、使用hackrf_transfer开始记录频道37:
# hackrf_transfer -r ibeacon.raw -f 2402000000 -g 16 -l 32 -a 1 -s 8000000 -b 4000000
3、在你的iPhone或安卓设备上注意iBeacons(可以使用任何其他的iBeacon探测器),一旦在扫描器上看到了一个iBeacon,立即在hackrf_transfer上按CTRL-C并停止发送iBeacons:
# hciconfig hci0 noleadv
# hciconfig hci0 piscan
4、从HackRF上重播你的iBeacon:
# hackrf_transfer -t ibeacon.raw -f 2402000000 -x 47 -a 1 -s 8000000 -b 4000000
2.2. WIFI安全
Wi-Fi是一种无线局域网(WLAN)技术,使用2.4G UHF或5G SHF ISM 频段,是当今使用最广的一种无线网络传输技术。
目前常见有三种无线加密方式:
(1)WPA-PSK/WPA2-PSK加密方式是基于共享密钥的WPA模式;
(2)WPA/WPA2加密方式是通过采用Radius服务器进行身份认证并得到密钥的WPA或WPA2安全模式;
(3)WEP加密方式是一种基于对等模式的加密协议。
密钥破解:
1、使用wifislax系统光盘启动;
2、使用其中minidwep-gtk软件,配置加密方式(wep、wpa/wpa2),启动扫描以发现附近的wlan网络;
3、选中一个wlan目标,启动抓包、破解;
4、对于WPA/WPA2,在抓到握手包后,使用EWSA软件加载该握手包及密码字典进行破解。
一般情况下,若工具能破解出密码,说明该加密方式不安全或者密码设置不够复杂。
2.3. Zigbee安全
ZigBee是基于IEEE802.15.4标准的低功耗局域网协议,其在MAC层实施安全机制,应用通过在协议栈中设置恰当的参数表明采用了何种安全级,默认设备没有采用安全措施,规范没有考虑确认包的安全问题。可以使用以下工具对Zigbee网络进行攻击:
1、使用zbstumbler进行扫描,发现ZigBee网络;
2、使用Daintree或zbdump对进行数据包窃听;
3、使用zbreplay对捕获的数据包进行重放攻击;
4、使用zbdsniff进行加密攻击,以发现网络密钥;
5、使用如zbfind确定ZigBee设备的物理位置,以便开展物理攻击;
6、使用zbgoodfind攻击GoodFET数据内存转储文件,以破解出网络密钥。
7、使用破解出来的网络密钥接入到目标ZigBee网络,开展网内的渗透测试。
3. 问题分析及改进
智能家居在使用各种无线技术的情况下,主要的两个安全问题就是:加密和防重放。
加密的包括token,控制指令,数据等。 token相当于控制设备的钥匙,每当要操作设备时,都需要核实token,token在手机和设备之间传递时是通过秘钥加密过的,所以就算别人截获了,如果不知道秘钥和加密算法也无法破解。
另一个是防重放,总体来说,都是数据中带有一个序号,这个序号有一个有效窗口,在这个有效窗口内的请求被认为是有效的,否则认为是无效的。序号通常有三种:
1. 时间戳
时间戳(timestamp)是标识某一时间的一串字符或编码序列,用于提供时间证明。时间戳一词来源于橡胶邮戳,用于印章当前日期、时间,有时也用于记录文件生效的时间。分为可信时间戳和非可信时间戳。
在通信过程中使用时间戳,并且在下次请求的时间戳必须和上次请求有一个时间差,比如大于5s,否则认为是重放。这个窗口不能设置的太小了,太小了防重放就没有作用,太大了会导致正常的网络请求被屏蔽。
2. 递增序列
每次操作都递增序列号,如果收到的序列号没有递增,则丢弃。比如手机遥控电视,手机每发出一次指令,序列号就加一,电视会保存这个序列号,但是遥控器不能每次发指令都保存序列号,因为要省电,并且flash的写次数是有限制的,所以要隔一个周期写入,比如满100写入一次。如果中途设备断电导致序列号丢失了,则下次上电时需要加上一个周期。
3.随机序列
随机序列在密码技术中是非常重要的,比如密钥产生、数字签名、身份认证和众多的密码学协议等都要用到随机序列。
每次通信都生成一个随机数,服务端会将最近一段时间收到的序列号保存下来,如果发现收到的序列号已经存在了就认为是重放,因为是随机数,所以碰撞的概率极小。
作者简介:
第一作者,赵俊,男,1984年出生,2009年毕业于吉林大学通信工程学院,通信与信息系统专业,硕士学位,现任职于广东移动信息安全保障部,从事信息安全技术管理工作。第二作者,任姣姣,女,1982年出生,2009年毕业于吉林大学通信工程学院,信号与信息处理专业,硕士学位,现任职于广东移动网络管理中心,从事大数据系统建设及安全工作。