首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 109 毫秒
1.
软件安全静态分析是检测软件安全漏洞的一种手段。本文在总结现有的软件安全静态分析方法的基础上,将在硬件设计领域得到成功应用的模型检验方法引入到软件产品的检验中,给出了一种基于自动机理论的检测软件安全的模型检验方法,阐述了其原理和工作流程,并用实例进行了验证说明。  相似文献   

2.
沈维军  汤恩义  陈振宇  陈鑫  李彬  翟娟 《软件学报》2018,29(5):1230-1243
安全漏洞检测是保障软件安全性的重要手段.随着互联网的发展,黑客的攻击手段日趋多样化,且攻击技术不断翻新,使软件安全受到了新的威胁.本文描述了当前软件中实际存在的一种新类型的安全漏洞隐患,我们称之为数值稳定性相关的安全漏洞隐患.由于黑客可以利用该类漏洞绕过现有的防护措施,且已有的数值稳定性分析方法很难检测到该类漏洞的存在,因而这一新类型的漏洞隐患十分危险.面对这一挑战,本文首先从数值稳定性引起软件行为改变的角度定义了数值稳定性相关的安全漏洞隐患,并给出了对应的自动化检测方法.该方法基于动静态相结合的程序分析与符号执行技术,通过数值变量符号式提取、静态攻击流程分析、以及高精度动态攻击验证三个步骤,来检测和分析软件中可能存在的数值稳定性相关安全漏洞.我们在业界多个著名开源软件上进行了实例研究,实验结果表明,本文方法能够有效检测到实际软件中真实存在的数值稳定性相关漏洞隐患.  相似文献   

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

4.
缓冲区溢出漏洞是一种危害严重且常见的软件安全漏洞。静态分析方法不需要执行源代码,便可以提取软件的静态信息,从而检测出软件中安全漏洞。针对静态检测工具Splint在检测缓冲区溢出攻击漏洞方面存在的不足,从检测的功能和可检测的"危险函数"类型两个方面进行了改进。最后使用改进后的Splint工具对几个常用的与网络应用相关的软件包进行检测,检测结果表明改进后的Splint检测工具能够大大地提高检测缓冲区溢出漏洞的效率。  相似文献   

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

6.
当前情况下,计算机软件安全漏洞成为亟待解决问题之一,而安全漏洞检测技术是预防软件安全漏洞的主要措施,为此主要探讨安全漏洞检测技术在计算机软件中的应用。首先概述计算机软件安全漏洞概念及类型;其次,总结计算机软件安全漏洞的特点;最后,分别介绍静态化安全漏洞检测技术和动态化检测技术,从阻止竞争漏洞、阻止随机漏洞、字符保护和程序解释四个方面阐述安全漏洞检测技术的应用。  相似文献   

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

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

9.
如今信息系统已经被广泛应用于国家的各个领域,因此信息系统的安全就显得十分重要。计算机软件中的安全漏洞已成为信息系统中最主要的威胁,因此,计算机软件中的安全漏洞检测技术也成为了当前的研究热点。该文详细分析了计算机安全软件中动态检测技术与静态检测技术,以提高软件的安全性。  相似文献   

10.
边攀  梁彬  石文昌 《计算机科学》2014,41(1):220-224
通过静态检测发现源程序中的潜在缺陷,可以帮助程序员在软件发布之前发现并修补程序缺陷,提高软件的安全性。提出一种通过静态分析CIL代码来检测C#程序代码缺陷的方法。采用改进的深度优先搜索算法遍历目标程序的控制流程图,结合历史状态缓存机制,能够大幅度提高检测效率;另外,为便于实施别名分析,还提出一种基于内存区域的变量表示方法。基于所述分析方法,开发了一个C#源代码缺陷静态检测系统,并对实际开源项目进行了检测。实验结果表明,本系统能够高效、准确地检测C#程序中常见类型的缺陷。  相似文献   

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

12.
C/C++静态代码安全检查工具研究   总被引:1,自引:1,他引:0  
静态代码安全检查工具是一种能够帮助程序员自动检测出源程序中是否存在安全缺陷的软件。它通过逐行分析程序的源代码,发现软件中潜在的安全漏洞。本文针对C/C++语言程序设计中容易存在的多种安全问题,分别分析了问题的根源,给出了具体可行的分析及检测方法。最后通过对静态代码安全检查工具优缺点的比较,给出了一些提高安全检查效果的建议。  相似文献   

