二进制代码相似性检测也能对抗?

逆向病毒分析 2年前 (2022) admin
688 0 0
二进制代码相似性检测也能对抗?
VLab-实验室
二进制代码相似性检测也能对抗?

二进制代码相似性检测(BCSD),即两个二进制可执行代码的相似性检测,有着广泛的用途,如软件成分分析、恶意软件检测和软件剽窃检测等。
笔者给大家推荐一篇关于BCSD黑盒对抗代码生成算法的论文——FuncFooler:APracticalBlack-boxAttackAgainstLearning-base Binary Code Similarity Detection Methods。

二进制代码相似性检测也能对抗?

论文地址:https://arxiv.org/abs/2208.14191

二进制代码相似性检测BCSD

二进制代码相似性检测,首先对二进制可执行程序进行反汇编,得到反汇编的代码,然后根据代码片段粒度(函数)对反汇编的代码进行切割,得到代码片段,根据代码片段计算两个可执行程序的相似度。

传统的分析方法主要是分析代码的特征,可扩展性和检测性能较差。近年来,随着深度学习在各个领域的蓬勃发展,利用深度学习方法获取代码片段的语义信息已成为当下的主流研究方向,当前成熟有效的方案包括二进制代码相似性检测也能对抗?二进制代码相似性检测也能对抗?二进制代码相似性检测也能对抗?等。

尽管基于深度学习的BCSD已经取得了很好的效果,对相似的二进制代码有很高的召回率。但由于深度学习本身的原因,使得模型容易受到输入代码微小变化的影响,尤其是对抗代码的存在,使得模型容易被欺骗,从而影响模型对代码的判断,降低相似代码的召回率。为了验证基于深度学习的方法的脆弱性并提高方法的鲁棒性,论文提出了二进制代码相似性检测也能对抗?,一种高效的黑盒对抗代码生成算法。

算法概要

不同于图像和文本领域的对抗攻击,对抗代码的搜索空间可以是离散的,目标汇编代码搜索范围局限于特定的架构指令集(如二进制代码相似性检测也能对抗?),且对抗代码必须满足语义约束,即

1.对抗代码功能与原始代码相同;

2.对抗代码的控制流图与原始代码相同。

二进制代码相似性检测也能对抗?是一种黑盒攻击下的对抗代码生成算法,通过三个任务:

1.确定可攻击集合;

2.插入对抗指令;

3.纠正对抗指令的语义错误。

生成对抗代码样本,并成功地应用于二进制代码相似性检测也能对抗?二进制代码相似性检测也能对抗?基准测试中的三个最先进的基于深度学习的BCSD模型(二进制代码相似性检测也能对抗?二进制代码相似性检测也能对抗?二进制代码相似性检测也能对抗?)。在对抗实验中,二进制代码相似性检测也能对抗?能通过向程序中添加较少的扰动,生成有效误导目标模型的对抗代码。

算法介绍

算法流程

二进制代码相似性检测也能对抗?
图一

如图上图示,通过在恶意软件函数的第6条指令之后插入指令,得到了三个对抗样例。

对抗样例1可以欺骗基于深度学习的BCSD方法,但插入的跳转指令改变了控制流图,因此不是一个有效的对抗样例。

对抗样例2通过在指令二进制代码相似性检测也能对抗?之后插入指令二进制代码相似性检测也能对抗?,虽然可以欺骗基于深度学习的BCSD方法,但改变了函数的功能,因此它也不是一个有效的对抗样例。

对抗样例3由二进制代码相似性检测也能对抗?生成,在不改变控制流图的同时,又保证了与恶意函数功能的功能等价。

对于给定有n个指令的函数二进制代码相似性检测也能对抗?,有效的对抗样例二进制代码相似性检测也能对抗?应满足以下要求:

二进制代码相似性检测也能对抗?

其中二进制代码相似性检测也能对抗?表示两个函数之间的相似度,有效的对抗样例与目标函数之间的相似度高于原函数与目标函数之间的相似度。二进制代码相似性检测也能对抗?二进制代码相似性检测也能对抗?代表二进制代码相似性检测也能对抗?二进制代码相似性检测也能对抗?的实现功能,两者应该是等价的。二进制代码相似性检测也能对抗?返回知识库中与对抗性样例二进制代码相似性检测也能对抗?相似度最高的二进制代码相似性检测也能对抗?的函数。

