在计算机中,硬件是软件的基础。而驱动就起着让操作系统认识硬件组件和与之交互的作用。驱动代码可以让操作系统内核和硬件进行通信,比普通用户和系统管理员的权限要更高一些。
因此,驱动中的漏洞是一个非常严重的问题,因为一旦被恶意攻击者利用,就可以可以访问kernel,并获取操作系统的最高权限。
因为驱动也被用来更新硬件固件,因此可以到达更底层的组件,并修改其工作的方式,甚至使其变砖。
比如,BIOS和UEFI固件都是低级的软件但是都是在操作系统启动之前启动的。在这些固件中植入恶意软件的话,大多数安全解决方案都是无法检测和移除的,甚至重装系统也无法移除。
驱动是不安全
Eclypsium安全研究人员研究发现,有超过20个厂商的40个驱动中存在安全漏洞,攻击者可以滥用这些漏洞实现从用户空间(user space)到kernel的权限提升。
受影响的厂商包括BIOS厂商、计算机硬件厂商等,具体有:
恶意攻击者利用这些漏洞可以让驱动成为对硬件资源进行高权限访问的代理,如对处理器和芯片组I/O空间、Model Specific Registers (MSR), Control Registers (CR), Debug Registers (DR)、物理内存和kernel虚拟内存进行读写访问。
从kernel中,攻击者可以移动到固件和硬件接口,允许其绕过安全产品的检测来攻击主机。
在Windows中安装驱动需要管理员权限,并需要来自经过微软认证的可信方。代码需要由可信的CA机构进行签名来证明其真实性。如果没有签名,Windows就会对用户发出告警。
Eclypsium研究人员主要研究的是Windows认可的含有有效签名的合法驱动。这些驱动并非恶意的,只是含有可能会被恶意程序滥用的漏洞。而且,这些驱动影响所有Windows的主流版本,包括windows 10。而且目前还没有通用的解决方案能够防止Windows机器加载已知的恶意驱动文件。
研究人员分析发现这些有漏洞的驱动中包括网络适配器的、硬件驱动的、与图形卡进行交互的等等。
风险分析
在这些组件中植入恶意软件可以读写甚至重定向存储、显示、发送到网络的数据。而且组件可以被禁用,引发系统中的DOS条件。
利用有漏洞的驱动发起攻击并不是理论上的,这种方式已经被一些黑客应用于网络监控活动中的。Slingshot APT组织就使用有漏洞的驱动文件来在受感染的计算机上进行权限提升,APT 28的Lojax rootkit也是通过签名的驱动来进入UEFI固件中。
攻击场景不限于已经安装了有漏洞的驱动的系统中。攻击者还可以将他们加入系统中进行权限提升或驻留等目的。
研究人员建议用户定期扫描过期的系统和组件固件,从驱动厂商处下载最新的驱动补丁来修复部分漏洞。
领取专属 10元无门槛券
私享最新 技术干货