一种基于Datalog的物联网固件第三方组件误用漏洞自动化挖掘方法及系统技术方案

技术编号:34101417 阅读:12 留言:0更新日期:2022-07-11 23:31
本发明专利技术公开了一种基于Datalog的物联网固件第三方组件漏洞自动化挖掘方法及系统,属于物联网安全技术领域。系统包括:固件预处理模块,收集固件并对固件进行预处理,存入固件仓库;Datalog编码模块,提取固件中文件并抽取字符串内容,采用Datalog编码方法对二进制文件的反编译结果进行重编码;第三方组件识别与规则提取模块,基于正则匹配和编辑距离识别固件中的第三方组件,获取相关第三方组件使用规则;漏洞查询模块,利用基于第三方组件使用规则所填充的Datalog查询模板,对固件中第三方组件误用漏洞进行逻辑式查询。本发明专利技术能够快速并高精度挖掘物联网固件中的第三方组件误用漏洞。漏洞。漏洞。

【技术实现步骤摘要】
一种基于Datalog的物联网固件第三方组件误用漏洞自动化挖掘方法及系统


[0001]本专利技术涉及物联网安全
,尤其涉及一种基于Datalog的物联网固件第三方组件误用漏洞自动化挖掘方法及系统。

技术介绍

[0002]随着物联网的不断发展,各式各样的物联网设备已经进入居家万户。物联网设备正影响着我们生活的方方面面。然而,物联网设备带来的安全问题不容忽视。开发者在追求开发速度的同时,往往忽视了物联网设备的安全性,导致物联网设备漏洞频出。目前,各类僵尸网络都把物联网设备作为首要目标,物联网设备已成为僵尸网络发动攻击的重要基础。
[0003]由于物联网设备的开发长期依赖于各种第三方组件,由第三方组件导致的漏洞正成为物联网设备漏洞的主要来源。其中,因误用第三方组件而产生的漏洞正在日益增加。第三方组件往往有繁琐及复杂的使用规则,没有严格按照此类使用规则调用第三方组件可能产生各式各样的漏洞,例如内存泄漏、越权攻击等。当前,已有许多系统可以在源代码级别检测因第三方组件误用而产生的漏洞。然而,还没有任何一个系统可以在二进制级别检测此类漏洞。传统的物联网固件漏洞挖掘方法都存在各类缺陷,模糊测试模拟固件成功率低,无法检测特定漏洞,执行时间长;静态分析无法大规模应用,需要大量人工分析;符号执行存在路径爆炸问题,误报率高。
[0004]目前,大规模自动化查找物联网固件中因误用第三方组件仍存在以下挑战:(1)反汇编代码语义信息缺失,逻辑关系不明。固件在经过反汇编后,无法获取源代码级别的语义信息和代码上下文逻辑关系,因此很难与第三方组件使用规则进行匹配。(2)测试效率低下。目前主流的物联网固件漏洞挖掘方法都存在限制大规模应用的缺陷,误报率高、需要人工参与以及成功率低等。(3)第三方组件识别难。不同于源代码级别可以直接通过头文件获取使用的第三方组件,二进制级别的固件没有明确指出所使用的第三方组件,需要额外设计方法识别固件中的第三方组件。
[0005]物联网固件中因第三方组件误用而产生的漏洞会造成严重后果,目前还没有在二进制级别检测此类漏洞的有效方法。恢复二进制代码的逻辑关系,设计高效的误用漏洞查询方法,对于检测物联网设备中的第三方组件误用漏洞是重要和必要的。

技术实现思路

