The present invention provides a method and system for identifying homologous binary files from the database, comprising a plurality of binary files of the basic database, the method includes: according to the minimum Hashi algorithm, respectively signed documents to identify the signature and the basic documents; for any signature, according to the bucket method of barrel processing of the signature; according to the barrel inverted index method and all basic documents after the signature, get corresponding to each of the barrels of the dictionary, the dictionary contains at least one key for each bucket; according to the string files to be identified in the traversal of the corresponding dictionary, according to the corresponding matching the key value, get the identification documents of homologous binary files. The invention uses minimum Hashi algorithm to get the signature and adopts the local sensitive Hashi algorithm to divide the bucket, which can significantly reduce the computation amount, and use inverted index method to set up index table for all signatures, so as to improve the recognition speed of the homologous binary files.
【技术实现步骤摘要】
一种识别同源二进制文件的方法及系统
本专利技术涉及针对嵌入式设备的漏洞挖掘
,更具体地,涉及识别同源二进制文件的方法及系统。
技术介绍
近年来,物联网设备以近乎成倍的速度接入网络,极大地方便了人们的生活。但这些智能设备因生产厂商安全意识不足广泛使用共享代码模块和第三方SDK而面临被攻击的风险。例如,2016年10月21日,黑客利用网络摄像头等设备采用分布式拒绝服务攻击(DDoS)方式攻击DNS提供商Dyn,破坏了一系列互联网大型网站,包括Spotify,Twitter,PayPal,Netflix等。媒体称这种攻击“历史上最严重的DDos攻击”,物联网设备的安全性受到更多的关注。当紧急安全事件发生时,现有技术只能通过修复相关的固件来抵御攻击。为了能够提前预知有漏洞的固件,有必要寻找一种能够识别同源二进制文件的匹配方法。现有的二进制文件比对方法是直接读入二进制数据进行比较,该方法较为直接,但缺少对程序整体逻辑的理解,只适用于若干字节变化的比较,基于汇编指令的比对方法以汇编指令作为分析对象,将二进制文件反汇编后进行对比。但该方法缺乏对程序逻辑的理解,只适合小文件的检索。
技术实现思路
本专利技术提供一种克服上述问题或者至少部分地解决上述问题的识别同源二进制文件的方法及系统。根据本专利技术的一个方面,提供一种从数据库中识别同源二进制文件的方法,所述数据库中包含复数个二进制的基础文件,所述方法包括:S1、根据最小哈希算法,分别获得待识别文件的签名以及各基础文件的签名;S2、对任意一个签名,根据分桶法对该签名进行分桶处理,其中,所有桶中含有字符个数相同的字符串;S ...
【技术保护点】
一种从数据库中识别同源二进制文件的方法,所述数据库中包含复数个二进制的基础文件,其特征在于,所述方法包括:S1、根据最小哈希算法,分别获得待识别文件的签名以及各基础文件的签名;S2、对任意一个签名,根据分桶法对该签名进行分桶处理,其中,所有桶中含有字符个数相同的字符串;S3、根据倒排索引法和所有基础文件的分桶后的签名,获得与桶一一对应的字典,每个所述字典包含至少一个键值对,其中键为所述数据库中所有基础文件所对应的桶中去重后的字符串,值为包含该键的基础文件的标识;S4、根据所述待识别文件的每个桶中的字符串,遍历对应的字典,根据匹配的键所对应的值,获得所述待识别文件的同源二进制文件。
【技术特征摘要】
1.一种从数据库中识别同源二进制文件的方法,所述数据库中包含复数个二进制的基础文件,其特征在于,所述方法包括:S1、根据最小哈希算法,分别获得待识别文件的签名以及各基础文件的签名;S2、对任意一个签名,根据分桶法对该签名进行分桶处理,其中,所有桶中含有字符个数相同的字符串;S3、根据倒排索引法和所有基础文件的分桶后的签名,获得与桶一一对应的字典,每个所述字典包含至少一个键值对,其中键为所述数据库中所有基础文件所对应的桶中去重后的字符串,值为包含该键的基础文件的标识;S4、根据所述待识别文件的每个桶中的字符串,遍历对应的字典,根据匹配的键所对应的值,获得所述待识别文件的同源二进制文件。2.如权利要求1所述的从数据库中识别同源二进制文件的方法,其特征在于,所述步骤S1包括:S1.1、对待识别文件以及所有基础文件中的任意一个文件,根据运行最小哈希算法的最小哈希计算工具,获得该文件每一行代码的签名,其中,所有文件每一行代码的签名具有相同的字符数;S1.2、将所述每一行代码的签名均分为M个子签名,以使得该文件表示为行数为该文件的代码的行个数,列数为M的矩阵;S1.3、对该矩阵的每一列以相同规则获得一个子签名,以获得具有M个子签名的签名,作为该文件的签名。3.如权利要求1或2所述的从数据库中识别同源二进制文件的方法,其特征在于,所述步骤S3包括:S3.1、创建与桶个数一致的复数个字典,且每个字典的编号与桶的编号一一对应;S3.2、统计所有基础文件对应任意一个桶的字符串,并对该同中的字符串进行去重处理;S3.3、将进行去重处理后的每个桶中的每个字符串,作为对应该桶编号的字典的一个键,将包含该字符串的基础文件的标识作为该键的值,以获得一个键值对。4.如权利要求3所述的从数据库中识别同源二进制文件的方法,其特征在于,所述步骤1之前还包括对所述任意一个文件进行特征过滤处理,所述特征过滤处理包括:获得所述任意一个文件的字符串集...
【专利技术属性】
技术研发人员:石志强,陈昱,赵威威,李红,孙利民,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。