首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到10条相似文献,搜索用时 22 毫秒
1.
二进制小片段代码指令序列较短,基本块逻辑调用图结构简单,有限语义信息影响代码相似性比较结果,为此提出一种融合知识表示学习的二进制代码小片段相似性比较模型(BSM)。分别提取小片段代码的函数知识和函数代码,利用注意力机制和双向长短记忆得到知识嵌入,使用序列学习模型或图神经网络得到函数嵌入,融合知识嵌入和函数嵌入作为小片段代码向量表示。实验结果表明,BSM模型在跨平台比较上优于其它对比模型,说明模型能提升小片段代码比较的准确度。  相似文献   

2.
使用神经网络进行漏洞检测的方案大多基于传统自然语言处理的思路,将源代码当作序列样本处理,忽视了代码中所具有的结构性特征,从而遗漏了可能存在的漏洞.提出了一种基于图神经网络的代码漏洞检测方法,通过中间语言的控制流图特征,实现了函数级别的智能化代码漏洞检测.首先,将源代码编译为中间表示,进而提取其包含结构信息的控制流图,同...  相似文献   

3.
神经机器翻译技术能够自动翻译多种语言的语义信息, 已被应用于跨指令集架构的二进制代码相似性检测, 并取得了较好的效果. 将汇编指令序列当作文本序列处理时, 指令顺序关系很重要. 进行二进制基本块级别相似性检测时, 神经网络使用位置嵌入来对指令位置进行建模. 然而, 这种位置嵌入未能捕获指令位置之间的邻接、优先等关系. 针对该问题, 本文使用指令位置的连续函数来建模汇编指令的全局绝对位置和顺序关系, 实现对词序嵌入的泛化. 首先使用Transformer训练源指令集架构编码器; 然后使用三元组损失训练目标指令集架构编码器, 并微调源指令集架构编码器; 最后使用嵌入向量之间欧氏距离的映射表示基本块之间的相似程度. 在公开数据集MISA上的实验表明, P@1评价指标达到69.5%, 比对比方法MIRROR提升了4.6%.  相似文献   

4.
夏冰  庞建民  周鑫  单征 《计算机应用》2022,42(4):985-998
随着物联网和工业互联网的快速发展,网络空间安全的研究日益受到工业界和学术界的重视。由于源代码无法获取,二进制代码相似性搜索成为漏洞挖掘和恶意代码分析的关键核心技术。首先,从二进制代码相似性搜索基本概念出发,给出二进制代码相似性搜索系统框架;然后,围绕相似性技术系统介绍二进制代码语法相似性搜索、语义相似性搜索和语用相似性搜索的发展现状;其次,从二进制哈希、指令序列、图结构、基本块语义、特征学习、调试信息恢复和函数高级语义识别等角度总结比较现有解决方案;最后,展望二进制代码相似性搜索未来发展方向与前景。  相似文献   

5.
二进制代码比较技术在病毒变种分析,安全补丁分析,版本信息导出等许多领域都有着广泛的应用。在定义了基于图的二进制代码描述方法的基础上,从函数和基本块两个层次对近似的二进制代码进行比较,分析出它们之间相同的部分和差异信息。讨论了基于图的二进制文件特征的选取,利用特征比较和固定点传播算法,建立两份代码在函数和基本块两个级别的对应关系。本文给出了这种基于特征提取的二进制代码比较技术的实现框架,并列举了它在恶意软件变种分析,公开漏洞定位方面的利用实例。  相似文献   

6.
软件安全逆向分析中程序结构解析模型设计   总被引:2,自引:0,他引:2  
提出了一种基于二进制文件的程序结构解析模型。该模型通过对二进制文件反汇编,去除汇编文件中的冗余信息,对汇编文件进行静态分析,构建带有索引依赖信息的基本块,并以该基本块为基础提取二进制程序的内部控制流与函数调用关系信息,最后给出程序内部控制流图以及函数调用关系图。该模型不依赖程序的源文件,以二进制文件为分析对象,实用性和通用性比较好;实验结果表明模型对二进制程序内部结构解析具有较高的准确性。  相似文献   

7.
软件脆弱性对网络与信息安全产生了极大的威胁,而脆弱性的根源在于软件源代码。因为现有的传统静态检测工具和基于深度学习的检测方法没有完整地表示代码特征,并且简单地使用词嵌入方法转换代码表示,所以检测结果准确率低,误报率高或漏报率高。因此,提出了一种基于混合代码表示的源代码脆弱性检测方法来解决代码表示不完整的问题,并提升检测性能。首先将源代码编译为中间表示(IR),并提取程序依赖图;然后基于数据流和控制流分析进行程序切片来得到结构化的特征,同时使用doc2vec嵌入节点语句得到非结构化的特征;接着使用图神经网络(GNN)对混合特征进行学习;最后使用训练好的GNN进行预测和分类。为了验证所提方法的有效性,在软件保证参考数据集(SARD)和真实世界数据集上进行了实验评估,检测结果的F1值分别达到了95.3%和89.6%。实验结果表明,所提方法有较好的脆弱性检测能力。  相似文献   

8.
直接面向可执行程序进行安全漏洞分析时,首先需要得到二进制代码的中间语言表示。探讨了流分析技术在汇编代码理解中的应用,并在Linux平台上实现了一个轻量级汇编代码结构化表示工具BESTAR。该系统利用控制流和数据流分析技术识别通用控制结构,分析程序执行流,重构表达式和函数,发现数据依赖关系,将汇编代码转换成一个结构化、易理解的中间语言程序,为进一步进行安全分析打下了基础。  相似文献   

9.
为了避免当计算机系统的内部器件发生瞬时或永久性的故障时程序的执行流程发生错误,提出了一种基于插入块的控制流错误检测方法——CFCIB方法.该方法分析程序的控制流图,利用插入新基本块的方式消除混淆错误,在每个基本块的开头和末尾分别插入test和set断言来完成对可执行程序的控制流错误检测.实验结果表明,该方法能将原始程序的平均错误覆盖率从84.31%提升到96.78%.  相似文献   

10.
沙子涵  舒辉  武成岗  熊小兵  康绯 《软件学报》2022,33(5):1833-1848
控制流是程序过程的抽象表现, 对控制流进行混淆, 可有效提高代码抗逆向能力. 提出了控制流深度模糊思想:针对循环结构, 利用回调函数构造等价循环模型, 将过程内基本块跳转变更为过程间函数调用, 对抗逆向技术. 综合应用控制流分析和数据流依赖性分析, 建立了基于回调函数的控制流深度模糊模型, 并给出功能一致性证明. 为进...  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号