ALMOND:学习一种汇编语言模型,用于检测零次代码混淆行为
《Proceedings of the ACM on Software Engineering》:ALMOND: Learning an Assembly Language Model for 0-Shot Code Obfuscation Detection
【字体:
大
中
小
】
时间:2025年11月07日
来源:Proceedings of the ACM on Software Engineering
编辑推荐:
代码混淆检测的零样本学习新方法ALMOND通过预训练未混淆汇编语言模型,利用"错误困惑度"捕捉混淆特征,无需标注数据即可高效识别新式混淆方法,实验表明其检测精度达96.3%且优于监督学习基线。
摘要
代码混淆是一种用于保护软件的技术,它通过使代码难以理解和逆向工程来达到保护目的。然而,这种技术也可能被用于恶意目的,如代码剽窃或开发恶意程序。基于学习的方法在监督学习和标记训练集的帮助下取得了巨大成功。然而,当面对涉及私有开发且未公开的混淆器的现实环境时,这些监督学习方法在处理未见过的或未知类型的混淆技术时,其泛化能力和鲁棒性往往会受到质疑。
本文提出了一种名为ALMOND的新方法,该方法可以用于检测二进制可执行文件中的代码混淆。与以往的监督学习方法不同,ALMOND在训练过程中不需要标记过的混淆样本。相反,它利用仅在未混淆的汇编代码上预训练的语言模型来识别混淆引入的语言差异。其核心创新在于使用“错误困惑度”作为检测指标,该指标关注模型无法预测的代码片段。通过引入“连续错误困惑度”这一概念,该方法能够更好地捕捉到混淆序列中的连续预测错误。实验表明,ALMOND在处理未见过的混淆技术时准确率达到96.3%,优于传统的监督学习方法。在真实世界的恶意软件样本上,其AUC值为0.869,显著优于基于监督学习的基线方法。我们的数据集、预训练模型及评估代码可在此链接获取:https://github.com/palmtreemodel/ALMOND
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号