新型 TIKTAG 攻擊曝光,專門針對谷歌瀏覽器和 Linux 系統(tǒng)
近日,來自三星、首爾國立大學(xué)和佐治亞理工學(xué)院的韓國研究團(tuán)隊的研究人員發(fā)現(xiàn)一種以 ARM 的內(nèi)存標(biāo)記擴(kuò)展(MTE)為目標(biāo)的,名為 "TIKTAG "的新型攻擊,黑客可利用這種方式繞過安全防護(hù)功能,這種攻擊專門針對谷歌瀏覽器和 Linux 內(nèi)核的攻擊,導(dǎo)致數(shù)據(jù)泄露幾率超過 95%。
MTE是ARM v8.5-A架構(gòu)(及更高版本)新增的一項功能,旨在檢測和防止內(nèi)存損壞。系統(tǒng)采用低開銷標(biāo)簽技術(shù),為 16 字節(jié)內(nèi)存塊分配 4 位標(biāo)簽,確保指針中的標(biāo)簽與訪問的內(nèi)存區(qū)域相匹配,從而防止內(nèi)存損壞攻擊。
MTE 有三種運(yùn)行模式:同步、異步和非對稱,兼顧了安全性和性能。
研究人員發(fā)現(xiàn),通過使用兩個小工具(代碼),即 TIKTAG-v1 和 TIKTAG-v2,他們可以利用投機(jī)執(zhí)行在短時間內(nèi)泄露 MTE 內(nèi)存標(biāo)記,成功率很高。
標(biāo)簽泄漏圖,來源:arxiv.org
泄露這些標(biāo)簽不會直接暴露敏感數(shù)據(jù),如密碼、加密密鑰或個人信息。但理論上,它可以讓攻擊者破壞 MTE 提供的保護(hù),使安全系統(tǒng)無法抵御隱蔽的內(nèi)存破壞攻擊。
TIKTAG 攻擊
TIKTAG-v1 利用 CPU 分支預(yù)測和數(shù)據(jù)預(yù)取行為中的推測收縮來泄漏 MTE 標(biāo)記。
TIKTAG-v1 代碼,來源:arxiv.org
研究人員發(fā)現(xiàn),這個小工具在攻擊 Linux 內(nèi)核時,對投機(jī)性內(nèi)存訪問的功能格外有效,不過需要對內(nèi)核指針進(jìn)行一些操作。
攻擊者使用系統(tǒng)調(diào)用調(diào)用投機(jī)執(zhí)行路徑,并測量緩存狀態(tài)以推斷內(nèi)存標(biāo)簽。
TIKTAG-v2 利用了投機(jī)執(zhí)行中的存儲到加載轉(zhuǎn)發(fā)行為,這是一個將值存儲到內(nèi)存地址并立即從同一地址加載的序列。
TIKTAG-v2 代碼,來源:arxiv.org
如果標(biāo)簽匹配,值將被轉(zhuǎn)發(fā),加載成功,并影響緩存狀態(tài);如果標(biāo)簽不匹配,轉(zhuǎn)發(fā)將被阻止,緩存狀態(tài)保持不變。
因此,通過探測投機(jī)執(zhí)行后的緩存狀態(tài),可以推斷出標(biāo)簽檢查結(jié)果。
研究人員展示了 TIKTAG-v2 小工具對谷歌 Chrome 瀏覽器,尤其是 V8 JavaScript 引擎的有效性,為利用渲染器進(jìn)程中的內(nèi)存破壞漏洞開辟了道路。
通過 MTE 旁路實現(xiàn)的攻擊場景,來源:arxiv.org
行業(yè)響應(yīng)和緩解措施
研究人員在 2023 年 11 月至 12 月期間向受影響的企業(yè)報告了他們的發(fā)現(xiàn),并得到了普遍積極的回應(yīng)。
發(fā)表在 arxiv.org 上的技術(shù)論文提出了以下針對 TIKTAG 攻擊的緩解措施:
- 修改硬件設(shè)計,防止投機(jī)執(zhí)行根據(jù)標(biāo)簽檢查結(jié)果修改高速緩存狀態(tài)。
- 插入投機(jī)障礙(如 sb 或 isb 指令),防止關(guān)鍵內(nèi)存操作的投機(jī)執(zhí)行。
- 添加填充指令,以擴(kuò)展分支指令和內(nèi)存訪問之間的執(zhí)行窗口。
- 增強(qiáng)沙箱機(jī)制,將投機(jī)性內(nèi)存訪問路徑嚴(yán)格限制在安全內(nèi)存區(qū)域內(nèi)。
雖然 ARM 認(rèn)識到了情況的嚴(yán)重性,并在幾個月前發(fā)布了公告,但它并不認(rèn)為這是對功能的妥協(xié)。
ARM 在公告中寫道:由于 Allocation Tags 對地址空間中的軟件來說并不是秘密,因此揭示正確標(biāo)簽值的投機(jī)機(jī)制并不被視為對架構(gòu)原則的破壞。
Chrome 瀏覽器的安全團(tuán)隊承認(rèn)存在這些漏洞,但目前并未打算修復(fù)。因為他們認(rèn)為 V8 沙盒的目的不是保證內(nèi)存數(shù)據(jù)和 MTE 標(biāo)記的機(jī)密性。
此外,Chrome 瀏覽器目前默認(rèn)不啟用基于 MTE 的防御功能,因此修復(fù)的優(yōu)先級較低。
Pixel 8 設(shè)備中的 MTE 標(biāo)記已于今年 4 月報告給了安卓安全團(tuán)隊,并被確認(rèn)為符合懸賞條件的硬件漏洞。