说起USB,想必有很多人都还记得2014年爆出的BadUSB重大安全漏洞,黑客利用这个bug往设备上传输恶意软件,还不会被发现,导致所有USB设备都非常危险。BadUSB最可怕的一点是恶意代码存在于U盘的固件中,由于PC上的杀毒软件无法访问到U盘存放固件的区域,因此也就意味着杀毒软件和U盘格式化都无法应对BadUSB进行攻击,只能通过硬件层面进行固件更新的方式来解决。
01
USB设备安全漏洞确实多,查缺补漏一直在进行
同在2014年,还爆出的WireLurker蠕虫病毒,感染病毒的电脑系统会通过USB接口去间接感染iOS设备,即使是未越狱的设备也无法避免;甚至有电子香烟通过USB传播恶意软件到PC;后来还出现了充电宝盗取手机隐私的案例。这一切都是因为USB协议的安全隐患。
现在的USB设备很多,音视频设备、摄像头等提供的USB接口,因为要提供最大的兼容性,很可能是免驱设置,也就是说一个USB设备具有多个输入输出设备的特征。这样就很容易被利用,被重写U盘固件,伪装成一个USB键盘,并通过虚拟键盘输入集成到U盘固件中的指令和代码而进行攻击,导致数据毁坏或者泄露。
在当时的USB漏洞爆出之后,不少安全中心采取了从硬件层面来进行改进。比如360无线安全研究团队的SecUSB,还有腾讯安全应急响应中心的SecLine。原理都是将USB中的两根数据线去掉,减少攻击。同时,也提醒用户不要使用不受信任的USB设备,以免感染未知病毒。
尽管遇到了这样那样的问题,大家对USB的使用场景仍然很多。毕竟对于传输数据而言,USB接口真的很方便。近年来主板提供的USB接口也越来越多,从USB2.0到USB3.1,再到雷电3接口,匹配不同接口速度的USB设备也越来越多,这难道是因为现在USB设备已经很安全了吗?很明显不是这样的。
近日,普渡大学的HuiPeng、瑞士联邦理工学院洛桑分校的MathiasPayer所带领的研究团队,通过一个由他们创建的新工具USBFuzz发现了不同平台上的26个新USB安全漏洞。
USBFuzz工具是一种专门用于测试现代操作系统的USB驱动堆栈的新型模糊器,由多款应用程序的集合,能够帮助安全研究人员将大量无效、意外或者随机数据输入其他应用程序。之后,安全研究人员分析被测试软件的行为方式,以发现新的bug,其中一些可能被恶意利用。
在研究结果中,Linux系统成为USB安全漏洞重灾区。研究团队在Linux内核的9个最新版本:v4.14.81、v4.15、v4.16、v4.17、v4.18.19、v4.19、v4.19、v4.19.1、v4.19.2和v4.20-rc2(评估时的最新版本);FreeBSD12(最新版本)、MacOS10.15Catalina(最新版本)以及Windows(8和10版本,并安装了最新的安全更新)平台上,测试了USBFuzz。
通过测试研究团队总共发现了26个新漏洞:在MacOS中发现了三个,其中两个导致计划外重启,一个导致系统冻结;在Windows8和Windows10中发现了四个都会导致蓝屏的漏洞。而Linux系统的USB漏洞更是达到了18个之多,其中16个是针对Linux各个子系统的高危内存漏洞,此外还有1个是针对Linux的USB,如今已经有11个bug收到了补丁。
02
USB设备肯定要用,安全正确的用法很重要
看到这么多USB安全漏洞,那我们就不用USB设备了吗?那肯定不可能,毕竟目前USB设备在我们的工作学习中用处是非常多的。所以我们只能尽可能地规避风险,正确且安全使用USB设备。从这次研究团队发现的漏洞来看,USB设备导致蓝屏的情况一定是很多人都遇到过的。网上一搜,USB键盘鼠标导致电脑蓝屏的不在少数,U盘导致蓝屏或者无法识别的情况也很多。
从网友的回答中,总结出几个解决方案:
1、重新下载对应的USB驱动
2、如果是遇到病毒感染导致的,则建议大家不要再使用这款USB设备,以免感染所有接触到此产品的其他主机设备。
3、谨慎设置电脑或者手机的USB调试控制。
其实,在文章前面也已经提到了,这些USB安全漏洞想从USB协议应用层面来彻底解决的话,暂时还没能找到最为理想的方案,但是我们可以从硬件角度、使用限制的角度出发来尽量避免USB设备的数据丢失或者引起的其他主机问题。
相信大家最为常见的USB设备就是U盘、移动硬盘,而这类存储设备也是最容易感染病毒并携带病毒的。所以,自己的存储盘不要经常在公共场所的打印机、电脑上使用,这些可能都是不受信任的设备。在插拔的问题上,如今大多数U盘都已经支持热插拔,还是建议大家选择安全弹出USB的方式来退出U盘,避免文件受到损害。
如果遇到提示弹出USB大容量存储设备时出问题时,就说明这款U盘中有一些写入步骤正在进行中,可以等待所有数据操作完毕之后再拔出U盘。毕竟这个办法是确保磁盘安全移除的唯一办法。
除了U盘,我们使用频率高的就是USB数据线了。别小看这根数据线,很可能会导致你的手机数据全部丢失。有的数据线仅支持充电功能,而有的数据线支持数据传输,所以,当你用数据线连接手机和电脑的时候,一定要在手机里谨慎选择USB调试功能是否开启。
安卓设备会弹出是否允许调试
苹果设备会提示你是否信任该设备
如果是USB连接鼠标或者键盘甚至是打印机的时候,尽可能保证在关机的情况下进行,而不是在开机时连接。驱动程序版本错误、静电等等情况,都会导致你在插入USB接口时断电甚至是烧毁主机(别以为这是吓唬你的,编辑办公室里已经发生两次USB数据线烧毁主机的情况了)。
不仅仅是前面提到的USB设备,还要网络摄像机、相机等等,现在都通过USB接口与其他设备相连。在消费者并不知道这款设备是否存在安全漏洞的情况下,也不必过于忧心。我们可能用到的USB设备实在太多,除了建议大家时常备份USB设备的重要数据之外,还应该正确使用USB设备,采用最安全的办法插拔设备。
如果你遇到了不仅仅文中提到的USB设备导致的问题,欢迎在留言里分享你的解决方案,帮助更多的人有效规避这些安全风险。