去年这个时候,国外安全厂商Armis公布了8个蓝牙漏洞,可让黑客无视蓝牙版本完全控制设备和数据。Armis将这一组漏洞合为名叫“BlueBorne”的攻击媒介。当时,BlueBorne的杀伤范围几乎涵盖所有具备蓝牙功能的Android、Linux、Windows和iOS设备。自从漏洞披露之后,各大厂商一直在稳步推送相关更新。但根据Armis的估算,仍有超过20亿的设备仍然暴露在风险之中,它们没有进行更新,或者压根就接收不到更新补丁。
让我们回顾一下BlueBorne并了解一下现状。
什么是BlueBorne?
BlueBorne是去年九月Armis实验室发布的一组由蓝牙漏洞组成的攻击媒介名称,危及支持蓝牙功能的移动、桌面和物联网操作系统,包括Android、iOS、Windows和Linux等设备,包含以下8个漏洞:
Linux内核RCE漏洞 – CVE-2017-1000251
Linux蓝牙堆栈(BlueZ)信息泄漏漏洞 – CVE-2017-1000250
Android信息漏洞漏洞 – CVE-2017-0785
Android RCE漏洞#1 – CVE-2017-0781
Android RCE漏洞#2 – CVE-2017-0782
Android Bluetooth Pineapple逻辑缺陷-CVE-2017-0783
Windows Bluetooth Pineapple逻辑缺陷-CVE-2017-8628
Apple低功耗音频协议RCE漏洞 – CVE-2017-14315
凭借这些漏洞,黑客能够通过无线方式利用蓝牙协议攻击和控制设备、访问数据和网络,甚至渗透到某些安全的物理隔离网络,并在设备间传播恶意软件。 期间攻击者无需与目标设备进行配对,并且目标设备没有设置为可发现模式也不在话下,这一点就厉害了。
BlueBorne有多危险?
BlueBorne无需物理链路,只要无线信号即可投入攻击,就像感冒病毒一样,BlueBorne通过空气从一个设备“传染到”另一个设备。它瞄准了目前网络防御中极度薄弱的地方,可能也是没有针对性安全措施保护的地方。由于蓝牙进程在所有操作系统上都具有高权限,因此利用它可以实现对设备的完全控制。
对黑客来说,这样的特性揉合在一起就像一个大礼包一样,适用面相当广泛,比如说网络间谍、数据盗窃、勒索、甚至构建由多种类型设备组成的超大规模僵尸网络。此外,BlueBorne可入侵与互联网等网络进行物理隔离的系统和设备,光这一点大部分攻击手段都难望其项背。
举个例子,黑客可以使用Blueborne实现远程代码执行或中间人攻击:
与传统的恶意软件攻击不同,用户无需单击链接或下载可疑文件,启动攻击无需诱骗用户采取任何操作。
通过空气传播使得攻击更具传染性,并且难以发现。
物理隔离的工业系统、政府机构和关键基础设施面临极高的风险。
现状如何?
数十亿设备仍处在威胁之中
当ARMIS公布了BlueBorne后,许多供应商都发布了针对这些缺陷的补丁和软件更新。但是据Armis估算,至少有20亿台设备的漏洞没有得到修复。包括:
运行Linux的7.68亿台设备
运行Android 5.1(Lollipop)和更早版本的7.34亿台设备
运行Android 6(Marshmallow)和更早版本的2.61亿台设备
运行受影响的的Windows版本的2亿台设备
运行iOS 9.3.5及更早版本的5000万台设备
这些设备有些未修复,而有些不可修复,范围涵盖服务器、可穿戴设备、工业设备到医疗设备等。按照Armis的说法,其中很大一部分原因是企业不知道内部有多少支持蓝牙功能的设备。因此在进行商业活动是,无论是员工和访客处于漏洞未修复的环境中时都会面临重大风险。
补丁仍然需要花费大量时间进行部署
在发现漏洞和威胁时,厂商可能需要数周、数月甚至更长时间才能部署更新。去年四月Armis就通知了受影响的供应商,五个月后才披露了BlueBorne。让我们来看一下BlueBorne披露时间表和厂商推送最终用户补丁的时间节点。
2017年9月12日:Armis与Google、Linux和Microsoft就BlueBorne进行了首次公开披露。
当月,谷歌向合作伙伴发布补丁,Linux发布补丁信息,微软向所有受影响的Windows设备推送补丁;
2017年10月3日:21天后,Verizon向旗下发售的收集推送了补丁;
2017年10月8日:华为发布安全建议并更新有关受影响设备的信息;
2017年10月10日:Verizon推送了第二波补丁;
2017年10月13日:AT&T推送了Nexus 6和LG V10的更新;
2017年10月30日:AT&T的第二波更新补丁到达特定用户的设备;
2018年1月8日:Verizon推送第三波补丁;
2018年6月7日:联想为一些老款安卓平板电脑升级固件以修复漏洞。
同时,iOS 10及更高版本不受BlueBorne的影响,但以前的版本受到影响并且仍未修补。
2017年年11月14日:第二次公开BlueBorne披露
Armis对BlueBorne漏洞做了第二次公开披露,这次影响了1500万台Amazon Echo和500万台Google Home设备。亚马逊和谷歌自动将补丁推送到Echo和Google Home设备。
短短几个月就可以看到许多供应商的努力和进步,Amazon和Google改进了系统的更新机制,比如Google的Project Treble项目实现了Android操作系统的模块化,使得供应商能够更轻松、更快地向最终用户推送关键安全更新。
但是,大量设备仍然难以及时得到更新,原因包括以下三点:
并非所有Android设备都支持Project Treble,必须要通过厂商自己的方式进行更新。
目前仍在使用的设备中有些已经被淘汰了,或者是不再得到支持(包括2.09亿台的iOS设备),根本无法接收更新。
运行的Linux的设备(如医疗设备和工业设备)很难或无法打补丁。
正如下图所示,像BlueBorne这样的漏洞需要很长的时间才会消亡。特别是安卓和Linux设备的曲线拖了很长的尾巴:
蓝牙漏洞仍层出不穷
Wi-Fi协议(802.11)只有450页,而蓝牙标准居然有了2822页。蓝牙协议太复杂了,协议堆栈层中定义了太多特定应用和功能。过度复杂的直接结果是蓝牙标准漏洞频出。
关于蓝牙漏洞,实际上最可怕的事情还不是它能做什么,而是还有多少蓝牙漏洞我们未能先于网络犯罪分子发现和披露。BlueBorne唤醒了业界对于蓝牙漏洞和攻击方式的研究,下图反应了自BlueBorne披露以来,其他蓝牙漏洞的发现数量:
2018年2月 – 研究人员在iOS、watchOS和tvOS中披露了一个蓝牙漏洞,该漏洞可以允许沙箱内的进程与沙箱外的其他进程通信。
2018年3月 – 研究人员公布了五个Android蓝牙远程代码执行漏洞(CVE-2017-13160、CVE-2017-13255、CVE-2017-13256、CVE-2017-13272、CVE -2017-13266)。Android 8.1修复了这些漏洞,但运行Android 7.0或更早版本的设备仍无防范之力,而这些设备的数量有13亿之巨。
2018年5月 – 腾讯的研究人员披露了BMW ConnectedDrive中的蓝牙漏洞。
2018年7月 – 以色列研究人员发现可不要求设备验证在安全配对期间通过无线方式接收的公共加密密钥。该漏洞影响主要供应商(包括苹果、博通、英特尔和高通 )的固件或操作系统。
结语
在企业中,非受管和物联网设备的使用数量呈指数级增长,企业的连通性和生产力也实现了质的飞跃,因此也成了新的攻击对象。网络犯罪分子越来越关注利用漏洞攻击这些设备的方式,蓝牙算是一个大头。由于蓝牙设备的数量非常庞大,而且针对性的攻击可以通过无线方式实现并且在设备之间传播,对于任何组织或个人来说都是需要正视威胁。现有安全产品中的绝大部分只能检测和阻止通过互联网进行的攻击,端点保护、移动设备管理、防火墙和其他网络安全产品等无法阻止像BlueBorne这样的无线攻击。