关键词:
软件代码同源
Motif结构
函数调用图
控制流图
局部敏感哈希
摘要:
近年来,以软件代码为载体的网络安全问题频频发生,软件代码同源判定作为解决网络攻击溯源等安全问题的共性关键技术变得尤为重要,准确定位软件代码来源已成为各方关注的焦点。由于当前软件代码具备运行平台多样、变形手段繁多、表现形式复杂等多形态特点,导致其同源判定极为困难。如何有效的发现多形态软件代码同源,对增强我国网络空间安全的防护力、威慑力至关重要。面向多形态软件代码的同源判定,首先需厘清软件代码同源的概念及边界,实现其定性定量描述;其次需关注软件代码同源特征表示及其处理效率,研究新方法解决其时空开销大的问题;再次需考虑软件代码同源特征损失的应对措施,探索新思路解决其表征困难的问题;最后需针对新形态软件易变形的特点,设计新算法解决其同源判定方法适应性不足的问题。本文围绕多形态软件代码同源判定问题,深入分析了相关领域的技术发展趋势及面临的主要挑战,重点研究了多种形态软件代码的同源判定方法,并基于此构建了原型系统。主要贡献如下:(1)针对大规模软件代码同源判定时空效率不高的问题,提出了基于Motif结构的软件代码同源快速判定方法,通过对大规模软件语义结构图的有效表征,实现了大规模软件代码同源的快速判定。提出了基于函数调用图Motif结构的特征表示方法以及Motif结构提取算法,实现了Motif结构对软件代码函数调用图的表征,并设计了Motif结构及其频率分布的相似度计算方法,实现了软件代码同源快速判定。实验结果表明,本文方法在准确率、鲁棒性及耗时等方面均有明显优势,使其可应用于大规模软件代码同源的快速判定。(2)针对软件代码变形导致同源特征难以表征的问题,提出了基于混合语义的二进制代码同源判定方法,通过对多形态二进制代码潜在同源特征挖掘,实现了多形态二进制代码同源的准确判定。提出了文本语义及结构语义混合的特征表示方法,实现了文本嵌入与图嵌入相结合的混合语义表达,设计了混合语义模型嵌入孪生神经网络框架的方法,实现了二进制代码同源判定模型构建。实验结果表明,本文方法有效提升了二进制代码同源判别效果,该算法在多种测试条件下具有良好的稳定性,可支持多种形态二进制软件代码同源的准确判定。(3)针对新形态软件代码同源判定方法适应性不足的问题,提出了多维度的移动应用同源判定方法,通过对移动应用分区域的特征表示与计算,实现同源移动应用的准确识别。提出了移动应用整体、资源及代码等多维度的特征表示及针对性的处理算法,实现了不同侧面的同源判定,设计了多种相似度算法的联合及优化策略,实现了移动应用同源的准确判定。实验结果表明,本文方法在同源判定准确率和速度等方面具有显著优势,并在真实环境中表现良好,且不依赖有监督数据,可作为移动应用市场安全策略的有效补充。