基于深度学习的SQL注入检测方法、装置和存储介质制造方法及图纸

技术编号:39187399 阅读:9 留言:0更新日期:2023-10-27 08:34
本申请涉及一种基于深度学习的SQL注入检测方法、装置和存储介质,通过获取测试数据集;对所述测试数据集中的各所述SQL原始样本分别进行特征提取,生成对应的各个特征矩阵;将各所述特征矩阵输入训练后的目标检测模型中,获取各所述SQL原始样本的SQL注入概率,得到对应的注入检测结果,所述训练后的目标检测模型利用训练数据集进行训练得到,所述训练数据集包括被标记的多个SQL注入样本和被标记的多个非SQL注入样本。采用本方法解决了利用传统正则表达式进行注入检测带来的时间不可控、运算时间长的问题,实现高效率的SQL的注入检测,提高了SQL注入检测的准确率。了SQL注入检测的准确率。了SQL注入检测的准确率。

【技术实现步骤摘要】
基于深度学习的SQL注入检测方法、装置和存储介质


[0001]本申请涉及机器学习
,特别是涉及一种基于深度学习的SQL注入检测方法、装置和存储介质。

技术介绍

[0002]随着“5G”时代的到来,云数据量呈现爆炸式增长,可以说每个人都被网络数字所包围,与此同时,网络安全理所当然成为炙手可热的话题。用户使用的每个浏览器、应用app甚至用户本身,都会被各大企业以数据的形式存放于数据库中。不论是对于个人用户还是对于企业来说,有数据的地方,就存在被入侵的危险。而不法分子往往会利用程序中的漏洞进行网络攻击,造成个人信息盗取、数据信息滥用、服务器瘫痪,甚至盗取钱财等后果。
[0003]近年来,针对SQL注入检测的研究也偶有出现,但是大部分采用了SVM等基础框架,或者使用人工编写的正则表达式结合沙箱来实现SQL的注入检测,但采用这些传统方法非常依赖于人工的经验,因此取得的检测效果十分有限,并且非常耗时,实用性差。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种能够提高SQL注入检测准确率以及减少检测时间、提高检测效率的基于深度学习的SQL注入检测方法、装置和计算机可读存储介质。
[0005]第一方面,本申请提供了一种基于深度学习的SQL注入检测方法,所述方法包括:
[0006]获取测试数据集,所述测试数据集包括采集到的多个SQL原始样本;
[0007]对所述测试数据集中的各所述SQL原始样本分别进行特征提取,生成对应的各个特征矩阵;
[0008]将各所述特征矩阵输入训练后的目标检测模型中,获取各所述SQL原始样本的SQL注入概率,得到对应的注入检测结果,所述训练后的目标检测模型利用训练数据集进行训练得到,所述训练数据集包括被标记的多个SQL注入样本和被标记的多个非SQL注入样本。
[0009]在其中一个实施例中,所述对所述测试数据集中的各所述SQL原始样本分别进行特征提取,生成对应的各个特征矩阵包括:
[0010]对所述SQL原始样本进行分词操作,并对分词后的所述SQL原始样本进行非关键词替换,得到所述SQL原始样本对应的字符串序列;
[0011]基于所述字符串序列,生成所述特征矩阵。
[0012]在其中一个实施例中,所述基于所述字符串序列,生成所述特征矩阵包括:
[0013]对所述字符串序列中的每个字符进行低维映射,得到所述每个字符对应的特征向量;
[0014]基于各所述特征向量,生成所述特征矩阵。
[0015]在其中一个实施例中,所述目标检测模型包括多层双向长短时记忆网络模型,将各所述特征矩阵输入所述训练后的目标检测模型中,利用每一层得到的所述特征矩阵的输
出量作为下一层的输入量后,使用多个全连接层将所述特征矩阵转换成一维向量,利用归一化指数函数,对所述一维向量进行映射,得到所述SQL注入概率的值。
[0016]在其中一个实施例中,所述将各所述特征矩阵输入训练后的目标检测模型中,获取各所述SQL原始样本的SQL注入概率,得到对应的注入检测结果包括:
[0017]若所述SQL注入概率小于第一阈值,则所述SQL原始样本的注入检测结果为未注入状态;
[0018]若所述SQL注入概率大于第二阈值,则所述SQL原始样本的注入检测结果为注入状态;
[0019]若所述SQL注入概率大于所述第一阈值且小于所述第二阈值,则所述SQL原始样本的注入检测结果为检测错误状态。
[0020]在其中一个实施例中,若所述SQL注入概率大于所述第一阈值且小于所述第二阈值,则所述SQL原始样本的注入检测结果为检测错误状态,重新获取所述SQL原始样本的特征矩阵,输入所述训练后的目标检测模型,得到更新后的SQL注入概率以及对应的注入检测结果。
[0021]在其中一个实施例中,所述利用训练数据集进行训练包括:
[0022]对所述训练数据集中所述被标记的多个SQL注入样本和所述被标记的多个非SQL注入样本进行特征提取,生成对应的各训练特征矩阵;
[0023]将各所述训练特征矩阵输入所述目标检测模型中,得到各所述训练特征矩阵的SQL注入概率,获取对应的注入检测结果,直到所述注入检测结果的总检出率大于设定阈值。
[0024]第二方面,本申请还提供了一种基于深度学习的SQL注入检测装置,所述装置包括:
[0025]数据获取模块,用于获取测试数据集,所述测试数据集包括采集到的多个SQL原始样本;
[0026]特征提取模块,用于对所述测试数据集中的各所述SQL原始样本分别进行特征提取,生成对应的各个特征矩阵;
[0027]注入检测模块,用于将各所述特征矩阵输入训练后的目标检测模型中,获取各所述SQL原始样本的SQL注入概率,得到对应的注入检测结果,所述训练后的目标检测模型利用训练数据集进行训练得到,所述训练数据集包括被标记的多个SQL注入样本和被标记的多个非SQL注入样本。
[0028]第三方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面的内容。
[0029]第四方面,本申请还提供了一种计算机程序产品,所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面的内容。
[0030]上述基于深度学习的SQL注入检测方法、装置和存储介质,通过获取测试数据集;对所述测试数据集中的各所述SQL原始样本分别进行特征提取,生成对应的各个特征矩阵;将各所述特征矩阵输入训练后的目标检测模型中,获取各所述SQL原始样本的SQL注入概率,得到对应的注入检测结果,所述训练后的目标检测模型利用训练数据集进行训练得到,所述训练数据集包括被标记的多个SQL注入样本和被标记的多个非SQL注入样本,解决了利
用传统正则表达式进行注入检测带来的时间不可控、运算时间长的问题,实现高效率的SQL的注入检测,提高了SQL注入检测的准确率。
附图说明
[0031]图1为一个实施例中基于深度学习的SQL注入检测方法的应用环境图;
[0032]图2为一个实施例中基于深度学习的SQL注入检测方法的流程示意图;
[0033]图3为一个实施例中S204步骤的流程示意图;
[0034]图4为一个实施例中S304步骤的流程示意图;
[0035]图5为一个实施例中S206步骤的流程示意图;
[0036]图6为一个实施例中利用训练数据集对所述目标检测模型进行训练的流程示意图;
[0037]图7为一个实施例中基于深度学习的SQL注入检测装置的结构框图;
[0038]图8为一个实施例中计算机设备的内部结构图。
具体实施方式
[0039]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于深度学习的SQL注入检测方法,其特征在于,所述方法包括:获取测试数据集,所述测试数据集包括采集到的多个SQL原始样本;对所述测试数据集中的各所述SQL原始样本分别进行特征提取,生成对应的各个特征矩阵;将各所述特征矩阵输入训练后的目标检测模型中,获取各所述SQL原始样本的SQL注入概率,得到对应的注入检测结果,所述训练后的目标检测模型利用训练数据集进行训练得到,所述训练数据集包括被标记的多个SQL注入样本和被标记的多个非SQL注入样本。2.根据权利要求1所述的方法,其特征在于,所述对所述测试数据集中的各所述SQL原始样本分别进行特征提取,生成对应的各个特征矩阵包括:对所述SQL原始样本进行分词操作,并对分词后的所述SQL原始样本进行非关键词替换,得到所述SQL原始样本对应的字符串序列;基于所述字符串序列,生成所述特征矩阵。3.根据权利要求2所述的方法,其特征在于,所述基于所述字符串序列,生成所述特征矩阵包括:对所述字符串序列中的每个字符进行低维映射,得到所述每个字符对应的特征向量;基于各所述特征向量,生成所述特征矩阵。4.根据权利要求1所述的方法,其特征在于,所述目标检测模型包括多层双向长短时记忆网络模型,将各所述特征矩阵输入所述训练后的目标检测模型中,利用每一层得到的所述特征矩阵的输出量作为下一层的输入量后,使用多个全连接层将所述特征矩阵转换成一维向量,利用归一化指数函数,对所述一维向量进行映射,得到所述SQL注入概率的值。5.根据权利要求1所述的方法,其特征在于,所述将各所述特征矩阵输入训练后的目标检测模型中,获取各所述SQL原始样本的SQL注入概率,得到对应的注入检测结果包括:若所述SQL注入概率小于第一阈值,则所述SQL原始样本的注入检测结果为未注入状态;若所述SQL注入概率大于第二阈值,则所述SQL...

【专利技术属性】
技术研发人员:胡瀚璋廖喜君董昊昊
申请(专利权)人:杭州安恒信息技术股份有限公司
类型:发明
国别省市:

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

1