首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 109 毫秒
1.
研究人员通过深入分析大量已公开漏洞的触发成因,将存在安全缺陷的代码抽象为漏洞模式。二进制静态漏洞挖掘技术的核心思想,就是在对二进制程序反汇编得到汇编代码的基础上,以漏洞模式为指导进行安全缺陷检测。文章对缓冲区溢出漏洞、数组越界漏洞、写污点值到污点地址漏洞模式进行了总结,并使用XML对漏洞模式作了形式化描述。  相似文献   

2.
近几十年来,计算机硬件性能和软件规模技术已不同以往,其承载了人类社会生活生产的方方面面.计算机技术的飞速发展,也带来了人们对程序安全问题的关注.由于市面上存在着较多的遗留软件,这些软件无人维护且缺乏源代码支持,其安全性令人担忧,而二进制分析技术被用来解决该类软件问题.二进制分析技术根据其检测方式不同可分为:基于静态的二进制代码分析技术、基于动态的二进制代码分析技术和动静态混合的二进制代码分析技术.本文调研了近年来的二进制代码安全分析领域上相关研究,分别详细阐述了这3类技术中的主要方法,并对其关键技术进行详细介绍.  相似文献   

3.
可执行程序的缺陷函数检测是软件漏洞发现的重要技术手段之一。从二进制代码指令流的角度出发,研究了缺陷函数的签名机制,提出了一种基于可执行程序静态分析的缺陷函数检测方法。该方法通过静态分析应用程序的可执行代码,建立进程运行过程中可能的函数调用序列集合。以该集合为基础,通过对比分析缺陷函数签名,可以准确检测该程序调用的缺陷函数集合,以及分析可能导致的脆弱性。通过实验分析,验证了该方法对于缺陷函数检测的有效性。  相似文献   

4.
程序缺陷分析与安全保护技术研究   总被引:2,自引:0,他引:2  
程序安全是信息安全研究的一个重要方向,主要研究程序缺陷分析和安全保护技术等.介绍程序缺陷分析研究及其分类方法,然后将程序安全保护研究分为三类主要途径进行重点阐述和分析,最后讨论程序安全研究的发展趋势.  相似文献   

5.
陈丹 《办公自动化》2012,(18):44-45
提出一种在二进制环境下挖掘缓冲区溢出漏洞的方法。结合动态与静态挖掘技术对二进制环境下的程序作进一步的漏洞查找.静态方法主要对二进制程序中函数栈帧的特征和汇编语句的内在语义关系进行分析,动态模拟方法为程序和函数提供了一个虚拟的运行环境,使程序在运行过程中结合一些静态特性得到该函数缓冲区变量的内存读写语义,最终判定程序中是否有缓冲区溢出。  相似文献   

6.
以对二进制程序进行自动化缺陷发现为目标, 基于软件虚拟机的动态二进制翻译机制和污点传播机制, 对符号计算需要关注的程序运行时语义信息提取、中间语言符号计算等机制进行了研究, 改进了传统动态符号执行的路径调度部分, 分析了程序缺陷的符号断言表达形式, 构建了一个在线式的动态符号执行系统检测二进制程序中的缺陷。实验验证了该方法在实际程序缺陷发现中的有效性。  相似文献   

7.
资源泄漏是影响软件质量和可靠性的一种重要软件缺陷,存在资源泄漏的程序长时间运行会由于资源耗尽而发生异常甚至崩溃.静态代码分析是进行资源泄漏检测的一种有效的技术手段,能够基于源代码或者二进制代码有效地发现程序中潜在的资源泄漏问题.然而,精确的资源泄漏检测算法的复杂性会随着程序规模的增加呈指数级增长,无法满足生产中即时对缺陷进行分析检测的实际应用需求.面向大规模源代码提出了一种增量式的静态资源泄漏检测方法,该方法支持过程间流敏感的资源泄漏检测,在用户编辑代码的过程中,从变更的函数入手,通过资源闭包、指向分析过滤等多种技术手段缩小资源泄漏检测范围,进而实现了大规模代码的即时缺陷分析与报告.实验结果表明:该方法在保证准确率的前提下,90%的增量检测实验可以在10s内完成,能够满足在用户编辑程序过程中对缺陷进行即时检测和报告的实际应用需求.  相似文献   

