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

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

3.
针对现有方法检测复杂结构二进制代码安全缺陷的不足,提出新的分析模型,并给出其应用方法。首先以缺陷的源代码元素集合生成特征元素集合,抽取代码结构信息,构建分析模型。然后依据各类中间表示(IR,intermediate representation)语句的统计概率计算分析模型,查找满足特征模型的IR代码组,通过IR代码与二进制代码的转换关系,实现对二进制程序中代码安全缺陷的有效检测。分析模型可应用于二进制单线程程序和并行程序。实验结果表明,相对于现有方法,应用该分析模型能够更全面深入地检测出各类结构复杂的二进制代码安全缺陷,且准确率更高。  相似文献   

4.
胡刚  张平  李清宝  张翠艳 《计算机工程》2011,37(5):276-278,281
恢复完整的程序控制流图是软件逆向分析的关键,但传统恢复算法依赖于程序结构和编译器信息,不具通用性,无法满足无结构的二进制程序控制流恢复的需要.针对该问题,在传统控制流恢复算法的基础上,提出一种基于静态模拟策略的通用二进制程序控制流恢复算法,并与传统控制流恢复算法、基于切片技术的控制流恢复算法和动态控制流恢复算法在性能上...  相似文献   

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

6.
随着移动互联网的快速发展,智能手机特别是Android智能手机的用户日益增多,Android应用的安全缺陷层出不穷。将Android应用安全缺陷分为漏洞缺陷、组件缺陷和配置缺陷等三方面,针对这些安全缺陷,对字节码文件进行静态分析,将解析的Android字节码作为检查载体,采用访问者模式为每一种脆弱性检测设计检测器。最后给出了部分代码实现,实践证明能够满足Android应用安全缺陷的静态检测需求。  相似文献   

7.
针对符号转换错误引起缓冲区溢出的这类缺陷提出了一种面向二进制程序整型符号转换缺陷检测方法。以二进制插桩框架为基础,利用类型推断方法识别整型变量的符号类型信息,得到内存相关库函数中为冲突类型的参数的集合,并将其作为潜在的整型符号转换缺陷候选集。在中间代码层面插入检测代码做运行时检测,最终确定真正的整型符号转换缺陷。原型系统Sconvcheck的实验结果表明:该方法可以有效地检测出程序中的整型符号转换缺陷,并准确地定位错误发生的位置,而且误报率较低。  相似文献   

8.
针对已有的使用单个静态检测工具进行源代码安全缺陷检测存在的漏报率和误报率很高的问题,提出了一种基于多种静态检测工具的检测方法。该方法通过对多种工具的检测结果进行统计分析,有效地降低了漏报率和误报率。设计和实现了一个可扩展的源代码静态分析工具平台,并通过实验表明,相对于单个工具的检测结果而言,该平台明显降低了漏报率和误报率。  相似文献   

9.
在二进制翻译中采用中间表示,可以适当隔离不同机器平台的特点,便于二进制翻译系统的移植。提出一种VINST中间表示方法,介绍其指令集与特点,运用SSA形式化和冗余指令删除等方法对VINST进行初步优化。优化前后的性能比较结果表明,相对简单高效的方法可以弥补优化的开销,提高系统性能。  相似文献   

10.
介绍了描述程序信息的两种模型(EPOM和OSTPM)以及它们之间的联系,并举例介绍了如何利用这两种模型进行程序的静态分析检测。  相似文献   

11.
C源代码静态安全检查技术   总被引:4,自引:0,他引:4  
对源代码进行安全检查就是在程序运行之前通过分析源程序发现潜在的安全缺陷。该文分析了C语言源程序中可能发现的安全问题,介绍了目前静态代码安全检查的技术和方法以及面临的困难,最后,给出了一些提高程序安全性的建议。  相似文献   

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

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

14.
在当今“万物互联”的时代,嵌入式系统逐渐成为接入云端的重要组件,常用于安全和隐私敏感的应用或设备中.然而,其底层软件(即固件)也在频繁遭受着安全漏洞的影响.由于嵌入式设备底层硬件平台的复杂异构,软硬件实现差异较大,且其专用性强、源码/文档等往往不会公开,加之其运行环境受限等原因,使得一些在桌面系统上运行良好的动态测试工具很难(或根本不可能)直接适配到嵌入式设备/固件环境中.近年来,研究人员逐渐开始探索基于二进制相似度分析技术来检测嵌入式设备固件中存在的已知漏洞,并且取得了较大的进展.围绕二进制代码相似度分析面临的关键技术挑战,系统研究了现有的二进制代码相似度分析技术,对其通用流程、技术特征、评估标准进行了综合分析和比较;然后分析并总结了现有二进制代码相似度分析技术在嵌入式设备固件漏洞搜索领域的应用;最后,提出了该领域应用仍然存在的一些技术挑战及未来的一些开放性的研究方向.  相似文献   

