首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 109 毫秒
1.
多变体执行是由异构冗余变体并行执行来检测攻击的一种技术。作为一种主动防御技术,多变体执行(multi-variant execution,MVX)通过并行运行的异构执行体之间一致性检查发现攻击行为。相较于补丁式的被动防御,MVX可在不依赖攻击特征信息的情况下防御已知漏洞乃至未知漏洞威胁,在网络安全领域具有广泛的应用前景。然而该技术在实际部署中,由于多变体执行架构的边界不清晰,将随机数、进程PID号等被动地纳入到了表决范围,从而产生误报,导致多变体执行无法兼容更多的软件系统。本文分析了多变体执行假阳问题产生的原因,提出I-MVX,一种编译支持的多变体融合执行架构,包括多变体同步编程框架和运行时同步模块。I-MVX通过添加少量编译指示,在编译阶段对程序内部引起假阳性问题的代码和变量进行插桩标识,在运行时由监视器对变体进程内部和外部的变量及资源进行同步处理,消除多变体执行中的误报。本文基于LLVM/Clang编译器和Linux内核加载模块设计实现了I-MVX的编译器和同步监视器。性能实验评估显示,I-MVX在SPEC 2006基准测试集和tinyhttpd测试程序下引入的平均开销分别为2.13%和13.2%。多变体融合执行架构能够以少量的性能损耗为代价有效解决多变体执行中的假阳问题,提升多变体执行的可用性。基于真实CVE漏洞的安全性测试表明,I-MVX在保证多变体执行安全防御有效性基础上提升了多变体执行的兼容性。  相似文献   

2.
王吴松  方欢  郑雪文 《计算机科学》2021,48(12):170-180
合并流程变体模型能够快速地构建满足新需求的单一流程模型,对流程变体进行合并具有较大的实际应用价值,因此,文中提出了一种利用分组公平控制流结构的流程变体合并方法.首先,利用Petri网中的分组公平将流程变体分割为单个的变体片段;其次,提取出变体片段的控制流路径,并在此基础上构建其矩阵表现形式,进而将流程变体合并为单一的流程模型;最后,通过形式化证明验证合并后的流程模型可以捕获输入流程模型的所有行为,并且可以检测在合并模型中是否产生了不期望的行为.  相似文献   

3.
多变体执行是一种网络安全防御技术,其利用软件多样性生成等价异构的执行体,将程序输入分发至多个执行体并行执行,通过监控和比较执行体的状态来达到攻击检测的目的。相较于传统的补丁式被动防御技术,多变体执行不依赖于具体的攻击威胁特征进行分析,而是通过构建系统的内生安全能力来对大多数已知、甚至未知的漏洞做出有效防御。近年来,多变体执行技术在不断改进和完善,但是误报问题是制约其发展的主要因素。本文针对多变体执行产生误报的原因进行了详细分析,并在此基础上提出利用容器技术实现多变体执行系统在解决误报问题上的优势。为提升多变体执行技术的可用性,本文设计并实现了一种基于容器技术的多变体执行系统CON-MVX,有效解决传统多变体执行系统的误报问题。CON-MVX利用多个经过运行时随机化技术构建的异构容器作为执行体,使用可重构的模块化组件和独立的容器管理工具对容器执行体进行编排管理,建立进程间监控器CGMon,在内核层级实现对多个执行体的输入同步和输出裁决。同时,为满足与客户端良好交互性,建立中继端口策略,保证系统运行状态的正常反馈。实验结果表明,CON-MVX在保证安全能力的前提下,能有效降低多变体执行系统的误报率,在双冗余度执行条件下使用SPEC CPU 2006测试集测试时,系统带来的平均额外性能损耗不超过15%。  相似文献   

