Temporal memory corruptions are commonly exploited software vulnerabilities that can lead to powerful attacks. Despite significant progress made by decades of research on mitigation techniques, existing countermeasures fall short due to either limited coverage or overly high overhead. Furthermore, they require external mechanisms (e.g., spatial memory safety) to protect their metadata. Otherwise, their protection can be bypassed or disabled. To address these limitations, we present robust points-to authentication, a novel runtime scheme for detecting all kinds of temporal memory corruptions. We built a prototype system, called PTAuth, that realizes this scheme on ARM architectures. PTAuth contains a customized compiler for code analysis and instrumentation and a runtime library for performing the points-to authentication as a protected program runs. PTAuth leverages the Pointer Authentication Code (PAC) feature, provided by the ARMv8.3 and later CPUs, which serves as a simple hardware-based encryption primitive. PTAuth uses minimal in-memory metadata and protects its metadata without requiring spatial memory safety. We report our evaluation of PTAuth in terms of security, robustness and performance using 150 vulnerable programs from Juliet test suite and the SPEC CPU2006 benchmarks. PTAuth detects all three categories of heap-based temporal memory corruptions, generates zero false alerts, and slows down program execution by 26% (this number was measured based on software-emulated PAC; it is expected to decrease to 20% when using hardware-based PAC). We also show that PTAuth incurs 2% memory overhead thanks to the efficient use of metadata.


翻译:尽管数十年的减缓技术研究取得了显著进展,但现有的应对措施却因覆盖范围有限或管理管理费用过高而出现不足。此外,它们需要外部机制(如空间内存安全)来保护元数据。否则,它们的保护可以被绕过或禁用。为了应对这些限制,我们提出了强有力的点数到验证,这是一个用于探测各种时间内存腐败的新运行时间机制。我们建立了一个称为PTAUT的原型系统,在ARM结构上实现了这一计划。PTAuth包含一个定制的代码分析和仪器化汇编器,以及一个运行受保护程序进行点认证的运行时间库。PTAUth利用了点定点验证码(PAC)的功能,由ARMV8.3和后来的CPU提供,作为简单的硬件加密原始。PTAuth使用最低限度的元元数据,保护其元数据不需要空间内存安全。我们报告在安全、坚固度和性业绩方面对PTAuth的评估,使用150个脆弱程序来进行匹配。 PATUTAPS使用S的快速度测试,而S的系统则通过S-2010年的所有时间-CUPUBS 测试显示了20%

0
下载
关闭预览

相关内容

专知会员服务
50+阅读 · 2020年10月21日
专知会员服务
39+阅读 · 2020年9月6日
【深度学习视频分析/多模态学习资源大列表】
专知会员服务
91+阅读 · 2019年10月16日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
103+阅读 · 2019年10月9日
计算机类 | PLDI 2020等国际会议信息6条
Call4Papers
3+阅读 · 2019年7月8日
计算机 | 中低难度国际会议信息8条
Call4Papers
9+阅读 · 2019年6月19日
无人机视觉挑战赛 | ICCV 2019 Workshop—VisDrone2019
PaperWeekly
7+阅读 · 2019年5月5日
计算机 | CCF推荐期刊专刊信息5条
Call4Papers
3+阅读 · 2019年4月10日
时序数据异常检测工具/数据集大列表
极市平台
65+阅读 · 2019年2月23日
Ray RLlib: Scalable 降龙十八掌
CreateAMind
9+阅读 · 2018年12月28日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Facebook PyText 在 Github 上开源了
AINLP
7+阅读 · 2018年12月14日
计算机类 | 11月截稿会议信息9条
Call4Papers
6+阅读 · 2018年10月14日
上百份文字的检测与识别资源,包含数据集、code和paper
数据挖掘入门与实战
17+阅读 · 2017年12月7日
Arxiv
6+阅读 · 2018年2月8日
Arxiv
7+阅读 · 2017年12月28日
VIP会员
相关VIP内容
相关资讯
计算机类 | PLDI 2020等国际会议信息6条
Call4Papers
3+阅读 · 2019年7月8日
计算机 | 中低难度国际会议信息8条
Call4Papers
9+阅读 · 2019年6月19日
无人机视觉挑战赛 | ICCV 2019 Workshop—VisDrone2019
PaperWeekly
7+阅读 · 2019年5月5日
计算机 | CCF推荐期刊专刊信息5条
Call4Papers
3+阅读 · 2019年4月10日
时序数据异常检测工具/数据集大列表
极市平台
65+阅读 · 2019年2月23日
Ray RLlib: Scalable 降龙十八掌
CreateAMind
9+阅读 · 2018年12月28日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Facebook PyText 在 Github 上开源了
AINLP
7+阅读 · 2018年12月14日
计算机类 | 11月截稿会议信息9条
Call4Papers
6+阅读 · 2018年10月14日
上百份文字的检测与识别资源,包含数据集、code和paper
数据挖掘入门与实战
17+阅读 · 2017年12月7日
Top
微信扫码咨询专知VIP会员