[发明专利]一种基于SQL签名的数据库保护方法及系统在审
申请号: | 202210073139.3 | 申请日: | 2022-01-21 |
公开(公告)号: | CN114444122A | 公开(公告)日: | 2022-05-06 |
发明(设计)人: | 叶劲宏;崔顺艳;孙宗锦;庄书琪;陈超 | 申请(专利权)人: | 广东省信息安全测评中心 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F21/64 |
代理公司: | 深圳新创友知识产权代理有限公司 44223 | 代理人: | 王震宇 |
地址: | 510098 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 sql 签名 数据库 保护 方法 系统 | ||
一种基于SQL签名的数据库保护方法及系统,该方法包括:S1、通过在应用服务和数据库服务间建立数据库安全代理网关,利用数据库安全代理网关接收来自应用的数据库访问请求,提取SQL语句;S2、分析提取到的SQL语句,构造SQL语句的AST语法树,解释语义特征,提取SQL指纹生成SQL签名,构建合法签名库;S3、利用构建的签名库对数据库访问请求的SQL签名进行比对,阻断不在合法签名库中的非法请求。通过白名单的方式实施防御策略,一方面消除利用漏洞通过改变语法结构进行攻击注入的问题,精准识别应用服务的正常访问行为,从而达到防御已知与未知攻击特征的攻击行为;另一方面,可根据新增业务添加白名单,使安全运维人员更易于实现可持续的迭代升级策略规则。
技术领域
本发明涉及数据库安全技术领域,特别是涉及一种基于SQL签名的数据库保护方法及系统。
背景技术
SQL是结构化查询语言(Structured Query Language)的简称,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。在数据库安全领域,SQL注入攻击是对数据库进行攻击的最常用手段之一。SQL注入,是指通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
目前针对数据库攻击的主要防御方式是根据数据库攻击特征匹配的检测技术;例如拼接型的SQL注入攻击,利用注入点在原始的SQL语句的中间或后面“插入”、“拼接”上攻击性的SQL Payload,从而达到非法提取数据等目的,当发现非法Payload特征时,如永真注入('or'1'='1')等,即拦截阻断。这种防护方式只能识别已知的恶意命令,对未知的恶意命令无能为力,必须依靠其收集到的恶意命令的特征库。
以上通过黑名单方式判断是否存在攻击行为,缺乏对未知攻击的识别能力,无法穷举所有的攻击特征,而且防御往往滞后于攻击;随着技术的演进,攻击的多样化,特征规则也越加复杂难以维护。
需要说明的是,在上述背景技术部分公开的信息仅用于对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明的主要目的在于克服上述背景技术的缺陷,提供一种基于SQL签名的数据库保护方法及系统。
为实现上述目的,本发明采用以下技术方案:
一种基于SQL签名的数据库保护方法,包括如下步骤:
S1、通过在应用服务和数据库服务间建立数据库安全代理网关,利用数据库安全代理网关接收来自应用的数据库访问请求,提取SQL语句;
S2、分析提取到的SQL语句,构造SQL语句的AST语法树,解释语义特征,提取SQL指纹生成SQL签名,以构建合法签名库;
S3、利用构建的签名库对所述数据库访问请求的所述SQL签名进行比对,以阻断不在所述合法签名库中的非法请求。
进一步地:
步骤S2中,使用词法分析对SQL语句进行分解,得到一个个独立的关键字,并且组织成为关键字链表形式,根据数据库的SQL语法,对词法分析后的关键字链表进行语法结构分析,构造出SQL语句的AST语法树,并按照所述AST语法树分析该SQL语句的语义特征,提取SQL指纹。
步骤S2中,所述SQL指纹包括命令类型、库表名、输出参数字段名、输入参数字段名、输入字段值、操作符、函数名、子查询中的一种或多种。
所述命令类型包括查询、插入、更新、删除。
步骤S2中,使用一致性HASH算法将提取的SQL指纹生成SQL签名,其中输入字段值使用统一符号代替。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东省信息安全测评中心,未经广东省信息安全测评中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210073139.3/2.html,转载请声明来源钻瓜专利网。