【技术实现步骤摘要】
基于LibOS的Enclave程序框架动态TCB生成系统及方法
[0001]本专利技术涉及的是一种信息安全领域的技术,具体是一种基于LibOS的Enclave程序框架动态可信计算基(TCB)生成系统及方法。
技术介绍
[0002]Intel SGX是Intel架构新的扩展,其通过Intel SGX SDK为进出Enclave提供函数调用机制,运行在Enclave外部的代码可以通过ECALL调用Enclave内部的代码并获得返回值,同样的运行在Enclave内部的代码可以通过OCALL调用Enclave外部的代码并获得返回值。另外Intel SGX还支持本地和远程认证机制,以便检查Enclave是否加载正确的预期代码,并在此过程中产生密钥,为以后相互传输的隐私数据做加密处理。现有采用基于LibOS部署应用程序的方法使得应用程序非常容易的被部署到Intel SGX平台,但于此同时使得运行在Enclave中的应用程序的TCB变得非常的大,在应用程序运行过程中有很多不使用的代码存留在Enclave空间,增加安全隐患的同时多余的代码也 ...
【技术保护点】
【技术特征摘要】
1.一种基于LibOS的Enclave程序框架动态TCB生成系统,其特征在于,设置于云平台,具体包括:相似性比对单元、删减单元、链接器修改单元以及动态库加载单元,其中:相似性对比单元根据云平台收到的应用程序的二进制文件中的符号与Libc合并得到所需要的所有系统调用,利用相似性匹配得到LibOS所有的系统调用;删减单元根据LibOS入口函数信息,删除LibOS以及动态库函数中不使用的代码,得到缩减后的结果;链接器修改单元根据应用程序的对外符号信息以及动态库调用图信息,删除动态库文件中不需要的函数,得到删减后的动态库文件;动态库加载单元根据应用程序interp段信息,将应用程序所需要的所有动态库文件加载至enclave。2.一种基于权利要求1所述系统的基于LibOS的Enclave程序框架动态TCB生成方法,其特征在于,根据编译框架的中间表示生成LibOS和动态库的内部函数调用图,将待处理程序的符号信息与LibOS中系统调用入口函数进行相似度验证,基于验证结果删减LibOS和动态库函数中的代码。3.根据权利要求2所述的基于LibOS的Enclave程序框架动态TCB生成方法,其特征是,具体包括:第一步、获取应用程序对外调用的所有符号后,将其与所有的系统调用入口符号进行相似性比对,当相似性比对基本相似则把该系统调用符号认为是应用程序会访问的符号;第二步、得到可能访问到的所有系统调用符号后,根据之前生成的LibOS的函数调用图,删除与系统调用不相关的函数;第三步、需要修改原本GNU的链接器,再将修改后的链接器加到Enclave空间;第四步、在加载动态库的过程中,修改后的链接器会在装载的过程中根据动态库函数调用图,删除掉所有不会被应用程序调用到的动态库函数。4.根据权利要求3所述的基于LibOS的Enclave程序框架动态TCB生成方法,其特征是,所述的第一步,具体包括:步骤101.用插桩后的Clang编译LibOS和动态库函数的源码,首先本文使用Clang工具对LibOS进行编译,利用在编译过程中利用产生的IR来生成函数调用图;步骤102.提取LibOS和动态库的函数调用图,具体...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。