同源二进制文件检索方法和装置制造方法及图纸

技术编号:19857784 阅读:34 留言:0更新日期:2018-12-22 11:45
本发明专利技术提供一种同源二进制文件检索方法和装置,该方法包括:将待检测二进制文件的字符串序列输入至预先训练的神经网络模型,输出编码向量;对编码向量进行局部敏感哈希运算,生成待检测二进制文件的哈希签名;计算待检测二进制文件的哈希签名与数据库中的各哈希签名的相似度哈希;其中,数据库中记录样本二进制文件和哈希签名;将满足同源性阈值的相似度哈希对应的样本二进制文件作为待检测二进制文件的同源二进制文件;其中,神经网络模型根据样本二进制文件的字符串序列以及样本二进制文件的编码向量训练而成。本发明专利技术提供一种同源二进制文件检索方法和装置,能得到满足条件的同源二进制文件,对于快速修补嵌入式设备固件的漏洞有较好的效果。

【技术实现步骤摘要】
同源二进制文件检索方法和装置
本专利技术涉及互联网领域,尤其涉及一种同源二进制文件检索方法和装置。
技术介绍
由于嵌入式系统与传统的PC机系统不同,其通常由一个称为“固件”软件组成。固件是指写入EEPROM或Flash等存储介质中的程序。与传统的软件相同,几乎所有的设备固件都包含漏洞,这主要是由于嵌入式设备制造领域存在“客制化”的生产模式,研产分离。最近的网络安全事件表明,来自于同一厂商甚至不同厂商的多种物联网设备经常被相同的恶意软件感染。造成这种现象的主要原因是:近年来物联网厂商越来越多地使用开源共享代码。即是不同的设备厂商可能选择同一个分包商,同一个设备厂商的软件可能由多个分包商开发。由于分包商依赖的开发工具、开发包或者提供的库没有统一标准,不同品牌的设备可能运行相同或类似的固件,同一品牌的设备可能存在多个不同分包商第三方库导致的漏洞,这使得对嵌入式设备固件的漏洞检测存在大量的重复性工作。正是由于物联网设备固件中存在广泛的代码重用,当某个固件被报出漏洞二进制文件时,包含该同源二进制文件的其他固件也将处于高风险中。例如被物联网蠕虫SHELLBIND所利用的SambaCry漏洞影响了物联网设备长达七年之久,直到2017年5月才被安全研究人员发现。因此当安全事件发生时,知道哪些厂商、哪些设备的固件中包含有Samba组件对于物联网安全应急响应意义重大。因此如何有效地对嵌入式设备固件二进制文件进行同源性分析,成为了快速检测漏洞的有效方法。
技术实现思路
为了克服上述问题或者至少部分地解决上述问题,本专利技术提供一种同源二进制文件检索方法和装置。第一方面,本专利技术提供一种同源二进制文件检索方法,包括:将待检测二进制文件的字符串序列输入至预先训练的神经网络模型,输出编码向量;对所述编码向量进行局部敏感哈希运算,生成待检测二进制文件的哈希签名;计算所述待检测二进制文件的哈希签名与数据库中的各哈希签名的相似度哈希;其中,所述数据库中记录样本二进制文件和哈希签名;将满足同源性阈值的相似度哈希对应的样本二进制文件作为所述待检测二进制文件的同源二进制文件;其中,所述神经网络模型根据样本二进制文件的字符串序列以及样本二进制文件的编码向量训练而成。第二方面,本专利技术提供一种同源二进制文件检索装置,包括:训练模块,用于将待检测二进制文件的字符串序列输入至预先训练的神经网络模型,输出编码向量;哈希签名模块,用于对所述编码向量进行局部敏感哈希运算,生成待检测二进制文件的哈希签名;计算模块,用于计算所述待检测二进制文件的哈希签名与数据库中的各哈希签名的相似度哈希;其中,所述数据库中记录样本二进制文件和哈希签名;判断模块,用于将满足同源性阈值的相似度哈希对应的样本二进制文件作为所述待检测二进制文件的同源二进制文件;其中,所述神经网络模型根据样本二进制文件的字符串序列以及样本二进制文件的编码向量训练而成。第三方面,本专利技术提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面提供的同源二进制文件检索方法的步骤。第四方面,本专利技术提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面提供的同源二进制文件检索方法的步骤。本专利技术提供一种同源二进制文件检索方法和装置,通过将待检测二进制文件的字符串序列输入至神经网络模型,输出编码向量,并对编码向量进行局部敏感哈希运算,生成哈希签名,根据待检测二进制文件的哈希签名和样本二进制文件各哈希签名计算相似度哈希,与同源阈值进行比较,得到满足条件的同源二进制文件,对于快速修补嵌入式设备固件的漏洞有较好的效果。附图说明图1为本专利技术实施例提供的同源二进制文件检索方法的流程示意图;图2为本专利技术实施例提供的神经网络模型方法的流程示意图;图3为本专利技术实施例提供的词嵌入网络模型的结构示意图;图4为本专利技术实施例提供的神经网络模型的结构示意图;图5为本专利技术实施例提供的双层双向循环神经网络方法的流程示意图;图6为本专利技术实施例提供的同源二进制文件检索装置的功能框图;图7为本专利技术实施例提供的电子设备的框图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。近年来物联网厂商越来越多地使用开源共享代码,物联网设备固件中存在广泛的代码重用,当某个固件被报出漏洞二进制文件时,包含该同源二进制文件的其他固件也将处于高风险中,现有的技术手段较难准确地判断出报有漏洞文件的同源二进制文件。为克服现有技术的上述问题,本专利技术实施例提供一种同源二进制文件检索方法和装置,其专利技术构思是:把待检测二进制文件的字符串序列输入至预先训练的神经网络模型,经过神经网络模型的处理,输出编码向量;对得到的编码向量进行局部敏感哈希函数的运算,得到分块的哈希签名;对于样本二进制文件的字符串进行同样的运算得到样本哈希签名,将样本二进制文件和签名都存储到数据库中;然后将待检测二进制文件的字符串哈希签名和样本二进制文件的字符串的各哈希签名进行相似度哈希运算,得到相似度哈希值;将得到的相似度哈希值与同源性阈值进行比较,并检索数据库,将满足同源性阈值的相似度哈希对应的样本二进制文件作为待检测二进制文件的同源二进制文件。通过本专利技术实施例提供一种同源二进制文件检索方法和装置,能够准确地得到待检测二进制文件的同源二进制文件,对于快速修补嵌入式设备固件的漏洞有较好的效果。图1为本专利技术实施例提供的同源二进制文件检索方法的流程示意图,如图1所示,该方法包括:S101,将待检测二进制文件的字符串序列输入至预先训练的神经网络模型,输出编码向量。具体为,在本专利技术实施例中,对于需要进行检测的二进制文件称为待检测二进制文件,多个字符串构成字符串序列。本专利技术实施例将待检测二进制文件的字符串序列输入到预先训练好的神经网络模型,通过神经网络模型的处理,得到编码向量。在这里,将待检测二进制文件的字符串序列转换成编码向量,是为了使字符串序列成为计算机能够处理和分析的信息。S102,对编码向量进行局部敏感哈希运算,生成待检测二进制文件的哈希签名。具体为,本专利技术实施例中通过使用事先构造好的面向余弦距离的局部敏感哈希函数,将每个编码向量分块处理,得到每个编码向量的哈希签名。在这里,对于本专利技术实施例运用局部敏感哈希函数对编码向量进行计算,是因为:局部敏感哈希函数能够快速地从海量的高维数据集合中找到,与某个数据最相似的一个数据或多个数据。局部敏感哈希函数是处理海量并且具有很高的维度的数据的便捷算法。优选地,本专利技术实施例用余弦距离来计算每个编码向量间的距离,本专利技术实施例不对局部敏感哈希函数的计算方式作限定。S103,计算待检测二进制文件的哈希签名与数据库中的各哈希签名的相似度哈希,其中,数据库中记录样本二进制文件和哈希签名。具体为,在本专利技术实施例中,以事先构建一个样本数量足够大的数据库,为待检测的二进制文件的匹配提前做好准备。其中数据库中包含样本二进制文件以及样本二进制文件的哈希签名。在本专利技术实施例中,将待检测的二进制文件字符串根据局部敏感哈希计算,生成哈希签名,根据待检测二进制文件的哈希签名与数据库中的各哈希签名,进行相似度哈希计算,以得到两两哈希签本文档来自技高网...

