CN113419924B - 一种基于会话保持的数据库操作风险提示处理方法及装置 - Google Patents

一种基于会话保持的数据库操作风险提示处理方法及装置 Download PDF

Info

Publication number
CN113419924B
CN113419924B CN202110964759.1A CN202110964759A CN113419924B CN 113419924 B CN113419924 B CN 113419924B CN 202110964759 A CN202110964759 A CN 202110964759A CN 113419924 B CN113419924 B CN 113419924B
Authority
CN
China
Prior art keywords
operation request
data operation
database
data
response message
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.)
Active
Application number
CN202110964759.1A
Other languages
English (en)
Other versions
CN113419924A (zh
Inventor
杨海峰
陈寿仓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dbsec Technology Co ltd
Original Assignee
Beijing Dbsec Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Dbsec Technology Co ltd filed Critical Beijing Dbsec Technology Co ltd
Priority to CN202110964759.1A priority Critical patent/CN113419924B/zh
Publication of CN113419924A publication Critical patent/CN113419924A/zh
Application granted granted Critical
Publication of CN113419924B publication Critical patent/CN113419924B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了基于会话保持的数据库操作风险提示处理方法及装置,该方法包括:截取发往数据库的数据操作请求,并判断数据操作请求是否具有风险;在确定数据操作请求存在风险的情况下,保持预定会话的连接;修改数据操作请求;将修改后的数据操作请求发送给数据库,并接收数据库返回的响应消息;将响应消息中的错误信息修改为用于指示数据操作请求存在风险的指示信息;通过预定会话将修改后的响应消息发送给数据操作请求的来源方。通过本申请解决了现有技术中截获存在风险的数据操作请求后无法向来源方正确反馈所导致的问题,从而能够对数据操作请求中的风险进行正确的提示。

Description

一种基于会话保持的数据库操作风险提示处理方法及装置
技术领域
本申请涉及到数据库监控领域,具体而言,涉及一种基于会话保持的数据库操作风险提示处理方法及装置。
背景技术
数据库对于一个企业来说是至关重要的,因此维护数据库的安全是所有企业均面临的问题。
在现有技术中,一般会对发往数据库的数据操作请求进行审计,如果通过审计发现该数据操作请求存在风险,则不会将该数据操作请求发往数据库。由于审计是通过截获数据操作请求的方式进行的,此时数据操作请求的来源方(或称为发送方)无法接收到数据库的响应,在超时之后就会断开会话,此时数据操作的请求方并不知道是出现什么问题,其会再次重发该数据操作请求,当然,重发的数据操作请求依然会超时。
这就导致了数据操作请求的来源方收到的一直是一个不明原因的数据库访问超时,这不利于数据操作请求的来源方查找和解决问题。
发明内容
本申请实施例提供了一种基于会话保持的数据库操作风险提示处理方法及装置,以至少解决现有技术中截获存在风险的数据操作请求后无法向来源方正确反馈所导致的问题。
根据本申请的一个方面,提供了一种基于会话保持的数据库操作风险提示处理方法,包括:截取发往数据库的数据操作请求,并判断所述数据操作请求是否具有风险,其中,所述数据操作请求是在建立预定会话之后,通过所述预定会话发起的;在确定所述数据操作请求存在风险的情况下,保持所述预定会话的连接;修改所述数据操作请求,其中,修改后的所述数据操作请求为所述数据库无法返回正确结果的内容;将修改后的所述数据操作请求发送给所述数据库,并接收所述数据库返回的响应消息,其中,所述响应消息中携带有错误信息;将所述响应消息中的错误信息修改为用于指示所述数据操作请求存在风险的指示信息;通过所述预定会话将修改后的所述响应消息发送给所述数据操作请求的来源方。
进一步地,判断所述数据操作请求是否具有风险包括:获取所述数据操作请求中的SQL语句;对所述SQL语句进行分析,判断所述SQL语句是否存在风险。
进一步地,将所述响应消息中的错误信息修改为用于指示所述数据操作请求存在风险的指示信息包括:根据所述响应消息的数据格式对所述响应消息进行解析找到所述错误信息,其中,所述响应消息的数据格式是预选获取到的;将所述指示信息根据所述错误信息的数据格式进行编码;将编码后所述指示信息替换掉所述错误信息。
进一步地,修改所述数据操作请求包括:将所述数据操作请求修改为数据查询请求,其中,所述数据查询请求用于查询以下至少之一:查询所述数据库中不存在的表、查询所述数据库中预定表中不存在的字段。
进一步地,修改所述数据操作请求包括:获取所述数据操作请求中的内容;将所述数据操作请求内容中的操作对象修改为所述数据库中不存在的对象。
根据本申请的另一个方面,提供了一种基于会话保持的数据库操作风险提示处理装置,包括:判断模块,用于截取发往数据库的数据操作请求,并判断所述数据操作请求是否具有风险,其中,所述数据操作请求是在建立预定会话之后,通过所述预定会话发起的;保持模块,用于在确定所述数据操作请求存在风险的情况下,保持所述预定会话的连接;第一修改模块,用于修改所述数据操作请求,其中,修改后的所述数据操作请求为所述数据库无法返回正确结果的内容;第一发送模块,将修改后的所述数据操作请求发送给所述数据库,并接收所述数据库返回的响应消息,其中,所述响应消息中携带有错误信息;第二修改模块,用于将所述响应消息中的错误信息修改为用于指示所述数据操作请求存在风险的指示信息;第二发送模块,用于通过所述预定会话将修改后的所述响应消息发送给所述数据操作请求的来源方。
进一步地,所述判断模块用于获取所述数据操作请求中的SQL语句;对所述SQL语句进行分析,判断所述SQL语句是否存在风险。
进一步地,所述第二修改模块用于根据所述响应消息的数据格式对所述响应消息进行解析找到所述错误信息,其中,所述响应消息的数据格式是预选获取到的;将所述指示信息根据所述错误信息的数据格式进行编码;将编码后所述指示信息替换掉所述错误信息。
进一步地,所述第一修改模块用于将所述数据操作请求修改为数据查询请求,其中,所述数据查询请求用于查询以下至少之一:查询所述数据库中不存在的表、查询所述数据库中预定表中不存在的字段。
进一步地,所述第一修改模块用于获取所述数据操作请求中的内容;将所述数据操作请求内容中的操作对象修改为所述数据库中不存在的对象。
在本申请实施例中,采用了截取发往数据库的数据操作请求,并判断所述数据操作请求是否具有风险,其中,所述数据操作请求是在建立预定会话之后,通过所述预定会话发起的;在确定所述数据操作请求存在风险的情况下,保持所述预定会话的连接;修改所述数据操作请求,其中,修改后的所述数据操作请求为所述数据库无法返回正确结果的内容;将修改后的所述数据操作请求发送给所述数据库,并接收所述数据库返回的响应消息,其中,所述响应消息中携带有错误信息;将所述响应消息中的错误信息修改为用于指示所述数据操作请求存在风险的指示信息;通过所述预定会话将修改后的所述响应消息发送给所述数据操作请求的来源方。通过本申请解决了现有技术中截获存在风险的数据操作请求后无法向来源方正确反馈所导致的问题,从而能够对数据操作请求中的风险进行正确的提示。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的基于会话保持的数据库操作风险提示处理方法的流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
会话(Session) 是通信双方从开始通信到通信结束期间的一个上下文(Context)。这个上下文是一段位于服务器端的内存:记录了本次连接的客户端机器、通过哪个应用程序、哪个用户登录等信息。
在本实施例中,提供了一种基于会话保持的数据库操作风险提示处理方法,图1是根据本申请实施例的基于会话保持的数据库操作风险提示处理方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,截取发往数据库的数据操作请求,并判断数据操作请求是否具有风险,其中,该数据操作请求是在建立预定会话之后,通过该预定会话发起的;
在该步骤中,会话(Session) 是通信双方从开始通信到通信结束期间的一个上下文(Context)。这个上下文是一段位于服务器端的内存:记录了本次连接的客户端机器、通过哪个应用程序、哪个用户登录等信息。在图1中示出的步骤以及以下可选实施例中的步骤均是基于会话保持来进行处理的。
步骤S104,在确定该数据操作请求存在风险的情况下,保持预定会话的连接;
步骤S106,修改该数据操作请求,其中,修改后的数据操作请求为数据库无法返回正确结果的内容;
步骤S108,将修改后的数据操作请求发送给数据库,并接收数据库返回的响应消息,其中,该响应消息中携带有错误信息;
步骤S110,将该响应消息中的错误信息修改为用于指示数据操作请求存在风险的指示信息;
步骤S112,通过上述预定会话将修改后的响应消息发送给数据操作请求的来源方。
上述步骤以及下文中的可选的步骤均可以在中间软件中实现,该中间软件可以理解是数据库代理方,请求对数据库数据进行操作的一方可以称为客户方,提供数据库服务的可以称为服务方,数据库代理方与客户方和服务方均保持连接,代理方对于客户方和服务方来说是透明的。在上述步骤中可以识别出风险数据操作请求,并根据风险数据操作请求来构造相应的指示信息,从而使数据操作请求的发送方(或称为来源方)明确发送的数据操作请求的风险之外,从而解决了现有技术中截获存在风险的数据操作请求后无法向来源方正确反馈所导致的问题,能够对数据操作请求中的风险进行正确的提示。
判断数据操作请求是否存在风险的方式有很多种,其中,考虑到给数据库带来威胁最大的可能是SQL语句,在一个可选的实施方式中,可以获取数据操作请求中的SQL语句,对SQL语句进行分析,判断SQL语句是否存在风险。
本实施例中关注的是判断存在风险之后的处理,无论使用哪种判断SQL是否存在风险的方式,都可以解决本实施例所要解决的问题。为了更加安全,可以采用更加宽泛的SQL风险的判断方式,只要认为存在风险,则执行图1中的步骤即可。在本实施例中提供了一种可选的SQL风险判断方式,下面对该可选的实施方式进行说明。
在该可选实施方式中,可以获取SQL代码,基于预设代码检查规则判断SQL代码中是否存在风险SQL;确定不存在时,将SQL代码发布至测试环境;调用测试环境中的第一风险识别模型对SQL代码进行风险识别;其中,第一风险识别模型基于测试环境中的SQL特征数据训练获得;在识别结果中不存在风险SQL时,将SQ代码发布至生产环境;调用生产环境中的第二风险识别模型对SQL代码中的慢SQL进行风险识别,获得风险识别结果;其中,第二风险识别模型基于生产环境中的SQL特征数据训练获得;慢SQL为超过预设阈值的SQL。
或者,也可以仅仅是基于预设代码检测规则判断SQL代码中是否存在风险SQL。首先,创建预设代码检查规则。例如,一些实施场景中,创建预设代码检查规则时,可以结合元数据对SQL进行解析。其中,元数据可以包括数据字典(如,数据库、数据表、表字段、主键定义)、数据容量(如,数据库容量大小,数据表容量大小,数据表分区容量大小)、统计信息(如,数据表记录数、数据表分区及分布键、数据分布情况)等。在创建预设代码检查规则后,可以将其存放在代码规则库中,这样,后续在需要的时候可以直接从代码规则库中调取,从而可以有效提高数据处理效率。代码规则库可以用于存放预设代码检查规则,其可以是Oracle数据库、MySQL数据库等。
该预设代码检查规则可以包括以下至少之一:大容量表使用笛卡尔积、大容量表存在全表扫描风险、大容量表存在查询列无裁剪、分区表未加分区限定条件、大容量表使用count(distinct)函数、大容量表使用row_number()函数、大容量表使用order by排序操作、大容量表使用collect_set函数、大容量表使用collect_list函数、大容量表使用unixtimestamp函数、大容量表使用正则表达式、join字段和group by字段一致但没打开性能优化开关、大容量表存在非主键关联风险、union all部分个数超过规范阈值、SQL嵌套次数超过规范阈值等等。
在一个可选实施方式中,可以对SQL进行关键字识别,这些关键字为能够导致数据库运算量(超过阈值)的关键字,例如,Select *、row_number、orderBy等,或者这些关键字是能够导致数据库数据丢失的关键字,例如,delete等,只有在识别出这些关键字之后,才执行图1中的步骤,如果没有识别出这些关键字,则将该数据操作请求转发数据库。
在该可选实施方式,还可以获取数据操作请求的优先级,该优先级用于指示数据库响应速度的快慢,对于优先级超过阈值的数据操作请求,则直接转发给数据库。转发数据库的同时可以对数据操作请求进行备份,然后对备份的数据操作请求进行风险分析,如果确认存在风险,则依然按照图1中的步骤构建一个数据操作请求消息发往数据库,得到携带错误信息的响应消息之后,将响应消息中的错误信息替换为指示信息,并且还在指示信息中携带该数据操作请求的SQL语句,以具体指示出存在风险的SQL语句。这种处理方式即可以保证数据库的响应速度,又可以对风险语句做出提示。
作为另一个可选的实施方式,如果该优先级超过阈值,在直接转发给数据库之前,还可以判断数据操作请求的来源方的信任度,如果信任度超过阈值则直接转发数据库,在对本地备份的数据操作请求进行风险分析时发现该数据操作请求存在风险,则降低该数据操作请求来源方的信任度。
通过该可选实施例可以判断出那些SQL语句存在风险。当然,也可以采用其他的方式判断SQL是否存在风险,在本实施例并不限于上述的可选判断方式。
在上述步骤中,修改数据操作请求和修改响应消息中的错误信息的方式也有很多种,例如:可以根据响应消息的数据格式对响应消息进行解析找到错误信息,其中,响应消息的数据格式是预选获取到的;将指示信息根据错误信息的数据格式进行编码;将编码后指示信息替换掉错误信息。
不同数据库中的反馈的错误消息不同,例如,在某个数据库中,存在如下错误消息:
消息:hashchk;错误:1001 SQLSTATE: HY000 (ER_NISAMCHK)
消息:isamchk;错误:1002 SQLSTATE: HY000 (ER_NO)
消息:无法创建文件'%s' (errno: %d);错误:1005 SQLSTATE: HY000 (ER_CANT_CREATE_TABLE);
消息:无法创建表'%s' (errno: %d);错误:1006 SQLSTATE: HY000 (ER_CANT_CREATE_DB);
消息:无法创建数据库'%s' (errno: %d);错误:1007 SQLSTATE: HY000 (ER_DB_CREATE_EXISTS);
消息:删除'%s'时出错 (errno: %d);错误:1012 SQLSTATE: HY000 (ER_CANT_FIND_SYSTEM_REC);
消息:无法读取系统表中的记录;错误:1013 SQLSTATE: HY000 (ER_CANT_GET_STAT)
消息:无法找到文件: '%s' (errno: %d);错误:1018 SQLSTATE: HY000 (ER_CANT_READ_DIR。
这些错误消息还有很多,在此不再一一列举。根据这些错误消息出现的原因,在本实施例中可以对应修改数据操作请求,例如,可以将数据操作请求修改为数据查询请求,其中,数据查询请求用于查询以下至少之一:查询数据库中不存在的表、查询数据库中预定表中不存在的字段。又例如,可以获取数据操作请求中的内容;将数据操作请求内容中的操作对象修改为数据库中不存在的对象。
其他构造错误的方式也适用于本实施例,在此不再一一说明。
作为另一个可选的实施方式,在确定该数据操作请求存在风险之后,还可以获取风险类型,根据风险的类型提前配置对应与该风险类型的指示消息,将该响应消息中的错误信息修改为用于指示数据操作请求存在风险的指示信息,该指示消息的内容与该风险类型相对应。例如,会导致数据丢失、会导致数据库运算超负荷等。
在本实施例中,提供一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行以上实施例中的方法。
上述程序可以运行在处理器中,或者也可以存储在存储器中(或称为计算机可读介质),计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
这些计算机程序也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤,对应与不同的步骤可以通过不同的模块来实现。在本实施例中也提供了这样的一种装置,该装置为一种基于会话保持的数据库操作风险提示处理装置,该装置包括:判断模块,用于截取发往数据库的数据操作请求,并判断数据操作请求是否具有风险,其中,数据操作请求是在建立预定会话之后,通过预定会话发起的;保持模块,用于在确定数据操作请求存在风险的情况下,保持预定会话的连接;第一修改模块,用于修改数据操作请求,其中,修改后的数据操作请求为数据库无法返回正确结果的内容;第一发送模块,将修改后的数据操作请求发送给数据库,并接收数据库返回的响应消息,其中,响应消息中携带有错误信息;第二修改模块,用于将响应消息中的错误信息修改为用于指示数据操作请求存在风险的指示信息;第二发送模块,用于通过预定会话将修改后的响应消息发送给数据操作请求的来源方。
本实施例中的装置对于与图1中示出的流程步骤,该装置以及下文中的可选的装置实施例均可以在中间软件中实现,该中间软件可以理解是数据库代理方,请求对数据库数据进行操作的一方可以称为客户方,提供数据库服务的可以称为服务方,数据库代理方与客户方和服务方均保持连接,代理方对于客户方和服务方来说是透明的。
以下各个模块的功能对于上述的可选实施方式,在上述可选实施方式中,已经进行了详细的说明,在下文中不再赘述。
进一步地,判断模块用于获取数据操作请求中的SQL语句;对SQL语句进行分析,判断SQL语句是否存在风险。
进一步地,第二修改模块用于根据响应消息的数据格式对响应消息进行解析找到错误信息,其中,响应消息的数据格式是预选获取到的;将指示信息根据错误信息的数据格式进行编码;将编码后指示信息替换掉错误信息。
进一步地,第一修改模块用于将数据操作请求修改为数据查询请求,其中,数据查询请求用于查询以下至少之一:查询数据库中不存在的表、查询数据库中预定表中不存在的字段。
进一步地,第一修改模块用于获取数据操作请求中的内容;将数据操作请求内容中的操作对象修改为数据库中不存在的对象。
上述方法中可选的步骤在装置实施例中没有对应的到模块的,都是可以理解为是该装置自身用于处理的。
因此,在本实施例中提供的一种基于会话保持的数据库操作风险提示处理装置,该装置具有一个或多个模块,所述一个或多个模块用于执行上述实施例以及可选实施例中的方法。
在上述实施例中,分析到哪条SQL有危害性,不直接断掉会话,给用户一个明确的提示。在上述实施例中,对拦截到的数据操作请求进行排查,如果其中的SQL语句存在风险,择 可以将请求的类型进行修改,或者还可以将请求的内容进行修改,这样可以做到保持协议不变,让数据库去返回错误,然后数据库返回的错误中的内容进行修改,改成具有提示意义的信息。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (4)

1.一种基于会话保持的数据库操作风险提示处理方法,其特征在于,包括:
截取发往数据库的数据操作请求,并判断所述数据操作请求是否具有风险,其中,所述数据操作请求是在建立预定会话之后,通过所述预定会话发起的;
在确定所述数据操作请求存在风险的情况下,保持所述预定会话的连接;
修改所述数据操作请求,其中,修改后的所述数据操作请求为所述数据库无法返回正确结果的内容;
将修改后的所述数据操作请求发送给所述数据库,并接收所述数据库返回的响应消息,其中,所述响应消息中携带有错误信息;
修改所述数据操作请求包括:将所述数据操作请求修改为数据查询请求,其中,所述数据查询请求用于查询以下至少之一:查询所述数据库中不存在的表、查询所述数据库中预定表中不存在的字段;或者,修改所述数据操作请求包括:获取所述数据操作请求中的内容;将所述数据操作请求内容中的操作对象修改为所述数据库中不存在的对象;
将所述响应消息中的错误信息修改为用于指示所述数据操作请求存在风险的指示信息;
通过所述预定会话将修改后的所述响应消息发送给所述数据操作请求的来源方;
其中,判断所述数据操作请求是否具有风险包括:获取所述数据操作请求中的SQL语句;对所述SQL语句进行分析,判断所述SQL语句是否存在风险;判断所述SQL语句是否存在风险包括:对SQL进行关键字识别,如果关键字为能够导致数据库运算量超过阈值的关键字,或者这些关键字是能够导致数据库数据丢失的关键字,则确定所述SQL语句存在风险。
2.根据权利要求1所述的方法,其特征在于,将所述响应消息中的错误信息修改为用于指示所述数据操作请求存在风险的指示信息包括:
根据所述响应消息的数据格式对所述响应消息进行解析找到所述错误信息,其中,所述响应消息的数据格式是预先获取到的;
将所述指示信息根据所述错误信息的数据格式进行编码;
将编码后所述指示信息替换掉所述错误信息。
3.一种基于会话保持的数据库操作风险提示处理装置,其特征在于,包括:
判断模块,用于截取发往数据库的数据操作请求,并判断所述数据操作请求是否具有风险,其中,所述数据操作请求是在建立预定会话之后,通过所述预定会话发起的;
保持模块,用于在确定所述数据操作请求存在风险的情况下,保持所述预定会话的连接;
第一修改模块,用于修改所述数据操作请求,其中,修改后的所述数据操作请求为所述数据库无法返回正确结果的内容;
第一发送模块,将修改后的所述数据操作请求发送给所述数据库,并接收所述数据库返回的响应消息,其中,所述响应消息中携带有错误信息;所述第一修改模块用于将所述数据操作请求修改为数据查询请求,其中,所述数据查询请求用于查询以下至少之一:查询所述数据库中不存在的表、查询所述数据库中预定表中不存在的字段;或者,所述第一修改模块用于获取所述数据操作请求中的内容;将所述数据操作请求内容中的操作对象修改为所述数据库中不存在的对象;
第二修改模块,用于将所述响应消息中的错误信息修改为用于指示所述数据操作请求存在风险的指示信息;
第二发送模块,用于通过所述预定会话将修改后的所述响应消息发送给所述数据操作请求的来源方;
其中,所述判断模块用于获取所述数据操作请求中的SQL语句;对所述SQL语句进行分析,判断所述SQL语句是否存在风险;其中,判断所述SQL语句是否存在风险包括:对SQL进行关键字识别,如果关键字为能够导致数据库运算量超过阈值的关键字,或者这些关键字是能够导致数据库数据丢失的关键字,则确定所述SQL语句存在风险。
4.根据权利要求3所述的装置,其特征在于,所述第二修改模块用于根据所述响应消息的数据格式对所述响应消息进行解析找到所述错误信息,其中,所述响应消息的数据格式是预先获取到的;将所述指示信息根据所述错误信息的数据格式进行编码;将编码后所述指示信息替换掉所述错误信息。
CN202110964759.1A 2021-08-23 2021-08-23 一种基于会话保持的数据库操作风险提示处理方法及装置 Active CN113419924B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110964759.1A CN113419924B (zh) 2021-08-23 2021-08-23 一种基于会话保持的数据库操作风险提示处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110964759.1A CN113419924B (zh) 2021-08-23 2021-08-23 一种基于会话保持的数据库操作风险提示处理方法及装置

Publications (2)

Publication Number Publication Date
CN113419924A CN113419924A (zh) 2021-09-21
CN113419924B true CN113419924B (zh) 2021-12-07

Family

ID=77719085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110964759.1A Active CN113419924B (zh) 2021-08-23 2021-08-23 一种基于会话保持的数据库操作风险提示处理方法及装置

Country Status (1)

Country Link
CN (1) CN113419924B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116955504B (zh) * 2023-09-21 2023-12-19 太平金融科技服务(上海)有限公司 一种数据处理方法、装置、电子设备和存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020193A (zh) * 2012-12-03 2013-04-03 北京奇虎科技有限公司 处理数据库操作请求的方法和设备
CN103761233A (zh) * 2013-10-18 2014-04-30 北京奇虎科技有限公司 处理数据库操作请求的方法、设备和系统
CN105447408A (zh) * 2015-12-03 2016-03-30 曙光信息产业(北京)有限公司 一种数据保护方法及装置
CN106033422A (zh) * 2015-03-11 2016-10-19 中国移动通信集团内蒙古有限公司 一种数据库操作控制方法、装置及系统
CN110363014A (zh) * 2019-07-05 2019-10-22 上海瀚之友信息技术服务有限公司 一种数据库的审计系统
CN110851461A (zh) * 2019-10-31 2020-02-28 深信服科技股份有限公司 非关系型数据库的审计方法、装置和存储介质
CN111125066A (zh) * 2019-12-26 2020-05-08 杭州迪普科技股份有限公司 检测数据库审计设备功能的方法及装置
CN112783979A (zh) * 2021-01-28 2021-05-11 北京读我网络技术有限公司 分布式数据库访问方法、装置及分布式数据库管理系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107292618B (zh) * 2016-04-11 2020-04-28 阿里巴巴集团控股有限公司 数据库中密文数据换密失败的处理方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020193A (zh) * 2012-12-03 2013-04-03 北京奇虎科技有限公司 处理数据库操作请求的方法和设备
CN103761233A (zh) * 2013-10-18 2014-04-30 北京奇虎科技有限公司 处理数据库操作请求的方法、设备和系统
CN106033422A (zh) * 2015-03-11 2016-10-19 中国移动通信集团内蒙古有限公司 一种数据库操作控制方法、装置及系统
CN105447408A (zh) * 2015-12-03 2016-03-30 曙光信息产业(北京)有限公司 一种数据保护方法及装置
CN110363014A (zh) * 2019-07-05 2019-10-22 上海瀚之友信息技术服务有限公司 一种数据库的审计系统
CN110851461A (zh) * 2019-10-31 2020-02-28 深信服科技股份有限公司 非关系型数据库的审计方法、装置和存储介质
CN111125066A (zh) * 2019-12-26 2020-05-08 杭州迪普科技股份有限公司 检测数据库审计设备功能的方法及装置
CN112783979A (zh) * 2021-01-28 2021-05-11 北京读我网络技术有限公司 分布式数据库访问方法、装置及分布式数据库管理系统

Also Published As

Publication number Publication date
CN113419924A (zh) 2021-09-21

Similar Documents

Publication Publication Date Title
US20180365085A1 (en) Method and apparatus for monitoring client applications
US20060161894A1 (en) System and methods for automatically verifying management packs
CN111935082A (zh) 一种网络威胁信息关联系统及方法
CN112486719B (zh) 一种用于rpc接口调用失败处理的方法及设备
CN113419924B (zh) 一种基于会话保持的数据库操作风险提示处理方法及装置
CN110674161A (zh) 上线sql的方法、系统、存储介质及sql操作平台
CN111177094A (zh) 日志数据处理方法、装置、电子设备及存储介质
CN109428682B (zh) 一种消息处理确认方法及装置
CN108111328B (zh) 一种异常处理方法及装置
CN113536304A (zh) 一种基于运维审计系统的防绕行方法及设备
CN114756530B (zh) 一种基于堡垒机的客户端信息处理方法
CN113641702B (zh) 一种语句审计后与数据库客户端交互处理方法和装置
CN116303380A (zh) 一种监测业务中的数据质量校验方法、设备及介质
CN112650767B (zh) 一种数据过滤前置的数据交换方法及系统
CN114154020A (zh) 基于动态标签映射的大容量数据处理方法及装置
CN111427871B (zh) 数据处理方法、装置、设备
CN113094233A (zh) 一种服务资源识别与处理的方法
CN114936212B (zh) 一种审计数据同步处理方法和装置
CN111061609A (zh) 一种日志监控方法及系统
CN115549990B (zh) 一种sql注入检测方法、装置、电子设备及存储介质
US11928135B2 (en) Edge computing data reproduction and filtering gatekeeper
CN113742371B (zh) 一种sql语句块分析处理方法和装置
CN116702008A (zh) 系统风险管理方法、装置、终端设备以及存储介质
CN116383251A (zh) 一种审计模板入库的处理方法和装置
CN118069722A (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
GR01 Patent grant
GR01 Patent grant