计算机与现代化

• 信息安全 • 上一篇    下一篇

一种基于内存隔离的关键数据保护机制

  

  1. 上海交通大学并行与分布式系统实验室,上海200240
  • 收稿日期:2015-12-17 出版日期:2016-03-02 发布日期:2016-03-03
  • 作者简介: 陈可昕(1990-),女,重庆人,上海交通大学并行与分布式系统实验室硕士研究生,研究方向:系统安全; 刘宇涛(1989-),男,博士,研究方向:系统安全,系统虚拟化。
  • 基金资助:
    国家自然科学基金青年科学基金资助项目(61303011); 上海张江国家自主创新示范区专项发展资金重点项目(201501-YP-B108-012)

 Elimination of Memory Disclosure Attacks Using Data Isolation

  1. Parallel and Distributed System Laboratory, Shanghai Jiao Tong University, Shanghai 200240, China
  • Received:2015-12-17 Online:2016-03-02 Published:2016-03-03

摘要: 随着人们发现越来越多的内存信息泄露漏洞,内存关键数据的安全变得越来越重要。当前业界对于保护内存关键数据安全的主流方案是进行内存隔离。然而,现有的方案缺乏对关键数据的细粒度保护,同时大部分方案需要手动修改代码。本文提出一种方案,该方案能够完整地跟踪程序中的所有涉及关键数据的操作,并在编译器自动进行代码转换,不需要手动更改代码。测试结果表明,该方案能够防止大型程序中的内存泄露攻击,例如OpenSSL中的Heartbleed,同时编译期开销低于1%,运行时开销与同类型系统持平。

关键词:  , 内存信息泄露攻击, 内存数据隔离

Abstract: As more and more memory-disclosure bugs been discovered, it’s important to protect memory safety. Nowadays mainstream of this field prefers enforcing memory isolation to protect memory safety. However, none of them can achieve a fine-grained protection while easy-to-deploy solution since most solutions requires manually modification to source code, or they enforce memory isolation in a coarse-grained way. We present a novel method, which can traces and collects all possible operations that access the sensitive data in runtime, and can perform automatically code transformation during compilation. Our solution do not require manually modification, and evaluation shows that we can efficiently eliminate memory disclosure attacks, such as Heartbleed, found in OpenSSL. Meanwhile, the overhead of compilation and memory cost are lower than 1%.

Key words: memory disclosure attacks, memory data isolation