首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 62 毫秒
1.
一种路径敏感的静态缺陷检测方法   总被引:10,自引:0,他引:10  
提出一种多项式复杂度的路径敏感静态缺陷检测算法.该方法采用变量的抽象取值范围来表示属性状态条件,通过属性状态条件中的变量抽象取值范围为空来判断不可达路径.在控制流图(control flow graph,简称CFG)中的汇合节点上合并相同属性状态的状态条件,从而避免完整路径上下文分析的组合爆炸问题.该算法已应用于缺陷检测系统DTS(defect testing system).实际测试结果表明,该方法能够减少误报.  相似文献   

2.
为实现基于静态分析技术自动的检测C程序中的非法计算缺陷,提出了一种基于区域内存模型进行非法计算缺陷检测的方法。对C程序中的非法计算缺陷操作归纳总结出其受限集,以对相应运算进行约束;通过抽象的区域内存模型表示实际的内存存储,实现了基于抽象内存区域内存模型的数据流分析;基于数据流分析的结果,判定C程序中的受限操作是否违背受限集的约束,以实现非法计算缺陷的检测。5个实际工程的检测结果分析表明,该方法可有效地检测出C程序的各类非法计算缺陷。  相似文献   

3.
误报率和漏报率是静态缺陷检测的关键技术指标,提高分析精度是降低误报和漏报的主要手段.文中介绍了缺陷模式及其有限状态机描述,提出基于传统数据流分析的缺陷检测方法.采用变量抽象取值来近似地表示程序动态执行信息,通过状态条件中的变量抽象取值范围为空来判断不可达路径,以实现路径敏感分析;使用缺陷相关的函数摘要来表示缺陷检测所需函数调用信息,其中缺陷相关的函数摘要包括前置约束信息、后置约束信息和函数特征信息三部分,实现了上下文敏感的跨函数分析.文中方法已在缺陷检测系统DTS中实现,在大型开源软件分析中的实验结果表明,该方法能减少误报和漏报.  相似文献   

4.
一种混合式内存泄漏静态检测方法   总被引:1,自引:0,他引:1  
内存泄漏是导致系统性能降低的重要问题.提出一种基于模型检测算法的内存泄漏静态检查方法TMC.该方法依据程序的控制流图构建对应于程序执行的有限状态自动机,进而在此基础上应用模型检测算法分析程序中可能存在的内存泄漏.论文利用几个典型的程序实例详细说明了TMC的工作原理,并通过基于内存操作密集的测试程序集PtrDist的实验对TMC进行了验证.实验结果表明,TMC能够显著提升内存泄漏分析的精度.  相似文献   

5.
可执行程序的缺陷函数检测是软件漏洞发现的重要技术手段之一。从二进制代码指令流的角度出发,研究了缺陷函数的签名机制,提出了一种基于可执行程序静态分析的缺陷函数检测方法。该方法通过静态分析应用程序的可执行代码,建立进程运行过程中可能的函数调用序列集合。以该集合为基础,通过对比分析缺陷函数签名,可以准确检测该程序调用的缺陷函数集合,以及分析可能导致的脆弱性。通过实验分析,验证了该方法对于缺陷函数检测的有效性。  相似文献   

6.
基于程序静态分析和故障树的软件故障检测   总被引:1,自引:0,他引:1  
为提高软件安全性和可靠性,探讨一种在软件故障检测过程中将故障定位和原因分析相结合的方法,该方法基于对程序的静态分析,找出故障的位置,利用故障树定位故障原因。非法计算是一种常见的软件故障,该类故障极易导致系统崩溃,该文以一个非法计算故障为例,说明该方法的分析过程,实验表明其可以有效地定位故障并分析其原因。  相似文献   

7.
基于静态分析技术的源代码安全检测模型*   总被引:2,自引:0,他引:2  
介绍了当前主流的静态代码分析技术,在分析讨论其优缺点的基础上提出了一种新的静态代码检测模型。该模型结合了当前成熟的静态分析技术,并借鉴了编译器中数据流和控制流分析的思想,获取上下文关联的数据信息,从而更加准确地分析代码中存在的安全问题。  相似文献   

8.
文中介绍几种常用的静态检测Ada程序死锁的方法,分析了它们的适应性和不足之处,并指出NP问题和检测结果的准确性是无锁检测面临的主要问题,死锁检测仍然是一个有待进一步研究的问题。  相似文献   

