Spatial memory safety violation is still a major issue for C programs. Checked-C is a safe dialect of C and extends it with Checked pointer types and annotations that guarantee spatial memory safety in a backward-compatible manner, allowing the mix of checked pointers and regular (unchecked) pointer types. However, unchecked code vulnerabilities can violate the checked code's spatial safety guarantees. We present CheckedCBox, which adds a flexible, type-directed program partitioning mechanism to Checked-C, by enhancing the Checked-C type system with tainted types that enable flexible partitioning of the program into checked and unchecked regions, in a manner such that unchecked region code does not affect the spatial safety in the checked region. We formalize our type system and prove the non-crashing and non-exposure properties of a well-typed CheckedCBox program. We implemented CheckedCBox in a configurable manner, which enables us to use existing sandbox mechanisms (eg WebAssembly) to execute programs. Consequently, in doing so, CheckedCBox has prevented four known vulnerabilities by efficiently partitioning the program.


翻译:对 C 程序来说, 空间内存安全仍然是一个主要问题。 检查到 C 是 C 的安全方言, 并用检查到的指针类型和说明扩展到 C, 从而以与后向兼容的方式保证空间内存安全, 允许将检查点和常规( 未检查) 指针类型混合。 然而, 未检查的代码脆弱性可能违反检查到的代码的空间安全保障。 我们以可配置的方式实施了检查到 C, 从而增加了一个灵活、 类型引导的程序分割机制, 用于检查到 C, 其方式是用污染类型加强检查到的 C 系统, 使得程序能灵活分割到检查到未检查和未检查的地区, 而不受检查的区域代码不会影响检查到区域的空间安全 。 我们正式确定我们的类型系统, 并证明一个类型精密的检查到 CB 程序的非崩溃和非接触特性 。 我们以可配置的方式实施了检查到 CB, 这使得我们能够使用现有的沙箱机制( ewebRema) 来执行程序。 因此, 检查到 CBox 已经防止了四个已知的脆弱性 。

0
下载
关闭预览

相关内容

Meta最新WWW2022《联邦计算导论》教程,附77页ppt
专知会员服务
60+阅读 · 2022年5月5日
专知会员服务
41+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
80+阅读 · 2020年7月26日
Stabilizing Transformers for Reinforcement Learning
专知会员服务
60+阅读 · 2019年10月17日
强化学习最新教程,17页pdf
专知会员服务
180+阅读 · 2019年10月11日
[综述]深度学习下的场景文本检测与识别
专知会员服务
78+阅读 · 2019年10月10日
征稿 | CFP:Special Issue of NLP and KG(JCR Q2,IF2.67)
开放知识图谱
1+阅读 · 2022年4月4日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
19篇ICML2019论文摘录选读!
专知
28+阅读 · 2019年4月28日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
【推荐】ResNet, AlexNet, VGG, Inception:各种卷积网络架构的理解
机器学习研究会
20+阅读 · 2017年12月17日
【推荐】RNN/LSTM时序预测
机器学习研究会
25+阅读 · 2017年9月8日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
Arxiv
0+阅读 · 2023年3月24日
Arxiv
0+阅读 · 2023年3月24日
Arxiv
31+阅读 · 2020年9月21日
VIP会员
相关VIP内容
Meta最新WWW2022《联邦计算导论》教程,附77页ppt
专知会员服务
60+阅读 · 2022年5月5日
专知会员服务
41+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
80+阅读 · 2020年7月26日
Stabilizing Transformers for Reinforcement Learning
专知会员服务
60+阅读 · 2019年10月17日
强化学习最新教程,17页pdf
专知会员服务
180+阅读 · 2019年10月11日
[综述]深度学习下的场景文本检测与识别
专知会员服务
78+阅读 · 2019年10月10日
相关资讯
征稿 | CFP:Special Issue of NLP and KG(JCR Q2,IF2.67)
开放知识图谱
1+阅读 · 2022年4月4日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
19篇ICML2019论文摘录选读!
专知
28+阅读 · 2019年4月28日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
【推荐】ResNet, AlexNet, VGG, Inception:各种卷积网络架构的理解
机器学习研究会
20+阅读 · 2017年12月17日
【推荐】RNN/LSTM时序预测
机器学习研究会
25+阅读 · 2017年9月8日
Top
微信扫码咨询专知VIP会员