请参考:蓝牙的安全与威胁(上)
我们利用用中、下两期的篇幅介绍蓝牙的威胁。在本篇,我们主要讨论一下蓝牙攻击向量,威胁种类以及部分常见的蓝牙攻击方法。
0x1 来自不同版本的威胁
类似于木桶理论,设备之间的蓝牙通信的安全性取决于最薄弱的蓝牙设备版本(即具有安全漏洞的老版本)。如今许多老设备仍在使用,其蓝牙漏洞仍然决定着整个物联网生态的安全等级。
1、蓝牙1.2之前的版本: 基于单元密钥的链接密钥都是静态的且在每个配对中被重复使用。一旦设备的单元密钥被泄露(即当第一次配对的时候),任何其他拥有该密钥的设备能够欺骗该设备或任何其他已经与该设备配对的设备。
2、蓝牙2.1+ EDR之前的版本:允许使用短PIN码。这些PIN码长度较短,容易被攻击者猜到。加密密钥流是依赖于链路密钥、EN_RAND、主设备BD_ADDR和时钟。在一个特定加密的连接中,只有主设备时钟会发生改变。如果连接持续时间超过23.3小时,时钟值将开始重复,从而产生一个与之前连接中使用的相同的密钥流。重复的密钥流是一个严重的加密漏洞,这将让攻击者确定原始明文。
3、蓝牙2.1到3.0版本: 安全模式4的设备(即v2.1或更高版本的)与不支持安全模式4(即v2.0及更早版本)的设备连接时,其被允许回退到任何其他安全模式。例如,可能会使用不提供任何安全性的安全模式1,使得版本2.1到3.0更容易受到攻击。此外,版本2.1到3.0版本中使用了SSP静态密钥,这大大增加了设备遭受中间人攻击的可能性。
4、蓝牙4.0之前的版本:支持无限数量的身份请求,攻击者能够获得许多登录申请的返回的信息。这使他们能够轻易的破解链接密钥。这是因为蓝牙BR/EDR加密所用的E0流密码算法是相对较弱的。
5、所有版本: 如果没有通过访问控制来安全地存储和保护链接密钥,密钥可能被攻击者读取或修改。加密密钥的长度太短;没有用户身份验证;可被发现/可连接的设备都会容易受到攻击。
0x2 蓝牙的攻击分类
蓝牙的威胁分类如图1所示。该表以蓝牙威胁表现出的不同类型进行分类,这个分类可以辅助确定威胁的严重程度,提供预防方案及解决策略。
分类 | 说明 | 威胁与工具集 |
伪装 | 保护攻击者的身份 | HCIConfig(隐藏设备名称) |
HCIConfig/BTclass(隐藏设备类别) | ||
BD_addr(隐藏设备地址) | ||
Spooftooph(进行设备克隆) | ||
监视 | 进行信息采集 | HCITool(发现周边设备) |
Sdptool(服务层设备扫描) | ||
Redfang(发现隐藏设备) | ||
Blueprinter(远程采集蓝牙设备指纹) | ||
BT_audit(蓝牙审计) | ||
War-Nibbling(不安全蓝牙设备扫描) | ||
Bluefish(搜索蓝牙设备) | ||
Bluescanner(搜索蓝牙设备) | ||
增强范围 | 信号放大 | Bluetooone(图2) |
嗅探 | 蓝牙通信抓包 | BlueSniff |
HCIDump(HCI数据分析) | ||
Ubertooth | ||
中间人攻击 | 伪造身份信息管道端的数据篡改与抓取。 | Bthidproxy(蓝牙中间人分析工具) |
Snarf攻击 | 未认证的攻击 | Bluesnarfer |
Blooover | ||
BTCrack(Pin码破解工具) | ||
Carwhisperer(无屏幕蓝牙设备测试工具) | ||
Helomoto | ||
Bluebugger(蓝牙漏洞测试) | ||
HID attack(人机接口设备攻击) | ||
Btaptap(蓝牙键盘嗅探) | ||
拒绝服务 | 进行拒绝服务攻击 | BlueSmack(L2CAP协议攻击) |
BlueJacking(匿名名片发送) | ||
Smurf(ICMP请求攻击) | ||
信号攻击 | ||
PingBlender(Syn洪水攻击) | ||
电池耗尽攻击 | ||
漏洞攻击 | 通过代码逻辑及安全漏洞进行入侵 | Bluebag (图3)(背包客攻击蓝牙) |
Caribe病毒 | ||
Blueborne 漏洞 | ||
CVE-2020-0022 | ||
模糊测试 | 通过注入随机数据来触发安全bug | BSS(Bluetooth Stack Smasher 蓝牙协议栈模糊测试) |
HCIDUMP(HCI数据分析) | ||
L2cap 模糊测试 |
图表1
图表 2 Bluetooone
图表 3 BlueBag
0x3 常见的蓝牙威胁
我们一共整理了22种蓝牙攻击的方式,会在本期及接下来的下集中分别介绍给大家。
MAC欺骗攻击
MAC欺骗攻击是在链路密钥生成时的Piconet(微微网)形成过程中操作的。设备能够通过生成链接密钥对彼此进行身份验证。在攻击过程中,攻击者可以模仿其他用户的MAC信息,还能够使用特殊工具终止他人连接或嗅探、修改数据。图4演示了MAC欺骗攻击的主要过程。
图表 4 MAC欺骗攻击
PIN码破解
攻击发生在设备配对和身份验证过程中。攻击者使用信道工具(uber tooth)收集目标设备的RAND和BD_ADDR。然后使用E22算法暴力测试所有PIN排列并且与之前收集到的数据对比,直到找到正确的PIN。图5说明了PIN攻击的主要过程。
图表 5 PIN码暴力破解
未完待遇
作者:李泉 转发请注明。