一种数据拦截方法及装置制造方法及图纸

技术编号:26346869 阅读:26 留言:0更新日期:2020-11-13 21:28
本发明专利技术提出了一种数据拦截方法及装置,涉及数据库防火墙技术领域。方法包括:客户端向数据库防火墙发送虚拟口令,以根据虚拟口令通过数据库防火墙与内部数据库建立连接,通过虚拟口令对客户端进行初步的拦截;客户端获取初始SQL语句,并对其进行本地封包处理以生成包括原始字节以及追加字节的SQL报文;数据库防火墙对SQL报文中的原始字节以及追加字节分别进行检验;若原始字节以及追加字节均无攻击风险,则数据库防火墙将SQL报文发送至内部数据库,以保证数据库防火墙将安全的SQL报文发送至内部数据库。数据库防火墙仅需对客户端得到的风险分析结果进行检验,从而保证数据访问的安全性,同时提高数据库防火墙的拦截性能和效率。

A data interception method and device

【技术实现步骤摘要】
一种数据拦截方法及装置
本专利技术涉及数据库防火墙
,具体而言,涉及一种数据拦截方法及装置。
技术介绍
随着大量企业接入互联网,经常出现一些大型的企业内部数据库的用户数据大量外泄等等诸如此类的严重的数据被窃取的事件发生,仅依靠数据账号和密码的管理早已难以适应数据库的安全防护,一旦账号被窃取,外部黑客窃取数据库中数据如入无人之境。目前为了防范这种如探囊取物般的数据窃取行为,人们设计出了数据库防火墙。但面对数据量如此庞大的时代,数据库防火墙的性能显然不足以满足人们的需求,且目前仅通过数据库防火墙的简单拦截也无法保证数据访问的安全。
技术实现思路
本专利技术的目的在于提供一种数据拦截方法及装置,用以改善现有技术中数据库防火墙性能不足且安全性不高的问题。第一方面,本申请实施例提供一种数据拦截方法,方法包括:客户端向数据库防火墙发送虚拟口令,以根据虚拟口令通过数据库防火墙与内部数据库建立连接;客户端获取初始SQL语句,并对初始SQL语句进行本地封包处理以生成SQL报文;其中,SQL报文包括原始字节以及追加字节;客户端将SQL报文发送至数据库防火墙;数据库防火墙对SQL报文中的原始字节以及追加字节分别进行检验;若原始字节以及追加字节均无攻击风险,则数据库防火墙将SQL报文发送至内部数据库。上述实现过程中,数据库防火墙通过客户端发送的虚拟口令对客户端进行初步的拦截,当虚拟口令正确时才成功使客户端通过数据库防火墙与内部数据库之间建立连接。后建立连接后的数据访问过程中,客户端先对初始SQL语句进行封包处理以得到SQL报文,数据库防火墙再判断SQL报文中的原始字节以及追加字节是否均无攻击风险,以保证数据库防火墙将安全的SQL报文发送至内部数据库。数据库防火墙通过虚拟口令以及SQL报文检验精准的保证内部数据库的访问安全,在该过程中,数据库防火墙仅需对SQL报文进行检验处理,而客户端则承担了初始SQL语句风险分析以及封包处理的工作,在实现对风险访问数据的拦截的同时,还减小了数据库防火墙的压力,提高了数据拦截的性能和效率。在本专利技术的一些实施例中,客户端向数据库防火墙发送虚拟口令,以根据虚拟口令通过数据库防火墙与内部数据库建立连接的步骤,包括:管理端根据客户端的设备标识生成特征码,并生成与客户端匹配的虚拟口令;客户端向数据库防火墙发送虚拟口令;数据库防火墙判断用户账户口令列表与客户端对应的预存口令与虚拟口令是否一致;若一致,则数据库防火墙与内部数据库之间建立连接,以使客户端通过数据库防火墙与内部数据库建立连接。上述实现过程中,数据库防火墙通过客户端发送的虚拟口令对客户端进行初步的拦截,若数据库防火墙接受到的虚拟口令在用户账户口令列表中不存在,或该虚拟口令对应的客户端其与用户账户口令列表中的预存口令所对应的客户端不一致,则可以拒绝该客户端发送的与内部数据库建立数据访问连接的请求,从而初步保证内部数据库的数据安全。在本专利技术的一些实施例中,客户端获取初始SQL语句,并对初始SQL语句进行本地封包处理以生成SQL报文的步骤,包括:客户端的数据库协议处理模块对初始SQL语句处理得到原始字节;数据库协议处理模块根据SQL注入特征库中的鉴别函数生成追加字节;将追加字节追加在原始字节后,以生成SQL报文。上述实现过程中,客户端在获取到初始SQL语句后,对初始SQL语句进行改造并生成SQL报文,减少数据库防火墙的SQL分析压力,实现提高数据拦截的性能。同时,还通过对初始SQL语句的处理以提高数据访问的安全性。在本专利技术的一些实施例中,数据库防火墙对SQL报文中的原始字节以及追加字节分别进行检验的步骤包括:数据库防火墙从SQL报文中解析出原始字节以及追加字节;数据库防火墙判断追加字节是否为注入攻击,若是,则将客户端加入拦截黑名单;若追加字节不是注入攻击,则数据库防火墙判断原始字节是否存在于白名单列表中;若原始字节不存在于白名单列表中,则数据库防火墙将客户端加入拦截黑名单,并断开其与客户端之间的连接。上述实现过程中,原始字节是根据客户端的初始SQL语句获取,原始字节的检验可以通过在白名单列表中查找的方式,确认其安全性。而追加字节为数据库协议处理模块根据SQL注入特征库中的鉴别函数生成,其能够表示注入攻击分析结果,因此在对追加字节进行检验时,可以直接判断出该SQL报文是否为非法的攻击性报文。根据对原始字节以及追加字节的双重检验,可以准确的判断出SQL报文的安全性,从而保证了内部数据库的安全。在本专利技术的一些实施例中,数据库防火墙判断原始字节是否存在于白名单列表中的步骤之前,还包括:数据库防火墙获取所有的SQL语句;根据每个SQL语句生成对应的原始字节,并将每个SQL语句以及其对应的原始字节写入白名单列表中。在本专利技术的一些实施例中,若原始字节以及追加字节均无攻击风险,则在数据库防火墙将SQL报文发送至内部数据库的步骤之前,还包括:从SQL报文中的SQL语句提取特征词;判断特征词是否存在于访问权限白名单中,若存在,则执行数据库防火墙将SQL报文发送至内部数据库的步骤;若特征词不存在于访问权限白名单中,则判断特征词是否属于越权操作,若特征词不属于越权操作,则将其写入访问权限白名单中,执行数据库防火墙将SQL报文发送至内部数据库的步骤。第二方面,本申请实施例提供一种数据拦截装置,装置包括:连接建立模块,用于控制客户端向数据库防火墙发送虚拟口令,以根据虚拟口令通过数据库防火墙与内部数据库建立连接;SQL报文生成模块,用于控制客户端获取初始SQL语句,并对初始SQL语句进行本地封包处理以生成SQL报文;其中,SQL报文包括原始字节以及追加字节;SQL报文发送模块,用于控制客户端将SQL报文发送至数据库防火墙;检验模块,用于控制数据库防火墙对SQL报文中的原始字节以及追加字节分别进行检验;访问模块,用于若原始字节以及追加字节均无攻击风险,则数据库防火墙将SQL报文发送至内部数据库。在本专利技术的一些实施例中,连接建立模块包括:口令生成单元,用于控制管理端根据客户端的设备标识生成特征码,并生成与客户端匹配的虚拟口令;口令发送单元,用于控制客户端向数据库防火墙发送虚拟口令;口令验证单元,用于控制数据库防火墙判断用户账户口令列表与客户端对应的预存口令与虚拟口令是否一致;连接建立单元,用于若一致,则数据库防火墙与内部数据库之间建立连接,以使客户端通过数据库防火墙与内部数据库建立连接。在本专利技术的一些实施例中,SQL报文生成模块包括:原始字节获取单元,用于控制客户端的数据库协议处理模块对初始SQL语句处理得到原始字节;追加字节获取单元,用于控制数据库协议处理模块根据SQL注入特征库中的鉴别函数生成追加字节;SQL报文生成单元,用于控制将追加字节追加在原始字节后,以生成SQL报文。在本专利技术的一些实施例中,检验模块包括:解析单元,用于控制数据库防火墙从SQL报文中解析出原始字节以及追加字节;追加字节判断单元,用于控制数据库防火墙判断追加字节是否为注入攻击,若是,则将客户端加入拦截黑名单;白名单判断单元,用于若本文档来自技高网...

