中文

栈中无尽的战争与ROP攻击的复活

密码学与安全 2020-05-26 v1

摘要

返回导向编程(Return Oriented Programming, ROP)是一种攻击者无需注入恶意代码即可在存在漏洞的程序内部引发任意行为的技术。当前部署的防御措施对ROP的持续失效,使其再次成为最强大的内存损坏攻击之一。ROP也被视为最灵活的攻击之一,其灵活程度不同于其他代码重用攻击,可以达到图灵完备性。已有多项努力致力于研究这一威胁并提出更好的防御机制(缓解或预防),然而其中大多数既未经过深入审查,也未得到正式实施。此外,类似研究表明,为防范基于ROP的漏洞利用而提出的技术通常会产生较高的假阴性率和更高的假阳性率,更不用说它们引入受保护程序的开销。本研究工作的第一部分旨在对当前可用的(已部署和已提出的)反ROP解决方案进行深入分析,重点审视其防御逻辑并总结其弱点和问题。本工作的第二部分旨在介绍我们提出的入侵指标(Indicators Of Compromise, IOCs),这些指标可用于提高ROP攻击的检测率。所建议的三个指标能够在运行时通过检查目标程序执行期间某些痕迹的存在来检测此类攻击。

关键词

引用

@article{arxiv.2005.11886,
  title  = {The never ending war in the stack and the reincarnation of ROP attacks},
  author = {Ammari Nader and Joan Calvet and Jose M. Fernandez},
  journal= {arXiv preprint arXiv:2005.11886},
  year   = {2020}
}

备注

The never ending war in the stack and the reincarnation of ROP attacks