引子
晦暗的色调中有一口井,画面闪动,井旁突然出现了一名长发女子。
“啪”,上班族翠花慌忙关掉电视,今晚男朋友有应酬,独居一人的她实在没有胆量继续把这恐怖片看下去。后背的一层白毛汗早已打湿了衣服,然而翠花却澡也不敢洗,逃难似的钻进被窝把自己攒成一团。殊不知,屋外刚换的智能防盗门却伴随着夜色静悄悄地打开了……
放在床头的手机收到一条“门开了”的信息,不久屋内便进来一个晃晃悠悠地人形黑影,翠花猛然从床上跳起来,汗毛根根直立……
可是生活有时候像白水煮出来的面条,能填饱肚子却缺乏刺激,平淡又无味,原来是她应酬晚归的男朋友回来了。男朋友喝了酒,醉醺醺倒头就睡。智能电子门锁没有把男朋友锁在门外,证明他没喝到不省人事,起码记得密码。
也许生活就此归于平常,但翠花不知道的是,能进门的不止有知道门锁密码的男朋友,也可以是在赛博世界中称雄的黑客。
---
智能防盗门以其方便智能的特点迅速虏获了一大批追求生活品质的客户:不用配钥匙,输入密码即可进入家门;亲戚朋友来拜访,只需手机发送虚拟钥匙就可省去交接钥匙的烦恼;大门被暴力破坏,手机App会给户主发提醒消息……
如此便利且科技感十足的产品走俏并不是偶然,而对于万物大门皆洞开的黑客来说,黑掉一个区区电子锁并没有想象中的那么难。
想破解一把锁,首先得搞清楚开锁的原理。
对于传统的机械锁,钥匙上的每一个“凹槽”都对应着钥匙孔里弹子的固定位置,当钥匙插入钥匙孔,就会把弹子顶到固定的位置,这时拧动钥匙就可以开锁。
看图就知道并不是很难破解。
▲ 老派开锁“手艺人”必备技能
然而更奇葩的攻击思路是绕过锁本身直指最终目标。
▲ 画风清奇,守奇出正
▲ 杰克船长抢银行把整个银行搬走,路子野到极致便是“道”
那么对于融合了电子设备、甚至可以直接用手机app操纵的智能门锁呢?
要知道国内做智能门锁的很多厂家是从做普通锁转型到智能门锁行业的,物联网安全也许并不能在他们心中占据重要地位。毕竟这是一个封闭环境,不像电脑、笔记本等插网线即可联网的设备。所以防护也好,加密也罢,都还停留在能用就好的标准。
自我欺骗的结果是产生漏洞,漏洞给了入侵者可乘之机。启明星辰积极防御实验室安全专家"大菠萝"将破解智能门锁的奥秘告诉了雷锋网宅客频道。
“大菠萝”表示,
我们测试的那把门锁可以连家里的Wi-Fi,通过家里的无线路由器来控制门锁,我会介绍两种情况,一种是知道Wi-Fi密码的情况下把这把锁破解掉,另外一种就是不知道Wi-fi密码的情况下直接破解这把锁。
1.知道Wi-Fi密码的情况下
据“大菠萝”分析,他们测试的智能电子锁所有指令一共是用64个字节来完成的(并非所有的智能门锁都是64字节)。包括设备的匹配、绑定、开锁、锁门等等……因此他将这64个字节比作64“圣旨”,相当于智能锁的命门所在。同时他还发现,经过几把锁和路由间通讯的检查,64个字节里面的62个字节,针对这个厂家这个型号的所有锁都是起作用的。
另外,这把锁本身不会验证64个字节的来源,也不会验证它是否可信,是否准确,只会无条件执行。
简直就像初涉江湖的单纯马仔,大哥叫他往东绝不往西,坚决不会思考他老大是不是个路痴。
▲ 大哥,你说砍谁就砍谁
锁与路由器之间的通讯协议为UDP协议,这种协议的特性是源可以伪造,且可以任意广播,为入侵者的工作提供了极大便利。
大菠萝的做法是将与智能锁相配的App逆向出来,发现了这个程序的代码中硬编码了该厂家智能锁的密码6*****1,不仅是个弱密码,还没有做加固,所以逆向出这个程序后可以清晰的看到整个代码逻辑。
他表示一共检测了5把电子门锁,可以说有四把电子门锁的密码都写死在代码中。
后面的工作就不难了,因为知道无线密码,可以用手机连到住户的Wi-Fi,又因为它的通讯协议为UDP,可以是广播的方式,所以当锁受到Find指令时,会把自己的序列号SN(如同每辆汽车都有属于自己的车架号一样,智能锁也有专属的设备序列号。)告诉App,同时知道锁的密码是6*****1,发送数据包,把状态改成Open开锁就成功了。
他们还试过以广播方式获得桌上6把锁的SN,然后配合硬编码逐一打开,证实了门锁本身并不会考虑来源是否可信这一残酷的事实。
▲ 无敌是多么寂寞
2.不知道Wi-Fi密码的情况下
前面说到了门锁的序列号,它的作用是当户主忘带钥匙时,厂家应急处理可以通过序列号开锁。因此序列号被直接写在了锁的面板上面,只需在门外打开智能锁的盖子就可以看到。
所以从理论上讲,任何人都可以看到序列号,需要做的只是找个工具把门锁的面板打开,锁的身份信息便一览无余。这里只需要下载门锁的序列号SN,硬编码是6*****1,发送指令包,锁就可以打开。
大菠萝表示,
最恐怖的是锁的SN序列号有规律性,6把锁里面,有3把锁是连号的,我们可以看到这4位数在变。无论在哪儿,我下载完这个App,把数字从头到尾排一遍,是不是家家户户的门都开了。服务器会觉得你好有钱,各地都有房产,都能开门。
雷锋网宅客频道归纳总结一下,这把锁没有绑定手机端;设备号可预测;App本身未加固;云没有做尝试次数的阻断……这些致命漏洞也许都是由于厂家的安全意识淡薄导致。
然而树欲静而风不止,在入侵者眼中,漏洞是拿来利用的,而不是用来忽视的。也应了一位资深开锁老师傅的人生感悟——任何防盗门只防君子,没有开不了的锁,手艺人只在乎值不值。
---
听着男朋友的鼾声,翠花心满意足的踏实睡去。屋外夜色正浓,本应是锁好的防盗门安静的像幅画。突然,门把手缓缓转动,门悄悄的开了一条缝……
雷锋网注:大菠萝强调文中提及的隐患发现和研究成果均来自启明星辰adlab物联网检测团队。