Side-channel vulnerabilities, particularly timing and access-pattern-based attacks, have become critical issues for confidential data processing in trusted environments. Oblivious programming is an effective approach to alleviate these attacks by making program execution not leak any secret through execution time and data access traces. To facilitate oblivious programming in practice, we propose a compilation-time checking tool, obliv-clang, which can comprehensively check the obliviousness of a program written in C++. It is designed to support the rich language features in C++, including the complicated concept of arbitrarily nested pointers, in order to seamlessly work with existing industry-level codebases and produce high-performance compiled binaries with minimum compilation overheads. We design a set of rules in obliv-clang and formally prove their soundness in the presence of complicated C++ language features. We also implement several non-trivial oblivious algorithms as case studies to demonstrate the expressiveness of obliv-clang, and show that programs compiled using obliv-clang can outperform previous solutions.


翻译:侧信道漏洞,尤其是基于时序和访问模式的攻击,已成为可信环境下机密数据处理的关键问题。Oblivious 编程通过使程序执行不通过执行时间和数据访问痕迹泄露任何秘密,是缓解此类攻击的有效方法。为促进 oblivious 编程在实际中的应用,我们提出编译时检查工具 obliv-clang,该工具能全面检查 C++ 程序的 oblivious 性能。它旨在支持 C++ 中丰富的语言特性,包括任意嵌套指针这一复杂概念,从而无缝对接现有工业级代码库,并以最小的编译开销生成高性能编译二进制文件。我们在 obliv-clang 中设计了一组规则,并基于复杂 C++ 语言特性正式证明了这些规则的可靠性。我们还实现了多个具有挑战性的 oblivious 算法作为案例研究,以展示 obliv-clang 的表达能力,并表明使用 obliv-clang 编译的程序性能优于现有解决方案。

0
下载
关闭预览

相关内容

人们为了让计算机解决各种棘手的问题,使用编程语言 编写程序代码并通过计算机运算得到最终结果的过程。
【经典书】算法C语言实现,Algorithms in C. 672页pdf
专知会员服务
82+阅读 · 2020年8月13日
逆向 | C++ 加壳程序的编写思路
计算机与网络安全
10+阅读 · 2019年1月1日
荐书丨OpenCV算法精解:基于Python与C++
程序人生
19+阅读 · 2017年11月18日
国家自然科学基金
6+阅读 · 2017年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
23+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
Arxiv
0+阅读 · 6月11日
Arxiv
0+阅读 · 5月16日
Arxiv
0+阅读 · 3月25日
VIP会员
最新内容
世界模型入门:从序贯决策到通用智能体
专知会员服务
2+阅读 · 10月24日
军事域更好使用人工智能的实用指南
专知会员服务
8+阅读 · 10月22日
《衡量语言模型中的作战规划能力》
专知会员服务
14+阅读 · 10月20日
Maven智能系统:帕兰提尔军事人工智能平台详解
专知会员服务
15+阅读 · 10月20日
《测试自动化框架在敏捷软件开发中的角色》
专知会员服务
8+阅读 · 10月20日
俄罗斯如何拦截乌克兰无人机与巡航导弹
专知会员服务
12+阅读 · 10月15日
《武器-目标分配问题:精确与近似求解算法》
专知会员服务
17+阅读 · 10月15日
相关VIP内容
【经典书】算法C语言实现,Algorithms in C. 672页pdf
专知会员服务
82+阅读 · 2020年8月13日
相关基金
国家自然科学基金
6+阅读 · 2017年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
23+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
Top
微信扫码咨询专知VIP会员