首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 156 毫秒
1.
基于XML的软件安全静态检测方法研究   总被引:2,自引:0,他引:2       下载免费PDF全文
安全关键软件设计使用的C/C++语言含有大量未定义行为,使用不当可能产生重大安全隐患。软件静态检测是从软件代码和结构中找出安全缺陷的重要手段。从安全规则的角度,提出了基于XML(eXtensible Markup Language)中间模型的静态检测方法。该方法将C/C++源代码解释为XML中间模型,将安全规则转化为缺陷模式,利用Xquery查询表达式对软件安全缺陷进行定位。基于该方法的原型系统检验结果表明:该方法能够有效地检测出违反安全规则的软件缺陷,并具有安全规则可定制的特点。  相似文献   

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

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

4.
提出了一种软件安全漏洞的检测方法,重点介绍了静态测试.对当前基于源码分析的软件安全测试工具进行了分类并加以分析.  相似文献   

5.
基于静态分析的安全漏洞检测技术研究   总被引:9,自引:1,他引:9  
消除软件中的安全漏洞是建立安全信息系统的前提。静态分析方法可以自动地提取软件的行为信息,从而检测出软件中的安全漏洞。和其它程序分析方法相比,该方法具有自动化程度高和检测速度快的优点。在本文中,我们首先描述了静态分析的理论基础,然后说明了类型推断、数据流分析和约束分析等主要静态分析方法及其在安全漏洞检测中的应用,并比较这些方法的优缺点。最后给出了几种支持安全漏洞静态检测的编程语言。  相似文献   

6.
基于UML活动图的软件过程建模合理性问题的研究   总被引:4,自引:2,他引:2  
x阐述了使用UML活动图进行软件过程建模需要解决的合理性检测问题。分析了使用活动图进行软件过程建模的原理,给出了软件过程模型的4种基本结构和一个过程模型实例。讨论了建模过程中需要考虑的合理性问题的3个方面,在此基础上提出了检验模型正确性和完整性的静态、动态和整体规则。  相似文献   

7.
单国栋  连一峰 《计算机工程》2004,30(19):113-114,182
环境错误注入是一种动态的测试软件脆弱性的技术,建立在对系统脆弱性分类模型的基础上,通过选择一个恰当的错误模型,测试系统有意识地触发软件内部存在的安全漏洞。该测试方法对于通常使用的静态检测方法,是一种重要的补充。文章论述了环境错误注入系统的一种实现机制。  相似文献   

8.
网络攻击手段的多样性和攻击行为的动态性,对网络安全防御带来了困难,目前,传统的静态防御方法显得非常被动。论文提出了一种基于密罐技术的主动、动态防御安全模型,该模型可以弥补传统放火墙、vpn、反病毒软件以及入侵检测系统(ids)安全防御的不足,降低网络被攻陷的可能性。  相似文献   

9.
缓冲区溢出漏洞是目前惟一最重要最常见的安全威胁.文中分析了防止缓冲区溢出攻击的运行时方法的不足.介绍了一种静态检测缓冲区溢出漏洞的方法及工具.给源代码添加注解,用注解辅助静态分析,用这种方法能够在软件交付使用前,检测出程序中潜在的安全漏洞.  相似文献   

10.
软件的静态程序分析是确保软件安全可靠的一种有效手段。常见的形式化的静态分析工具一般是基于模型检测,定理证明或抽象解释理论来对软件进行分析验证。然而,基于单一理论的验证工具具有一定的局限性。介绍了一个开源的静态分析平台Frama-C,根据该工具的特点,分别使用不同的插件对一小段代码进行静态分析,有助于将不同的程序分析方法相结合。最后对如何使用Frama-C工具解决航空控制软件等安全关键软件的执行时间分析问题的过程进行了演示。  相似文献   

11.
随着软件漏洞的危害性不断增强,软件漏洞分析已经成为了国内外安全研究的热点。已有的工作大致可以分为静态分析和动态分析两类。本文在开源的软件漏洞静态分析工具Bugscam的基础上,提出了一种建立漏洞模型,映射漏洞模型为分析程序,并进行漏洞分析的思路。对于大量的软件漏洞,我们提出,将其分为函数漏洞和逻辑漏洞两类,并分别探讨了两种模型与程序之间的对应关系。最后,对我们编写的一个改进的自动化漏洞分析工具clearBug进行了介绍,并用实验验证了模型与程序的正确性和有效性。  相似文献   

12.
一种基于安全状态跟踪检查的漏洞静态检测方法   总被引:4,自引:0,他引:4  
现有的采用基于源代码分析的漏洞静态检测方法中存在的主要问题是误报率和漏报率较高.主要原因之一是缺乏对数据合法性检查与非可信数据源等程序安全相关元素的精确有效的识别分析.文中提出了一种基于数据安全状态跟踪和检查的安全漏洞静态检测方法.该方法对漏洞状态机模型的状态空间进行了扩展,使用对应多个安全相关属性的向量标识变量安全状态,细化了状态转换的粒度以提供更为精确的程序安全行为识别;在漏洞状态机中引入了对合法性检查的识别,有效降低了误报的发生;建立了系统化的非可信数据鉴别方法,可防止由于 遗漏非可信数据源而产生的漏报.基于此方法的原型系统的检测实验表明:文中方法能够有效检测出软件系统中存在的缓冲区溢出等安全漏洞,误报率明显降低,并能避免现有主流静态检测方法中存在的一些严重漏报.  相似文献   

