首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 125 毫秒
1.
随着计算机软件技术的快速发展,由软件代码缺陷引起的安全问题也日趋严重。通过对静态分析技术以及静态检测工具的深入研究,针对当前静态检测工具误报率、漏报率较高的问题,提出一个多策略的软件代码缺陷检测方法。该方法平台一方面综合运用多种静态检测工具进行检测,对比单个检测工具降低误报率,扩大检测覆盖率;另一方面,对确定性不高的静态检测结果进一步进行动态检测,不但降低静态检测的误报率,而且还能发现静态检测技术检测不到的缺陷,降低漏报率。实验结果证明,多策略检测方法是一个有效的软件漏洞检测方法。  相似文献   

2.
Android应用程序中存在大量的代码异味,现有的Android代码异味检测工具效率较低.为此,将抽象语法树(AST)进行分层,提出一种基于分层AST的Android异味检测方法 .实例研究表明,与其他方法相比,该方法能检测出更多类型的Android代码异味.  相似文献   

3.
针对由于传统的源代码缺陷分析技术依赖于分析人员的对安全问题的认识以及长期经验积累造成的缺陷检测误报率、漏报率较高的问题,提出了一种深度学习算法源代码缺陷检测方法.该方法根据深度学习算法,利用程序源代码的抽象语法树、数据流特征,通过训练源代码缺陷分类器完成源代码缺陷检测工作.其依据的关键理论是应用深度学习算法及自然语言处理中的词嵌套算法学习源代码抽象语法树和数据流中蕴含的深层次语义特征和语法特征,提出了应用于源代码缺陷检测的深度学习一般框架.使用公开数据集SARD对提出的方法进行验证,研究结果表明该方法在代码缺陷检测的准确率、召回率、误报率和漏报率方面均优于现有的检测方法.   相似文献   

4.
为了发现代码中可能存在的潜在错误,通过探究一种典型的开源Java静态代码分析工具FindBugs的实现原理,分析此工具在函数返回值缺陷检测模式的实现机制,进而发现其在检测自定义函数返回值上的不足。通过分析FindBugs源代码并且针对此函数返回值缺陷模式具有的不足进行相应地改进,并将改进后的检测工具对被测代码进行检验。通过检验发现,改进前的检测工具无法对自定义的函数返回值进行检测,改进后能够检测到忽略自定义函数返回值问题,且提供一些错误提示信息。改进后的代码分析工具能够有效地检测到此类函数返回值问题,避免了潜在bug的发生,一定程度上提高了代码的质量。  相似文献   

5.
静态分析方法可以自动地提取软件的行为信息,从而检测出软件中的安全漏洞。和其他程序分析方法相比,该方法具有自动化程度高和检测速度快的优点。本文介绍了Java语言的安全漏洞的故障模式,说明了类型推断、数据流分析和约束分析等主要静态分析方法及两种特别的分析方法,最后介绍了几种常用的静态代码安全检测工具。  相似文献   

6.
静态分析方法可以自动地提取软件的行为信息,从而检测出软件中的安全漏洞。和其他程序分析方法相比,该方法具有自动化程度高和检测速度快的优点。本文介绍了Java语言的安全漏洞的故障模式,说明了类型推断、数据流分析和约束分析等主要静态分析方法及两种特别的分析方法,最后介绍了几种常用的静态代码安全检测工具。  相似文献   

7.
数据竞争是典型的多线程程序并发缺陷。由于多线程程序中存在不确定性的交织,数据竞争很难被检测出来。该文以多线程数据竞争的5个相关属性作为特征,构建了多线程程序数据竞争随机森林指令级检测模型。首先基于happens-before关系与lockset算法指令级检测数据竞争,同时用汇编源码信息来剔除隐形同步对,然后利用happens-before关系与lockset算法的分析结果训练多线程程序数据竞争随机森林检测模型。在Pin上实现了多线程程序数据竞争检测工具AIRaceTest。利用GitHub中多线程程序的插桩结果作为样本集来训练随机森林模型,模型精度可达92.1%。对Google data-race-test、 Parsec基准程序3.1中的经典多线程程序的检测结果表明:AIRaceTest与Eraser、 Djit+以及Thread Sanitizer这3种目前常用的数据竞争检测工具相比,数据竞争的误报和漏报分别降低了约10.6%和12.3%,在线程数较多的情况下,时间和内存开销分别降低了41.8%和22.4%。  相似文献   

