设备厂商推测方法、设备、存储介质及装置与流程
未命名
10-08
阅读:75
评论:0

1.本发明涉及网络安全技术领域,尤其涉及一种设备厂商推测方法、设备、存储介质及装置。
背景技术:
2.近年来,随着入网的物联网设备(internet of things,iot)的数量和种类迅速增长,物联网设备几乎已经融入各行各业,如工业、能源业等领域,一旦物联网设备被恶意利用将造成广泛的影响。
3.因此,为了确保物联网设备的安全性,现有技术中通常通过对物联网设备的固件进行分析,以检测物联网设备的漏洞。但是,在实际应用中,固件分析场景通常为黑盒分析场景,无法直接获得可靠的设备厂商信息。
4.上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
技术实现要素:
5.本发明的主要目的在于提供一种设备厂商推测方法、设备、存储介质及装置,旨在解决现有技术中固件分析场景通常为黑盒分析场景,无法直接获得可靠的固件信息的技术问题。
6.为实现上述目的,本发明提供一种设备厂商推测方法,所述设备厂商推测方法包括以下步骤:
7.分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果;
8.分析所述待测固件的软件包列表在所述固件数据库中的共现频率,获得软件包共现分析结果;
9.分析所述待测固件的已知漏洞列表在所述固件数据库中的共现频率,获得漏洞共现分析结果;
10.根据所述文件共现分析结果、所述软件包共现分析结果以及所述漏洞共现分析结果推测所述待测固件的设备厂商信息。
11.可选地,所述分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果,包括:
12.对待测固件进行解包,获得所述待测固件的文件列表;
13.计算所述文件列表中各文件的哈希值;
14.基于所述哈希值分析所述待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果。
15.可选地,所述对待测固件进行解包,获得所述待测固件的文件列表,包括:
16.提取待测固件对应的固件压缩包,并对所述固件压缩包进行解压;
17.在解压失败时,对所述固件压缩包进行密码破解,获得所述固件压缩包的加密密
码;
18.基于所述加密密码对所述固件压缩包再次进行解压,获得所述待测固件的文件列表。
19.可选地,所述基于所述加密密码对所述压缩包再次进行解压,获得所述待测固件的文件列表,包括:
20.基于所述加密密码对所述固件压缩包再次进行解压,获得固件根文件镜像;
21.根据所述固件根文件镜像对应的解包脚本对所述固件根文件镜像进行解包,获得所述待测固件的文件列表。
22.可选地,所述根据所述固件根文件镜像对应的解包脚本对所述固件根文件镜像进行解包,获得所述待测固件的文件列表,包括:
23.根据所述固件根文件镜像对应的解包脚本对所述固件根文件镜像进行解包,获得固件根文件系统;
24.遍历所述固件根文件系统中的文件,获得所述待测固件的文件列表。
25.可选地,所述设备厂商推测方法还包括:
26.获取物联网设备上报的固件数据,并收集所述物联网设备对应的设备厂商的资源数据;
27.对所述固件数据和所述资源数据进行聚合,获得聚合数据;
28.基于所述聚合数据生成固件数据库。
29.可选地,所述基于所述聚合数据生成固件数据库,包括:
30.提取所述聚合数据的数据特征;
31.根据自然语言处理模型和所述数据特征进行数据推理,获得所述聚合数据对应的推理数据;
32.基于所述聚合数据和所述推理数据生成固件数据库。
33.可选地,所述分析所述待测固件的已知漏洞列表在所述固件数据库中的共现频率,获得漏洞共现分析结果之前,还包括:
34.遍历所述文件列表中的配置文件,并对所述配置文件进行文件分析,获得文件分析结果;
35.对所述待测固件进行熵分析,获得熵分析结果;
36.调用预设脚本对所述文件列表进行遍历,获得所述文件列表中的敏感文件信息;
37.基于所述文件分析结果、所述熵分析结果以及所述敏感文件信息生成所述待测固件的已知漏洞列表。
38.可选地,所述对所述待测固件进行熵分析,获得熵分析结果,包括:
39.对所述待测固件进行熵分析,获得固件文件中数据位的连续变化曲线;
40.基于所述连续变化曲线对所述待测固件的加密特征进行分析,获得熵分析结果。
41.可选地,所述根据所述文件共现分析结果、所述软件包共现分析结果以及所述漏洞共现分析结果推测所述待测固件的设备厂商信息,包括:
42.根据所述待测固件的固件类型确定固件推测模型;
43.基于所述固件推测模型生成各分析结果对应的权重值;
44.根据所述文件共现分析结果、所述软件包共现分析结果、所述漏洞共现分析结果
以及所述权重值推测所述待测固件的设备厂商信息。
45.可选地,所述根据所述文件共现分析结果、所述软件包共现分析结果以及所述漏洞共现分析结果推测所述待测固件的设备厂商信息之后,还包括:
46.根据所述设备厂商信息对各物联网设备进行漏洞分析,获得漏洞分析结果;
47.基于所述漏洞分析结果确定各设备漏洞的影响范围。
48.此外,为实现上述目的,本发明还提出一种设备厂商推测设备,所述设备厂商推测设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的设备厂商推测程序,所述设备厂商推测程序配置为实现如上文所述的设备厂商推测方法。
49.此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有设备厂商推测程序,所述设备厂商推测程序被处理器执行时实现如上文所述的设备厂商推测方法。
50.此外,为实现上述目的,本发明还提出一种设备厂商推测装置,所述设备厂商推测装置包括:文件分析模块、软件包分析模块、漏洞分析模块以及信息推测模块;
51.所述文件分析模块,用于分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果;
52.所述软件包分析模块,用于分析所述待测固件的软件包列表在所述固件数据库中的共现频率,获得软件包共现分析结果;
53.所述漏洞分析模块,用于分析所述待测固件的已知漏洞列表在所述固件数据库中的共现频率,获得漏洞共现分析结果;
54.所述信息推测模块,用于根据所述文件共现分析结果、所述软件包共现分析结果以及所述漏洞共现分析结果推测所述待测固件的设备厂商信息。
55.可选地,所述文件分析模块,还用于对待测固件进行解包,获得所述待测固件的文件列表;
56.所述文件分析模块,还用于计算所述文件列表中各文件的哈希值;
57.所述文件分析模块,还用于基于所述哈希值分析所述待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果。
58.可选地,所述文件分析模块,还用于提取待测固件对应的固件压缩包,并对所述固件压缩包进行解压;
59.所述文件分析模块,还用于在解压失败时,对所述固件压缩包进行密码破解,获得所述固件压缩包的加密密码;
60.所述文件分析模块,还用于基于所述加密密码对所述固件压缩包再次进行解压,获得所述待测固件的文件列表。
61.可选地,所述文件分析模块,还用于基于所述加密密码对所述固件压缩包再次进行解压,获得固件根文件镜像;
62.所述文件分析模块,还用于根据所述固件根文件镜像对应的解包脚本对所述固件根文件镜像进行解包,获得所述待测固件的文件列表。
63.可选地,所述文件分析模块,还用于根据所述固件根文件镜像对应的解包脚本对所述固件根文件镜像进行解包,获得固件根文件系统;
64.所述文件分析模块,还用于遍历所述固件根文件系统中的文件,获得所述待测固
件的文件列表。
65.可选地,所述设备厂商推测装置还包括:数据库生成模块;
66.所述数据库生成模块,用于获取物联网设备上报的固件数据,并收集所述物联网设备对应的设备厂商的资源数据;
67.所述数据库生成模块,还用于对所述固件数据和所述资源数据进行聚合,获得聚合数据;
68.所述数据库生成模块,还用于基于所述聚合数据生成固件数据库。
69.可选地,所述数据库生成模块,还用于提取所述聚合数据的数据特征;
70.所述数据库生成模块,还用于根据自然语言处理模型和所述数据特征进行数据推理,获得所述聚合数据对应的推理数据;
71.所述数据库生成模块,还用于基于所述聚合数据和所述推理数据生成固件数据库。
72.在本发明中,公开了分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果,分析待测固件的软件包列表在固件数据库中的共现频率,获得软件包共现分析结果,分析待测固件的已知漏洞列表在固件数据库中的共现频率,获得漏洞共现分析结果,根据文件共现分析结果、软件包共现分析结果以及漏洞共现分析结果推测待测固件的设备厂商信息;由于本发明从文件共现相似性分析、软件包共现相似性分析以及漏洞共现相似分析三个维度综合推测固件的设备厂商信息,从而能够准确获取固件的设备厂商信息。
附图说明
73.图1是本发明实施例方案涉及的硬件运行环境的设备厂商推测设备的结构示意图;
74.图2为本发明设备厂商推测方法第一实施例的流程示意图;
75.图3为本发明设备厂商推测方法第二实施例的流程示意图;
76.图4为本发明设备厂商推测方法第三实施例的流程示意图;
77.图5为本发明设备厂商推测装置第一实施例的结构框图。
78.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
79.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
80.参照图1,图1为本发明实施例方案涉及的硬件运行环境的设备厂商推测设备结构示意图。
81.如图1所示,该设备厂商推测设备可以包括:处理器1001,例如中央处理器(central processing unit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display),可选用户接口1003还可以包括标准的有线接口、无线接口,对于用户接口1003的有线接口在本发明中可为usb接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(wireless-fidelity,wi-fi)接口)。存储器1005可以是高速的随机
存取存储器(random access memory,ram)存储器,也可以是稳定的存储器(non-volatile memory,nvm),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
82.本领域技术人员可以理解,图1中示出的结构并不构成对设备厂商推测设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
83.如图1所示,认定为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备厂商推测程序。
84.在图1所示的设备厂商推测设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接用户设备;所述设备厂商推测设备通过处理器1001调用存储器1005中存储的设备厂商推测程序,并执行本发明实施例提供的设备厂商推测方法。
85.基于上述硬件结构,提出本发明设备厂商推测方法的实施例。
86.参照图2,图2为本发明设备厂商推测方法第一实施例的流程示意图,提出本发明设备厂商推测方法第一实施例。
87.在第一实施例中,所述设备厂商推测方法包括以下步骤:
88.步骤s10:分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果。
89.应当理解的是,本实施例方法的执行主体可以是具有数据处理、网络通信以及程序运行功能的设备厂商推测设备,例如,计算机、物联网设备等,或者是其他能够实现相同或相似功能的电子设备,本实施例对此不加以限制。
90.需要说明的是,待测固件可以是待测物联网设备的固件。其中,待测物联网设备可以是需要进行安全性检测的物联网设备,物联网设备可以是通过某种方式连接到网络的嵌入式设备,固件可以是—种写入硬件设备的软件,固件中包含底层代码,其作用是对应用和各项系统功能实施控制。
91.文件列表中可以包括待测固件的文件系统中的所有文件。
92.固件数据库可以用于存储多个固件样本的固件信息,其中,固件样本可以从互联网上采集,也可以由设备厂商推测设备在推测出设备厂商信息后上传,本实施例对此不加以限制;固件信息可以包括各设备厂商的文件样本、软件包样本以及漏洞样本等,本实施对此不加以限制。
93.可以理解的是,分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果可以是将文件列表中的各文件与固件数据库中的文件样本进行相似性分析,根据相似性分析结果统计存在共现的文件样本的数量,并将该数量记为共现频率,并基于共现频率对各设备厂商进行排序,将共现频率最高的设备厂商作为文件共现分析结果。
94.步骤s20:分析所述待测固件的软件包列表在所述固件数据库中的共现频率,获得软件包共现分析结果。
95.需要说明的是,软件包列表中可以包括待测固件的所有软件包。
96.应当理解的是,分析待测固件的软件包列表在固件数据库中的共现频率,获得软件包共现分析结果可以是将软件包列表中的各软件包与固件数据库中的软件包样本进行相似性分析,根据相似性分析结果统计存在共现的软件包样本的数量,并将该数量记为共
现频率,并基于共现频率对各设备厂商进行排序,将共现频率最高的设备厂商作为软件包共现分析结果。
97.步骤s30:分析所述待测固件的已知漏洞列表在所述固件数据库中的共现频率,获得漏洞共现分析结果。
98.需要说明的是,已知漏洞列表中可以包括待测固件的所有漏洞。
99.可以理解的是,分析待测固件的已知漏洞列表在固件数据库中的共现频率,获得漏洞共现分析结果可以是将已知漏洞列表中的各漏洞与固件数据库中的漏洞样本进行相似性分析,根据相似性分析结果统计存在共现的漏洞样本的数量,并将该数量记为共现频率,并基于共现频率对各设备厂商进行排序,将共现频率最高的设备厂商作为漏洞共现分析结果。
100.步骤s40:根据所述文件共现分析结果、所述软件包共现分析结果以及所述漏洞共现分析结果推测所述待测固件的设备厂商信息。
101.为了便于理解,以下进行举例说明,但并不对本方案进行限定。设备厂商信息推测的步骤如下所示:
102.1、对待测固件进行解包,提取待测固件的文件系统中的所有文件,获得待测固件的文件列表;
103.2、遍历文件列表,计算文件的哈希值;
104.3、根据文件的哈希列表,查询固件数据库,计算文件在固件数据库中的共现频率;
105.4、按照共现频率排序,将共现频率最高的设备厂商名称作为待测固件的名称name1;
106.5、遍历解包获得的所有文件,识别待测固件的软件包列表;
107.6、根据待测固件的软件包列表,查询固件数据库接口,计算软件包在固件数据库中的共现频率;
108.7、按照共现频率排序,将共现频率的固件厂商名称作为待测固件的名称name2;
109.8、遍历软件包列表,识别待测固件的已知漏洞列表;
110.9、根据固件的已知漏洞列表,查询固件数据库接口,计算已知漏洞在固件数据库中的共现频率;
111.10、按照共现频率排序,将共现频率最高的固件厂商名称作为待测固件的名称name3;
112.11、输出三个维度的厂商推测结果信息name1、name2以及name3。
113.在第一实施例中,公开了分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果,分析待测固件的软件包列表在固件数据库中的共现频率,获得软件包共现分析结果,分析待测固件的已知漏洞列表在固件数据库中的共现频率,获得漏洞共现分析结果,根据文件共现分析结果、软件包共现分析结果以及漏洞共现分析结果推测待测固件的设备厂商信息;由于本实施例从文件共现相似性分析、软件包共现相似性分析以及漏洞共现相似分析三个维度综合推测固件的设备厂商信息,从而能够准确获取固件的设备厂商信息。
114.进一步地,所述设备厂商推测方法还包括:
115.获取物联网设备上报的固件数据,并收集所述物联网设备对应的设备厂商的资源
数据;
116.对所述固件数据和所述资源数据进行聚合,获得聚合数据;
117.基于所述聚合数据生成固件数据库。
118.应当理解的是,为了提高固件数据库的数据全面性,本实施例中,可以从多个维度收集固件数据。
119.可以理解的是,物联网设备在接入物联网后,可以自动上报固件数据;也可以是物联网设备在执行完本设备厂商推测方法后,自动上传推测获得的设备厂商信息,本实施例对此不加以限制。
120.应当理解的是,固件的设备厂商通常会在官方网站上上传固件资源,或通过无线网络对固件进行更新。因此,为了获取最新固件数据,本实施例中,还从互联网上收集物联网设备对应的设备厂商的资源数据。
121.可以理解的是,为了避免出现重复、错误数据,本实施例中,还对固件数据和资源数据进行聚合,获得聚合数据。
122.应当理解的是,对固件数据和资源数据进行聚合可以是对固件数据和资源数据中的重复数据进行删除,并对固件数据和资源数据中的错误数据进行修改或删除。
123.进一步地,所述基于所述聚合数据生成固件数据库,包括:
124.提取所述聚合数据的数据特征;
125.根据自然语言处理模型和所述数据特征进行数据推理,获得所述聚合数据对应的推理数据;
126.基于所述聚合数据和所述推理数据生成固件数据库。
127.可以理解的是,上述生成固件数据库的方式只能获得已有的固件数据,存在一定局限性。因此,为了克服上述缺陷,本实施例中,还根据自然语言处理模型和聚合数据的数据特征进行数据推理,以推测可能出现的固件数据。
128.需要说明的是,自然语言处理模型可以预先设置,用于推测数据特征之间的关联关系,并基于该关联关系生成与原数据特征相同的新数据。例如,自然语言处理模型可以是生成型预训练变换模型,本实施例对此不加以限制。
129.参照图3,图3为本发明设备厂商推测方法第二实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明设备厂商推测方法的第二实施例。
130.在第二实施例中,所述步骤s10,包括:
131.步骤s101:对待测固件进行解包,获得所述待测固件的文件列表。
132.应当理解的是,由于固件数据库中文件样本的数量较多,如果直接将文件列表中的各文件与固件数据库中的文件样本进行相似性分析,效率低、准确性低。因此,为了提高文件共现分析的效率和准确性,本实施例中,可以基于文件列表中各文件的哈希值分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果。
133.需要说明的是,各文件可以对应唯一的哈希值,因此,基于文件列表中各文件的哈希值分析待测固件的文件列表在固件数据库中的共现频率可以提高文件共现分析的效率和准确性。
134.进一步地,所述步骤s101,包括:
135.提取待测固件对应的固件压缩包,并对所述固件压缩包进行解压;
136.在解压失败时,对所述固件压缩包进行密码破解,获得所述固件压缩包的加密密码;
137.基于所述加密密码对所述固件压缩包再次进行解压,获得所述待测固件的文件列表。
138.可以理解的是,在实际应用中,设备厂商为了保护固件,防止逆向分析,通常会对固件压缩包进行加密,从而导致无法直接对固件进行解包。因此,为了克服上述缺陷,本实施例中,在对固件压缩包解压失败时,会对固件压缩包进行密码破解,并基于破解获得的加密密码再次对固件压缩包进行解压。
139.需要说明的是,固件压缩包可以是以bin、zip、lzma以及arj等文件压缩类型封装的压缩包。其中,bin文件是二进制镜像形式,需要使用binwalk提取待测固件的文件列表。
140.应当理解的是,对固件压缩包进行密码破解可以是基于预设解密脚本对固件压缩包进行密码破解。其中,预设解密脚本可以预先设置,例如,预设解密脚本可以是fcrackzip脚本。
141.进一步地,所述基于所述加密密码对所述压缩包再次进行解压,获得所述待测固件的文件列表,包括:
142.基于所述加密密码对所述固件压缩包再次进行解压,获得固件根文件镜像;
143.根据所述固件根文件镜像对应的解包脚本对所述固件根文件镜像进行解包,获得所述待测固件的文件列表。
144.可以理解的是,在实际应用中,对固件压缩包进行解压后,可能存在一部分固件根文件镜像,此时,还需要对固件根文件镜像进一步地进行解包。因此,本实施例中,先基于加密密码对固件压缩包再次进行解压,获得固件根文件镜像,再根据固件根文件镜像对应的解包脚本对固件根文件镜像进行解包,获得待测固件的文件列表。
145.需要说明的是,固件根文件镜像可以是文件后缀为.yaffs或.yaffs2的文件,其中,yaffs(yet another flashfile system)文件系统是专门针对nand闪存设计的嵌入式文件系统,目前有yaffs和yaffs2两个版本,两个版本的主要区别之一在于yaffs2能够更好的支持大容量的nand flash芯片。
146.应当理解的是,根据固件根文件镜像对应的解包脚本对固件根文件镜像进行解包,获得所述待测固件的文件列表可以是先根据待测固件的固件类型确定待测固件采用的压缩算法,再基于压缩算法查找固件根文件镜像对应的解包脚本,再基于解包文件对固件根文件镜像进行解包,获得所述待测固件的文件列表。
147.在具体实现中,以dlink dwr-932b路由器固件为例,由于dlink dwr-932b路由器固件采用了yaffs的原生态压缩算法,因此,需要通过unyaffs解包脚本对.yaffs2镜像进行解包。
148.进一步地,所述根据所述固件根文件镜像对应的解包脚本对所述固件根文件镜像进行解包,获得所述待测固件的文件列表,包括:
149.根据所述固件根文件镜像对应的解包脚本对所述固件根文件镜像进行解包,获得固件根文件系统;
150.遍历所述固件根文件系统中的文件,获得所述待测固件的文件列表。
151.应当理解的是,为了获得待测固件的文件系统中的所有文件,本实施例中,本实施
例中,先根据固件根文件镜像对应的解包脚本对固件根文件镜像进行解包,获得固件根文件系统,再遍历固件根文件系统中的文件,获得待测固件的文件列表。
152.可以理解的是,遍历固件根文件系统中的文件,获得待测固件的文件列表可以是运行预设查询脚本遍历固件根文件系统中的文件,获得待测固件的文件列表,其中,预设查询脚本可以预先设置,例如,运行find脚本遍历固件根文件系统中的文件,获得待测固件的文件列表。
153.步骤s102:计算所述文件列表中各文件的哈希值。
154.可以理解的是,计算文件列表中各文件的哈希值可以是基于预设哈希算法计算文件列表中各文件的哈希值。其中,预设哈希算法可以预先设置,例如,预设哈希算法可以是md5、sha1、sha256以及sha512算法中的至少一种,本实施例对此不加以限制。
155.步骤s103:基于所述哈希值分析所述待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果。
156.应当理解的是,基于哈希值分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果可以是文件列表中各文件的哈希值与固件数据库中文件样本的哈希值进行匹配,将匹配成功的文件样本记为存在共现的文件样本,统计存在共现的文件样本的数量,并将该数量记为共现频率,并基于共现频率对各设备厂商进行排序,将共现频率最高的设备厂商作为文件共现分析结果。
157.在第二实施例中,公开了对待测固件进行解包,获得待测固件的文件列表,计算文件列表中各文件的哈希值,基于哈希值分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果;由于本实施例基于文件列表中各文件的哈希值分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果,从而能够提高文件共现分析的效率和准确性。
158.参照图4,图4为本发明设备厂商推测方法第三实施例的流程示意图。基于上述各实施例,提出本发明设备厂商推测方法的第三实施例。
159.在第三实施例中,所述步骤s30之前,还包括:
160.步骤s210:遍历所述文件列表中的配置文件,并对所述配置文件进行文件分析,获得文件分析结果。
161.应当理解的是,为了获得准确、可靠的已知漏洞列表,本实施例中,分析待测固件的已知漏洞列表在固件数据库中的共现频率之前,还从配置文件分析、熵分析以及敏感文件分析三个维度综合对待测固件进行漏洞分析。
162.可以理解的是,为了分析固件可能存在的安全隐患,本实施例中,可以遍历文件列表中的配置文件,并对配置文件进行文件分析。
163.需要说明的是,配置文件可以是可能存在安全隐患的配置文件,例如,.conf配置文件。
164.可以理解的是,遍历文件列表中的配置文件可以是运行预设查询脚本遍历文件列表中的配置文件,其中,预设查询脚本可以预先设置,例如,运行find脚本遍历文件列表中的.conf配置文件。
165.在具体实现中,以dlink dwr-932b路由器固件为例,通过遍历.conf配置文件,在inadyn-mt.conf文件(用于dyndns客户端)中存储了路由器no-ip配置信息,其中包含了用
于访问网站https://www.no-ip.com的用户名和硬编码口令。
166.步骤s220:对所述待测固件进行熵分析,获得熵分析结果。
167.应当理解的是,为了分析固件的加密情况,本实施例中,还对待测固件进行熵分析。
168.可以理解的是,对待测固件进行熵分析,获得熵分析结果可以是通过预设熵分析脚本对待测固件进行熵分析,获得熵分析结果。其中,预设熵分析脚本可以预先设置,例如,预设熵分析脚本可以是binwalk-e脚本。
169.进一步地,为了提高熵分析的准确性,所述步骤s220,包括:
170.对所述待测固件进行熵分析,获得固件文件中数据位的连续变化曲线;
171.基于所述连续变化曲线对所述待测固件的加密特征进行分析,获得熵分析结果。
172.应当理解的是,为了提高熵分析的准确性,本实施例中,先对待测固件进行熵分析,获得固件文件中数据位的连续变化曲线,基于连续变化曲线对待测固件的加密特征进行分析,获得熵分析结果。
173.需要说明的是,数据位可以包括0x00字节、低地址、ascii码以及高地址等,本实施例对此不加以限制。
174.步骤s230:调用预设脚本对所述文件列表进行遍历,获得所述文件列表中的敏感文件信息。
175.可以理解的是,为了遍历固件中的所有敏感文件内容,本实施例中,还调用预设脚本对文件列表进行遍历,获得文件列表中的敏感文件信息。
176.需要说明的是,预设脚本可以预先设置,例如,预设脚本可以是firmwalker,firmwalker可以自动化遍历固件文件系统中的所有敏感文件内容。
177.在具体实现中,firmwalker可以自动对.conf、.key、.bin、.sh及shadow、passwd等文件进行遍历,收集敏感文件信息。
178.步骤s240:基于所述文件分析结果、所述熵分析结果以及所述敏感文件信息生成所述待测固件的已知漏洞列表。
179.应当理解的是,基于文件分析结果、熵分析结果以及敏感文件信息生成待测固件的已知漏洞列表可以是基于文件分析结果、熵分析结果以及敏感文件信息中的至少一个生成待测固件的已知漏洞列表,本实施对此不加以限制。
180.在第三实施例中,公开了遍历所述文件列表中的配置文件,并对所述配置文件进行文件分析,获得文件分析结果,对所述待测固件进行熵分析,获得熵分析结果,调用预设脚本对所述文件列表进行遍历,获得所述文件列表中的敏感文件信息,基于所述文件分析结果、所述熵分析结果以及所述敏感文件信息生成所述待测固件的已知漏洞列表;由于本实施例分析待测固件的已知漏洞列表在固件数据库中的共现频率之前,还从配置文件分析、熵分析以及敏感文件分析三个维度综合对待测固件进行漏洞分析,从而能够获得准确、可靠的已知漏洞列表。
181.在第三实施例中,所述步骤s40,包括:
182.步骤s401:根据所述待测固件的固件类型确定固件推测模型。
183.应当理解的是,考虑到不同类型固件的特征不同。因此,为了确保设备厂商信息的可靠性,本实施例中,还基于固件推测模型为各分析结果设置对应的权重。
184.需要说明的是,固件类型可以包括低级固件、高级固件以及子系统等类型。其中,低级固件可以存储在只读存储器(read-only memory,rom)等非易失性存储芯片上。因此,它不能被重写或更新,并且被视为硬件的固有部分;高级固件可以与闪存芯片一起使用以允许更新,它通常比低级固件具有更复杂的指令,使其更接近软件而不是硬件;子系统可以是一个设备或单元,它是一个较大系统的半独立部分,由于此固件级别的微码嵌入在闪存芯片、cpu和lcd单元中,并且类似于高级固件,因此它通常类似于独立设备。
185.可以理解的是,固件推测模型可以是预先训练获得的神经网络模型,用于确定在各固件类型对应的共现分析结果的可信度。
186.步骤s402:基于所述固件推测模型生成各分析结果对应的权重值。
187.应当理解的是,基于固件推测模型生成各分析结果对应的权重值可以是将固件类型输入固件推测模型,获得待测固件各分析结果对应的权重值。其中,权重值用于衡量各分析结果的可信度,权重值越大分析结果的可信度越高。
188.步骤s403:根据所述文件共现分析结果、所述软件包共现分析结果、所述漏洞共现分析结果以及所述权重值推测所述待测固件的设备厂商信息。
189.可以理解的是,根据文件共现分析结果、软件包共现分析结果、漏洞共现分析结果以及权重值推测所述待测固件的设备厂商信息可以是基于权重值分别文件共现分析结果、软件包共现分析结果、漏洞共现分析结果进行可信度评分,并将文件共现分析结果、软件包共现分析结果、漏洞共现分析结果,以及各共现分析结果对应的可信度评分值作为待测固件的设备厂商信息;
190.也可以是直接将文件共现分析结果、所述软件包共现分析结果、所述漏洞共现分析结果以及权重值作为待测固件的设备厂商信息,本实施例对此不加以限制。
191.在第三实施例中,公开了根据待测固件的固件类型确定固件推测模型,基于固件推测模型生成各分析结果对应的权重值,根据文件共现分析结果、软件包共现分析结果、漏洞共现分析结果以及权重值推测待测固件的设备厂商信息;由于本实施例还基于固件推测模型为各分析结果设置对应的权重,从而能够提高设备厂商信息的准确性。
192.在第三实施例中,所述步骤s40之后,还包括:
193.步骤s50:根据所述设备厂商信息对各物联网设备进行漏洞分析,获得漏洞分析结果。
194.应当理解的是,为了分析设备漏洞的影响范围,本实施例中,还根据设备厂商信息对各物联网设备进行漏洞分析,并基于漏洞分析结果确定各设备漏洞的影响范围。
195.可以理解的是,根据设备厂商信息对各物联网设备进行漏洞分析,获得漏洞分析结果可以是根据设备厂商信息统计存在安全漏洞的设备厂商,并确定受存在安全漏洞的设备厂商影响的物联网设备,获得漏洞分析结果。
196.步骤s60:基于所述漏洞分析结果确定各设备漏洞的影响范围。
197.应当理解的是,基于漏洞分析结果确定各设备漏洞的影响范围可以是统计受存在安全漏洞的设备厂商影响的物联网设备的数量,并根据该数量确定各设备漏洞的影响范围;也可以是根据受存在安全漏洞的设备厂商影响的物联网设备的设备信息生成影响统计图,并根据影响统计图确定各设备漏洞的影响范围。
198.在第三实施例中,公开了根据设备厂商信息对各物联网设备进行漏洞分析,获得
漏洞分析结果,基于漏洞分析结果确定各设备漏洞的影响范围;由于本实施例中还根据设备厂商信息对各物联网设备进行漏洞分析,并基于漏洞分析结果确定各设备漏洞的影响范围,从而能够分析设备漏洞的影响范围。
199.此外,本发明实施例还提出一种存储介质,所述存储介质上存储有设备厂商推测程序,所述设备厂商推测程序被处理器执行时实现如上文所述的设备厂商推测方法。
200.此外,参照图5,本发明实施例还提出一种设备厂商推测装置,所述设备厂商推测装置包括:文件分析模块10、软件包分析模块20、漏洞分析模块30以及信息推测模块40;
201.所述文件分析模块10,用于分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果。
202.需要说明的是,待测固件可以是待测物联网设备的固件。其中,待测物联网设备可以是需要进行安全性检测的物联网设备,物联网设备可以是通过某种方式连接到网络的嵌入式设备,固件可以是—种写入硬件设备的软件,固件中包含底层代码,其作用是对应用和各项系统功能实施控制。
203.文件列表中可以包括待测固件的文件系统中的所有文件。
204.固件数据库可以用于存储多个固件样本的固件信息,其中,固件样本可以从互联网上采集,也可以由设备厂商推测设备在推测出设备厂商信息后上传,本实施例对此不加以限制;固件信息可以包括各设备厂商的文件样本、软件包样本以及漏洞样本等,本实施对此不加以限制。
205.可以理解的是,分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果可以是将文件列表中的各文件与固件数据库中的文件样本进行相似性分析,根据相似性分析结果统计存在共现的文件样本的数量,并将该数量记为共现频率,并基于共现频率对各设备厂商进行排序,将共现频率最高的设备厂商作为文件共现分析结果。
206.所述软件包分析模块20,用于分析所述待测固件的软件包列表在所述固件数据库中的共现频率,获得软件包共现分析结果。
207.需要说明的是,软件包列表中可以包括待测固件的所有软件包。
208.应当理解的是,分析待测固件的软件包列表在固件数据库中的共现频率,获得软件包共现分析结果可以是将软件包列表中的各软件包与固件数据库中的软件包样本进行相似性分析,根据相似性分析结果统计存在共现的软件包样本的数量,并将该数量记为共现频率,并基于共现频率对各设备厂商进行排序,将共现频率最高的设备厂商作为软件包共现分析结果。
209.所述漏洞分析模块30,用于分析所述待测固件的已知漏洞列表在所述固件数据库中的共现频率,获得漏洞共现分析结果。
210.需要说明的是,已知漏洞列表中可以包括待测固件的所有漏洞。
211.可以理解的是,分析待测固件的已知漏洞列表在固件数据库中的共现频率,获得漏洞共现分析结果可以是将已知漏洞列表中的各漏洞与固件数据库中的漏洞样本进行相似性分析,根据相似性分析结果统计存在共现的漏洞样本的数量,并将该数量记为共现频率,并基于共现频率对各设备厂商进行排序,将共现频率最高的设备厂商作为漏洞共现分析结果。
212.所述信息推测模块40,用于根据所述文件共现分析结果、所述软件包共现分析结
果以及所述漏洞共现分析结果推测所述待测固件的设备厂商信息。
213.为了便于理解,以下进行举例说明,但并不对本方案进行限定。设备厂商信息推测的步骤如下所示:
214.1、对待测固件进行解包,提取待测固件的文件系统中的所有文件,获得待测固件的文件列表;
215.2、遍历文件列表,计算文件的哈希值;
216.3、根据文件的哈希列表,查询固件数据库,计算文件在固件数据库中的共现频率;
217.4、按照共现频率排序,将共现频率最高的设备厂商名称作为待测固件的名称name1;
218.5、遍历解包获得的所有文件,识别待测固件的软件包列表;
219.6、根据待测固件的软件包列表,查询固件数据库接口,计算软件包在固件数据库中的共现频率;
220.7、按照共现频率排序,将共现频率的固件厂商名称作为待测固件的名称name2;
221.8、遍历软件包列表,识别待测固件的已知漏洞列表;
222.9、根据固件的已知漏洞列表,查询固件数据库接口,计算已知漏洞在固件数据库中的共现频率;
223.10、按照共现频率排序,将共现频率最高的固件厂商名称作为待测固件的名称name3;
224.11、输出三个维度的厂商推测结果信息name1、name2以及name3。
225.在第一实施例中,公开了分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果,分析待测固件的软件包列表在固件数据库中的共现频率,获得软件包共现分析结果,分析待测固件的已知漏洞列表在固件数据库中的共现频率,获得漏洞共现分析结果,根据文件共现分析结果、软件包共现分析结果以及漏洞共现分析结果推测待测固件的设备厂商信息;由于本实施例从文件共现相似性分析、软件包共现相似性分析以及漏洞共现相似分析三个维度综合推测固件的设备厂商信息,从而能够准确获取固件的设备厂商信息。
226.进一步地,所述设备厂商推测装置还包括:数据库生成模块;
227.所述数据库生成模块,用于获取物联网设备上报的固件数据,并收集所述物联网设备对应的设备厂商的资源数据;
228.所述数据库生成模块,还用于对所述固件数据和所述资源数据进行聚合,获得聚合数据;
229.所述数据库生成模块,还用于基于所述聚合数据生成固件数据库。
230.应当理解的是,为了提高固件数据库的数据全面性,本实施例中,可以从多个维度收集固件数据。
231.可以理解的是,物联网设备在接入物联网后,可以自动上报固件数据;也可以是物联网设备在执行完本设备厂商推测方法后,自动上传推测获得的设备厂商信息,本实施例对此不加以限制。
232.应当理解的是,固件的设备厂商通常会在官方网站上上传固件资源,或通过无线网络对固件进行更新。因此,为了获取最新固件数据,本实施例中,还从互联网上收集物联
网设备对应的设备厂商的资源数据。
233.可以理解的是,为了避免出现重复、错误数据,本实施例中,还对固件数据和资源数据进行聚合,获得聚合数据。
234.应当理解的是,对固件数据和资源数据进行聚合可以是对固件数据和资源数据中的重复数据进行删除,并对固件数据和资源数据中的错误数据进行修改或删除。
235.进一步地,所述数据库生成模块,还用于提取所述聚合数据的数据特征;
236.所述数据库生成模块,还用于根据自然语言处理模型和所述数据特征进行数据推理,获得所述聚合数据对应的推理数据;
237.所述数据库生成模块,还用于基于所述聚合数据和所述推理数据生成固件数据库。
238.可以理解的是,上述生成固件数据库的方式只能获得已有的固件数据,存在一定局限性。因此,为了克服上述缺陷,本实施例中,还根据自然语言处理模型和聚合数据的数据特征进行数据推理,以推测可能出现的固件数据。
239.需要说明的是,自然语言处理模型可以预先设置,用于推测数据特征之间的关联关系,并基于该关联关系生成与原数据特征相同的新数据。例如,自然语言处理模型可以是生成型预训练变换模型,本实施例对此不加以限制。
240.本发明所述设备厂商推测装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
241.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
242.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
243.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器镜像(read only memory image,rom)/随机存取存储器(random access memory,ram)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
244.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
245.本发明公开了a1、一种设备厂商推测方法,所述设备厂商推测方法包括:
246.分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果;
247.分析所述待测固件的软件包列表在所述固件数据库中的共现频率,获得软件包共现分析结果;
248.分析所述待测固件的已知漏洞列表在所述固件数据库中的共现频率,获得漏洞共
现分析结果;
249.根据所述文件共现分析结果、所述软件包共现分析结果以及所述漏洞共现分析结果推测所述待测固件的设备厂商信息。
250.a2、如a1所述的设备厂商推测方法,所述分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果,包括:
251.对待测固件进行解包,获得所述待测固件的文件列表;
252.计算所述文件列表中各文件的哈希值;
253.基于所述哈希值分析所述待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果。
254.a3、如a2所述的设备厂商推测方法,所述对待测固件进行解包,获得所述待测固件的文件列表,包括:
255.提取待测固件对应的固件压缩包,并对所述固件压缩包进行解压;
256.在解压失败时,对所述固件压缩包进行密码破解,获得所述固件压缩包的加密密码;
257.基于所述加密密码对所述固件压缩包再次进行解压,获得所述待测固件的文件列表。
258.a4、如a3所述的设备厂商推测方法,所述基于所述加密密码对所述压缩包再次进行解压,获得所述待测固件的文件列表,包括:
259.基于所述加密密码对所述固件压缩包再次进行解压,获得固件根文件镜像;
260.根据所述固件根文件镜像对应的解包脚本对所述固件根文件镜像进行解包,获得所述待测固件的文件列表。
261.a5、如a4所述的设备厂商推测方法,所述根据所述固件根文件镜像对应的解包脚本对所述固件根文件镜像进行解包,获得所述待测固件的文件列表,包括:
262.根据所述固件根文件镜像对应的解包脚本对所述固件根文件镜像进行解包,获得固件根文件系统;
263.遍历所述固件根文件系统中的文件,获得所述待测固件的文件列表。
264.a6、如a1至a5中任一项所述的设备厂商推测方法,所述设备厂商推测方法还包括:
265.获取物联网设备上报的固件数据,并收集所述物联网设备对应的设备厂商的资源数据;
266.对所述固件数据和所述资源数据进行聚合,获得聚合数据;
267.基于所述聚合数据生成固件数据库。
268.a7、如a6所述的设备厂商推测方法,所述基于所述聚合数据生成固件数据库,包括:
269.提取所述聚合数据的数据特征;
270.根据自然语言处理模型和所述数据特征进行数据推理,获得所述聚合数据对应的推理数据;
271.基于所述聚合数据和所述推理数据生成固件数据库。
272.a8、如a1至a5中任一项所述的设备厂商推测方法,所述分析所述待测固件的已知漏洞列表在所述固件数据库中的共现频率,获得漏洞共现分析结果之前,还包括:
273.遍历所述文件列表中的配置文件,并对所述配置文件进行文件分析,获得文件分析结果;
274.对所述待测固件进行熵分析,获得熵分析结果;
275.调用预设脚本对所述文件列表进行遍历,获得所述文件列表中的敏感文件信息;
276.基于所述文件分析结果、所述熵分析结果以及所述敏感文件信息生成所述待测固件的已知漏洞列表。
277.a9、如a8所述的设备厂商推测方法,所述对所述待测固件进行熵分析,获得熵分析结果,包括:
278.对所述待测固件进行熵分析,获得固件文件中数据位的连续变化曲线;
279.基于所述连续变化曲线对所述待测固件的加密特征进行分析,获得熵分析结果。
280.a10、如a1至a5中任一项所述的设备厂商推测方法,所述根据所述文件共现分析结果、所述软件包共现分析结果以及所述漏洞共现分析结果推测所述待测固件的设备厂商信息,包括:
281.根据所述待测固件的固件类型确定固件推测模型;
282.基于所述固件推测模型生成各分析结果对应的权重值;
283.根据所述文件共现分析结果、所述软件包共现分析结果、所述漏洞共现分析结果以及所述权重值推测所述待测固件的设备厂商信息。
284.a11、如a1至a5中任一项所述的设备厂商推测方法,所述根据所述文件共现分析结果、所述软件包共现分析结果以及所述漏洞共现分析结果推测所述待测固件的设备厂商信息之后,还包括:
285.根据所述设备厂商信息对各物联网设备进行漏洞分析,获得漏洞分析结果;
286.基于所述漏洞分析结果确定各设备漏洞的影响范围。
287.本发明还公开了b12、一种设备厂商推测设备,所述设备厂商推测设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的设备厂商推测程序,所述设备厂商推测程序被所述处理器执行时实现如上文所述的设备厂商推测方法。
288.本发明还公开了c13、一种存储介质,所述存储介质上存储有设备厂商推测程序,所述设备厂商推测程序被处理器执行时实现如上文所述的设备厂商推测方法。
289.本发明还公开了d14、一种设备厂商推测装置,所述设备厂商推测装置包括:文件分析模块、软件包分析模块、漏洞分析模块以及信息推测模块;
290.所述文件分析模块,用于分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果;
291.所述软件包分析模块,用于分析所述待测固件的软件包列表在所述固件数据库中的共现频率,获得软件包共现分析结果;
292.所述漏洞分析模块,用于分析所述待测固件的已知漏洞列表在所述固件数据库中的共现频率,获得漏洞共现分析结果;
293.所述信息推测模块,用于根据所述文件共现分析结果、所述软件包共现分析结果以及所述漏洞共现分析结果推测所述待测固件的设备厂商信息。
294.d15、如d14所述的设备厂商推测装置,所述文件分析模块,还用于对待测固件进行解包,获得所述待测固件的文件列表;
295.所述文件分析模块,还用于计算所述文件列表中各文件的哈希值;
296.所述文件分析模块,还用于基于所述哈希值分析所述待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果。
297.d16、如d15所述的设备厂商推测装置,所述文件分析模块,还用于提取待测固件对应的固件压缩包,并对所述固件压缩包进行解压;
298.所述文件分析模块,还用于在解压失败时,对所述固件压缩包进行密码破解,获得所述固件压缩包的加密密码;
299.所述文件分析模块,还用于基于所述加密密码对所述固件压缩包再次进行解压,获得所述待测固件的文件列表。
300.d17、如d16所述的设备厂商推测装置,所述文件分析模块,还用于基于所述加密密码对所述固件压缩包再次进行解压,获得固件根文件镜像;
301.所述文件分析模块,还用于根据所述固件根文件镜像对应的解包脚本对所述固件根文件镜像进行解包,获得所述待测固件的文件列表。
302.d18、如d17所述的设备厂商推测装置,所述文件分析模块,还用于根据所述固件根文件镜像对应的解包脚本对所述固件根文件镜像进行解包,获得固件根文件系统;
303.所述文件分析模块,还用于遍历所述固件根文件系统中的文件,获得所述待测固件的文件列表。
304.d19、如d14至d18中任一项所述的设备厂商推测装置,所述设备厂商推测装置还包括:数据库生成模块;
305.所述数据库生成模块,用于获取物联网设备上报的固件数据,并收集所述物联网设备对应的设备厂商的资源数据;
306.所述数据库生成模块,还用于对所述固件数据和所述资源数据进行聚合,获得聚合数据;
307.所述数据库生成模块,还用于基于所述聚合数据生成固件数据库。
308.d20、如d19所述的设备厂商推测装置,所述数据库生成模块,还用于提取所述聚合数据的数据特征;
309.所述数据库生成模块,还用于根据自然语言处理模型和所述数据特征进行数据推理,获得所述聚合数据对应的推理数据;
310.所述数据库生成模块,还用于基于所述聚合数据和所述推理数据生成固件数据库。
技术特征:
1.一种设备厂商推测方法,其特征在于,所述设备厂商推测方法包括:分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果;分析所述待测固件的软件包列表在所述固件数据库中的共现频率,获得软件包共现分析结果;分析所述待测固件的已知漏洞列表在所述固件数据库中的共现频率,获得漏洞共现分析结果;根据所述文件共现分析结果、所述软件包共现分析结果以及所述漏洞共现分析结果推测所述待测固件的设备厂商信息。2.如权利要求1所述的设备厂商推测方法,其特征在于,所述分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果,包括:对待测固件进行解包,获得所述待测固件的文件列表;计算所述文件列表中各文件的哈希值;基于所述哈希值分析所述待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果。3.如权利要求2所述的设备厂商推测方法,其特征在于,所述对待测固件进行解包,获得所述待测固件的文件列表,包括:提取待测固件对应的固件压缩包,并对所述固件压缩包进行解压;在解压失败时,对所述固件压缩包进行密码破解,获得所述固件压缩包的加密密码;基于所述加密密码对所述固件压缩包再次进行解压,获得所述待测固件的文件列表。4.如权利要求3所述的设备厂商推测方法,其特征在于,所述基于所述加密密码对所述压缩包再次进行解压,获得所述待测固件的文件列表,包括:基于所述加密密码对所述固件压缩包再次进行解压,获得固件根文件镜像;根据所述固件根文件镜像对应的解包脚本对所述固件根文件镜像进行解包,获得所述待测固件的文件列表。5.如权利要求4所述的设备厂商推测方法,其特征在于,所述根据所述固件根文件镜像对应的解包脚本对所述固件根文件镜像进行解包,获得所述待测固件的文件列表,包括:根据所述固件根文件镜像对应的解包脚本对所述固件根文件镜像进行解包,获得固件根文件系统;遍历所述固件根文件系统中的文件,获得所述待测固件的文件列表。6.如权利要求1至5中任一项所述的设备厂商推测方法,其特征在于,所述设备厂商推测方法还包括:获取物联网设备上报的固件数据,并收集所述物联网设备对应的设备厂商的资源数据;对所述固件数据和所述资源数据进行聚合,获得聚合数据;基于所述聚合数据生成固件数据库。7.如权利要求6所述的设备厂商推测方法,其特征在于,所述基于所述聚合数据生成固件数据库,包括:提取所述聚合数据的数据特征;根据自然语言处理模型和所述数据特征进行数据推理,获得所述聚合数据对应的推理
数据;基于所述聚合数据和所述推理数据生成固件数据库。8.一种设备厂商推测设备,其特征在于,所述设备厂商推测设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的设备厂商推测程序,所述设备厂商推测程序被所述处理器执行时实现如权利要求1至7中任一项所述的设备厂商推测方法。9.一种存储介质,其特征在于,所述存储介质上存储有设备厂商推测程序,所述设备厂商推测程序被处理器执行时实现如权利要求1至7中任一项所述的设备厂商推测方法。10.一种设备厂商推测装置,其特征在于,所述设备厂商推测装置包括:文件分析模块、软件包分析模块、漏洞分析模块以及信息推测模块;所述文件分析模块,用于分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果;所述软件包分析模块,用于分析所述待测固件的软件包列表在所述固件数据库中的共现频率,获得软件包共现分析结果;所述漏洞分析模块,用于分析所述待测固件的已知漏洞列表在所述固件数据库中的共现频率,获得漏洞共现分析结果;所述信息推测模块,用于根据所述文件共现分析结果、所述软件包共现分析结果以及所述漏洞共现分析结果推测所述待测固件的设备厂商信息。
技术总结
本发明涉及网络安全技术领域,公开了一种设备厂商推测方法、设备、存储介质及装置,该方法包括:分析待测固件的文件列表在固件数据库中的共现频率,获得文件共现分析结果,分析待测固件的软件包列表在固件数据库中的共现频率,获得软件包共现分析结果,分析待测固件的已知漏洞列表在固件数据库中的共现频率,获得漏洞共现分析结果,根据文件共现分析结果、软件包共现分析结果以及漏洞共现分析结果推测待测固件的设备厂商信息;由于本发明从文件共现相似性分析、软件包共现相似性分析以及漏洞共现相似分析三个维度综合推测固件的设备厂商信息,从而能够准确获取固件的设备厂商信息。息。息。
技术研发人员:袁静 刘阳 高强 张伟 陈禹 徐峰
受保护的技术使用者:国家计算机网络与信息安全管理中心
技术研发日:2023.05.19
技术公布日:2023/10/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/