ang010ela 漏洞 2019年8月16日发布
收藏
漏洞概述
CVE-2019-9506漏洞,也称为KNOB漏洞,是加密密钥协商协议(encryption key negotiation protocol)中存在的漏洞,两个蓝牙BR/EDR设备在配对进行安全连接时可以选择一个熵值作为加密密钥。该漏洞影响超过10万启用蓝牙的设备,包括智能手机、笔记本电脑、物联网设备和工业设备等。攻击者利用该漏洞可以对两个设备之间传输的数据进行监听。
该漏洞可以让远程攻击者以较近的距离来对目标设备进行拦截、监控、操作两个配对设备之间的加密蓝牙流量。
蓝牙BR/EDR (Basic Rate/Enhanced Data Rate)是一个无线技术标准,用于短距离持续无线连接,比如将音频流从电脑传到耳机。
从安全的角度来看,蓝牙BR/EDR协议的核心说明文档中支持熵为1到16字节/八位组的加密密钥,其中熵值越大表示越安全。
研究任意分析发现,熵协商的过程使用的是LMP协议(Link Manager Protocol),该协议既不加密也不进行认证,因此可以通过OTA的方式进行劫持或操作。
蓝牙BR/EDR密钥协商漏洞工作原理
该漏洞允许攻击者远程攻击者对两个目标设备进行欺骗使其同意将加密密钥的熵值设定为1字节,这样就可以很容易地对协商的加密密钥进行暴力破解。
假设A和B尝试建立连接。在认证了link key后,A提出它和B使用16字节的熵,其中数字N的范围在1到16之间。B可以接收或拒绝该数值,也可以中止协商或提出更小的值。
B可能希望提出更小的N值,因为它可能不支持A提出的比较大的N值。A接收并请求激活与B之间的链路加密,B接收。
通过利用该漏洞,第三方C可以拦截A对B的请求,并修改N的值来使A和B使用较小的N值。解密后,攻击者就可以获取通过蓝牙流量传输的加密消息,解密密文,并注入有效的密文,整个过程是实时和静默的。
另外,攻击是非常复杂的,如果要成功实现攻击,还需要:
· 蓝牙设备建立BR/EDR连接;
· 蓝牙设备必须存在该漏洞;
· 攻击者能够拦截设备配对时的直传流量;
· 攻击必须在配对设备连接协商或重协商的过程中执行;
· 现有session不能被攻击。
Bluetooth.com发布的官方公告称,因为所有的蓝牙规范都强制执行一个最小的加密密钥长度,因此一些厂商开发的蓝牙产品BE/EDR连接中使用的加密密钥长度可能会被攻击者降级为1个字节。
受影响的厂商、软件、操作系统
该漏洞是新加坡科技设计大学SUTD研究人员Daniele Antonioli、CISPA的Nils Ole Tippenhauer和牛津大学的Kasper Rasmussen一同发现的。研究人员对来自Intel, Broadcom, Apple, Qualcomm等厂商的14款蓝牙芯片进行了KNOB攻击,除苹果W1芯片接收最小7字节的熵值外,其他芯片都接收1字节的熵。
受影响的产品包括:
目前,部分厂商已经发布了安全更新,包括:
Microsoft for Windows
Cisco for IP Phones and Webex
Google for Android
Apple for macOS, iOS, and watchOS
补丁
微软目前以及发布了题为CVE-2019-9506 | Encryption Key Negotiation of Bluetooth Vulnerability的更新公告,通过强制将最小密钥长度设置为7来确保密钥协商过程不影响加密。但该解决方案并不是默认启用的,一旦启用,Windows将会拦截不满足设置的最小key大小的蓝牙设备连接请求。
安装更新后,需要添加EnableMinimumEncryptionKeySize 值到HKLM\System\CurrentControlSet\Policies\Hardware\Bluetooth key中,并设置为1才可以启用该特征。然后将关掉蓝牙,禁用,然后再设备管理器中启用蓝夜设备,并打开蓝牙开关。如果要禁用该特征,只需将EnableMinimumEncryptionKeySize设为 0即可。
研究人员关于该攻击的文章已发表在UseNIX 19,参见https://www.usenix.org/system/files/sec19-antonioli.pdf