ADVERTISEMENT
3C 產品開機之後,主機板上 1 塊小容量記憶晶片內部存放的韌體程式碼,會在作業系統之前載入執行,不會受到作業系統變更或重新安裝的影響。近期關於此韌體的漏洞或不當使用一一曝光,甚至有政府單位想利用此弱點進行攻擊,讓大家越來越重視這層安全議題。
過往惡意軟體主要都是針對作業系統或是應用程式下手,偵測與清除相對比較容易,近來由於模組化架構的 UEFI 應用普遍,一般安全軟體無法偵測此層程式碼的弱點,不少人把腦筋動到韌體上頭。譬如先前 Lenovo 在 UEFI 埋入程式,會自動在作業系統安裝特定的自家軟體,或是 Hacking Team 已證實矽微的 UEFI 可植入惡意程式碼。
有鑑於此,已被 Google 收購的 VirusTotal 線上檔案與網頁掃描網站,近期新增了韌體分析功能,藉由與 UEFI firmware python parser 開發者 Teddy Reed 合作,使用者所上傳韌體檔案,掃描網頁將多出 File Detail 分頁,列出此韌體相關資訊。最重要的是可以列出作業系統也能夠執行的 Portable Executable 程式文件,譬如這個和這個範例,均為前陣子出問題的 Lenove S21e 筆電 UEFI 韌體檔案。
ADVERTISEMENT
▲Lenovo S21e 含有 Lenovo Service Engine 的韌體分析。
▲Lenovo S21e 去除 Lenovo Service Engine 的韌體分析。
Lenovo Service Engine 為 Lenovo 替自家產品安插的一段程式碼,當完成 Windows 安裝之後,電腦再次開機就會自動執行,修改 Windows 檔案並自行下載安裝 Lenovo 軟體。這看似方便的功能卻引起部分使用者不滿,在有安全疑慮的情況之下,Lenovo 從去年 6 月開始便不再提供 Lenovo Service Engine,舊產品也可透過韌體更新的方式去除。
ADVERTISEMENT
上圖就是有無包含 Lenovo Service Engine 的韌體分析,可觀察到包含 Lenovo Service Engine 的韌體,多出名為 NovoSecEngine2 的 Portable Executable,可推測這個文件檔案就是為 Windows 安裝軟體的程式。
若是使用者自行上傳韌體檔案,分析完畢之後,每個 Portable Executable 文件旁邊都會有個小圖案,綠色打勾為安全檔案,黃色驚嘆號則是需要注意,但筆者觀察絕大多數情形均為極少數安全軟體誤判。紅色叉叉代表著危險,表示部分安全軟體已經將此視為有害檔案,讀者可點擊展開 Portable Executable 內部的 SHA256 觀看掃描情形。
▲若是使用者對單一 Portable Executable 有興趣,可點擊 SHA256 觀看掃描結果。
ADVERTISEMENT
由於部分電腦可能在 UEFI 內部儲存隱私資訊,譬如 Wi-Fi 密碼,如果上傳的韌體是從電腦傾印(dump)出來,記得先將有關資料清除再上傳至 VirusTotal 進行分析。VirusTotal 員工 Francisco Santos 另外介紹 DarwinDumper 軟體給 Mac 使用者,使用 Make dumps private 選項即可傾印不包含個人隱私資訊的韌體檔案。
延伸閱讀
不越獄就很安全?新款病毒YiSpecter出現,iPhone/iPad 沒越獄照樣中毒
ADVERTISEMENT