【技术保护点】
1.一种数据拦截方法,其特征在于,所述方法包括:/n客户端向数据库防火墙发送虚拟口令,以根据所述虚拟口令通过所述数据库防火墙与内部数据库建立连接;/n所述客户端获取初始SQL语句,并对所述初始SQL语句进行本地封包处理以生成SQL报文;其中,所述SQL报文包括原始字节以及追加字节;/n所述客户端将所述SQL报文发送至所述数据库防火墙;/n所述数据库防火墙对所述SQL报文中的所述原始字节以及所述追加字节分别进行检验;/n若所述原始字节以及所述追加字节均无攻击风险,则所述数据库防火墙将所述SQL报文发送至所述内部数据库。/n

【技术特征摘要】
1.一种数据拦截方法,其特征在于,所述方法包括:
客户端向数据库防火墙发送虚拟口令,以根据所述虚拟口令通过所述数据库防火墙与内部数据库建立连接;
所述客户端获取初始SQL语句,并对所述初始SQL语句进行本地封包处理以生成SQL报文;其中,所述SQL报文包括原始字节以及追加字节;
所述客户端将所述SQL报文发送至所述数据库防火墙;
所述数据库防火墙对所述SQL报文中的所述原始字节以及所述追加字节分别进行检验;
若所述原始字节以及所述追加字节均无攻击风险,则所述数据库防火墙将所述SQL报文发送至所述内部数据库。


