![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL1EjY3QWOjZGMxEDZlF2YlBjZ1QWO5IDM4ETYycjZkBTNhhjMyYzM48CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
按住回車70秒,黑客就能在linux系統繞過認證,進而擷取root權限,并能遠端控制經過加密的linux系統。
漏洞來源
這個安全問題來源于cryptsetup存在的一個漏洞(cve-2016-4484)。cryptsetup是在linux統一密鑰設定(linux unified key setup, luks)中用來加密磁盤的軟體,而luks則是linux系統中标準的磁盤加密。
漏洞其實是出現在系統後cryptsetup處理密碼輸入錯誤的時候,它會允許使用者多次重試輸入密碼。而當使用者輸入錯誤93次後,程式就會給使用者一個帶root權限的shell(busybox)。
也就是說,如果你重複93次輸錯密碼,或者持續按Enter鍵大概70秒,你就能夠獲得root initramfs (initial ram filesystem) shell。擷取shell之後,你就可以複制、修改或者破壞整個硬碟,或者也可以使用網絡傳輸資料。
漏洞能被遠端利用
西班牙安全研究員hector marco和ismael ripoll發現了這一漏洞,影響範圍覆寫幾乎所有的linux發行版,包括debian, ubuntu, fedora, red hat enterprise linux (rhel)和suse。
研究人員在今年奧地利維也納舉行的deepsec會議上示範了細節:
“黑客可以從受影響系統中擷取root initramfs shell。并且漏洞的成功率非常高,因為他不依賴某個特定的系統或者某個配置……這個漏洞在圖書館、atm機、機場、實驗室等場景下特别有用,因為在這些場景下,開機的過程受到(加密)保護,而我們隻有鍵盤/滑鼠。”
看到這裡,你可能會認為漏洞隻能在攻擊者有實體接觸的情況下才有可能發生。但實際上,漏洞也可以被遠端觸發。如果你使用的是基于linux的雲服務,就可以在沒有實體接觸的條件下利用漏洞。
漏洞到底有多嚴重
值得注意的是,攻擊者無法利用這個漏洞來擷取加密磁盤的内容,但能進行下面的這些操作:
權限提升:
由于boot分區一般都是不加密的,是以利用漏洞黑客可以用setuid存儲一個可執行檔案,然後再用本地使用者身份執行進行提權。
攻擊者也可以替換核心和initrd鏡像。
資訊洩露:
雖然攻擊者無法直接讀取加密的磁盤,但他能做的事還是很多的。比如,他可以把磁盤複制到外部裝置,之後進行暴力破解,
dos攻擊:
黑客可以删除磁盤上的内容。
這個漏洞的影響範圍包括debian, ubuntu, fedora和其他一些linux發行版本。arch linux和solus使用者不受影響。
解決方案
盡管漏洞能輕易觸發并且影響範圍大,但它的修複方案也異常簡單:
首先,在luks密碼提示窗處按壓Enter鍵70秒,檢查系統是否存在漏洞。
如果存在漏洞,檢查下你所使用的linux是否釋出了更新檔。
如果官方沒有釋出更新檔,你可以自行修改cryptroot檔案: