基于模糊测试的固件镜像文件刷写校验方法、系统及终端

文档序号:190924 发布日期:2021-11-02 浏览:26次 >En<

阅读说明:本技术 基于模糊测试的固件镜像文件刷写校验方法、系统及终端 (Firmware image file flash verification method, system and terminal based on fuzzy test ) 是由 赵淼 于 2021-05-28 设计创作,主要内容包括:本申请公开了基于模糊测试的固件镜像文件刷写校验方法、系统及终端,该方法包括:根据UEFI文件系统结构,建立数据模型;利用数据模型对待测固件镜像文件进行识别;采用模糊测试的方法依次对待测固件镜像文件中的每个片段进行修改,形成N个变异后的待测固件镜像文件;将第一固件刷写至目标硬件;根据刷写结果判断目标硬件是否存在固件刷写安全漏洞;如果是,根据没有进行合法性校验的第一固件,定位待测固件镜像文件中没有进行合法性校验的片段。该系统包括:数据模型建立模块、识别模块、变异模块、刷写模块、判断模块和定位模块。该终端包括:处理器以及与处理器通信连接的存储器。通过本申请,能够有效提高漏洞检测的准确性。(The application discloses a firmware image file flash verification method, a system and a terminal based on fuzzy test, wherein the method comprises the following steps: establishing a data model according to a UEFI file system structure; identifying the firmware image file to be detected by using a data model; modifying each segment in the firmware image file to be tested in sequence by adopting a fuzzy test method to form N mutated firmware image files to be tested; flashing the first firmware to the target hardware; judging whether firmware flash security holes exist in the target hardware according to the flash result; if so, positioning the fragment which is not subjected to the validity check in the firmware image file to be detected according to the first firmware which is not subjected to the validity check. The system comprises: the device comprises a data model establishing module, an identification module, a variation module, a flash module, a judgment module and a positioning module. The terminal includes: a processor and a memory communicatively coupled to the processor. Through the method and the device, the accuracy of vulnerability detection can be effectively improved.)

基于模糊测试的固件镜像文件刷写校验方法、系统及终端

技术领域

本申请涉及计算机安全渗透测试技术领域,特别是涉及一种基于模糊测试的固件镜像文件刷写校验方法、系统及终端。

背景技术

随着5G、物联网、工业互联网、智能制造以及智能家居等信息技术的迅速发展,用户对计算机的安全性提出了越来越高的要求,计算机的安全性包括软件安全和固件安全。相比于软件安全,固件安全漏洞的生命周期往往比较长,而且导致固件安全漏洞的因素比较多,例如:平台配置错误、平台更新滞后、用户缺乏对固件安全性的认识等。

在固件安全中,固件刷写安全是一个重要项目。固件刷写是指把新的固件写入目标硬件中,代替原有固件的过程。固件刷写安全能够防止黑客将恶意篡改后的固件镜像文件写入目标硬件,从而避免造成拒绝服务、缓冲区溢出、远程代码执行等重大安全后果,因此,如何对固件镜像文件刷写进行校验显得尤为重要。

目前对固件镜像文件刷写进行校验的方法,通常是:通过编辑器修改固件中的任意内容,对这些修改进行保存,然后尝试使用这一恶意修改后的固件进行刷写,最后查看是否存在安全漏洞,从而确定目标主机的校验机制和校验效果。

然而,目前对固件镜像文件刷写进行校验的方法中,由于用户会存在一种可能:对某些固件功能有校验需求,而对另一些固件功能没有校验需要,当判定存在安全漏洞时,可以确定目标主机的校验机构和校验效果有问题;当判定不存在安全漏洞时,有可能是用户对一些固件没有校验需求而导致的不存在安全漏洞,此时并不能确定目标主机的校验机制是否发挥作用以及校验效果如何。因此,目前对固件镜像文件刷写进行校验的方法,校验结果的准确性不够高。

而且,由于固件本身是二进制格式的文件,安全渗透测试人员无法识别固件本身的内容和结构,所以通过编辑器修改的固件内容没有针对性,无法判断被修改的内容与固件结构之间的关系,即使判定存在安全漏洞,也无法对漏洞进行精确定位,也会产生校验结果的准确性不够高的问题。

发明内容

本申请提供了一种基于模糊测试的固件镜像文件刷写校验方法、系统及终端,以解决现有技术中的校验方法使得校验结果的准确性不够高的问题。

