僵尸垃圾软件:Windows平台二进制表的工作原理

当时几乎没有人注意到,但微软在Windows 8中增加了一项新功能,允许制造商用垃圾软件感染UEFI固件,即使你执行了干净安装,Windows也会继续安装和复活这个垃圾软件。

这一功能在Windows10上仍然存在,这绝对是令人费解的,为什么微软会给个人电脑制造商如此大的权力。它突显了从微软商店购买PC的重要性-即使执行干净安装也可能无法消除所有预先安装的膨胀软件。

WPBT 101

从Windows8开始,PC制造商可以在PC的UEFI固件中嵌入程序-本质上是Windows.exe文件。它存储在UEFI固件的“Windows平台二进制表”(WPBT)部分。每当Windows启动时,它都会查看此程序的UEFI固件,将其从固件驱动器复制到操作系统驱动器,然后运行它。Windows本身无法阻止这种情况的发生。如果制造商的UEFI固件提供了它,Windows将毫无疑问地运行它。

联想的伦敦证交所及其安全漏洞

相关:如何向计算机制造商支付让您的笔记本电脑变得更糟的费用

在写到这个有问题的特征时,不可能不注意到引起公众注意的案例。联想出厂的各种PC都启用了名为“联想服务引擎”(LSE)的功能。以下是联想声称的是一份受影响个人电脑的完整清单。

当该程序在Windows 8上自动运行时,联想服务引擎会下载一个名为OneKey Optimizer的程序,并将一些数据报告给联想。联想设置了旨在从互联网下载和更新软件的系统服务,这使得删除这些软件变得不可能--它们甚至会在干净安装Windows后自动返回。

联想更进一步,将这种阴暗的技术推广到Windows 7,UEFI固件会检查C:\WINDOWS\system32\autochk.exe文件,并用联想自己的版本将其覆盖。这个程序在开机时运行来检查Windows上的文件系统,这个技巧允许联想在Windows7上也能使用这种讨厌的做法。这只是为了表明WPBT甚至没有必要-PC制造商可以只让他们的固件覆盖Windows系统文件。

微软和联想发现了一个重大的安全漏洞,可以加以利用,因此联想谢天谢地停止了使用这种肮脏垃圾的PC发货。联想提供了一个更新,将从笔记本电脑中删除LSE,并提供一个更新,将从台式PC中删除LSE。然而,这些并不是自动下载和安装的,所以许多-可能受影响最大的联想电脑-将继续在他们的UEFI固件中安装这种垃圾软件。

这只是PC制造商的另一个令人讨厌的安全问题,它给我们带来了感染SuPerfish的PC。目前还不清楚其他个人电脑制造商是否在他们的一些个人电脑上以类似的方式滥用了WPBT。

微软对此有何评论?

正如联想(Lenovo)所指出的那样:

换句话说,根据微软最初的WPBT功能设计和指导方针,使用WPBT从互联网下载垃圾软件的联想LSE功能是允许的。这些指导方针直到现在才得到完善。

微软没有提供太多有关这方面的信息。微软网站上只有一个.docx文件--甚至连一个网页都没有--里面有关于这个功能的信息。您可以通过阅读文档来了解您想要了解的所有信息。它以Persistent和防盗软件为例,解释了微软加入此功能的理由:

这种对该功能的辩护是在联想将其用于其他目的后才添加到文档中的。

您的PC是否包含WPBT软件?

在使用WPBT的PC上,Windows从UEFI固件的表中读取二进制数据,并在引导时将其复制到名为wpbbin.exe的文件中。

您可以检查您自己的PC,看看制造商是否在WPBT中包含了软件。要找出答案,请打开C:\WINDOWS\system32目录并查找名为Cwpbbin.exe的文件。仅当Windows从UEFI固件复制C:\WINDOWS\system32\wpbbin.exe文件时,该文件才存在。如果它不存在,则说明您的PC制造商尚未使用WPBT在您的PC上自动运行软件。

避免WPBT和其他垃圾软件

在联想不负责任的安全故障之后,微软又为这一功能制定了几条规则。但令人费解的是,这一功能一开始就存在-尤其令人费解的是,微软在没有任何明确的安全要求或任何关于其使用的指导方针的情况下就向个人电脑制造商提供了这一功能。

修订后的Windows指导方针指示OEM确保用户在不想要时可以实际禁用这一功能,但微软的指导方针并没有阻止PC制造商在过去滥用Windows安全。三星出货的PC禁用了Windows Update,因为这比与微软合作确保向Windows Update添加正确的驱动程序要容易得多,这就是例子。

相关:购买Windows PC唯一安全的地方是Microsoft商店

这是PC制造商没有认真对待Windows安全的又一个例子。如果你计划购买一台新的Windows PC,我们建议你从微软商店(Microsoft Store)购买一台,微软实际上很关心这些电脑,并确保它们不会安装有害的安全软件,如联想的SuPerfish、三星的Disable_Windowsupdate.exe、联想的LSE功能,以及典型PC可能附带的所有其他垃圾软件。

当我们在过去写这篇文章的时候,许多读者回应说这是没有必要的,因为你总是可以执行一次干净的Windows安装来清除任何膨胀的软件。嗯,显然这不是真的-获得一台没有膨胀软件的Windows PC的唯一可靠的方法是从微软商店(Microsoft Store)获得。事情不应该是这样的,但事实就是这样。

WPBT特别令人担忧的不仅仅是联想在利用它在Windows的干净安装中烘焙安全漏洞和垃圾软件方面的彻底失败。尤其令人担忧的是,微软一开始就向PC制造商提供这样的功能--尤其是在没有适当限制或指导的情况下。

这一功能也花了几年时间才在更广泛的科技界引起注意,而这只是由于一个令人讨厌的安全漏洞造成的。谁知道Windows中还有哪些令人讨厌的功能可供PC制造商滥用,许多PC制造商正在将Windows的声誉拖入泥潭,微软需要对其加以控制。

图片来源:Flickr上的科里·M·格勒尼尔(Cory M.Griier)

相关文章