漏洞检测方法、装置、设备及存储介质制造方法及图纸

技术编号:36862394 阅读:47 留言:0更新日期:2023-03-15 18:39
本发明专利技术公开了一种漏洞检测方法、装置、设备及存储介质,该方法包括对获取到的待检测Java数据进行预处理,获得处理后的Java数据,根据处理后的Java数据的数据类型采用对应的数据表征策略对处理后的Java数据进行向量映射,获得目标特征向量,通过包含注意力机制的目标BiLSTM模型对目标特征向量进行漏洞检测,获得检测结果。本发明专利技术通过与Java数据的数据类型对应的数据表征策略获取目标特征向量,再由包含注意力机制的目标BiLSTM模型对目标特征向量进行漏洞检测,相较于现有技术通过人工检测漏洞的方法,本发明专利技术克服了人工检测的局限性,及时发现软件中最有可能受到攻击的漏洞,避免了安全隐患。避免了安全隐患。避免了安全隐患。

【技术实现步骤摘要】
漏洞检测方法、装置、设备及存储介质


[0001]本专利技术涉及互联网
,尤其涉及一种漏洞检测方法、装置、设备及存储介质。

技术介绍

[0002]目前,信息安全问题时刻都有新的变化,新的攻击方法层出不穷,黑客攻击的方向越来越侧重于利用软件本身的安全漏洞,例如反序列化漏洞、代码执行漏洞、命令执行等。现如今一般通过人工检测来发现软件中存在的漏洞,但由于这些漏洞隐藏在程序代码之间,人工检测存在局限性,不能及时发现软件中最有可能受到攻击的漏洞,导致安全隐患。
[0003]上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术。

技术实现思路

