首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 140 毫秒
1.
代码相似性检测常用于代码预测、知识产权保护和漏洞搜索等领域,可分为源代码相似性检测和二进制代码相似性检测。软件的源代码通常难以获得,因此针对二进制代码的相似性检测技术能够适用的场景更加广泛,学术界也先后提出了多种检测技术,文中对近年来该领域的研究进行了综述。首先总结代码相似性检测的基本流程和需要解决的难题(如跨编译器、跨编译器优化配置、跨指令架构检测);然后根据关注的代码信息的不同,将当前的二进制代码相似性检测技术分为4类,即基于文本的、基于属性度量的、基于程序逻辑的和基于语义的检测技术,并列举了部分代表性方法和工具(如Karta,discovRE,Ge-nius,Gemini,SAFE等);最后根据发展脉络和最新研究成果,对该领域的发展方向进行了分析和论述。  相似文献   

2.
当前二进制文件比对技术主流是以BinDiff为代表的结构化比对方法,存在结构相似导致的误匹配、分析耗时较高的问题。针对该问题提出一种基于节点层次化、价值化的匹配方法。通过提取函数节点在函数调用图中的层次与函数在调用网络中的价值,对层次模糊的节点提供了节点层次估算算法,最后递归匹配节点。实验表明,该方法避免了结构相似导致的误匹配,其时耗低于结构化比对工具Bindiff的1/2,节点匹配数量减少在15%以内。该方法可有效提高嵌入式设备固件的跨版本相似性分析效率。  相似文献   

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

4.
现有基于函数调用图的程序二进制文件相似性分析方法在分析经混淆处理的复杂程序时存在准确度低的问题。针对该问题提出了一种基于子图匹配的层次分析方法。以子图为最小检测单元,分层检测各个子图的相似度;再依据各个子图的相似度,采用加权平均策略计算程序二进制文件的相似度。实验结果表明,该方法抗干扰能力强,能够有效应用于恶意程序家族分类及新病毒变种检测,且具有较高的检测效率。  相似文献   

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

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

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

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

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

10.
基于动态染色的内存漏洞定位技术   总被引:2,自引:1,他引:1       下载免费PDF全文
房陈  茅兵  谢立 《计算机工程》2010,36(7):139-141
针对程序漏洞,提出利用基于二进制的程序染色和程序分析技术来检测恶意攻击并有效定位程序漏洞,采用数据依赖关系分析和动态染色的方法,记录起传播作用的写指令及目的内存地址,当检测到漏洞攻击时,通过内存地址找到恶意写指令并定位漏洞。实验结果证明,该方法能成功定位常见内存漏洞的位置,并能定位到有漏洞的库函数的调用点。  相似文献   

11.
针对计算机被病毒感染和破坏造成严重损失,在分析了计算机病毒的特征和反病毒检测系统技术的基础上,提出了一种高效的病毒特征检测机制.首先,例举先进的反病毒技术有实时扫描技术,启发式代码扫描技术,虚拟机技术和主动内核技术等;然后,分析了二进制可执行病毒脚本病毒和宏病毒的特征提取技术,设计出一个简单蜜罐系统来获取病毒样本;其次,为了解决特征代码不能检测未知病毒的问题,对引擎做了改进,提出了一种融合AC自动机匹配算法和BM算法的ACBM多模式匹配算法.算法在匹配病毒特征时,具有效率高,速度快和准确度高的特点,以特征代码法为基础杀毒软件是病毒检测系统是下一步研究目标.  相似文献   

12.
A code clone is a code portion in source files that is identical or similar to another. Since code clones are believed to reduce the maintainability of software, several code clone detection techniques and tools have been proposed. This paper proposes a new clone detection technique, which consists of the transformation of input source text and a token-by-token comparison. For its implementation with several useful optimization techniques, we have developed a tool, named CCFinder (Code Clone Finder), which extracts code clones in C, C++, Java, COBOL and other source files. In addition, metrics for the code clones have been developed. In order to evaluate the usefulness of CCFinder and metrics, we conducted several case studies where we applied the new tool to the source code of JDK, FreeBSD, NetBSD, Linux, and many other systems. As a result, CCFinder has effectively found clones and the metrics have been able to effectively identify the characteristics of the systems. In addition, we have compared the proposed technique with other clone detection techniques.  相似文献   

13.

With the fast increase of multimedia contents, efficient forensics investigation methods for multimedia files have been required. In multimedia files, the similarity means that the identical media (audio and video) data are existing among multimedia files. This paper proposes an efficient multimedia file forensics system based on file similarity search of video contents. The proposed system needs two key techniques. First is a media-aware information detection technique. The first critical step for the similarity search is to find the meaningful keyframes or key sequences in the shots through a multimedia file, in order to recognize altered files from the same source file. Second is a video fingerprint-based technique (VFB) for file similarity search. The byte for byte comparison is an inefficient similarity searching method for large files such as multimedia. The VFB technique is an efficient method to extract video features from the large multimedia files. It also provides an independent media-aware identification method for detecting alterations to the source video file (e.g., frame rates, resolutions, and formats, etc.). In this paper, we focus on two key challenges: to generate robust video fingerprints by finding meaningful boundaries of a multimedia file, and to measure video similarity by using fingerprint-based matching. Our evaluation shows that the proposed system is possible to apply to realistic multimedia file forensics tools.

  相似文献   

