共查询到19条相似文献,搜索用时 31 毫秒
1.
为了解决当前模糊测试技术中变异存在一定的盲目性以及变异生成的样本大多经过相同的高频路径的问题,提出并实现了一种基于轻量级程序分析技术的二进制程序模糊测试方法。首先对目标二进制程序进行静态分析来筛选在模糊测试过程中阻碍样本文件深入程序内部的比较指令;随后对目标文件进行插桩来获取比较指令中操作数的具体值,并根据该具体值为比较指令建立实时的比较进度信息,通过比较进度衡量样本的重要程度;然后基于模糊测试过程中实时的路径覆盖信息为经过稀有路径的样本增加其被挑选进行变异的概率;最后根据比较进度信息并结合启发式策略有针对性地对样本文件进行变异,通过变异引导提高模糊测试中生成能够绕过程序规约检查的有效样本的效率。实验结果表明,所提方法发现crash及发现新路径的能力均优于模糊测试工具AFL-Dyninst。 相似文献
2.
模糊测试是一种行之有效的软件缺陷检测方法. 其基本思想是生成大量随机输入,从而广泛探索程序行为,并以此发现程序崩溃和崩溃背后的软件缺陷. 显然,纯随机的输入无法高效探索程序行为,大量程序缺陷也难以导致崩溃. 为了进一步提升模糊测试的有效性,模糊测试往往引入静态插桩技术,用于加快探索程序状态空间速度,提升发现缺陷的能力.因此,引入静态插桩已经成为当下模糊测试的经典实践. 聚焦于模糊测试场景下的插桩需求,除了介绍静态插桩技术的基本原理外,从安全特性强化和导向信息收集两个视角出发,系统性地分析了当下静态插桩的典型方法. 同时,针对插桩的额外开销问题,全面地测量了不同插桩方案下的程序的执行速度,并与基线的未插桩程序进行比对. 最后基于上述分析和测量,初步展望了静态插桩的优化方向. 相似文献
3.
4.
对堆上数据的频繁访问是Java程序的主要开销,为此,研究者们通过虚拟机收集堆上数据访问的信息,而后采用预取或垃圾收集来改进内存性能.常用的收集方法有采样法和插桩法,但二者无法同时满足细粒度和低开销的要求.针对这两个要求,提出基于插桩分析的虚拟机自适应预取框架,该框架通过插桩收集信息,并根据程序运行时的反馈自适应地调整插桩并进行预取优化.实验结果表明,自适应预取优化在Pentium 4上对SPEC JVM98和Dacapo有不同程度的提高,最高的达到了18.1%,而开销控制在4.0%以内. 相似文献
5.
基于实时嵌入式软件的测试经验,针对实时嵌入式软件特点,研究了基于LDRA的嵌入式软件覆盖率测试方法,分析了程序插装BITMAP技术应注意的问题.提出了单文件和多文件两种方式的覆盖率测试方法。对于嵌入式软件测试,具有实际参考价值。 相似文献
6.
基于实时嵌入式软件的测试经验,针对实时嵌入式软件特点,研究了基于LDRA的嵌入式软件覆盖率测试方法,分析了程序插装BITMAP技术应注意的问题,提出了单文件和多文件两种方式的覆盖率测试方法。对于嵌入式软件测试,具有实际参考价值。 相似文献
7.
8.
动态函数调用跟踪技术是调试Linux内核的重要手段.针对现有动态跟踪工具存在支持平台有限、运行效率低的问题,基于二进制翻译,设计并实现支持多种指令集的动态函数调用跟踪工具.首先,使用二进制翻译进行系统加载、分析内核镜像,识别基本块的分支指令类型.然后,根据不同平台指令集,设计桩代码并在函数调用与返回指令翻译时插入桩指令,进而在程序执行和内核启动时实时获取时间戳、进程标识、线程标识、函数地址等信息.最后,内核加载完毕后,处理获取的信息,生成过程函数调用图.只需要根据平台指令集特点设计对应的信息获取桩代码并插入到函数调用指令翻译代码中,实现简单,易于移植支持多种平台.该方法基于二进制翻译,直接对程序或内核镜像中的指令段、代码段、符号表进行分析,不依赖源码.拓展的中间代码和额外的目标码,不影响基本块连接、冗余代码消除、热路径分析等二进制翻译的优化方法,降低了开销.基于QEMU的实验结果表明:跟踪分析结果与源代码行为一致,桩代码执行信息记录产生了15.24%的时间开销,而信息处理并输出到磁盘文件产生了165.59%的时间开销,与现有工具相比,性能有较大提升. 相似文献
9.
在基于解释的机器学习问题上,近期提出的模糊模型FEBM(Fuzzy Explanation-Based Model)为模糊概念的识别和分类提供了一种很好的解决手段.在对该模型当对象的解释谓词在[0,1]上取确值的情况时,计算"对象属于概念C的真值"的公式进行适当调整的基础上,结合神经网络可以用于模式识别和分类的特点,提出了一种基于模糊神经网络和FEBM的模糊概念识别方法.实验表明,该方法是有效的和可行的,是关于该模型应用的一个极为有意义的尝试. 相似文献
10.
基于性能分析的自适应插桩框架 总被引:1,自引:0,他引:1
插桩技术用于跟踪获取软件系统的运行时信息,是软件性能管理工具中不可或缺的一个部分。目前,存在的各类插桩工具所产生的插桩点在目标程序运行的过程中往往是不可改变的。在实际的程序异常、错误检测中,用户关心的程序代码的位置在不同阶段往往不同,因此目标程序运行的不同阶段所需要获取信息的插桩点位置是不同的,如果插桩点过多会导致插桩工具浪费系统资源,产生系统资源消耗过大的问题;插桩点过少则会导致无法准确定位目标软件发生异常位置。针对以上问题,使用基于线性回归和K-Means的分析模型,分析目标软件的性能数据,在其运行过程中动态地改变插桩点,尽可能的减少资源的消耗;另外,采用朴素贝叶斯分类模型对插桩类进行筛选,减少植入插桩点的类,可降低插桩带来的资源消耗。实验表明:与传统的工具相比,使用此插桩框架进行监控,被测网页的平均响应时间减少6.88%,同时对目标程序的干扰更小。 相似文献
11.
12.
Pengfei Wang;Xu Zhou;Tai Yue;Peihong Lin;Yingying Liu;Kai Lu; 《Software Testing, Verification and Reliability》2024,34(2):e1869
Greybox fuzzing is a scalable and practical approach for software testing. Most greybox fuzzing tools are coverage-guided as reaching high code coverage is more likely to find bugs. However, since most covered codes may not contain bugs, blindly extending code coverage is less efficient, especially for corner cases. Unlike coverage-guided greybox fuzzing which increases code coverage in an undirected manner, directed greybox fuzzing (DGF) spends most of its time allocation on reaching specific targets (e.g. the bug-prone zone) without wasting resources stressing unrelated parts. Thus, DGF is particularly suitable for scenarios such as patch testing, bug reproduction, and special bug detection. For now, DGF has become an active research area. However, DGF has general limitations and challenges that are worth further studying. Based on the investigation of 42 state-of-the-art fuzzers that are closely related to DGF, we conducted the first in-depth study to summarize the empirical evidence on the research progress of DGF. This paper studies DGF from a broader view, which takes into account not only the location-directed type that targets specific code parts but also the behavior-directed type that aims to expose abnormal program behaviors. By analyzing the benefits and limitations of DGF research, we try to identify gaps in current research, meanwhile, reveal new research opportunities and suggest areas for further investigation. 相似文献
13.
模糊测试技术在软件质量保障、软件安全测试等领域起到重要作用。然而,在面对编译器这样输入语义复杂的系统时,现有的模糊测试工具由于其变异策略中缺乏对语义的感知能力,导致生成的程序难以通过编译器前端检查。本文提出了一种语义可感知的灰盒模糊测试方法,旨在提高模糊测试工具在编译器测试领域的效能。设计并实现了一系列可保持输入语义合法性并探索上下文多样性的变异操作符,并针对这些操作符的特点开发了高效的选择策略。将这些策略与传统的灰盒模糊测试工具相结合,实现了灰盒模糊测试工具SemaAFL。实验结果表明,通过应用这些变异操作符,SemaAFL在GCC和Clang编译器上的代码覆盖率相比AFL++和同类工具GrayC提高了约14.5%和11.2%。在近一个星期的实验期间,SemaAFL发现并报告了6个以前未被发现的GCC和Clang缺陷。 相似文献
14.
无人驾驶技术是交通运载领域中最具颠覆性的创新技术,其广泛的应用前景推动了众多科技企业和整车厂商的争相布局. 安全性,作为无人驾驶重要的预期属性,是其大规模落地的必要前提. 目前,在无人驾驶系统安全测评领域,仿真模糊测试技术因其高效的无人驾驶事故场景挖掘能力而备受关注. 然而,面向该技术的研究仍在起步阶段,相关的研究成果还无法可靠地缓解无人驾驶系统的功能安全问题. 在此背景下,首先介绍了仿真模糊测试的基本架构以及研究现状. 随后,尝试总结已有工作的不足与面临的挑战,并提出针对性的优化方案. 为验证这些优化方案的有效性和先进性,进一步将其用于主流开源无人驾驶系统Apollo和Autoware的安全评测中. 结果显示,这些方案可以极大地提升现有仿真模糊测试技术的事故挖掘与分析能力. 在此基础上,进一步展望了该领域中可能的研究方向,为后续工作提供指导性建议. 相似文献
15.
模糊测试是一种有效的漏洞挖掘技术.为改善模糊测试因盲目变异而导致的效率低下的问题,需要围绕输入特征、变异策略、种子样本筛选、异常样本发现与分析等方面不断定制模糊测试器,从而花费了大量的定制成本.针对通用型模糊测试器(即支持多类输入格式及目标软件的模糊测试器)的低成本定制和高可扩展性需求,本文首次提出了一种可编程模糊测试框架,基于该框架漏洞挖掘人员仅需编写模糊测试制导程序即可完成定制化模糊测试,在不降低模糊测试效果的基础上可大幅提高模糊测试器开发效率.该框架包含一组涉及变异、监控、反馈等环节的模糊测试原语,作为制导程序的基本语句;还包含一套编程规范(FDS)及FDS解析器,支持制导程序的编写、解析和模糊测试器的生成.基于实现的可编程模糊测试框架原型Puzzer,在26个模糊测试原语的支持下,漏洞挖掘人员平均编写54行代码即可实现当前主流的5款万级代码模糊测试器的核心功能,并可覆盖总计87.8%的基本操作.基于Puzzer实现的AFL等价模糊测试器,仅用51行代码即可达到与AFL相当的模糊测试效果,具有良好的有效性. 相似文献
16.
软件脆弱性已成为互联网安全的主要威胁来源,软件脆弱性分析技术的重要性日益突出。模糊测试是脆弱性分析的热点技术之一,通过持续生成测试用例、动态监控目标代码执行和反馈调节变异策略的方法尝试触发程序异常,具有部署便捷、适用性广和效果直观的优点。随着测试目标的复杂性增加,从业人员对模糊测试的效率提出了更高的要求。并行模糊测试通过并行执行、任务分解和共享信息等方法提高脆弱性分析的效率。首先,分析了基于覆盖反馈的模糊测试面临的主要挑战;之后,探讨了并行模糊测试的解决思路和方案,从系统结构、任务划分、语料库共享和崩溃去重等方面对并行模糊测试进行了综述;最后,总结了现有并行模糊测试的优缺点,并对未来发展方向进行了展望。 相似文献
17.
大量访问越界、内存耗尽、性能故障等缺陷是输入中有效数据的规模过大,超过临界值引起的.而现有灰盒模糊测试技术中的数据依赖识别和变异优化技术大都针对固定规模输入数据格式,对规模递增输入数据的构造效率不高.为此,针对这类累积型缺陷模糊测试对应的状态特征值最优化问题,提出一种对特征值依赖的输入数据的格式判别和差分变异方法.根据引发特征值最值更新的有效变异的位置分布和发现频次特征,判别待发现缺陷状态优化是否依赖于输入中相关数据规模的增长,将引发最值更新的有效变异内容应用于规模递增输入数据生成,提升该类累积型缺陷的复现和定向测试效率.依据该思想,实现了模糊测试工具Jigsaw,在测评实验数据集上的实验结果表明提出的判别方法能够高效地区分特征值依赖的输入数据组织形式,且提出的差分变异方法显著提升了需要大量输入才能触发累积型缺陷的复现效率. 相似文献
18.
19.
This article presents a method for determining the required number and locations of transmitting antennas (TXs) to optimize wireless propagation coverage in an indoor ultra wideband (UWB) communication system. In the coverage prediction model, we use the three‐dimensional ray‐tracing technique associated with a particle swarm optimization (PSO), and asynchronous particle swarm optimization (APSO) for optimizing the TXs location in an indoor environment. The three‐dimensional ray tracing and optimization algorithm was applied in indoor environment to find the best location of the TXs by maximizing the power in the coverage area. A deployment is proposed to minimize the TXs and maximize the power in the coverage area. Simulation results illustrate the feasibility of using the integrated ray‐tracing, and optimization methods to find the optimal transmitter locations in determining the optimized coverage of a wireless network. The APSO has better optimization results compared to the PSO and numerical results also show that the APSO outperforms the PSO in convergence speed. © 2012 Wiley Periodicals, Inc. Int J RF and Microwave CAE, 2013. 相似文献