一种设备固件及供应链检测方法、装置、设备及介质与流程

文档序号:35294506发布日期:2023-09-01 17:44阅读:34来源:国知局
一种设备固件及供应链检测方法、装置、设备及介质与流程

本申请涉及固件供应链分析,尤其是涉及一种设备固件及供应链检测方法、装置、设备及介质。


背景技术:

1、随着物联网技术的发展,以网络摄像头为代表的视频应用占据了物联网应用的很大份额,这些视频监控设备的固件系统是由odm厂商搭建并完成的,其中包含大量的第三方组件或库,是该类固件供应链的重要组成部分。这种大规模的第三方组件供应链的使用,尤其是大量开源组件的使用,在导致固件复杂性的同时,也可能引入安全漏洞等重大安全隐患。如果能知道固件内所使用的供应链类型以及其版本,那么就可以极大的降低设备被攻击风险。

2、固件的供应链分析通常需要将二进制压缩文件解析成包含目录的文件系统之后,才能挖掘其供应链的类型以及版本,方便后续对其包含的漏洞进行挖掘和分析。但是,由于固件系统的种类和二进制压缩方法的多样性,导致人工分析大量的固件中的供应链组件几乎是不可能的。此外,由于固件供应链源码不带有标记或者引用等明显特征,所以很难对整个固件的所有供应链组件的类型以及版本完全挖掘清楚。


技术实现思路

1、本申请提供了一种设备固件及供应链检测方法、装置、设备及介质,能够自动获取固件所包含的供应链组件类型以及相关版本。

2、第一方面,本申请提供一种设备固件及供应链检测方法,采用如下的技术方案:

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、本申请提供的一种设备固件及供应链检测方法、装置、设备及介质,通过对已知所有版本的供应链组件计算两两之间的相似度距离,无监督式生成训练用标签,无需人工对数据进行标注。并以使用图嵌入神经网络对组件程序流图进行图嵌入生成高维向量,大大减少了传统程序流图的图匹配方法的推导用时间,从而获得固件所包含的供应链组件类型以及相关版本。本申请的技术方案能够解决大规模视频监控设备背景下固件供应链分析的问题,并解决现有方法在准确性和效率上的缺陷。



技术特征:

1.一种设备固件及供应链检测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的设备固件及供应链检测方法,其特征在于:所述将目标设备固件和/或目标设备固件的供应链组件转换为程序流图包括以下步骤:

3.根据权利要求2所述的设备固件及供应链检测方法,其特征在于:所述程序流图包括:节点和边向量,所述节点由所述源码中的基本块转换得出,所述基本块包括所述源码中没有分支的一串连续的代码段,所述边向量由所述源码中的跳转指令转换得出。

4.根据权利要求3所述的设备固件及供应链检测方法,其特征在于:所述相似度标签的生成方法包括:

5.根据权利要求4所述的设备固件及供应链检测方法,其特征在于:所述版本信息包括主版本信息和子版本信息,对应的,所述版本信息值包括主版本信息值和子版本信息值,所述版本距离为主版本距离和子版本距离的加权计算值,基于所述版本距离的所述版本相似度计算包括以下步骤:

6.根据权利要求1所述的设备固件及供应链检测方法,其特征在于,所述图嵌入神经网络包括:

7.根据权利要求5或6所述的设备固件及供应链检测方法,其特征在于:所述将预生成的相似度标签和所述程序流图输入预训练的图嵌入神经网络中的步骤具体为:

8.一种设备固件及供应链检测装置,其特征在于,包括:

9.一种计算设备,其特征在于:包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1到7任一项所述方法。

10.一种计算机可读存储介质,其特征在于:存储有能够被处理器加载并执行如权利要求1到7中任一项所述方法的计算机程序。


技术总结
本申请公开了一种设备固件及供应链检测方法、装置、设备及介质,包括以下步骤:将目标设备固件和/或目标设备固件的供应链组件转换为程序流图;将预生成的相似度标签和程序流图输入预训练的图嵌入神经网络中,得到相似度向量;根据相似度向量获取目标设备固件和/或目标设备固件的供应链组件的类型及版本。本申请大大减少了传统程序流图的图匹配方法的推导用时间,从而获得固件所包含的供应链组件类型以及相关版本,能够解决大规模视频监控设备背景下固件供应链分析的问题,以及现有方法在准确性和效率上的缺陷。

技术研发人员:黄洛轩,张永元,段伟恒,方维
受保护的技术使用者:北京天防安全科技有限公司
技术研发日:
技术公布日:2024/1/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1