首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
传统的文件相似性检测技术是基于源代码的,针对源代码难以获取的情况,二进制文件比对技术被提出并受到越来越多的关注。总结和分析了四种二进制文件相似性检测技术和主流的检测工具。在提出了二进制文件克隆比对的评价方法的基础上进行了实验测试。该方法针对二进制文件克隆的分类方式,设计了实验流程和相似度的计算标准。结果表明对于连续克隆,不影响调用关系的分割克隆,不影响基本块数量和调用关系的等价替换克隆,采用二进制文件相似性检测比采用基于token的源代码文件相似性检测能得到更准确的检测结果。  相似文献   

2.
文章对基于文本、Token和抽象语法树的同源性检测技术进行探讨,详细介绍了关于抽象语法树的同源性检测技术。同时,在对实际应用大量研究的基础上,文章着重介绍了源代码同源性检测系统的架构设计,以及引擎比对、比对结果分析和比对结果输出等主要功能模块,并对开发的系统进行了系统测试和分析,验证了算法的可行性。  相似文献   

3.
在软件相似性鉴定中,笔者遇到了一个C语言编写软件和汇编语言编写软件的相似性鉴定,在过往的几个相似判决案例中,鉴定机构都直接比对了目标代码,且在其中一份判决案例中直接提到了在二进制代码实质相同的情形下,存在用不同语言编写的源程序的可能性极小。而在本案中,经过试验求证,发现相同的目标代码是可能来源于不同语言编写的源代码,而且C语言源代码和汇编语言源代码之间存在转换关系,C语言源代码可在编译中生成汇编语言代码,而C语言源代码生成的目标代码也可反编译成汇编语言代码,从而进行进一步的比对,这种比对,在原被告都提供了与目标代码对应的源代码的情况下,比只比对目标代码显然更具有说服力。  相似文献   

4.
夏之阳  易平  杨涛 《计算机工程》2019,45(12):141-146
静态漏洞检测通常只针对文本进行检测,执行效率高但是易产生误报。针对该问题,结合神经网络技术,提出一种基于代码相似性的漏洞检测方法。通过对程序源代码进行敏感函数定位、程序切片和变量替换等数据预处理操作,获取训练所用数据。构建基于Bi-LSTM的相似性判别模型,设定漏洞模板数据库,将待测代码与漏洞模板作比对以判别其是否存在漏洞。实验结果表明,该方法的准确率可达88.1%,误报率低至4.7%。  相似文献   

5.
源代码安全作为软件安全最为重要的安全点之一,是软件安全最底层的关键点。文章提出了源代码安全的一些常见的检测指标,结合SQL注入、跨站脚本、路径篡改和空指针4个比较常见的源代码安全漏洞对源代码安全进行了详细的分析研究。文章提出了源代码安全必须规避的一些基本方法,提高了源代码的安全和质量。  相似文献   

6.
针对已有的使用单个静态检测工具进行源代码安全缺陷检测存在的漏报率和误报率很高的问题,提出了一种基于多种静态检测工具的检测方法。该方法通过对多种工具的检测结果进行统计分析,有效地降低了漏报率和误报率。设计和实现了一个可扩展的源代码静态分析工具平台,并通过实验表明,相对于单个工具的检测结果而言,该平台明显降低了漏报率和误报率。  相似文献   

7.
基于源代码的静态分析技术是检测软件脆弱性的重要手段之一。针对Linux平台下由不安全方式创建临时文件问题引起的符号链接脆弱性,提出一种基于污点传播分析的脆弱性检测方法。通过查找打开或创建文件等导致脆弱性的特征函数从源代码中识别漏洞触发变量,采用后向污点传播分析方法分析变量传递路径,判断其是否来源于污点源,从而检测出可能存在符号链接脆弱性。利用该方法对XEN 3.03版本的源代码进行检测,成功发现了2个漏洞,其中包括1个未知漏洞。实验表明,该方法是一种有效的脆弱性检测方法。  相似文献   

