前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用SGXRay自动化检测SGX应用中的安全漏洞

如何使用SGXRay自动化检测SGX应用中的安全漏洞

作者头像
FB客服
发布2023-02-10 16:01:52
5400
发布2023-02-10 16:01:52
举报
文章被收录于专栏:FreeBuf

关于SGXRay

Intel SGX采用基于应键的内存加密技术来保护独立应用程序逻辑和敏感数据。要使用这种基于硬件的安全机制,需要严格的内存使用编程模型,开发者需要应用谨慎的编程实践来确保程序的安全。

SGXRay是一种基于SMACK验证器的自动推理工具,可以帮助广大研究人员自动检测SGX安全漏洞。目前,SGXRay基于两个SGX SDK实现其功能,即Intel SGX SDK和OpenInclave SDK,用户可以选择使用SDK代码来进行更加详细的安全分析。

工具使用

下图显示的是SGXRay的工作流程:

运行SGXRay需要两个步骤,第一步就是获取目标应用程序的LLVM IR文件,而第二部就是调用SGXRay的命令行接口来进行安全性验证。

针对第一步,我们为每一个SDK都提供了对应的Docker镜像:

代码语言:javascript
复制
docker pull baiduxlab/sgx-ray-frontend-intel

docker pull baiduxlab/sgx-ray-frontend-oe

(向右滑动,查看更多)

针对第二部,我们同样提供了一个Docker镜像:

代码语言:javascript
复制
docker pull baiduxlab/sgx-ray-distro:latest

(向右滑动,查看更多)

Docker构建

我们提供了一个Dockerfile,它可以帮助在验证过程构建镜像文件:

代码语言:javascript
复制
git clone https://github.com/baiduxlab/sgxray.git && cd sgxray

docker build . -t sgx-ray-distro-local --build-arg hostuid=$UID -f Dockerfiles/Dockerfile-CLI

(向右滑动,查看更多)

成功完成上述操作之后,我们将生成一个名为sgx-ray-distro-local的镜像文件,其中提供了一个跟主机账号相同用户ID的“user”用户可供我们使用。

安全验证

当前,验证步骤只能在我们所提供的Docker镜像中执行,我们建议大家使用下列命令在我们的设备上执行验证:

代码语言:javascript
复制
cd <project/enclave> # go to the enclave directory that contains the bc file generated in the last step

docker run --rm -it -v $(pwd):/sgx -w /sgx --user $UID baiduxlab/sgx-ray-distro

(向右滑动,查看更多)

在容器中,你将能够直接调用SGXRay的命令行接口“sgx-ray”。

项目地址

SGXRay:https://github.com/baiduxlab/sgxray

参考资料:

https://github.com/baiduxlab/sgxray/blob/main/docs/tutorial.md https://github.com/baiduxlab/sgxray/blob/main/docs/bc-production.md https://github.com/baiduxlab/sgxray/blob/main/docs/verification.md

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-01-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 工具使用
  • (向右滑动,查看更多)
  • Docker构建
  • 安全验证
  • 项目地址
  • 参考资料:
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档