首页> 中国专利> 一种自动化的批量IoT固件风险评估方法和系统

一种自动化的批量IoT固件风险评估方法和系统

摘要

本发明公开了一种自动化的批量IoT固件风险评估方法和系统,所述方法包括以下步骤:S1.获取待检测的批量IoT固件;S2.固件解包;对固件的压缩方式、文件系统、指令集架构进行解析识别,完成固件解包、提取;S3.固件插件化风险检测;完成对固件安全性的全面分析;S4.漏洞检测规则匹配库;基于漏洞检测规则完成已知漏洞关联;S5分析统计、可视化报告输出。本发明直接采用批量固件库获取、自动化解包、标识IoT固件、插件化安全评估、统计输出可视化评估报告的流程自动化评估技术,加快了IoT固件的检测速度、大大减低了人力资源消耗。

著录项

  • 公开/公告号CN112818357A

    专利类型发明专利

  • 公开/公告日2021-05-18

    原文格式PDF

  • 申请/专利权人 北京顶象技术有限公司;

    申请/专利号CN202110264510.X

  • 发明设计人 王锐畅;董阳;陈树华;

    申请日2021-03-11

  • 分类号G06F21/57(20130101);

  • 代理机构11483 北京云科知识产权代理事务所(特殊普通合伙);

  • 代理人张飙

  • 地址 100085 北京市海淀区上地信息路26号3层0308/0310室

  • 入库时间 2023-06-19 11:02:01

说明书

技术领域

本发明涉及网络安全的技术领域,具体涉及一种自动化的批量IoT固件风险评估方法和系统。

背景技术

IoT是Internet Of Things(物联网)的缩写。物联网是基于互联网、广播电视网、传统电信网等信息载体,让所有能够被独立寻址的普通物理对象实现互联互通的网络。

随着IoT技术演进与下沉,万物互联时代正在到来。目前,全球物联网设备数量达到100亿,预计到2025年将增加到220亿。和移动互联网的发展历程类似,原本独立、隔离、安全的传统设备通过网络连接成为万物互联中的终端。设备本身拥有很多的入口和控制方式,这为用户带来操作便利性的同时,也形成了更多暴露面、攻击面。

一方面,IoT设备的严重碎片化现象以及设计开发人员安全意识薄弱,导致出厂的固件中存在着各种各样的漏洞。另一方面,由于IoT本身使用的操作系统数量多,使用的架构不统一,固件格式更是因厂商而异,多样化给IoT设备带来定制化与差异化的同时,也给固件安全自动化检测带来了挑战。

基于人工的固件解压、风险分析技术未能解决对固件文件系统的全面风险评估;而对于现有的插件化固件安全检测技术方案,仍是依赖对单一固件的自动化分析、简要风险结果输出,未能解决IoT固件种类、数量繁多,需流程化、批量完成安全评估的问题。

当前相关技术方案未能真正解决IoT海量固件的批量处理,仍依赖人工完成对单一固件的扫描评测。本发明的目的在于提供一种全流程自动化的IoT固件批量风险评估的方法、系统,以解决IoT固件种类众多、批量自动化风险检测、完整可视化评估报告输出的技术难题。

发明内容

针对现有技术存在的问题,本发明直接采用批量固件库获取、自动化解包、标识IoT固件、插件化安全评估、统计输出可视化评估报告的流程自动化评估技术,以解决IoT固件种类众多、批量自动化风险检测、完整可视化评估报告输出的技术难题。

基于上述目的,本发明提供一种自动化的批量IoT固件风险评估方法,包括以下步骤:

S1.获取待检测的批量IoT固件;

S2.固件解包;对固件的压缩方式、文件系统、指令集架构进行解析识别,完成固件解包、提取;

S3.固件插件化风险检测;完成对固件安全性的全面分析;

S4.漏洞检测规则匹配库;基于漏洞检测规则完成已知漏洞关联;

S5.构建漏洞库;基于漏洞信息完成设备漏洞详情呈现,构建漏洞库。

S6.分析统计、可视化报告输出;基于各个风险检测插件的分析结果,自动化的解析各部分关键安全风险,输出可视化报告。

进一步,步骤S1中,由厂商直接提供完整的待检测固件库,或者采用固件爬虫模块,对目标固件进行自动化爬取、下载、存储,生成待检测固件库,并基于当前固件库,为各个固件生成与之关联的唯一标识ID。

进一步,步骤S2中,固件解包模块采用自动化、插件化的方式,对固件的压缩方式、文件系统、指令集架构进行解析识别,之后调用相对应的解包插件,对固件进行层层解包、提取,深层次、全面的完成解包操作,为进一步的安全检测提供固件完整的元数据;支持丰富的压缩包解压以及针对不同文件系统的解包,压缩包格式包括gzip、tar、bz2、7z、rar、xz、lzo,文件系统格式包括squashfs、cramfs、linux ext、jffs2、yaffs、ext2、romfs、cpio。

