一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于语义分析的物联网固件内核漏洞挖掘方法及系统与流程

2021-10-27 20:43:00 来源:中国专利 TAG:联网 语义 内核 固件 漏洞

技术特征:
1.一种基于语义分析的物联网固件内核漏洞挖掘方法,其特征在于,包括以下步骤:(1)收集物联网固件内核及对应版本的linux内核以形成内核对,对内核对进行编译和函数匹配以得到待匹配函数对;(2)采用差分分析方法分析待匹配函数对,以确定物联网固件内核中被删除的安全操作;(3)依据被删除的安全操作,在linux内核中定位与被删除的安全操作相关的安全变量,并查找安全变量在函数内的其他使用位置和使用方式;(4)依据在linux内核中定位的与被删除的安全操作相关的安全变量,在物联网固件内核中查找与已被删除的安全操作相关的安全变量、安全变量在函数内的其他使用位置和使用方式;(5)比较在物联网固件内核和linux内核中,与已被删除的安全操作相关的安全变量、安全变量在函数内的其他使用位置和使用方式,以实现对已删除安全操作的安全影响进行分析,辅助漏洞的确认。2.如权利要求1所述的基于语义分析的物联网固件内核漏洞挖掘方法,其特征在于,所述对内核对进行编译和函数匹配以得到待匹配函数对,包括:内核的编译过程为:尽可能多地打开物联网固件内核编译配置选项对物联网固件内核源代码进行编译以覆盖更多的源代码;使用

o2优化级别且打开

g编译选项允许编译开发者获取调试信息;当物联网固件内核源代码编译完成后,在编译与其对比的相同版本的linux内核源代码时,采用相同的makefile文件进行编译以减少编译选项不同带来的误报和漏报,最终获取内核对的待匹配llvm中间代码;函数匹配过程为:静态分析待匹配llvm中间代码,获取源代码中每个函数的函数名,依据函数名对内核对中函数进行匹配,以形成待匹配函数对。3.如权利要求1所述的基于语义分析的物联网固件内核漏洞挖掘方法,其特征在于,步骤(2)包括:通过对待匹配函数对进行静态分析,分别定位两个函数中的相关安全操作,包括安全检查、变量初始化和资源释放操作;通过差分比较两个函数中的相关安全操作来确定物联网固件内核中被删除的安全操作;分析物联网固件内核中被删除的安全操作是否由安全补丁或代码封装造成,如果是,则认为该被删除的安全操作是合理的,不做后续分析。4.如权利要求3所述的基于语义分析的物联网固件内核漏洞挖掘方法,其特征在于,针对分析被删除的安全操作是否由安全补丁造成,包括:对每个被删除的安全操作,通过搜索linux内核的git commit信息,确认该被删除的安全操作是否包含在程序补丁中,如果包含在程序补丁中,则认为该被删除的安全操作是由安全补丁造成的;针对分析被删除的安全操作是否由代码封装造成,包括:通过对被删除的安全操作对应的代码序列和相应新函数中实现的代码序列进行比较来识别代码封装,如果被比较的两个代码序列的编辑距离小于阈值,并且被删除的安全操作对应的代码序列保留在新函数中,那么被删除的安全操作是由代码封装造成的。5.如权利要求1所述的基于语义分析的物联网固件内核漏洞挖掘方法,其特征在于,步
骤(3)包括:对于被删除的安全操作,如果安全操作是函数调用,那么查找函数调用参数或返回值作为linux内核中与安全操作相关的安全变量;如果安全操作不是函数调用,则直接查找安全操作对应的操作数作为安全操作相关的安全变量;通过llvm定义的变量的def

use链查找linux内核中安全变量在函数内的其他使用位置和使用方式。6.如权利要求1所述的基于语义分析的物联网固件内核漏洞挖掘方法,其特征在于,步骤(4)包括:根据linux内核中定位的与被删除的安全操作相关的安全变量,对物联网固件内核中对应的安全变量进行定位;然后通过llvm定义的变量的def

use链查找linux内核中安全变量在函数内的其他使用位置和使用方式。7.如权利要求5或6所述的基于语义分析的物联网固件内核漏洞挖掘方法,其特征在于,在采用llvm定义的变量的def

use链查找linux内核中安全变量在函数内的其他使用位置和使用方式时,通过对能够进行指针传递的getelementptrinst、bitcastinst指令的分析来进行指针别名分析。8.如权利要求6所述的基于语义分析的物联网固件内核漏洞挖掘方法,其特征在于,所述根据linux内核中定位的与被删除的安全操作相关的安全变量,对物联网固件内核中对应的安全变量进行定位,包括:采用差分分析方法分析待匹配函数对,确定待匹配函数对中匹配的基本块对,识别linux内核中与被删除的安全操作相关的安全变量和使用了该安全变量的基本块,通过该基本块和匹配的基本块对定位到物联网固件内核中包含了对应变量的基本块和指令,通过访问指令的操作数获取物联网固件内核中对应的安全变量。9.一种基于语义分析的物联网固件内核漏洞挖掘系统,其特征在于,包括:收集匹配模块,用于收集物联网固件内核及对应版本的linux内核以形成内核对,对内核对进行编译和函数匹配以得到待匹配函数对;确定模块,用于采用差分分析方法分析待匹配函数对,以确定物联网固件内核中被删除的安全操作;定位模块,用于依据被删除的安全操作,在linux内核中定位与被删除的安全操作相关的安全变量,并查找安全变量在函数内的其他使用位置和使用方式;查找模块,用于依据在linux内核中定位的与被删除的安全操作相关的安全变量,在物联网固件内核中查找与已被删除的安全操作相关的安全变量、安全变量在函数内的其他使用位置和使用方式;比较模块,用于比较在物联网固件内核和linux内核中,与已被删除的安全操作相关的安全变量、安全变量在函数内的其他使用位置和使用方式,以实现对已删除安全操作的安全影响进行分析,辅助漏洞的确认。

技术总结
本发明公开了一种基于语义分析的物联网固件内核漏洞挖掘方法及系统,包括:收集物联网固件内核及对应版本的Linux内核以形成内核对,对内核对进行编译和函数匹配以得到待匹配函数对;分析待匹配函数对以确定物联网固件内核中被删除的安全操作;依据被删除的安全操作,在Linux内核中和物联网固件内定位与被删除的安全操作相关的安全变量,并查找安全变量在函数内的其他使用位置和使用方式;比较在物联网固件内核和Linux内核中,与已被删除的安全操作相关的安全变量、安全变量在函数内的其他使用位置和使用方式,以实现对已删除安全操作的安全影响进行分析,辅助漏洞的确认。本发明能够通过语义分析实现对物联网固件内核漏洞的高效分析。洞的高效分析。洞的高效分析。


技术研发人员:陈文智 付丽嫆 刘沛宇 段宇萱 王总辉
受保护的技术使用者:浙江大学
技术研发日:2021.07.21
技术公布日:2021/10/26
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