8.
写污点值到污点地址漏洞模式检测   总被引:1,自引:0,他引:1  
设备驱动是允许高级程序与硬件设备交互的底层程序.通常设备驱动中的漏洞较之应用程序中的漏洞对计算机系统的安全具有更大的破坏性.写污点值到污点地址是Windows设备驱动程序中频繁出现的一种漏洞模式.首次明确地对该种漏洞模式进行描述,提出一种针对二进制驱动程序中该种漏洞模式的自动检测方法,并实现相应的原型工具T2T-B2C.该方法基于反编译和静态污点分析技术,与其他方法相比,既可以分析C代码,也可以分析本地二进制代码.该工具由T2T和B2C两个组件组成:首先B2C基于反编译技术将二进制文件转换为C语言文件;然后T2T基于静态污点分析技术检测B2C生成的C代码中出现写污点值到污点地址漏洞模式的语句.使用多种反病毒程序中的二进制驱动对T2T-B2C进行了评估,发现了6个未公开漏洞.评估结果表明:该工具是一款可实际应用的漏洞检测工具,可应用于对较大规模的程序进行检测.  相似文献   

9.
二进制代码重写是程序分析领域的一个热点研究方向。提出一种基于空间约束的静态二进制代码重写技术,在保持代码功能和结构的情况下实现自动化重写。介绍二进制代码重写的设计思路,描述空闲空间构造和管理的策略,给出空间约束的代码重写算法。实验结果证明了该技术的有效性和可靠性。  相似文献   

10.
夏超  邱卫东 《计算机工程》2008,34(22):187-188
提出一种在二进制环境下挖掘缓冲区溢出漏洞的方法。结合动态与静态挖掘技术对二进制环境下的程序作进一步的漏洞查找。静态方法主要对二进制程序中函数栈帧的特征和汇编语句的内在语义关系进行分析,动态模拟方法为程序和函数提供了一个虚拟的运行环境,使程序在运行过程中结合一些静态特性得到该函数缓冲区变量的内存读写语义,最终判定程序中是否有缓冲区溢出。  相似文献   

11.
骨干级网络设备作为关键基础设施, 一直是网络攻防中的焦点, 与此同时, 其作为一个封闭、复杂的信息系统, 漏洞的公开研究资料相对较少、漏洞细节缺失较多。补丁对比是一种有效的漏洞分析手段, 而骨干级网络设备固件解包后通常具有单体式可执行文件, 这类文件具有函数数量多、文件规模大、调试符号信息缺失等特点, 直接进行补丁比对会产生大量待确认的误报差异, 同时启发式算法可能将两个不相关的函数错误匹配, 导致正确的安全修补缺失及漏报。传统的补丁比对方法无法有效地解决这类文件的补丁分析问题, 漏洞细节的分析遇到挑战。本文提出了一种针对单体式可执行文件中已知漏洞的定位方法MDiff, 通过漏洞公告描述中的子系统概念与目标二进制文件的内部模块结构对目标进行了拆分, 在基于局部性的二进制比对技术之上, 利用语义相似度衡量方法对比对结果进行筛选排序。具体来讲, MDiff首先利用入口函数及局部性原理识别存在漏洞的网络协议服务代码, 即粗粒度定位阶段。其次针对已识别出的、存在漏洞的网络协议服务代码模块中存在差异的函数进行动静态结合的语义信息分析, 包括基于扩展局部轨迹的安全修补识别, 基于代码度量的安全修补排序等步骤, 即细粒度定位阶段。基于该两阶段漏洞定位方法, 我们实现了一个原型系统, 对4个厂商设备中已经披露的15个漏洞进行实验。实验结果表明, 本文提出的漏洞定位方法可以提高网络设备的补丁分析效率, 支持研究人员发现已知漏洞细节。  相似文献   

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

13.
漏洞挖掘是网络攻防技术的重要组成部分。首先介绍了漏洞的概念、漏洞的成因、漏洞的主要分类以及漏洞挖掘一般流程,然后研究了补丁分析和测试技术两种漏洞挖掘方法,重点对二进制补丁比较、白盒测试、黑盒测试等具体漏洞挖掘技术进行了分析,比较了各种漏洞挖掘技术的优缺点。  相似文献   

