首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 234 毫秒
1.
基于污点指针的二进制代码缺陷检测   总被引:1,自引:0,他引:1       下载免费PDF全文
污点指针严重影响二进制代码数据流和控制流的安全。为此,提出一种二进制代码缺陷检测方法。引入指针污点传播规则,结合路径约束条件和边界约束条件得到缺陷引发条件,构造能够引发4类污点指针代码缺陷的输入数据。在Linux系统下实现ELF二进制代码缺陷检测工具,测试结果表明,该方法能降低测试用例生成数量,并发现Linux系统工具的1个虚函数调用控制缺陷和2个指针内存破坏缺陷。  相似文献   

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

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

4.
现有代码异味强度检测方法未考虑度量对代码异味的影响力度。基于已有代码异味强度检测方法,分析度量对代码异味的影响力度,改进代码异味强度检测方法。应用随机森林得到影响代码异味的度量的特征重要性,将各度量的评估值作为各度量的权值,检测加权代码异味强度的值。评估检测策略时,对各个度量的相关性进行分析,发现用于检测的度量之间缺乏相关性,符合从不同角度衡量代码异味的思想。当加权代码异味强度作为缺陷模型预测因子时,可提高缺陷预测模型约2%的F-Measure值。  相似文献   

5.
开发人员思维定式和代码复制与克隆会导致代码中存在相同类型的软件缺陷。基于这一思想,提出一种基于特征相似的软件缺陷排除方法。该方法对已定位缺陷代码进行特征分析,基于该缺陷代码特征,查找项目代码中具有相似特征的代码片段。结合缺陷类型和代码特征对缺陷代码进行分析,建立特征相似关联规则,检测项目代码,排查与缺陷代码相似度超过预定阈值的代码片段,相似度超过预定阈值的代码片段称为疑似代码。通过对科研管理系统和物业系统人工导入错误并进行缺陷排除实验分析和人工检测,证实了该方法能够有效地发现项目中隐含的相似缺陷代码。  相似文献   

6.
目前在软件代码缺陷审查以及缺陷预测中,研究人员对源代码进行分析研究却忽略了代码的缺陷信息.本文通过对缺陷信息进行分析,发现缺陷信息对于相似缺陷的检测有着重要的参考价值.基于这一思想,本文分析软件缺陷社区Stack Overflow中关于缺陷代码的信息,提出一种基于缺陷代码特征分析的相似缺陷检测方法.该方法首先对缺陷报告进行LDA主题分析并将缺陷报告分类到不同的主题(类别)中,统计得到高频缺陷类别;其次对于高频缺陷类别的缺陷代码提取特征;最后根据缺陷代码特征构建相似缺陷检测模型.为了验证相似缺陷检测模型的有效性,针对数据操作缺陷数据构建诊断模型并对该模型进行实证,实验结果表明该方法对检测其他代码中相似缺陷有较好的效果.  相似文献   

7.
夏冰  庞建民  周鑫  单征 《计算机应用》2022,42(4):985-998
随着物联网和工业互联网的快速发展,网络空间安全的研究日益受到工业界和学术界的重视。由于源代码无法获取,二进制代码相似性搜索成为漏洞挖掘和恶意代码分析的关键核心技术。首先,从二进制代码相似性搜索基本概念出发,给出二进制代码相似性搜索系统框架;然后,围绕相似性技术系统介绍二进制代码语法相似性搜索、语义相似性搜索和语用相似性搜索的发展现状;其次,从二进制哈希、指令序列、图结构、基本块语义、特征学习、调试信息恢复和函数高级语义识别等角度总结比较现有解决方案;最后,展望二进制代码相似性搜索未来发展方向与前景。  相似文献   

8.
程靖云  王布宏  罗鹏 《计算机应用》2022,42(10):3170-3176
随着计算机软件规模和复杂度的不断增加,软件中存在的代码缺陷对公共安全形成了严重威胁。针对静态分析工具拓展性差,以及现有方法检测粒度粗、检测效果不够理想的问题,提出了一种基于程序切片和语义特征融合的代码缺陷静态检测方法。首先,对源代码中的关键点进行数据流和控制流分析,并采用基于过程间有限分布子集(IFDS)的切片方法,以获取由多行与代码缺陷相关的语句组成的代码片段;然后,通过词嵌入法获取代码片段语义相关的向量表示,从而在保证准确率的同时选择合适的代码片段长度;最后,利用文本卷积神经网络(TextCNN)和双向门控循环单元(BiGRU)分别提取代码片段中的局部关键特征和上下文序列特征,并将所提方法用于检测切片级别的代码缺陷。实验结果表明,所提方法能够有效检测不同类型的代码缺陷,并且检测效果显著优于静态分析工具Flawfinder;在细粒度的前提下,IFDS切片方法能进一步提高F1值和准确率,分别达到了89.64%和92.08%;与现有的基于程序切片的方法相比,在关键点为应用程序编程接口(API)或变量时,所提方法的F1值分别达到89.69%、89.74%,准确率分别达到92.15%、91....  相似文献   