8.
代码审查是一种高效的程序缺陷检测方法,因为它能够在软件开发的过程中找出程序的错误,这很大程度上降低了改正错误的成本.但是传统的代码审查是一种劳动力密集型的方法,为了提高代码审查的效率,一系列的自动化代码缺陷检测技术和工具已经被提出并得到了广泛的应用.本文介绍了支持代码审查的自动化代码缺陷检测技术的相关内容.结合Java语言的特点对自动代码缺陷检测体系结构和工作的原理做了论述,并引入了缺陷模式树来提高检测的速度;最后通过具体的实验来分析了自动化代码缺陷检测的有效性和高效性.  相似文献   

9.
随着开源软件的广泛使用,代码溯源成为管理软件源代码、降低潜在风险的重要技术手段。基于代码克隆检测的大规模代码溯源分析,从其检测结果中鉴别代码克隆对之间的继承关系,对代码来源追踪、组件依赖关系分析、软件脆弱性分析以及代码缺陷修复等具有重要意义。目前,已有方法在原始代码片段存在微小修改的情况下,会产生许多误判,并且检测克隆对的效率也有待提高。针对上述问题,提出了代码溯源中克隆代码继承关系的判定方法CloneIRD,包括一个基于自研快速分布式克隆检测工具FastDCF的代码溯源分析框架,以及该框架的核心算法——基于代码演化信息的克隆代码继承关系判定算法EIHR。为验证框架和算法的有效性,首先设计并实现了CloneIRD方法,并在Linux内核V4.9和V4.12的开源代码上进行了实验。实验结果表明,CloneIRD方法能够有效判定代码溯源结果中克隆对的继承关系,且基于FastDCF的溯源分析框架能够胜任大规模代码的溯源分析任务。  相似文献   

10.
针对智能制造中表面缺陷检测数据集不足问题,提出基于M-DCGAN的数据集增广方法。首先,向判别器添加上采样模块,搭建类U-Net结构并提升判别器与生成器的网络深度;设计基于Canny边缘检测的缺陷位置二值化掩膜提取方法;定义图像掩膜依赖的损失函数,建立缺陷目标位置关注引导机制;插入谱归一化层和Dropout层以提高训练稳定性,保持生成图像数据多样性。带钢缺陷数据集实验结果表明,该模型生成图片质量高于DCGAN、WGAN-GP和InfoGAN。采用本文M-DCGAN算法增广训练数据,能够显著提升并超过传统增广算法在YOLOv5、SSD、Faster R-CNN、YOLOv3等八种经典方法中的缺陷检测精度,验证了本文算法的有效性。  相似文献   

11.
本文首先介绍了PROLOG检测工具的研究现状,作者针对PROLOG语言的特点,提出了一种对PROLOG进行矛盾检测的算法,并用Turbo C语言实现了该算法,该算法作为一种PROLOG检测工具已被合并到Rurbo PROLOG系统盘中。  相似文献   

12.
针对漏洞检测领域面临的实验平台不统一、数据集异构等问题,研究词向量模型在C/C++函数漏洞检测方面的应用.用5种词向量模型对源代码生成的抽象语法树结构进行知识表示,用6种神经网络模型进行漏洞检测,实验结果表明,函数级代码具有浅层的语义关系,代码块内部联系紧密.  相似文献   

13.
静态分析是检测软件代码缺陷和提升软件代码质量的有效方式. 由于静态分析不实际运行代码,不能获取足够的运行时信息,因此分析结果的准确性有待提高. 相比而言,符号执行技术能够模拟执行程序并收集大量的数据流信息,提升数据流分析的准确程度,弥补静态分析的不足. 为了提高静态分析工具分析程序缺陷的准确性,本文设计并实现了一个代码缺陷检测工具ABAZER-SE,它基于GCC抽象语法树,综合采用符号执行与静态分析技术以检测源代码中的缺陷. 使用Toyota ITC静态分析基准对该工具进行了评估,实验结果表明,本文方法及工具可以提高静态分析结果的准确性.   相似文献   

14.
大数据具有数据量大及混合类型的属性,基于MapReduce的K-prototypes并行大规模混合数据方案的缺点是时间和内存的限制,导致这些方案不适合处理大数据.为了解决这个问题,该文提出一种新的基于Spark的k-prototypes聚类方法,该方法使用了重新聚集技术,利用Spark框架的内存操作来构建大规模混合数据分组.在模拟和实际数据集上的实验表明,该文方法可行,且提高了现有K-prototypes方法的效率.  相似文献   

