基于模糊匹配的固件函数相似性检测方法及系统技术方案

技术编号:29459944 阅读:21 留言:0更新日期:2021-07-27 17:28
本发明专利技术属于物联网设备安全技术领域,特别涉及一种基于模糊匹配的固件函数相似性检测方法及系统,对待比较固件二进制文件进行解析提取固件元信息和函数特征;针对固件函数特征,利用SimHash生成用于计算不同函数之间Hamming距离的SimHash值,并根据Hamming距离度量函数之间相似度;依据相似度对函数基本块进行语义等价性和转移关系分析,依据块内和块间相似度定位固件漏洞位置。本发明专利技术利用SimHash技术实现固件函数的大规模安全检查,实现在无脆弱性函数详细信息情况下固件补丁定位;通过提取数据依赖图数据流特征,更全面的表达固件函数,并根据特征重要程度赋予不同权值,弥补机器学习方法模型训练带来时间开销过大等不足,为提高物联网设备安全性提供帮助。

Firmware function similarity detection method and system based on fuzzy matching

【技术实现步骤摘要】
基于模糊匹配的固件函数相似性检测方法及系统
本专利技术属于物联网设备安全
,特别涉及一种基于模糊匹配的固件函数相似性检测方法及系统。
技术介绍
当今世界软件是无处不在,日常生活中随处可见的设备,如路由器、打印机、摄像头甚至儿童手表中都有软件的存在。开源社区是一个公布软件源代码的网络平台,在社区中有各种功能的开源代码,软件开发人员为了节省时间和精力,会从社区中寻找所需要的功能代码进行重用。这种代码重用现象在软件开发领域十分常见,但代码重用是一把双刃剑,在缩短软件开发周期,为社会和个人带来社会效益和商业利益的同时,也增加了潜在风险,易受攻击的代码可能被应用于任何程序中,加速了漏洞的传播。OpenSSL中的心脏流血漏洞(HeartbleedBug)是影响最大的代码重用事件之一,Google、Yahoo、YouTube、百度等大公司都受其影响,因为大多数网站的服务器中都使用了包含该漏洞的OpenSSL版本进行加密。代码重用现象在物联网领域也很普遍,它带来的危害更加严重。近年来,接入互联网的嵌入式设备呈指数倍增加,据StrategyAnalytics公司最新研究报告显示,2018年底,全球联网设备数量约为70亿台,到2025年,联网设备的总数量预计将达到220亿台。物联网的目标是将连接从标准计算机扩展到每一个物理设备,它为互联网的发展增添了新的维度。然而,随着物联网设备高速扩张和无处不在的部署,大量潜在的敏感目标也暴露在外部世界。与快速增长的物联网设备相比,物联网安全防护技术的发展相对缓慢,针对物联网设备的攻击呈现逐年递增趋势,危害范围也越来越大,物联网领域的安全形势不容乐观。二进制代码相似性分析是代码重用的一个重要应用,在海量二进制程序中查找与指定代码语义等价的相似代码,该技术在恶意代码检测、漏洞挖掘、软件剽窃检测等领域已经成功应用,并发挥着巨大作用。近年来随着计算能力的提升和硬件支持的发展,该技术被引入到物联网安全领域,并取得了一定的成果。在物联网安全领域,二进制代码相似性分析的目标是设备固件,IEEE把固件定义为“硬件设备以及作为只读软件驻留在设备中的计算机指令和数据的集合”。固件中包含了设备的大部分代码,包括设备内核代码、文件系统、功能代码等,联网设备的安全漏洞大多出现在固件代码中,固件的安全性在一定程度上可以反映出设备的安全性。因此,亟需一种漏洞检测方案来满足物联网固件应用安全需求。
技术实现思路
为此,本专利技术提供一种基于模糊匹配的固件函数相似性检测方法及系统,针对基于机器学习的代码相似性分析方法中存在的模型实现复杂、扩展性弱、无法定位固件补丁等不足,可以根据已知漏洞判断固件是否存在相似漏洞,并可实现在无脆弱性函数详细信息情况下的补丁定位。按照本专利技术所提供的设计方案,提供一种基于模糊匹配的固件函数相似性检测方法,包含如下内容:对待比较固件二进制文件进行解析提取固件元信息和函数特征;针对固件函数特征,利用SimHash生成用于计算不同函数之间Hamming距离的SimHash值,并根据Hamming距离度量函数之间相似度;依据相似度对函数基本块进行语义等价性和转移关系分析,依据块内和块间相似度定位固件漏洞位置。作为本专利技术基于模糊匹配的固件函数相似性检测方法,进一步地,针对待比较的固件二进制文件,利用文件分析工具对固件二进制文件进行初步解析获取固件元信息,该元信息至少包含固件处理器架构、操作系统及文件系统信息。作为本专利技术基于模糊匹配的固件函数相似性检测方法,进一步地,利用二进制分析工具提取固件二进制文件中的固件函数控制流特征和数据依赖图特征。作为本专利技术基于模糊匹配的固件函数相似性检测方法,进一步地,利用IDA插件工具提取固件函数控制流特征,利用Angr工具提取固件函数数据依赖图特征。作为本专利技术基于模糊匹配的固件函数相似性检测方法,进一步地,利用SimHash生成每一个函数特征的SimHash值,利用抽屉原理对函数特征SimHash值进行存储和查询。作为本专利技术基于模糊匹配的固件函数相似性检测方法,进一步地,针对固件函数每个特征,利用特征选择算法赋予不同的权重,将所有加权特征相加获取加权特征序列,并通过对加权特征序列进行降维获取固件函数的SimHash值。作为本专利技术基于模糊匹配的固件函数相似性检测方法,进一步地,将基本块内指令转换为中间表示,并通过符号执行和约束求解判断基本块之间的语义等价性。作为本专利技术基于模糊匹配的固件函数相似性检测方法,进一步地,对基本块间转移关系分析中,遍历固件函数控制流图所有路径,将基本块所在的局部控制流图用字符串表示,通过比较字符串相似性获取基本块间相似度。作为本专利技术基于模糊匹配的固件函数相似性检测方法,进一步地,利用CityHash来获取基本块所在的局部控制流图字符串哈希值,通过比较不同基本块间的哈希值来获取基本块间相似度。进一步地,本专利技术还提供一种基于模糊匹配的固件函数相似性检测系统,包含:文件解析模块、特征分析模块和检测定位模块,其中。文件分析模块,用于对待比较固件二进制文件进行解析提取固件元信息和函数特征;特征分析模块,用于针对固件函数特征,利用SimHash生成用于计算不同函数之间Hamming距离的SimHash值,并根据Hamming距离度量函数之间相似度;检测定位模块,用于依据相似度对函数基本块进行语义等价性和转移关系分析,依据块内和块间相似度定位固件漏洞位置。本专利技术的有益效果:本专利技术利用SimHash技术进行固件函数相似性分析,可以实现固件函数的大规模安全检查,并进行基本块级相似性分析,实现在无脆弱性函数详细信息情况下的固件补丁定位;在函数控制流图的技术上,通过提取数据依赖图中的数据流特征,丰富固件代码特征,更全面的表达固件函数,并利用ReliefF的特征赋权算法,根据特征重要程度赋予不同权值,弥补机器学习方法模型训练带来时间开销过大的不足,为提高物联网设备安全性提供帮助,具有较好的应用前景。附图说明:图1为实施例中基于模糊匹配的固件函数相似性检测方法流程示意;图2为实施例中固件多维特征示意;图3为实施例中ReliefF算法特征赋权示意;图4为实施例中固件相似性检测算法流程示意;图5为实施例中固件函数生成SimHash原理示意;图6为实施例中基本块指令图示意;图7为实施例中基本块指令IR图示意;图8为实施例中输入输出符号表示图示意。具体实施方式:为使本专利技术的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本专利技术作进一步详细的说明。本专利技术实施例,提供一种基于模糊匹配的固件函数相似性检测方法,参见图1所示,包含如下内容:S101、对待比较固件二进制文件进行解析提取固件元信息和函数特征;S102、针对固件函数特征,利用SimHash生成用于计算不同函数之间Hamming距离的SimHash值,并根据Hammin本文档来自技高网
...