9.
基于频谱的缺陷定位(spectrum-based fault localization, SBFL)通过分析测试用例的覆盖信息和执行结果信息进行快速定位,是目前最常用的缺陷定位技术。然而,该方法未能充分利用代码中隐含的语义和结构信息。若能将缺陷预测中使用到的代码结构信息和频谱信息融合使用,将有助于进一步提升缺陷定位的效果。为此,提出了一种融合代码静态特征和频谱的软件缺陷定位(fault localization combing static features and spectrums, FLFS)技术。首先,从Halstead等度量元集合中选取度量元指标并进行修改,以适用于度量代码的方法级特征;然后,根据选取的度量元指标提取程序中各个方法的静态特征并用于训练缺陷预测模型;最后,使用缺陷预测模型预测程序中各方法存在缺陷的预测可疑度,并与SBFL技术计算的频谱可疑度进行融合,以定位缺陷所在方法。为验证FLFS的有效性,将其与两种定位效果最好的SBFL技术DStar和Ochiai在Defects4J数据集上进行了对比实验。结果表明,FLFS具有更好的缺陷定位性能,对于Einspe...  相似文献   

10.
对现有二进制程序安全缺陷静态分析方法进行了综述和分析,提出了整个程序分析过程中的关键问题以及二进制程序安全分析的主要研究方向.通过对二进制程序缺陷静态分析流程的总结,发现二进制程序信息恢复是整个分析过程的关键,构造内容丰富的、通用的中间表示是二进制程序缺陷分析的重要研究方向.  相似文献   

11.
于银菠  刘家佳  慕德俊 《软件学报》2022,33(6):1961-1977
软件验证一直是确保软件正确性和安全性的热点研究问题.然而,由于程序语言复杂的语法语义特性,应用形式化方法验证程序的正确性存在准确度低和效率差的问题.其中,由指针操作带来的地址空间的状态变化使得现有模型检测方法的检测准确度难以得到保证.为此,通过结合模型检测与稀疏值流分析方法,设计了一种空间流模型,实现了对C程序在符号变量层面和地址空间层面的状态行为的有效描述,并提出了一种反例引导的抽象细化和稀疏值流强更新算法(CEGAS),实现了C程序指向信息敏感的形式化验证.建立了包含多种指针操作的C代码基准库,并基于该基准库进行了对比实验.实验结果表明:所提出的模型检测算法CEGAS在分析含有多种C代码特性的任务中,与现有模型检测工具相比均能取得突出的结果,其检测准确度为92.9%,每行代码的平均检测时间为2.58 ms,优于现有检测工具.  相似文献   

12.
《Computers & Structures》2006,84(15-16):1029-1048
Existing techniques in explicit dynamic Finite Element (FE) codes for the analysis of delamination in composite structures and components can be simplistic, using simple stress-based failure function to initiate and propagate delaminations.This paper presents an interface modelling technique for explicit FE codes. The formulation is based on damage mechanics and uses only two constants for each delamination mode; firstly, a stress threshold for damage to commence, and secondly, the critical energy release rate for the particular delamination mode. The model has been implemented into the LLNL DYNA3D Finite Element (FE) code and the LS-DYNA3D commercial FE code.The interface element modelling technique is applied to a series of common fracture toughness based delamination problems, namely the DCB, ENF and MMB tests. The tests are modelled using a simple dynamic relaxation technique, and serves to validate the methodology before application to more complex problems.Explicit Finite Elements codes, such as DYNA3D, are commonly used to solve impact type problems. A modified BOEING impact test at two energy levels is used to illustrate the application of the interface element technique, and it’s coupling to existing in-plane failure models. Simulations are also performed without interface elements to demonstrate the need to include the interface when modelling impact on composite components.  相似文献   

13.
在二进制翻译中引入TCG中间表示技术可以实现多目标平台之间的程序移植,同时可以更加方便地引入新型平台,解决新平台对主流平台的兼容性问题。然而由于原有的中间表示在翻译过程中影响了代码的关联度,生成的后端代码中存在较多冗余指令,影响翻译程序的执行效率。分析了指令优化可行性,针对条件跳转指令进行优化,通过指令预处理对中间表示进行改进,实现中间表示到后端代码生成由一对多翻译模式到多对多翻译模式的转变,采用指令归约技术,针对条件跳转指令的2种模式CMP-JX型与TEST-JX型,分别设计相应的优化翻译算法,并在开源二进制平台QEMU上实现。基于NPB-3.3和SPEC CPU 2006测试集进行了测试,与以前的翻译模式进行对比,优化后的代码膨胀率平均减少了14.62%,翻译程序运行速度提升了17.23%,验证了该优化方法的有效性。  相似文献   