15.
针对ARM多核处理器存储模型正确性的快速检测问题,提出了一种利用时间序和悬空窗口的有界特性的快速检测方法,并实现了检测工具.该方法给出了ARM存储模型基于barrier的弱一致性模型的公理语义,通过定期扫描处理器的性能计数器获得访存指令操作间的时间约束关系.检测工具由随机指令发生模块、多核处理器性能计数器记录模块和结果分析模块3部分组成,它的低算法时间复杂度特性使其能够有效处理上百万行ARM访存指令程序.检测工具使用C++语言实现,可以在运行时动态调整指令流的长度参数,具有很好的扩展性.利用支持ARMMPCore的模拟器进行了实验,并用手工的方法在指令流执行序列中注入了几个错误,以验证程序结果是否违反ARM存储模型.实验结果表明,检测工具能够正确发现上述注入错误,检测方法和检测工具可以有效检测ARM多核处理器存储模型的正确性.  相似文献   

16.
谷春英  张顺利 《科学技术与工程》2013,(10):2871-2874,2879
恶意程序代码的相似度估计是恶意程序代码分析和检测的重要研究内容。现有的方法主要是对恶意程序代码进行属性计算或结构度量,但由于恶意程序代码结构的灵活性和恶意程序代码的伪装、恶意程序代码的相似度较难度量。提出了改进指纹和LSC加权的恶意程序代码相似度估计算法。该算法首先对恶意程序代码进行函数作用域划分和标准化预处理,然后对其进行字串序列化,利用改进的指纹相似度来对恶意程序代码的相似度进行度量;同时结合最大公共字串匹配算法进行结构度量,并对其相似度计算结果进行加权,对恶意程序代码结构的相似度进行综合估计。实验以C语言结构的程序代码为例,利用折半查找算法生成恶意程序代码测试数据集进行算法有效性验证。仿真证明该算法具有较好的恶意程序代码相似度估算精度。  相似文献   

17.
fuzzing和混合执行是二进制代码分析和测试领域的两个重要技术.为了探索结合这两种技术的潜力,并找到代码中的深层缺陷,本文提出了一种新的路径记录方法,以推进混合执行来辅助fuzzing,并在工具Digger中实现了该方法,Digger能够分析测试接收文件输入或使用额外参数的目标程序.在实际应用程序(如coreutils,catdvi等)上评估了Digger,结果表明,通过使用新的路径记录方法,相比现有成熟工具Driller,Digger能够达到更高的代码覆盖率并找到更多的缺陷.   相似文献   

18.
在分析现有RFID复杂事件检测算法的基础上,提出一种基于Hash B+树复杂事件检测算法。根据原子事件在Hash表中映射的位置状态,决定原子事件插入的位置,降低数据操作的时间复杂度。同时引入插入优化算法及滑动窗口,删除中间结果中过期数据,以提高内存的利用率。实验结果表明该方法在保证复杂事件检测有效性的同时可提高其处理效率。  相似文献   

19.
目前的源代码漏洞检测方法大多仅依靠单一特征进行检测,表征的维度单一导致方法效率低.针对上述问题提出一种基于结构化文本及代码度量的漏洞检测方法,在函数级粒度进行漏洞检测.利用源代码结构化文本信息及代码度量结果作为特征,通过构造基于自注意力机制的神经网络捕获结构化文本信息中的长期依赖关系,以拟合结构化文本和漏洞存在之间的联系并转化为漏洞存在的概率.采用深度神经网络对代码度量的结果进行特征学习以拟合代码度量值与漏洞存在的关系,并将其拟合的结果转化为漏洞存在的概率.采用支持向量机对由上述两种表征方式获得的漏洞存在概率做进一步的决策分类并获得漏洞检测的最终结果.为验证该方法的漏洞检测性能,针对存在不同类型漏洞的11种源代码样本进行漏洞检测实验,该方法对每种漏洞的平均检测准确率为97.96%,与现有基于单一表征的漏洞检测方法相比,该方法的检测准确率提高了4.89%~12.21%,同时,该方法的漏报率和误报率均保持在10%以内.  相似文献   

20.
不当内存操作一直是引发软件漏洞的主要原因之一。堆分配大小可控(CMA)是指当动态内存分配的关键参数可以被外界输入控制时,恶意用户可以通过精心构造输入数据导致非预期的内存分配。该文讨论了CMA可能引发的相关安全问题和CMA的检测方法。该CMA检测方法主要通过结合静态路径分析和路径导向符号执行技术的优势,系统地检测目标代码中的CMA问题。在经典的符号执行引擎KLEE的基础上,实现了CMA检测原型系统SCAD;通过对Linux系统常用的工具程序Coreutils进行测试,SCAD发现了10个CMA相关的问题,其中3个属于未公开漏洞。实验结果表明:SCAD的导向路径搜索算法与KLEE提供的8个路径搜索算法相比具有明显优势;针对内存分配相关的代码,SCAD的导向符号执行相比传统的符号执行引擎具有更高的代码覆盖率。  相似文献   

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

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