G.O.S.S.I.P 学术论文推荐 2021-01-13

admin 2021年1月13日13:32:53评论7 views字数 1704阅读5分40秒阅读模式

今天给大家推荐的是来自中科院信工所的发表在ESORICS 2020的论文。这篇论文提出的Zipper Stack利用cryptographic message authentication codes (MACs)的链式结构来防御ROP攻击。

G.O.S.S.I.P 学术论文推荐 2021-01-13

大家还记得去年12月7日我们过一篇发表在USENIX Security 2021的文章“PACStack: an Authenticated Call Stack”吗?那篇文章的related work提到了今天的这篇文章,二者思路很相像,我们今天可以比较着阅读,看看他们各自的优势。


背景还是再提一嘴吧。诸如ROP等代码重用攻击,其攻击的切入点在于修改返回地址,于是乎,有了很多保护返回地址的技术,如Stack Canary、ASLR、Shadow Stack、CFI、ARM PAC

等。但是它们都或多或少存在些缺陷,比如PAC计算返回地址的MAC值并在返回前验证以判断是否被篡改,这种方法会受到重放攻击的威胁。


于是,一种直观的方法就是,在认证中加入上下文,也就是链式的MAC,如下面两张图片所示,左边的是PACStack的设计,右边是Zipper Stack的设计,思路还是挺接近的,攻击模型也是能够读写任意内存的攻击者。不同的是,Zipper Stack需要一个安全的寄存器来实现,而PACStack则是用ARM的PA做的拓展,不存在这个限制。

G.O.S.S.I.P 学术论文推荐 2021-01-13

具体来说,如图4所示,Zipper Stack将当前上下文中的返回地址的MAC存在一个安全寄存器(Top Reg)中,MAC根据其caller的返回地址MAC计算得出,通过上下文中返回地址MAC的依赖链来保障返回地址的完整性。因此Zipper Stack的安全性基于存放MAC的寄存器的安全性,因此需要保证其无法被攻击者读取或篡改。这个问题在Setjump/Longjump这类情况下尤为突出,为了保证链条的完整与正确,需要对Top Reg进行restore,就会给攻击者进行覆写的机会,需要额外措施进行保护。文章中作者则是用一个MAC来认证jump buffer。

G.O.S.S.I.P 学术论文推荐 2021-01-13

作者提出了三种方式进行实现:

  1. 基于RISC-V指令集在FPGA上的实现:通过引入了ZIP、UNZIP指令来计算和检验MAC,并设计了流水线来优化性能。

  2. 基于LLVM编译器的实现:使用xmm15作为MAC寄存器,在call、ret时插入指令对MAC进行计算和校验。

  3. 基于Qemu的实现:作者修改了qemu源码,修改了call、ret的逻辑,在其中加入计算和校验MAC


作者从security、overhead和capability三个方面进行评估。考虑到这种方案在实际场景中的可用性,关键之一在于性能开销。其中值得一提的是,在FPGA场景下的基于硬件的实现中使用了流水线优化,性能开销较低,仅1.86%,甚至高于普通的shadow stack。不过基于LLVM编译器的实现开销确实太大了,恐怕难以在实际场景使用。

G.O.S.S.I.P 学术论文推荐 2021-01-13

G.O.S.S.I.P 学术论文推荐 2021-01-13

G.O.S.S.I.P 学术论文推荐 2021-01-13

G.O.S.S.I.P 学术论文推荐 2021-01-13

最后我们拿PACStack和Zipper Stack这两篇文章做个对比,二者的思路创新点实际上很类似,但是文章的完整性方面还是能看出一些差距。写作上来说,Zipper Stack的introduction中花了太多篇幅去介绍其他保护技术及缺陷,反而导致导致motivation不清晰。这些更应该放到background或是related work中。implementation中的小标题直接是“LLVM“和”Qemu“也显得有些草率了,需要与design有更好的对应关系。在实验评估上,完成度相比PACStack也是欠了一些。比较惋惜的一点是,类似的工作能发在顶会上,说明这个工作还是有机会冲更好的会议的,我们科研的过程中还是得注重论文的写作呀。


Zipper Stack论文链接:https://arxiv.org/pdf/1902.00888.pdf

PACStack论文链接:https://www.usenix.org/system/files/sec21summer_liljestrand.pdf


原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 学术论文推荐 2021-01-13

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年1月13日13:32:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   G.O.S.S.I.P 学术论文推荐 2021-01-13https://cn-sec.com/archives/923764.html

发表评论

匿名网友 填写信息