[发明专利]面向Intel SGX的程序自动化移植系统在审
申请号: | 202010065323.4 | 申请日: | 2020-01-20 |
公开(公告)号: | CN113138797A | 公开(公告)日: | 2021-07-20 |
发明(设计)人: | 张媛媛;王舒然;冯润涵 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F8/76 | 分类号: | G06F8/76 |
代理公司: | 上海交达专利事务所 31201 | 代理人: | 王毓理;王锡麟 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 intel sgx 程序 自动化 移植 系统 | ||
一种面向Intel SGX的程序自动化移植系统,包括:标记模块、分析模块和代码生成模块,其中:标记模块与分析模块相连并传输敏感变量相关信息,分析模块与代码生成模块相连并传输敏感变量相关的函数信息,代码生成模块根据原程序代码以及敏感函数信息,生成可信代码和不可信代码。本发明将源代码中敏感的部分抽取到Enclave中,减少了内存的负载;使可信计算基尽可能小,从而减小了攻击面;不用将程序所需的运行时环境以Library OS等形式移植进Enclave内部,适用范围更加广泛。
技术领域
本发明涉及的是一种计算机技术领域的技术,具体是一种面向Intel SGX的程序自动化移植系统,用于开发人员将已有的普通C语言代码自动化移植为面向Intel SGX的C语言代码。
背景技术
越来越多的应用程序倾向部署在公共云平台上,例如阿里云,但这对应用程序的安全性有重大影响。应用程序必须采取措施来保护敏感数据不受攻击者的侵害,攻击者也包括云平台服务提供商。
在不可信环境中保护应用程序敏感数据的较流行方法是使用现代CPU提供的可信执行机制,例如Intel SGX(Software Guard Extensions)。SGX技术为代码和数据在机密性和完整性上提供了安全保护。它的核心是一组CPU扩展指令集,将CPU硬件作为信任的基础,在操作系统不可信的环境下依靠硬件支持提供可信的执行环境(Enclave),Enclave中的数据被加密保护,其严格的访问控制机制也为程序提供了极强的隔离性和安全保障。对于大规模程序,开发者若需要将其移植到SGX平台,需要对原始版本程序进行大规模的修改,有研究人员指出,部分代码超过两万行的中大型程序中需要移植的代码比例高达百分之四十,时间成本过高。
由于SGX的开发成本较高,为了实现普通程序与SGX平台的适配,现有的方案是将程序所需的运行时环境以Library OS等形式移植进Enclave内部,以使未修改的应用程序能够正常运行在可执行环境中。但此种方法不仅需要消耗更多的内存,还增加了可信计算基的规模,扩大了Enclave的攻击面。由于这些已有方案存在不可避免的问题,较好的适配方法还是对普通程序进行面向Intel SGX平台的自动化移植。目前尚缺乏一种较为方便的面向Intel SGX的代码自动化移植方案。
发明内容
本发明针对现有技术存在的上述不足,提出一种面向Intel SGX的程序自动化移植系统,减少将原始普通版本C语言代码移植为面向SGX的C语言代码的二次开发成本。
本发明是通过以下技术方案实现的:
本发明涉及一种面向Intel SGX的程序自动化移植系统,包括:标记模块、分析模块和代码生成模块,其中:标记模块与分析模块相连并传输敏感变量相关信息,分析模块与代码生成模块相连并传输敏感变量相关的函数信息,代码生成模块根据原程序代码以及敏感函数信息,生成可信代码和不可信代码。
技术效果
本发明整体解决了普通C语言程序自动化移植到Intel SGX平台的技术问题;
与现有技术相比,本发明将源代码中敏感的部分抽取到Enclave中,减少了内存的负载;使可信计算基尽可能小,从而减小了攻击面;不用将程序所需的运行时环境以Library OS等形式移植进Enclave内部,适用范围更加广泛。
附图说明
图1为本发明系统示意图;
图2为用户标记示意图;
图3为程序分析模块示意图;
图4为代码生成模块示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010065323.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电子设备及食谱的推荐方法和装置
- 下一篇:区块链记账方法、电子设备及存储介质