[发明专利]一种基于SQL签名的数据库保护方法及系统在审
申请号: | 202210073139.3 | 申请日: | 2022-01-21 |
公开(公告)号: | CN114444122A | 公开(公告)日: | 2022-05-06 |
发明(设计)人: | 叶劲宏;崔顺艳;孙宗锦;庄书琪;陈超 | 申请(专利权)人: | 广东省信息安全测评中心 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F21/64 |
代理公司: | 深圳新创友知识产权代理有限公司 44223 | 代理人: | 王震宇 |
地址: | 510098 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 sql 签名 数据库 保护 方法 系统 | ||
1.一种基于SQL签名的数据库保护方法,其特征在于,包括如下步骤:
S1、通过在应用服务和数据库服务间建立数据库安全代理网关,利用数据库安全代理网关接收来自应用的数据库访问请求,提取SQL语句;
S2、分析提取到的SQL语句,构造SQL语句的AST语法树,解释语义特征,提取SQL指纹生成SQL签名,以构建合法签名库;
S3、利用构建的签名库对所述数据库访问请求的所述SQL签名进行比对,以阻断不在所述合法签名库中的非法请求。
2.如权利要求1所述的基于SQL签名的数据库保护方法,其特征在于,步骤S2中,使用词法分析对SQL语句进行分解,得到一个个独立的关键字,并且组织成为关键字链表形式,根据数据库的SQL语法,对词法分析后的关键字链表进行语法结构分析,构造出SQL语句的AST语法树,并按照所述AST语法树分析该SQL语句的语义特征,提取SQL指纹。
3.如权利要求2所述的基于SQL签名的数据库保护方法,其特征在于,步骤S2中,所述SQL指纹包括命令类型、库表名、输出参数字段名、输入参数字段名、输入字段值、操作符、函数名、子查询中的一种或多种。
4.如权利要求3所述的基于SQL签名的数据库保护方法,其特征在于,所述命令类型包括查询、插入、更新、删除。
5.如权利要求1至4任一项所述的基于SQL签名的数据库保护方法,其特征在于,步骤S2中,使用一致性HASH算法将提取的SQL指纹生成SQL签名,其中输入字段值使用统一符号代替。
6.如权利要求1至5任一项所述的基于SQL签名的数据库保护方法,其特征在于,步骤S2中,判断所述数据库安全代理网关是否在学习模式下;若所述数据库安全代理网关在学习模式下,则将所述SQL签名存储到所述合法签名库中;若所述数据库安全代理网关不在学习模式下,即在检测模式下,则步骤S3中,利用所述合法签名库对所述SQL签名进行比对,判断所述SQL签名是否在所述合法签名库,对于不在所述合法签名库中的数据库访问请求进行阻断。
7.如权利要求6所述的基于SQL签名的数据库保护方法,其特征在于,步骤S3中,对于不在所述合法签名库中的数据库访问请求,还进行告警。
8.如权利要求1至7任一项所述的基于SQL签名的数据库保护方法,其特征在于,所述数据安全代理网关兼容的关系型数据库包括Mysql、Oracle、Sybase。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储的计算机程序由处理器运行时,实现如权利要求1至8任一项所述的基于SQL签名的数据库保护方法。
10.一种基于SQL签名的数据库保护系统,其特征在于,包括处理器和计算机可读存储介质,所述计算机可读存储介质存储的计算机程序由所述处理器运行时,实现所述的基于SQL签名的数据库保护方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东省信息安全测评中心,未经广东省信息安全测评中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210073139.3/1.html,转载请声明来源钻瓜专利网。