首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 62 毫秒
1.
数组越界的静态测试分析   总被引:4,自引:0,他引:4  
给出了一种静态分析方法,静态分析的主要优点就是在程序运行之前就可以对程序故障进行定位。文章首先针对数组越界错误类型进行了分析,介绍了软件测试的一些基本概念,给出了这类错误的静态分析方法,并给出了相应的算法,而后给出了测试系统设计和开发,最后给出了软件测试的实验结果和分析。  相似文献   

2.
数组越界的静态分析   总被引:1,自引:0,他引:1  
软件测试分为静态测试和动态测试,而数组越界是静态测试中最常见的问题之一,并且其带来的危害巨大,甚至导致软件系统崩溃.根据数组越界的现象及特点,详细描述了数组越界的定义和种类,给出了数组越界产生的条件及防范技巧,并对检测方法及工具进行比较分析,从而更好地实现软件测试.  相似文献   

3.
数组越界是软件中普遍存在的一种故障类型,并对软件安全造成了潜在的威胁.传统的故障检测使用程序插装的方法,并相应的以编译优化技术来排除掉多余的数组边界检查.这种检测方法不仅降低了程序运行效率,增加了开销,而且往往不能对故障进行彻底的测试,容易造成漏报.本文在对程序进行静态分析的基础上,通过引入区间概念,建立了整型区间集和数组区间集,进而给出了数组越界的故障模型,模型的建立对软件故障进行了规范.本文随后给出了故障检测算法,最后给出了实验.结果表明这种方法比以往的测试方法具有更强的故障检测能力.  相似文献   

4.
陈柏强  郭涛  阮辉  严俊 《计算机应用》2009,29(5):1376-1379
介绍了静态分析的相关背景知识,对Java程序中数组越界和空指针错误的常见表现形式进行了归类,并通过实验评估了现有的Java静态分析工具功能,指出了其在跨过程分析中的不足,并对如何改进进行了讨论。  相似文献   

5.
基于抽象语法树的数组越界的静态检测方法   总被引:1,自引:0,他引:1  
徐明昌  刘坚 《计算机工程》2006,32(1):108-109,205
针对数组访问越界这一类安全漏洞,以源程序的抽象语法树作为分析对象,提出了一种新的静态解决方案。该方案通过分析数组访问越界安全漏洞的表现,抽象出安全模式,然后根据安全模式以及遍历ast过程中记录的节点属性构建安全规则,最后在安全规则的指导下实现对安全漏洞的检测。  相似文献   

6.
数组越界的故障模型及其检测方法研究   总被引:1,自引:0,他引:1  
数组越界是C程序中的常见故障,该类故障可能造成系统的崩溃。首先针对常见的数组越界故障进行了分析,提出了检测数组越界的判定准则,建立了故障模型。根据该故障模型,采用程序控制流图和路径条件,并结合静态分析思想,给出了可有效地检测出程序中存在的数组越界故障的方法。最后通过实例分析了该方法的应用过程。  相似文献   

7.
Java语言中数组越界故障的静态测试研究   总被引:1,自引:0,他引:1       下载免费PDF全文
面向具体故障的软件测试技术是当今一个研究热点。数组越界是Java程序设计中的常见故障,该类故障极易导致计算结果错误或系统崩溃。针对Java语言中常见数组越界故障进行了分析,并从面向具体故障的测试思想出发,建立了Java语言中数组越界的故障模型,结合静态测试的特点,给出了一种静态查找此类故障的方法。此方法已实现,并已应用于面向故障的软件测试系统中。  相似文献   

8.
作为一个类型安全的程序语言,Java要求对每次数组访问提供越界检查.这些检查指令减慢了Java程序的运行速度.算法ABCE维护着一张不等式图,并在图中不断更新记录变量的取值信息,然后根据这些信息识另q出那些冗余的数组边界检查,最后删除它们,从而达到提高程序性能的目的.科学计算类测试集SciMark2.0的测试表明ABCE算法平均删除了76%的越界检查指令,其中LU子程序,该算法的加速近似达到理论最大值.  相似文献   

9.
静态检测缓冲区溢出漏洞   总被引:4,自引:0,他引:4  
李建平  刘坚 《微机发展》2004,14(6):99-101
缓冲区溢出漏洞是目前惟一最重要最常见的安全威胁。文中分析了防止缓冲区溢出攻击的运行时方法的不足:介绍了一种静态检测缓冲区溢出漏洞的方法及工具。给源代码添加注解,用注解辅助静态分析,用这种方法能够在软件交付使用前,检测出程序中潜在的安全漏洞。  相似文献   

10.
基于可执行代码的缓冲区溢出检测模型   总被引:1,自引:0,他引:1       下载免费PDF全文
赵奇永  郑燕飞  郑东 《计算机工程》2008,34(12):120-122
根据缓冲区溢出原理,提出一种基于可执行代码的缓冲区溢出检测模型,给出该模型的理论基础,描述模型构建的过程,提出新的缓冲区引用实例的识别方法。该模型将可执行代码反汇编为汇编代码,建立函数调用关系图和控制流图,分析缓冲区变量及其引用实例,从缓冲区引用实例逆程序流方向归结路径约束,通过约束求解判断缓冲区溢出可能与否。  相似文献   