为了解决上述技术问题,本申请实施例公开了如下技术方案:

一种基于模糊测试的固件镜像文件刷写校验方法,所述方法包括:

根据UEFI(Unified Extensible Firmware Interface,统一的可扩展固件接口)文件系统结构,建立用于描述固件镜像文件结构组成的数据模型,在所述数据模型中,固件镜像文件被划分为N个片段,每个片段在固件镜像文件中保持独立的功能,其中,N为自然数且N≥2;

利用所述数据模型,对待测固件镜像文件进行识别;

识别到待测固件镜像文件后,采用模糊测试的方法依次对待测固件镜像文件中的每个片段进行修改,形成N个变异后的待测固件镜像文件;

根据待测固件镜像文件的功能是否需要进行合法性校验,将第一固件刷写至目标硬件,所述第一固件为需要进行合法性校验的功能所对应的变异后待测固件镜像文件;

根据刷写结果,判断目标硬件是否存在固件刷写安全漏洞;

如果是,根据没有进行合法性校验的第一固件,定位待测固件镜像文件中没有进行合法性校验的片段。

可选地,利用所述数据模型,对待测固件镜像文件进行识别的方法,包括:

将所述数据模型封装为具备特定格式的计算机程序,所述特定格式中包括:片段和功能之间的映射关系;

利用所述计算机程序,对待测固件镜像文件的格式进行识别。

可选地,所述片段为固件镜像文件中保持独立功能的最小单元。

可选地,采用模糊测试的方法依次对待测固件镜像文件中的每个片段进行修改,形成N个变异后的待测固件镜像文件之后,所述方法还包括:

对N个变异后的待测固件镜像文件进行保存。

可选地,所述根据待测固件镜像文件的功能是否需要进行合法性校验,将第一固件刷写至目标硬件,包括:

确定待测固件镜像文件中需要进行合法性校验的功能和不需要进行合法性校验的功能;

将需要进行合法性校验的功能所对应的变异后待测固件镜像文件定义为第一固件,将不需要进行合法性校验的功能所对应的变异后待测固件镜像文件定义为第二固件;

将第一固件刷写至目标硬件。

可选地,所述根据刷写结果,判断目标硬件是否存在固件刷写安全漏洞,包括:

汇总第一固件的刷写结果,并确定缺少合法性校验的结果;

判断缺少合法性校验结果的数量M是否满足:M≥1,M为自然数或O;

如果是,判定目标硬件存在固件刷写安全漏洞;

如果否,判定目标硬件不存在固件刷写安全漏洞。

可选地,所述根据没有进行合法性校验的第一固件,定位待测固件镜像文件中没有进行合法性校验的片段,包括:

根据缺少合法性校验的结果,确定与所述结果相匹配的第一固件;

查看与所述结果相匹配的第一固件中被修改的片段;

将所述第一固件中被修改的片段作为待测固件镜像文件中没有进行合法性校验的片段。

一种基于模糊测试的固件镜像文件刷写校验系统,所述系统包括:

数据模型建立模块,用于根据UEFI文件系统结构,建立用于描述固件镜像文件结构组成的数据模型,在所述数据模型中,固件镜像文件被划分为N个片段,每个片段在固件镜像文件中保持独立的功能,其中,N为自然数且N≥2;

识别模块,用于利用所述数据模型,对待测固件镜像文件进行识别;

变异模块,用于识别到待测固件镜像文件后,采用模糊测试的方法依次对待测固件镜像文件中的每个片段进行修改,形成N个变异后的待测固件镜像文件;

刷写模块,用于根据待测固件镜像文件的功能是否需要进行合法性校验,将第一固件刷写至目标硬件,所述第一固件为需要进行合法性校验的功能所对应的变异后待测固件镜像文件;

判断模块,用于根据刷写结果,判断目标硬件是否存在固件刷写安全漏洞;

定位模块,用于当目标硬件存在固件刷写安全漏洞时,根据没有进行合法性校验的第一固件,定位待测固件镜像文件中没有进行合法性校验的片段。

可选地,所述系统中还包括:保存模块,用于对N个变异后的待测固件镜像文件进行保存。

一种终端,所述终端包括:处理器以及与所述处理器通信连接的存储器,其中,

所述存储器中存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行如上任意一项所述的基于模糊测试的固件镜像文件刷写校验方法。

本申请的实施例提供的技术方案可以包括以下有益效果:

