首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 78 毫秒
1.
动态内存错误的静态检测   总被引:1,自引:0,他引:1  
内存泄漏、空指针引用等动态内存错误在C,C 等支持动态内存操作的程序中普遍存在.在程序中,动态内存管理错误是导致动态内存错误的根本原因.动态内存错误的静态检测方法是在对程序进行静态分析的基础上,应用路径别名分析方法,确定动态内存变量之间存在的过程内和过程间的路径别名关系,在此基础上对程序中违反动态内存管理模式的动态内存操作进行分析,以确定程序中存在的动态内存错误.  相似文献   

2.
提出了一种内存错误的动态检测方法,通过统一的内存错误检测模型和接口,使内存错误检测处理过程规范化,便于扩展。实验表明,该方法可以方便地进行扩展,以增加内存错误的检测能力。  相似文献   

3.
对C#中实现链式动态存储的方法进行了研究,给出了一个链式动态存储的应用实例。对象变量引用本质上就是一种动态存储方法,在此基础上便能实现链式动态存储。链式动态存储能提高数据的操作效率,并能有效地管理内存和系统资源。  相似文献   

4.
提出一种利用多层分段标签实现的控制流错误检测技术CFMSL,可通过对多层分段标签的更新和检查在线检测出程序的控制流错误。CFMSL在编译时将标签更新与检查指令自动嵌入程序中,从而实现程序运行时的动态检查效果。本文提出的标签设计与计算方法较为新颖,可较大地降低方法的时空开销,并且具有处理复杂程序以及检测细微控制流错误的能力。通过编写的LLVM pass文件,CFMSL具备批量化、自动化处理程序的能力。最后使用本文设计的故障注入工具模拟控制流错误对软件的影响,同时评估CFMSL的错误检测能力与时空开销。实验结果表明,相较于其他方法,CFMSL在保证较高检错能力的同时具有较低时空开销,显示出了本文提出的方法的优越性。  相似文献   

5.
对C#中实现链式动态存储的方法进行了研究,给出了一个链式动态存储的应用实例。对象变量引用本质上就是一种动态存储方法,在此基础上便能实现链式动态存储。链式动态存储能提高数据的操作效率,并能有效地管理内存和系统资源。  相似文献   

6.
李卫东  韩腊萍  郭俊文 《计算机工程》2002,28(2):255-256,F003
尽管VB提供了动态数组,但在使用VB动态数组时是受到某些限制的,此外,当动态数组中存储较多数据时,应用程序在动态数组上的数据操作效率较低,那么,能不能在用VB设计程序时,像用C或C 设计程序那样应用链式动态存储建立执行效率较高的应用程序呢?该文就是介绍在VB中应用链式动态存储的方法。  相似文献   

7.
内存错误漏洞是以不安全语言编写软件系统中安全性和可靠性问题的主要原因。这些漏洞常被用来将代码执行重定向到攻击者控制的位置。诸如代码复用攻击这样的内存错误漏洞利用的流行促使主要处理器制造商设计基于硬件的防御机制。一个例子是ARMv8.3中引入的指针认证(PAuth)机制。PAuth使用签名密钥和指针上下文信息对指针进行签名, 上下文信息是缩小保护范围和开发不同类型安全机制的关键元素。通过使用轻量级分组密码算法QARMA64并将指针认证码(PAC)存储在指针未使用位中, PAuth可以较小的性能和存储开销检查指针的完整性。当前一些研究使用PAuth降低内存安全机制的性能开销, 还有一些研究基于PAuth提高控制流完整性的保护精度。虽然PAuth受到越来越多的关注, 但它仍然遭受暴力攻击和PAC伪造攻击。因此, 很有必要对当前基于PAuth的安全应用进行总结, 并分析其存在的问题。本文首先介绍内存错误漏洞利用的相关背景和相应的保护机制。然后, 我们详细介绍了PAuth机制的详细信息, 包括硬件支持、加密算法和密码密钥管理, 及其潜在的安全问题。然后, 我们总结了当前基于PAuth的内存安全和控制流完整性的研究, 特别是指针上下文的选择方法。最后, 基于我们的调查, 讨论和展望ARM PAuth未来可能的研究方向。未来的研究方向可能包括以下几个方面: PAuth密钥管理和上下文选择、针对推测攻击的防御, 以及PAuth与其他ARM安全机制的结合使用。  相似文献   