2.根据权利要求1所述的方法,其特征在于,客户端向数据库防火墙发送虚拟口令,以根据所述虚拟口令通过所述数据库防火墙与内部数据库建立连接的步骤,包括:
管理端根据客户端的设备标识生成特征码,并生成与所述客户端匹配的虚拟口令;
所述客户端向所述数据库防火墙发送所述虚拟口令;
所述数据库防火墙判断用户账户口令列表与所述客户端对应的预存口令与所述虚拟口令是否一致;
若一致,则所述数据库防火墙与所述内部数据库之间建立连接,以使所述客户端通过所述数据库防火墙与所述内部数据库建立连接。


3.根据权利要求1所述的方法,其特征在于,所述客户端获取初始SQL语句,并对所述初始SQL语句进行本地封包处理以生成SQL报文的步骤,包括:
所述客户端的数据库协议处理模块对所述初始SQL语句处理得到原始字节;
所述数据库协议处理模块根据SQL注入特征库中的鉴别函数生成追加字节;
将所述追加字节追加在所述原始字节后,以生成SQL报文。


4.根据权利要求1所述的方法,其特征在于,所述数据库防火墙对所述SQL报文中的所述原始字节以及所述追加字节分别进行检验的步骤包括:
所述数据库防火墙从所述SQL报文中解析出所述原始字节以及所述追加字节;
所述数据库防火墙判断所述追加字节是否为注入攻击,若是,则将所述客户端加入拦截黑名单;
若所述追加字节不是注入攻击,则所述数据库防火墙判断所述原始字节是否存在于白名单列表中;
若所述原始字节不存在于所述白名单列表中,则所述数据库防火墙将所述客户端加入所述拦截黑名单,并断开其与所述客户端之间的连接。


5.根据权利要求4所述的方法,其特征在于,所述数据库防火墙判断所述原始字节是否存在于白名单列表中的步骤之前,还包括:
所述数据库防火墙获取所有的SQL语句;
根据每个SQL语...

【专利技术属性】
技术研发人员:赵熙
申请(专利权)人:南京云信达科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1