freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如何使用SGXRay自动化检测SGX应用中的安全漏洞
2021-09-13 01:05:53

关于SGXRay

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

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

工具使用

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

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

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

docker pull baiduxlab/sgx-ray-frontend-intel

docker pull baiduxlab/sgx-ray-frontend-oe

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

docker pull baiduxlab/sgx-ray-distro:latest

Docker构建

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

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镜像中执行,我们建议大家使用下列命令在我们的设备上执行验证:

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:GitHub传送门

参考资料


本文作者:, 转载请注明来自FreeBuf.COM

# SGX # SGX应用安全 # SGX漏洞
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
评论 按热度排序

登录/注册后在FreeBuf发布内容哦

相关推荐
\
  • 0 文章数
  • 0 评论数
  • 0 关注者
文章目录
登录 / 注册后在FreeBuf发布内容哦
收入专辑