當前位置:
首頁 > 科技 > 全新「奧利奧」方法:守護硬體安全,切斷程式碼線索

全新「奧利奧」方法:守護硬體安全,切斷程式碼線索

想像一下,你是一位手握炙手可熱食譜的大廚。你把極機密的食譜步驟寫在一本筆記本裡,確保自己不會忘記,但那頁經常被參考的紙張,邊緣的摺痕和破損讓它在筆記本裡的位置顯而易見。

就像食譜在食譜書裡的位置一樣,執行程式的指令儲存在電腦實體記憶體的特定位置。標準的安全方法——稱為「位址空間配置隨機化」(ASLR)——會把這些珍貴的程式碼分散到不同的地方,但現在駭客能夠找到它們的新位置。

駭客不再直接攻擊軟體,而是採用稱為微架構側通道攻擊的方法,利用硬體漏洞,找出哪些記憶體區域最常被使用。從而,他們可以利用程式碼揭露密碼,並在系統中進行關鍵的管理變更(也稱為程式碼重用攻擊)。

為了提高 ASLR 的有效性,麻省理工學院電腦科學與人工智慧實驗室(CSAIL)的研究人員找到了一種方法,讓這些痕跡消失。他們的「奧利奧」方法透過在程式指令轉換為實體位置之前,移除隨機化的位址位元,來減緩硬體攻擊。在駭客找到之前,它會清除程式碼小工具(或用於特定任務的短指令序列)的位置痕跡,有效地增強了像 Linux 這樣的作業系統的安全性。該研究結果已釋出在 arXiv 預印本伺服器上。

「奧利奧」有三層,就像它美味的同名點心一樣。在虛擬位址空間(用於參考程式指令)和實體位址空間(程式碼所在之處)之間,「奧利奧」增加了一個新的「掩碼位址空間」。在硬體執行程式之前,它會將程式碼從隨機化的虛擬位址重新對映到固定位置,這使得駭客難以透過硬體攻擊追蹤程式在虛擬位址空間中的原始位置。

麻省理工學院電機工程與電腦科學系(EECS)的博士生、CSAIL 成員、該研究論文的第一作者宋詩昕表示:「我們從奧利奧餅乾得到了將其設計成三層結構的靈感。想像一下那塊點心中間的白色夾心——我們的版本就是這樣一層,它在程式碼小工具的位置落入壞人之手之前,基本上把痕跡都消除了。」

資深作者、麻省理工學院 EECS 副教授、CSAIL 首席研究員閆孟佳認為,「奧利奧」的掩碼能力可以讓位址空間配置隨機化更加安全可靠。閆孟佳說:「ASLR 已應用於 Windows 和 Linux 等作業系統,但在過去十年裡,它的安全漏洞使其幾乎失效。我們的目標是在現代系統中重振這一機制,以防禦微架構攻擊,所以我們開發了一種軟硬體協同設計機制,防止洩露告訴駭客程式碼小工具位置的秘密偏移量。」

CSAIL 的研究人員將在本月晚些時候的網路與分散式系統安全研討會上展示他們關於「奧利奧」的研究成果。宋詩昕和她的共同作者透過在 gem5(一個常用於研究電腦架構的平臺)上模擬硬體攻擊,評估了「奧利奧」保護 Linux 的效果。團隊發現,它可以防止微架構側通道攻擊,同時不會妨礙所保護的軟體執行。

宋詩昕指出,這些實驗表明「奧利奧」是作業系統的輕量級安全升級方案。她說:「我們的方法只需要幾個額外的儲存單元來儲存一些後設資料,對硬體的改動很小。幸運的是,它對軟體效能的影響也很小。」

雖然「奧利奧」在程式執行過程中增加了一個清除顯露資料位元的額外步驟,但它不會降低應用程式的速度。這種效率使它成為除 Linux 之外,基於頁表的虛擬記憶體系統(如英特爾、AMD 和 Arm 等主要平臺常用的系統)對 ASLR 的一個值得的安全增強措施。

未來,團隊將著手解決預測執行攻擊問題——駭客誘騙電腦預測其下一步任務,然後竊取其留下的隱藏資料。例如 2018 年臭名昭著的熔毀/幽靈攻擊。為了防禦預測執行攻擊,團隊強調「奧利奧」必須與其他安全機制(如幽靈攻擊緩解措施)相結合。這種潛在的侷限性也適用於將「奧利奧」應用於更大的系統。

閆孟佳表示:「我們認為『奧利奧』可以成為一個有用的軟硬體協同設計平臺,適用於更廣泛的應用。除了針對 ASLR,我們正在研究新的方法,以幫助保護在人們的網路通訊和雲端儲存中廣泛用於保護資訊的關鍵加密庫。」宋詩昕和閆孟佳與麻省理工學院 EECS 本科研究員張哲銘共同撰寫了這篇論文。