【技术保护点】
1.一种基于模糊匹配的固件函数相似性检测方法,其特征在于,包含如下内容:/n对待比较固件二进制文件进行解析提取固件元信息和函数特征;/n针对固件函数特征,利用SimHash生成用于计算不同函数之间Hamming距离的SimHash值,并根据Hamming距离度量函数之间相似度;/n依据相似度对函数基本块进行语义等价性和转移关系分析,依据块内和块间相似度定位固件漏洞位置。/n

【技术特征摘要】
1.一种基于模糊匹配的固件函数相似性检测方法,其特征在于,包含如下内容:
对待比较固件二进制文件进行解析提取固件元信息和函数特征;
针对固件函数特征,利用SimHash生成用于计算不同函数之间Hamming距离的SimHash值,并根据Hamming距离度量函数之间相似度;
依据相似度对函数基本块进行语义等价性和转移关系分析,依据块内和块间相似度定位固件漏洞位置。


2.根据权利要求1所述的基于模糊匹配的固件函数相似性检测方法,其特征在于,针对待比较的固件二进制文件,利用文件分析工具对固件二进制文件进行初步解析获取固件元信息,该元信息至少包含固件处理器架构、操作系统及文件系统信息。


3.根据权利要求1所述的基于模糊匹配的固件函数相似性检测方法,其特征在于,利用二进制分析工具提取固件二进制文件中的固件函数控制流特征和数据依赖图特征。


4.根据权利要求3所述的基于模糊匹配的固件函数相似性检测方法,其特征在于,利用IDA插件工具提取固件函数控制流特征,利用Angr工具提取固件函数数据依赖图特征。


5.根据权利要求1所述的基于模糊匹配的固件函数相似性检测方法,其特征在于,利用SimHash生成每一个函数特征的SimHash值,利用抽屉原理对函数特征SimHash值进行存储和查询。


6.根据权利要求1或5所述的基于模糊匹配的固件函数相似性检测方法,其特...

【专利技术属性】
技术研发人员:王奕森井靖娄睿林键谢耀滨孙浩楠
申请(专利权)人:中国人民解放军战略支援部队信息工程大学
类型:发明
国别省市:河南;41

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

1