Shuffler:抵御代码重用攻击的实时代码随机化技术

0 下载量 155 浏览量 更新于2024-07-14 收藏 386KB PDF 举报
"Shuffler - Fast and Deployable Continuous Code Re-Randomization - 2016 (shuffler-osdi16)" 论文详细介绍了针对现代系统中日益严重的代码重用攻击问题,特别是Just-In-Time ROP (JIT-ROP) 技术的防御策略。Shuffler是一种高效且可部署的连续代码随机化技术,旨在通过实时地对代码位置进行重新随机化,以在攻击者能够构建完整利用链之前设定一个时间限制,从而极大地增加攻击的难度。 论文作者包括来自哥伦比亚大学、英属哥伦比亚大学和布朗大学的研究人员。他们提出了Shuffler这个防御系统,该系统的核心特点是快速、自托管以及对最终用户非侵入性。为了实现速度这一目标,Shuffler在后台异步地对代码进行随机化,避免了对程序运行的直接影响。 Just-In-Time ROP(JIT-ROP)攻击是利用内存泄露漏洞,在运行时发现代码片段(gadgets)来构造攻击链的攻击方式。由于其动态性和灵活性,JIT-ROP成为了一种难以防御的威胁。Shuffler的出现就是为了应对这种攻击,它以毫秒级的时间间隔不断重新打乱代码位置,使得攻击者在短时间内无法构建出稳定的利用链。 Shuffler的设计考虑到服务器程序的特性,它们通常会远离攻击者的机器,这意味着攻击者需要花费更多时间来收集信息和构造攻击。通过设定实时性限制,Shuffler提高了攻击成功的门槛,使得那些需要长时间准备的攻击变得极其困难。 此外,Shuffler的自我托管意味着它可以在不依赖外部工具或服务的情况下运行,这减少了系统的复杂性和潜在的脆弱点。对于终端用户来说,Shuffler的运行应该是透明的,不会影响到他们的正常使用体验。 Shuffler是一种创新的安全防御机制,通过持续的代码随机化,有效地提高了软件的抗攻击能力,特别是在抵御JIT-ROP攻击方面表现出显著的优势。它的设计和实现考虑到了性能和用户体验,使其成为一个理想的实用安全解决方案。