现在蓝牙低功耗被认为是“智能”蓝牙,但其实大多数安全智能技术都不是那么智能或者很容易被规避,特别是通过2016年黑帽大会上发布的新软件代理工具。
波兰咨询公司SecuRing安全研究人员Slawomir Jasek在黑帽大会上指出他对10台蓝牙LE(技术上称为Bluetooth Smart,但通常被称为BLE)设备进行了检查,以查看它们是否使用了最新版蓝牙中内置的安全功能,结果只有两台设备在短距离无线协议中使用了蓝牙LE安全功能。其他设备都试图在其特定应用中创建自己的安全控制。
问题在于,这些自己创建的安全控制很容易被经典的中间人攻击所破坏。Jase指出,产品设计师希望为消费者提供无缝的用户体验,而这通常会导致未经授权配对以及不使用蓝牙LE安全功能来加密会话等问题。
控制通信
为了在智能手机和蓝牙LE设备之间的通信中插入恶意设备,攻击者面临的问题是,目标设备将会宣传其服务,而没有办法隔离信号以让用户的智能手机不会接收。Jasek问道:“你如何确保智能手机连接到你,而不是原始设备?”
这其实相当简单。由于原始设备会定期公布其可用性,攻击设备可在更短的间隔宣传其可用性,极大地提高智能手机找到攻击设备的可能性。更便利的方法是,当你连接到一台设备时,它并不会宣传其可用性,这意味着这台原始设备可有效地从电波中消失。
第一个模块连接到原始设备,扫描进行克隆并保持与设备的连接,第二个模块会宣传假冒的服务,而第三个模块会处理目标设备和真实服务之间传输数据的拦截和操纵。这种开源和免费代理被称为GATTack,因为该应用会查询目标设备的GATT(通用属性配置文件)。Jasek指出这并不需要复杂的硬件;他的测试是在Raspberry Pi上运行。
在gattack.io网站的标志让人想起Heartbleed漏洞的标志。
破坏捆绑
从理论上来看,这种中间人攻击的方法只能发生在内置蓝牙LE安全选项被忽略或者使用不当时。而且,所谓的“捆绑”连接应该意味着两个先前配对的设备已经交换密钥用于未来通信,除非使用该密钥,否则这两台设备都不应该允许通过MAC地址匹配的设备。然而,克隆目标系统的攻击设备只能请求重新建立捆绑,而大多数用户会简单地接受这个请求,因为这是他们熟悉的设备。
我们有方法来防范这种攻击,但从Jasek的演示来看,大多数部署很容易允许拒绝服务攻击。虽然人们可能会认为DoS攻击很容易,因为这是无线电服务,但事实是蓝牙LE旨在克服无线电系统在短距离低功耗情况中遇到的各种形式的干扰。
一位不愿意透露姓名的全球娱乐公司员工表示她正负责为IoT设备开发嵌入式应用,“现在其实还没有任何真正针对蓝牙的攻击,但这让我们看到更多漏洞。”
Dick's Sporting Goods公司高级信息安全架构师Kevin Gennuso称,零售企业现在都在积极部署信标,并总是试图评估这些设备的安全性,“现在我们知道它们其实也不是特别安全。”