[0004]本专利技术的主要目的在于提供了一种漏洞检测方法、装置、设备及存储介质,旨在解决现有技术通过人工检测漏洞的方法无法及时发现软件中最有可能受到攻击的漏洞的技术问题。
[0005]为实现上述目的,本专利技术提供了一种漏洞检测方法,所述漏洞检测方法包括以下步骤:对获取到的待检测Java数据进行预处理,获得处理后的Java数据;根据所述处理后的Java数据的数据类型采用对应的数据表征策略对所述处理后的Java数据进行向量映射,获得目标特征向量;通过包含注意力机制的目标BiLSTM模型对所述目标特征向量进行漏洞检测,获得检测结果。
[0006]可选地,所述根据所述处理后的Java数据的数据类型采用对应的数据表征策略对所述处理后的Java数据进行向量映射,获得目标特征向量的步骤,包括:基于数据类型对所述处理后的Java数据进行分类;将所述处理后的Java数据中不可编译为汇编指令的源代码数据作为第一Java数据;采用源代码数据表征策略对所述第一Java数据进行向量映射,获得目标特征向量。
[0007]可选地,所述采用源代码数据表征策略对所述第一Java数据进行向量映射,获得目标特征向量的步骤,包括:将所述第一Java数据进行解析为初始抽象语法树,并对所述初始抽象语法树中各树节点上的语法结构信息进行编码;将编码后的语法结构信息作为所述第一Java数据的初始特征;基于预设开源工具获得所述第一Java数据之间的控制依赖关系和数据依赖关系;
将所述控制依赖关系和所述数据依赖关系融入至所述初始特征中,获得目标抽象语法树;对所述目标抽象语法树进行向量映射,获得目标特征向量。
[0008]可选地,所述基于预设开源工具获得所述第一Java数据之间的控制依赖关系和数据依赖关系的步骤,包括:通过预设开源工具对所述第一Java数据进行转换,获得程序依赖图;基于所述程序依赖图获得控制流图和控制依赖图;根据所述控制依赖图获得第一Java数据之间的控制依赖关系;对所述控制流图进行数据流分析,获得第一Java数据之间的数据依赖关系。
[0009]可选地,所述基于数据类型对所述处理后的Java数据进行分类的步骤之后,还包括:将所述处理后的Java数据中不可编译为汇编指令的源代码数据之外的数据作为第二Java数据;采用汇编指令数据表征策略对所述第二Java数据进行向量映射,获得目标特征向量。
[0010]可选地,所述采用汇编指令数据表征策略对所述第二Java数据进行向量映射,获得目标特征向量的步骤,包括:对所述第二Java数据进行编译,获得Java汇编指令;提取所述Java汇编指令中的各单词信息,并确定各单词信息对应的词向量,并基于所述各单词信息以及所述词向量构建查找表;获取所述查找表中与Java汇编指令操作码和Java汇编指令操作数对应的目标单词信息;将所述目标单词信息对应的词向量填充至预设向量矩阵,获得目标特征向量。
[0011]可选地,所述对获取到的待检测Java数据进行预处理,获得处理后的Java数据的步骤之前,还包括:对获取到的Java数据进行预处理,获得待训练Java数据;基于所述待训练Java数据构建漏洞模型训练样本;根据所述待训练Java数据的数据类型采用对应的数据表征策略对所述漏洞模型训练样本进行向量映射,获得待训练特征向量;通过所述待训练目标特征向量对包含注意力机制的初始BiLSTM模型进行迭代训练,获得包含注意力机制的目标BiLSTM模型。
[0012]此外,为实现上述目的,本专利技术还提出一种漏洞检测装置,所述装置包括:数据预处理模块,用于对获取到的待检测Java数据进行预处理,获得处理后的Java数据;数据表征模块,用于根据所述处理后的Java数据的数据类型采用对应的数据表征策略对所述处理后的Java数据进行向量映射,获得目标特征向量;漏洞检测模块,用于通过包含注意力机制的目标BiLSTM模型对所述目标特征向量进行漏洞检测,获得检测结果。
[0013]此外,为实现上述目的,本专利技术还提出一种漏洞检测设备,所述设备包括:存储器、
处理器及存储在所述存储器上并可在所述处理器上运行的漏洞检测程序,所述漏洞检测程序配置为实现如上文所述的漏洞检测方法的步骤。
[0014]此外,为实现上述目的,本专利技术还提出一种存储介质,所述存储介质上存储有漏洞检测程序,所述漏洞检测程序被处理器执行时实现如上文所述的漏洞检测方法的步骤。
[0015]本专利技术通过对获取到的待检测Java数据进行预处理,获得处理后的Java数据,然后根据处理后的Java数据的数据类型采用对应的数据表征策略对处理后的Java数据进行向量映射,获得目标特征向量,最后通过包含注意力机制的目标BiLSTM模型对目标特征向量进行漏洞检测,获得检测结果。由于本专利技术是根据与Java数据的数据类型对应的数据表征策略获取目标特征向量,再由包含注意力机制的目标BiLSTM模型对目标特征向量进行漏洞检测,相较于现有技术通过人工检测漏洞的方法,本专利技术上述方法可以克服人工检测的局限性,及时发现软件中最有可能受到攻击的漏洞,有效避免了安全隐患。
附图说明
[0016]图1是本专利技术实施例方案涉及的硬件运行环境的漏洞检测设备的结构示意图;图2为本专利技术漏洞检测方法第一实施例的流程示意图;图3为本专利技术漏洞检测方法第二实施例的流程示意图;图4为本专利技术漏洞检测方法第二实施例初始抽象语法树示意图;图5为本专利技术漏洞检测方法第二实施例中涉及的程序依赖图;图6为本专利技术漏洞检测方法第三实施例的流程示意图;图7为本专利技术漏洞检测方法第三实施例向量填充过程示意图;图8为本专利技术漏洞检测方法第四实施例的流程示意图;图9为本专利技术漏洞检查方法第四实施例中包含注意力机制的初始BiLSTM模型结构示意图;图10为本专利技术漏洞检测装置第一实施例的结构框图。
[0017]本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0018]应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。
[0019]参照图1,图1为本专利技术实施例方案涉及的硬件运行环境的漏洞检测设备结构示意图。
[0020]如图1所示,该漏洞检测设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线10本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种漏洞检测方法,其特征在于,所述漏洞检测方法包括以下步骤:对获取到的待检测Java数据进行预处理,获得处理后的Java数据;根据所述处理后的Java数据的数据类型采用对应的数据表征策略对所述处理后的Java数据进行向量映射,获得目标特征向量;通过包含注意力机制的目标BiLSTM模型对所述目标特征向量进行漏洞检测,获得检测结果。2.如权利要求1所述的漏洞检测方法,其特征在于,所述根据所述处理后的Java数据的数据类型采用对应的数据表征策略对所述处理后的Java数据进行向量映射,获得目标特征向量的步骤,包括:基于数据类型对所述处理后的Java数据进行分类;将所述处理后的Java数据中不可编译为汇编指令的源代码数据作为第一Java数据;采用源代码数据表征策略对所述第一Java数据进行向量映射,获得目标特征向量。3.如权利要求2所述的漏洞检测方法,其特征在于,所述采用源代码数据表征策略对所述第一Java数据进行向量映射,获得目标特征向量的步骤,包括:将所述第一Java数据进行解析为初始抽象语法树,并对所述初始抽象语法树中各树节点上的语法结构信息进行编码;将编码后的语法结构信息作为所述第一Java数据的初始特征;基于预设开源工具获得所述第一Java数据之间的控制依赖关系和数据依赖关系;并将所述控制依赖关系和所述数据依赖关系融入至所述初始特征中,获得目标抽象语法树;对所述目标抽象语法树进行向量映射,获得目标特征向量。4.如权利要求3所述的漏洞检测方法,其特征在于,所述基于预设开源工具获得所述第一Java数据之间的控制依赖关系和数据依赖关系的步骤,包括:通过预设开源工具对所述第一Java数据进行转换,获得程序依赖图;基于所述程序依赖图获得控制流图和控制依赖图;根据所述控制依赖图获得第一Java数据之间的控制依赖关系;对所述控制流图进行数据流分析,获得第一Java数据之间的数据依赖关系。5.如权利要求2所述的漏洞检测方法,其特征在于,所述基于数据类型对所述处理后的Java数据进行分类的步骤之后,还包括:将所述处理后的Java数据中不可编译为汇编指令的源代码数据之外的数据作...

【专利技术属性】
技术研发人员:万振华
申请(专利权)人:深圳开源互联网安全技术有限公司
类型:发明
国别省市:

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

1