13.
漏洞这一名词伴随着计算机软件领域的发展已经走过了数十载。自世界上第一个软件漏洞被公开以来,软件安全研究者和工程师们就一直在探索漏洞的挖掘与分析方法。源代码漏洞静态分析是一种能够贯穿整个软件开发生命周期的、帮助软件开发人员及早发现漏洞的技术,在业界有着广泛的使用。然而,随着软件的体量越来越大,软件的功能越来越复杂,如何表示和建模软件源代码是当前面临的一个难题;此外,近年来的研究倾向于将源代码漏洞静态分析和机器学习相结合,试图通过引入机器学习模型提升漏洞挖掘的精度,但如何选择和构建合适的机器学习模型是该研究方向的一个核心问题。本文将目光聚焦于源代码漏洞静态分析技术(以下简称:静态分析技术),通过对该领域相关工作的回顾,将静态分析技术的研究分为两个方向:传统静态分析和基于学习的静态分析。传统静态分析主要是利用数据流分析、污点分析等一系列软件分析技术对软件的源代码进行建模分析;基于学习的静态分析则是将源代码以数值的形式表示并提交给学习模型,利用学习模型挖掘源代码的深层次表征特征和关联性。本文首先阐述了软件漏洞分析技术的基本概念,对比了静态分析技术和动态分析技术的优劣;然后对源代码的表示方法进行了说明。接着,本文对传统静态分析和基于学习的静态分析的一般步骤进行了总结,同时对这两个研究方向典型的研究成果进行了系统地梳理,归纳了它们的技术特点和工作流程,提出了当前静态分析技术中存在的问题,并对该方向上未来的研究工作进行了展望。  相似文献   

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

15.
本文根据有限状态自动机和模型检测的思想,结合模糊数学对行为分析的优势,提出基于模糊度量的软件漏洞检测技术,并利用漏洞属性分解和模糊状态转移函数使此技术具有自学习机制和更高效广泛的检测能力。实验测试了利用模糊度量的软件漏洞检测技术可以提高漏洞发现率和给出漏洞的危急程度。  相似文献   

16.
针对二进制程序脆弱性分析的实际需求,提出了一种基于模型检测的二进制程序脆弱性分析框架。首先定义了二进制程序的抽象模型,描述了基于有限状态自动机的软件脆弱性形式化表示和基于事件系统的软件安全属性表示方法。在此基础上,提出了基于模型检测的脆弱性分析过程和算法。根据该分析框架,设计并实现了二进制程序脆弱性分析工具原型。通过脆弱性分析实验,详细说明了该框架的工作原理,验证了该分析方法的有效性。  相似文献   

17.
Static analysis is an efficient approach for software assurance. It is indicated that its most effective usage is to perform analysis in an interactive way through the software development process, which has a high performance requirement. This paper concentrates on rule-based static analysis tools and proposes an optimized rule-checking algorithm. Our technique improves the performance of static analysis tools by filtering vulnerability rules in terms of characteristic objects before checking source files. Since a source file always contains vulnerabilities of a small part of rules rather than all, our approach may achieve better performance. To investigate our technique’s feasibility and effectiveness, we implemented it in an open source static analysis tool called PMD and used it to conduct experiments. Experimental results show that our approach can obtain an average performance promotion of 28.7% compared with the original PMD. While our approach is effective and precise in detecting vulnerabilities, there is no side effect.  相似文献   

18.
引入模型检查方法对可执行文件进行脆弱性分析.对可执行文件形式化建模,采用有界模型检查技术验证可执行文件的安全属性,并在X86体系结构上开发了一个用于可执行文件的模型检查器.实验以内存泄漏和栈溢出漏洞为例,将其属性描述为线性时序逻辑公式,在可执行文件的状态迁移系统模型中验证公式是否能满足,实验结果表明对可执行文件的有界模型检查是一种有效的静态分析方法.  相似文献   

19.
软件安全漏洞的静态检测技术   总被引:5,自引:3,他引:2       下载免费PDF全文
张林  曾庆凯 《计算机工程》2008,34(12):157-159
软件安全漏洞问题日益严重,静态漏洞检测提供从软件结构和代码中寻找漏洞的方法。该文研究软件漏洞静态检测的两个主要方面:静态分析和程序验证,重点分析词法分析、规则检查、类型推导、模型检测、定理证明和符号执行等方法,将常用的静态检测工具按方法归类,讨论、总结静态检测技术的优势、适用性和发展趋势。  相似文献   

20.
Model checking and static analysis are traditionally seen as two separate approaches to software analysis and verification. In this work we define a model, checking approach for the static analysis of large C/C++ source code bases to detect potential run-time issues such as program crashes, security vulnerabilities and memory leaks. Working on the intersection of software model checking and automated static bug detection for real-life systems, we address a number of issues: how to scale for real-life systems of 1,000,000 LoC or more, how to quickly write new checks, and most importantly how to distinguish between relevant and irrelevant bugs and fine tune the analysis accordingly. We define our model checking-based static analysis approach implemented in our tool Goanna, illustrate a number of design and implementation decisions to obtain practical outcomes and relevant results, and present our findings by empirical data obtained from regularly analyzing large industrial and open source code bases such as the Firefox Web browser.  相似文献   

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

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