进一步,步骤S3中,安全风险检测模块支持对固件安全性的全面分析,安全检测功能包括密钥证书检测、弱密码检测、自启动脚本识别、常见第三方组成识别、已知漏洞检测。

进一步,步骤S4中,基于对固件文件系统扫描、获取到产品标识元数据,进行厂商、产品的分类,到目标厂商的漏洞检测规则库中快速查询与软件匹配的规则,进一步基于查询到的漏洞检测规则完成已知漏洞关联;所述产品标识元数据包括软件厂商、产品型号、版本号。

进一步,步骤S5中,首先基于漏洞信息完成设备漏洞详情呈现,得到目标IoT固件的已知漏洞检测结果;漏洞详情可包括以下信息:漏洞对应的CVE编号、CNNVD编号、CNVD编号、漏洞等级、漏洞类型、漏洞描述、解决方案。

进一步,步骤S5中,基于各个风险检测插件的分析结果,报告生成模块将自动化的解析各部分关键数据的安全风险,进行可视化报告的输出以及Web界面的结果呈现。

进一步,其中所述关键数据包括私钥硬编码、弱密码、固件漏洞等级统计、固件漏洞类型统计。

另一方面,本发明提供一种自动化的批量IoT固件风险评估系统,包括以下模块:

固件收集模块,获取待检测的批量IoT固件;

固件解包模块,对固件的压缩方式、文件系统、指令集架构进行解析识别,完成固件解包、提取;

固件风险检测模块,所述固定风险检测模块为插件化模块,用于完成对固件安全性的全面分析;

结果模块,基于漏洞检测规则完成已知漏洞关联,基于漏洞信息完成设备漏洞详情呈现;

分析统计模块,基于各个风险检测插件的分析结果,自动化的解析各部分关键安全风险,输出可视化报告。

进一步,所述固件收集模块,由厂商直接提供完整的待检测固件库,或者采用固件爬虫模块,对目标固件进行自动化爬取、下载、存储,生成待检测固件库,并基于当前固件库,为各个固件生成与之关联的唯一标识ID;

所述固件解包模块采用自动化、插件化的方式,对固件的压缩方式、文件系统、指令集架构进行解析识别,之后调用相对应的解包插件,对固件进行层层解包、提取,深层次、全面的完成解包操作,为进一步的安全检测提供固件完整的元数据;支持丰富的压缩包解压以及针对不同文件系统的解包;

所述安全风险检测模块支持对固件安全性的全面分析,安全检测功能包括密钥证书检测、弱密码检测、自启动脚本识别、常见第三方组成识别、已知漏洞检测;

所述结果模块基于对固件文件系统扫描、获取到产品标识元数据,进行厂商、产品的分类,到目标厂商的漏洞检测规则库中快速查询与软件匹配的规则,进一步基于查询到的漏洞检测规则完成已知漏洞关联;并基于漏洞信息完成设备漏洞详情呈现,得到目标IoT固件的已知漏洞检测结果;

所述分析统计模块,基于各个风险检测插件的分析结果,报告生成模块将自动化的解析各部分关键数据的安全风险,进行可视化报告的输出以及Web界面的结果呈现。

相对于现已有的人工安全分析方法、单一固件的扫描评测方法,本发明直接采用批量固件库获取、自动化解包、标识IoT固件、插件化安全评估、统计输出可视化评估报告的流程自动化评估技术,以解决海量IoT固件安全评估工作繁琐、多人工交互的技术难题。加快了IoT固件的检测速度、大大减低了人力资源消耗。

附图说明

图1示出了根据本发明的自动化的批量IoT固件风险评估方法流程示意图。

图2示出了根据本发明的自动化的批量IoT固件风险评估系统结构示意图。

具体实施方式

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

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。

物联网系统中,为了确保IoT设备的安全性,对发布、更新的IoT固件进行风险评估是必不可少的日常工作,现有技术仍未提供完整的批量固件风险评估流程,常采用单一固件上传、插件化检测、简要结果输出的传统安全评估方法。面对以百亿计的IoT设备、海量的IoT固件,批量的、自动化流程的、完整可视化报告输出的评估技术,更符合当前的技术背景。有鉴于此,本发明提供了一种全流程自动化的IoT固件批量风险评估的方法、系统,以解决IoT固件种类众多、批量自动化风险检测、完整可视化评估报告输出的技术难题。

如图1所示,根据本发明的自动化的批量IoT固件风险评估方法,包括以下步骤:

S1.获取待检测的批量IoT固件;

S2.固件解包;对固件的压缩方式、文件系统、指令集架构进行解析识别,完成固件解包、提取;

S3.固件插件化风险检测;插件化风险检测模块完成对固件安全性的全面分析;

