新安卓系统漏洞:仅需目标设备蓝牙MAC地址即可发起RCE攻击
近日,insinuator发布简报称其发现了一个安卓系统蓝牙漏洞。
在2019年11月3日,位于德国海德堡的IT安全公司ERNW发现并报告了一个严重漏洞,称影响了Android蓝牙子系统。漏洞名叫BlueFrag
此漏洞已分配编号为CVE-2020-0022,现已在2020年2月之后的最新安卓安全补丁中进行了修补。注意是最新的Android版本。
具体修改的代码如下所示,红字为删除,蓝字为新增,看样子是修改了数据包相关的代码。(代码可复制),一般安卓的开源性,估计很快就有大佬公开POC了。
diff --git a/hci/src/packet_fragmenter.cc b/hci/src/packet_fragmenter.cc index 5036ed5..143fc23 100644 --- a/hci/src/packet_fragmenter.cc +++ b/hci/src/packet_fragmenter.cc
@@ -221,7 +221,8 @@
"%s got packet which would exceed expected length of %d. "
"Truncating.",
__func__, partial_packet->len);
- packet->len = partial_packet->len - partial_packet->offset;
+ packet->len =
+ (partial_packet->len - partial_packet->offset) + packet->offset;
projected_offset = partial_packet->len;
}
安全影响如下:
在Android 8.0到9.0版本上,只要启用了蓝牙,附近的远程攻击者就可以使用具有高权限的蓝牙守护程序,从而以静默方式执行任意代码。
全程无需用户交互,仅需知道目标设备的蓝牙MAC地址即可。
对于某些设备,可以从WiFi MAC地址推断出蓝牙MAC地址。
此漏洞可能导致个人数据被盗,并且有可能被用来传播恶意软件(短距离蠕虫)。
Short-Distance Worm概念不明,大概是指靠近人进行蠕虫传播的意思。
而在Android 10上,由于技术原因无法利用此漏洞,只会导致Bluetooth守护程序崩溃。
甚至早于8.0的Android版本也可能会受到影响,但发现者尚未评估这种影响。
强烈建议用户从2020年2月开始安装最新的安全补丁。如果您还没有可用的补丁或设备不再受支持,则可以尝试通过一些通用行为规则来减轻影响:
比如,仅在绝对必要时启用蓝牙。请记住,大多数蓝牙耳机也支持有线模拟音频。
保持设备不可发现。仅当您进入蓝牙扫描菜单时,才能发现大多数内容。但是,某些较旧的手机可能会永久被发现。
一旦ERNW确信用户已经修补相关补丁,他们将发布有关此漏洞的技术细节报告,包括对该漏洞的描述以及POC代码。
谷歌也评估了,其可以造成远程代码执行,还有拒绝服务攻击,也就是导致程序崩溃
Android的安全补丁链接,其中一句话解决问题,检查并更新您的Android版本,没办法了:
https://source.android.com/security/bulletin/2020-02-01.html
因此,升级到Android 10吧。
当然,隔空获取目标的蓝牙MAC地址是一件比较困难的事情,你也可以不用太担心,平常注意使用习惯,不取随意用蓝牙连接未知来源的设备。
其实,一些厂商的应用会去收集用户的这些信息,如果对应上,制成数据库,这个对于QB人员来说是个利器。
但如果一个人从某些途径获取到了Mac地址,然后在你开蓝牙听歌的时候,跟踪着你,植入恶意代码的场景。
还是有点可怕的。