[翻译]电子安全锁分析:第二部分
电子安全锁分析:第二部分
译者:Green奇
原文http://www.somersetrecon.com/blog/2016/10/14/electronic-safe-lock-analysis-part-2-
原文
附:第一部分译文http://bbs.pediy.com/showthread.php?t=215076(译者:山有木)
介绍/概述
查看完整白皮书:https://static1.squarespace.com/static/543effd8e4b095fba39dfe59/t/584f572a2994ca1083f4aba3/1481594669596/BluetoothAttacksonHighSecurityElectronicLocksWhitepaper.pdf
上一部分我们讨论了一种商用的低功耗蓝牙(BLE,Bluetooth Low Energy )电子锁:SecuRam Prologic B01。通过对它的拆解,我们了解了它的功能和易受攻击的地方。之后我们主要分析了它的BLE无线通信功能。Prologic B01主要的特点,就是一个移动的Android或IOS设备可以利用蓝牙对其解锁。最后结果是我们实现了一个全自动远程攻击,即可以将100码距离以内的任何Prologic B01解锁。我们已经向SecuRam提交了这个漏洞,但是因为这些设备不支持OTA(Over-the-Air)固件更新,所以看起来漏洞并不会被修补。因此,我们提醒所有正在用或准备用该设备的用户,不要再使用这个锁了。
发现漏洞
用来控制Prologic B01的安卓版移动应用没有任何反逆向的保护。这让我们很容易的逆向出该移动应用的代码,从而找到了通信协议中的漏洞。在移动设备和Prologic B01之间传输的BLE数据没有加密,让我们可以嗅探到传输明文的流量。而且Prologic B01和配对的移动设备之间缺少安全的信道,这意味着任何安装着“SecuRam Access”应用的移动设备都可以与Prologic B01通信。所以,缺少加密和适当的密钥管理导致了一个全自动的远程攻击。
攻击模型
因为Prologic B01有一个独特的广告签名,所以可以很容易的用日常的蓝牙设备和软件无线电来破坏它的安全。这些特征可以让攻击者进行“战争驾驶”。换句话说,这可以让攻击者驾着车搜索遍整个地区并找到所有保险箱的位置。

图一:在“战争驾驶”中使用Wireshark嗅探蓝牙流量
因为BLE流量是用明文传输的,命令包可以被解码。图二是一个被捕获的解锁命令包。其中包含了接受者(粉色)和发送者(青色)的MAC地址后四位。PIN(绿色)被解析成了Long类型并反序发送,如上图所示。最后包含开始时间(蓝色),用来指定锁需要保持开放多少秒。

图二:蓝牙应用程序负载,包含接受者的MAC地址(粉色)、发送者的MAC地址(青色)、PIN(绿色)和开放时间(蓝色)。

图三:十六进制格式的PIN
这个攻击之所以强大,就在于它是自动的。攻击者可以把BLE扫描设备放在被发现的Prologic B01保险箱附近的区域。扫描设备会持续扫描不知情的受害者,让他们用自己的移动设备连接自己的保险箱。然后立即嗅探到BLE流量,对其解码,将解锁的PIN发回给在安全区域的攻击者。

我们在攻击的时候使用了Texas Instruments(德州仪器) CC2540和BLE嗅探软件来捕获特定目标的BLE流量。然后将数据传送到一个用来过滤解锁命令包和提取PIN的Python设备。
给用户的建议
对无线电子锁的规范少而模糊,这让用户很难判断某个产品是否可信。因为Prologic B01的数据表中没有明确写出其无线安全功能的细节,对这个信息的忽略让用户感到困惑,特别是这个锁是被定义为足够安全去保护保险箱。用户最好的办法就是避免使用无线电子锁,直到制定出被证实的安全标准,因为有太多的未知因素需要考虑。
给物联网公司、工程师和开发人员的建议
如果你正在开发一个无线电子锁,加入安全功能是值得投资的。Prologic B01最大的败笔就是它没有对其任何无线流量进行加密。如果存在强壮的加密方案,就可以防止攻击者嗅探流量并得到明文数据。这可以通过在链路层或应用层上使用预共享密钥来实现。强加密、加密完整性、身份认证和强密钥管理,都可以有效的防止攻击者,都应该被用来加强无线电子锁的安全。
结论/重点
无线电子锁是当今物理安全网的前沿,创造无线电子锁已经在工业中推行。作为一个新兴产业,由于缺乏监管和标准,导致这些设备不够安全。不安全的现象广泛存在于住宅级的无线电子锁中。然而,我们的研究发现商业级的电子锁也存在着同样的漏洞。