[0006]针对挖掘物联网固件中因第三方组件误用而引起的漏洞的不足,本专利技术提供了一种基于Datalog的物联网固件第三方组件误用漏洞自动化挖掘方法及系统,该方法是能够对物联网固件进行查询式漏洞挖掘。
[0007]本专利技术的具体技术方案如下:
[0008]本专利技术的第一个目的在于提供一种基于Datalog的物联网固件第三方组件误用漏
洞自动化挖掘方法,包括如下步骤:
[0009]步骤1:收集来自不同厂家不同类型的物联网设备固件,并对待测固件进行预处理,构建固件仓库;
[0010]步骤2:抽取固件中二进制文件和非二进制文件中的字符串内容,并将固件中二进制文件进行反编译,利用Datalog语言对反编译结果进行编码;
[0011]步骤3:识别固件中存在的第三方组件,提取第三方组件文档,获取第三方组件使用规则;
[0012]步骤4:将使用规则填入基于Datalog的查询模板,在基于Datalog语言编码的固件反编译结果中查询因误用第三方组件产生的漏洞,并生成检测报告。
[0013]本专利技术的第二个目的在于提供一种基于Datalog的物联网固件第三方组件误用漏洞自动化挖掘系统,用于实现上述的方法,所述的挖掘系统包括:
[0014]固件预处理模块,其用于收集来自各个厂商各种类型的固件,对固件进预处理并存入固件仓库;
[0015]Datalog编码模块,其用于提取固件中的二进制文件和非二进制文件,并抽取其中的字符串内容,采用Datalog编码方法对二进制文件的反编译结果进行重编码;
[0016]第三方组件识别与规则提取模块,其用于基于正则匹配和编辑距离识别固件中的第三方组件,提取第三方组件文档,获取第三方组件使用规则;
[0017]漏洞查询模块,其用于根据第三方组件的误用类型,将第三方组件使用规则填入基于Datalog的查询模板,对漏洞进行逻辑式查询。
[0018]与现有技术相比,本专利技术的有益效果为:
[0019](1)在本专利技术中给出了一个物联网固件第三方组件误用漏洞自动化挖掘系统,提出了基于Datalog的物联网固件第三方组件误用漏洞自动化挖掘技术,解决了物联网固件第三方组件误用漏洞高效挖掘问题,能够快速并高精度挖掘物联网固件中的第三方组件误用漏洞,具有实用性;
[0020](2)本专利技术给出了基于Datalog的二进制文件反编译重编码方法,为挖掘二进制代码中的语句逻辑关系提供了有效的方法,有效恢复了代码的内在逻辑关系;
[0021](3)本专利技术给出了基于正则匹配和编辑距离的第三方组件识别方法,为识别固件中使用的第三方组件提供了一种有效的方法,为检测第三方组件误用漏提供了基础;
[0022](4)本专利技术给出了基于Datalog的漏洞查询方法,有效提高了第三方组件误用漏洞检测成功率与效率,为大规模检测此类漏洞提供了有效依据。
附图说明
[0023]图1为基于Datalog的物联网固件第三方组件误用漏洞自动化挖掘系统的整体模块结构示意图;
[0024]图2为基于Datalog的物联网固件第三方组件误用漏洞自动化挖掘方法的流程示意图;
[0025]图3为固件预处理方法示意图;
[0026]图4为Datalog编码方法示意图;
[0027]图5为第三方组件识别与规则提取方法示意图;
[0028]图6为漏洞查询方法示意图。
具体实施方式
[0029]下面结合附图和实施例对本专利技术作进一步详细描述,需要指出的是,以下所述实施例旨在便于对本专利技术的理解,而对其不起任何限定作用。
[0030]如图1所示,本专利技术基于Datalog的物联网固件第三方组件误用漏洞自动化挖掘系统,包括:固件预处理模块、Datalog编码模块、第三方组件识别与规则提取模块以及漏洞查询模块。
[0031]整个物联网固件第三方组件误用漏洞自动化挖掘系统的工作流程如图2所示,包括以下步骤:
[0032]步骤1:固件预处理:收集来自不同厂家不同类型的物联网设备固件,并对待测固件进行预处理,利用binwalk和文件魔数过滤非固件文件,构建固件仓库。
[0033]步骤2:Datalog编码:抽取固件中二进制文件和非二进制文件中的字符串内容,并将固件中二进制文件进行反编译,利用Datalog语言对反编译结果进行编码;
[0034]步骤3:第三方组件识别与规则提取:结合第三方组件名称以及固件中的二进制、非二进制文件的字符串内容,分析固件中存在的第三方组件;收集相关第三方组件文档,分析第三方组件的使用规则;
[0035]步骤4:将使用规则填入基于Datalog语言开发的查询模版,在基于Datalog本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Datalog的物联网固件第三方组件误用漏洞自动化挖掘方法,其特征在于,包括如下步骤:步骤1:收集来自不同厂家不同类型的物联网设备固件,并对待测固件进行预处理,构建固件仓库;步骤2:抽取固件中二进制文件和非二进制文件中的字符串内容,并将固件中二进制文件进行反编译,利用Datalog语言对反编译结果进行编码;步骤3:识别固件中存在的第三方组件,提取第三方组件文档,获取第三方组件使用规则;步骤4:将使用规则填入基于Datalog的查询模板,在基于Datalog语言编码的固件反编译结果中查询因误用第三方组件产生的漏洞,并生成检测报告。2.根据权利要求1所述的基于Datalog的物联网固件第三方组件误用漏洞自动化挖掘方法,其特征在于,对待测固件进行预处理时,判断待测固件的文件类型,过滤非固件文件。3.根据权利要求1所述的基于Datalog的物联网固件第三方组件误用漏洞自动化挖掘方法,其特征在于,所述的步骤3具体为:步骤3.1:利用第三方组件名称作为匹配基准,从固件二进制文件以及非二进制文件中抽取的字符串内容进行匹配,获得固件中使用的第三方组件的类别;步骤3.2:根据识别到的第三方组件类别,获取相应的第三方组件的使用文档;步骤3.3:从第三方组件的使用文档中提取第三方组件使用规则。4.根据权利要求3所述的基于Datalog的物联网固件第三方组件误用漏洞自动化挖掘方法,其特征...

【专利技术属性】
技术研发人员:纪守领赵彬彬王琴应张旭鸿祝羽艳杨星
申请(专利权)人:尚蝉浙江科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1