一般來說獲取系統Root權限是很困難的,尤其是加密系統中,但西班牙安全研究員Hector Marco、Ismael Ripoll發現,Linux系統下只需按住回車鍵70秒鐘,就能輕松繞過系統認證,拿到Root權限,進而遠程控制經過加密的Linux系統。
這個問題來自Linux標准磁盤加密程序Cryptsetup的一個漏洞(CVE-2016-4484),它處理密碼輸入錯誤的時候,會允許用戶多次重試輸入,直到錯誤超過93次,程序就會給用戶一個帶Root權限的shell(busybox)。
也就是說,如果你重復93次輸錯密碼,或者持續按回車鍵大概70秒,就能夠獲得root initramfs (initial RAM filesystem) shell。
之後,你就可以復制、修改或者破壞整個硬盤,也可以使用網絡傳輸數據。加密磁盤內容不會洩露,但是攻擊者可以提升權限、盜取信息、發起DoS攻擊等等。
關鍵是,這個漏洞攻擊的成功率非常高,因為它不依賴特定系統或者配置。在圖書館、ATM機、機場、實驗室等場景下,它特別有用,因為在這些場景下開機的過程受到加密保護,而對外交互只有鍵盤/鼠標。
如果你使用了基於Linux的雲服務,還可以在沒有物理接觸的情況下遠程處罰漏洞。
這個漏洞影響范圍很廣,覆蓋幾乎所有的Linux發行版,包括Debian、Ubuntu、Fedora、Red Hat Enterprise Linux (RHEL)、SUSE,免疫的則有Arch Linux、Solus。
如果你的系統存在此漏洞,官方還沒有發布補丁,可以自行修改cryptroot文件:
# sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/GRUB_CMDLINE_LINUX_DEFAULT="panic=5 /' /etc/default/grub
# grub-install