【翻譯】在程式碼指標完整性(CPI)上攻擊的可能性——On the Feasibility of Attacks on Code-Pointer Integrity

ronnie88597發表於2020-12-13

摘要

儘管進行了許多研究來減輕控制流劫持攻擊,但仍是一個主要的安全問題。 程式碼指標完整性(CPI)[2]是第一個系統保護所有此類攻擊並同時保持較低效能開銷的保護機制。 在即將釋出的S&P’15論文中,Evans等人 [1]聲稱可以在x86-64和ARM體系結構上繞過CPI。 本文是對[1]中聲稱CPI總體上存在安全漏洞的說法的澄清回應。

如形式正確性證明[2]所示,CPI屬性本身是安全的。 特定CPI實施中的錯誤或缺陷可能導致安全缺陷。 我們討論了不同的實現方案,分析了它們的安全性保證和效能影響,並證明了[1]中提出的攻擊僅對最簡單的CPI概念驗證實現有效。 提出的攻擊無法顛覆其他實現方式,例如,使用硬體強制分段或軟體故障隔離的方式。

1.指標完整性

程式碼指標完整性(CPI)[2]是一種保護機制,可以防止由記憶體破壞錯誤引起的所有控制流劫持攻擊,而其效能開銷較低。 CPI在編譯時檢測C/C++程式,從而為程式中所有直接和間接指向程式碼的指標提供了精確的記憶體安全性,

相關文章