9.
由于JavaScript自身的语言特性,JavaScript程序中可能存在与运行时变量类型不匹配的缺陷,这类缺陷往往难以被察觉,只有在运行时报错后才能发现故障,而人工检查代码时需要开发者花费大量的时间通过调试的方法来定位查找代码缺陷。提出了一种静态分析JavaScript的方法来检查可能的运行时类型不匹配缺陷。该方法首先基于HTML和JSP页面对于JavaScript文件的引用将整个项目中的JavaScript文件进行分组;接着以分组为单位对JavaScript文件进行分析和变量类型推断,再检查每个分组中是否存在多类型属性;然后对这种多类型属性的使用进行检查;最后对检查结果进行报告,并给出修复建议。实现了一个用于自动检测JavaScript中多类型属性缺陷的工具,并通过在真实JavaScript项目中的实验证明了该方法的可行性,与已有的JavaScript分析方法相比,该方法的效果更优,提升了有关缺陷查找的效率与有效性。  相似文献   

10.
边攀  梁彬  黄建军  游伟  石文昌  张健 《软件学报》2023,34(10):4724-4742
在Linux内核等大型底层系统中广泛采用引用计数来管理共享资源.引用计数需要与引用资源的对象个数保持一致,否则可能导致不恰当引用计数更新缺陷,使得资源永远无法释放或者被提前释放.为检测不恰当引用计数更新缺陷,现有静态检测方法通常需要知道哪些函数增加引用计数,哪些函数减少引用计数.而手动获取这些关于引用计数的先验知识过于费时且可能有遗漏.基于挖掘的缺陷检测方法虽然可以减少对先验知识的依赖,但难以有效检测像不恰当引用计数更新缺陷这类路径敏感的缺陷.为此,提出一个将数据挖掘技术和静态分析技术深度融合的不恰当引用计数更新缺陷检测方法 RTDMiner.首先,根据引用计数的通用规律,利用数据挖掘技术从大规模代码中自动识别增加或减少引用计数的函数.然后,采用路径敏感的静态分析方法检测增加了引用计数但没有减少引用计数的缺陷路径.为了降低误报,在检测阶段再次利用数据挖掘技术来识别例外模式.在Linux内核上的实验结果表明,所提方法能够以将近90%的准确率自动识别增加或减少引用计数的函数.而且RTDMiner检测到的排行靠前的50个疑似缺陷中已经有24个被内核维护人员确认为真实缺陷.  相似文献   

11.
基于服务器的手工入侵检测也是一种主动防御的安全技术,可以弥补IDS安全技术的不足,但也存在缺陷。文章对入侵检测技术进行了分析,介绍了通用的入侵检测方法,并对手工检测入侵的方法与缺陷进行了探讨。  相似文献   

12.
对称多处理器的飞速发展和近年来提出的动态异构处理器(DHMP)为性能优化提供了新的机遇。一个机遇是找出程序每个阶段的性能瓶颈,提出了静态程序阶段分析方法,即通过分析结构参数和计算相似度矩阵来找出程序每个阶段的资源瓶颈;另一个机遇是给出动态异构处理器重构的时间节点,提出了DPDA和HTPD两种动态阶段检测算法,检测出阶段的变化能够为动态可重构处理器提供重构的时间节点。DPDA算法效果很好且软硬件实现代价小,而HTPD算法是目前为止第一个使用统计学方法进行动态检测阶段的算法。实验表明,与BBV相比,DPDA和HTPD能避免BBV离线、动态算法需添加额外硬件、结果与编译器相关等限制,并且阶段划分的稳定性和正确率与BBV相当。DPDA和HTPD算法由于本身不依赖额外硬件,因此都能直接在主流处理器和动态异构处理器(DHMP)中使用。  相似文献   

13.
利用静态代码缺陷分析技术对软件进行早期缺陷检测,是提高软件质量的重要途径。静态代码缺陷分析工具(如FINDBUGS,JLINT,ESC/JAVA,PMD,COVERITY等)已经被证实可以成功地识别出大量的软件潜在缺陷[1-3]。然而,这类工具在可用性和有效性方面的不足严重限制了它们的进一步广泛使用。可用性不足包括a)每个独立缺陷检测工具只擅于检测特定类型的缺陷,需要配合使用才能全面检测缺陷;b)每个缺陷检测工具的安装、配置和运行占用了用户大量的时间、精力。有效性不足包括静态缺陷分析结果往往存在大量误报,并且会包括许多不重要的(不会引起程序员修复行为的)缺陷报告。为了解决上述问题,提出并构建了一个易扩展的"静态代码缺陷分析"服务(Code Defect Analysis Service,CODAS)。CODAS基于一个高度可扩展的架构设计,对多个独立的缺陷检测工具进行了封装和集成,并对缺陷检测报告进行了有效汇总和排序,从而充分发挥了各个独立工具的优势,大大提升了静态缺陷分析工具的可用性和有效性。  相似文献   

