用于代码混淆中保密8位算术原语的精确约束训练神经网络
《Journal of Systems Architecture》:Exact constrained-training neural networks for confidential 8-bit arithmetic primitives in code obfuscation
【字体:
大
中
小
】
时间:2026年02月11日
来源:Journal of Systems Architecture 4.1
编辑推荐:
神经网络代码混淆中约束训练与安全机制研究,提出基于精确计算约束的神经网络实现8位整数加乘,通过自适应符号门控NALU和级联分解策略确保域内100%正确性,域外输入触发灾难性失败形成自然安全屏障。
宁仕|雷旭|朱天青|周万雷|孟伟志|谭宇安
北京理工大学网络空间科学与技术学院,北京,100081,中国
摘要
神经网络很少被用于精确的算术计算。然而,我们旨在将它们作为代码混淆场景中的精确计算单元来利用。传统的代码混淆方法的有效性日益受到先进逆向工程工具的威胁,这些工具利用了算术运算的语义透明度。为了解决这个问题,我们提出了针对8位整数加法和乘法进行受限训练的神经网络,这是安全关键软件中最常见的运算。对于加法,我们引入了一种受限训练算法,该算法结合了权重裁剪、强制线性的损失项和边界情况过采样,从而在整个域内实现了100%的准确率。对于乘法,我们设计了自适应符号门控NALU(ASG-NALU),这是一种改进的4位乘法器,能够在降低复杂性的同时实现精确结果。结合级联分解策略,它可以扩展到8位乘法并保证正确性。实验确认了100%的域内准确率,而域外输入会触发灾难性故障,这些故障作为天然陷阱,提供了针对动态分析的隐藏安全检查。这些结果确立了精确受限训练神经网络作为机密算术原语的地位,并牢固地将神经算术定位为推进代码混淆技术的一种有前景的方法。
引言
代码混淆是软件保护中的基本技术,旨在防止逆向工程、保护知识产权并减轻对嵌入式和安全关键系统的攻击[1]、[2]。传统方法包括控制流混淆、混合布尔算术(MBA)转换和基于虚拟化的保护。虽然在早期几十年中有效,但这些方法越来越受到程序分析、符号执行以及现代逆向工程框架(如IDA、Ghidra和基于大型语言模型(LLM)的反编译器[3]、[4])的进步的削弱。最近的研究表明,例如MBA转换可以通过代数简化或基于搜索的方法(如蒙特卡洛树搜索(MCTS)[5]、[6]、[7])系统地拆解。因此,迫切需要新的方向来构建能够抵抗经典和机器学习辅助攻击的混淆技术。
与此同时,神经网络已经展示了它们通过专用架构(如神经累加器(NAC)和神经算术逻辑单元(NALU)[8]、[9])近似符号函数(包括算术运算符)的能力。然而,这些模型主要是为算法学习任务中的外推设计的,通常会在有界整数域内牺牲精度[10]、[11]。然而,对于混淆目的来说,精度至关重要:单个错误的输出可能会破坏程序的正确性或暴露可被攻击者利用的实现缺陷。因此,挑战不是无限泛化,而是在指定的整数域内确保精确正确性,同时利用神经网络的天然限制作为安全特性。
在本文中,我们提出了一种基于精确神经计算单元的代码混淆新方法。我们不是通过语法重写或虚拟化来编码算术运算,而是用神经网络替换整数加法和乘法,这些神经网络在预定义的域内实现完美的正确性。这种策略引入了额外的语义混淆层:攻击者面临识别神经运算符和重建其精确功能范围的双重挑战。此外,神经模型的受限泛化通常被视为机器学习中的缺点,但在这里被重新解释为安全屏障。
我们的贡献总结如下:
- •
受限训练下的精确神经加法。我们提出了一种针对8位加法的受限训练算法,结合了混合损失、自适应权重裁剪和边界情况采样,在整个输入域内实现了100%的准确率。
- •
通过级联分解实现机密乘法。我们引入了一种级联策略,将8位乘法简化为4位子问题,并提出了自适应符号门控NALU(ASG-NALU),它使用比普通NALU更少的参数和迭代次数实现了100%的准确率,同时隐藏了中间计算以增强机密性。
- •
机密原语的统一评估。我们为神经算术单元定义了三个关键指标:正确性(域内准确率)、安全性(陷阱失败率)和实用性(运行时效率),为评估面向混淆的模型提供了基础。
- •
将外推失败作为防御。我们是第一个系统地将神经网络在训练范围之外的众所周知的失败重新解释为安全屏障的人。隐藏的训练范围创建了自然陷阱,误导模糊测试、符号执行和合成,而在不相交的范围上进行训练进一步分割了域并复杂化了逆向工程。
部分片段
传统代码混淆技术
代码混淆长期以来一直被用作防止逆向工程和软件篡改的防御机制。经典方法可以大致分为三类:控制流混淆、数据混淆和基于虚拟化的保护。控制流混淆通过扁平化、不透明谓词和循环转换等技术修改程序结构[12]、[13],使控制图对人类分析师和自动化工具更难解释。
神经加法单元
8位整数的加法()的结果范围是,其中。确保精确计算对于混淆场景至关重要,因为即使是一个比特错误也可能完全破坏被混淆系统的功能。为了解决这个问题,我们开发了一个受限训练框架,它在所有可能的输入对上强制数值精度。
实验设置
为了严格评估功能正确性和混淆鲁棒性,构建了两个互补的数据子集,如表1所示。
域内子集包含目标位宽内所有可能操作数对的完整笛卡尔积:对用于加法,对用于乘法。这种全面的覆盖确保了模型在所有有效的算术案例上进行了训练。陷阱子集旨在探测
安全态势、攻击面
我们的结果表明,将神经运算符视为计算级混淆原语有意义地将攻击者的问题从代数恢复转变为在域不确定性下的模型提取。与语法转换(例如MBA、控制流扁平化)不同,其语义仍然是符号可追踪的,我们单元的语义隐式嵌入在高维参数中,并且仅在隐藏的有效域上强制执行,从而产生双重不透明度——(i)参数不透明度
结论
我们提出了一种计算级混淆范式,在这种范式中,整数加法和乘法由使用受限算法训练的精确神经单元实现,确保在有限域内的位完美正确性。不可避免地,域外输入会触发灾难性故障,我们故意将这种故障从限制提升为机密防御机制。受限训练使8位加法在整个笛卡尔积范围内达到100%的准确率,而级联
CRediT作者贡献声明
宁仕:写作——审稿与编辑、撰写——原始草稿、验证、软件、方法论、数据管理、概念化。雷旭:资源、调查。朱天青:调查、形式分析。周万雷:方法论、调查、概念化。孟伟志:方法论、调查、概念化。谭宇安:监督、项目管理、方法论、调查、资金获取、形式分析。
利益冲突声明
作者声明他们没有已知的可能会影响本文所述工作的竞争财务利益或个人关系。
致谢
本工作得到了国家自然科学基金(编号:U2336201)的支持。
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号