S4.漏洞检测规则匹配库;基于漏洞检测规则完成已知漏洞关联;

S5.构建漏洞库;基于漏洞信息完成设备漏洞详情呈现,构建漏洞库。

S6.分析统计、可视化报告输出;基于各个风险检测插件的分析结果,自动化的解析各部分关键安全风险,输出可视化报告。

具体地,其中:

S1.获取待检测的批量IoT固件

这里可由厂商直接提供完整的待检测固件库,或者采用固件爬虫模块,对目标固件进行自动化爬取、下载、存储,生成待检测固件库,并基于当前固件库,为各个固件生成与之关联的唯一标识ID。

S2.固件解包

固件解包模块采用自动化、插件化的方式,对固件的压缩方式、文件系统、指令集架构进行解析识别,之后调用相对应的解包插件,对固件进行层层解包、提取,深层次、全面的完成解包操作,为进一步的安全检测提供固件完整的元数据。

支持丰富的压缩包解压以及针对不同文件系统的解包,包括gzip、tar、bz2、7z、rar、xz、lzo等常见压缩包格式,squashfs、cramfs、linux ext、jffs2、yaffs、ext2、romfs、cpio等文件系统格式。

S3.固件插件化风险检测

安全风险检测模块支持对固件安全性的全面分析,关键功能包括密钥证书检测、弱密码检测、自启动脚本识别、常见第三方组成识别、已知漏洞检测等安全检测功能。其中,已知漏洞检测插件,支持固件系统级别、组件级别的漏洞检测,根据精确识别到的固件系统、第三方组件,基于检测系统搭建好的权威漏洞库(数据来源NVD、CNNVD、CVE),自动化地完成对固件已知漏洞的关联检测。所述漏洞库包括内核漏洞库和第三方组件漏洞库。

S4.漏洞检测规则匹配库

进一步通过构建漏洞关联库完成设备的已知漏洞关联。

基于对固件文件系统扫描、获取到软件厂商、产品型号、版本号等产品标识元数据,进行厂商、产品的分类,到目标厂商的漏洞检测规则库中快速查询与软件匹配的规则,进一步基于查询到的漏洞检测规则完成已知漏洞关联。

S5.分析统计、可视化报告输出

在分析统计之前,首先通过漏洞库,基于漏洞信息完成设备漏洞详情呈现,得到目标IoT固件的已知漏洞检测结果;系统所搭建的内核漏洞库和第三方组件漏洞库,覆盖面广,漏洞库包含数百种第三方组件库超过1万个版本中的漏洞信息关联特征,更完整的漏洞库信息有助于定位有效的安全风险问题。漏洞详情包括:漏洞对应的CVE编号、CNNVD编号、CNVD编号、漏洞等级、漏洞类型、漏洞描述、解决方案等信息。

基于各个风险检测插件的分析结果,报告生成模块将自动化的解析各部分关键安全风险,如私钥硬编码、弱密码、固件漏洞等级统计、固件漏洞类型统计的关键数据,进行可视化报告的输出以及Web界面的结果呈现。

图2示出了根据本发明的自动化的批量IoT固件风险评估系统的结构示意图,其包括固件收集模块、固件解包模块、固件风险检测模块、结果模块和分析统计模块。

其中:

1.固件收集模块,采用固件爬取的方式收集IoT固件并存入固件库,或由固件厂商直接提供待评估固件库,并基于目标固件数据生成关联固件的唯一标识ID,用于关联固件的全流程风险检测。

2.固件解包模块,对固件的压缩方式、文件系统、指令集架构进行解析识别,之后调用相对应的解包插件,对固件进行层层解包、提取,深层次、全面的完成解包操作,为进一步的安全检测提供固件完整的元数据。

3.固件风险检测模块,采用可拓展性强的检测插件方式,对固件文件系统进行密钥证书检测、弱密码检测、自启动脚本识别、常见第三方组成识别、已知漏洞检测等安全风险检测,得到固件各个风险检测信息。

4.结果模块,对固件风险检测信息进行分类,完成检测结果入库、json格式输出等不同形式的结果存储。

5.分析统计模块,基于各个风险检测插件的分析结果,报告生成模块将自动化的解析各部分关键安全风险,如私钥硬编码、弱密码、固件漏洞等级统计、固件漏洞类型统计的关键数据,进行可视化报告的输出以及Web界面的结果呈现。

相对于现已有的人工安全分析方法、单一固件的扫描评测方法,本发明直接采用批量固件库获取、自动化解包、标识IoT固件、插件化安全评估、统计输出可视化评估报告的流程自动化评估技术,以解决海量IoT固件安全评估工作繁琐、多人工交互的技术难题。加快了IoT固件的检测速度、大大减低了人力资源消耗。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述自动化的批量IoT固件风险评估方法实施例的各个过程,且能达到相同的技术效果。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号