首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
漏洞签名是指触发程序漏洞的输入的集合,利用漏洞签名对程序输入进行过滤是一种有效的保护漏洞程序的方法。该文主要研究漏洞签名的生成技术,提出了一种有效的基于污点分析和符号执行的漏洞签名生成方法,它通过污点信息传播定位输入中的与触发漏洞相关的字节,然后,通过符号执行得到路径约束,并通过约束求解得到最终的漏洞签名。基于开源项目Pin和Z3,该文构建了基于污点分析和符号执行的漏洞签名生成原型系统TASEVS,并对漏洞程序进行了验证。实验结果表明,TASEVS能有效地生成漏洞签名。  相似文献   

2.
Use-after-free漏洞(简称UaF漏洞)是当前最流行的高危内存破坏漏洞。目前针对UaF漏洞的检测工作并不完善,原因是UaF漏洞产生的特征是分配内存、释放内存、使用已释放的内存并按顺序出现,而这3种事件可能出现在程序的任何位置,需要跟踪较长的执行序列并搜索潜在的危险事件序列才能检测到该漏洞,这很大程度上提高了检测的难度。该文针对UaF漏洞,分析了漏洞的产生原因、利用方式、带来的安全威胁以及漏洞检测技术面临的挑战,并设计和实现了一个基于静态分析和动态符号执行的面向二进制文件的UaF漏洞检测系统。经测试,该系统能够检测出已公开的UaF漏洞。通过该系统检测软件中的UaF漏洞,及时对软件进行修复或防护,可以有效提高软件的健壮性,减少UaF漏洞带来的安全隐患。  相似文献   

3.
为了有效地检测二进制程序的内存破坏漏洞,根据数据结构中字段独立性的特征,提出了一种基于字段完整性的漏洞检测方法.利用基于字段格式的动态污点技术记录二进制程序的执行轨迹,由此分析出目标程序中与输入数据相关的数据结构.依据输入数据结构中字段的完整性,比较输入字段与得到的数据结构,得到被内存破坏漏洞破坏的数据结构.通过定位被破坏的数据结构合理地检测内存破坏漏洞.实验表明该方法可以准确有效地检测出内存破坏漏洞.  相似文献   

4.
以C源码为研究对象,提出了一种基于静态插装和约束求解的整数漏洞检测方法.首先在C源码中可能的整数漏洞点前面插装检测代码,同时定位可能导致整数漏洞的输入源,并将其标记为符号变量.之后将静态插装后的源码编译成可执行代码,并进行(符号和具体执行的)混合执行.在动态执行的过程中,通过对插装代码对应的符号约束进行求解,可以检测整数漏洞是否存在,以及获得当整数漏洞存在时符号变量相应的具体取值.进一步地,通过对从程序入口点到整数漏洞点所经过路径上的所有条件跳转约束进行求解,获得引导程序到达整数漏洞点时符号变量相应的具体取值.结合两者可以辅助生成触发漏洞的输入用例.基于CVE(通用漏洞披露)通告的实验表明本系统能够成功检测到相应漏洞.  相似文献   

5.
为克服模糊测试方法具有盲目性和覆盖率不高的缺点,缓解当前符号执行方法所面临的空间爆炸问题,该文提出一种基于脆弱点特征导向的软件安全测试方法。该方法结合模糊测试和符号执行方法的特点,针对缓冲区溢出,精确分析了具备该脆弱点特征的代码,并以此为测试目标,力图提高测试针对性;通过域收敛路径遍历策略生成新测试数据进行测试。实验数据表明:该方法的缓冲区溢出可疑点识别率比现有的以经验为主的识别方法至少提高41%,与CUTE符号执行工具相比,较好地缓解了空间爆炸问题,并有效验证了OpenSSL等常用软件的脆弱点。  相似文献   

