针对大规模嵌入式设备固件的函数搜索方法和搜索引擎

    公开(公告)号:CN105740477A

    公开(公告)日:2016-07-06

    申请号:CN201610157731.6

    申请日:2016-03-18

    IPC分类号: G06F17/30

    摘要: 本发明涉及一种针对大规模嵌入式设备固件的函数搜索方法和搜索引擎。首先收集固件并进行预处理,依据所提取的函数信息构建固件函数信息库;然后采用基于最小哈希的方法对同平台、同编译选项的函数进行快速离线聚类,从而压缩函数信息库的样本数量;再对固件函数信息进一步处理,从中抽取出索引项,构建固件函数索引数据库。待测固件函数进行关联检索时,采用基于最小哈希的方法依次在固件函数索引数据库中检索、识别与待关联函数同平台同编译选项和不同平台同编译选项的函数;而后再检索、识别与待关联函数同平台不同编译选项的函数,并以所得检索结果为跳板,去搜索与跳板不同平台同编译选项的函数。本发明能够提高固件函数关联的速率和准确率。

    针对大规模嵌入式设备固件的函数搜索方法和搜索引擎

    公开(公告)号:CN105740477B

    公开(公告)日:2019-03-29

    申请号:CN201610157731.6

    申请日:2016-03-18

    IPC分类号: G06F16/35 G06F16/31 G06F16/33

    摘要: 本发明涉及一种针对大规模嵌入式设备固件的函数搜索方法和搜索引擎。首先收集固件并进行预处理,依据所提取的函数信息构建固件函数信息库;然后采用基于最小哈希的方法对同平台、同编译选项的函数进行快速离线聚类,从而压缩函数信息库的样本数量;再对固件函数信息进一步处理,从中抽取出索引项,构建固件函数索引数据库。待测固件函数进行关联检索时,采用基于最小哈希的方法依次在固件函数索引数据库中检索、识别与待关联函数同平台同编译选项和不同平台同编译选项的函数;而后再检索、识别与待关联函数同平台不同编译选项的函数,并以所得检索结果为跳板,去搜索与跳板不同平台同编译选项的函数。本发明能够提高固件函数关联的速率和准确率。

    一种跨架构的二进制程序漏洞函数关联方法

    公开(公告)号:CN107229563A

    公开(公告)日:2017-10-03

    申请号:CN201610178368.6

    申请日:2016-03-25

    IPC分类号: G06F11/36 G06K9/62

    摘要: 本发明公开了一种跨架构的二进制程序漏洞函数关联方法。本方法为:1)对待二进制程序的二进制文件进行逆向分析,得到一待测函数库;然后根据该待测函数库,获取函数调用图、函数控制流图、函数基本属性;2)根据函数调用图、函数控制流图、函数基本属性提取每一待测函数的特征;然后根据提取的特征和漏洞函数的特征,计算每一待测函数与漏洞函数的数值相似度;3)对于每一待测函数,分别构造该待测函数与漏洞函数的赋权二部图,采用二部图算法计算该待测函数与漏洞函数的整体相似度;4)如果待测函数与漏洞函数的整体相似度大于设定判定阈值,则判定该待测函数为疑似漏洞函数,反之判定为正常函数。本方法实现简单,易于推广。

    一种跨架构的二进制程序漏洞函数关联方法

    公开(公告)号:CN107229563B

    公开(公告)日:2020-07-10

    申请号:CN201610178368.6

    申请日:2016-03-25

    IPC分类号: G06F11/36 G06K9/62

    摘要: 本发明公开了一种跨架构的二进制程序漏洞函数关联方法。本方法为:1)对待二进制程序的二进制文件进行逆向分析,得到一待测函数库;然后根据该待测函数库,获取函数调用图、函数控制流图、函数基本属性;2)根据函数调用图、函数控制流图、函数基本属性提取每一待测函数的特征;然后根据提取的特征和漏洞函数的特征,计算每一待测函数与漏洞函数的数值相似度;3)对于每一待测函数,分别构造该待测函数与漏洞函数的赋权二部图,采用二部图算法计算该待测函数与漏洞函数的整体相似度;4)如果待测函数与漏洞函数的整体相似度大于设定判定阈值,则判定该待测函数为疑似漏洞函数,反之判定为正常函数。本方法实现简单,易于推广。

    一种嵌入式设备固件解压成功的判断方法

    公开(公告)号:CN105488531B

    公开(公告)日:2018-10-16

    申请号:CN201510855073.3

    申请日:2015-11-30

    IPC分类号: G06K9/62

    摘要: 本发明涉及一种嵌入式设备固件解压成功的判断方法,其主要步骤包括:试验样本集固件收集、固件熵谱获取、固件熵谱指纹特征提取、分类器训练及固件是否解压成功的判断。该方法采用处理图像信号的方法对固件熵谱作相应处理,提取了固件熵谱的多域综合特征;利用正向熵阈值和负向熵阈值之间的回差有效避免了熵值在多次穿越单一阈值时所产生的干扰;在训练分类器时,首先对固件熵谱特征作Z‑Score标准化处理,再采用机器学习的思想和K折交叉验证的方法对分类器进行多次交叉重复训练;对于待测试固件,通过加权统计的方法对各分类器判断结果进行累计加权统计,以次数居多者作为对固件是否解压成功的最终判定结果,保证了所得结果的准确性。

    基于神经网络的指令集无关的二进制代码相似性检测方法

    公开(公告)号:CN105868108A

    公开(公告)日:2016-08-17

    申请号:CN201610182075.5

    申请日:2016-03-28

    IPC分类号: G06F11/36 G06K9/62

    摘要: 本发明涉及一种基于神经网络的指令集无关的二进制代码相似性检测方法,其主要步骤包括:对二进制文件进行逆向分析,提取函数的调用关系特征、字符串特征、栈空间特征、代码规模特征、路径序列特征、路径基本特征,度序列特征、度基本特征,图规模特征等9个方面共24个特征。基于特征的表现形式,采用3种相似度计算方法计算待比较的两个函数的24个特征的相似程度,作为集成神经网络分类器的输入向量,获得两个函数整体相似度的预测值并进行排序。本发明与现有的技术比,不依赖特定的指令集,可以实现不同指令集的二进制文件的相似度检测,准确率高,技术简单,易于推广。

    一种嵌入式设备固件解压成功的判断方法

    公开(公告)号:CN105488531A

    公开(公告)日:2016-04-13

    申请号:CN201510855073.3

    申请日:2015-11-30

    IPC分类号: G06K9/62

    CPC分类号: G06K9/6256 G06K9/6268

    摘要: 本发明涉及一种嵌入式设备固件解压成功的判断方法,其主要步骤包括:试验样本集固件收集、固件熵谱获取、固件熵谱指纹特征提取、分类器训练及固件是否解压成功的判断。该方法采用处理图像信号的方法对固件熵谱作相应处理,提取了固件熵谱的多域综合特征;利用正向熵阈值和负向熵阈值之间的回差有效避免了熵值在多次穿越单一阈值时所产生的干扰;在训练分类器时,首先对固件熵谱特征作Z-Score标准化处理,再采用机器学习的思想和K折交叉验证的方法对分类器进行多次交叉重复训练;对于待测试固件,通过加权统计的方法对各分类器判断结果进行累计加权统计,以次数居多者作为对固件是否解压成功的最终判定结果,保证了所得结果的准确性。