导语:据报道,Linux内核包含的USB驱动程序存在着安全漏洞,在某些情况下可以利用这些漏洞运行一些不可信的代码并接管受害者的计算机。
据报道,Linux内核包含的USB驱动程序存在着安全漏洞,在某些情况下可以利用这些漏洞运行一些不可信的代码并接管受害者的计算机。
Google安全专家Andrey Konovalov 在Linux内核USB子系统中发现了14个漏洞,其中大部分是简单的 DOS 漏洞。所有这些都可以通过制造恶意USB设备来触发,因此需要尽可能的阻止攻击者通过物理方式访问机器。
Konovalov发现79个Linux USB相关的bug
实际上,这14个漏洞是Konovalov在Linux内核USB驱动程序中发现的79个漏洞列表中的一部分。然而,并非所有漏洞都有报告,所以就更不用说关于修补的部分了。
虽然这些大多数都是简单的DoS(拒绝服务)错误,可能只会冻结或重新启动操作系统,但仍然有些会允许攻击者提升权限并执行恶意代码。
Konovalov所发现的漏洞都是通过使用syzkaller来实现的,这个工具是由Google开发,并通过fuzzing技术来发现安全漏洞。
POTUS项目也发现了Linux USB驱动程序的缺陷
Konovalov对Linux内核USB驱动程序的痴迷程度不是一时半会能说清的。今年早些时候,伦敦大学的安全研究人员介绍了POTUS,这是一种可以发现Linux USB设备驱动程序漏洞的工具。该工具通过设置虚拟机,通用USB设备以及故障注入,发送模糊符号等技术来测试USB驱动程序继而查找错误。
研究人员通过POTUS测试USB驱动程序发现了两个Linux内核漏洞。一个是CVE-2016-5400,USB设备驱动程序中用于与Airspy软件定义无线电(SDR)通信的内存泄漏漏洞,而另一个是自2003年以来已存在的 Linux内核的乐高USB塔驱动器使用后释放漏洞(无CVE标识符)。
一篇名为“ POTUS:利用符号故障注入探测现有USB驱动程序 ”的研究论文赢得了夏季USENIX WOOT 2017安全会议的最佳论文奖。
大多数Linux USB驱动程序没有正确审计
研究人员表示,由于很多设备都有 USB 端口,导致 Linux 内核必须支持多种 USB 驱动器,而很多驱动器都没有经过全面测试和合规审核,因此容易出问题。
过去的研究一直都曾试图提醒大众注意不断扩大的安全漏洞,但收效甚微。像POTUS和syzkaller这样的工具其实已经帮助人们发现并修复了一些漏洞。即使是Linux的创始人 – Linus Torvalds最近也赞扬它们发现的各种安全问题。
就目前来看,Linux内核USB子系统需要更多的加强对邪恶的女仆USB攻击。即使其中一些漏洞需要物理访问,其中一些也可以在低特权用户帐户上运行,因此物理访问是唯一真正的要求。
通过USB来利用漏洞的需求很高,因为它们可以用来破解与公共互联网或其他内部网络隔离的计算机系统。USB是数据传入和传出空隙系统的唯一方式。攻击者可以将USB拇指驱动器插入Linux空隙系统,运行漏洞检测代码,如果POTUS和Kovanolov的某些漏洞未被修复,则可以从这些网络中窃取数据。