基于约束的JOP小配件多样化
密码学与安全
2022-01-05 v1 人工智能
摘要
现代软件部署过程产生统一的软件,因此易受大规模代码复用攻击,例如面向跳转编程(JOP)攻击。基于编译器的多样化通过自动生成给定程序的不同汇编代码版本,提升软件系统的韧性。现有技术效率高,但无法精确控制生成变体的质量。本文提出按构造多样化(DivCon),一种基于约束的软件多样化方法。与以往方法不同,DivCon允许用户控制并调节多样化与代码质量之间的冲突目标。一个关键促成因素是使用大邻域搜索(LNS)高效生成高度多样化的代码。对于更大规模问题,我们提出将LNS与问题的结构分解相结合。为进一步提升DivCon抵御JOP攻击的多样化效率,我们提出一种针对JOP攻击特征定制的应用特定距离度量。我们使用来自流行嵌入式系统基准套件的20个函数评估DivCon。实验表明,LNS与我们的应用特定距离度量的结合生成了对JOP攻击高度韧性的二进制程序。结果证实,每个汇编代码版本的质量与整个版本池的多样性之间存在权衡。特别地,实验显示DivCon生成了共享少量小配件的近最优二进制程序。对于约束规划研究者和从业者,本文证明了LNS是寻找多样解的有价值技术。对于安全研究者和软件工程师,DivCon将基于编译器的多样化范围扩展至性能关键和资源受限的应用。
引用
@article{arxiv.2111.09934,
title = {Constraint-based Diversification of JOP Gadgets},
author = {Rodothea Myrsini Tsoupidi and Roberto Castañeda Lozano and Benoit Baudry},
journal= {arXiv preprint arXiv:2111.09934},
year = {2022}
}
备注
arXiv admin note: substantial text overlap with arXiv:2007.08955