14.
董启海  王亚刚 《计算机应用》2015,35(10):2896-2900
针对传统文件结构化相似性比较法中采用基本块(BB)一对一映射而造成的巨大时空消耗及基本块比较结果的绝对化问题,提出一种基于划分思想的文件结构化相似性比较方法。该方法首先对用于基本块比较的小素数积法进行改进,通过改进方法将函数内的基本块进行分类,再结合基本块签名与属性的权重求得基本块间的相似率,从而计算出最终的函数相似率及文件相似率。通过函数相似率比较实验分析,与未考虑划分思想的绝对化基本块比较算法相比,该方法在比较效率及准确率上均有所提升。实验结果表明,该方法在减少比较时间的同时提高了比较准确率,在实际二进制文件相似性比较的应用中更可行。  相似文献   

15.
李玫  高庆  马森  张世琨  胡文蕙  张兴明 《软件学报》2021,32(7):2242-2259
代码相似性检测(Code Similarity Detection)是软件工程领域的基本任务之一,其在剽窃检测、许可证违反检测、软件复用分析以及漏洞发现等方向均有重要作用.随着软件开源化的普及以及开源代码量的高速增长,开源代码在各个领域的应用日益频繁,给传统的代码相似性检测方法带来了新的挑战.现有的一些基于词法、语法、语义的检测方法存在算法较为复杂,对解析工具有依赖性,消耗资源高,可移植性差,候选对比项数量较多等问题,在大规模代码库上有一定局限性.基于相似哈希(simhash)指纹的代码相似性检测算法将代码降维至一个指纹,能够在数据集规模较大的情况下实现快速相似文件检索,并通过海明距离阈值控制匹配结果的相似度范围.通过实验对现有的基于代码行粒度的相似哈希算法进行验证,发现其在大规模数据集下存在行覆盖问题,即高频行特征对低频行特征的覆盖现象,导致结果精确度较低.受TF-IDF算法思想启发,针对上述问题创新性地提出了分语言行筛选优化方法,通过各种语言的行筛选器对代码文件行序列进行筛选,从而消除高频出现但语义信息包含较少的行对结果的影响.对改进前后方法进行一系列对比实验,结果表明改进后的方法在海明距离阈值为0至8的情况下均能够实现高精确度的相似文件对检索,阈值为8时在两个数据集下的精确度较改进前的方法分别提升了98.6%和52.2%.在本文建立的130万个开源项目,386486112个项目文件的大规模代码库上进行实验,验证了本文的方法能够快速检测出待测文件的相似文件结果,平均单个文件检测时间为0.43s,并取得了97%以上的检测精度.  相似文献   

16.
One of the main trends in the modern anti-virus industry is the development of algorithms that help estimate the similarity of files. Since malware writers tend to use increasingly complex techniques to protect their code such as obfuscation and polymorphism, anti-virus software vendors face problems of the increasing difficulty of file scanning, the considerable growth of anti-virus databases, and file storages overgrowth. For solving such problems, a static analysis of files appears to be of some interest. Its use helps determine those file characteristics that are necessary for their comparison without executing malware samples within a protected environment. The solution provided in this article is based on the assumption that different samples of the same malicious program have a similar order of code and data areas. Each such file area may be characterized not only by its length, but also by its homogeneity. In other words, the file may be characterized by the complexity of its data order. Our approach consists of using wavelet analysis for the segmentation of files into segments of different entropy levels and using edit distance between sequence segments to determine the similarity of the files. The proposed solution has a number of advantages that help detect malicious programs efficiently on personal computers. First, this comparison does not take into account the functionality of analysed files and is based solely on determining the similarity in code and data area positions which makes the algorithm effective against many ways of protecting executable code. On the other hand, such a comparison may result in false alarms. Therefore, our solution is useful as a preliminary test that triggers the running of additional checks. Second, the method is relatively easy to implement and does not require code disassembly or emulation. And, third, the method makes the malicious file record compact which is significant when compiling anti-virus databases.  相似文献   

17.
一种文件智能加密方法研究   总被引:1,自引:1,他引:0  
经典的文件加密算法(如AES等)有一个特点,即加密后的文件是乱码。这极容易被攻击者识别,进而实施暴力破解或干脆破坏文件。本文就这一问题,尝试根据文件的不同格式对文件进行智能加解密,在保证对文件重要数据进行加密的基础上,不破坏文件甚至是文件数据的原有格式,目标是使攻击者难以识别该文件是加密后文件,以达到更好的数据保护的目的。  相似文献   

18.
数字化变电站越来越多地采用以太网技术,针对各种保护和控制IED(Integrated Drive Electronics)的参数配置以及状态监测问题,本文通过对Linux平台上的BOA服务器和CGIC的源码进行研究和修改,设计了一种实用的嵌入式Web服务器。它可方便地在支持TCP/IP协议的非Linux的嵌入式系统上运行,在不影响IED原有功能的前提下对用户提供Web服务,同时提出了一种适合嵌入式系统使用的访问权限认证和对Web页面的管理及动态生成机制,并支持Web方式下文件的上传与下载。它为变电站现场嵌入式IED的远端访问与控制提供了一种新的思路和方法。  相似文献   

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

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