(19)国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202210434518.0
(22)申请日 2022.04.24
(65)同一申请的已公布的文献号
申请公布号 CN 114528015 A
(43)申请公布日 2022.05.24
(73)专利权人 湖南泛联新 安信息科技有限公司
地址 410005 湖南省长 沙市开福区伍家岭
街道栖凤路486号凯乐微谷商务中心1
栋1710、 171 1房
(72)发明人 吴潇 杨智霖 鲁俊
(74)专利代理 机构 长沙市护航专利代理事务所
(特殊普通 合伙) 43220
专利代理师 莫晓齐
(51)Int.Cl.
G06F 8/75(2018.01)G06F 8/53(2018.01)
G06F 40/194(2020.01)
G06F 40/30(2020.01)
G06N 3/08(2006.01)
(56)对比文件
CN 101315 599 A,2008.12.03
CN 112613040 A,2021.04.0 6
审查员 陈玉艳
(54)发明名称
二进制可执行文件同源分析方法、 计算机设
备及存储介质
(57)摘要
本发明具体公开了一种二进制可执行文件
同源分析方法、 计算机设备及存储介质, 所述方
法包括: 生成二进制可执行文件对应的函数控制
流图; 在高维向量空间中生 成对应的指令向量和
基本块向量; 基于预设神经网络模 型获取同维度
的函数向量矩阵; 将函数向量矩阵进行矩阵相乘
后并按照从大到小进行排序, 进而获取相似函数
对, 利用相似函数对进行查找即可得到匹配结
果。 本发明将自然语言处理的双向多层转换编码
器应用到汇编代码语言的语义生成上, 通过在同
维度的高维向量空间中生成对应的指令向量和
基本块向量, 并将函数控制流图与基本块向量结
合得到对应的函数语义向量, 基于相似函数对查
找实现同源分析, 具有鲁棒性强、 运行速度快和
测试效果 好的特点。
权利要求书1页 说明书4页 附图1页
CN 114528015 B
2022.07.29
CN 114528015 B
1.二进制可 执行文件同源分析 方法, 其特 征在于, 所述方法包括以下步骤:
S1、 利用反汇编工具将二进制可执行文件转换成汇编代码, 并基于汇编代码生成二进
制可执行文件对应的函数控制流图;
S2、 利用自然语言处理的双向多层转换编码器将汇编代码和函数控制流图的基本块分
别映射到高维向量上以生成对应的指 令向量, 并基于所生成的指 令向量获取对应函数控制
流图的基本块向量;
S3、 基于步骤S2中函数控制流图的基本块向量生成对应的函数语义向量, 并将函数语
义向量输入预设神经网络模型中得到高维向量空间中函数控制流图的函数向量矩阵;
S4、 将函数控制流图的函数向量矩阵进行矩阵相乘后按照从大到小进行排序, 进而获
取相似函数对, 利用相似函数对查找即可 得到匹配结果,
所述反汇编工具为 IDA Pro反汇编器,
所述函数控制流图的基本块由二进制可 执行文件的指令序列组成,
所述高维向量 为128维向量,
其特征在于, 所述步骤S3中的预设神经网络模型为有监督训练的神经网络模型, 其训
练过程为: 首先编译生成具有调试信息的二进制可执行文件, 根据二进制可执行文件的调
试信息得到对应函数名称并生成训练集, 利用所生成的训练集对神经网络模型进行训练,
直至来自同一源代码且名称相同的函数所映射得到的向量在128维向量空间中距离相近,
进而得到预设神经网络模型。
2.如权利要求1所述的二进制可执行文件同源分析方法, 其特征在于, 所述步骤S4的具
体实现方式为: 将每一个函数控制流图的函数向量矩阵中的所有向量进 行单位化以使对应
向量的模长为 1, 然后将单位化处理后函数向量矩阵进 行矩阵相乘, 再将相乘后的矩阵中每
一列均按照从大到小排序以获取相似函数对, 最后利用所生成的相似函数对查找即可得到
匹配结果。
3.如权利要求2所述的二进制可执行文件同源分析方法, 其特征在于, 所述步骤S4中的
矩阵相乘用公式表示 为:
(1)
式 (1) 中,
表示其中第
个二进制文件对应 单位化处理后的函数向量矩阵,
表示其
中第
个二进制文件对应单位化处理后的函数向量矩阵, 其中
,
表示单位化处理
后的两个函数向量矩阵相乘后的结果,
表示矩阵转置 。
4.一种计算机设备, 包括存储器、 处理器及存储在存储器上并可在处理器上运行的计
算机程序, 其特征在于, 所述处理器执行所述计算机程序时实现权利要求1至3中任一项所
述二进制可 执行文件同源分析 方法的步骤。
5.一种计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 该计算机程序被处
理器执行时实现权利要求1至 3中任一项所述 二进制可 执行文件同源分析 方法的步骤。权 利 要 求 书 1/1 页
2
CN 114528015 B
2二进制可 执行文件同源分析方 法、 计算机设 备及存储介质
技术领域
[0001]本发明涉及计算机软件技术领域, 尤其涉及一种二进制可执行文件同源分析方
法、 计算机设备及存 储介质。
背景技术
[0002]二进制代码同源检测是软件工程领域和程序安全领域是一项重要的技术, 用于
检测两个给定的二进制片段是否相似, 已被广泛应用于漏洞搜索、 恶意代码识别、 补丁分析
和抄袭检测等软件安全分析任务中。 目前 该技术主要包括以下几种方式:
[0003]1、 以商业反汇编工具 (BinDiff) 为代表, 采用函数原始字节哈希、 函数调用图、 控
制流图结构、 字符串作为特征, 使用多种启发式算法进 行匹配; 这些方法主要 是对控制流或
数据流图同构或图分解算法计算相似度, 并用匈牙利算法进行匹配, 当他们使用的特征出
现偏差时, 例如不同编译优化选项引入偏差, 可能会其结果造成较大影响。
[0004]2、 将近年来的机器学习方法应用到二进制代码同源检测工作中, 通过手动选择特
征使用图神经网络进行函数匹配, 这些方法需要手动选择二进制特征, 对用户的专业技术
要求非常高, 并且选择的二进制特 征范围有限, 难以充分捕获二进制代码片段的语义。
[0005]3、 将自然语言处理方法应用到二进制代码同源检测中, 这些方法不需要任何的先
验证选择特征, 而是采用无监督的学习算法自动提取二进制代码片段的语义并生成语义表
示进行同源性检测, 然而他们需要把自然语言处理技术直接用到二进制代码同源检测中,
忽视了二进制代码和自然语言的差异, 从而带来 误差。
[0006]鉴于此, 研究一种测试效果好、 运行速度快和鲁棒性强的二进制 可执行文件同源
分析方法、 计算机设备及存 储介质是本技 术领域人员急需解决的技 术问题。
发明内容
[0007]为解决上述技术问题, 本发明提供的一种二进制 可执行文件同源分析方法, 所述
方法包括以下步骤:
[0008]S1、 利用反汇编工具将二进制可执行文件转换成汇编代码, 并基于汇编代码生成
二进制可 执行文件对应的函数控制流图;
[0009]S2、 利用自然语言处理的双向多层转换编码器将汇编 代码和函数控制流图的基本
块分别映射到高维向量上以生成对应的指 令向量, 并基于所生成的指 令向量获取对应函数
控制流图的基本块向量;
[0010]S3、 基于步骤S2中函数控制流图的基本块向量生成对应的函数语义向量, 并将函
数语义向量输入预设神经网络模型中得到高维向量空间中函数控制流图的函数向量矩阵;
[0011]S4、 将函数控制流图的函数向量矩阵进行矩阵相乘后按照从大到小进行排序, 进
而获取相似函数对, 利用相似函数对查找即可 得到匹配结果。
[0012]上述的二进制可 执行文件同源分析 方法, 所述反汇编工具为 IDA Pro反汇编器。
[0013]上述的二进制可执行文件同源分析方法, 所述函数控制流图的基本块由二进制可说 明 书 1/4 页
3
CN 114528015 B
3
专利 二进制可执行文件同源分析方法、计算机设备及存储介质
文档预览
中文文档
7 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共7页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 17:47:59上传分享