4.
为解决设计模式演化后难以挖掘的问题,提出引入特征规则的设计模式变体挖掘方法.通过逆向工程中的大类图拆分方法获取设计模式参与者角色及关系,根据设计模式指导的软件分簇方法识别职能相似的有效参与者及关系,制定设计模式变体挖掘规则,通过在基于文法产生优化的设计模式识别方法中引入变体规则特征信息来挖掘设计模式变体,设计单例变体与综合变体挖掘实验.实验结果表明,所提方法能够提高设计模式变体挖掘的精确率,验证了算法的有效性.  相似文献   

5.
为解决标准设计模式演化后难以检测的问题,引入设计模式变体思想,以Bridge模式为例,给出了八种常用的变体实现,并以人工形式挖掘了四种开源系统中Bridge模式变体的基准数,接着在Apache Ant1.6.2与JHotDraw5.1开源系统中通过六种主流设计模式检测工具进行了变体检测实验。试验结果表明,FCA-CBR方法简单有效,对2种开源系统中Bridge模式变体检测的精确率达到60%与48.1%,与先前方法相比有了较大的提高。  相似文献   

6.
攻击面是衡量软件系统安全性的一个重要指标,采用攻击面描述可以通过集合的方式描述软件系统的安全性并对其进行度量。一般的攻击面模型基于I/O自动机模型对软件系统进行建模,其一般采用非冗余的架构,难以应用于类似多变体系统这类异构冗余的系统架构。Manadhatad等提出了一种在非相似余度系统中进行攻击面度量的方式,但其采用的系统架构表决粒度和表决方式与多变体系统不同,无法准确度量多变体系统的攻击面。因此,在传统攻击面模型基础上,结合多变体系统异构冗余架构的特点,对传统攻击面模型进行扩展,并构建多变体系统的攻击面模型;使用形式化方式表示多变体系统的攻击面,根据多变体系统在系统出口点处的表决机制对传统攻击面模型进行改进,以使其能解释多变体系统攻击面缩小的现象,通过该建模方式,能够说明采用多变体架构的多变体系统在运行过程中攻击面的变化。采用了两组多变体执行架构的软件系统进行实例分析,分别通过与未采用多变体架构的功能相同的软件系统在未受攻击和遭受攻击两种情境下进行攻击面的对比分析,体现多变体系统在攻击面上的变化。结合攻击面理论与多变体执行系统的特点提出了一种面向多变体执行系统的攻击面建模方法,目前可以定性分析多变体执行系统攻击面的变化,未来将在定量分析多变体执行系统攻击面的方向继续进行深入研究。  相似文献   

7.
针对设计模式变体挖掘准确率较低的问题,提出引入线索约束的设计模式变体挖掘方法,旨在基于约束满足问题CSP描述设计模式变体线索,给出DPVMC算法,分结构特征约束与时序特征约束2个阶段引入线索。以Proxy、Bridge、Command、Factory Method 模式变体为例,设计了2阶段的单个设计模式变体挖掘实验与集成设计模式变体挖掘实验,通过4种主流设计模式挖掘工具与4种基准系统进行了设计模式挖掘实验,实验结果表明,本文方法取得了较好的效果。  相似文献   

8.
文章通过讨论汉字的基本笔画及字体特征提出了一种基于原体的汉字程序变体方法。该方法从汉字的骨架拓扑结构及各字体笔画轮廓线的几何形状出发,建立了字体的数学描述模型、索引结构及字体成形算法,继承了字库存在方式的优点,又改变了完全靠字库变体的老方法。实验结果表明该方法不但可以实现具有实用性的字形变体,而且大量节约了存储空间。  相似文献   

9.
该文介绍了维吾尔语词干结构特征、词缀结构特征及维吾尔语语音和谐律;以维吾尔语语音和谐律为基础,在充分考虑基本搭配规则和特殊规则的前提下,提出一种基于词干、词缀结构特征的维吾尔语词缀变体搭配算法;验证词干、词缀结构特征提取的正确性和完整性,并对500个名词词干和300个动词词干进行词缀变体搭配,分别生成9 000个名词和37 800个动词。借助维吾尔语文字校对系统和人工验证的方法,对生成的所有单词进行词缀变体搭配准确性验证;实验结果表明,名词和动词词干搭配词缀准确率分别为98.40%和96.49%,整体搭配准确率为96.86%;最后对搭配错误原因进行了分析。  相似文献   

