Win 8 和Win 10中包含了一個(gè)讓許多用戶都不喜歡的功能,被稱為“Windows Platform Binary Table”。電腦廠商可以從BIOS向系統(tǒng)推送和安裝軟件,Win 8和10將會(huì)在啟動(dòng)時(shí)提取這個(gè)執(zhí)行文件并自動(dòng)運(yùn)行。通過這種方式,電腦廠商可以在Windows的機(jī)器上注入軟件,即使系統(tǒng)重裝之后也還是如此。
Windows的善意與誤傷
WPBT的主要目的是用于防盜軟件的自動(dòng)安裝。一旦硬件丟失或者被盜,數(shù)據(jù)被清除后任何防盜軟件也不復(fù)存在,這更不利于系統(tǒng)的恢復(fù)。因此,WPBT提供了這個(gè)解決方案:即使磁盤被擦拭、系統(tǒng)經(jīng)過重新安裝,固件依然可以重裝軟件并且報(bào)告筆記本被盜的情況。
然而,也就是說除非刷 BIOS,否則廠商預(yù)裝軟件可以一直出現(xiàn)在用戶的電腦里面。
好消息是大多數(shù)廠商似乎并沒有利用這個(gè)特性。但是,壞消息來了:“大多數(shù)”并非“所有”。2014年10月至今年4月,聯(lián)想利用這一功能在某些聯(lián)想臺(tái)式機(jī)和筆記本系統(tǒng)中預(yù)裝了被稱為“聯(lián)想服務(wù)引擎”的軟件。
聯(lián)想暴扣得分
據(jù)聯(lián)想描述,該軟件的功能取決于其是在臺(tái)式機(jī)還是筆記本系統(tǒng)中。臺(tái)式機(jī)上,軟件只能發(fā)送一些基本信息(系統(tǒng)模型、區(qū)域、日期以及系統(tǒng)ID)到聯(lián)想服務(wù)器上面。這并不包括任何的個(gè)人識(shí)別信息,但是系統(tǒng)ID應(yīng)該是每個(gè)設(shè)備所特有的。聯(lián)想認(rèn)為這是個(gè)一次性的操作,信息只會(huì)在機(jī)器第一次聯(lián)網(wǎng)的時(shí)候才會(huì)被發(fā)送。
而針對(duì)筆記本電腦,軟件功能則有所不同。聯(lián)想筆記本會(huì)在每次開機(jī)的過程中都會(huì)寫入一份系統(tǒng)文件,下載聯(lián)想官方更新文件,并且自動(dòng)安裝。而之所以能夠?qū)崿F(xiàn)這一功能是因?yàn)槁?lián)想在 BIOS 中設(shè)置了一項(xiàng)功能選項(xiàng)“Lenovo Service Engine”(LSE),下載的軟件是“OneKey Optimizer”,根據(jù)官方的介紹,這是一個(gè)系統(tǒng)優(yōu)化工具:
“OneKey Optimizer(OKO) 是專為聯(lián)想電腦研發(fā)的新一代功能強(qiáng)大的系統(tǒng)優(yōu)化軟件,它能夠?yàn)槟碾娔X進(jìn)行體檢,提升電腦性能,更新最新的固件、驅(qū)動(dòng)和應(yīng)用程序,并提供合理的電源管理方案,有效延長電池使用壽命。”
然而,另一個(gè)種觀點(diǎn)卻認(rèn)為OKO完全可以放在“廢件”的類別中。雖然OKO做了一點(diǎn)有用的維護(hù)系統(tǒng)的工作——例如更新驅(qū)動(dòng)——它同樣還能提供性能“優(yōu)化”以及系統(tǒng)垃圾文件清理,但是這兩點(diǎn)均受到了嚴(yán)重的質(zhì)疑。
更糟糕的是LSE(或OKO)其實(shí)并不安全。4月份聯(lián)想與微軟研究員Roel Schouwenberg發(fā)布了報(bào)告稱其存在的隱患包括緩沖區(qū)溢出和不安全網(wǎng)絡(luò)連接。問題在于,攻擊者可以利用這種自動(dòng)更新和自動(dòng)安裝機(jī)制偽裝成聯(lián)想的更新服務(wù),在用戶重啟電腦的過程中安裝任何惡意軟件。
聯(lián)想用戶論壇舉報(bào)
這個(gè)情況最初被曝光于arstechnica論壇,一位用戶發(fā)現(xiàn)BIOS會(huì)檢查C:Windowssystem32autochk.exe 是聯(lián)想的版本還是微軟的原始版本,如果是微軟的版本,它會(huì)將其移至C:Windowssystem32 9zz_secautobin.exe,然后寫入聯(lián)想的autochk.exe。
在啟動(dòng)期間, autochk.exe會(huì)向system32文件夾寫入 LenovoUpdate.exe和LenovoCheck.exe,連上網(wǎng)后,它會(huì)設(shè)置一個(gè)服務(wù)運(yùn)行其中一個(gè)程序,然后訪問 http://download.lenovo.com/ideapad/windows/lsebios/win8_en-us_32_oko.json。這個(gè)網(wǎng)址沒有使用加密,意味著可以被攻擊者攔截流量遠(yuǎn)程執(zhí)行代碼。
今年6月有中國網(wǎng)友在知乎提問“如何評(píng)價(jià)聯(lián)想電腦自動(dòng)安裝LenovoUpdate.exe、LenovoCheck.exe等軟件的行為?”。
有中國網(wǎng)友對(duì)此頗為不滿:
“聯(lián)想的這種行為是否真的值得信賴?日防夜防,家賊難防,操作系統(tǒng)和應(yīng)用級(jí)別的流氓軟件解決起來非常簡單,最不濟(jì)重裝系統(tǒng),但是BIOS的rootkit耍起流氓來就不是那么簡單了。”
“推廣國產(chǎn)自主化這件事沒那么簡單,行外人還是不要瞎揣度了。Lenovo頂多也只有耍流氓的途徑,真想耍得好功力還差得遠(yuǎn),先掏錢改善改善自己隊(duì)伍的生活水平吧。”
聯(lián)想公司緊急處理
聯(lián)想目前已作出回應(yīng),在新系統(tǒng)中停止了LSE的應(yīng)用(該公司說,6月份之后的系統(tǒng)是干凈的)。聯(lián)想在其英文官方網(wǎng)站發(fā)布了提供了筆記本電腦的固件更新,并發(fā)布了在臺(tái)式機(jī)中禁用該選項(xiàng)并清理LSE文件的操作步驟。但是中文官網(wǎng)并沒有更新。
受影響的機(jī)型如下:
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
解決方案
尚不清楚是否有其他電腦制造商也在利用WPBT的能力。LoJack公司提供了一份冗長的清單,列舉出了可能應(yīng)用了此功能的固件以及大多數(shù)或者全部的系統(tǒng)。在此FreeBuf建議受影響系統(tǒng)用戶更新固件,然后運(yùn)行聯(lián)想的LSE移除工具來清理磁盤的文件。