GiantSan:利用段折叠实现高效的操作级内存清理
《ACM Transactions on Computer Systems》:GiantSan: Efficient Operation-Level Memory Sanitization with Segment Folding
【字体:
大
中
小
】
时间:2025年11月08日
来源:ACM Transactions on Computer Systems
编辑推荐:
内存安全卫通过元数据标记内存区域检测非法访问,但位置基方法保护密度低导致元数据加载开销大。本文提出段折叠阴影编码技术,将相邻相同元数据的字节合并为折叠段,减少冗余加载。实验表明GiantSan在SPEC 2017基准测试中比ASan减少61.37%开销,且在PHP项目中减少463个假阴性案例。
摘要
内存安全检测工具是用于在执行过程中检测无效内存操作的强大工具,它们利用运行时元数据来模拟内存结构,帮助发现程序中隐藏的内存错误。然而,基于位置的内存安全检测方法由于具有较高的兼容性而被广泛使用,但它们面临保护密度低的问题:一个元数据所能保护的字节数量是有限的。因此,大量的内存访问需要加载过多的元数据,从而导致较高的运行时开销。
为了解决这个问题,我们提出了一种新的阴影编码技术,并结合了“段折叠”(segment folding)机制来提高保护密度。具体来说,我们通过对具有相同元数据的相邻字节进行汇总处理(这些汇总结果被称为“折叠段”),从而减少不必要的元数据加载。与现有技术相比,新的编码方式使用更少的元数据来保护较大的内存区域,并且所需的指令也更少,从而加快了内存安全检测的速度。
我们将这种技术实现为名为GiantSan的软件。通过SPEC CPU 2017基准测试的评估显示,GiantSan的性能优于现有的最先进的内存安全检测工具,其运行时开销分别比ASan和ASan--降低了61.37%和41.94%。此外,在相同的红色区域(redzone)设置下,在测试实际项目PHP时,GiantSan检测到的误报案例数量比ASan和ASan--减少了463个。
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号