10.
软件和信息系统的高速发展在给人们生活带来诸多便利的同时,也让更多的安全风险来到了我们身边,不法分子可以很方便的利用无处不在的网络和越来越自动化、低门槛的攻击技术去获得非法利益。面对这种现状,传统被动式的安全防御已显得力不从心,更高的防御需求,促进了安全领域不断研究新的主动防御技术。这其中,基于攻击面随机化扰动的移动目标防御技术和基于异构冗余思想的多变体执行架构技术受到了广泛的关注,被认为是有可能改变网络空间游戏规则的安全技术,有望改变攻防双方不平衡的地位。本文对近年来多变体执行架构技术在安全防御方面的研究工作进行归纳总结,梳理了该方向的关键技术及评价体系。在此基础上,分析了多变体执行架构在安全防御方面的有效性,最后指出多变体执行架构技术当前面临的挑战与未来的研究方向。  相似文献   

11.
Specification-based (or functional) testing enables us to detect errors in the implementation of functions defined in specifications, but since specifications are often incomplete in practice for some reasons (e.g., lack of ideas, no time to write), it is unlikely to be sufficient for testing all parts of corresponding programs. On the other hand, implementation-based (or structural) testing focuses on the examination of program structures, which allows us to test all parts of the programs, but may not be effective to show whether the programs properly implement the corresponding specifications. To perform a comprehensive testing of a program in practice, it is important to adopt both specification-based and implementation-based testing. In this paper we describe a relation-based test method that combines the specification-based and the implementation-based testing approaches. We establish a set of relations for test case generation, illustrate how the method is used with an example, and investigate the effectiveness and weakness of the method through an experiment on testing a software tool system.  相似文献   

12.
软件测试中的结构性测试是以程序的结构为基础生成测试用例,以测试准则为判定测试的充分性,由于程序结构的复杂性,难于保证对程序进行充分而高效的测试,本文提出了一种基于程序依赖图的程序结构划分的测试方法,即程序块划分法。该方法难过对程序进行结构划分,将复杂的程序分解为若干程序块,并通过程序块间的数据依赖关系导出各程序块的语义,从而使测试可以在程序块的级别的基础上独立进行。  相似文献   

13.
McCabe提出的基本路径测试法(McCABE T J. A complexity measure. IEEE Transactions on Software Engineering, 1976, SE-2(4): 308-320)是动态白盒测试技术中严谨而有效的方法,但存在测试用例设计效率较低的问题,影响了该方法在工程项目中的广泛应用。为了解决这一问题,从被测程序的基本结构出发,提出一种基于组合的基本路径测试用例设计方法。创建一种基于Z路径覆盖的基本单元图,构建由基本单元图组合形成控制流图的组合规则,以此为基础提出了基本路径组合算法,该算法只需一次扫描程序得到程序基本结构的路径集,将这些路径进行组合即可生成被测程序的基本路径集。该方法比McCabe所提出的方法构造过程简洁,能有效提高基本路径测试用例设计的效率。  相似文献   

14.
张术梅  孙辉 《微机发展》2007,17(1):125-127
测试用例的数量和质量决定软件测试的成本和有效性。文中提出了一种基于UML面向对象软件静态测试的方法,论述了软件测试方法的分类、静态分析方法的基本测试框架及具体实现流程。针对面向对象软件的特点,静态测试主要是通过分析源程序得到类关系图,使测试人员能快速而清晰地了解程序结构,有效地设计测试用例。探讨了在对源程序进行充分的词法分析与语法分析的基础上,提取程序中类的有关信息,利用了数据库技术和UML图形模型,从而保证了分析结果的准确有效和标准化。  相似文献   

15.
面向对象软件测试是面向对象软件开发的一个重要阶段,是保证软件质量、提高软件可靠性的关键,而类测试又是面向对象软件测试的关键。文章针对面向对象程序的特性对软件测试的影响,研究了一种基于状态的类测试方法,从而能够更有效地对面向对象软件进行测试,提高了软件的质量。  相似文献   

