arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1312.3891cs.PLcs.CR
收藏

软件安全中的算法多样性

Algorithmic Diversity for Software Security

Cory O. Root

AI总结:

本文提出一种通用的NOP插入算法,用于提升软件安全,通过多样性减少代码重用攻击的成功率,并分析其成本与性能优化。

摘要:

软件多样性通过增加代码的不可预测性,有效抵御现代攻击手段,如代码重用攻击。当攻击者设计针对特定可执行文件的代码重用攻击时,其依赖于复制目标环境。而在软件多样性策略下,攻击者无法可靠地复制目标环境,从而提升了系统的安全性。此方法可应用于大规模软件分发场景。当应用于大规模社区时,即使攻击者分析样本以提高攻击成功率,其成功概率也会显著降低。本文提出了一种通用的NOP插入算法,该算法可扩展和定制以满足安全、性能或其他成本需求。我们展示了通过多样性增强的安全性,使得基于任一变体的代码重用攻击在另一变体上几乎无法成功,并分析了该方法的成本。此外,变体可进一步定制以满足性能或内存开销约束。确定性多样性允许在不牺牲安全性的情况下灵活平衡这些需求,这在随机在线方法中是无法实现的。

英文摘要:

Software diversity protects against a modern-day exploits such as code-reuse attacks. When an attacker designs a code-reuse attack on an example executable, it relies on replicating the target environment. With software diversity, the attacker cannot reliably replicate their target. This is a security benefit which can be applied to massive-scale software distribution. When applied to large-scale communities, an invested attacker may perform analysis of samples to improve the chances of a successful attack (M. Franz). We present a general NOP-insertion algorithm which can be expanded and customized for security, performance, or other costs. We demonstrate an improvement in security so that a code-reuse attack based on any one variant has minimal chances of success on another and analyse the costs of this method. Alternately, the variants may be customized to meet performance or memory overhead constraints. Deterministic diversification allows for the flexibility to balance these needs in a way that doesn't exist in a random online method.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