8.
明月伟  宁洪  邓胜兰 《计算机应用》2014,34(5):1418-1422
空间高能粒子辐射严重影响航天计算的可靠性,必须采取有效措施对其进行加固。相比使用抗辐射器件,使用软加固的商用器件具有性能高、成本低、开发速度快等优势。然而,目前的软加固研究主要适用于应用程序,对操作系统软加固方法的研究还较少。鉴于此,提出了一种面向星载操作系统的控制流错误检测方法。该方法结合星载操作系统自身特点,着眼于线程执行,将每个线程视为一个函数调用序列,通过在函数入口和出口处插入检测语句,监测各线程的执行,实现控制流错误检测。实验结果表明,该方法能将星载操作系统的控制流错误覆盖率提高约25%。  相似文献   

9.
为了避免当计算机系统的内部器件发生瞬时或永久性的故障时程序的执行流程发生错误,提出了一种基于插入块的控制流错误检测方法——CFCIB方法.该方法分析程序的控制流图,利用插入新基本块的方式消除混淆错误,在每个基本块的开头和末尾分别插入test和set断言来完成对可执行程序的控制流错误检测.实验结果表明,该方法能将原始程序的平均错误覆盖率从84.31%提升到96.78%.  相似文献   

10.
针对基于PHP语言开发的Web应用程序产生的污点型漏洞,提出一种静态代码分析检测的方法。提出的生成控制流图的算法,基于PHP内置函数解析PHP程序,生成抽象解析树,进而生成控制流图;对内置特征、入口点和敏感点进行建模,精确分析数据流;提出基于有效路径的污点分析方法,提高了分析的准确性,实现了基于变量回溯的路径遍历算法。实现了该方法的原型系统,并对两个广泛使用的PHP应用程序进行测试,发现了6个未公开漏洞和11个已公开漏洞,证明了该系统具有较强的漏洞检测能力。  相似文献   

11.
分析了Linux 内核模块特点,针对内核模块中二进制指令执行时带来的访存错误,设计了一种针对内核模块的静态检测方法。通过模拟内核模块中指令的执行,并比较访存指令请求与相关内存区域信息,静态检测方法目标是找出代码对内存的非法访问,并对可疑的访存行为发出警告。针对 ARM 处理器平台,给出了静态检测方法的具体实现,并对内核模块中的访存错误就行了检测验证。实验表明,静态检测方法能够有效找出包括地址越界访问、读未初始化内存、访问已释放内存等访存错误,本文的静态检测方法达到了预期的检测效果。  相似文献   

12.
基于指针映射集的动态内存故障测试方法研究   总被引:2,自引:0,他引:2  
动态内存故障在使用指针的程序中是普遍存在的,采用动态测试方法进行测试难以准确定位故障源.而现有的静态分析方法主要存在漏报和误报过多的情况.针对这些问题,提出了指针映射代数系统的概念,全面地反映了指针与内存之间的映射关系,并给出了面向不同故障的指针映射集的构造规则,以此为基础建立了动态内存故障模型.通过指针映射集和故障模型,可以自动检测内存释放异常、内存泄露和空指针引用等动态内存故障,提高了测试效率.在分析过程中,还综合应用了控制流图和路径条件,提高了测试结果的精度.实验结果表明,该方法能够有效检测动态内存故障,而且出于规则定义较为全面,漏报和误报率也较低.  相似文献   