本申请提供一种基于模糊测试的固件镜像文件刷写校验方法,该方法首先根据UEFI文件系统结构,建立数据模型,该数据模型用于描述固件镜像文件结构组成,且将固件镜像文件划分为N个片段,每个片段保持独立的功能;其次利用该数据模型对待测固件镜像文件进行识别;识别到待测固件镜像文件后,采用模糊测试的方法依次对待测固件镜像文件中的每个片段进行修改,形成N个变异后的待测固件镜像文件;根据待测固件镜像文件的功能是否需要进行合法性校验,将第一固件刷写至目标硬件;然后根据刷写结果判断目标硬件是否存在固件刷写安全漏洞;如果存在安全漏洞,则根据没有进行合法性校验的第一固件,定位待测固件镜像文件中没有进行合法性校验的片段。

本实施例根据UEFI文件系统结构所建立的数据模型中,将固件镜像文件按照独立功能进行分段,能够实现对固件镜像文件自身格式的解析。在后续进行漏洞检测以及漏洞定位时能够有针对性地识别固件本身的内容和结构,为后续漏洞检测和定位提供有效依据,从而大大提高漏洞检测的准确性。识别到待测固件镜像文件后,采用模糊测试的方法依次对待测固件镜像文件中的每个片段进行修改,将模糊测试应用于固件镜像文件刷写校验漏洞检测,这种对固件镜像文件中的每个片段的随机非预期的数据修改,能够更好地模拟黑客对固件镜像文件进行恶意篡改的攻击行为,有利于进一步提高测试结果的准确性和测试覆盖率。本实施例还根据待测固件镜像文件的功能是否需要进行合法性校验,将第一固件刷写至目标硬件,也就是只刷写需要进行合法性校验功能所匹配的第一固件至目标硬件,而不刷写不需要进行合法性校验的功能的第二固件,这种刷写方式在确保校验精确度的情况下,能够有效减少向目标硬件刷写固件的数量,能够节省固件刷写时间,从而节省校验时间,进一步提高检验效率。本实施例在判定目标硬件存在固件刷写安全漏洞之后,还根据没有进行合法性校验的第一固件,定位待测固件镜像文件中没有进行合法性校验的片段,有利于进一步提高固件镜像文件刷写校验的准确性和校验效率,为后续进行漏洞修复提供强有力的保障。而且由于本实施例能够定位到待测固件镜像文件中没有进行合法性校验的片段,能够准确判断出被修改的内容与固件结构之间的对应关系,直接从固件自身的内容和结构的角度进行故障定位,定位的准确性和定位精度较高。

本申请还提供一种基于模糊测试的固件镜像文件刷写校验系统,该系统主要包括:数据模型建立模块、识别模块、变异模块、刷写模块、判断模块和定位模块。通过数据模型建立模块,能够将固件镜像文件按照独立功能进行分段,从而实现对固件镜像文件自身格式的解析。在后续进行漏洞检测以及漏洞定位时能够有针对性地识别固件本身的内容和结构,为后续漏洞检测和定位提供有效依据,从而大大提高漏洞检测的准确性。通过识别模块能够利用所建立的数据模型对待测固件镜像文件进行准确识别。通过变异模块,能够采用模糊测试的方法依次对待测固件镜像文件中的每个片段进行修改,从而形成N个变异后的待测固件镜像文件,变异模块中模糊测试方法的应用能够更好地模拟黑客对固件镜像文件进行恶意篡改的攻击行为,有利于进一步提高测试结果的准确性,而且模糊测试的不确定性有利于提高测试覆盖率。通过刷写模块,能够根据待测固件镜像文件的功能是否需要进行合法性校验,将第一固件刷写至目标硬件,刷写模块的设置,使得该系统仅限于对第一固件进行刷写,避免向目标硬件刷写不需要进行合法性校验功能所匹配的第二固件,能够有效减少固件刷写数量,减少固件刷写时间,从而提高固件镜像文件刷写校验的效率。通过判断模块能够准确判断出目标硬件是否存在固件刷写安全漏洞。通过定位模块,能够在确定目标硬件存在固件刷写安全漏洞的情况下,进一步对漏洞进行定位,从而进一步提高固件镜像文件刷写校验的准确性和精确度。而且,本实施例中能够精确定位到待测固件镜像文件中没有进行合法性校验的片段,直接从固件自身的内容和结构的角度进行故障定位,定位的准确性较高。而且定位模块的这种定位方式,能够准确判断出被修改的内容与固件结构之间的对应关系,有利于为后续进行漏洞修复提供强有力的保障,提高固件镜像文件刷写校验的效率和市场竞争价值。

