首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到14条相似文献,搜索用时 62 毫秒
1.
高凤娟  王豫 《软件学报》2020,31(10):2983-3003
随着移动计算、物联网、云计算、人工智能等领域的飞速发展,也涌现出了很多新的编程语言和编译器,但是C/C++语言依旧是最受欢迎的编程语言之一,而数组是C语言最重要的数据结构之一.当在程序中通过数组下标访问数组元素时,必须确保该下标在该数组的边界之内,否则就会导致数组越界.程序中的数组越界缺陷会使得程序在运行时导致系统崩溃,甚至使攻击者可以截取控制流以执行任意恶意代码.当前针对数组越界的静态检查方法无法达到高精度的分析,尤其是无法处理复杂约束和表达式,过多的误报额外增加了开发者的负担.因此,提出了一种基于污点分析的数组越界的静态检测方法.首先,提出流敏感、上下文敏感的按需指针分析方法,实现数组长度区间分析.然后,提出按需污点分析方法,实现数组下标和数组长度污染情况的计算.最后,定义数组越界缺陷判定规则,提出使用后向数据流分析方法,检测数组下标是否越界.在进行数组越界检测的过程中,为了处理程序中的复杂约束和表达式,在分析过程中将调用约束求解器来判断约束的可满足性.如果没有发现相应的语句,则报告数组越界缺陷警报.同时,实现了自动静态分析工具Carraybound,并通过实验展示了方法的有效性.  相似文献   

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

3.
模糊限制信息检测用于区分模糊限制信息与事实信息,提高抽取信息的真实性和可靠性。模糊限制信息范围的界定具有依赖于语义和句法结构的特点,是模糊限制信息检测的一个难点。该文提出一种基于句法结构约束的模糊限制信息范围检测方法,基于依存结构树和短语结构树构建决策树,获取句法结构约束集,用于产生句法结构约束特征,并加入到条件随机域模型中进行模糊限制信息范围检测。实验采用CoNLL-2010共享任务数据集,在标准的模糊限制语标注语料上,获得了70.28%的F值,比采用普通的句法结构特征提高了4.22%。  相似文献   

4.
付亮 《数字社区&智能家居》2013,(18):4223-4224,4228
在C程序设计中数组或串的越界访问是难以发现且相当危险的,因为它可能改变了其他存储空间的内容。C++语言在编译或运行期间均不报告这一类型的错误,所以关于指针或数组的错误特别难以调试,初学者一定要注意这种陷阱。  相似文献   

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

6.
数组越界的静态测试分析   总被引:4,自引:0,他引:4  
给出了一种静态分析方法,静态分析的主要优点就是在程序运行之前就可以对程序故障进行定位。文章首先针对数组越界错误类型进行了分析,介绍了软件测试的一些基本概念,给出了这类错误的静态分析方法,并给出了相应的算法,而后给出了测试系统设计和开发,最后给出了软件测试的实验结果和分析。  相似文献   

7.
基于约束分析与模型检测的代码安全漏洞检测方法研究   总被引:1,自引:0,他引:1  
与传统的程序分析相比,模型检测具有较高的检测精度,但无法将其直接应用于缓冲区溢出、代码注入等安全漏洞的检测.为解决此问题,提出了基于约束分析与模型检测相结合的安全漏洞自动检测方法.首先,通过约束分析跟踪代码中缓冲区的信息,在涉及缓冲区操作的危险点生成相应的属性传递和属性约束语句,并将安全漏洞检测问题转化为模型检测方法可接受的可达性检测问题.然后,采用模型检测方法对安全漏洞的可达性进行判断.同时采用程序切片技术,以减少状态空间.对6个开源软件的检测结果表明,基于该方法实现的CodeAuditor原型系统发现了18个新漏洞,误报率为23%.对minicom的切片实验显示,检测性能有较大提高.  相似文献   

8.
MySQL是一个关系型数据库管理系统,由于其开源、速度快、体积小、总体拥有成本低等优点,目前被广泛应用于各种网站、应用系统当中。在对MySQL数据库进行管理、维护、应用开发过程中,其外部安全性机制的正确使用对维护数据完整性、有效性、正确性等方面至关重要。对客户机访问范围的控制机制分析是研究外部安全性的基础。  相似文献   

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

10.
一种C程序内存访问缺陷自动化检测方法研究   总被引:1,自引:1,他引:1  
符号执行是目前较为行之有效的软件缺陷自动化检测方法,计算代价昂贵与程序执行路径爆炸是两个影响其性能的关键问题.提出了一种针对C语言程序内存访问缺陷的符号执行检测方法,该方法可通过自动化构造的测试用例发现程序内部的内存访问缺陷,如缓冲区溢出、跨界访问和指针异常等.使用符号跟踪缓冲区长度的方法,一方面减少了符号变量的数量,另一方面由此精确抽象C语言库中字符串操作函数的行为,解决了符号执行过程间函数调用的步进问题;使用动态切片的方法,裁减路径探索过程中的冗余路径,从而解决在程序内部路径搜索时发生的路径爆炸问题.实验表明,提供的检测方法不但可行,而且验证代价较小,具有较强的实用性.  相似文献   

11.
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.
带时间特性的角色授权约束   总被引:39,自引:2,他引:39  
董光宇  卿斯汉  刘克龙 《软件学报》2002,13(8):1521-1527
授权约束是基于角色的访问控制模型中一个非常重要的部分.已经有方法来对约束进行形式化的描述,但主要集中在有关约束的静态特性的描述上.提出一套形式化地描述时间特性的模型,使之能够描述带时间特性的授权约束.对已有的角色授权约束模型,即约束描述语言进行了深入研究,并进行了相应的扩展.这种扩展后的语言称为RCLT(role-based constraints language with time-character).同时,对RCLT的时间效率的优化以及在RCLT规则被违反时如何恢复合法状态的问题进行了形式化的讨论.RLCT语言被证明可以很好地表示出对授权约束的时间特性的需求,但在效率优化和状态恢复方面要找到实用、高效的通用算法还需要作进一步的工作,这也是将来研究工作的主要目标.  相似文献   

13.
方浩然  郭帆  李航宇 《软件学报》2022,33(6):1978-1995
覆盖反馈的灰盒Fuzzing已经成为漏洞挖掘最有效的方式之一.广泛使用的边覆盖是一种控制流信息,然而在面向污点风格(taint-style)的漏洞挖掘时,这种反馈信息过于粗糙.大量污点无关的种子被加入队列,污点相关的种子数量又过早收敛,导致Fuzzing失去进化方向,无法高效测试Source和Sink之间的信息流.首先,详细分析了现有反馈机制在检测污点风格漏洞时不够高效的原因;其次,提出了专门用于污点风格漏洞挖掘的模糊器TaintPoint.TaintPoint在控制流轨迹的基础上加入了活跃污点这一数据流信息,形成活跃轨迹(livetrace)作为覆盖反馈,并围绕活跃轨迹分别在插桩、种子过滤、选择和变异阶段改进现有方法.在UAFBench上的实验结果表明:TaintPoint检测污点风格漏洞的效率、产出和速度优于业界领先的通用模糊器AFL++及定向模糊器AFLGO;此外,在两个开源项目上发现了4个漏洞并被确认.  相似文献   

14.
以工程为背景 ,介绍了基于 ISE平台 VHDL语言设计采用 FPGA实现 5 3位数据流的编解码和错误码的纠检错的方法 ,此方法采用并行处理 ,处理能力强 ,复杂度低 ,具有良好的工程应用前景  相似文献   

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

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

京公网安备 11010802026262号