[发明专利]通过动态仪表检测利用软件覆盖反馈进行模糊测试在审
申请号: | 202211396822.7 | 申请日: | 2022-11-09 |
公开(公告)号: | CN116107865A | 公开(公告)日: | 2023-05-12 |
发明(设计)人: | C·胡斯;M·菲舍尔;M·C·埃塞莱 | 申请(专利权)人: | 罗伯特·博世有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 杜荔南;刘春元 |
地址: | 德国斯*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通过 动态 仪表 检测 利用 软件 覆盖 反馈 进行 模糊 测试 | ||
通过动态仪表检测利用软件覆盖反馈进行模糊测试。本公开的第一方面涉及用于在对硬件目标上的软件进行模糊测试时获得软件覆盖反馈的计算机实现的方法,其中该硬件目标具有至少一个断点寄存器并被设计用于:如果在软件执行时到达指令并且将指令的存储器地址设置到至少一个断点寄存器中,则在执行软件的指令之前暂停软件的执行,所述方法包括:在软件的第一指令之前设置第一断点;执行或继续软件的模糊测试迭代;第一检查,检查在执行或继续模糊测试迭代时是否到达第一断点;存储第一日志信息,包括在模糊测试迭代中已到达第一指令,且可选地,如果第一检查得出肯定的结果,则删除第一断点。在对软件进行模糊测试时的软件覆盖反馈包括第一日志信息。
技术领域
本发明涉及通过动态仪表检测(Instrumentierung)利用软件覆盖反馈进行模糊测试。
背景技术
模糊测试(英文:fuzzing或者fuzz testing)是一种用于测试软件的自动化技术。在这种情况下,在大量的模糊测试迭代中,软件用无效、意外和/或随机输入数据来执行,并且在此监控异常(英文:exceptions),例如崩溃、失败的内置代码断言、潜在的内存泄漏等。针对其输入数据必须以预定数据结构存在的软件,可以使用为该预定数据结构设计的模糊器(英文:fuzzers)。例如,以文件格式和/或协议指定该预定数据结构。(有效的)模糊器被设计用于在预定数据结构中生成无效的、意外的和/或随机的输入数据,从而可以在没有解析错误的情况下基于输入数据开始执行软件的相应的模糊测试迭代。通过模糊测试尤其可以在复杂的软件(例如用于控制、调节和/或监控技术系统的软件)中确定意外行为,例如意外的(程序)路径和/或编程错误以及边缘情况。通过这样获得的更好的软件理解,可以改进软件,尤其是其安全性。
模糊测试目标可以是要通过模糊测试来测试的软件(例如程序)和/或其一部分(例如函数)。模糊测试目标可以是这样的,即其可能接受不可信的输入数据,这些输入数据可以在模糊测试时由模糊器生成,以进行大量的模糊测试迭代。在这种情形下,模糊测试可以看作是向模糊测试目标发送任意、尤其是无效、意外和/或随机输入数据并且然后在执行模糊测试迭代期间观察其反应的自动化过程。模糊器或模糊测试机是一种计算机程序,其被设计用于在每次模糊测试迭代为模糊测试目标自动化地生成输入数据。模糊器不是模糊测试目标的一部分,而是独立于模糊测试目标。通常,模糊器没有被仪表检测。已知的模糊器例如是 afl 或 lib模糊器。模糊测试目标和相关模糊器的组合可以称为模糊测试测验(Fuzzing-Test)。模糊测试测验是可执行的。 模糊器可以为大量的模糊测试迭代——例如每秒数百或数千次模糊测试迭代——生成分别不同的输入数据,并且可以开始、观察并在必要时还停止利用相关输入数据的模糊测试测验。模糊测试迭代包括基于为该模糊测试迭代生成的输入数据执行模糊测试目标/软件。通过存储相应的输入数据,可以在稍后的时间点重现模糊测试迭代,尤其是如果在模糊测试迭代期间识别到软件的意外行为(例如尚未已知的路径和/或编程错误),其中于是模糊测试目标可以在没有模糊器的情况下、但可以根据所存储的输入数据来执行。
在执行模糊测试期间可以输出来自软件目标的信息。这样的软件覆盖反馈(英语:coverage-guided fuzzing(覆盖引导的模糊测试))可以有利地在模糊测试时使用,以便识别尚未已知的路径/块并且/或者定位软件中的编程错误。例如,模糊测试时的软件覆盖反馈可以如在afl情况下那样通过模糊测试目标的静态仪表检测来实现。在静态仪表检测的情况下,模糊测试目标——即软件——(例如,在编译时)被如下改变,即在执行软件时并且尤其是在模糊测试迭代期间调用关于例如软件和/或(程序)路径中最后执行的指令的信息。替代地或附加地,可以从动态仪表检测中获得软件覆盖反馈。在此情况下,在运行时通过系统功能和/或仿真器控制软件的执行,以便获得关于软件中进程的信息。当软件处于编译形式(英文:closed-source(闭源))时,通过动态仪表检测进行的软件覆盖反馈是特别有利的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于罗伯特·博世有限公司,未经罗伯特·博世有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211396822.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种可移动式三点位联动吊挂装置
- 下一篇:用于存储接口控制器的写入缓冲器扩展