15.
李韵  黄辰林  王中锋  袁露  王晓川 《软件学报》2020,31(7):2040-2061
软件复杂性的增加,给软件安全性带来极大的挑战.随着软件规模的不断增大以及漏洞形态多样化,传统漏洞挖掘方法由于存在高误报率和高漏报率的问题,已无法满足复杂软件的安全性分析需求.近年来,随着人工智能产业的兴起,大量机器学习方法被尝试用于解决软件漏洞挖掘问题.首先,通过梳理基于机器学习的软件漏洞挖掘的现有研究工作,归纳了其技术特征与工作流程;接着,从其中核心的原始数据特征提取切入,以代码表征形式作为分类依据,对现有研究工作进行分类阐述,并系统地进行了对比分析;最后,依据对现有研究工作的整理总结,探讨了基于机器学习的软件漏洞挖掘领域面临的挑战,并展望了该领域的发展趋势.  相似文献   

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

17.
邓枭  叶蔚  谢睿  张世琨 《软件学报》2023,34(2):625-654
源代码缺陷检测是判别程序代码中是否存在非预期行为的过程,广泛应用于软件测试、软件维护等软件工程任务,对软件的功能保障与应用安全方面具有至关重要的作用.传统的缺陷检测研究以程序分析为基础,通常需要很强的领域知识与复杂的计算规则,面临状态爆炸问题,导致检测性能有限,在误报漏报率上都有较大提高空间.近年来,开源社区的蓬勃发展积累了以开源代码为核心的海量数据,在此背景下,利用深度学习的特征学习能力能够自动学习语义丰富的代码表示,从而为缺陷检测提供一种新的途径.搜集了该领域最新的高水平论文,从缺陷代码数据集与深度学习缺陷检测模型两方面系统地对当前方法进行了归纳与阐述.最后对该领域研究所面临的主要挑战进行总结,并展望了未来可能的研究重点.  相似文献   

18.
现在软件规模越来越庞大和复杂,脆弱性形式也更趋向多样化,传统的脆弱性检测方法存在人工参与度高、对未知脆弱性检测能力弱的缺点,已无法满足对多样化脆弱性的检测要求.为了提高对未知脆弱性的检测效果,大量机器学习方法被应用到软件脆弱性检测领域.由于现有方法在代码表征过程中存在着较高的语法和语义信息的损失,导致误报率和漏报率较高.针对这一问题,提出了一种基于代码属性图和Bi-GRU的软件脆弱性检测方法.该方法通过从函数的代码属性图中提取出抽象语法树序列、控制流图序列作为函数表征的表征方式,减少代码表征过程中的信息的损失,并通过选取Bi-GRU来构建特征提取模型,提高对脆弱性代码的特征提取能力.实验结果表明,与以抽象语法树为表征方式的方法相比,该方法最大可提高35%的精确率和22%的召回率,可改善面向多个软件源代码混合的真实数据集的脆弱性检测效果,有效降低误报率和漏报率.  相似文献   

19.
针对目前现有静态分析方法存在的漏报率和误报率较高的问题,提出一种基于数据融合的源代码静态分析漏洞检测技术.该技术通过对不同检测方法的分析结果进行解析和数据融合,有效地降低误报率和漏报率.设计与实现了一个可扩展的源代码静态分析工具原型,可通过用户的反馈信息自动寻优.实验结果表明:相对于单个漏洞检测方法而言,该方法的误报率和漏报率明显降低.  相似文献   

20.
彭国军  梁玉  张焕国  傅建明 《软件学报》2017,28(8):2026-2045
在当前的计算机系统架构和软件生态环境下,ROP(Return-Oriented Programming)等基于二进制代码重用的攻击技术被广泛用于内存漏洞利用.近年来,网络空间安全形势愈加严峻,学术界、工业界分别从攻击和防护的角度对二进制代码重用技术开展了大量研究.文章首先介绍了二进制代码重用技术的基础,然后分析了二进制代码重用攻击技术的演变和典型攻击向量;同时,对基于控制流完整性和随机化的防护方法进行了讨论,对工业界最新的二进制代码重用防护机制CET(Control-flow Enforcement Technology)和CFG(Control Flow Guard)进行了剖析.文章最后讨论了二进制代码重用技术今后的发展方向,包括潜在的攻击面和防御机制增强的思路.  相似文献   

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

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