13.
段旭  吴敬征  罗天悦  杨牧天  武延军 《软件学报》2020,31(11):3404-3420
随着信息安全愈发严峻的趋势,软件漏洞已成为计算机安全的主要威胁之一.如何准确地挖掘程序中存在的漏洞,是信息安全领域的关键问题.然而,现有的静态漏洞挖掘方法在挖掘漏洞特征不明显的漏洞时准确率明显下降.一方面,基于规则的方法通过在目标源程序中匹配专家预先定义的漏洞模式挖掘漏洞,其预定义的漏洞模式较为刻板单一,无法覆盖到细节特征,导致其存在准确率低、误报率高等问题;另一方面,基于学习的方法无法充分地对程序源代码的特征信息进行建模,并且无法有效地捕捉关键特征信息,导致其在面对漏洞特征不明显的漏洞时,无法准确地进行挖掘.针对上述问题,提出了一种基于代码属性图及注意力双向LSTM的源码级漏洞挖掘方法.该方法首先将程序源代码转换为包含语义特征信息的代码属性图,并对其进行切片以剔除与敏感操作无关的冗余信息;其次,使用编码算法将代码属性图编码为特征张量;然后,利用大规模特征数据集训练基于双向LSTM和注意力机制的神经网络;最后,使用训练完毕的神经网络实现对目标程序中的漏洞进行挖掘.实验结果显示,在SARD缓冲区错误数据集、SARD资源管理错误数据集及它们两个C语言程序构成的子集上,该方法的F1分数分别达到了82.8%,77.4%,82.5%和78.0%,与基于规则的静态挖掘工具Flawfinder和RATS以及基于学习的程序分析模型TBCNN相比,有显著的提高.  相似文献   

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

15.
网络安全漏洞智能检测需要依赖大量的真实数据来进行分析,冗余数据与异常数据的存在会导致检测准确性下降;为保障网络系统稳定运行,提出基于知识图谱的网络安全漏洞智能检测系统设计研究;从结构、逻辑模型以及运行模式3个方面设计网络安全漏洞检测器,实现网络安全漏洞智能检测系统硬件设计;系统软件设计通过网络爬虫采集安全漏洞数据,去除冗余数据与异常数据,根据属性信息识别安全漏洞实体,获取安全漏洞属性信息关系,以此为基础,定义安全漏洞知识图谱表示形式,设计安全漏洞知识图谱结构,从而实现安全漏洞知识图谱的构建与可视化;以上述网络设计结果为依据构建网络安全漏洞智能检测整体架构,制定网络安全漏洞智能检测具体流程,从而获取最终网络安全漏洞智能检测结果;实验结果表明,在不同实验工况背景条件下,设计系统应用后的网络安全漏洞漏检率最小值为1.23%,网络安全漏洞检测F1值最大值为9.50,网络安全漏洞检测响应时间最小值为1 ms,证实了设计系统的安全漏洞检测性能更佳。  相似文献   

16.
当前基于SVM的Android应用程序安全检测技术主要是通过将SVM算法与动静态分析方法相结合,应用于Android应用程序的漏洞和恶意软件的检测中,而恶意软件的检测又可分为恶意行为的检测和恶意代码的检测。故本文按SVM算法应用到的检测领域分类,分别对其应用于Android应用程序中的恶意行为检测、恶意代码检测和漏洞检测方面的研究进行分析与讨论,并总结了当前该领域中仍然存在的一些问题,给出了SVM算法和其应用于Android安全检测中的改进之处,最后对未来的发展进行了展望。  相似文献   

17.
随着全球信息化的迅猛发展,计算机软件已成为世界经济、科技、军事和社会发展的重要引擎。信息安全的核心在于其所依附的操作系统的安全机制以及软件本身存在的漏洞。软件漏洞本身无法构成攻击,软件漏洞利用使得把漏洞转化为攻击变为可能。文章立足于Windows操作系统,主要分析了一些常用软件的典型漏洞原理以及常见的利用方法,比较了不同利用方法在不同环境下的性能优劣,并简单分析了Windows的安全机制对软件的防护作用以及对软件漏洞利用的阻碍作用。文章着重对几种典型漏洞进行了软件漏洞利用的探索和实践,并使用当前流行的对安全机制的绕过方法分析了Windows几种安全机制的脆弱性。  相似文献   

18.
Web软件安全漏洞层出不穷,攻击手段日益变化,为分析现有的Web控件漏洞检测方法,提出基于Fuzzing测试方法的Web控件漏洞检测改进模型。该系统从功能上分为五大模块进行设计和实现,并结合静态分析与动态分析技术检测WebActiveX控件模型的漏洞,给出"启发式规则"来优化测试数据生成引擎。实例测试结果表明,Web控件漏洞的Fuzzing测试模型是有效和可行的,并能妥善处理好交互性问题。  相似文献   

19.
Software security can be improved by identifying and correcting vulnerabilities. In order to reduce the cost of rework, vulnerabilities should be detected as early and efficiently as possible. Static automated code analysis is an approach for early detection. So far, only few empirical studies have been conducted in an industrial context to evaluate static automated code analysis. A case study was conducted to evaluate static code analysis in industry focusing on defect detection capability, deployment, and usage of static automated code analysis with a focus on software security. We identified that the tool was capable of detecting memory related vulnerabilities, but few vulnerabilities of other types. The deployment of the tool played an important role in its success as an early vulnerability detector, but also the developers perception of the tools merit. Classifying the warnings from the tool was harder for the developers than to correct them. The correction of false positives in some cases created new vulnerabilities in previously safe code. With regard to defect detection ability, we conclude that static code analysis is able to identify vulnerabilities in different categories. In terms of deployment, we conclude that the tool should be integrated with bug reporting systems, and developers need to share the responsibility for classifying and reporting warnings. With regard to tool usage by developers, we propose to use multiple persons (at least two) in classifying a warning. The same goes for making the decision of how to act based on the warning. Copyright © 2012 John Wiley & Sons, Ltd.  相似文献   

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

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

京公网安备 11010802026262号