CN117332421A - 固件安全检测及验证方法、装置、电子设备和存储介质 - Google Patents
固件安全检测及验证方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117332421A CN117332421A CN202311048889.6A CN202311048889A CN117332421A CN 117332421 A CN117332421 A CN 117332421A CN 202311048889 A CN202311048889 A CN 202311048889A CN 117332421 A CN117332421 A CN 117332421A
- Authority
- CN
- China
- Prior art keywords
- vulnerability
- information
- vulnerability type
- firmware
- type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000001514 detection method Methods 0.000 title claims abstract description 30
- 238000012795 verification Methods 0.000 title claims abstract description 28
- 238000012360 testing method Methods 0.000 claims abstract description 89
- 238000013515 script Methods 0.000 claims abstract description 25
- 230000006870 function Effects 0.000 claims description 75
- 230000002159 abnormal effect Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 9
- 238000012216 screening Methods 0.000 claims description 8
- 238000011084 recovery Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 230000001502 supplementing effect Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000011835 investigation Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种固件安全检测及验证方法、装置、电子设备和存储介质,所述包括:根据特征信息在预设漏洞表内查找固件的预判漏洞类型和与预判漏洞类型对应的脚本;根据测试文件夹搭建测试环境,利用测试环境对预判漏洞类型对应的脚本进行测试,得到真实漏洞类型,将真实漏洞类型与预判漏洞类型进行对比,判断固件是否存在该预判漏洞类型,当对比结果一致时,则固件存在该预判断漏洞类型,从而可以实现在具有多种漏洞类型的预设漏洞表内查找多个固件的预判漏洞类型,可快速确定每个固件可能存在的漏洞,同时可同步进行多个不同型号的固件同时进行检测,解决了现有技术中解决现有技术中对于固件漏洞检测时,排查验证问题单一化的问题。
Description
技术领域
本申请涉及固件安全检测技术领域,尤其涉及一种固件安全检测及验证方法、装置、电子设备和存储介质。
背景技术
由于物联网设备数量庞大且分布广泛,对于网络安全带来的挑战正受到越来越多的关注。为保护物联网设备免遭系统漏洞的侵害,需要技术人员定期对物联网固件进行维护并进行相应的安全性能测试。现有技术中通常是通过同时针对特定固件和漏洞的特点进行安全的验证和排查。但是这种排查方式只能在同一时间、同一固件中针对单一的漏洞进行搜索或验证技术,具有排查验证问题单一化的问题。
发明内容
有鉴于此,本申请的目的在于提出一种固件安全检测及验证方法、装置、电子设备和存储介质,以解决现有技术中对于固件漏洞检测时,排查验证问题单一化的问题。
基于上述目的,本申请提供了一种固件安全检测及验证方法,包括:
获取测试文件夹;
根据所述测试文件夹,确定所述固件的特征信息;
根据预设漏洞表和所述特征信息,确定所述固件的预判漏洞类型和与所述预判漏洞类型对应的脚本;
根据所述测试文件夹搭建测试环境,利用所述测试环境对所述预判漏洞类型对应的脚本进行测试,得到真实漏洞类型;
将所述真实漏洞类型与所述预判漏洞类型进行对比,响应于对比结果一致,确定所述固件存在该预判漏洞类型。
可选地,获取测试文件夹包括:
获取固件的映像文件夹;
提取所述映像文件夹中满足所述预设要求的文件,得到所述测试文件夹。
可选地,所述根据所述测试文件夹,确定所述固件的特征信息,包括:
获取所述测试文件夹中架构信息、协议信息、函数信息和参数信息;
将所述架构信息、所述协议信息、所述函数信息和所述参数信息作为所述固件的特征信息。
可选地,所述预设漏洞表内包括漏洞类型;
所述根据预设漏洞表和所述特征信息,确定所述固件的预判漏洞类型,包括:
根据所述架构信息,在所述预设漏洞表中查找与所述架构信息对应的漏洞类型,并将查找到的漏洞类型整合为架构漏洞类型列表;
根据所述协议信息,在所述预设漏洞表中查找与所述协议信息对应的漏洞类型,并将查找到的漏洞类型整合为架构漏洞类型列表;
根据所述函数信息,在所述预设漏洞表中查找与所述函数信息对应的漏洞类型,并将查找到的漏洞类型整合为架构漏洞类型列表;
根据所述参数信息,在所述预设漏洞表中查找与所述参数信息对应的漏洞类型,并将查找到的漏洞类型整合为架构漏洞类型列表;
将所述架构漏洞类型列表、协议漏洞类型列表、函数漏洞类型列表和参数漏洞类型列表中的漏洞类型作为所述固件的所述预判漏洞类型。
可选地,所述预设漏洞表内包括漏洞类型;
所述根据预设漏洞表和所述特征信息,确定所述固件的预判漏洞类型,包括:
根据所述架构信息,在所述预设漏洞表中查找与所述架构信息对应的漏洞类型,确定架构漏洞类型列表;
响应于所述架构信息包括所述协议信息,根据所述协议信息,在所述架构漏洞类型列表中查找与所述协议信息对应的漏洞类型,确定协议漏洞类型列表;
响应于所述协议信息包括所述函数信息,根据所述函数信息,在所述协议漏洞类型列表中查找与所述函数信息对应的漏洞类型,确定函数漏洞类型列表;
响应于所述函数信息包括所述参数信息,根据所述参数信息,在述函数漏洞类型列表中查找与所述参数信息对应的漏洞类型,确定参数漏洞类型列表;
将所述架构漏洞类型列表、协议漏洞类型列表、函数漏洞类型列表和参数漏洞类型列表中的漏洞类型进行筛选,将筛选后的漏洞类型作为所述固件的所述预判漏洞类型。
可选地,所述架构漏洞类型列表、协议漏洞类型列表、函数漏洞类型列表和参数漏洞类型列表为等级依次降低;
将所述架构漏洞类型列表、协议漏洞类型列表、函数漏洞类型列表和参数漏洞类型列表中的漏洞类型进行筛选,将筛选后的漏洞类型作为所述固件的所述预判漏洞类型,包括:
在确定的多个漏洞类型列表中,选择级别最低的漏洞类型列表为目标漏洞类型列表,将所述目标漏洞类型列表中的漏洞类型作为所述固件的预判漏洞类型。
可选地,所述方法,还包括:
响应于所述测试文件夹存在异常文件,利用预设的恢复函数对所述异常文件进行替换或补齐,直至所述测试文件夹满足搭建测试环境的条件。
基于同一发明构思,本公开还提供了一种固件安全检测及验证装置,包括:
获取模块,用于获取测试文件夹;
第一确定模块,用于根据所述测试文件夹,确定所述固件的特征信息;
第二确定模块,用于根据预设漏洞表和所述特征信息,确定所述固件的预判漏洞类型和与所述预判漏洞类型对应的脚本;
验证模块,用于根据所述测试文件夹搭建测试环境,利用所述测试环境对所述预判漏洞类型对应的脚本进行测试,得到真实漏洞类型;
第三确定模块,用于将所述真实漏洞类型与所述预判漏洞类型进行对比,响应于对比结果一致,确定所述固件存在该预判漏洞类型。
基于同一发明构思,本公开还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现如上所述的方法。
基于同一发明构思,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行如上所述的方法。
从上面所述可以看出,本申请提供的一种固件安全检测及验证方法,根据特征信息在预设漏洞表内查找固件的预判漏洞类型和与所述预判漏洞类型对应的脚本;根据测试文件夹搭建测试环境,利用测试环境对预判漏洞类型对应的脚本进行测试,得到真实漏洞类型,将真实漏洞类型与预判漏洞类型进行对比,判断固件是否存在该预判漏洞类型,当对比结果一致时,则固件存在该预判断漏洞类型,从而实现了在具有多种漏洞类型的预设漏洞表内查找多个固件的预判漏洞类型,并通过真实漏洞类型与预判漏洞类型对比,可确定预判漏洞类型的准确性,进一步地快速确定每个固件可能存在的漏洞,同时可同步进行多个不同型号的固件同时进行检测,解决了现有技术中解决现有技术中对于固件漏洞检测时,排查验证问题单一化的问题。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的一种固件安全检测及验证方法流程示意图;
图2为本申请实施例的一种固件安全检测及验装置结构框架示意图;
图3为本申请实施例的一种电子设备硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请进一步详细说明。
需要说明的是,除非另外定义,本申请实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
相关技术中,为避免固件设备以及设备系统在使用中遇到相应漏洞的侵害,可以在系统实际运用之前对其使用相应的程序或特定的方式对固件进行渗透测试,相应的,对固件(固件指设备内部保存的设备"驱动程序")的安全性能的测试可以通过对漏洞的排查实现。现有的技术中,通常是通过同时针对特定固件和漏洞的特点进行安全检测和排查。但是这种排查方式只能在同一时间、同一固件中针对单一的漏洞进行搜索或验证技术,具有排查验证问题单一化的问题。面对数量庞大且种类多样的固件和不同类型的漏洞进行检测和验证的时候,无法对固件实现一对多或是多对一全面的漏洞检测。
为了解决上述技术问题,本申请提供的一种固件安全检测及验证方法,根据特征信息在预设漏洞表内查找固件的预判漏洞类型和与所述预判漏洞类型对应的脚本;根据测试文件夹搭建测试环境,利用测试环境对预判漏洞类型对应的脚本进行测试,得到真实漏洞类型,将真实漏洞类型与预判漏洞类型进行对比,判断固件是否存在该预判漏洞类型,当对比结果一致时,则固件存在该预判断漏洞类型,从而实现了在具有多种漏洞类型的预设漏洞表内查找多个固件的预判漏洞类型,可快速确定每个固件可能存在的漏洞,同时可同步进行多个不同型号的固件同时进行检测,解决了现有技术中解决现有技术中对于固件漏洞检测时,排查验证问题单一化的问题,进一步地解决了无法对固件实现一对多或是多对一全面的漏洞检测的问题。
以下结合附图来详细说明本申请的实施例。
参照图1,本申请提供了一种固件安全检测及验证方法,包括以下步骤:
步骤S102、获取测试文件夹。
在本步骤中,获取测试文件夹包括:
获取固件的映像文件夹;
提取所述映像文件夹中满足所述预设要求的文件,得到所述测试文件夹。
具体地,示例性的,上述固件可为手机驱动程序或电脑驱动程序。在本实施例中可将每种类型的固件中选择其中一个固件进行检测,由于同一类型的固件都一样,因此内部文件也一致,则可提取每种类型中的其中一个固件进行测试文件的提取即可。避免了所有类型的固件中的每个固件都要进行测试,导致测试时间过长,且浪费测试资源的问题。其中固件为固件系统,每个固件系统均包含有映像文件夹,在映像文件夹中提取满足预设要求的文件,将提取的文件放入一个文件夹中,得到所述测试文件夹,示例性的,将该测试文件夹以squashfs-roots命名并下载到本地。
其中预设要求为可用于搭建测试环境的相关文件。
步骤S104、根据所述测试文件夹,确定所述固件的特征信息。
具体地,测试文件夹中包括有多个测试文件,多个测试文件中分别包括有固件的多个特征信息对应的文件,根据测试文件夹可直接得到固件的特征信息。
在一些实施例中,所述根据所述测试文件夹,确定所述固件的特征信息,包括:
获取所述测试文件夹中架构信息、协议信息、函数信息和参数信息;
将所述架构信息、所述协议信息、所述函数信息和所述参数信息作为所述固件的特征信息。
具体地,测试文件夹包括固件所属的架构文件、协议文件、函数文件、参数文件等,根据上述文件可得到固件的架构信息、协议信息、函数信息和参数信息,并将上述信息作为该固件的特征信息,以便于根据上述信息对该固件进行漏洞的检测。
步骤S106、根据预设漏洞表和所述特征信息,确定所述固件的预判漏洞类型和与所述预判漏洞类型对应的脚本。
在本步骤中,所述预设漏洞表内包括漏洞类型;具体地,所述预设漏洞表为预先设定好的,如表1所示,预设漏洞表内存储有多种漏洞类型(其漏洞类型内包含有漏洞出现的位置)。预设漏洞表中还包括与该漏洞对应的脚本。该脚本用于验证被检测固件是否真实存在预判漏洞类型。在预设漏洞表内查找某一类型的固件可能存在的漏洞时,根据固件的特征信息在预设漏洞表内采用过滤规则或匹配规则查找与特征信息对应的漏洞类型,并将查找的漏洞类型作为预判漏洞类型,可实现快速确定该固件可能存在的问题。确定预判漏洞类型后,并调取该漏洞类型对应的脚本,以便于将脚本在搭建的测试环境(也即根据提取的测试文件夹搭建的测试环境)中进行测试,确定搭建的测试环境是否真实存在预判漏洞类型。
表1部分预设漏洞表
在一些实施例中,所述根据预设漏洞表和所述特征信息,确定所述固件的预判漏洞类型,包括:
根据所述架构信息,在所述预设漏洞表中查找与所述架构信息对应的漏洞类型,并将查找到的漏洞类型整合为架构漏洞类型列表;
根据所述协议信息,在所述预设漏洞表中查找与所述协议信息对应的漏洞类型,并将查找到的漏洞类型整合为架构漏洞类型列表;
根据所述函数信息,在所述预设漏洞表中查找与所述函数信息对应的漏洞类型,并将查找到的漏洞类型整合为架构漏洞类型列表;
根据所述参数信息,在所述预设漏洞表中查找与所述参数信息对应的漏洞类型,并将查找到的漏洞类型整合为架构漏洞类型列表;
将所述架构漏洞类型列表、协议漏洞类型列表、函数漏洞类型列表和参数漏洞类型列表中的漏洞类型作为所述固件的所述预判漏洞类型。
具体地,在本实施例中,采用过滤规则在预设漏洞表中查找预判漏洞类型,在进行预判漏洞类型查找时,可根据特征信息的等级由高到低进行过滤,示例性的,架构信息为一级,协议信息为二级,函数信息为三级,参数信息为四级;其查找过程如下:在预设漏洞表中根据一级的架构信息,查找与架构信息对应的漏洞类型,将查到的所有漏洞类型整合为架构漏洞类型列表;当未查找到与架构信息对应的漏洞类型时,则不存在架构漏洞类型列表。在预设漏洞表中根据二级的协议信息,查找与协议信息对应的漏洞类型,将查到的所有漏洞类型整合为协议漏洞类型列表;当未查找到与协议信息对应的漏洞类型时,则不存在协议漏洞类型列表。在预设漏洞表中根据三级的函数信息,查找与函数信息对应的漏洞类型,将查到的所有漏洞类型整合为函数漏洞类型列表;当未查找到与函数信息对应的漏洞类型时,则不存在函数漏洞类型列表。在预设漏洞表中根据四级的参数信息,查找与参数信息对应的漏洞类型,将查找到的所有漏洞类型整合为参数漏洞类型列表;当未查找到与参数信息对应的漏洞类型时,则不存在参数漏洞类型列表。将各个列表的中的漏洞类型作为固件的预判漏洞类型,可找到与该固件相关的所有可能出现的漏洞。进一步地,上述各信息所在的文件可用该信息命名。
示例性的,在一些固件系统文件中,该类型固件的预判漏洞类型和固件系统文件同时存在名为cgibin并且路径位于/etc/目录下的情况,示例一,固件的协议信息包括协议存储路径(/etc/hnap1/)和协议名称(hnap1协议),在预设漏洞表中查找与hnap1协议相关的漏洞类型,并将查到的漏洞类型确定为该固件可能存在的漏洞类型。示例二,固件的函数信息为SetAccessPointMode函数,在预设漏洞表中查找与SetAccessPointMode函数相关的漏洞,并将查到的漏洞类型确定为该固件的可能存在的漏洞类型。示例三,固件的参数信息为AudioEnble参数,在预设漏洞表中查找与AudioEnble参数相关的漏洞,并将查到的漏洞类型确定为该固件的可能存在的漏洞类型。
在一些实施例中,所述预设漏洞表内包括漏洞类型所述根据预设漏洞表和所述特征信息,确定所述固件的预判漏洞类型,包括:
根据所述架构信息,在所述预设漏洞表中查找与所述架构信息对应的漏洞类型,确定架构漏洞类型列表;
响应于所述架构信息包括所述协议信息,根据所述协议信息,在所述架构漏洞类型列表中查找与所述协议信息对应的漏洞类型,确定协议漏洞类型列表;
响应于所述协议信息包括所述函数信息,根据所述函数信息,在所述协议漏洞类型列表中查找与所述函数信息对应的漏洞类型,确定函数漏洞类型列表;
响应于所述函数信息包括所述参数信息,根据所述参数信息,在述函数漏洞类型列表中查找与所述参数信息对应的漏洞类型,确定参数漏洞类型列表;
将所述架构漏洞类型列表、协议漏洞类型列表、函数漏洞类型列表和参数漏洞类型列表中的漏洞类型进行筛选,将筛选后的漏洞类型作为所述固件的所述预判漏洞类型。
具体地,在本实施例中,采用匹配规则在预设漏洞表中查找预判漏洞类型,在进行预判漏洞类型查找时,可根据特征信息的等级由高到低进行过滤,示例性的,架构信息为一级,协议信息为二级,函数信息为三级,参数信息为四级;其查找过程如下:在预设漏洞表中先查找与一级的架构信息对应的漏洞类型,将所有漏洞类型整合为一级的架构漏洞类型列表;在一级的架构漏洞类型列表中查找与二级的协议信息对应的漏洞类型,将所有漏洞类型整合为二级的协议漏洞类型列表;在二级的协议漏洞类型列表中查找与函数信息对应的漏洞类型,将所有漏洞类型整合为三级的函数漏洞类型列表;在三级的函数漏洞列表中查找与参数信息对应的漏洞类型,将所有漏洞类型整合为四级参数漏洞类型列表;并将所述架构漏洞类型列表、协议漏洞类型列表、函数漏洞类型列表和参数漏洞类型列表中的漏洞类型进行筛选,将筛选后的漏洞类型作为预判漏洞类型,通过匹配规则可实现该固件相关度更高的可能出现的漏洞。
在上述实施例的基础上,所述架构漏洞类型列表、协议漏洞类型列表、函数漏洞类型列表和参数漏洞类型列表为等级依次降低;
所述将所述架构漏洞类型列表、协议漏洞类型列表、函数漏洞类型列表和参数漏洞类型列表中的漏洞类型进行筛选,将筛选后的漏洞类型作为所述固件的所述预判漏洞类型,包括:
在确定的多个漏洞类型列表中,选择级别最低的漏洞类型列表为目标漏洞类型列表,将所述目标漏洞类型列表中的漏洞类型作为所述固件的预判漏洞类型。
具体地,在确定的架构漏洞类型列表和/或协议漏洞类型列表和/或函数漏洞类型列表和/或参数漏洞类型列表中,选择级别最低的漏洞类型列表为目标漏洞类型列表,将目标漏洞类型列表中的漏洞类型作为所述固件的预判漏洞类型。
示例性的,固件的架构信息包括文件信息(/bin/mic),文件信息包括协议信息(upnp通信协议),协议信息包括函数信息(SetAccessPointMode函数),函数信息包括参数信息(system参数),预设漏洞列表内的漏洞类型为:在固件系统/bin/mic下的upnp通信协议,调用到的system参数出现漏洞,将固件的架构信息、协议信息、函数信息和参数信息通过匹配规则在预设漏洞列表中进行匹配,也即先将架构信息的文件信息(/bin/mic)与预设漏洞列表进行匹配,得到了漏洞类型为:在固件系统/bin/mic下的upnp通信协议,调用到的system参数出现漏洞;再将协议信息与预设漏洞列表进行匹配,得到的漏洞类型为:在固件系统/bin/mic下的upnp通信协议,调用到的system参数出现漏洞;再将函数信息与预设漏洞列表进行匹配,得到漏洞类型为:在固件系统/bin/mic下的upnp通信协议,调用到的system参数出现漏洞;再将参数信息与预设漏洞列表进行匹配,得到的漏洞类型为:在固件系统/bin/mic下的upnp通信协议,调用到的system参数出现漏洞;也即参数漏洞列表为最后一级,筛选过程中,所有的漏洞列表中的漏洞类型相同,则选择最后一级将参数列表中的漏洞类型作为固件的预判漏洞类型,并根据漏洞类型获取对应的脚本。以便于后续根据脚本对预判漏洞类型进行验证。
步骤S108、根据所述测试文件夹搭建测试环境,利用所述测试环境对所述预判漏洞类型对应的脚本进行测试,得到真实漏洞类型。
在本步骤中,所述测试文件为固件系统的映像文件夹中提取的重要文件,可用于实现搭建测试环境的相关文件,因此,采用测试文件搭建测试环境,该测试环境更加接近固件系统的环境,然后利用预判漏洞类型对应的脚本在该环境中进行测试,可得到该测试环境中真实存在的真实漏洞类型,以便于根据真实漏洞类型,确定预判漏洞类型的准确性。
步骤S110、将所述真实漏洞类型与所述预判漏洞类型进行对比,响应于对比结果一致,确定所述固件存在该预判漏洞类型。
进一步地,响应于对比结果不一致,确定所述固件不存在该预判漏洞类型。
具体地,通过真实漏洞类型与预判漏洞类型进行对比,得到对比结果,当对比结果一致时,则说明该预判漏洞类型真实存在该固件中,则可以通过统计方式将每个类型固件存在的问题进行记录,便于后期工作人员对漏洞的排查,及文件修改。当对比结果不一致时,则说明该预判漏洞类型并不存在该固件中,那么工作人员可不需要对该类型固件进行修改,可进入下一步工作。
在一些实施例中,所述方法,还包括:
响应于所述测试文件夹存在异常文件,利用预设的恢复函数对所述异常文件进行替换或补齐,直至所述测试文件夹满足搭建测试环境的条件。
具体地,上述的异常文件示例性的可为测试文件夹中存在空文件,或文件错误,或并不存在相关文件等。当测试文件夹中存在异常文件时,则无法搭建测试环境,说明系统文件中存在损坏文件,则无法对预判漏洞类型进行验证,则可能导致预判漏洞类型并不真实存在该固件中,工作人员根据预判漏洞类型对文件进行修改,则导致固件的其他漏洞出现,因此,在本实施例中,采用预设的恢复函数对异常文件进行替换或补齐,其恢复函数可以采用调用函数,或者自动生成函数,可实现通过调取其位置的与异常文件对应的文件来替代该异常文件,也可自动生成该异常文件,由于已知该固件的架构信息、协议信息、函数信息和参数信息,因此可自动生成该异常文件。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种固件安全检测及验证装置。
参考图2,所述一种固件安全检测及验证装置,包括:
获取模块202,用于获取测试文件夹;
第一确定模块204,用于根据所述测试文件夹,确定所述固件的特征信息;
第二确定模块206,用于根据预设漏洞表和所述特征信息,确定所述固件的预判漏洞类型和与所述预判漏洞类型对应的脚本;
验证模块208,用于根据所述测试文件夹搭建测试环境,利用所述测试环境对所述预判漏洞类型对应的脚本进行测试,得到真实漏洞类型;
第三确定模块210,用于将所述真实漏洞类型与所述预判漏洞类型进行对比,响应于对比结果一致,确定所述固件存在该预判漏洞类型。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的一种固件安全检测及验证方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的一种固件安全检测及验证方法。
图3示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的一种固件安全检测及验证方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的一种固件安全检测及验证方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的一种固件安全检测及验证方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
可以理解的是,在使用本公开中各个实施例的技术方案之前,均会通过恰当的方式对所涉及的个人信息的类型、使用范围、使用场景等告知用户,并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确的提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主的选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限定的实现方式,响应于接受到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其他满足相关法律法规的方式也可应用于本公开的实现方式中。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种固件安全检测及验证方法,其特征在于,包括:
获取测试文件夹;
根据所述测试文件夹,确定所述固件的特征信息;
根据预设漏洞表和所述特征信息,确定所述固件的预判漏洞类型和与所述预判漏洞类型对应的脚本;
根据所述测试文件夹搭建测试环境,利用所述测试环境对所述预判漏洞类型对应的脚本进行测试,得到真实漏洞类型;
将所述真实漏洞类型与所述预判漏洞类型进行对比,响应于对比结果一致,确定所述固件存在该预判漏洞类型。
2.根据权利要求1所述的方法,其特征在于,获取测试文件夹包括:
获取固件的映像文件夹;
提取所述映像文件夹中满足所述预设要求的文件,得到所述测试文件夹。
3.根据权利要求1所述的方法,其特征在于,所述根据所述测试文件夹,确定所述固件的特征信息,包括:
获取所述测试文件夹中架构信息、协议信息、函数信息和参数信息;
将所述架构信息、所述协议信息、所述函数信息和所述参数信息作为所述固件的特征信息。
4.根据权利要求3所述的方法,其特征在于,所述预设漏洞表内包括漏洞类型;
所述根据预设漏洞表和所述特征信息,确定所述固件的预判漏洞类型,包括:
根据所述架构信息,在所述预设漏洞表中查找与所述架构信息对应的漏洞类型,并将查找到的漏洞类型整合为架构漏洞类型列表;
根据所述协议信息,在所述预设漏洞表中查找与所述协议信息对应的漏洞类型,并将查找到的漏洞类型整合为协议漏洞类型列表;
根据所述函数信息,在所述预设漏洞表中查找与所述函数信息对应的漏洞类型,并将查找到的漏洞类型整合为函数漏洞类型列表;
根据所述参数信息,在所述预设漏洞表中查找与所述参数信息对应的漏洞类型,并将查找到的漏洞类型整合为参数漏洞类型列表;
将所述架构漏洞类型列表、协议漏洞类型列表、函数漏洞类型列表和参数漏洞类型列表中的漏洞类型作为所述固件的所述预判漏洞类型。
5.根据权利要求3所述的方法,其特征在于,所述预设漏洞表内包括漏洞类型;
所述根据预设漏洞表和所述特征信息,确定所述固件的预判漏洞类型,包括:
根据所述架构信息,在所述预设漏洞表中查找与所述架构信息对应的漏洞类型,确定架构漏洞类型列表;
响应于所述架构信息包括所述协议信息,根据所述协议信息,在所述架构漏洞类型列表中查找与所述协议信息对应的漏洞类型,确定协议漏洞类型列表;
响应于所述协议信息包括所述函数信息,根据所述函数信息,在所述协议漏洞类型列表中查找与所述函数信息对应的漏洞类型,确定函数漏洞类型列表;
响应于所述函数信息包括所述参数信息,根据所述参数信息,在述函数漏洞类型列表中查找与所述参数信息对应的漏洞类型,确定参数漏洞类型列表;
将所述架构漏洞类型列表、协议漏洞类型列表、函数漏洞类型列表和参数漏洞类型列表中的漏洞类型进行筛选,将筛选后的漏洞类型作为所述固件的所述预判漏洞类型。
6.根据权利要求5所述的方法,其特征在于,所述架构漏洞类型列表、协议漏洞类型列表、函数漏洞类型列表和参数漏洞类型列表等级依次降低;
将所述架构漏洞类型列表、协议漏洞类型列表、函数漏洞类型列表和参数漏洞类型列表中的漏洞类型进行筛选,将筛选后的漏洞类型作为所述固件的所述预判漏洞类型,包括:
在确定的多个漏洞类型列表中,选择级别最低的漏洞类型列表为目标漏洞类型列表,将所述目标漏洞类型列表中的漏洞类型作为所述固件的预判漏洞类型。
7.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
响应于所述测试文件夹存在异常文件,利用预设的恢复函数对所述异常文件进行替换或补齐,直至所述测试文件夹满足搭建测试环境的条件。
8.一种固件安全检测及验证装置,其特征在于,包括:
获取模块,用于获取测试文件夹;
第一确定模块,用于根据所述测试文件夹,确定所述固件的特征信息;
第二确定模块,用于根据预设漏洞表和所述特征信息,确定所述固件的预判漏洞类型和与所述预判漏洞类型对应的脚本;
验证模块,用于根据所述测试文件夹搭建测试环境,利用所述测试环境对所述预判漏洞类型对应的脚本进行测试,得到真实漏洞类型;
第三确定模块,用于将所述真实漏洞类型与所述预判漏洞类型进行对比,响应于对比结果一致,确定所述固件存在该预判漏洞类型。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任意一项所述的方法。
10.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,其特征在于,所述计算机指令用于使计算机执行权利要求1至7任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311048889.6A CN117332421A (zh) | 2023-08-18 | 2023-08-18 | 固件安全检测及验证方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311048889.6A CN117332421A (zh) | 2023-08-18 | 2023-08-18 | 固件安全检测及验证方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117332421A true CN117332421A (zh) | 2024-01-02 |
Family
ID=89294069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311048889.6A Pending CN117332421A (zh) | 2023-08-18 | 2023-08-18 | 固件安全检测及验证方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117332421A (zh) |
-
2023
- 2023-08-18 CN CN202311048889.6A patent/CN117332421A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9152521B2 (en) | Systems and methods for testing content of mobile communication devices | |
CN109376078B (zh) | 移动应用的测试方法、终端设备及介质 | |
CN111897724B (zh) | 一种适用于云平台的自动化测试方法及装置 | |
CN110474900B (zh) | 一种游戏协议测试方法及装置 | |
CN104866770B (zh) | 敏感数据扫描方法和系统 | |
CN111488594B (zh) | 一种基于云服务器的权限检查方法、装置、存储介质及终端 | |
CN112257054B (zh) | 一种软件应用越权风险检测方法、电子设备及存储介质 | |
CN113132181B (zh) | 移动应用程序IPv6网络协议支持度检测方法及装置 | |
TW202109304A (zh) | 共用電子設備管理方法及裝置 | |
CN111460448B (zh) | 一种恶意软件家族检测方法及装置 | |
CN117332421A (zh) | 固件安全检测及验证方法、装置、电子设备和存储介质 | |
CN114422175A (zh) | 网络安全监督检查行为审计方法及装置 | |
CN114489661A (zh) | 基于反馈机制的资产和指纹识别方法及相关设备 | |
CN110489341B (zh) | 一种测试方法、装置、存储介质及电子设备 | |
WO2015081834A1 (en) | Method and apparatus for distinguishing software types | |
US9916412B2 (en) | Automatic generation of test layouts for testing a design rule checking tool | |
CN115314413B (zh) | 一种can信号测试方法及装置 | |
CN112541182B (zh) | 内核vfs层系统修复方法、装置、设备及存储介质 | |
CN117555533B (zh) | 代码生成方法、电子设备及存储介质 | |
CN110647458A (zh) | 基于分布式测试平台的测试方法、装置及电子设备 | |
CN116150768B (zh) | Docker容器运行状态下漏洞检测方法、系统及设备 | |
WO2016036321A1 (en) | Methods for generating a vulnerability pattern, methods for determining a security threat, vulnerability pattern generators, and vulnerability pattern scanners | |
CN111309410B (zh) | 一种程序对象确定方法及装置 | |
CN114416465A (zh) | 正版化软件检查方法、电子设备及存储介质 | |
CN114969751A (zh) | 自动化漏洞验证方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |