基于神经网络的二进制代码相似性检测关键技术研究

来源 :战略支援部队信息工程大学 | 被引量 : 0次 | 上传用户:norn1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
互联网上丰富的开源代码和第三方组件能够协助软件开发者快速高效地完成开发任务,同时极大地解放了生产力和创造力。正因如此,第三方代码在软件工程中被广泛地使用,甚至无处不在。在很多情况下,即便无法获得软件的源代码或缺少版权声明,我们也想了解软件中第三方代码的复用情况,进而实现知识产权保护和脆弱代码监控等重要应用,二进制代码相似性检测就是为了完成这类任务。本文通过对现有工作的研究发现,由于突破了传统方法在大规模检测任务中遇到的性能瓶颈,基于神经网络的二进制代码相似性检测技术正成为研究的热门,但这类技术仍然存在诸多问题。本文对代码相似性检测的关键技术展开了研究,提出了一种基于神经网络的跨架构二进制代码的相似性检测方法。该方法首先为不同指令架构的二进制代码构建了一种跨架构的两级中间表示;然后利用一种句嵌入模型,从基本块级的中间表示中学习基本块的语义嵌入向量,将该向量作为基本块的相似性特征;接着利用一种图嵌入模型,从函数级的中间表示中学习整个函数的嵌入向量,将该向量作为函数的相似性特征;最后利用函数嵌入向量间的余弦距离来度量函数间的相似性,并结合函数调用图为代码间的相似性判定提供参考。本文的主要研究内容和创新点如下:1.针对现有代码相似性综述尚未涵盖二进制代码相似性研究的最新成果,也未能突出该领域的发展方向的问题,本文提出了一种依据关注信息不同对二进制代码相似性检测技术进行分类的方法,并特别研究了基于神经网络嵌入的二进制代码相似性检测技术。2.针对二进制代码在指令架构上的特异性问题,本文研究了VEX和CFG两种跨架构的中间表示的特性,提出了一种跨架构二进制代码的两级中间表示的构建方法,实现了不同指令架构二进制代码的统一表示,降低了检测方法对指令架构的依赖。3.针对代码相似性特征的提取过程容易引入人为偏见的问题,本文研究了将自然语言处理的表征学习模型用于程序语言表征学习的相关技术,提出了一种基于句嵌入模型的基本块语义嵌入技术,实现了基本块级的代码相似性特征的无监督学习。实验结果显示,与采用人工定义的基本块特征的代码相似性检测系统相比,该技术能够将系统的准确率至少提高3.2%。4.针对现有图神经网络对函数控制流图的信息利用不足的问题,本文研究了消息传递网络的概念,改进了现有图神经网络模型并将其用于函数相似性检测任务,提出了一种基于图神经网络的函数CFG嵌入方法。实验结果表明,改进后的检测系统的准确率至少提升了1.6%。
其他文献
当前,工业物联网伴随着全球新一轮科技革命和产业变革应运而生,涉及工业与互联网等信息通信技术的各个环节和主体。为了满足工业物联网对高速率、高密度、低延时通信的需求,可见光通信提供了一种新型的解决方案。然而,工业物联网场景中设备的移动以及高密度小区产生的小区间干扰,对可见光通信的高速鲁棒传输提出巨大挑战。为此,本文面向可见光移动通信对鲁棒接收的需求,研究阵列可见光通信移动接收的几个关键技术,主要的研究
近年来,随着互联网、物联网和智能移动终端技术的飞速发展,泛在网络的广度与深度也随之增加,与之而来的就是泛在信息的爆发式增长。作为泛在信息的一种重要表现形式,泛在统计图表能将繁冗的统计数据以直观形象的形式展现出来,在地理信息表达和传输等领域应用广泛,其中包含了大量具有重要价值的信息,实现泛在统计图表中信息的智能解译可以为各种地图产品的具体应用提供数据支撑。泛在统计图表的数据格式为栅格型图像,因此可以
随着互联网和智能设备时代的到来,现有的频谱资源日益紧张,严重限制着终端用户的数字化体验,人们对高密度与高速率通信系统的需求日益强烈。通信频谱向更高频段延伸已然成为移动通信发展的必然趋势。众所周知,毫米波频段具有相当可观的频谱资源,能够很好的摆脱当前通信系统所面临的困境。然而毫米波通信同样存在诸多问题,如传输损耗高、绕射和衍射能力弱等,严重影响通信质量及信号覆盖范围。采用波束赋形技术的多波束天线系统
辐射源个体识别技术(Specific Emitter Identification,SEI)通过提取信号中蕴含的可以表现辐射源硬件特性的细微畸变来实现对某一特定发射设备的识别。其识别过程不需要对内涵信息进行解译和理解,在无线安全、自组织网、军事目标识别等领域得到了应用。在实际应用中,存在进行跨接收机SEI的需求,即利用多个接收机的接收数据实现对发射设备的识别,例如对广域运动辐射源的识别和多平台协同
波达方向(Direction-of-Arrial,DOA)估计技术是5G与物联网相融合的关键技术之一,超分辨子空间类DOA估计算法实现了较优估计性能,但由于均匀阵列存在孔径较小、阵元间互耦误差较大、阵列分辨力较低等不足,其性能仍有待提高。互质阵列作为一种新型的稀疏阵列,具有等阵元数时阵列孔径大、等孔径时阵元开销数少、阵元互耦误差小、高分辨力等优势,能够获得更优异的阵列信号处理增益,因此结合互质阵列
近些年,语音识别技术随着深度学习的发展再度兴起并进入新的发展阶段。在近场声学环境下,自动语音识别取得了超人的识别准确率。然而,在实际应用中,拾取语音通常包含噪声、混响、回声、人声等干扰因素,使得识别性能严重下降。与近场声学环境相对应,远场声学环境是指声源与接收器之间距离为1m到10m的声学环境,囊括了智能音响、可穿戴设备和助听器等大部分语音识别系统的实际应用场景。远场语音识别技术可以提升在复杂声学
Stencil是一类在科学计算和工程应用中常见的计算模式,其计算和访存开销随规模增大呈线性增长,适合在高性能计算机上并行执行。我国自主研发设计的“神威·太湖之光”由国产SW26010众核处理器搭载而成,是世界上首台性能超过100 Pflop/s的超级计算机。为充分发挥国产超级计算机在科学应用性能加速中的作用,针对Stencil计算的性能优化研究十分重要。然而,Stencil计算在国产异构众核处理器
当前,信号处理领域实时性要求越来越高,采用CPU+GPU架构的高性能处理平台逐渐在信号处理领域受到重视。为了有效发挥平台内部CPU和GPU计算资源的效率,需要任务调度算法与平台的硬件特点相匹配。然而对于CPU+GPU异构信号处理平台,传统调度算法由于CPU+GPU架构的特殊性,无法发挥优势,甚至造成负面影响。课题由此研究改进了适合于CPU+GPU异构信号处理平台的任务调度决策与方法,实现了对平台多
水声通信信号的盲检测与调制识别是非合作接收条件下水声通信信号信息恢复的重要环节,对海洋资源的开发利用以及提升水下侦察预警能力等具有重要意义。传统的基于特征统计量的水声通信信号盲检测与调制识别方法在水声多途信道和复杂分布噪声环境下往往不够稳健,而深度学习方法能够自动提取深层特征并分类,有效降低了对人工领域知识的依赖。但是,该类方法往往要求大量来自待测目标信道条件下的数据对网络进行训练,在非合作接收条
卫星通信具有覆盖范围广、不受地理条件限制、不易遭到破坏、可承载业务种类多等优点,在应急通信中具有广泛的应用;而不同应用场景往往需要不同的传输速率以承载差异化的服务,通信设备如果能够支持多速率传输和多调制方式的在线切换,将会使系统更具有通用性;TDMA被广泛应用于卫星通信中,其具有单载频复用、无互调干扰、吞吐量高等优点,非常适合处理突发业务。因此本文拟设计一套支持多调制方式和多速率传输的TDMA系统