兩名資安研究人員在上周揭露了Linux磁碟加密工具Cryptsetup中含有一重大安全漏洞,將允許駭客取得系統的根權限,估計影響不少Linux版本,殃及數百萬名Linux用戶。
此一編號為CVE-2016-4484的漏洞主要影響採用Linux統一金鑰設定(Linux Unified Key Setup,LUKS)的Linux版本,LUKS為一執行Linux硬碟加密的標準機制,通常搭配Cryptsetup使用,受到波及的Linux版本包括Debian、SUSE Enterprise Linux、Red Hat Enterprise Linux、Ubuntu與Fedora。
漏洞藏匿在Cryptsetup處理LUKS密碼檢查的方式,它允許使用者不斷重覆輸入錯誤的密碼,若一直按著Enter鍵約70秒,系統就會質疑是硬體故障,開始執行一個具有根權限的Initrd shell,駭客即可利用此一shell來進行一連串的行動,包括擴張權限、存取所有磁碟,或是刪除磁碟上的所有資料。除了接觸實體的Linux裝置外,駭客也可遠端攻擊位於雲端的Linux系統。
揭露該漏洞的其中一名研究人員Hector Marco指出,這個漏洞非常確實,因為它不需要特定的系統或配置,就能允許駭客複製、變更或破壞硬碟,也能設定網路以盜出資料,在開機程序受到特別保護的公共環境中更形嚴重,像是圖書館、ATM、機場設備或實驗室等,這些環境中的設備密碼都存在BIOS及GRUB中,只靠鍵盤及滑鼠輸入。
資安業者指出,只要是執行Ubuntu或Debian的系統且擁有LUKS加密磁區的應該都無法倖免於難,最簡單的測試方式就是在系統要求輸入LUKS密碼時按著Enter鍵70秒看是否有shell出現。可喜的是修補程式已經出爐,而且只是簡單的數十行程式就能解決。
Marco把該漏洞歸咎於Linux社群太過於貪圖方便。他說Linux生態一直是開發人員根據彼此的需求所設計的,因此當它出現故障的時候,也採用了對開發人員來說非常友善的復原方式—方便或是在受控的環境下,但其實Linux被部署在許多惡劣的環境中,不應將此一簡易卻幼稚的復原方式當作預設值。