6.
格式化字符串漏洞是一种常见的危害较大的软件漏洞.现有格式化字符串漏洞自动验证系统未充分考虑参数存储位置位于栈以外空间的情况,造成对该部分漏洞可利用性的误判.针对该问题,论文设计实现了一种基于符号执行的格式化字符串漏洞自动验证方法,首先根据参数符号信息检测当前格式化字符串函数漏洞,然后分别构建参数存储于不同内存空间情况下的漏洞验证符号约束,最后利用约束求解自动得到漏洞验证代码,实现了格式化字符串漏洞的自动验证.在Linux系统下对不同类型测试程序进行了实验,验证了方法的有效性.  相似文献   

7.
针对二进制程序文件处理漏洞的挖掘,目前业界主流自动化方案为基于文件变异的模糊测试,但该方法盲目性高、代码覆盖率低、效率低下。为研究具有高针对性的测试方法,该文讨论了一种新型的函数内存模糊测试技术。该技术利用动态污点分析的结果,获取目标程序中处理输入数据流的函数与指令。测试中基于二进制插桩,对上述函数构造循环执行结构,并针对内存中的污点数据进行变异。原型系统实验表明:该测试方法可有效用于栈溢出等漏洞类型的挖掘;相比传统模糊测试,消除了因数据盲目测试造成的执行路径中断瓶颈,且在执行效率上具有95%以上的提升。  相似文献   

8.
Unlink攻击是一种Linux平台下面向堆溢出漏洞的攻击方式.已有的缓冲区溢出漏洞攻击检测技术通过检查程序控制流状态来确定程序漏洞触发点,并生成测试用例.但由于堆溢出数据很少直接导致程序控制流劫持以及相关保护机制的限制,已有的检测技术很难判断程序是否满足堆溢出攻击条件.为了提高程序的安全性,实现对Unlink攻击的检测,文中通过对已有Unlink攻击实例的分析,总结了Unlink攻击特征,建立了Unlink攻击检测模型,并根据该模型提出了Unlink攻击检测方法.该方法使用污点分析实现了对程序输入数据以及敏感操作的监控;使用符号执行技术构建程序污点变量传播的路径约束以及触发Unlink攻击的数据约束;通过对上述约束的求解,判断程序堆溢出漏洞是否满足Unlink攻击触发条件,并生成测试用例.实验结果表明,该方法能有效地实现针对Unlink攻击的检测.  相似文献   

9.
依据整数溢出漏洞特征,该文在对220个实际整数溢出漏洞分析的基础上提出了3种检测策略来缓解静态分析技术的高误报问题。结合静态分析可直接获取整数溢出类型信息及动态分析获取整数溢出漏洞准确的优点,提出了动静结合的整数溢出漏洞分析方法。先利用程序静态分析技术分析整数溢出并获取整数溢出类型等相关信息,动态分析根据静态分析得到的信息,使用自动插桩技术对代码进行插桩,结合漏洞特征设计的重构表达式运行具体符号执行以提高漏洞分析的准确率。动静结合的整数溢出漏洞分析方法减少误报效果较好:对Lighttpd-1.4.29进行检测时减少误报374条,占总量的67.3%;对Linux内核3.4版本进行检测时减少误报159 761条,占总量的98.2%;并最终成功分析出CVE-2011-4362、CVE-2013-1763整数溢出漏洞。  相似文献   

10.
近年来,随着软件规模和复杂度的日益增加,软件漏洞挖掘技术正逐渐向高度自动化和智能化演变,该文从传统漏洞挖掘技术和基于学习的智能化漏洞挖掘技术两方面深入调研和分析了相关的研究进展。首先,从静态和动态挖掘技术2方面详细介绍了传统漏洞挖掘技术的研究现状,涉及的技术包括模型检测、二进制比对、模糊测试、符号执行以及漏洞可利用性分析等,并分析了各项技术存在的问题,提出当前的研究难点是实现漏洞挖掘全自动化。然后,介绍了机器学习和深度学习技术在漏洞挖掘领域的应用,具体应用场景包括二进制函数识别、函数相似性检测、测试输入生成、路径约束求解等,并提出了其存在的机器学习算法不够健壮安全、算法选择依靠经验、数据样本不足、特征选择依赖专家知识等问题。最后,对未来研究工作进行了展望,提出应该围绕提高漏洞挖掘的精度和效率、提高自动化和智能化的程度这2方面展开工作。  相似文献   

