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