11.
         下载免费PDF全文
During the rapid development of mobile computing, IoT, cloud computing, artificial intelligence, etc., many new programming languages and compilers are emerging. Nevertheless, C/C++ is still one of the most popular languages, and the array is one of the most important data structures of C language. It is necessary to check whether the index is within the boundary of the array when it is used to access the element of an array in a program. Otherwise, array index out-of-bounds will happen unexpectedly. When array index out-of-bounds defects are in programs, some serious errors may occur during execution, such as system crash. It is even worse that array index out-of-bounds defects open the doors for attackers to take control of the server and execute arbitrary malicious codes by carefully constructing input and intercepting the control flow of the programs. Existing static methods for array boundary checking cannot achieve high accuracy and deal with complex constraints and expressions, leading to massive false positives. In addition, it will increase the burden of developers. In this study, a static checking method is proposed based on taint analysis. First, a flow-sensitive, context-sensitive, and on-demand pointer analysis is proposed to analyze the range of array length. Then, an on-demand taint analysis is performed for all array indices and array length expressions. Finally, the rules are defined for checking array index out-of-bounds defects and the checking is realized based on backward data flow analysis. During the analysis, in light of complex constraints and expressions, it is proposed to check the satisfiability of the conditions by invoking the constraint solver. If none statement for avoiding array index out-of-bounds is found in the program, an array index out-of-bound warning will be reported. An automatic static analysis tool, Carraybound, has been implemented, and the experimental results show that Carraybound can work effectively and efficiently.  相似文献   

12.
缓冲区溢出漏洞自从出现以来,一直引起许多严重的安全性问题,而且随着软件系统越做越大,越来越复杂,缓冲区溢出漏洞的出现越来越普遍。本文从检测程序的漏洞方面着手,比较了以前常用的静态代码分析和实时错误注入的检测方法,提出了一种对可执行文件反汇编后的代码进行缓冲区溢出漏洞检测的技术,提高了检测软件系统漏洞的效率。  相似文献   

13.
         下载免费PDF全文
Gao  Feng-Juan  Wang  Yu  Wang  Lin-Zhang  Yang  Zijiang  Li  Xuan-Dong 《计算机科学技术学报》2020,35(6):1406-1427

Static buffer overflow detection techniques tend to report too many false positives fundamentally due to the lack of software execution information. It is very time consuming to manually inspect all the static warnings. In this paper, we propose BovInspector, a framework for automatically validating static buffer overflow warnings and providing suggestions for automatic repair of true buffer overflow warnings for C programs. Given the program source code and the static buffer overflow warnings, BovInspector first performs warning reachability analysis. Then, BovInspector executes the source code symbolically under the guidance of reachable warnings. Each reachable warning is validated and classified by checking whether all the path conditions and the buffer overflow constraints can be satisfied simultaneously. For each validated true warning, BovInspector provides suggestions to automatically repair it with 11 repair strategies. BovInspector is complementary to prior static buffer overflow discovery schemes. Experimental results on real open source programs show that BovInspector can automatically validate on average 60% of total warnings reported by static tools.

  相似文献   

14.
基于条件范围约束的越界访问检测方法   总被引:1,自引:0,他引:1  
程序执行时的越界访问将导致异常的行为,已有的越界检测方法存在效率低或精度不高的缺点.分两步检测程序中的越界访问语句:在约束产生阶段,提出一个流敏感、过程间的约束状态产生算法,为每条语句建立一个范围约束集合和值约束集合;在约束求解阶段,利用线性规划计算程序访问的内存大小和偏移量,报告可能的越界访问漏洞.实验表明,检测效率明显高于路径敏感的范围分析方法,而平均检测精度高于80%.  相似文献   

15.
提出了基于整数区间和控制依赖图,通过静态分析来检测C语言源代码中安全漏洞的新方法.该方法在引入整数区间概念及其运算规则的基础上,把C语言中的数组、指针和整型表达式都抽象成整数区间,从而把相关安全性判断转换成整数区间之间的关系判断.最后讨论了该方法的具体算法.  相似文献   

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

17.
给出缓冲区溢出的基本原理和现有检测技术,针对二进制可执行文件中存在的缓冲区溢出漏洞,提出一种缓冲区溢出检测模型,该模型采用静态检测和动态检测相结合的方法。对检测结果采取污点跟踪法进行人工分析,采用插件技术给出缓冲区溢出检测模型的具体设计。实验结果证明该模型的设计是有效的。  相似文献   

18.
缓冲区溢出漏洞是当前互联网中存在的最主要的威胁之一.本文针对Linux系统存在的缓冲区溢出漏洞,讨论了缓冲区溢出漏洞的产生原理和一般的攻击手段,介绍了不同的防御手段并比较了其优缺点.  相似文献   

19.
C/C++源程序缓冲区溢出漏洞的静态检测   总被引:5,自引:0,他引:5  
讨论了C/C++源程序中缓冲区溢出的常见表现;分析了其特性以及产生机理;提出了在源代码的AST上附加安全属性进行漏洞静态检测的方法;讨论了该方法的实现过程。  相似文献   

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

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