Sgx-Step:针对英特尔Intel SGX平台的渗透测试攻击框架
摘要:受信任的执行环境(如Intel SGX)可以确保在网络受到攻击或入侵时,目标计算机不会受到影响。 本文介绍的SGX-Step是一个针对Intel SGX平台的开源渠道攻击研究框架。
SGX-Step由Linux内核驱动程序和用户空间库组成,这将使我们能够配置不受信任的页表条目,并完全从用户空间环境(Enclave)中断x86 APIC计时器。 我们从指令级粒度提出并评估一种改进的单步Enclave执行技术,并演示SGX-Step如何执行多种高级攻击。
与以前的Enclave抢占方案不同,SGX-Step设计的关键是保存页表条目的物理内存位置,以及本地APIC内存映射的I / O配置寄存器和x86中断描述符表(IDT)。 这将允许不受信任的主机进程(攻击者控制)轻松地(i)跟踪或修改Enclave页表条目,(ii)为APIC计时器配置一次性/定期中断源,(iii)触发内部处理器中断,(Iv)和 在用户空间中完全注册自定义中断处理程序。
下图显示了当我们的框架中断并恢复SGX Enclave时的硬件和软件操作步骤:
1.本地APIC计时器中断到达加密指令。
2.处理器执行AEX进程,该进程将执行上下文安全地存储在安全区的SSA帧中,初始化CPU寄存器,并将向量存储到IDT中注册的(用户空间)中断处理程序中。
3.此时,可以轻松插入任何特定于攻击的间谍代码。
4.代码库将返回到用户空间AEP。 我们修改了官方SGX SDK的不受信任的运行时环境,以轻松注册自定义AEP存根。
5.接下来,在执行(6)ERESUME之前,我们通过写入初始计数MMIO寄存器为下一个中断配置本地APIC计时器。
项目建设和运行
SGX-Step需要使用SGX-capabel Intel处理器和Linux内核。 我们将其升级到i7-6500U / 6700 CPU,它可以在Ubuntu 16.04(内核版本4.15.0)平台上运行。 相关的Linux内核参数如下:
Linux内核参数功能
nox2apic以内存映射的I / O模式配置本地APIC设备(以利用SGX-Step的精确单步执行)。
iomem =宽松,no_timer_check过滤内核日志中不需要的警告消息。
isolcpus = 1将目标进程与一个独立的CPU内核关联。
dis_ucode_ldr禁用CPU微代码更新。
我们可以通过以下方式将相应的启动参数传递给内核以执行:
$ sudo vim /etc/default/grub
# GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nox2apic iomem=relaxed no_timer_check isolcpus=1"
$ sudo update-grub && sudo reboot
最后,为了重现我们的研究结果,请确保在BIOS中禁用了C状态和SpeedStep技术。 下表列出了该工具当前支持的Intel CPU以及相应的单步APIC计时器间隔(libsgxstep / config.h):
模块名称CPU 频率APIC计时器间隔
Skylake i7-6700 3.4 GHz19
Skylake i7-6500U 2.5 GHz25
Skylake i5-6200U 2.3 GHz28
Kaby Lake Ri7-8650U 1.9 GHz 34
Coffee Lake Ri9-9900K 3.6 GHz21
1.修复并安装SGX SDK
为了启用和注册自定义AEP存根,我们修改了官方Intel SGX SDK的不受信任的运行时环境:
$ git submodule init
$ git submodule update
$ ./install_SGX_driver.sh # tested on Ubuntu 16.04
$ ./patch_sdk.sh
$ ./install_SGX_SDK.sh # tested on Ubuntu 16.04
2.构建并加载/ dev / sgx-step
SGX-Step带有可加载的内核模块,并支持导出IOCTL接口。 运行以下命令来构建和加载/ dev / sgx-step驱动器:
$ cd kernel
$ make clean load
3.构建并运行测试应用程序
$ cd app/bench
$ NUM=100 STRLEN=1 make parse # alternatively vary NUM and use BENCH=1 or ZIGZAG=1
$ # (above command defaults to the Dell Inspiron 13 7359 evaluation laptop machine;
$ # use DESKTOP=1 to build for a Dell Optiplex 7040 machine)
$ # use SGX_SDK=/home/jo/sgxsdk/ for a local SDK installation
$ # use M32=1 To produce a 32-bit executable
在您的项目中使用SGX-Step
如果要在项目中使用SGX-Step,最简单的方法是使用git子模块:
$ cd my/git/project
$ git submodule add [email protected]:jovanbulck/sgx-step.git
$ cd sgx-step # Now build `/dev/sgx-step` and `libsgxstep` as described above
相关热词搜索:Sgx-Step Intel SGX平台 渗透测试攻击框架
上一篇:CVE-2019-12181 Serv-U FTP Server 本地提权漏洞(Metasploit)利用工具
下一篇:BaseQuery:一个强大的搜索工具,用于数据泄露搜索
人机验证(Captcha)绕过方法:使用Chrome开发者工具在目标网站登录页面上执行简单的元素编辑,以实现Captcha绕过
牛创网络: " 人机身份验证(Captcha)通常显示在网站的注册,登录名和密码重置页面上。 以下是目标网站在登录页面中排列的验证码机制。 从上图可以
2020-01-26 12:44:09 )8872( 亮了
自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
牛创网络: "自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
2020-01-30 14:04:47 )6288( 亮了
Grafana CVE-2020-13379漏洞分析:重定向和URL参数注入漏洞的综合利用可以在任何Grafana产品实例中实现未经授权的服务器端请求伪造攻击SSRF
牛创网络: "在Grafana产品实例中,综合利用重定向和URL参数注入漏洞可以实现未经授权的服务器端请求伪造攻击(SSRF)。该漏洞影响Grafana 3 0 1至7 0 1版本。
2020-08-12 14:26:44 )4301( 亮了
Nginx反向代理配置及反向代理泛目录,目录,全站方法
牛创网络: "使用nginx代理dan(sui)是http响应消息写入服务地址或Web绝对路径的情况。 写一个死的服务地址是很少见的,但它偶尔也会发生。 最棘手的是写入web绝对路径,特别是如果绝对路径没有公共前缀
2019-06-17 10:08:58 )3858( 亮了
fortify sca自定义代码安全扫描工具扫描规则(源代码编写、规则定义和扫描结果展示)
牛创网络: "一般安全问题(例如代码注入漏洞),当前fortify sca规则具有很多误报,可通过规则优化来减少误报。自带的扫描规则不能检测到这些问题。 需要自定义扫描规则,合规性角度展示安全风险。
2020-02-12 10:49:07 )3505( 亮了
整理几款2020年流行的漏洞扫描工具
牛创网络: "漏洞扫描器就是确保可以及时准确地检测信息平台基础架构的安全性,确保业务的平稳发展,业务的高效快速发展以及公司,企业和国家 地区的所有信息资产的维护安全。
2020-08-05 14:36:26 )2536( 亮了
微擎安装使用技巧-微擎安装的时候页面显示空白是怎么回事?
牛创网络: "我们在公众号开发中,有时候会用到微擎,那我们来看一下微擎安装的时候页面显示空白是怎么回事吧
2019-06-08 15:34:16 )2261( 亮了
渗透测试:利用前端断点拦截和JS脚本替换对前端加密数据的修改
牛创网络: " 本文介绍的两种方法,虽然断点调试比JS脚本代码替换更容易,但是JS脚本代码替换方法可以实现更强大的功能,测试人员可以根据实际需要选择适当的测试方法
2020-01-07 09:34:42 )1995( 亮了
从工业界到学界盘点SAS与R优缺点比较
牛创网络: "虽然它在业界仍然由SAS主导,但R在学术界广泛使用,因为它的免费开源属性允许用户编写和共享他们自己的应用程序 然而,由于缺乏SAS经验,许多获得数据分析学位的学生很难找到工作。
2019-07-13 22:25:29 )1842( 亮了
41款APP侵犯用户隐私权:QQ,小米,搜狐,新浪,人人均被通报
牛创网络: "随着互联网的不断发展,我们进入了一个时代,每个人都离不开手机。 但是,APP越来越侵犯了用户隐私权。12月19日,工业和信息化部发布了《关于侵犯用户权益的APP(第一批)》的通知。
2019-12-20 11:28:14 )1775( 亮了