8.
为满足Java静态分布式检测系统对Java程序源代码解耦分包的需求,解决代码检测单节点单进程运行耗时过长问题,实现分布式检测系统单任务多节点并行运行的目的,本文提出了Java源代码文件间依赖性分析方法.该方法以生成源代码文件抽象语法树的方式抽取文件文本信息,遍历分析抽象语法树,获取文件与其他源代码文件类依赖关系,再通过定位类所在的文件方式得到文件与文件之间依赖关系.同时,以无入边顶点的带环有向图表示文件间依赖关系图,本文提出的方法基于该图进行了文件间解耦的分析.最后,通过对示例程序逐步剖析的实验以及对数个开源工具源代码解耦拆分的实验,验证了本文提出的文件间依赖性分析方法的可行性.  相似文献   

9.
软件静态漏洞检测依据分析对象主要分为二进制漏洞检测和源代码漏洞检测。由于源代码含有更为丰富的语义信息而备受代码审查人员的青睐。针对现有的源代码漏洞检测研究工作,从基于代码相似性的漏洞检测、基于符号执行的漏洞检测、基于规则的漏洞检测以及基于机器学习的漏洞检测4个方面进行了总结,并以基于源代码相似性的漏洞检测系统和面向源代码的软件漏洞智能检测系统两个具体方案为例详细介绍了漏洞检测过程。  相似文献   

10.
软件知识产权鉴定中,需要鉴定一方的计算机软件产品对另一方的计算机软件产品是否构成侵权的核心要素是"实质性相似加接触".在通常情况下,接触是很容易判定的,但是在没有取得计算机软件产品源代码和相关文档资料的情况下实质性相似往往很难界定.文章通过对流程比对、功能点比对、界面比对、文件比对和安装过程比对等鉴定方法的革新,为二进制代码的计算机软件产品提供了新的鉴定方法.  相似文献   

11.
陈丰  余芸 《电子技术应用》2013,39(4):137-140
研究了常见的SQL注入检测和源代码静态分析扫描的原理,提出Java源代码SQL注入检测算法,该算法通过对Java源代码词法分析和语法分析、建立抽象语法树、定义规则、遍历语法树和跟踪等,检测Java源代码中可能的SQL注入路径,测试结果表明,算法检测效果良好,识别率高。  相似文献   

12.
在软件开发的过程中,开发人员通过复制粘贴式的开发方式或者模块化的开发方式来完成需求是十分常见的,这两种开发方式可以提高开发效率,但同时会导致软件系统中出现大量的相同代码或者相似代码,大量的相似代码会给软件维护等方面带来很大的困难,这也是最常见的重构对象。源代码相似性度量是指利用一定的检测方法分析程序源代码间的相似程度。该技术被应用于代码抄袭检测、代码克隆检测、软件知识产权保护、代码复用等多个领域。为了提高代码相似性度量的准确性,提出了一种基于多特征值的源代码相似性检测技术。构建了源代码注释、型构、代码文本语句与结构中特征提取的方法,并给出了源代码相似度检测的度量模型。通过与权威的代码相似检测系统Moss进行对比实验,结果表明该方法可以更准确地检测出相似代码。  相似文献   

13.
针对目前现有静态分析方法存在的漏报率和误报率较高的问题,提出一种基于数据融合的源代码静态分析漏洞检测技术.该技术通过对不同检测方法的分析结果进行解析和数据融合,有效地降低误报率和漏报率.设计与实现了一个可扩展的源代码静态分析工具原型,可通过用户的反馈信息自动寻优.实验结果表明:相对于单个漏洞检测方法而言,该方法的误报率和漏报率明显降低.  相似文献   

