不安全的数字世界:联想被曝流氓 BIOS 更新机制
对于天津而言,刚刚过去的夜晚注定是个不眠之夜。爆炸发生之后便有附近的朋友发消息报平安,而今天早晨,又有朋友庆幸因为这样那样的原因未能动身前往天津塘沽常住的酒店,躲过一劫。
天佑天津。
现实中的天灾人祸无可预知难以避免,而在数字世界里同样有诸多的安全陷阱。这一次深陷舆论泥潭的还是联想,这已经不是它第一次因为软件预装和自动更新而受到质疑了。
根据 Ars Technica 论坛用户的反馈,联想的笔记本有一项很神奇的特点,那就是可以自动下载安装联想系统工具软件,即便是重装系统之后也还是如此。
具体的情况是,联想笔记本会在每次开机的过程中都会写入一份系统文件,下载联想官方更新文件,并且自动安装。而之所以能够实现这一功能是因为联想在 BIOS 中设置了一项功能选项“Lenovo Service Engine”,下载的软件是“OneKey Optimizer”,根据官方的介绍,这是一个系统优化工具:
OneKey Optimizer 是专为联想电脑研发的新一代功能强大的系统优化软件,它能够为您的电脑进行体检,提升电脑性能,更新最新的固件、驱动和应用程序,并提供合理的电源管理方案,有效延长电池使用寿命。
联想实现这一功能是则是利用了微软在 Windows 中的一项被官方允许的机制,称之为“Windows Platform Binary Table”,简称 WPBT,OEM 厂商可以从 BIOS 向系统推送和安装软件,也就是说除非刷 BIOS,否则 OEM 预装软件可以一直出现在用户的电脑里面。它的初衷是希望一些关键的软件能够重装系统之后依旧留存,比如防盗软件。
不过联想显然并不只是想单纯地去防盗这一项功能。问题的关键在于,这种自动更新和自动安装机制暗藏着安全风险,攻击者可以伪装成联想的更新服务,可以在用户重启电脑的过程中安装任何恶意软件。
因为通过进一步的分析发现,BIOS 在启动过程中会检查 C:\Windows\system32\autochk.exe 是联想的版本还是微软的原始版本,如果是微软的版本,它会将其移至C:\Windows\system32\0409\zz_sec\autobin.exe,然后写入联想的 autochk.exe。在启动期间, autochk.exe 会向 system32 文件夹写入 LenovoUpdate.exe 和 LenovoCheck.exe,连上网后,它会设置一个服务运行其中一个程序,然后访问 http://download.lenovo.com/ideapad/windows/lsebios/win8_en-us_32_oko.json。这个网址没有使用加密,意味着可以被攻击者拦截流量远程执行代码。
早在六月份就有知乎用户反馈过这一问题,只是并未引起太多人的关注。而上一次联想遭遇信任危机则是因为预装的 Superfish 广告软件。
目前,联想在英文官网发布了 BIOS 补丁进行修复,但是中文官网并没有更新,受影响的机型如下:
Flex 2 Pro-15/Edge 15 (Broadwell)
Flex 2 Pro-15/Edge 15 (Haswell)
Flex 3-1470/1570
Flex 3-1120
G40-80/G50-80/G50-80 Touch/V3000
S21e
S41-70/U41-70
S435/M40-35
Yoga3 14
Z70-80 / G70-80
Yoga 3 11
Y40-80
Z41-70/Z51-70
题图来自:123RF