CN117688555A - 数据库的控制方法、装置、终端设备以及存储介质 - Google Patents
数据库的控制方法、装置、终端设备以及存储介质 Download PDFInfo
- Publication number
- CN117688555A CN117688555A CN202410147743.5A CN202410147743A CN117688555A CN 117688555 A CN117688555 A CN 117688555A CN 202410147743 A CN202410147743 A CN 202410147743A CN 117688555 A CN117688555 A CN 117688555A
- Authority
- CN
- China
- Prior art keywords
- database
- request
- terminal
- character string
- statement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000014509 gene expression Effects 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 4
- 230000000903 blocking effect Effects 0.000 abstract description 31
- 230000008859 change Effects 0.000 abstract description 11
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据库的控制方法、装置、终端设备以及存储介质,其数据库的控制方法包括:在终端向数据库服务键入请求语句时,数据库防火墙识别请求语句是否属于预设高危操作;若识别出请求语句属于高危操作,则在终端向数据库服务键入回车字符串时,数据库防火墙替换回车字符串为中断字符串。通过在数据库防火墙实现基于M语句、SQL语句的阻断,也即,通过数据库防火墙拦截终端的请求语句,在识别出请求语句为高危操作时,将回车字符串替换为中断字符串,解决了对数据库的请求语句进行阻断时,难以更改请求语句的技术问题,有效实现阻断终端的高危操作。
Description
技术领域
本申请涉及数据库防火墙技术领域,尤其涉及一种数据库的控制方法、装置、终端设备以及存储介质。
背景技术
相较于其它关系型数据库,后关系型数据库(Caché)提供了更多的操作方式,在Caché提供JDCB、ODBC和嵌入式SQL等操作数据库的应用程序接口之外,还提供了采用Telnet协议的Terminal操作工具。
但是,通过Terminal工具控制Caché,Terminal工具的请求语句是按字节发送的,并且每一个字节会回文,在Caché对该请求语句进行阻断时,请求语句已经到达了Caché,使得请求语句更改的难度较大,导致数据库的安全性低。
发明内容
本申请的主要目的在于提供一种数据库的控制方法、装置、终端设备以及存储介质,旨在解决对数据库服务的请求语句进行阻断时,降低请求语句更改的难度,提高数据库访问的安全性,有效实现阻断终端的高危操作。
为实现上述目的,本申请提供一种数据库的控制方法,所述数据库的控制方法应用于数据库防火墙,所述数据库防火墙用于串联终端和数据库服务,所述数据库的控制方法包括以下步骤:
在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作;
若识别出所述请求语句属于所述高危操作,则在所述终端向所述数据库服务键入回车字符串时,所述数据库防火墙替换所述回车字符串为中断字符串,所述中断字符串的长度与所述回车字符串的长度对应。
可选地,所述数据库防火墙识别所述请求语句是否属于预设高危操作的步骤包括:
检测所述请求语句是否匹配预设高危指标,所述高危指标包括关键词、正则表达式、位图中的至少一种;
若所述请求语句匹配所述高危指标,则表明所述请求语句属于所述高危操作。
可选地,所述检测所述请求语句是否匹配预设高危指标的步骤包括:
将所述请求语句输入预先创建的高危识别模型中进行关键词匹配,得到识别结果,其中,所述高危识别模型基于所述高危指标的数据集训练得到。
可选地,所述数据库防火墙与云服务器连接,所述检测所述请求语句是否匹配预设高危指标的步骤之前,还包括:
从所述云服务器中获取敏感关键词;
根据所述敏感关键词,更新所述高危指标。
可选地,所述请求语句包括若干字符,所述在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作的步骤包括:
依次拦截所述终端向所述数据库服务所键入的所述请求语句中的若干字符,以得到所述请求语句;
识别所述请求语句是否属于所述高危操作。
可选地,所述在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作的步骤之后,还包括:
在所述终端通过移动指令向所述数据库服务键入所述请求语句对应的回显语句,且,所述终端向所述数据库服务键入所述回车字符串时,替换所述回车字符串为所述中断字符串。
可选地,所述在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作的步骤之前,还包括:
响应于所述终端的账号登录请求,根据所述账号登录请求,确定对应的账户设备和/或账户邮箱,并生成动态口令;
发送所述动态口令到所述账户设备和/或账户邮箱;
接收所述终端传输的用户口令,在检测到所述动态口令与所述用户口令匹配时,执行所述在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作的步骤。
本申请实施例还提出一种数据库的控制装置,所述数据库的控制装置包括:
识别模块,用于在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作;
替换模块,用于若识别出所述请求语句属于所述高危操作,则在所述终端向所述数据库服务键入回车字符串时,所述数据库防火墙替换所述回车字符串为中断字符串,所述中断字符串的长度与所述回车字符串的长度对应。
本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据库的控制程序,所述数据库的控制程序被所述处理器执行时实现如上所述的数据库的控制方法的步骤。
本申请实施例还提出一种计算机可读写存储介质,所述计算机可读写存储介质上存储有数据库的控制程序,所述数据库的控制程序被处理器执行时实现如上所述的数据库的控制方法的步骤。
本申请实施例提出的数据库的控制方法、装置、终端设备以及存储介质,通过在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作;若识别出所述请求语句属于所述高危操作,则在所述终端向所述数据库服务键入回车字符串时,所述数据库防火墙替换所述回车字符串为中断字符串,所述中断字符串的长度与所述回车字符串的长度对应。通过在数据库防火墙实现基于M语句、SQL语句的阻断,也即,通过数据库防火墙拦截终端的请求语句,在识别出请求语句为高危操作时,将回车字符串替换为中断字符串,解决了对数据库的请求语句进行阻断时,难以更改请求语句的技术问题,降低请求语句更改的难度,提高数据库访问的安全性,有效实现阻断终端的高危操作。
附图说明
图1为本申请数据库的控制装置所属终端设备的功能模块示意图;
图2为本申请数据库的控制方法第一示例性实施例的流程示意图;
图3为现有串联部署数据库防火墙的实现方式示意图;
图4为本申请数据库的控制方法的数据库防火墙连接示意图;
图5为本申请数据库的控制方法第二示例性实施例的流程示意图;
图6为本申请数据库的控制方法第三示例性实施例的流程示意图;
图7为本申请数据库的控制方法第四示例性实施例的流程示意图;
图8为本申请数据库的控制方法第五示例性实施例的流程示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例的主要解决方案是:在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作;若识别出所述请求语句属于所述高危操作,则在所述终端向所述数据库服务键入回车字符串时,所述数据库防火墙替换所述回车字符串为中断字符串,所述中断字符串的长度与所述回车字符串的长度对应。
有益效果是:通过在数据库防火墙实现基于M语句、SQL语句的阻断,也即,通过数据库防火墙拦截终端的请求语句,在识别出请求语句为高危操作时,将请求语句的回车字符串替换为中断字符串,解决了对数据库的请求语句进行阻断时,难以更改请求语句的技术问题,降低请求语句更改的难度,提高数据库访问的安全性,有效实现阻断终端的高危操作。
本申请实施例涉及的技术术语:
Caché(Cache)数据库,Caché(Cache)是一种后关系型数据库,它提供三种方式访问数据:对象访问、SQL访问、直接对多维数据数组访问。而且三种访问方式能够并发访问同一数据。
Caché(Cache)使用了多维数据引擎,使得对象数据从磁盘到内存的过程得以很快完成,而且读写磁盘相互关联数据的数据非常快。多维数据模型的高效访问使Caché(Cache)非常适合经常更新少量数据的交易处理应用,因为Caché(Cache)将数据组织成N维的数组,对于交易所需要的数据,可以很容易地搜索、加锁和更新。应用和数据库引擎不需要花费时间去访问多个表,也不需要为搜索数据而锁住相关的所有数据页。由于其性能比传统的oracle数据库快了几十倍,国内的医疗系统也越来越多的使用Caché(Cache)数据库。其中。针对Caché(Cache)提供的三种访问方式,Caché(Cache)提供了自带了访问工具:portal、terminal和studio,在这些工具中既可以操作Caché(Cache)的M语言,也可以操作sql语句;而通过向winsql这类的工具,就可以访问使用SQL语句访问Caché(Cache)数据库。
本申请实施例考虑到,用Telnet协议的Terminal工具比较特别,其请求语句是按字节发送的,并且每一个字节会回文,使得阻断时相关请求语句已经到达了数据库,相关请求取更改的难度较大。
因此,本实施例方案主要实现对数据库尤其是数据库的控制,从难以更改数据库的请求语句的实际问题出发,结合数据库防火墙对请求语句的阻断能力,设计了一种针对Terminal工具操作Caché数据库的控制方法,降低请求语句更改的难度,提高数据库访问的安全性,有效实现阻断终端的高危操作。
具体地,参照图1,图1为本申请数据库的控制装置所属终端设备的功能模块示意图。该数据库的控制装置可以为独立于终端设备的、能够进行数据库的控制的装置,其可以通过硬件或软件的形式承载于终端设备上。该终端设备可以为手机、平板电脑等具有数据处理功能的智能移动终端,还可以为具有数据处理功能的固定终端设备或服务器等。
在本实施例中,该数据库的控制装置所属终端设备至少包括输出模块110、处理器120、存储器130以及通信模块140。
存储器130中存储有操作系统以及数据库的控制程序,数据库的控制装置可以将请求语句、高危操作、回车字符串、中断字符串等信息存储于该存储器130中;输出模块110可为显示屏等。通信模块140可以包括WIFI模块、移动通信模块以及蓝牙模块等,通过通信模块140与外部设备或服务器进行通信。
其中,存储器130中的数据库的控制程序被处理器执行时实现以下步骤:
所述数据库的控制方法应用于数据库防火墙,所述数据库防火墙用于串联终端和数据库服务,所述数据库的控制方法包括以下步骤:
在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作;
若识别出所述请求语句属于所述高危操作,则在所述终端向所述数据库服务键入回车字符串时,所述数据库防火墙替换所述回车字符串为中断字符串,所述中断字符串的长度与所述回车字符串的长度对应。
进一步地,存储器130中的数据库的控制程序被处理器执行时还实现以下步骤:
检测所述请求语句是否匹配预设高危指标,所述高危指标包括关键词、正则表达式、位图中的至少一种;
若所述请求语句匹配所述高危指标,则表明所述请求语句属于所述高危操作。
进一步地,存储器130中的数据库的控制程序被处理器执行时还实现以下步骤:
将所述请求语句输入预先创建的高危识别模型中进行关键词匹配,得到识别结果,其中,所述高危识别模型基于所述高危指标的数据集训练得到。
进一步地,存储器130中的数据库的控制程序被处理器执行时还实现以下步骤:
从所述云服务器中获取敏感关键词;
根据所述敏感关键词,更新所述高危指标。
进一步地,存储器130中的数据库的控制程序被处理器执行时还实现以下步骤:
依次拦截所述终端向所述数据库服务所键入的所述请求语句中的若干字符,以得到所述请求语句;
识别所述请求语句是否属于所述高危操作。
进一步地,存储器130中的数据库的控制程序被处理器执行时还实现以下步骤:
在所述终端通过移动指令向所述数据库服务键入所述请求语句对应的回显语句,且,所述终端向所述数据库服务键入所述回车字符串时,替换所述回车字符串为所述中断字符串。
进一步地,存储器130中的数据库的控制程序被处理器执行时还实现以下步骤:
响应于所述终端的账号登录请求,根据所述账号登录请求,确定对应的账户设备和/或账户邮箱,并生成动态口令;
发送所述动态口令到所述账户设备和/或账户邮箱;
接收所述终端传输的用户口令,在检测到所述动态口令与所述用户口令匹配时,执行所述在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作的步骤。
本实施例通过上述方案,具体通过在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作;若识别出所述请求语句属于所述高危操作,则在所述终端向所述数据库服务键入回车字符串时,所述数据库防火墙替换所述回车字符串为中断字符串,所述中断字符串的长度与所述回车字符串的长度对应。通过在数据库防火墙实现基于M语句、SQL语句的阻断,也即,通过数据库防火墙拦截终端的请求语句,在识别出请求语句为高危操作时,将回车字符串替换为中断字符串,解决了对数据库的请求语句进行阻断时,难以更改请求语句的技术问题,降低请求语句更改的难度,提高数据库访问的安全性,有效实现阻断终端的高危操作。
基于上述终端设备架构但不限于上述架构,提出本申请方法实施例。
参照图2,图2为本申请数据库的控制方法第一示例性实施例的流程示意图。所述数据库的控制方法包括:
步骤S210,在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作;
本实施例方法的执行主体可以是一种数据库的控制装置,也可以是一种数据库的控制终端设备或服务器,本实施例以数据库的控制装置进行举例,该数据库的控制装置可以集成在具有数据处理功能的智能手机、平板电脑等终端设备上。
参考图3,图3为现有串联部署数据库防火墙的实现方式示意图。该实现方式的具体步骤包括如下:
首先,Telnet客户端(DBcli)发送Q帧到路由器,路由器转发Q帧到数据库防火墙(DBFW),中间可能经过多个路由器和交换机;然后,DBFW对Q帧内容进行读取、解析和识别,如果Q帧内容异常,则注释Q帧内容,修改为Q`帧内容,发送到数据库服务(DBsvr);如果Q帧内容正常,则原样发过去;然后,数据库服务收到Q`帧内容后,后台进行解析、处理,然后应答R帧内容到数据库服务;数据库服务收到R帧内容后,进行读取、解析和识别,如果R帧异常,则将R帧修改为R`帧;如果R帧正常,则原样转发;然后,路由器收到R`帧后直接转发R`帧到Telnet客户端,其中,转发过程中可能经过多个路由器和交换机;最后,Telnet客户端收到R`帧后,进行读取和解析。
但是,用Telnet协议的Terminal工具比较特别,其请求语句是按字节发送的,并且每一个字节会回文,使得阻断时相关请求语句已经到达了数据库,相关请求更改的难度较大。
因此,本实施例方案主要实现对数据库尤其是数据库的控制,从难以更改数据库的请求语句的实际问题出发,结合数据库防火墙对请求语句的阻断能力,设计了一种针对Terminal工具操作Caché数据库的控制方法,可以降低请求语句更改的难度,提高数据库访问的安全性,有效实现阻断终端的高危操作。
具体地,在本申请实施例中,数据库防火墙可以是DBFW,终端可以Terminal,数据库服务可以是DBServer。请求语句可以通过用户在键盘上键入内容所得到,可以为字符串;请求语句可以是用户所键入的M语句或SQL语句,包括但不限于对该字符串的增删改除等相应请求语句;高危操作可以是影响设备稳定运行、客户业务正常运转、网管正常监控的操作,包括但不限于数据篡改、数据调整、业务割接、板卡扩容、软件升降级、打补丁等。
可选地,所述请求语句包括若干字符,S210,在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作,包括:
依次拦截所述终端向所述数据库服务所键入的所述请求语句中的若干字符,以得到所述请求语句;
识别所述请求语句是否属于所述高危操作。
具体地,由于用Telnet协议的Terminal工具比较特别,其请求语句是按字节发送的,并且每一个字节会回文,因此,本申请实施例通过数据库防火墙将每一字符进行拦截,直到接收到请求语句时,对每一字符进行识别以确定是否属于高危操作,可以将请求语句拦截在数据库防火墙中。
步骤S220,若识别出所述请求语句属于所述高危操作,则在所述终端向所述数据库服务键入回车字符串时,所述数据库防火墙替换所述回车字符串为中断字符串,所述中断字符串的长度与所述回车字符串的长度对应。
具体地,参照图4,图4为本申请数据库的控制方法的数据库防火墙连接示意图。本实施例采用数据库防火墙来对用户终端所发送的请求语句进行拦截并识别。当用户在用户终端采用Telnet协议的Terminal工具对数据库服务进行访问控制时,可以在Terminal工具中,根据实际需求向用户终端输入具体的请求语句,使得用户终端通过键入回车字符串,将请求语句转发至数据库服务,其中,数据库防火墙可以将请求语句和回车字符串进行拦截,以识别请求语句是否为高危操作,如果数据库防火墙识别出请求语句属于高危操作,则数据库防火墙将回车字符串替换为中断字符串,其中,回车字符串用于执行请求语句,中断字符串用于阻断请求语句。
通过将终端所发送的在telnet客户端键入的请求语句替换为中断字符串,在数据库服务接收到请求语句以及中断字符串后,会清空数据库服务中的执行命令缓存,同时将执行命令缓存的编辑位置下标进行置0,然后通过数据库防火墙将“<INTERRUPT>”或“”返回至telnet用户终端。
此外,在替换请求语句为中断字符串之后,也即表明了该请求语句属于高危操作。因此,本申请实施例可以通过数据库防火墙根据请求语句以生成告警信息,并将该告警信息返回至用户终端,进而通知到用户以提高数据库安全监测的及时性。
其中需要说明的是,语句阻断是指对单个执行语句或操作的阻止。当系统检测到某个请求或语句可能带有潜在的危险或违规操作时,系统会阻止或中断这个具体的语句的执行。会话阻断是指对整个用户会话或连接的中断。当系统检测到整个用户会话存在潜在的风险或违规行为时,系统会中断整个会话,强制用户重新建立连接。也即,语句阻断作用于单个执行语句或操作,而会话阻断作用于整个用户会话或连接。语句阻断是细粒度的控制,只中断具体的请求,而会话阻断是较粗粒度的控制,中断整个用户的会话。
示例性地,由于回车字符串“0x0d”和中断字符串“0x03”都是一个字节,所以可以用中断“0x03”替换“0x0d”,通过对 M 语句、SOL 语句匹配安全策略规则,对于风险行为以实现阻断 telnel操作 CacheDB,而不是会话级阻断。
本实施例通过上述方案,具体通过在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作;若识别出所述请求语句属于所述高危操作,则在所述终端向所述数据库服务键入回车字符串时,所述数据库防火墙替换所述回车字符串为中断字符串,所述中断字符串的长度与所述回车字符串的长度对应。通过在数据库防火墙实现基于M语句、SQL语句的阻断,也即,通过数据库防火墙拦截终端的请求语句,在识别出请求语句为高危操作时,将回车字符串替换为中断字符串,解决了对数据库的请求语句进行阻断时,难以更改请求语句的技术问题,降低请求语句更改的难度,提高数据库访问的安全性,有效实现阻断终端的高危操作。
参照图5,图5为本申请数据库的控制方法第二示例性实施例的流程示意图。基于上述图2所示的实施例,步骤S210,在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作,包括:
步骤S510,检测所述请求语句是否匹配预设高危指标,所述高危指标包括关键词、正则表达式、位图中的至少一种;
具体地,高危指标可以是预先定义好的一组规则,包括关键词、正则表达式、位图中的至少一种。可以用于捕捉系统认为可能具有潜在风险的操作或指令。本申请实施例主要实现针对请求语句与高危指标之间的匹配度,尤其是检测用户终端向数据库服务所发送的请求语句是否匹配高危指标,通过将请求语句与高危指标进行匹配,进而确定请求语句是否属于高危操作,可以实现高危操作以及相关请求语句的拦截,降低请求语句更改的难度,提高数据库访问的安全性,有效实现阻断终端的高危操作。
其中,关键词可以有多个,可以用于识别请求语句中是否包含与高危操作相关的重要词汇。如果请求语句中包含任何与关键词列表匹配的词汇,系统就将其标记为匹配关键词的可能高危操作。
正则表达式可以有多个,可以提供了更灵活的模式匹配机制。通过使用正则表达式,系统可以检测请求语句中是否符合特定的模式,这些模式可以对应于高危操作的特定格式或结构。
位图可以有多个,可以用于表示系统状态或标记已发生的事件,可以用于标记已知的高危操作发生的状态。如果请求语句触发了与位图中已标记状态相对应的条件,系统就可以认为这是一个潜在的高危操作。
可选地,步骤S510,检测所述请求语句是否匹配预设高危指标,所述高危指标包括关键词、正则表达式、位图中的至少一种,包括:
将所述请求语句输入预先创建的高危识别模型中进行关键词匹配,得到识别结果,其中,所述高危识别模型基于所述高危指标的数据集训练得到。
具体地,高危识别模型用于识别请求语句是否属于高危操作,包括但不限于CNN、RNN(LSTM)、transformer、VAE、GAN等深度学习模型。识别结果可以表明请求语句是否属于高危操作,还可以表明高危内容处于该请求语句中的具体位置。通过高危识别模型对请求语句进行关键词匹配,可以高危指标匹配的准确性及效率,进而提高请求语句识别的准确性及效率。
可选地,所述数据库防火墙与云服务器连接,步骤S510,检测所述请求语句是否匹配预设高危指标的步骤之前,还包括:
从所述云服务器中获取敏感关键词;
根据所述敏感关键词,更新所述高危指标。
具体地,云服务器与其他各服务器连接,用于从其他服务器中收集各行各业的敏感关键词,进而使得数据库防火墙可以从云服务器中获取敏感关键词,提升高危指标的全面性以及综合性,进而提高数据库服务的安全性。
步骤S520,若所述请求语句匹配所述高危指标,则表明所述请求语句属于所述高危操作。
本实施例通过上述方案,具体通过检测所述请求语句是否匹配预设高危指标,所述高危指标包括关键词、正则表达式、位图中的至少一种;若所述请求语句匹配所述高危指标,则表明所述请求语句属于所述高危操作。通过将请求语句匹配任一高危指标,进而表明请求语句属于高危操作,可以提高数据库防火墙检测高危操作的效率。
参照图6,图6为本申请数据库的控制方法第三示例性实施例的流程示意图。基于上述图2所示的实施例,步骤S210,在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作之后,还包括:
步骤S610,若识别出所述请求语句不属于所述高危操作,则发送所述请求语句及所述请求语句至所述数据库服务中。
具体地,参照图4,当用户在用户终端采用Telnet协议的Terminal工具对数据库服务进行访问控制时,可以在Terminal工具中,根据实际需求向用户终端输入具体的请求语句,使得用户终端将请求语句转发至数据库服务,在转发的过程中,数据库防火墙可以将请求语句以进行拦截,以识别请求语句是否为高危操作,如果数据库防火墙识别出请求语句不属于高危操作,则将该请求语句以转发至数据库服务。
示例性地,以单字节发送标准输入进行举例。用户通过标准输入(键盘)在telnet客户端每键入一个显示字符,通过数据库防火墙识别显示字符不属于高危操作时,可以将该显示字符发送到数据库。在数据库收到显示字符后,会将其追加到数据库执行命令缓存中的数组中下标指向的值的偏移处,同时,将数组下标向后偏移1字节,然后将显示字符回显到telnet客户端。
示例性地,以回车执行命令进行举例。用户在telnet客户端键盘输入回车时,telnet客户端会发送“0x0d”到数据库,数据库在收到“0x0d”后,会去执行数据库执行命令缓存中的命令,这时有两种情况:如果数据库防火墙检测到数据库执行命令缓存是合法命令,数据库会将数据库执行命令缓存追加到指向位置下标中,同时将指向位置下标置0;如果数据库防火墙识别到数据库执行命令缓存是非法命令,则直接将指向位置下标置0;然后清空数据库执行命令缓存,将编辑位置下标置0,最后将命令的执行结果回复到telnet客户端。
本实施例通过上述方案,具体通过在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作;若识别出所述请求语句不属于所述高危操作,则发送所述请求语句及所述请求语句至所述数据库服务中。通过在数据库防火墙识别请求语句不属于高危操作后,将该请求语句以发送至数据库服务中执行对应操作,可以解决对数据库服务的请求语句进行阻断时,难以更改请求语句的技术问题,降低请求语句更改的难度,提高数据库访问的安全性,有效实现阻断终端的高危操作。
参照图7,图7为本申请数据库的控制方法第四示例性实施例的流程示意图。基于上述图2所示的实施例,步骤S210,所述在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作的步骤之后,还包括:
步骤S710,在所述终端通过移动指令向所述数据库服务键入所述请求语句对应的回显语句,且,所述终端向所述数据库服务键入所述回车字符串时,替换所述回车字符串为所述中断字符串。
具体地,移动指令可以是指上键或下键。在终端或命令行界面中,上下键通常用于获取之前输入的历史语句。用户可以通过按上键或下键来循环浏览之前执行过的命令,从而方便地重新使用或修改之前的命令。
本申请实施例考虑到,现有方案中,系统或软件在处理上下键时,采用缓存用户输入语句的缓存机制,即会将用户在当前会话中输入的命令保存在某个地方,以便在需要时进行快速访问。
但是,本申请避免使用了缓存机制来缓存本回话的历史语句信息,而直接使用回显语句来进行阻断。即,通过回显语句是数据库服务对用户请求的响应,包含了执行状态或其他相关信息,通过分析回显语句,系统可以直接判断是否需要进行阻断,而不依赖于缓存中的历史输入。
本实施例通过上述方案,具体通过直接利用回显语句进行阻断,可以更可靠地实时获取每次用户请求的执行情况,避免因缓存机制导致的信息丢失或不完整。
参照图8,图8为本申请数据库的控制方法第五示例性实施例的流程示意图。基于上述图2所示的实施例,步骤S210,所述在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作的步骤之前,还包括:
步骤S810,响应于所述终端的账号登录请求,根据所述账号登录请求,确定对应的账户设备和/或账户邮箱,并生成动态口令;
步骤S820,发送所述动态口令到所述账户设备和/或账户邮箱;
步骤S830,接收所述终端传输的用户口令,在检测到所述动态口令与所述用户口令匹配时,执行所述在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作的步骤。
具体地,当终端发起账号登录请求时,系统会响应这个请求,可以是用户提供账号和相应的身份验证信息。根据用户提供的账号登录请求,系统会确定与该账号相关联的账户设备和/或账户邮箱,可以包括用户注册时提供的手机、电脑等设备信息,以及关联的电子邮箱地址。
在确定了账户设备和/或账户邮箱后,系统会生成一个动态口令,动态口令可以是一次性的,用于提供额外的身份验证层,增强账户的安全性。其中,动态口令可以通过算法或其他方式生成,确保每次登录都有一个唯一的口令。
生成的动态口令会被发送到之前确定的账户设备和/或账户邮箱,可以通过短信、电子邮件等方式进行传送,确保用户能够及时收到并使用这个口令进行登录。
同时,系统会检测终端传输的用户口令。用户口令是用户自己设定的登录密码或其他身份验证信息。在获取到用户口令的同时,系统会检测生成的动态口令是否与用户输入的口令匹配。这是为了确保用户同时提供了正确的动态口令和静态口令,从而完成登录验证,执行步骤S210以及之后的步骤。
本实施例通过上述方案,具体通过获取终端传输的用户口令并与动态口令匹配的步骤可以有效防范密码猜测攻击。即便攻击者获得了用户口令,但由于需要匹配动态口令,提高了攻击难度,使得非法登录尝试更难成功;同时,通过整合动态口令、用户口令和高危操作的识别,系统提供了综合的账户安全保护机制,可以防御各种登录攻击,并确保账户及相关数据的安全性。
此外,本申请实施例还提出一种数据库的控制装置,所述数据库的控制装置包括:
识别模块,用于在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作;
替换模块,用于若识别出所述请求语句属于所述高危操作,则在所述终端向所述数据库服务键入回车字符串时,所述数据库防火墙替换所述回车字符串为中断字符串,所述中断字符串的长度与所述回车字符串的长度对应。
本实施例实现数据库的控制的原理及实施过程,请参照上述各实施例,在此不再赘述。
此外,本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据库的控制程序,所述数据库的控制程序被所述处理器执行时实现如上所述的数据库的控制方法的步骤。
由于本数据库的控制程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
此外,本申请实施例还提出一种计算机可读写存储介质,所述计算机可读写存储介质上存储有数据库的控制程序,所述数据库的控制程序被处理器执行时实现如上所述的数据库的控制方法的步骤。
由于本数据库的控制程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
相比现有技术,本申请实施例提出的数据库的控制方法、装置、终端设备以及存储介质,通过在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作;若识别出所述请求语句属于所述高危操作,则在所述终端向所述数据库服务键入回车字符串时,所述数据库防火墙替换所述回车字符串为中断字符串,所述中断字符串的长度与所述回车字符串的长度对应。通过在数据库防火墙实现基于M语句、SQL语句的阻断,也即,通过数据库防火墙拦截终端的请求语句,在识别出请求语句为高危操作时,将回车字符串替换为中断字符串,解决了对数据库的请求语句进行阻断时,难以更改请求语句的技术问题,降低请求语句更改的难度,提高数据库访问的安全性,有效实现阻断终端的高危操作。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干命令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本申请每个实施例的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种数据库的控制方法,其特征在于,所述数据库的控制方法应用于数据库防火墙,所述数据库防火墙用于串联终端和数据库服务,所述数据库的控制方法包括以下步骤:
在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作;
若识别出所述请求语句属于所述高危操作,则在所述终端向所述数据库服务键入回车字符串时,所述数据库防火墙替换所述回车字符串为中断字符串,所述中断字符串的长度与所述回车字符串的长度对应。
2.如权利要求1所述的数据库的控制方法,其特征在于,所述数据库防火墙识别所述请求语句是否属于预设高危操作的步骤包括:
检测所述请求语句是否匹配预设高危指标,所述高危指标包括关键词、正则表达式、位图中的至少一种;
若所述请求语句匹配所述高危指标,则表明所述请求语句属于所述高危操作。
3.如权利要求2所述的数据库的控制方法,其特征在于,所述检测所述请求语句是否匹配预设高危指标的步骤包括:
将所述请求语句输入预先创建的高危识别模型中进行关键词匹配,得到识别结果,其中,所述高危识别模型基于所述高危指标的数据集训练得到。
4.如权利要求2-3中任一项所述的数据库的控制方法,其特征在于,所述数据库防火墙与云服务器连接,所述检测所述请求语句是否匹配预设高危指标的步骤之前,还包括:
从所述云服务器中获取敏感关键词;
根据所述敏感关键词,更新所述高危指标。
5.如权利要求1所述的数据库的控制方法,其特征在于,所述请求语句包括若干字符,所述在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作的步骤包括:
依次拦截所述终端向所述数据库服务所键入的所述请求语句中的若干字符,以得到所述请求语句;
识别所述请求语句是否属于所述高危操作。
6.如权利要求1所述的数据库的控制方法,其特征在于,所述在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作的步骤之后,还包括:
在所述终端通过移动指令向所述数据库服务键入所述请求语句对应的回显语句,且,所述终端向所述数据库服务键入所述回车字符串时,替换所述回车字符串为所述中断字符串。
7.如权利要求1所述的数据库的控制方法,其特征在于,所述在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作的步骤之前,还包括:
响应于所述终端的账号登录请求,根据所述账号登录请求,确定对应的账户设备和/或账户邮箱,并生成动态口令;
发送所述动态口令到所述账户设备和/或账户邮箱;
接收所述终端传输的用户口令,在检测到所述动态口令与所述用户口令匹配时,执行所述在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作的步骤。
8.一种数据库的控制装置,其特征在于,所述数据库的控制装置包括:
识别模块,用于在所述终端向所述数据库服务键入请求语句时,所述数据库防火墙识别所述请求语句是否属于预设高危操作;
替换模块,用于若识别出所述请求语句属于所述高危操作,则在所述终端向所述数据库服务键入回车字符串时,所述数据库防火墙替换所述回车字符串为中断字符串,所述中断字符串的长度与所述回车字符串的长度对应。
9.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据库的控制程序,所述数据库的控制程序被所述处理器执行时实现如权利要求1-7中任一项所述的数据库的控制方法的步骤。
10.一种计算机可读写存储介质,其特征在于,所述计算机可读写存储介质上存储有数据库的控制程序,所述数据库的控制程序被处理器执行时实现如权利要求1-7中任一项所述的数据库的控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410147743.5A CN117688555A (zh) | 2024-02-02 | 2024-02-02 | 数据库的控制方法、装置、终端设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410147743.5A CN117688555A (zh) | 2024-02-02 | 2024-02-02 | 数据库的控制方法、装置、终端设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117688555A true CN117688555A (zh) | 2024-03-12 |
Family
ID=90128541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410147743.5A Pending CN117688555A (zh) | 2024-02-02 | 2024-02-02 | 数据库的控制方法、装置、终端设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117688555A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030069994A1 (en) * | 2001-09-27 | 2003-04-10 | International Business Machines Corporation | System and method for providing character interactive input/output |
CN102546606A (zh) * | 2011-12-23 | 2012-07-04 | 成都市华为赛门铁克科技有限公司 | Telnet命令过滤方法、网络安全设备和系统 |
CN106656919A (zh) * | 2015-10-30 | 2017-05-10 | 中国科学院声学研究所 | 一种基于Telnet协议的会话解析方法及系统 |
CN107566363A (zh) * | 2017-08-30 | 2018-01-09 | 杭州安恒信息技术有限公司 | 一种基于机器学习的sql注入攻击防护方法 |
CN112131205A (zh) * | 2020-09-21 | 2020-12-25 | 上海上讯信息技术股份有限公司 | 一种数据库阻断方法及设备 |
-
2024
- 2024-02-02 CN CN202410147743.5A patent/CN117688555A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030069994A1 (en) * | 2001-09-27 | 2003-04-10 | International Business Machines Corporation | System and method for providing character interactive input/output |
CN102546606A (zh) * | 2011-12-23 | 2012-07-04 | 成都市华为赛门铁克科技有限公司 | Telnet命令过滤方法、网络安全设备和系统 |
CN106656919A (zh) * | 2015-10-30 | 2017-05-10 | 中国科学院声学研究所 | 一种基于Telnet协议的会话解析方法及系统 |
CN107566363A (zh) * | 2017-08-30 | 2018-01-09 | 杭州安恒信息技术有限公司 | 一种基于机器学习的sql注入攻击防护方法 |
CN112131205A (zh) * | 2020-09-21 | 2020-12-25 | 上海上讯信息技术股份有限公司 | 一种数据库阻断方法及设备 |
Non-Patent Citations (1)
Title |
---|
宫彦婷 等: "基于主动防御的数据库防火墙设计与实现", 《中国数字医学》, vol. 8, no. 4, 30 April 2013 (2013-04-30), pages 92 - 94 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11038917B2 (en) | System and methods for building statistical models of malicious elements of web pages | |
US8453255B2 (en) | Method for monitoring stored procedures | |
CN109768992B (zh) | 网页恶意扫描处理方法及装置、终端设备、可读存储介质 | |
US11716349B2 (en) | Machine learning detection of database injection attacks | |
US20060212438A1 (en) | SQL injection protection by variable normalization | |
US11392723B2 (en) | Data breach prevention and remediation | |
KR102355973B1 (ko) | 스미싱 메시지 판별장치 및 스미싱 메시지 판별방법 | |
US20220239674A1 (en) | Security appliance to monitor networked computing environment | |
US20210004628A1 (en) | Method and system for website detection | |
US20160277417A1 (en) | Method and apparatus for communication number update | |
WO2021031905A1 (zh) | 数据管理方法、装置、设备、系统及计算机可读存储介质 | |
US11178160B2 (en) | Detecting and mitigating leaked cloud authorization keys | |
CN113190839A (zh) | 一种基于SQL注入的web攻击防护方法及系统 | |
KR20090120343A (ko) | 파밍감지 시스템 및 이를 제어하는 방법 | |
US20230350769A1 (en) | Method and apparatus for generating log data having increased filterability | |
CN111047434B (zh) | 一种操作记录生成方法、装置、计算机设备和存储介质 | |
CN110798353A (zh) | 基于行为特征大数据分析的网络行为风险感知及防御方法 | |
CN117688555A (zh) | 数据库的控制方法、装置、终端设备以及存储介质 | |
EP3306511B1 (en) | System and methods of detecting malicious elements of web pages | |
US10235450B2 (en) | Semantic layer for processing machine data | |
CN114969450A (zh) | 一种用户行为分析方法、装置、设备及存储介质 | |
KR100921255B1 (ko) | Sql 마스킹 장치 및 방법 | |
CN114205094B (zh) | 一种网络攻击告警的处理方法、装置、设备和存储介质 | |
CN113486383B (zh) | 一种前端元素的权限控制方法、装置、存储介质和设备 | |
CN110418020B (zh) | 名单状态信息处理方法、装置、电子终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |