Spatial safety violations are the root cause of many security attacks and unexpected behavior of applications. Existing techniques to enforce spatial safety work broadly at either object or pointer granularity. Object-based approaches tend to incur high CPU overheads, whereas pointer-based approaches incur both high CPU and memory overheads. SGXBounds, an object-based approach, is so far the most efficient technique that provides complete out-of-bounds protection for objects. However, a major drawback of this approach is that it can't support address space larger than 32-bit. In this paper, we present CGuard, a tool that provides object-bounds protection for C applications with comparable overheads to SGXBounds without restricting the application address space. CGuard stores the bounds information just before the base address of an object and encodes the relative offset of the base address in the spare bits of the virtual address available in x86_64 architecture. For an object that can't fit in the spare bits, CGuard uses a custom memory layout that enables it to find the base address of the object in just one memory access. Our study revealed spatial safety violations in the gcc and x264 benchmarks from the SPEC CPU2017 benchmark suite and the string_match benchmark from the Phoenix benchmark suite. The execution time overheads for the SPEC CPU2017 and Phoenix benchmark suites were 42% and 26% respectively, whereas the reduction in the throughput for the Apache webserver when the CPUs were fully saturated was 30%. These results indicate that CGuard can be highly effective while maintaining a reasonable degree of efficiency.


翻译:破坏空间安全的行为是许多安全攻击和意外应用行为的根源。 执行空间安全工作的现有技术在物体或指点颗粒上大致执行。 基于目标的方法往往产生高CPU管理费, 而基于指示的方法产生高的CPU管理费和记忆管理费。 SGXBound是一种基于目标的方法,是迄今为止为物体提供完全不受限制的保护的最有效技术。 然而, 这种方法的一个主要缺点是它无法支持超过32位以上的空间。 在本文中, 我们展示了CGuard, 这是为C应用程序提供目标约束保护的工具, 具有与SGXBound类似的管理费。 而基于指示的方法往往具有较高的CPU管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费用管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费基底基底。 我们的研究发现SBrealBRCBlickral 基准的S17, 基底基底基底基基基基基基比值管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费管理费。

0
下载
关闭预览

相关内容

Linux导论,Introduction to Linux,96页ppt
专知会员服务
78+阅读 · 2020年7月26日
知识图谱推理,50页ppt,Salesforce首席科学家Richard Socher
专知会员服务
106+阅读 · 2020年6月10日
深度强化学习策略梯度教程,53页ppt
专知会员服务
178+阅读 · 2020年2月1日
Stabilizing Transformers for Reinforcement Learning
专知会员服务
59+阅读 · 2019年10月17日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
103+阅读 · 2019年10月9日
LibRec 精选:AutoML for Contextual Bandits
LibRec智能推荐
7+阅读 · 2019年9月19日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
动物脑的好奇心和强化学习的好奇心
CreateAMind
10+阅读 · 2019年1月26日
【TED】什么让我们生病
英语演讲视频每日一推
7+阅读 · 2019年1月23日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
视觉机械臂 visual-pushing-grasping
CreateAMind
3+阅读 · 2018年5月25日
Reinforcement Learning: An Introduction 2018第二版 500页
CreateAMind
11+阅读 · 2018年4月27日
计算机视觉近一年进展综述
机器学习研究会
9+阅读 · 2017年11月25日
【推荐】YOLO实时目标检测(6fps)
机器学习研究会
20+阅读 · 2017年11月5日
可解释的CNN
CreateAMind
17+阅读 · 2017年10月5日
Arxiv
13+阅读 · 2021年3月3日
Arxiv
6+阅读 · 2019年4月8日
VIP会员
相关资讯
LibRec 精选:AutoML for Contextual Bandits
LibRec智能推荐
7+阅读 · 2019年9月19日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
动物脑的好奇心和强化学习的好奇心
CreateAMind
10+阅读 · 2019年1月26日
【TED】什么让我们生病
英语演讲视频每日一推
7+阅读 · 2019年1月23日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
视觉机械臂 visual-pushing-grasping
CreateAMind
3+阅读 · 2018年5月25日
Reinforcement Learning: An Introduction 2018第二版 500页
CreateAMind
11+阅读 · 2018年4月27日
计算机视觉近一年进展综述
机器学习研究会
9+阅读 · 2017年11月25日
【推荐】YOLO实时目标检测(6fps)
机器学习研究会
20+阅读 · 2017年11月5日
可解释的CNN
CreateAMind
17+阅读 · 2017年10月5日
Top
微信扫码咨询专知VIP会员