本申请还提供一种终端,该终端也具有如上基于模糊测试的固件镜像文件刷写校验方法以及系统相应的技术效果,在此不再赘述。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例所提供的一种基于模糊测试的固件镜像文件刷写校验方法的流程示意图;

图2为本申请实施例所提供的一种基于模糊测试的固件镜像文件刷写校验系统的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

为了更好地理解本申请,下面结合附图来详细解释本申请的实施方式。

实施例一

参见图1,图1为本申请实施例所提供的一种基于模糊测试的固件镜像文件刷写校验方法的流程示意图。由图1可知,本实施例中基于模糊测试的固件镜像文件刷写校验方法,主要包括如下步骤:

S1:根据UEFI文件系统结构,建立用于描述固件镜像文件结构组成的数据模型。

在本实施例所建立的数据模型中,固件镜像文件被划分为N个片段,每个片段在固件镜像文件中保持独立的功能,其中,N为自然数且N≥2。

也就是,本实施例通过建立数据模型,对固件镜像文件根据独立功能进行分段,每个片段都在固件镜像文件中有自身独立的功能。通过分段,能够实现对固件镜像文件自身的格式的解析,在后续进行漏洞检测以及漏洞定位时能够有针对性地识别固件本身的内容和结构,为后续漏洞检测和定位提供有效依据,从而大大提高漏洞检测的准确性和漏洞检测效率。

进一步地,本实施例中对固件镜像文件分段所获取的片段,为固件镜像文件中保持独立功能的最小单元。将固件镜像文件划分为最小单元,能够在确保固件镜像文件刷写校验顺利进行的前提下,将固件镜像文件的分段程度达到最小,从固件结构上为后续进行漏洞定位提供依据,有利于进一步提高漏洞检测的精确度。

继续参见图1可知,建立数据模型后,执行步骤S2:利用数据模型,对待测固件镜像文件进行识别。

具体地,步骤S2包括如下过程:

S21:将数据模型封装为具备特定格式的计算机程序,其中该特定格式中包括:片段和功能之间的映射关系。

S22:利用计算机程序,对待测固件镜像文件的格式进行识别。

由以上步骤S21和S22可知,本实施例中建立数据模型后,利用计算机语言描述该数据模型,并将其封装为一个计算机程序,利用该计算机程序可以正确识别待测固件镜像文件的格式。

识别到待测固件镜像文件后,执行步骤S3:采用模糊测试的方法依次对待测固件镜像文件中的每个片段进行修改,形成N个变异后的待测固件镜像文件。

由步骤S1可知,通过数据模型能够将固件镜像文件被划分为N个片段,通过步骤S3,对待测固件镜像文件中的每个片段进行修改,每次修改只涉及待测固件镜像文件中的一个片段,N个片段对应产生N个变异后的待测固件镜像文件,且一个修改片段对应一个变异后的待测固件镜像文件。由于每个片段在固件镜像文件中保持独立的功能,则N个片段对应N个功能,每个变异后的待测固件镜像文件对应一个不同的功能。

模糊测试是一种通过向目标系统提供非预期的输入,并监视异常结果来发现软件漏洞的方法,这种输入是不符合逻辑的,非预期的,自动模糊测试不去猜测哪个数据会导致破坏,而是将尽可能多的杂乱数据投入程序中,因此,模糊测试发现的异常结果往往会出乎开发者的预期。利用模糊测试,能够揭示出程序中的重要bug,能够验证现实世界中的错误模式,并在产品发版前对潜在的待修复问题进行显示。

本实施例采用模糊测试的方法依次对待测固件镜像文件中的每个片段进行修改,能够更加准确地模拟黑客对固件镜像文件进行恶意篡改这一攻击行为,从而进一步提高测试结果的准确性,模拟测试的非预期特性,能够提高校验测试的覆盖率,有利于提高测试的精确度。

进一步地,本实施例形成N个变异后的待测固件镜像文件后,还包括步骤S4:对N个变异后的待测固件镜像文件进行保存。

具体地,本实施例中的保存操作在每一次的修改操作之后执行,也就是对待测固件镜像文件中的任一片段进行修改后,会形成一个变异后的待测固件镜像文件,此时立刻对该变异后的待测固件镜像文件进行保存。以此类推,再采用模糊测试的方法对待测固件镜像文件中的下一个片段进行修改,并保存下一个片段所对应的变异后的待测固件镜像文件,直到N个片段都修改完毕。