14.
为更准确的检测程序中可能出现的缓冲区溢出漏洞,本文提出了一种c语言缓冲区溢出漏洞检测的静态分析方法,它在源代码的SSA(StaticSingleAssignment)形式上进行外部数据分析,并给出了该方法的实现过程。通过实践的结果表明该方法能有效的避免误判,与其他同类方法相比具有较高的准确性。  相似文献   

15.
你的QQ宠物长大了吗?你还在为喂养它而烦恼吗?还在担心它没人照顾而生病或死亡吗?在昨天,笔者也有同样的烦恼,索性就再也不让QQ宠物出来,眼不见心不烦。但是现在笔者为自己的QQ宠物找到了一个免费的“保姆”——Q宠保姆。经过这些天的使用,不但把我的QQ宠物养得白白胖胖的,而且还为我赚回了不少的元宝。天下原来真有这样的好事,大家快跟笔者一起来看看吧!  相似文献   

16.
基于属性综合评价系统的漏洞静态严重性评估   总被引:1,自引:0,他引:1  
肖云  彭进业  王选宏 《计算机应用》2010,30(8):2139-2142
针对计算机安全漏洞的静态严重性评估问题,提出了一种基于属性综合评价系统的漏洞静态严重性分析方法。该方法从漏洞的基本属性中提取漏洞的威胁性、影响度、流行性和修补难易4个指标,运用属性综合评价系统理论评价其静态严重性,获得二元组表示的漏洞静态严重性,其中的定性表示值表示漏洞的静态严重性等级,定量表示值表示漏洞静态严重性分值。应用实例表明该方法对于漏洞静态严重性的评估是准确有效的。相比于现有的漏洞严重性分析方法,该方法兼备了定性和定量表示的优点,体现了同一级别之下不同漏洞的静态严重性的细微差别  相似文献   

17.
Context: Static analysis of source code is a scalable method for discovery of software faults and security vulnerabilities. Techniques for static code analysis have matured in the last decade and many tools have been developed to support automatic detection.Objective: This research work is focused on empirical evaluation of the ability of static code analysis tools to detect security vulnerabilities with an objective to better understand their strengths and shortcomings.Method: We conducted an experiment which consisted of using the benchmarking test suite Juliet to evaluate three widely used commercial tools for static code analysis. Using design of experiments approach to conduct the analysis and evaluation and including statistical testing of the results are unique characteristics of this work. In addition to the controlled experiment, the empirical evaluation included case studies based on three open source programs.Results: Our experiment showed that 27% of C/C++ vulnerabilities and 11% of Java vulnerabilities were missed by all three tools. Some vulnerabilities were detected by only one or combination of two tools; 41% of C/C++ and 21% of Java vulnerabilities were detected by all three tools. More importantly, static code analysis tools did not show statistically significant difference in their ability to detect security vulnerabilities for both C/C++ and Java. Interestingly, all tools had median and mean of the per CWE recall values and overall recall across all CWEs close to or below 50%, which indicates comparable or worse performance than random guessing. While for C/C++ vulnerabilities one of the tools had better performance in terms of probability of false alarm than the other two tools, there was no statistically significant difference among tools’ probability of false alarm for Java test cases.Conclusions: Despite recent advances in methods for static code analysis, the state-of-the-art tools are not very effective in detecting security vulnerabilities.  相似文献   

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

19.
缓冲区溢出漏洞一直是计算机安全威胁中最为严重的漏洞之一,在黑客发现利用前检测出漏洞并及时修复极为重要;基于多维Fuzzing设计和实现了一种缓冲区溢出漏洞挖掘模型MFBOF,应用输入样本结构知识、结合静态二进制分析技术和动态输入/输出测试技术,运用自适应模拟退火遗传算法生成测试用例进行测试,并以挖掘Libpng的漏洞为实例说明了该模型的有效性;最后,提出了模型需要优化的地方和下一步研究方向。  相似文献   

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

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

京公网安备 11010802026262号