[发明专利]SQL安全检查方法、系统、装置及存储介质在审
申请号: | 202111087066.5 | 申请日: | 2021-09-16 |
公开(公告)号: | CN113742367A | 公开(公告)日: | 2021-12-03 |
发明(设计)人: | 刘乐;范渊;黄进 | 申请(专利权)人: | 杭州安恒信息技术股份有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F21/62 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 刘珂 |
地址: | 310000 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sql 安全检查 方法 系统 装置 存储 介质 | ||
1.一种SQL安全检查方法,其特征在于,包括:
接收用户终端上传的SQL请求;
利用基于LALR文法实现的有限状态自动机和预先配置的安全策略对所述SQL请求进行安全检查;
如果所述SQL请求通过所述安全检查,则允许访问数据库;
如果所述SQL请求未通过所述安全检查,则根据所述安全策略,进行告警。
2.根据权利要求1所述的SQL安全检查方法,其特征在于,所述利用基于LALR文法实现的有限状态自动机和预先配置的安全策略对所述SQL请求进行安全检查的过程,包括:
利用基于LALR文法实现的所述有限状态自动机对所述SQL请求进行拆解,得到逻辑语句;
对逻辑语句进行注入检查。
3.根据权利要求1所述的SQL安全检查方法,其特征在于,所述利用基于LALR文法实现的所述有限状态自动机对所述SQL请求进行拆解,得到多个逻辑语句的过程,包括:
利用所述有限状态自动机和预设的关键字对所述SQL请求进行拆解,得到包括多个单词的单词集;
从所述单词集中提取预设的核心关键字;
利用提取出的每个核心关键字的意义和在所述SQL请求中的位置,确定每个逻辑语句。
4.根据权利要求2所述的SQL安全检查方法,其特征在于,所述如果所述SQL请求未通过所述安全检查,则根据所述安全策略,进行告警的过程,包括:
如果所述SQL请求未通过所述安全检查,则根据所述安全策略,利用邮件、短信或站内信的方式告警,并记录告警信息至审计日志。
5.根据权利要求1至4任一项所述的SQL安全检查方法,其特征在于,所述对逻辑语句进行注入检查的过程,包括:
判断与所述逻辑语句对应的所述用户终端是否具备查询目标对象的权限。
6.一种SQL请求安全检查系统,其特征在于,包括:
语句接收模块,用于接收用户终端上传的SQL请求;
安全检查模块,用于利用基于LALR文法实现的有限状态自动机和预先配置的安全策略对所述SQL请求进行安全检查;
语句存储模块,用于如果所述SQL请求通过安全检查,则允许访问数据库;
告警模块,用于如果所述SQL请求未通过安全检查,则根据所述安全策略,进行告警。
7.根据权利要求6所述的SQL请求安全检查系统,其特征在于,所述安全检查模块,包括:
语句提取子模块,用于利用基于LALR文法实现的所述有限状态自动机对所述SQL请求进行拆解,得到逻辑语句;
语句检查子模块,用于对逻辑语句进行注入检查。
8.根据权利要求7所述的SQL请求安全检查系统,其特征在于,所述语句提取子模块,包括:
语句拆解单元,用于利用所述有限状态自动机和预设的关键字对所述SQL请求进行拆解,得到包括多个单词的单词集;
关键字提取单元,用于从所述单词集中提取预设的核心关键字;
语句提取单元,用于利用提取出的每个核心关键字的意义和在所述SQL请求中的位置,确定每个逻辑语句。
9.一种SQL请求安全检查装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至5任一项所述的SQL安全检查方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的SQL安全检查方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州安恒信息技术股份有限公司,未经杭州安恒信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111087066.5/1.html,转载请声明来源钻瓜专利网。