14.
Android是移动设备和智能设备的主流操作系统,其安全性受到广泛关注。然而Android应用程序普遍存在漏洞或恶意代码,许多学者对Andriod应用程序的漏洞检测方法开展了研究。由于Android系统发展迅速,且近年来机器学习和深度学习方法成功应用于漏洞检测,该文对2016年至2022年间发表的Android应用程序漏洞检测的最新成果进行了总结,阐述了涉及的源代码特征提取方法、基于机器学习/深度学习的检测方法、传统检测方法等,并给出了详细对比表。研究表明,仍缺乏Android专用的源代码漏洞数据集和工具等,以便对基于机器学习/深度学习的Android漏洞检测方法提供更有效的支撑。  相似文献   

15.
基于目标代码的格式串漏洞检测模型研究   总被引:1,自引:1,他引:0  
张龙杰  谢晓方  袁胜智  唐江 《计算机应用》2008,28(10):2495-2498
当前有关格式串漏洞的检测技术大多局限于源代码层次,针对二进制文件的研究较少。以格式串栈指针和参数栈指针为切入点,分析研究了格式串漏洞的攻击原理,在目标代码的层次提出了一种新的格式串漏洞检测技术,给出了构造攻击代码的具体方法,重点研究了不同系统中攻击代码的构建过程,最后结合实例对检测方法进行了验证。通过与实例源代码的比较,充分证明了检测方法的有效性,具有重要的应用价值。  相似文献   

16.
软件的同源性分析是计算机编程语言研究的一个重要方面,这个领域现在主流的有三大类的研究:基于文本的同源性比对、基于Token的同源性比对和基于源代码语法结构的比对。其中一些技术已经得以实现并成为可以应用的工具。  相似文献   

17.
缓冲区溢出目前已成为最常见的软件安全漏洞之一,从源代码形式来看,常见的缓冲区溢出漏洞主要有两种类型:数据拷贝和格式化字符串造成的缓冲区溢出.分析了常见缓冲区溢出漏洞发生的原因,给出了格式化字符串存储长度的计算方法,介绍了一种基于源代码静态分析的缓冲区溢出检测算法,该算法首先对源代码进行建模,构造其抽象语法树、符号表、控制流图、函数调用图,在此基础上运用区间运算技术来分析和计算程序变量及表达式的取值范围,并在函数间分析中引入函数摘要来代替实际的函数调用.最后使用该方法对开源软件项目进行检测,结果表明该方法能够有效地、精确地检测缓冲区溢出.  相似文献   

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

19.
针对代码与模型之间的不一致性问题,提出了一种基于UML模型和Java代码之间的一致性检测方法.首先,对UML类图和时序图进行形式化描述,并提出时序调用图(SD-CG)这一概念,在此基础上完成类的关联关系到关联属性的转换以及UML时序图到时序调用图SD-CG的转换;其次,通过方法调用图CG来表达类方法之间的调用关系,从而反映代码动态行为,由此通过对Java源代码的词法分析与语法分析,可获得类的信息及方法调用图CG;然后设计了UML模型与Java源代码间一致性检测算法,包括对类间静态信息以及时序调用图SD-CG与方法调用图CG间的一致性检测;最后,通过开发UML模型与Java源代码一致性检测工具,验证了所提出的方法是可行有效的.  相似文献   

20.
苏永新  段斌 《计算机应用》2011,31(6):1483-1486
针对嵌入式系统安全检测具有独立性、快速性、不干涉应用软件的需求,提出了一种嵌入式系统软件非预期行为检测方法。该方法的主要特点是检测系统独立于嵌入式系统,与之并行运行;通过嵌入式系统执行的指令与源程序预期的指令逐条比对,检出嵌入式系统任何不符合源程序的行为;借助哈希运算屏蔽被检系统指令集多样性引入的复杂性,使检测系统对各种指令集的嵌入式系统具有普遍适用性。实验结果表明,该方法具备检出嵌入式系统执行的代码与源代码间比特偏差的能力,从而能检出最小粒度的计划外代码的执行;在不计保护现场指令片段对非中断服务程序的影响时,检测时延不超过6个时钟周期。  相似文献   

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

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

京公网安备 11010802026262号