论文部分内容阅读
计算机软件技术极大的促进了社会的信息化进程,从个人移动计算到企业云计算,丰富的软件生态为我们的生产生活提供了极大的便利。但是,在提供便利性的同时,计算机软件系统潜在的设计缺陷和漏洞却为攻击者进行攻击、窃取用户数据、执行恶意行为提供了无限可能,时时刻刻威胁个人和企业的信息安全。因而,随着软件生态的日益丰富,信息安全尤其是软件安全显得越来越重要。在诸多针对计算机软件的攻击中,代码复用攻击成为了绝对的主流,作为代码复用攻击的最新代表,ROP和JIT-ROP可谓是近年攻防研究的热点。论文分析了ROP类攻击的原理、特点和局限性,并据此提出和实现了一种防御机制——Chameleon。Chameleon防御机制将取指(?)访存和进程地址空间动态随机化有机结合,通过杜绝攻击者利用内存泄露方法直接读取进程地址空间中的代码页,且使攻击者已经掌握的有关进程地址空间布局的历史信息在投入使用之前无效化来有效防御JIT-ROP攻击。除此之外,Chameleon防御机制可以与现有的W(?)X、ALSR等机制共存,且可以在不引入额外性能损耗的前提下借助“类CFI”机制来进行安全增强。论文分别基于理论分析和实验验证说明了Chameleon可以有效防御以JIT-ROP为代表的新一代代码复用攻击,从而保障软件的安全,保证计算机软件使用主体的信息安全。实验数据表明,Chameleon引入的平均性能损耗介于14.3%和18.6%之间,基本属于可以接受的范围。Chameleon防御机制基于静态二进制插桩和定制Linux内核来完成实现,不依赖于程序源码和特定的硬件支持,因而具有较好的部署性和可移植性。