The term stack safety is used for a variety of compiler, run-time, and hardware mechanisms for protecting stack memory. Unlike "the heap," the ISA-level stack does not correspond to a single high-level language concept: different compilers use it in different ways to support procedural and functional abstraction mechanisms from a wide range of languages. This protean nature makes it difficult to nail down what it means to correctly enforce stack safety. We propose a formal characterization of stack safety using concepts from language-based security. Rather than packaging all aspects of stack safety into a monolithic property, we decompose it into an integrity property and a confidentiality property for each of the caller and the callee, plus a control-flow property -- five properties in all. This formulation is motivated by a particular class of enforcement mechanisms, the ``lazy'' stack safety micro-policies studied by Roessler and DeHon~\cite{DBLP:conf/sp/RoesslerD18}, which permit functions to write into one another's frames, but which taint the changed locations so that the frame's owner cannot access it. No existing characterization of stack safety captures this style of safety. We capture it here by stating our properties in terms of the observable behavior of the system. Our properties go further than previous formal definitions of stack safety, supporting caller- and callee-saved registers, arguments passed on the stack, and tail-call elimination. We validate our properties by using them to distinguish between correct and incorrect implementations of Roessler and DeHon's micro-policies using property-based random testing. Our test harness successfully identifies several broken variants, including Roessler and DeHon's lazy policy; a repaired version of their policy does pass our tests.


翻译:堆叠安全一词用于各种编译器、运行时间和硬件机制来保护堆叠内存。 与“ 堆积” 不同, ISA 级堆叠与单个高层次语言概念不匹配: 不同的编译者以不同的方式使用它来支持程序和功能性抽象机制, 包括多种语言。 这种蛋白性质使得很难精确地描述正确执行堆叠安全的含义。 我们建议使用基于语言的安保概念来正式描述堆叠安全。 我们不将堆叠安全的所有方面包装成一个单流属性, 我们把它分解成一个完整性属性和保密属性, 每一个调用人和调用人, 加上控制流属性 -- 五个属性。 这种配制是由某种特定的执行机制驱动的, 由Roessler 和 DeHon ⁇ cite 所研究的“ 堆叠安全微观政策” ( DBLLP: conf/ sp/ / Roessler D18}, 它允许将堆叠安全功能写入另一个框架, 但是它会将改变的位置和保密性标之间的保密性属性, 因此, 框架的调用我们的游戏主的游戏定义无法正确性定义获取。 没有对我们的安全性测试, 我们的系统进行现有的安全性能进行。

0
下载
关闭预览

相关内容

Linux导论,Introduction to Linux,96页ppt
专知会员服务
75+阅读 · 2020年7月26日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
144+阅读 · 2019年10月12日
强化学习最新教程,17页pdf
专知会员服务
167+阅读 · 2019年10月11日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
99+阅读 · 2019年10月9日
VCIP 2022 Call for Demos
CCF多媒体专委会
1+阅读 · 2022年6月6日
全球首个GNN为主的AI创业公司,募资$18.5 million!
图与推荐
1+阅读 · 2022年4月16日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
25+阅读 · 2019年5月18日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
LibRec 精选:基于LSTM的序列推荐实现(PyTorch)
LibRec智能推荐
50+阅读 · 2018年8月27日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
14+阅读 · 2017年11月16日
【推荐】RNN/LSTM时序预测
机器学习研究会
25+阅读 · 2017年9月8日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Arxiv
13+阅读 · 2021年5月25日
Directions for Explainable Knowledge-Enabled Systems
Arxiv
26+阅读 · 2020年3月17日
Arxiv
14+阅读 · 2019年9月11日
VIP会员
相关资讯
VCIP 2022 Call for Demos
CCF多媒体专委会
1+阅读 · 2022年6月6日
全球首个GNN为主的AI创业公司,募资$18.5 million!
图与推荐
1+阅读 · 2022年4月16日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
25+阅读 · 2019年5月18日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
LibRec 精选:基于LSTM的序列推荐实现(PyTorch)
LibRec智能推荐
50+阅读 · 2018年8月27日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
14+阅读 · 2017年11月16日
【推荐】RNN/LSTM时序预测
机器学习研究会
25+阅读 · 2017年9月8日
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Top
微信扫码咨询专知VIP会员