作者以恶意软件检测领域为例,介绍了二进制代码相似性检测也能对抗?对基于深度学习的BCSD的作用,如下图所示,二进制代码相似性检测也能对抗?的输入是一个恶意软件函数,输出是一个对抗样例。将恶意软件函数和对抗样例分别传递给基于深度学习的BCSD模型,该模型将分别生成特征向量二进制代码相似性检测也能对抗?二进制代码相似性检测也能对抗?y,计算与知识库中所有函数的相似度得分,并按得分降序排序。从相似度得分可以看出,恶意软件函数与知识库中具有相同恶意行为的其他恶意函数(用橙色表示)具有较高的相似度,与良性程序(用蓝色表示)的相似度较低。而对抗样例与知识库中的良性程序具有较高的相似性,与恶意函数具有作者以恶意软件检测领域为例,介绍了二进制代码相似性检测也能对抗?对基于深度学习的BCSD的作用,如下图所示,二进制代码相似性检测也能对抗?的输入是一个恶意软件函数,输出是一个对抗样例。将恶意软件函数和对抗样例分别传递给基于深度学习的BCSD模型,该模型将分别生成特征向量二进制代码相似性检测也能对抗?二进制代码相似性检测也能对抗?y,计算与知识库中所有函数的相似度得分,并按得分降序排序。从相似度得分可以看出,恶意软件函数与知识库中具有相同恶意行为的其他恶意函数(用橙色表示)具有较高的相似度,与良性程序(用蓝色表示)的相似度较低。而对抗样例与知识库中的良性程序具有较高的相似性,与恶意函数具有较低的相似性。较低的相似性。

二进制代码相似性检测也能对抗?
图2

对抗样例的生成

如图2所示,对抗样例的生成步骤如下:

1.使用二进制代码相似性检测也能对抗?将源代码编译成二进制可执行程序。

2.二进制代码相似性检测也能对抗?将二进制可执行文件进行反汇编,得到二进制可执行文件的函数片段。

3.二进制代码相似性检测也能对抗?通过向指定位置插入指令对函数进行对抗转换,得到对抗指令。

4.二进制代码相似性检测也能对抗?将对抗指令写入源代码。

5.使用二进制代码相似性检测也能对抗?编译对抗源代码,得到对抗二进制可执行文件。

实验结果

评估指标

论文对基于深度学习的BCSD的SOTA方案执行二进制代码相似性检测也能对抗?攻击。算法性能用二进制代码相似性检测也能对抗?二进制代码相似性检测也能对抗?二进制代码相似性检测也能对抗?二进制代码相似性检测也能对抗?进行评估:

二进制代码相似性检测也能对抗?

二进制代码相似性检测也能对抗?来表示模型的原始精度。二进制代码相似性检测也能对抗?表示模型对对抗样例的识别率。二进制代码相似性检测也能对抗?表示为生成对抗样例而引入到原始样例中的指令的百分比。二进制代码相似性检测也能对抗?表示模型在对抗指令方面的敏感性。

分析结果

二进制代码相似性检测也能对抗?基准测试上,二进制代码相似性检测也能对抗?对3个目标模型(二进制代码相似性检测也能对抗?二进制代码相似性检测也能对抗?二进制代码相似性检测也能对抗?)的攻击结果,如下所示:

二进制代码相似性检测也能对抗?

图 3

二进制代码相似性检测也能对抗?将所有模型的准确性从100%降低到9%以下,而插入的指令占比不到13%。

为了验证基于一个模型的对抗样例是否也能欺骗另一个模型,作者收集了被一个目标模型预测错误的二进制代码相似性检测也能对抗?二进制代码相似性检测也能对抗?的对抗样例,测量它们与另一个目标模型的预测精度。

二进制代码相似性检测也能对抗?

图4

根据图4,一个模型上生成的对抗例对其他模型仍然具有攻击效果,基于二进制代码相似性检测也能对抗?模型生成的对抗例具有较高的可移植性。

向模型中同时输入原始数据和对抗实例,原始模型是否能获得更强的鲁棒性。作者从二进制代码相似性检测也能对抗?中收集了基于二进制代码相似性检测也能对抗?的有效对抗样例,并将它们添加到原始训练集中。并用新的对抗样例测试经过重新训练的二进制代码相似性检测也能对抗?

二进制代码相似性检测也能对抗?

图5

经过重新训练的二进制代码相似性检测也能对抗?二进制代码相似性检测也能对抗?二进制代码相似性检测也能对抗?在两个基准上都提高了50%到100%。通过使用二进制代码相似性检测也能对抗?生成的对抗样例训练模型,可以增强模型对攻击的鲁棒性。然而,经过重新训练的模型还不足以完全防御二进制代码相似性检测也能对抗?的攻击。

参考文献

Jia L, Tang B, Wu C, et al. FuncFooler: A Practical Black-box Attack Against Learning-based Binary Code Similarity Detection Methods[J]. arXiv preprint arXiv:2208.14191, 2022.

论文地址:https://arxiv.org/abs/2208.14191

注:本文图片均来源于以上论文

二进制代码相似性检测也能对抗?

往期回顾

二进制代码相似性检测也能对抗?

Linux系统下安全控制策略SELinux解

基于SBERT孪生网络的漏洞描述归一化

MiraclePtr UAF漏洞利用缓解技术介绍


二进制代码相似性检测也能对抗?
引领智能网络攻防科技
二进制代码相似性检测也能对抗?
点击在看
分享给小伙伴

↓点击阅读原文,了解更多墨云信息

原文始发于微信公众号(VLab Team):二进制代码相似性检测也能对抗?

版权声明:admin 发表于 2022年12月2日 下午4:01。
转载请注明:二进制代码相似性检测也能对抗? | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...