13.
一种适用嵌入式系统的自适应动态内存管理方案   总被引:1,自引:0,他引:1  
王铮  李志军 《微机发展》2007,17(3):48-50
实时性、可靠性、高效性的要求,使得许多嵌入式应用使用自己的内存管理方案。任何内存碎片的产生无疑都是对大块内存频繁分割造成的,适当减少对大块内存的分割,就会减少内存碎片的产生,但在减少分割内存块的同时又如何才能满足系统对内存的需求呢?文中在对当今最常用的两种内存分配算法分析的基础上提出一种新的适用于嵌入式系统的内存管理算法——自适应动态内存分配算法,重点就如何减少内存碎片,提高内存利用率,提出了新的构想与实现。望其成为嵌入式系统中内存管理算法的模板。  相似文献   

14.
葛瑶  李晓风  孔德光 《计算机工程》2008,34(16):159-161
设计与实现一个轻量级的堆内存泄漏检测工具,针对使用C++编码的开源代码,通过重载new, delete运算符,动态跟踪程序在执行过程中堆内存块的分配释放情况,在程序运行结束时给出内存泄露的检测结果。实现时采用红黑树管理所分配的堆内存,理论推导和实验表明其具有较高的效率。  相似文献   

15.
空指针解引用是C语言中的一类常见的动态内存错误。Manevich R等提出了一种适用于检测空指针解引用错误的后向分析方法。本文将后向分析的思想和流敏感、上下文敏感的指针分析结合在一起,给出了一种需求驱动的空指针解引用检测静态分析算法。该算法首先由指针分析获得别名信息,然后针对所关心的数据做后向数据流分析,追踪数据传递的源头,以确定程序中的表达式是否产生解引用错误。我们在SUIF2平台上实现了这一算法。实验结果表明,算法具有较高的检测精度。  相似文献   

16.
软件测试是排除软件故障,提高软件质量和可靠性的重要手段。基于故障模型的软件测试是软件编码阶段的主流测试方法之一。基于故障模型的代码静态测试技术具有测试效率高、对逻辑复杂故障测试效果好等特点。鉴于此,本文采取一种特殊的静态分析技术来实现对代码的测试。首先讨论传统软件测试方法的缺点和局限性,给出基于故障模型的静态测试方法的优越性;然后在分析过程中,综合应用抽象语法树和控制流图,提出一种基于故障模型的软件测试方法。依据该算法开发自动化测试工具,给出实验结果和对比分析,并指出下一步的研究方向。  相似文献   

17.
内存泄漏是软件开发中的一个难以定位和修正的严重错误。在大多数情况下,动态内存的有效域虽未明确写出,但仍是程序的局部;且程序动态运行的轨迹在一定程度上反映程序的静态性质。基于以上观察,开发了在面向函数定位框架中嵌入动态分析的内存泄漏监测新方法。新方法中,先建立程序的函数动态调用树,其中包含程序分配释放内存的信息,再在调用树中总结程序的静态性质,为内存泄漏定位提供有价值的信息。该文用两个实例展示这个方法的有效性。  相似文献   

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

19.
缓冲区溢出等内存错误漏洞的产生往往来自对内存拷贝类函数的不当使用. 对二进制程序中的内存拷贝类函数进行识别有利于发现内存错误漏洞. 目前针对二进制程序中内存拷贝类函数的识别方法主要借助静态分析来提取函数的特征、控制流、数据流等信息进行识别, 具有较高的误报率和漏报率. 为了提高对内存拷贝类函数识别的效果, 提出一种基于静态和动态混合分析的技术CPSeeker. 所提方法结合静态分析和动态分析各自的优势, 分阶段对函数的全局静态信息和局部执行信息进行搜集, 对提取到的信息进行融合分析, 进而识别二进制程序中的内存拷贝类函数. 实验结果表明, 尽管CPSeeker在运行时间上有所增加, 但在内存拷贝类函数识别的效果上, 其F1值达到了0.96, 远优于最新的工作BootStomp、SaTC、CPYFinder以及Gemini, 并且不受编译环境(编译器版本、编译器种类、编译器优化等级)的影响. 此外, CPSeeker在真实的固件测试中也有更好的表现.  相似文献   

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

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