16.
This paper presents a method to generate test cases for sequential programs and concurrent programs written in a flow based program language. Test cases of sequential programs are generated based on condition calculation, and can be combined together to form SYN-sequences for concurrent program testing. Semantics of the language provides an infrastructure for the test case generation, and thus our method may be considered as a rigorous and systematic approach to the program testing. Compared with some formal testing methods, our method can avoid hitting state explosion problem in the test formation. Besides, the complexity analysis reveals that our method is time saving. Our method has been applied to generate test cases for PPP over ATM, a subsystem of IAD that runs data and voice over DSL.  相似文献   

17.
针对Java单元测试自动化程度和测试效率较低的问题,对基于Java程序的基本路径测试方法进行研究,提出了基于Java代码的基本路径生成方法和程序插桩方法,给出了插桩节点和控制流图节点的定义。首先,通过对Java源代码进行分析,构建程序的控制流图,进而对控制流图进行遍历生成基本路径集合;然后,对被测程序进行插桩,以获取程序的执行路径,插桩过程中保持节点和基本路径中的节点一致,使得插桩后的被测程序执行时得到的路径能够和基本路径集合进行自动化比对;最后,通过以测试数据为输入执行被测程序,对执行路径和基本路径进行比较,判断测试数据集对基本路径的覆盖度。通过实验,验证了所提出方法的有效性。  相似文献   

18.
With the widespread use of agile software development methods,such as agile and scrum,software is iteratively updated more frequently.To ensure the quality of the software,regression testing is conducted before new versions are released.Moreover,to improve the efficiency of regression testing,testing efforts should be concentrated on the modified and impacted parts of a program.However,the costs of manually constructing new test cases for the modified and impacted parts are relatively expensive.Fuzz testing is an effective method for generating test data automatically,but it is usually devoted to achieving higher code coverage,which makes fuzz testing unsuitable for direct regression testing scenarios.For this reason,we propose a fuzz testing method based on the guidance of historical version information.First,the differences between the program being tested and the last version are analyzed,and the results of the analysis are used to locate change points.Second,change impact analysis is performed to find the corresponding impacted basic blocks.Finally,the fitness values of test cases are calculated according to the execution traces,and new test cases are generated iteratively by the genetic algorithm.Based on the proposed method,we implement a prototype tool DeltaFuzz and conduct experiments on six open-source projects.Compared with the fuzzing tool AFLGo,AFLFast and AFL,DeltaFuzz can reach the target faster,and the time taken by DeltaFuzz was reduced by 20.59%,30.05%and 32.61%,respectively.  相似文献   

19.
关于蜕变测试和特殊用例测试的实例研究   总被引:5,自引:0,他引:5  
提出了基于蜕变测试方法的集成测试环境MTest,进而为检验蜕变测试方法的能力和效率,以稀疏矩阵乘法程序为例设计了一组实验.该实验基于变异分析技术,分别以mutation score和错误发现率为度量指标,定量地分析和对比了特殊用例测试,以特殊测试用例和随机测试用例为源测试用例的蜕变测试这3种方法的测试能力和效率.该实验可在MTest测试环境下自动完成.实验结果表明,蜕变测试与特殊用例测试之间是互补的,而且就蜕变测试的源测试用例而言,随机测试用例在测试能力和效率上优于特殊测试用例.  相似文献   

20.
针对通信软件的模型驱动测试框架中出现的测试生成问题,对MSC测试模型的测试生成方法进行改进,获得有效的系统测试集。采用符号执行和程序分析相结合的方法,收集生成的约束、测试脚本变量与被测系统变量之间的映射关系,据此生成测试模型,进一步进行模型验证和测试生成。这种方法可以对原有的测试集合进行半自动的扩展,对关心的程序路径进行测试覆盖,从而提高测试集合的有效性和完备性。  相似文献   

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

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