11.
以快速生成能够覆盖可能存在缺陷程序点的测试用例为目标,结合基于生成的Fuzzing技术、静态程序控制流分析、静态污点分析等手段,提出一种导向式动态符号计算方法.通过Fuzzing生成能够到达包含缺陷程序点的函数的测试用例,作为种子输入驱动符号执行快速到达缺陷函数;在缺陷函数内利用静态控制流分析、静态污点分析计算出控制流污点可达程序切片,基于该切片进行朝向缺陷点的多路径动态符号执行.实验验证了方法能够有效减轻符号执行应用中广泛存在的路径爆炸问题,并且能生成触发目标缺陷的测试用例.  相似文献   

12.
在符号执行中,约束求解主要负责路径可达性进行判定及测试输入生成的工作,但路径爆炸问题带来的频繁调用,以及SMT求解器本身的能力和效率的不足,使得约束求解占用了符号执行中主要的性能开销,约束求解问题也成为符号执行中面临的主要瓶颈问题之一.本文介绍了符号执行和约束求解的基本概念,并分析了符号执行中约束求解问题的由来,对近年来的约束求解问题研究进展进行了归类,涉及的技术包括非相关约束分支切片、约束简化、快速不满足性检查及多求解器支持等.对这方面的研究进行了展望和总结.提出未来工作应在提高路径约束逻辑精简率、提高约束求解结果存储和重用的效率、约束求解并行化以及约束求解配置预测等方面展开.   相似文献   

13.
Android系统WebView组件应用广泛,相关漏洞危害大、影响广,但现有依赖静态匹配敏感函数的检测方法存在漏洞误报率高等问题.为此,本文提出了基于静态分析与动态验证技术融合的WebView组件漏洞自动化检测与验证方法,通过对漏洞可疑点进行可达性分析,避免对不可达路径的无效动态遍历,提高了分析效率;将数据依赖分析与模拟真实攻击行为的动态验证相结合,及时判断漏洞触发的真实性,降低了误报率.已实现原型工具XWebViewDigger并测试了80个Android应用,检出并验证18个应用存在漏洞,与现有方法相比,误报率有效降低.   相似文献   

14.
针对卸装一体化车辆路径问题,提出一种变惩罚函数的导向局部搜索算法(IGLS)。在传统导向局部搜索算法的基础上加入了新的惩罚效用函数,当传统导向局部搜索算法陷入局部最优时,变换惩罚策略后重新搜索,从而扩展搜索的邻域。通过和传统导向局部搜索算法以及TS_GLS算法在不同算例上的仿真结果比较,验证了所提算法在解决卸装一体化车辆路径问题上的有效性和稳定性。  相似文献   

15.
内存安全问题已成为影响C/C++程序正确性和可靠性的主要因素。一些现有的静态代码检测工具无法识别全局变量+跨函数内存管理的内存泄露和未定义越界访问这两种缺陷,且其他动态代码检测工具,因需要在运行时进行插桩等操作,会增加额外的开销导致检测效率慢。为解决这些问题,采用LLVM 15提出一种基于中间语言数据依赖关系的内存安全性检测方法,该方法通过获取并分析LLVM中间语言中指令之间的数据依赖,从而进行判断得出结果。在软件保障参考数据集SARD上的相关测试用例集验证了该方法的有效性,相比现有方法,该方法可以检测这两种内存安全性缺陷。  相似文献   