14.
人工智能(artificial intelligence, AI)技术的发展为源码处理场景下AI系统提供了强有力的支撑.相较于自然语言处理,源码在语义空间上具有特殊性,源码处理相关的机器学习任务通常采用抽象语法树、数据依赖图、控制流图等方式获取代码的结构化信息并进行特征抽取.现有研究通过对源码结构的深入分析以及对分类器的灵活应用已经能够在实验场景下获得优秀的结果.然而,对于源码结构更为复杂的真实应用场景,多数源码处理相关的AI系统出现性能滑坡,难以在工业界落地,这引发了从业者对于AI系统鲁棒性的思考.由于基于AI技术开发的系统普遍是数据驱动的黑盒系统,直接衡量该类软件系统的鲁棒性存在困难.随着对抗攻击技术的兴起,在自然语言处理领域已有学者针对不同任务设计对抗攻击来验证模型的鲁棒性并进行大规模的实证研究.为了解决源码处理场景下AI系统在复杂代码场景下的不稳定性问题,提出一种鲁棒性验证方法 (robustness verification by Metropolis-Hastings attack method, RVMHM),首先使用基于抽象语法树的代码预处理工具提取模型的变量池,然后利...  相似文献   

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

16.
Software verification has always been a popular research topic to ensure the correctness and security of software. However, due to the complex semantics and syntax of programming languages, the formal methods for verifying the correctness of programs have the problems of low accuracy and low efficiency. In particular, the state change in address space caused by pointer operations makes it difficult to guarantee the verification accuracy of existing model checking methods. By combining model checking and sparse value-flow analysis, this paper designs a spatial flow model to effectively describe the state behavior of C code at the symbolic-variable level and address-space level and proposes a model checking algorithm of CounterExample-Guided Abstraction refinement and Sparse value-flow strong update (CEGAS), which enables points-to-sensitive formal verification for C code. This paper establishes a C-code benchmark containing a variety of pointer operations and conducts comparative experiments on the basis of this benchmark. These experiments indicate that in the task of analyzing multi-class C code features, the model checking algorithm CEGAS proposed in this paper can achieve outstanding results compared with the existing model checking tools. The verification accuracy of CEGAS is 92.9%, and the average verification time of each line of code is 2.58 ms, both of which are better than those of existing verification tools.  相似文献   

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

18.
随着嵌入式系统在安全关键领域的广泛应用,必须采用现代软件工程的技术进一步提高其可信性,以保证人们的生命安全。基于模型驱动方法,对AADL(体系结构分析设计语言)模型的框架代码自动生成技术进行了研究,提出了从AADL模型元素到C和Ada的语法元素的映射规则,由此实现了自动代码生成器generator并集成在开源工具OSATE中。最后通过一个实例,说明将AADL模型自动转换为框架代码后与模块代码结合的有效性。  相似文献   

19.
Vulnerabilities such as design flaws, malicious codes and covert channels residing in hardware design are known to expose hard-to-detect security holes. However, security hole detection methods based on functional testing and verification cannot guarantee test coverage or identify malicious code triggered under specific conditions and hardware-specific covert channels. As a complement approach to cipher algorithms and access control, information flow analysis techniques have been proved to be effective in detecting security vulnerabilities and preventing attacks through side channels. Recently, gate level information flow tracking (GLIFT) has been proposed to enforce bittight information flow security from the level of Boolean gates, which allows detection of hardware-specific security vulnerabilities. However, the inherent high complexity of GLIFT logic causes significant overheads in verification time for static analysis or area and performance for physical implementation, especially under multilevel security lattices. This paper proposes to reduce the complexity of GLIFT logic through state encoding and logic optimization techniques. Experimental results show that our methods can reduce the complexity of GLIFT logic significantly, which will allow the application of GLIFT for proving multilevel information flow security.  相似文献   

20.
With the emergence and popularity of identity verification means by biometrics, the biometric system which can assure security and privacy has received more and more concentration from both the research and industry communities. In the field of secure biometric authentication, one branch is to combine the biometrics and cryptography. Among all the solutions in this branch, fuzzy commitment scheme is a pioneer and effective security primitive. In this paper, we propose a novel binary length-fixed feature generation method of fingerprint. The alignment procedure, which is thought as a difficult task in the encrypted domain, is avoided in the proposed method due to the employment of minutiae triplets. Using the generated binary feature as input and based on fuzzy commitment scheme, we construct the biometric cryptosystems by combining various of error correction codes, including BCH code, a concatenated code of BCH code and Reed-Solomon code, and LDPC code. Experiments conducted on three fingerprint databases, including one in-house and two public domain, demonstrate that the proposed binary feature generation method is effective and promising, and the biometric cryptosystem constructed by the feature outperforms most of the existing biometric cryptosystems in terms of ZeroFAR and security strength. For instance, in the whole FVC2002 DB2, a 4.58% ZeroFAR is achieved by the proposed biometric cryptosystem with the security strength 48 bits.  相似文献   

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

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