CN113238884A - 一种固件文件的检测方法、装置、电子设备及存储介质 - Google Patents

一种固件文件的检测方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113238884A
CN113238884A CN202110499464.1A CN202110499464A CN113238884A CN 113238884 A CN113238884 A CN 113238884A CN 202110499464 A CN202110499464 A CN 202110499464A CN 113238884 A CN113238884 A CN 113238884A
Authority
CN
China
Prior art keywords
detection
file
subfiles
subfile
identification information
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.)
Granted
Application number
CN202110499464.1A
Other languages
English (en)
Other versions
CN113238884B (zh
Inventor
袁静
李政
吴志敏
李承泽
范乐君
申任远
吴昊
黄磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Computer Network and Information Security Management Center
Original Assignee
National Computer Network and Information Security Management Center
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National Computer Network and Information Security Management Center filed Critical National Computer Network and Information Security Management Center
Priority to CN202110499464.1A priority Critical patent/CN113238884B/zh
Publication of CN113238884A publication Critical patent/CN113238884A/zh
Application granted granted Critical
Publication of CN113238884B publication Critical patent/CN113238884B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0763Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种固件文件的检测方法,以解决采用串行处理方式对固件文件进行检测时,会出现大量无效轮询,使得检测时间较长的问题。方法包括:获取待检测的固件文件;确定固件文件中子文件的标识信息;根据子文件的标识信息,调用能够检测与标识信息对应的文件的检测点对子文件进行检测,得到子文件检测结果;根据子文件检测结果,确定固件文件的检测结果。本发明还公开一种固件文件的检测装置、电子设备及计算机可读存储介质。

Description

一种固件文件的检测方法、装置、电子设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种固件文件的检测方法、装置、电子设备及计算机可读存储介质。
背景技术
固件是指设备内部保存的设备“驱动程序”,承担着操作系统最基础,最底层的工作,通过固件,操作系统可以按照标准的设备驱动实现特定机器的运行动作。
随着计算机功能需求的不断变化,以及固件存在缺陷需要修复等原因,通常需对固件进行升级、更新或重写,此时,就需要获取固件对应的文件,即固件文件,然后将该固件文件刷入硬件设备中。其中,固件文件通常包含用于设备启动以及运行的多重形态的内容,比如,操作系统内核、硬件驱动、中间件、应用层程序等。在此过程中,若刷入硬件设备中的固件文件存在缺陷、病毒等影响和危害固件安全的因素,那么刷入了此固件文件的硬件设备也会存在对应的漏洞问题,从而对使用此硬件设备的用户造成安全隐患,因此,为了避免该问题,在刷入固件文件之前,需对固件文件进行检测。
相关技术中,通常采用串行处理方式对固件文件进行检测,也即通过各检测点各自分别轮询网络文件系统中的文件,然后从该网络文件系统中筛选出检测点能够检测的文件,进行检测处理。这样,在检测过程中会出现大量无效轮询,使得检测时间较长。
发明内容
本发明实施例提供一种固件文件的检测方法,用以解决现有技术中采用串行处理方式对固件文件进行检测时,会出现大量无效轮询,使得检测时间较长的问题。
本发明实施例还提供一种固件文件的检测装置,一种电子设备,以及一种计算机可读存储介质。
本发明实施例采用下述技术方案:
一种固件文件的检测方法,包括:
获取待检测的固件文件;
确定固件文件中子文件的标识信息;
根据子文件的标识信息,调用能够检测与标识信息对应的文件的检测点对子文件进行检测,得到子文件检测结果;
根据子文件检测结果,确定固件文件的检测结果。
可选的,标识信息,包括以下至少一种:
子文件的文件类型信息;
子文件的文件路径信息;
子文件的软件版本信息。
可选的,确定固件文件中子文件的标识信息,包括:
针对固件文件进行脱壳处理,以获取固件文件的子文件;
通过预设的文件定位方法和文件分析方法,确定固件文件中子文件的标识信息。
可选的,根据所述子文件的标识信息,调用能够检测与所述标识信息对应的文件的检测点对所述子文件进行检测,得到子文件检测结果,包括:
若子文件的数量大于预设检测数量阈值,则将子文件聚合至检测网关;
控制检测网关对子文件进行检测次序划分,以得到子文件的检测次序;
根据子文件的检测次序和子文件的标识信息,依次调用能够检测与所述标识信息对应的文件的检测点对所述子文件进行检测,得到子文件检测结果。
可选的,在根据子文件的标识信息,调用能够检测与所述标识信息对应的文件的检测点对所述子文件进行检测,得到子文件检测结果之前,方法还包括:
确定检测点的统一资源定位符;
根据统一资源定位符,将检测点注册至检测服务的中间件。
可选的,所述方法还包括:
根据所述子文件的标识信息对所述子文件进行标识;
将标识后的子文件存储至预设数据库。
可选的,所述检测点包括以下至少一种:
漏洞挖掘类型的检测点;
病毒扫描类型的检测点;
漏洞识别类型的检测点;
密钥检测类型的检测点。
一种固件文件的检测装置,包括获取模块、标识确定模块、调用模块和结果确定模块,其中:
获取模块,用于获取待检测的固件文件;
标识确定模块,用于确定固件文件中子文件的标识信息;
调用模块,用于根据子文件的标识信息,调用能够检测与标识信息对应的文件的检测点对子文件进行检测,得到子文件检测结果;
结果确定模块,用于根据子文件检测结果,确定固件文件的检测结果。
可选的,标识信息,包括以下至少一种:
子文件的文件类型信息;
子文件的文件路径信息;
子文件的软件版本信息。
可选的,标识确定模块,包括:
脱壳单元,用于针对固件文件进行脱壳处理,以获取固件文件的子文件;
确定单元,用于通过预设的文件定位方法和文件分析方法,确定固件文件中子文件的标识信息。
可选的,调用模块,包括:
聚合单元,用于若子文件的数量大于预设检测数量阈值,则将子文件聚合至检测网关;
划分单元,用于控制检测网关对子文件进行检测次序划分,以得到子文件的检测次序;
调用单元,用于根据子文件的检测次序和子文件的标识信息,依次调用能够检测与所述标识信息对应的文件的检测点对所述子文件进行检测,得到子文件检测结果。
可选的,所述装置还包括:
定位符确定模块,用于确定检测点的统一资源定位符;
注册模块,用于根据统一资源定位符,将检测点注册至检测服务的中间件。
可选的,所述装置还包括:
标识模块,用于根据所述子文件的标识信息对所述子文件进行标识;
存储模块,用于将标识后的子文件存储至预设数据库。
可选的,所述检测点包括以下至少一种:
漏洞挖掘类型的检测点;
病毒扫描类型的检测点;
漏洞识别类型的检测点;
密钥检测类型的检测点。
一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的固件文件的检测方法的步骤。
一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的固件文件的检测方法的步骤。
本发明实施例采用的上述至少一个技术方案能够达到以下有益效果:
采用本发明实施例提供的方法,可以先确定固件文件中子文件的标识信息,然后根据子文件的标识信息,调用能够检测与该标识信息对应的文件的检测点对子文件进行检测,这样,相对于现有技术而言,可以避免检测过程中的无效轮询,缩短检测时间。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1a为本发明实施例提供的一种固件文件的检测方法的实现流程示意图;
图1b为本发明实施例提供的一种根据子文件的标识信息,调用能够检测与标识信息对应的文件的检测点对子文件进行检测,得到子文件检测结果的方法的实现流程示意图;
图2为本发明实施例提供的一种固件文件的检测方法在实际中的一种应用流程的示意图;
图3为本发明实施例提供一种固件文件的检测装置的具体结构示意图;
图4为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下结合附图,详细说明本发明各实施例提供的技术方案。
实施例1
为解决现有技术中采用串行处理方式对固件文件进行检测时,会出现大量无效轮询,使得检测时间较长的问题,本发明实施例提供一种固件文件的检测方法。
该方法的执行主体,可以是各种类型的计算设备,或者,可以是安装于计算设备上的应用程序或应用(Application,APP)。所述的计算设备,比如可以是手机、平板电脑、智能可穿戴设备等用户终端,也可以是服务器等。
为便于描述,本发明实施例以该方法的执行主体为服务器为例,对该方法进行介绍。本领域技术人员可以理解,本发明实施例以该服务器为例对方法进行介绍,仅是一种示例性说明,并不对本方案对应的权利要求保护范围构成限制。
具体地,本发明实施例提供的该方法的实现流程如图1a所示,包括如下步骤:
步骤11,获取待检测的固件文件。
固件文件,即固件对应的文件,通常为多层通用引导加载程序(Universal BootLoader,U-Boot)结构的压缩结构文件,可以包含用于启动设备以及运行设备的多重形态的内容,例如Linux Kernel、硬件驱动、中间件、应用层程序等。其中,固件是指设备内部保存的设备“驱动程序”,承担着操作系统最基础,最底层的工作,通过固件,操作系统可以按照标准的设备驱动实现特定机器的运行动作。
本发明实施例中,考虑到开发人员在开发环境中开发(或编译)出新的固件文件后,通常会将其录入管理中心中进行存储,以便管理中心对该固件文件进行非对称加密,得到非对称加密后的固件文件。因此,获取待检测的固件文件时,可以启动预置的获取固件文件的自动化工具,然后通过该自动化工具从管理中心中获取固件文件。
需要说明的是,上述例举的获取待检测的固件文件的方式仅是一种示例性说明,并不对本发明实施例造成任何限定。
步骤12,确定固件文件中子文件的标识信息。
本发明实施例中,在获取待检测的固件文件之后,可以先确定固件文件中子文件的标识信息,并不直接调用检测点来对固件文件进行检测。
其中,标识信息,包括以下至少一种:
子文件的文件类型信息;
子文件的文件路径信息;
子文件的软件版本信息。
本发明实施例中,文件类型信息例如可以包括ELF、PE等可执行文件信息,jar、py等java、python语言程序文件信息,txt文本文件信息,以及Cert、pem等证书文件信息。
文件路径信息,可以包括文件的扩展名信息和文件所在的路径信息。
软件版本信息,可以包括用于对可执行文件进行版本鉴定处理的信息和文件的版本号信息。
本发明实施例中,确定固件文件中子文件的标识信息时,可以先将该固件文件整理成二进制文件格式,然后将得到的二进制文件格式的固件文件载入静态反编译工具(Interactive Disassembler,IDA)进行分析,以确定固件文件中子文件的标识信息。
可选的,考虑到通过步骤11获取的待检测的固件文件可能是通过加密算法加密后的固件文件,因此,本发明实施例中,在确定固件文件中子文件的标识信息之前,还可以先针对获取的固件文件进行解密,并得到解密后的固件文件。或者,若通过步骤11获取的待检测的固件文件为解密后的固件文件,则可以忽略解密操作,直接根据固件文件确定固件文件中子文件的标识信息。
除上述方式之外,在一种可选的实施方式中,还可以先针对该固件文件进行脱壳处理,得到该固件文件的子文件;然后,根据该固件文件的子文件,通过预设的文件定位方法和文件分析方法,确定固件文件中子文件的标识信息。
其中,预设的文件定位方法包括采用文件定位工具对固件文件的子文件的头部信息进行分析,以确定该子文件的路径信息;预设的文件分析方法包括采用文件分析工具对子文件的头部信息进行分析,以获取该子文件的基本数据类型,其中,文件定位工具包括ARM固件基址定位工具;文件分析工具包括strings、hexdump、file命令、binwalk、fdisk、dd命令、GUI hex文本编辑器等。
可选的,本发明实施例中,在确定固件文件中子文件的标识信息之后,可以根据该子文件的标识信息对该子文件进行标识;将标识后的子文件存储至预设数据库。这样,后续检测点对子文件进行检测时,则可以直接根据标识信息调用能够检测该子文件的检测点进行检测,从而缩短检测时间。其中,预设数据库比如可以是mysql。
步骤13,根据子文件的标识信息,调用能够检测与标识信息对应的文件的检测点对子文件进行检测,得到子文件检测结果。
检测点,可以理解为一种具备检测能力的检测服务器,本发明实施例中,通过检测点对固件文件进行检测,可以实现固件文件的病毒扫描、固件文件的密钥泄露检测、固件文件的密码泄露检测、固件文件的漏洞挖掘、固件文件的漏铜识别等。
本发明实施例中,检测点包括以下至少一种:
漏洞挖掘类型的检测点;
病毒扫描类型的检测点;
漏洞识别类型的检测点;
密钥检测类型的检测点。
通常,不同类型的检测点可以对不同文件类型、不同文件路径和/或不同软件版本的固件文件进行检测。比如,漏洞挖掘类型和病毒扫描类型的检测点可以针对可执行文件ELF、PE进行检测,因此,本发明实施例中,确定子文件的标识信息后,可以根据子文件的标识信息,调用能够检测与标识信息对应的文件的检测点对子文件进行检测,得到子文件检测结果。
例如,假设标识信息为子文件的文件类型信息,且文件类型信息包括ELF、PE等可执行文件信息,则可以调用能够检测与文件类型信息(ELF、PE等可执行文件)对应的文件的检测点对子文件进行检测,得到子文件检测结果。
在一种可选的实施方式中,如图1b所示,可以采用如下步骤131~步骤133,根据子文件的标识信息,调用能够检测与标识信息对应的文件的检测点对子文件进行检测,得到子文件检测结果。
步骤131,若子文件的数量大于预设检测数量阈值,则将子文件聚合至检测网关。
本发明实施例中,当检测点的检测量较大时,也即待检测固件文件的子文件的数量大于预设检测数量阈值时,为了可以提高检测速度,可以将子文件聚合至检测网关,以便检测网关可以针对子文件划分不同的批次,然后根据子文件的批次将子文件分批发送给检测点进行处理。
步骤132,控制检测网关对子文件进行检测次序划分,以得到子文件的检测次序。
执行完步骤131将子文件聚合至检测网关之后,可以控制检测网关对子文件进行检测次序划分,以得到子文件的检测次序。例如,假设固件文件中存在100个子文件,则可以先对这100个子文件进行编号,比如编号为1~100,然后控制检测网关将编号为1~编号为30的子文件划分为第一批次检测,将编号为31~编号为60的子文件划分为第二批次检测,将编号为61~编号为100的子文件划分为第三批次检测。
步骤133,根据子文件的检测次序和子文件的标识信息,依次调用能够检测与标识信息对应的文件的检测点对子文件进行检测,得到子文件检测结果。
例如,沿用上例,假设某三个子文件的编号分别为27、71和93,则针对编号为27的子文件,可以根据编号为27的标识信息,在第一批次调用能够检测与该标识信息对应的文件的检测点对子文件进行检测。针对编号为71的子文件,可以根据编号为71的标识信息,在第二批次调用能够检测与该标识信息对应的文件的检测点对子文件进行检测。针对编号为93的子文件,可以根据编号为93的标识信息,在第三批次调用能够检测与该标识信息对应的文件的检测点对子文件进行检测。这样一来,可以将子文件按不同批次分发给检测点进行检测,减轻了检测点单次的检测量,而且可以避免检测点单次检测量过多导致的检测堵塞的问题。
在一种可选的实施方式中,为了可以提高检测点的检测性能,可以将检测点部署在多台低配置的服务器上,而不仅部署在同一台该配置的服务器上。
可选的,若根据上述方式将检测点部署在多台低配置的服务器上,则为了降低检测点与固件检测系统的耦合,本发明实施例中,可以通过注册的方式在固件检测系统中增加新类型的检测点,后续需要调用检测点时,则可以通过服务发现中间件获取新类型的检测点。
具体地,注册新类型的检测点时,可以先确定该检测点的统一资源定位符;然后根据统一资源定位符,将检测点注册至检测服务的中间件。
步骤14,根据子文件检测结果,确定固件文件的检测结果。
本发明实施例中,得到各子文件的检测结果之后,可以对子文件的检测结果进行汇总,然后根据汇总后的子文件检测结果,确定固件文件的检测结果。
采用本发明实施例提供的该方法,可以先确定固件文件中子文件的标识信息,然后根据子文件的标识信息,调用能够检测与该标识信息对应的文件的检测点对子文件进行检测,这样,相对于现有技术而言,可以避免检测过程中的无效轮询,缩短检测时间。
实施例2
以下结合实际场景,说明本发明实施例提供的方法在实际中如何应用。
请参见图2,为本发明实施例提供的方法在实际中的一种应用流程的示意图。该流程具体包括如下步骤:
步骤21,获取待检测的固件文件,并将固件文件解包至网络文件系统(NetworkFile System,NFS)。
固件文件,即固件对应的文件,通常为多层通用引导加载程序(Universal BootLoader,U-Boot)结构的压缩结构文件,可以包含用于启动设备以及运行设备的多重形态的内容,例如Linux Kernel、硬件驱动、中间件、应用层程序等。其中,固件是指设备内部保存的设备“驱动程序”,承担着操作系统最基础,最底层的工作,通过固件,操作系统可以按照标准的设备驱动实现特定机器的运行动作。
本发明实施例中,获取待检测的固件文件的方式与实施例1中获取待检测的固件文件的方式相同,可以参照实施例1中步骤11的相关内容,为避免赘述,此处不再说明。
步骤22,调用预处理分析器对解包后的固件文件进行预处理,以确定固件文件中子文件的标识信息。
预处理分析器,可以对固件文件进行预处理,并且可以采用预设的文件定位方法和文件分析方法,确定固件文件中子文件的标识信息。
其中,采用预设的文件定位方法和文件分析方法,确定固件文件中子文件的标识信息的具体实施方式,可以参照实施例1中的步骤12,为避免赘述,此处不再说明。
步骤23,调用文件标记服务,根据子文件的标识信息对子文件进行标识,并将标识后的子文件存储至预设数据库。
步骤24,根据子文件的标识信息,从服务发现中间件调用能够检测与所述标识信息对应的文件的检测点对所述子文件进行检测,得到子文件检测结果。
其中,服务发现中间件比如可以是nacos。
步骤25,根据子文件检测结果进行汇总,以确定所述固件文件的检测结果。
采用本发明实施例提供的该方法,可以先确定固件文件中子文件的标识信息,然后根据子文件的标识信息,调用能够检测与该标识信息对应的文件的检测点对子文件进行检测,这样,相对于现有技术而言,可以避免检测过程中的无效轮询,缩短检测时间。
实施例3
为解决现有技术中采用串行处理方式对固件文件进行检测时,会出现大量无效轮询,使得检测时间较长的问题,本发明实施例提供一种固件文件的检测装置,该装置的具体结构示意图如图3所示,包括获取模块、标识确定模块、调用模块和结果确定模块。各单元的功能如下:
获取模块31,用于获取待检测的固件文件。
标识确定模块32,用于确定所述固件文件中子文件的标识信息。
调用模块33,用于根据所述子文件的标识信息,调用能够检测与所述标识信息对应的文件的检测点对所述子文件进行检测,得到子文件检测结果。
结果确定模块34,用于根据所述子文件检测结果,确定所述固件文件的检测结果。
在一种可选的实施方式中,标识信息,包括以下至少一种:
子文件的文件类型信息;
子文件的文件路径信息;
子文件的软件版本信息。
在一种可选的实施方式中,标识确定模块,包括:
脱壳单元,用于针对固件文件进行脱壳处理,以获取固件文件的子文件;
确定单元,用于通过预设的文件定位方法和文件分析方法,确定固件文件中子文件的标识信息。
在一种可选的实施方式中,调用模块,包括:
聚合单元,用于若子文件的数量大于预设检测数量阈值,则将子文件聚合至检测网关;
划分单元,用于控制检测网关对子文件进行检测次序划分,以得到子文件的检测次序;
调用单元,用于根据子文件的检测次序和子文件的标识信息,依次调用能够检测与所述标识信息对应的文件的检测点对所述子文件进行检测,得到子文件检测结果。
在一种可选的实施方式中,所述装置还包括:
定位符确定模块,用于确定检测点的统一资源定位符;
注册模块,用于根据统一资源定位符,将检测点注册至检测服务的中间件。
可选的,所述装置还包括:
标识模块,用于根据所述子文件的标识信息对所述子文件进行标识;
存储模块,用于将标识后的子文件存储至预设数据库。
可选的,所述检测点包括以下至少一种:
漏洞挖掘类型的检测点;
病毒扫描类型的检测点;
漏洞识别类型的检测点;
密钥检测类型的检测点。
采用本发明实施例提供的该装置,可以先确定固件文件中子文件的标识信息,然后根据子文件的标识信息,调用能够检测与该标识信息对应的文件的检测点对子文件进行检测,这样,相对于现有技术而言,可以避免检测过程中的无效轮询,缩短检测时间。
实施例4
本发明实施例涉及一种电子设备,如图4所示。在硬件层面,电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatilememory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponentInterconnect,外设部件互连标准)总线或EISA(Extended IndustryStandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成固件文件的检测装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
获取待检测的固件文件;
确定固件文件中子文件的标识信息;
根据子文件的标识信息,调用能够检测与标识信息对应的文件的检测点对子文件进行检测,得到子文件检测结果;
根据子文件检测结果,确定固件文件的检测结果。
可选的,标识信息,包括以下至少一种:
子文件的文件类型信息;
子文件的文件路径信息;
子文件的软件版本信息。
可选的,确定固件文件中子文件的标识信息,包括:
针对固件文件进行脱壳处理,以获取固件文件的子文件;
通过预设的文件定位方法和文件分析方法,确定固件文件中子文件的标识信息。
可选的,根据子文件的标识信息,调用能够检测与所述标识信息对应的文件的检测点对所述子文件进行检测,得到子文件检测结果,包括:
若子文件的数量大于预设检测数量阈值,则将子文件聚合至检测网关;
控制检测网关对子文件进行检测次序划分,以得到子文件的检测次序;
根据子文件的检测次序和子文件的标识信息,依次调用能够检测与所述标识信息对应的文件的检测点对所述子文件进行检测,得到子文件检测结果。
可选的,在根据子文件的标识信息,调用与子文件的标识信息匹配的检测点对子文件进行检测,得到子文件检测结果之前,方法还包括:
确定检测点的统一资源定位符;
根据统一资源定位符,将检测点注册至检测服务的中间件。
可选的,所述方法还包括:
根据所述子文件的标识信息对所述子文件进行标识;
将标识后的子文件存储至预设数据库。
可选的,所述检测点包括以下至少一种:
漏洞挖掘类型的检测点;
病毒扫描类型的检测点;
漏洞识别类型的检测点;
密钥检测类型的检测点。
上述如本说明书提供的一种固件文件的检测方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行一种固件文件的检测方法,并具体用于执行:
获取待检测的固件文件;
确定固件文件中子文件的标识信息;
根据子文件的标识信息,调用能够检测与标识信息对应的文件的检测点对子文件进行检测,得到子文件检测结果;
根据子文件检测结果,确定固件文件的检测结果。
可选的,标识信息,包括以下至少一种:
子文件的文件类型信息;
子文件的文件路径信息;
子文件的软件版本信息。
可选的,确定固件文件中子文件的标识信息,包括:
针对固件文件进行脱壳处理,以获取固件文件的子文件;
通过预设的文件定位方法和文件分析方法,确定固件文件中子文件的标识信息。
可选的,根据子文件的标识信息,调用能够检测与所述标识信息对应的文件的检测点对所述子文件进行检测,得到子文件检测结果,包括:
若子文件的数量大于预设检测数量阈值,则将子文件聚合至检测网关;
控制检测网关对子文件进行检测次序划分,以得到子文件的检测次序;
根据子文件的检测次序和子文件的标识信息,依次调用能够检测与所述标识信息对应的文件的检测点对所述子文件进行检测,得到子文件检测结果。
可选的,在根据子文件的标识信息,调用与子文件的标识信息匹配的检测点对子文件进行检测,得到子文件检测结果之前,方法还包括:
确定检测点的统一资源定位符;
根据统一资源定位符,将检测点注册至检测服务的中间件。
可选的,所述方法还包括:
根据所述子文件的标识信息对所述子文件进行标识;
将标识后的子文件存储至预设数据库。
可选的,所述检测点包括以下至少一种:
漏洞挖掘类型的检测点;
病毒扫描类型的检测点;
漏洞识别类型的检测点;
密钥检测类型的检测点。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、装置、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制时,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

Claims (10)

1.一种固件文件的检测方法,其特征在于,包括:
获取待检测的固件文件;
确定所述固件文件中子文件的标识信息;
根据所述子文件的标识信息,调用能够检测与所述标识信息对应的文件的检测点对所述子文件进行检测,得到子文件检测结果;
根据所述子文件检测结果,确定所述固件文件的检测结果。
2.如权利要求1所述的方法,其特征在于,所述标识信息,包括以下至少一种:
子文件的文件类型信息;
子文件的文件路径信息;
子文件的软件版本信息。
3.如权利要求1所述的方法,其特征在于,确定所述固件文件中子文件的标识信息,包括:
针对所述固件文件进行脱壳处理,以获取所述固件文件的子文件;
通过预设的文件定位方法和文件分析方法,确定所述固件文件中子文件的标识信息。
4.如权利要求1所述的方法,其特征在于,根据所述子文件的标识信息,调用能够检测与所述标识信息对应的文件的检测点对所述子文件进行检测,得到子文件检测结果,包括:
若所述子文件的数量大于预设检测数量阈值,则将所述子文件聚合至检测网关;
控制所述检测网关对所述子文件进行检测次序划分,以得到所述子文件的检测次序;
根据所述子文件的检测次序和所述子文件的标识信息,依次调用能够检测与所述标识信息对应的文件的检测点对所述子文件进行检测,得到子文件检测结果。
5.如权利要求1所述的方法,其特征在于,在根据所述子文件的标识信息,调用能够检测与所述标识信息对应的文件的检测点对所述子文件进行检测,得到子文件检测结果之前,所述方法还包括:
确定所述检测点的统一资源定位符;
根据所述统一资源定位符,将所述检测点注册至检测服务的中间件。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述子文件的标识信息对所述子文件进行标识;
将标识后的子文件存储至预设数据库。
7.如权利要求1所述的方法,其特征在于,所述检测点包括以下至少一种:
漏洞挖掘类型的检测点;
病毒扫描类型的检测点;
漏洞识别类型的检测点;
密钥检测类型的检测点。
8.一种固件文件的检测装置,其特征在于,包括获取模块、标识确定模块、调用模块和结果确定模块,其中:
获取模块,用于获取待检测的固件文件;
标识确定模块,用于确定所述固件文件中子文件的标识信息;
调用模块,用于根据所述子文件的标识信息,调用能够检测与所述标识信息对应的文件的检测点对所述子文件进行检测,得到子文件检测结果;
结果确定模块,用于根据所述子文件检测结果,确定所述固件文件的检测结果。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的固件文件的检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的固件文件的检测方法的步骤。
CN202110499464.1A 2021-05-06 2021-05-06 一种固件文件的检测方法、装置、电子设备及存储介质 Active CN113238884B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110499464.1A CN113238884B (zh) 2021-05-06 2021-05-06 一种固件文件的检测方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110499464.1A CN113238884B (zh) 2021-05-06 2021-05-06 一种固件文件的检测方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113238884A true CN113238884A (zh) 2021-08-10
CN113238884B CN113238884B (zh) 2022-02-08

Family

ID=77132547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110499464.1A Active CN113238884B (zh) 2021-05-06 2021-05-06 一种固件文件的检测方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113238884B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103632092A (zh) * 2012-08-22 2014-03-12 国际商业机器公司 用于文件扫描的方法和系统
CN104346109A (zh) * 2013-08-09 2015-02-11 华为终端有限公司 家庭共享打印方法及装置
CN105224333A (zh) * 2015-10-16 2016-01-06 中国工商银行股份有限公司 大机目标代码快速生成方法及系统
CN106446254A (zh) * 2016-10-14 2017-02-22 北京百度网讯科技有限公司 文件检测方法和装置
CN106940771A (zh) * 2016-01-04 2017-07-11 阿里巴巴集团控股有限公司 基于文件的漏洞检测方法和装置
US20190158406A1 (en) * 2016-11-07 2019-05-23 Cisco Technology, Inc. Tactical traffic engineering based on segment routing policies
CN112527634A (zh) * 2020-11-25 2021-03-19 中国联合网络通信集团有限公司 程序划分方法及装置、软件测试方法及平台
CN112580040A (zh) * 2019-09-30 2021-03-30 奇安信安全技术(珠海)有限公司 文件外壳的脱壳方法及装置、存储介质、电子装置
CN112612497A (zh) * 2020-12-30 2021-04-06 欧普照明股份有限公司 基于网关的固件升级方法及设备的固件升级方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103632092A (zh) * 2012-08-22 2014-03-12 国际商业机器公司 用于文件扫描的方法和系统
CN104346109A (zh) * 2013-08-09 2015-02-11 华为终端有限公司 家庭共享打印方法及装置
CN105224333A (zh) * 2015-10-16 2016-01-06 中国工商银行股份有限公司 大机目标代码快速生成方法及系统
CN106940771A (zh) * 2016-01-04 2017-07-11 阿里巴巴集团控股有限公司 基于文件的漏洞检测方法和装置
CN106446254A (zh) * 2016-10-14 2017-02-22 北京百度网讯科技有限公司 文件检测方法和装置
US20190158406A1 (en) * 2016-11-07 2019-05-23 Cisco Technology, Inc. Tactical traffic engineering based on segment routing policies
CN112580040A (zh) * 2019-09-30 2021-03-30 奇安信安全技术(珠海)有限公司 文件外壳的脱壳方法及装置、存储介质、电子装置
CN112527634A (zh) * 2020-11-25 2021-03-19 中国联合网络通信集团有限公司 程序划分方法及装置、软件测试方法及平台
CN112612497A (zh) * 2020-12-30 2021-04-06 欧普照明股份有限公司 基于网关的固件升级方法及设备的固件升级方法

Also Published As

Publication number Publication date
CN113238884B (zh) 2022-02-08

Similar Documents

Publication Publication Date Title
CN107193750B (zh) 一种脚本录制方法和装置
US10481964B2 (en) Monitoring activity of software development kits using stack trace analysis
US20170214704A1 (en) Method and device for feature extraction
CN109101815B (zh) 一种恶意软件检测方法及相关设备
CN113489713B (zh) 网络攻击的检测方法、装置、设备及存储介质
CN112035354B (zh) 风险代码的定位方法、装置、设备及存储介质
EP3828696A1 (en) Method invoke chain tracing method, electronic apparatus, and computer-readable storage medium
CN113114680B (zh) 用于文件上传漏洞的检测方法和检测装置
CN110851339A (zh) 一种埋点数据的上报方法、装置、存储介质和终端设备
CN112685745A (zh) 一种固件检测方法、装置、设备及存储介质
CN109818972A (zh) 一种工业控制系统信息安全管理方法、装置及电子设备
CN111046393B (zh) 漏洞信息上传方法、装置、终端设备及存储介质
CN113238884B (zh) 一种固件文件的检测方法、装置、电子设备及存储介质
CN110874475A (zh) 漏洞挖掘方法、漏洞挖掘平台及计算机可读存储介质
CN113282906B (zh) 权限检测方法、装置、终端及存储介质
CN108984386A (zh) 应用程序搜索的测试方法、装置及存储介质
CN109039813B (zh) 一种检测因特网接入的方法、系统及设备
CN107291618B (zh) 应用存储方法、装置及终端设备
CN112905534B (zh) 一种基于沙箱环境的样本分析方法和装置
CN113360901B (zh) 异常Xposed框架的检测方法、装置、介质及设备
CN118331852A (zh) 一种IPA文件中第三方Framework的检测方法、系统、设备及介质
CN108111611B (zh) 一种客户端检测方法、装置及电子设备
CN114780013A (zh) 触屏操作的识别方法、装置、终端设备及介质
CN114168957A (zh) 解析恶意应用程序的方法、装置、设备、介质和程序产品
CN110825397A (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
GR01 Patent grant
GR01 Patent grant