继续参见图1可知,采用模糊测试的方法依次对待测固件镜像文件中的每个片段进行修改,形成N个变异后的待测固件镜像文件之后,执行步骤S5:根据待测固件镜像文件的功能是否需要进行合法性校验,将第一固件刷写至目标硬件。

其中,第一固件为需要进行合法性校验的功能所对应的变异后待测固件镜像文件。

具体地,步骤S5又包括如下过程:

S51:确定待测固件镜像文件中需要进行合法性校验的功能和不需要进行合法性校验的功能。

本实施例根据用户需求,确认待测固件镜像文件中的哪些功能需要进行合法性校验,哪些功能不需要进行合法性校验。

S52:将需要进行合法性校验的功能所对应的变异后待测固件镜像文件定义为第一固件,将不需要进行合法性校验的功能所对应的变异后待测固件镜像文件定义为第二固件。

S53:将第一固件刷写至目标硬件。

也就是,针对需要进行合法性校验的功能,其对应的变异后待测固件镜像文件无需进行固件刷写,只针对需要进行合法性校验的功能所匹配的变异后待测固件镜像文件进行刷写。由于本实施例中只将第一固件刷写至目标硬件,能够减少需要刷写的固件数量,从而节省固件刷写时间和固件刷写校验时间,有利于进一步提高固件镜像文件刷写校验效率。

S6:根据刷写结果,判断目标硬件是否存在固件刷写安全漏洞。

具体地,步骤S6包括如下过程:

S61:汇总第一固件的刷写结果,并确定缺少合法性校验的结果。

本实施例中由于不对第二固件进行刷写,在汇总刷写结果时,可以直接定义第二固件刷写结果为:通过,也就是定义第二固件没有出现缺少合法性校验的结果。这种只汇总第一固件刷写结果的方法,能够进一步提高固件镜像文件刷写校验效率。

S62:判断缺少合法性校验结果的数量M是否满足:M≥1,M为自然数或O。

如果缺少合法性校验结果的数量M满足:M≥1,则执行步骤S63:判定目标硬件存在固件刷写安全漏洞。

如果缺少合法性校验结果的数量M<1,即M=0,也就是没有出现缺少合法性校验的结果,则执行步骤S64:判定目标硬件不存在固件刷写安全漏洞。

本实施例中,根据刷写结果,判断目标硬件是否存在固件刷写安全漏洞的方法,可以参见如下表1所示。

表1判断目标硬件是否存在固件刷写安全漏洞的统计表

由以上表1可知,N个变异后的待测固件镜像文件,简称变异固件,对应N个被修改片段,进而对应待测固件镜像文件的N个功能。根据用户的实际情况确定待测固件镜像文件中哪些功能需要进行合法性校验,并将不需要进行合法性校验的功能所对应的变异固件的实验结果判定为通过,用NA表示。最后对比输出的N个待测固件镜像文件刷写校验结果,只要有一个或者一个以上需要进行合法性校验的功能缺少合法性校验,即最终判定待测固件镜像文件存在固件刷写安全漏洞。表1中变异固件2需要进行合法性校验,且缺少合法性校验结果,因此最终结论为:失败。

继续参见图1可知,当判定目标硬件存在固件刷写安全漏洞后,执行步骤S7:根据没有进行合法性校验的第一固件,定位待测固件镜像文件中没有进行合法性校验的片段。

具体地,步骤S7又包括如下过程:

S71:根据缺少合法性校验的结果,确定与该结果相匹配的第一固件。

S72:查看与该结果相匹配的第一固件中被修改的片段。

S73:将第一固件中被修改的片段作为待测固件镜像文件中没有进行合法性校验的片段。

由以上步骤S71-S73可知,本实施例在判定目标硬件存在固件刷写安全漏洞之后,还对安全漏洞进行精确定位,有利于进一步提高待测固件镜像文件刷写校验的准确性,且能够为后续进行漏洞修复提供强有力的保障,有利于提高用户体验和市场竞争价值。

实施例二

在图1所示实施例的基础之上参见图2,图2为本申请实施例所提供的一种基于模糊测试的固件镜像文件刷写校验系统的结构示意图。

由图2可知,本实施例中基于模糊测试的固件镜像文件刷写校验系统主要包括:数据模型建立模块、识别模块、变异模块、刷写模块、判断模块和定位模块。其中,数据模型建立模块,用于根据UEFI文件系统结构,建立用于描述固件镜像文件结构组成的数据模型,在数据模型中,固件镜像文件被划分为N个片段,每个片段在固件镜像文件中保持独立的功能,其中,N为自然数且N≥2,且该片段为固件镜像文件中保持独立功能的最小单元;识别模块,用于利用数据模型,对待测固件镜像文件进行识别;变异模块,用于识别到待测固件镜像文件后,采用模糊测试的方法依次对待测固件镜像文件中的每个片段进行修改,形成N个变异后的待测固件镜像文件;刷写模块,用于根据待测固件镜像文件的功能是否需要进行合法性校验,将第一固件刷写至目标硬件,第一固件为需要进行合法性校验的功能所对应的变异后待测固件镜像文件;判断模块,用于根据刷写结果,判断目标硬件是否存在固件刷写安全漏洞;定位模块,用于当目标硬件存在固件刷写安全漏洞时,根据没有进行合法性校验的第一固件,定位待测固件镜像文件中没有进行合法性校验的片段。

进一步地,识别模块包括:封装单元和识别单元。其中,封装单元,用于将数据模型封装为具备特定格式的计算机程序,特定格式中包括:片段和功能之间的映射关系;识别单元,用于利用计算机程序,对待测固件镜像文件的格式进行识别。

刷写模块包括:功能确认单元、定义单元和刷写单元。其中,功能确认单元,用于确定待测固件镜像文件中需要进行合法性校验的功能和不需要进行合法性校验的功能;定义单元,用于将需要进行合法性校验的功能所对应的变异后待测固件镜像文件定义为第一固件,将不需要进行合法性校验的功能所对应的变异后待测固件镜像文件定义为第二固件;刷写单元,用于将第一固件刷写至目标硬件。

判断模块包括:汇总单元和判断单元。其中,汇总单元,用于汇总第一固件的刷写结果,并确定缺少合法性校验的结果;判断单元,用于判断缺少合法性校验结果的数量M是否满足:M≥1,M为自然数或O,如果是,判定目标硬件存在固件刷写安全漏洞,否则,判定目标硬件不存在固件刷写安全漏洞。

定位模块包括:固件确定单元、查看单元和片段定位单元。其中,固件确定单元,用于根据缺少合法性校验的结果,确定与结果相匹配的第一固件;查看单元,用于查看与结果相匹配的第一固件中被修改的片段;片段定位单元,用于将第一固件中被修改的片段作为待测固件镜像文件中没有进行合法性校验的片段。

进一步地,本实施例基于模糊测试的固件镜像文件刷写校验系统中还包括:保存模块,用于对N个变异后的待测固件镜像文件进行保存。

该实施例中基于模糊测试的固件镜像文件刷写校验系统的工作原理和工作方法,在图1所示的实施例中已经详细阐述,在此不再赘述,两个实施例之间可以互相参照。

实施例三

本申请还提供一种终端,该终端包括:处理器以及与处理器通信连接的存储器,其中,存储器中存储有可被处理器执行的指令,指令被处理器执行,以使处理器能够执行如上基于模糊测试的固件镜像文件刷写校验方法。

处理器所执行的基于模糊测试的固件镜像文件刷写校验方法如下:

S1:根据UEFI文件系统结构,建立用于描述固件镜像文件结构组成的数据模型,在数据模型中,固件镜像文件被划分为N个片段,每个片段在固件镜像文件中保持独立的功能,其中,N为自然数且N≥2;

S2:利用数据模型,对待测固件镜像文件进行识别;

S3:识别到待测固件镜像文件后,采用模糊测试的方法依次对待测固件镜像文件中的每个片段进行修改,形成N个变异后的待测固件镜像文件;

S5:根据待测固件镜像文件的功能是否需要进行合法性校验,将第一固件刷写至目标硬件,第一固件为需要进行合法性校验的功能所对应的变异后待测固件镜像文件;

S6:根据刷写结果,判断目标硬件是否存在固件刷写安全漏洞;

如果判定目标硬件存在固件刷写安全漏洞,执行步骤S7:根据没有进行合法性校验的第一固件,定位待测固件镜像文件中没有进行合法性校验的片段。

以上方法的具体执行步骤和原理,可以参见图1所示的实施例一,在此不再赘述。

以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种用于招投标的评标方法、装置及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类