[发明专利]一种数据库访问结果集探测的实现方法有效
申请号: | 201811463846.3 | 申请日: | 2018-12-03 |
公开(公告)号: | CN109635027B | 公开(公告)日: | 2022-11-25 |
发明(设计)人: | 杨海峰;陈寿仓 | 申请(专利权)人: | 北京安华金和科技有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25 |
代理公司: | 天津盛理知识产权代理有限公司 12209 | 代理人: | 王利文 |
地址: | 100081 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 访问 结果 探测 实现 方法 | ||
本发明涉及一种数据库访问结果集探测的实现方法,包括以下步骤:基于数据库访问结果集的部署步骤;基于数据库访问结果集的探测步骤,包括⑴将客户端发送的SQL语句进行拦截;⑵对拦截的语句进行语句分析并构建探测语句;⑶将构建好的探测语句发送给数据库;⑷采集探测语句在数据库端返回的应答结果,通过协议解析获得行数。本发明设计合理,其对客户端发送的SQL语句进行拦截与分析,对select语句、update语句或delete语句进行改写,将语句控制在发送给数据库前夕,对于语句的控制准确率更高且力度更细,解决了数据库防火墙等控制类产品对于影响行数控制事先预知,可广泛应用于数据库防火墙等网络安全产品中。
技术领域
本发明属于数据库安全技术领域,尤其是一种数据库访问结果集探测的实现方法。
背景技术
在数据库安全技术领域,数据库防火墙产品、数据库脱敏系统以及数据库运维类产品对于select、update、delete操作的影响行数控制。所谓的结果集探测就是一条语句执行后会影响的行数进行事先预知,因为select、update、delete这类语句需要在客户端发送到数据库服务器,服务器返回的结果才能知道影响多少行,但当时已经对数据库中的数据的删改操作,所以需要在语句发送到数据库之前预知此操作语句的影响行数。因此,如何对语句的行数进行合理准确的探测是目前迫切需要解决的问题。
发明内容
本发明的目的在于克服现有技术的不足,提出一种设计合理、准确率高的数据库访问结果集探测的实现方法。
本发明解决其技术问题是采取以下技术方案实现的:
一种数据库访问结果集探测的实现方法,其特征在于包括以下步骤:
步骤1、基于数据库访问结果集的部署步骤,包括以下过程:
⑴按照数据库防护类产品已代理的方式进行部署,以类似于数据库的身份存在,客户端在连接数据库时连接代理口;
⑵数据的流向为:客户端通过交换机转到数据库防火墙,防火墙再将数据通过代理口转换交换机到达数据库,数据库的应答信息按同样的路径返回;
步骤2、基于数据库访问结果集的探测步骤,包括以下过程:
⑴将客户端发送的SQL语句进行拦截;
⑵对拦截的语句进行语句分析并构建探测语句;
⑶将构建好的探测语句发送给数据库;
⑷采集探测语句在数据库端返回的应答结果,通过协议解析获得行数。
所述对拦截的语句进行语句分析并构建探测语句的方法为:
如果拦截的语句是select语句、update语句或delete语句,则对上述语句分别处理如下:
对于select语句,拦截原始语句并基于原始语句将语句中的投影列改为count(*);
对于update语句和delete语句,按照语法保留原有的操作条件,将语句改为select语句,达到和select语句同样的探测方式与结果。
本发明的优点和积极效果是:
本发明设计合理,其对客户端发送的SQL语句进行拦截与分析,对select语句、update语句或delete语句进行改写,将语句控制在发送给数据库前夕,对于语句的控制准确率更高且力度更细,解决了数据库防火墙等控制类产品对于影响行数控制事先预知,可广泛应用于数据库防火墙等网络安全产品中。
附图说明
图1是本发明的部署处理示意图;
图2是本发明的探测处理流程图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京安华金和科技有限公司,未经北京安华金和科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811463846.3/2.html,转载请声明来源钻瓜专利网。