通过机器学习预测模糊代码抵抗符号执行攻击的弹性

作者:

塞巴斯蒂安·巴内斯库,慕尼黑理工大学;克里斯蒂安·科尔伯格,亚利桑那大学;亚历山大·普雷施纳,慕尼黑理工大学

摘要:

软件模糊处理会转换代码,因此很难进行反向工程。然而,众所周知,如果提供足够的资源,攻击者将成功地对经过模糊处理的程序进行反向工程。因此,软件模糊处理的一个公开挑战是估计经过模糊处理的程序能够抵御给定反向工程攻击的时间。本文提出了一个通用框架,用于选择最相关的软件功能来评估自动攻击的效果。我们的框架使用这些软件功能构建回归模型,可以预测不同软件保护转换对自动攻击的恢复能力。为了评估我们的方法的有效性,我们在一个案例研究中对其进行了实例化,该案例研究使用基于符号执行的攻击来预测消除一组C程序所需的时间。为了训练回归模型,我们的系统需要大量的程序作为输入。因此,我们实现了一个代码生成器,可以生成大量任意复杂的随机C函数。我们的结果表明,符号路径约束的图形表示中的社区结构数量等特征与预测脱模糊时间的相关性远大于通常用于测量控制流模糊效力的其他特征(例如圈复杂度)。我们的最佳模型能够预测基于符号执行的deobfusion攻击的秒数,对于我们数据集中80%的程序,准确率超过90%,其中还包括几个实际的哈希函数。

开放存取媒体

USENIX致力于开放访问我们活动上展示的研究。活动开始后,所有人都可以免费获得论文和会议记录。活动结束后发布的任何视频、音频和/或幻灯片也免费向所有人开放。支持USENIX以及我们对开放存取的承诺。

BibTeX公司
@进行中{203634,
author={塞巴斯蒂安·巴内斯库(Sebastian Banescu)、克里斯蒂安·科尔伯格(Christian Collberg)和亚历山大·普雷施纳(Alexander Pretschner)},
title={通过机器学习预测模糊代码对抗符号执行攻击的弹性},
booktitle={第26届USENIX安全研讨会(USENIX-Security 17)},
年份={2017年},
isbn={978-1-931971-40-9},
地址={温哥华,不列颠哥伦比亚},
页数={661--678},
网址={https://www.usenix.org/conference/usenixsecurity17/technical-sessions/presentation/banescu(网址:https://www.usenix.org/conference/usenixsecurity17/technical-sessions/presentation/banescu)},
publisher={USENIX协会},
月=八月
}

演示文稿视频