基于神经网络模型和哈希匹配的SQL检测方法及系统与流程

文档序号:25482433发布日期:2021-06-15 21:42阅读:来源:国知局

技术特征:

1.一种基于神经网络模型和哈希匹配的sql检测方法,其特征在于,包括:

将获取的sql语句转化为sql语句模板,通过预设特征提取模型提取带标记sql语句模板集合的特征向量,所述标记用于表征sql语句模板正常或异常,将特征向量输入到神经网络模型中对其进行训练,将训练好的神经网络模型作为sql检测模型,用于识别sql语句是否异常;

构建带标记sql语句模板集合的哈希表,所述哈希表中的键值对用于表征sql语句模板为正常或异常;

获取用户访问数据库所使用的sql语句,并转化成sql语句模板,在所述哈希表中查找sql语句模板对应的标记,若查找成功则输出对应的标记结果;若查找失败,通过所述预设特征提取模型获取用户使用sql语句模板的特征向量,并输入到sql检测模型中,当输出结果为正常时,则将该sql语句模板及对应的标记更新到哈希表中,并检测下一条sql语句。

2.根据权利要求1所述的基于神经网络模型和哈希匹配的sql检测方法,其特征在于,还包括:当在哈希表中查找的标记结果为异常,或当sql检测模型输出结果为异常时,则发送异常信息给管理人员进行告警。

3.根据权利要求1所述的基于神经网络模型和哈希匹配的sql检测方法,其特征在于,在提取带标记sql语句模板集合的特征向量的语句的步骤之前、构建带标记sql语句模板集合的哈希表的步骤之前、及获取用户访问数据库所使用的sql语句之后,在所述哈希表中查找sql语句对应的标记的步骤之前,均对sql语句进行正规化处理得到sql语句模板。

4.根据权利要求3所述的基于神经网络模型和哈希匹配的sql检测方法,其特征在于,所述正规化处理包括:将sql语句中的数值重写为0,变量除外;将sql语句中的单引号引起的参数重写为#,空字符串除外;将换行转换为空格;将连续的空格合并为1个;去掉运算符两端空格;去掉数字前的正、负号;去掉注释内容,为注释添加占位符,连续的多个注释视为一个;谓词格式化,按照各数据库的对象名命名原则,统一语句中的非参数的词的大小写;去掉语句开头、结尾的空格;在谓词和+/-号之间,如果没有空格或者注释,添加空格。

5.根据权利要求1基于神经网络模型和哈希匹配的sql检测方法,其特征在于,所述预设特征提取模型包括:词袋模型。

6.根据权利要求1基于神经网络模型和哈希匹配的sql检测方法,其特征在于,所述预设特征提取模型、哈希表和sql检测模型保存在外存上,在对用户访问数据库所使用的sql语句进行检测时,将所述预设特征提取模型、哈希表和sql检测模型保存到需要部署的服务器中。

7.一种基于神经网络模型和哈希匹配的sql检测系统,其特征在于,包括:

模型训练模块,用于将获取的sql语句转化为sql语句模板,通过预设特征提取模型提取带标记sql语句模板集合的特征向量,所述标记用于表征sql语句模板正常或异常,将特征向量输入到神经网络模型中对其进行训练,将训练好的神经网络模型作为sql检测模型,用于识别sql语句模板是否异常;

哈希表构建模块,用于构建带标记sql语句模板集合的哈希表,所述哈希表中的键值对用于表征sql语句模板为正常或异常;

用户sql语句检测模块,用于获取用户访问数据库所使用的sql语句,并转化成sql语句模板,在所述哈希表中查找sql语句模板对应的标记,若查找成功则输出对应的标记结果;若查找失败,通过所述预设特征提取模型获取用户使用sql语句模板的特征向量,并输入到sql检测模型中,当输出结果为正常时,则将该sql语句模板及对应的标记更新到哈希表中,并检测下一条sql语句。

8.一种计算机设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1-6中任一所述的基于神经网络模型和哈希匹配的sql检测方法。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行1-6中任一所述的基于神经网络模型和哈希匹配的sql检测方法。


技术总结
本发明公开了一种基于神经网络模型和哈希匹配的SQL检测方法及系统,将获取的SQL语句转化为SQL语句模板,通过提取带标记SQL语句模板集合的特征向量输入到神经网络模型中对其进行训练,训练好的模型识别SQL语句是否异常;构建带标记SQL语句模板集合的哈希表;获取用户访问数据库所使用的SQL语句,将SQL语句转化为SQL语句模板,在哈希表中查找SQL语句模板对应的标记,若查找成功输出标记结果;查找失败获取SQL语句模板的特征向量输入到神经网络模型中,输出结果为正常时将该SQL语句模板及对应的标记更新到哈希表并检测下一条SQL语句,异常时发送异常信息给管理人员告警,本发明可以同时在大数据量和小数据量的情境中保证高效、准确的异常SQL检测效果。

技术研发人员:周诚;李伟伟;汪晨;何金栋
受保护的技术使用者:全球能源互联网研究院有限公司;国网福建省电力有限公司电力科学研究院;国家电网有限公司
技术研发日:2021.03.02
技术公布日:2021.06.15
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1