如何使用SGXRay自动化检测SGX应用中的安全漏洞
关于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: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
相关文章
- 干货 | 移动应用中使用OpenGL生成转场特效
- 【干货书】知识图谱:基础,技术与应用
- 【干货书】工业自动化与机器人技术与应用
- pywinauto桌面应用自动化入门篇
- web3.0+区块链dapp开发应用技术详细介绍
- PWA 应用和原生应用的一些区别
- 软件测试|PC端应用自动化最佳解决方案——Pywinauto
- 【Flutter】Flutter Gallery 官方示例简介 ( 学习示例 | 邮件应用 | 零售应用 | 理财应用 | 旅行应用 | 新闻应用 | 自适应布局应用 )
- Redis高可用高性能缓存的应用系列1 - 数据类型以及底层结构和原理
- Jenkins + Docker 一键自动化部署 Java Spring Boot 应用最简流程
- when then解析Oracle 中CASE WHEN THEN 的应用(oracle中case)
- 深入剖析Oracle触发器的类型及应用(oracle触发器类型)
- Redis应用转义字符解析(redis转义字符)
- 在 Ubuntu 上自动化安装基本应用的方法
- 命令的使用Linux系统下SCP命令的应用研究(linux下scp)
- MySQL数据库应用技巧三段提交详解(mysql 三段提交)
- 构建精准医疗Redis在医疗系统中的应用(医疗系统使用redis)
- Oracle数据库中SQ的含义及应用(oracle中sq的意思)
- Redis订阅及回调技术的应用(redis 订阅 回调)