14.
乔丽  赵尔敦  刘俊杰  程彬 《计算机科学》2017,44(Z11):238-243
将卷积神经网络(CNN)应用于工件缺陷检测,来检测工件在生产过程中表面出现的缺陷,以提高工件的生产质量。利用CNN可以对工件的图案进行识别,但识别无法检测出细微缺陷的问题。在CNN进行工件图案识别的基础上,研究一种利用CNN实现缺陷检测的方法。该方法通过扩充缺陷样本,利用CNN识别的中间输出参数,定义了缺陷分辨率的概念来衡量缺陷的程度,当缺陷分辨率达到一定水平时则认为是无缺陷图案,否则认为其存在缺陷。实验验证了提出的CNN工件缺陷检测方法的有效性,数据表明缺陷检出率可达到 93.3%。  相似文献   

15.
近年来,Android平台应用程序的隐私泄漏问题受到越来越多的关注。应用程序恶意获取用户隐私信息将会增加智能手机用户的隐私泄漏风险,针对该问题,国内外研究人员研究并提出了多种Android平台应用程序的隐私泄漏检测工具。对9种Android平台应用程序的隐私泄漏静态检测工具进行了分析与比较,总结了这些静态检测工具的检测对象、检测方法、能够检测的错误类型和检测效果,并为两种开源工具FlowDroid和IccTA设计了相关实验,以检验其性能及检测效果。针对50个下载的应用程序,FlowDroid成功检测出9个应用存在隐私泄漏,IccTA成功检测到7个组件间泄漏;针对12个自主设计的测试集,FlowDroid和IccTA都成功检测出其中涉及的多种隐私泄漏。  相似文献   

16.
王涛  韩兰胜  付才  邹德清  刘铭 《计算机科学》2016,43(5):80-86, 116
软件漏洞静态分析是信息安全领域的重点研究方向,如何描述漏洞及判别漏洞是漏洞静态分析的核心问题。提出了一种用于描述和判别漏洞的漏洞静态检测模型。首先对软件漏洞的属性特征进行形式化定义,并对多种软件漏洞和其判定规则进行形式化描述;其次,针对传统的路径分析存在的状态空间爆炸问题,提出了一个新的程序中间表示——漏洞可执行路径集,以压缩程序状态空间。在该模型的基础上,设计了一个基于漏洞可执行路径集的软件漏洞静态检测框架,利用定义的漏洞语法规则求解漏洞可执行路径集上的漏洞相关节点集,利用漏洞判定规则对漏洞相关节点集进行判别得出漏洞报告。实验分析验证了该漏洞检测模型的正确性和可行性。  相似文献   

17.
赵帅  丁保贞  沈备军  林九川 《计算机科学》2011,38(12):125-127,155
缓冲区溢出攻击是近年来最主要的安全问题之一,攻击者利用缓冲区溢出漏洞执行远程代码,从而达到攻击的目的。Shelleode作为攻击的载体,是缓冲区攻击检测的主要对象。随着检测技术的发展,攻击者更倾向于使用多态技术对Shellcode进行加密来绕过IDS的检测。针对MS Windows操作系统下的Shellcode,提出了一种将静态检测和动态执行相结合的新的攻击代码检测方法。在判断依据上做了新的定义,既使用动态模拟技术提高了对使用多态技术的Shellcode的检侧率,也兼顾了检测的效率。基于该方法,设计和实现了一套原型系统,并进行了检测率、误报率和吞吐率等方面的测试。测试结果表明,该系统在检测Shellcode的准确率和性能方面都达到了令人满意的效果。  相似文献   

18.
徐志鹏  须文波 《计算机工程》2005,31(10):25-27,218
提出了使用廉价的图形卡来实现基于SOM的图像处理算法,达到检测产品瑕疵的目的。算法基于GPU的fragment shader程序,并使用了最新出现的浮点缓冲区技术,使算法达到了与CPU运算一致的精度,并对检测自满进行了优化。在廉价的硬件上实现了5.6帧/s的处理速度。  相似文献   

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

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