【技术保护点】
1.一种同源二进制文件检索方法,其特征在于,包括:将待检测二进制文件的字符串序列输入至预先训练的神经网络模型,输出编码向量;对所述编码向量进行局部敏感哈希运算,生成待检测二进制文件的哈希签名;计算所述待检测二进制文件的哈希签名与数据库中的各哈希签名的相似度哈希;其中,所述数据库中记录样本二进制文件和哈希签名;将满足同源性阈值的相似度哈希对应的样本二进制文件作为所述待检测二进制文件的同源二进制文件;其中,所述神经网络模型根据样本二进制文件的字符串序列以及样本二进制文件的编码向量训练而成。

【技术特征摘要】
1.一种同源二进制文件检索方法,其特征在于,包括:将待检测二进制文件的字符串序列输入至预先训练的神经网络模型,输出编码向量;对所述编码向量进行局部敏感哈希运算,生成待检测二进制文件的哈希签名;计算所述待检测二进制文件的哈希签名与数据库中的各哈希签名的相似度哈希;其中,所述数据库中记录样本二进制文件和哈希签名;将满足同源性阈值的相似度哈希对应的样本二进制文件作为所述待检测二进制文件的同源二进制文件;其中,所述神经网络模型根据样本二进制文件的字符串序列以及样本二进制文件的编码向量训练而成。2.根据权利要求1所述的方法,其特征在于,所述待检测二进制文件的字符串序列输入至预先训练的神经网络模型,之前还包括:对待检测二进制文件的字符串序列进行提取和过滤处理,获得过滤后的字符串序列,作为输入至预先训练的神经网络模型中的序列。3.根据权利要求1所述的方法,其特征在于,所述神经网络模型包括词嵌入网络、双层双向循环神经网络和全连接编码网络;相应地,所述将待检测二进制文件的字符串序列输入至预先训练的神经网络模型,输出编码向量,具体为:将待检测二进制文件的字符串序列输入至所述词嵌入网络,输出编码矩阵;所述编码矩阵中的列向量用于表征待检测文件中的字符串;将所述编码矩阵输入至所述双层双向循环神经网络,输出特征向量;所述特征向量用于表征所述待检测文件的上下文信息;将所述特征向量输入至所述全连接编码网络,输出所述编码向量。4.根据权利要求3所述的方法,其特征在于,所述词嵌入网络进一步包括输入向量层、编码层、编码矩阵层;相应地,将待检测二进制文件的字符串序列输入至所述词嵌入网络,输出编码矩阵,具体为:将待检测二进制文件的字符串序列输入至所述输入向量层后,根据预先存有字符串编码的系统字符串语料库,检索待检测二进制文件的字符串序列在所述系统字符串语料库中对应的字符串编码;检索所述编码层中所述待检测二进制文件的字符串序列对应的字符串编码对应的列向量,根据所述待检测二进制文件的字符串序列顺序,依次将所述列向量存储在所述编码矩阵层中,进而得到编码矩阵;所述系统字符串语料库用于存储常用二进制文件的字符串,并将所述二进制文件的字符串以列向量形式,存储在所述编码层。5.根据权利要求3所述的方法,其特征在于,所述双层双向循环神经网络进一步包括:第一层双向循环神经网络和第二层双向循环神经网络;相应地,将所述编码矩阵输入至所述双层双向循环神经网络,输出特征向量,具体为:...

【专利技术属性】
技术研发人员:石志强马原陈昱李红孙利民
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京,11

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

1