16.
目前的源代码漏洞检测方法大多仅依靠单一特征进行检测,表征的维度单一导致方法效率低.针对上述问题提出一种基于结构化文本及代码度量的漏洞检测方法,在函数级粒度进行漏洞检测.利用源代码结构化文本信息及代码度量结果作为特征,通过构造基于自注意力机制的神经网络捕获结构化文本信息中的长期依赖关系,以拟合结构化文本和漏洞存在之间的联系并转化为漏洞存在的概率.采用深度神经网络对代码度量的结果进行特征学习以拟合代码度量值与漏洞存在的关系,并将其拟合的结果转化为漏洞存在的概率.采用支持向量机对由上述两种表征方式获得的漏洞存在概率做进一步的决策分类并获得漏洞检测的最终结果.为验证该方法的漏洞检测性能,针对存在不同类型漏洞的11种源代码样本进行漏洞检测实验,该方法对每种漏洞的平均检测准确率为97.96%,与现有基于单一表征的漏洞检测方法相比,该方法的检测准确率提高了4.89%~12.21%,同时,该方法的漏报率和误报率均保持在10%以内.  相似文献   

17.
针对当前漏洞管理系统受制于漏洞扫描引擎,在可扩展性和性能上存在瓶颈的问题,设计并实现了一个漏洞自动化跟踪平台.该平台可统一管理各种渠道获得的信息系统漏洞信息,每个漏洞关联一个检测其是否已修复的检测脚本及参数,多进程方式并行执行的任务调度程序高频度复测漏洞状态,可扩展到多机部署进一步扩展性能.漏洞检测脚本以退出代码反馈测试结果,支持任何能在部署操作系统上执行的语言编写,并能被相似漏洞复用.开放的数据接口将本平台与IT资产数据库和流程管理系统对接,已完成的两套实际部署案例表明本平台对提高漏洞处置效率发挥了积极的作用.  相似文献   

18.
分布式漏洞检测系统的设计与实现   总被引:1,自引:0,他引:1  
针对目前主流的漏洞检测工具检测时间长、误报率高以及使用攻击代码影响系统运行等缺点,提出了一种基于OVAL的分布式漏洞检测系统,采用基于主机的漏洞检测方法发现系统存在的安全漏洞.该系统由检测代理和中心管理子系统组成,其中检测代理执行检测插件对目标主机系统进行漏洞检测,而中心管理子系统提供安全知识定义和检测算法.经实验测试,与其他漏洞检测工具相比,具有检测速度快、精度高、对网络运行状况影响小和可扩展性强的优点.适用于检测大规模局域网中各主机系统的漏洞状况.  相似文献   

19.
针对基于8031单片机系统软件的安全问题,对各权威漏洞数据库进行了分析研究,采用一种基于ECV规则的攻击分析方法从攻击事件中提取漏洞知识,根据漏洞种类及特征将漏洞从代码安全的角度分类,设计了三层结构的漏洞知识库,并根据漏洞知识库的设计提出了一种基于知识的漏洞检测算法,用于检测8031单片机系统漏洞。基于上述方法设计并实现了软件安全性逆向分析系统,对8031单片机系统进行漏洞检测。实验结果表明,基于该漏洞知识库的漏洞检测算法可以对目标程序正确进行漏洞检测,有利于降低软件代码漏洞量,并在一定程度上降低成本和资源消耗。   相似文献   

20.
受限于不完备的函数调用图分析和路径可达性分析,当前静态整数溢出检测工具存在较为严重的误报情况.为解决这一问题,以源代码中外部输入可控的整数溢出缺陷的自动挖掘为目标,给出一种综合调用图分析、静态污点分析和静态符号执行的检测方法.提出一种域敏感的流敏感指针分析方法构建目标程序调用图的"高估计",应用静态污点-sink传播分析确定潜在的外部输入可控的整数溢出缺陷程序点,最后应用静态符号执行技术通过判定缺陷约束的可满足性对误报情况进行约减.实验验证了方法在实际整数溢出缺陷检测和误报情况约减方面的应用有效性.  相似文献   

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

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