Extensible Virtual Call Integrity

COMPUTER SECURITY - ESORICS 2022, PT III(2022)

引用 0|浏览31
暂无评分
摘要
Virtual calls in C++ are known to be vulnerable to control-flow attacks, and Virtual Call Control Flow Integrity (VCFI) is a proposed defense. However, most existing VCFI defenses are incompatible with real-world C++ software that need extensibility in the form of dynamic loading, foreign language interface, etc. In this paper, we propose a novel and extensible VCFI mechanism-namely eVCFI-that is flexible enough to handle such software requirements. eVCFI uses Approximate Membership Query (AQM) filters, recasting VCFI as an efficient set membership query, giving an O(1) time VCFI check that can be implemented in only a few instructions, all while supporting extensibility and multi-threading. We compare eVCFI with existing VCFIs, showing that we can achieve more accurate policies or extensibility compared with other VCFI mechanisms designed for efficiency or modularity. Evaluation of eVCFI shows small 1.3% overhead with SPEC 2006. Furthermore, we evaluate eVCFI against the FireFox web browser: an example of large/complex C++ software that uses both dynamic loading and a foreign language interface (Rust). We show that eVCFI can protect Firefox with a small overhead of 1.15%. We believe that eVCFI is the first VCFI defense able to protect complex software like Firefox.
更多
查看译文
关键词
integrity,virtual,call
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要