基于代码相似性的跨平台二进制漏洞检测技术研究

来源 :战略支援部队信息工程大学 | 被引量 : 0次 | 上传用户:quakerb
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
代码复用极大提高软件开发效率的同时可能带来一定的安全风险,如果被重用的代码片段中包含漏洞,则所有在此基础上构建的软件系统都会受到影响,因此漏洞检测一直都是软件安全领域研究的重要问题。但是,对于大多数商业软件和设备的固件镜像无法获得源代码,此外随着物联网设备的普及,越来越多的程序被移植到不同体系架构的平台上运行。因此针对跨平台二进制漏洞的检测问题日益成为该领域研究的重点。二进制代码相似性检测用于度量两个或多个二进制程序组件之间的相似关系。利用已经公布的已知漏洞样本,通过相似性分析,可以帮助安全分析人员快速定位到其他软件中存在的相同或相似的漏洞。目前提出的跨平台二进制代码相似性检测方法依赖于人工选取的基本块统计特征和程序内部的结构信息作为二进制代码的表示。但是,一方面,手工选取的统计特征粒度较粗,并且太过依赖于专家知识,容易引入人为误差。另一方面,程序的结构特征会随着指令集架构和编译配置的不同发生显著变化。受到自然语言处理中文本相似度分析的启发,本文利用神经机器翻译模型,通过无监督学习自动捕获二进制函数的语义信息,生成函数的嵌入向量。并在此基础上设计和实现了一个跨平台二进制漏洞检测框架。本文的主要贡献如下:1.提出了一个分阶段的数据预处理过程。为了解决原始二进制函数无法直接作为神经机器翻译模型训练输入的问题,本文设计了一种二进制函数多序列生成算法,把函数的CFG转化为多个汇编指令的线性序列,其中每个序列代表一个潜在的执行路径。2.设计并提出了“预训练+微调”的二进制函数语义嵌入向量生成模型。从函数粒度上,利用神经机器翻译模型自动提取出二进制函数的语义信息。相较于手工提取特征的方法能够同时包含更多的汇编指令的原始语义信息和程序内部的结构化信息。3.基于二进制代码相似性比对设计并实现了一个跨平台二进制漏洞检测的通用框架。该检测框架能够有效检测出现实固件中的真实漏洞,并且比现有方法的准确率更高,充分说明了本文提出的检测框架能够有效解决跨指令集架构二进制漏洞检查问题。
其他文献
随着互联网和智能设备时代的到来,现有的频谱资源日益紧张,严重限制着终端用户的数字化体验,人们对高密度与高速率通信系统的需求日益强烈。通信频谱向更高频段延伸已然成为移动通信发展的必然趋势。众所周知,毫米波频段具有相当可观的频谱资源,能够很好的摆脱当前通信系统所面临的困境。然而毫米波通信同样存在诸多问题,如传输损耗高、绕射和衍射能力弱等,严重影响通信质量及信号覆盖范围。采用波束赋形技术的多波束天线系统
辐射源个体识别技术(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系统
互联网上丰富的开源代码和第三方组件能够协助软件开发者快速高效地完成开发任务,同时极大地解放了生产力和创造力。正因如此,第三方代码在软件工程中被广泛地使用,甚至无处不在。在很多情况下,即便无法获得软件的源代码或缺少版权声明,我们也想了解软件中第三方代码的复用情况,进而实现知识产权保护和脆弱代码监控等重要应用,二进制代码相似性检测就是为了完成这类任务。本文通过对现有工作的研究发现,由于突破了传统方法在
2020年国家信息安全漏洞共享平台(China National Vulnerability Database,CNVD)所披露的数据显示,当前互联网环境中Web应用类型漏洞占总体漏洞数量的26.5%,可见互联网环境中的Web应用程序面临着极大的安全威胁。代码注入攻击与XSS(Cross Site Scripting)攻击是目前Web应用程序面临的主要威胁,针对此类攻击的传统防御手段,存在过滤规则