LLVM控制流完整性的实用指南与分类法
密码学与安全
2025-08-22 v1 软件工程
摘要
内存破坏漏洞仍然是软件安全最严重的威胁之一。它们通常允许攻击者通过重定向存在漏洞的程序的控制流来实现任意代码执行。尽管控制流完整性(CFI)在缓解这种利用路径方面已获得关注,但开发者并未获得任何关于如何将CFI应用于实际软件的指导。在这项工作中,我们建立了一个分类法,将LLVM的前向边CFI变体映射到内存破坏漏洞类别,为寻求在现有代码库中逐步部署CFI的开发者提供可操作的指导。基于已知被利用漏洞(KEV)Top 10列表,我们确定了四个高影响力的漏洞类别,并为每个类别选取了一个代表性的CVE。我们针对每个CVE评估了LLVM的CFI,并解释了为何CFI在两个案例中成功阻止了利用,而在另外两个案例中失败,从而说明了其潜力和当前的局限性。我们的发现支持明智的部署决策,并为改进CFI在生产系统中的实际应用奠定了基础。
引用
@article{arxiv.2508.15386,
title = {A Practical Guideline and Taxonomy to LLVM's Control Flow Integrity},
author = {Sabine Houy and Bruno Kreyssig and Timothee Riom and Alexandre Bartel and Patrick McDaniel},
journal= {arXiv preprint arXiv:2508.15386},
year = {2025}
}