文件名称:arm_cpu_attacks
文件大小:8KB
文件格式:ZIP
更新时间:2024-03-09 22:19:53
C
PoC代码实现了针对AArch64的Meltdown攻击的变体3a。 这允许从用户模式读取所有(可能不包括其读取具有副作用的寄存器-未验证)系统寄存器,包括那些只能从EL1(内核),EL2(管理程序)和EL3(安全监视器)模式访问的系统寄存器。 设置前5个LDR指令,以便序列中的最后一个退休时会引发NULL指针取消引用异常。 设置zrbuf缓冲区(x1)是为了引发异常。 接下来的5条指令是由CPU推测运行的指令。 这些指令不会退出,因为程序顺序中出现了“之前发生”异常。 但是,它们的推测执行取决于特权寄存器的推测读取位(x2),将探查缓冲区(x0)两页之一的高速缓存行加载到DCache中。 定制异常处理程序(get_value)检查两个页面中的哪一个在DCache中表示,并相应地确定该位为0或1。逐位提取特权寄存器的所有64位。 请参阅和。 确认可以在Cortex-A57和Corte
【文件预览】:
arm_cpu_attacks-attacks
----README.md(9KB)
----Makefile(370B)
----sregs.S(1KB)
----dump_sys_regs.c(10KB)