(19)中华人民共和国国家知识产权局
(12)发明专利说明书
(10)申请公布号 CN 112861131 A
(43)申请公布日 2021.05.28
(21)申请号 CN202110173051.4
(22)申请日 2021.02.08
(71)申请人 山东大学
    地址 250101 山东省济南市高新区舜华路1500号
(72)发明人 王风宇 刘学谦 孔健
(74)专利代理机构 37221 济南圣达知识产权代理有限公司
    代理人 李圣梅
(51)Int.CI
      G06F21/56(20130101)
      G06F17/15(20060101)
      G06F17/16(20060101)
      G06F8/52(20180101)
      G06F8/53(20180101)
      G06N3/04(20060101)
      G06N3/08(20060101)
                                                                  权利要求说明书 说明书 幅图
(54)发明名称
      基于卷积自编码器的库函数识别检测方法及系统
正则匹配快代理
(57)摘要
      本公开提出了基于卷积自编码器的库函数识别检测方法及系统,包括:从各待测软件中提取出二进制函数对应的指令序列,然后提取出指令序列中的操作码;对两个操作码的连续序列进行计数,来为每个函数构造一个共现矩阵,用以作为输入来训练卷积自编码器模型,利用卷积自编码器模型进行瓶颈特征的提取,完成模型训练;用训练后的模型对库函数进行编码,然后对库函数进行相似性分析,识别出相似性系数最高的库函数并作为最终匹配项。拥有很好的泛用性,对各种新引入的匹配对象可以直接进行标记,并且获得很好的效果。
法律状态
法律状态公告日
法律状态信息
法律状态
2021-05-28
公开
公开
2021-06-15
实质审查的生效
实质审查的生效
2022-04-08
授权
发明专利权授予
权 利 要 求 说 明 书
1.基于卷积自编码器的库函数识别检测方法,其特征是,包括:
从各待测软件中提取出二进制函数对应的指令序列,然后提取出指令序列中的操作码;
对两个操作码的连续序列进行计数,来为每个函数构造一个共现矩阵,用以作为输入来训练卷积自编码器模型,利用卷积自编码器模型进行瓶颈特征的提取,完成模型训练;
用训练后的模型对库函数进行编码,然后对库函数进行相似性分析,识别出相似性系数最高的库函数并作为最终匹配项。
2.如权利要求1所述的基于卷积自编码器的库函数识别检测方法,其特征是,为了训练卷积自编码器模型,在开放平台上随机收集各版本、各类型的软件文件构成数据集,分别作为训练、验证和测试。
3.如权利要求1所述的基于卷积自编码器的库函数识别检测方法,其特征是,通过将操作码指令序列转换为一组n-grams,将其嵌入向量空间中,n-gram是来自给定样本的n个项目的连续序列。
4.如权利要求1所述的基于卷积自编码器的库函数识别检测方法,其特征是,对两个操作码的连续序列进行计数,操作码的连续序列即操作码的bi-gram,将bi-gram频率序列转换为共现矩阵,通过计算两个或多个操作码在给定指令集中共同出现的频率,进而从bi-gram频率序列构造操作码共现矩阵,来表示所有操作码对的bi-gram频率。
5.如权利要求1所述的基于卷积自编码器的库函数识别检测方法,其特征是,卷积自编码器,由结构对称的两个
卷积神经网络构成,在编码器中,在每个卷积层和整流层之间添加了一个批量归一化即BN层,BN层用于规范化输入以加快网络收敛速度,以及使输出的分布更符合数据的真实分布,使用完全连接的层来连接所有函数并生成代码。
6.如权利要求1所述的基于卷积自编码器的库函数识别检测方法,其特征是,对库函数进行相似性分析时,目标软件的函数代码集为A,函数库的函数代码集为B,对于A中的函数依次计算其与B中每个函数的相似性系数,并且相似性系数最高的库函数是最终匹配项。
7.如权利要求1所述的基于卷积自编码器的库函数识别检测方法,其特征是,将相似系数超过阈值的函数对根据相似系数从高到低排序;
队列开头的函数对作为匹配项被迁移到匹配队列,同时包含匹配项的任何一个函数的所有函数对也从队列中被删除;
重复该过程,直到队列为空;
最后,保留在匹配队列中的各匹配项,为本方案的最终匹配项。
8.基于卷积自编码器的库函数识别检测系统,其特征是,包括:
操作码提取模块,从各待测软件中提取出二进制函数对应的指令序列,然后提取出指令序列中的操作码;
模型训练模块,对两个操作码的连续序列进行计数,来为每个函数构造一个共现矩阵,用以作为输入来训练卷积自编码器模型,利用卷积自编码器模型进行瓶颈特征的提取,完成模型训练;
库函数识别模块,用训练后的模型对库函数进行编码,然后对库函数进行相似性分析,识别出相似性系数最高的库函数并作为最终匹配项。
9.一种计算装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征是,所述处理器执行所述程序时实现上述权利要求1-7任一所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征是,该程序被处理器执行时执行上述权利要求1-7任一所述的方法的步骤。
说  明  书
<p>技术领域
本公开属于计算机技术领域,尤其涉及基于卷积自编码器的库函数识别检测方法及系统。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
二进制代码分析,也称为二进制分析,是通过分析软件的原始二进制文件以提取其内部设计和实现方法的实践。对于代码分析人员,二进制代码包含大量可以检索的信息,如代码(指令、基本块和函数)、结构(控制和数据流)和数据(全局变量和堆栈变量)。此外,二进制分析提供了有关程序行为的基本写实,因为计算机执行的是二进制文件(可执行文件),而不是直接执行源代码。在源代码不可用甚至二进制代码可能被混淆的情况下,二进制分析对于保护程序、防止恶意代码注入和篡改有着重要的意义。此外,随着当今大多数网络安全威胁从网络级攻击转移到应用层,二进制代码分析变得更加重要。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。