CN117951742A - 数据处理方法、装置、设备、介质和程序产品 - Google Patents

数据处理方法、装置、设备、介质和程序产品 Download PDF

Info

Publication number
CN117951742A
CN117951742A CN202410157616.3A CN202410157616A CN117951742A CN 117951742 A CN117951742 A CN 117951742A CN 202410157616 A CN202410157616 A CN 202410157616A CN 117951742 A CN117951742 A CN 117951742A
Authority
CN
China
Prior art keywords
data
account
data packet
database
packet
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
Application number
CN202410157616.3A
Other languages
English (en)
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.)
Guangzhou Kugou Computer Technology Co Ltd
Original Assignee
Guangzhou Kugou Computer 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 Guangzhou Kugou Computer Technology Co Ltd filed Critical Guangzhou Kugou Computer Technology Co Ltd
Priority to CN202410157616.3A priority Critical patent/CN117951742A/zh
Publication of CN117951742A publication Critical patent/CN117951742A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据处理方法、装置、设备、介质和程序产品,涉及计算机技术领域。该方法包括如下步骤:在第一时刻获取第一数据包;对所述第一数据包进行数据分析,得到所述第一数据包对应的数据内容;获取拖库条件;响应于所述数据内容与所述拖库条件匹配,对所述第一帐号进行数据阻断处理,得到所述第一帐号对应的阻断处理结果。一方面,能够实时对数据库进行拖库检测,提高拖库检测效率,另一方面,能够在发现拖库行为后,及时对存在拖库行为的数据传输过程进行阻断,保证了数据库的数据安全性。

Description

数据处理方法、装置、设备、介质和程序产品
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种数据处理方法、装置、设备、介质和程序产品。
背景技术
拖库行为是指在未经授权的情况下对数据库执行攻击性行为,导致数据库中的数据受到影响,因此,拖库检测对于保护数据库安全尤为重要。
在相关技术中,通过对数据库对应的操作日志进行周期性检查,根据日志内容检查是否存在拖库行为的数据库操作,其中,操作日志中记录有对数据库进行各类操作的操作记录。
然而在相关技术中,通过查询操作日志的方式会导致拖库检测效率较低,无法保证数据库中的数据安全。
发明内容
本申请实施例提供了一种数据处理方法、装置、设备、介质和程序产品,不仅能够提高数据库的拖库检测效率,还能够提高对数据库规避拖库行为的效率。所述技术方案如下:
一方面,提供了一种数据处理方法,所述方法包括:
在第一时刻获取第一数据包,所述第一数据包是指第一帐号与数据库之间进行数据通信时在所述第一时刻传输的数据包,所述第一帐号是对所述数据库具有访问权限的帐号;
对所述第一数据包进行数据分析,得到所述第一数据包对应的数据内容,所述数据内容是指所述第一数据包在进行数据传输过程中对应的传输内容;
获取拖库条件,所述拖库条件用于确定所述第一帐号与所述数据库之间进行数据通信的过程中所产生的攻击性行为;
响应于所述数据内容与所述拖库条件匹配,对所述第一帐号进行数据阻断处理,得到所述第一帐号对应的阻断处理结果,所述阻断处理结果用于指示从第二时刻开始阻断所述第一帐号与所述数据库之间的数据传输,所述第二时刻是所述第一时刻之后的时刻。
另一方面,提供了一种数据处理装置,所述装置包括:
获取模块,用于在第一时刻获取第一数据包,所述第一数据包是指第一帐号与数据库之间进行数据通信时在所述第一时刻传输的数据包,所述第一帐号是对所述数据库具有访问权限的帐号;
分析模块,用于对所述第一数据包进行数据分析,得到所述第一数据包对应的数据内容,所述数据内容是指所述第一数据包在进行数据传输过程中对应的传输内容;
所述获取模块,还用于获取拖库条件,所述拖库条件用于确定所述第一帐号与所述数据库之间进行数据通信的过程中所产生的攻击性行为;
阻断模块,用于响应于所述数据内容与所述拖库条件匹配,对所述第一帐号进行数据阻断处理,得到所述第一帐号对应的阻断处理结果,所述阻断处理结果用于指示从第二时刻开始阻断所述第一帐号与所述数据库之间的数据传输,所述第二时刻是所述第一时刻之后的时刻。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中任一所述的数据处理方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述本申请实施例中任一所述的数据处理方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的数据处理方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
当第一帐号与数据库之间进行数据通信的过程中,在第一时刻获取第一数据包,对第一数据包进行数据分析,得到用于表征第一数据包的传输内容对应的数据内容,将数据内容与拖库条件进行匹配,当数据内容与拖库条件匹配的情况下,从第二时刻开始阻断第一帐号和数据库之间的数据传输。也即,通过预先设置的拖库条件实时监测第一帐号与数据库之间进行数据传输过程中的传输内容是否存在拖库行为,从而在第一帐号发送的第一数据包存在拖库行为的情况下,从第二时刻开始对第一帐号进行数据阻断处理,一方面,能够实时对数据库进行拖库检测,提高拖库检测效率,另一方面,能够在发现拖库行为后,及时对存在拖库行为的数据传输过程进行阻断,保证了数据库的数据安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的实施环境的示意图;
图2是本申请一个示例性实施例提供的数据处理方法的流程图;
图3是本申请一个示例性实施例提供的数据处理方法的流程图;
图4是本申请一个示例性实施例提供的数据处理方法的流程图;
图5是本申请一个示例性实施例提供的数据处理方法的流程图;
图6是本申请一个示例性实施例提供的拖库检测过程示意图;
图7是本申请一个示例性实施例提供的配置中心界面示意图;
图8是本申请一个示例性实施例提供的流量解析方法流程图;
图9是本申请一个示例性实施例提供的数据阻断方法流程图;
图10是本申请一个示例性实施例提供的数据处理装置的结构框图;
图11是本申请一个示例性实施例提供的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
需要说明的是,本申请所涉及的信息、数据(包括但不限于第一数据包、第二数据包、帐号信息等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
应当理解,尽管在本申请可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一参数也可以被称为第二参数,类似地,第二参数也可以被称为第一参数。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,针对本申请实施例中涉及的名词进行简单介绍:
拖库:是指网站遭到入侵后,被入侵帐号非法获取其中数据库存储内容的行为。
扩展的伯克利包过滤器(extended Berkeley Packet Filter,eBPF):是一种可以在指定操作系统(例如:Linux)内核中运行用户编写的程序,而不需要修改内核源代码或添加额外的内核模块的技术。eBPF允许程序在不修改内核源代码或添加额外的内核模块的情况下运行。
快速数据路径(eXpress Data Path,XDP):用于在数据包被传递给网络驱动程序之前,在内核空间中对数据包进行处理,以便快速检查和修改数据包。XDP程序可以对数据包进行各种操作,例如:转发、丢包、修改等,并可以选择将数据包发送到指定网络节点。
首先,对本申请实施例中涉及的实施环境进行说明,示意性的,请参考图1,该实施环境中涉及服务器120、通信网络140和终端100,其中,终端100和服务器120之间通过通信网络140连接。
终端100中运行数据库客户端,其中,数据库客户端中登录有第一帐号,服务器120中存储有数据库,第一帐号具有对数据库进行访问权限。
当终端100接收到数据写入操作,根据数据写入操作写入的数据生成第一数据包,将第一数据包在第一时刻发送至服务器120,其中,第一数据包是指第一帐号和数据库之间进行数据通信时传输的数据包。
当服务器120接收到第一数据包后,对第一数据包进行数据分析,得到第一数据包对应的数据内容。服务器120中预先设置有拖库条件,将第一数据包对应的数据内容和拖库条件进行匹配,若数据内容和拖库条件匹配成功,则对第一帐号进行数据阻断处理。
示意性的,当终端100在第二时刻接收到数据写入操作生成第二数据包后,将第二数据包发送至服务器120,服务器120对第二数据包进行数据阻断处理,从而阻断第一帐号和数据库之间的数据传输。
值得注意的是,上述终端可以是手机、平板电脑、台式电脑、便携式笔记本电脑、智能电视、车载终端、智能家居设备等多种形式的终端设备,本申请实施例对此不加以限定。
值得注意的是,上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
其中,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
在一些实施例中,上述服务器还可以实现为区块链系统中的节点。
结合上述名词简介和应用场景,对本申请提供的数据处理方法进行说明,该方法可以由服务器或者终端执行,也可以由服务器和终端共同执行,本申请实施例中,以该方法由服务器执行为例进行说明,如图2所示,图2是本申请一个示例性实施例提供的数据处理方法的流程图。该方法包括如下步骤。
步骤210,在第一时刻获取第一数据包。
其中,第一数据包是指第一帐号与数据库之间进行数据通信时在第一时刻传输的数据包,第一帐号是对数据库具有访问权限的帐号。
示意性的,数据包是指数据通信中用于进行数据传输的最小单位。
示意性的,数据库是指用于对数据进行存储、管理和使用等方式,以满足不同应用场景的需求。
可选地,数据库可用于数据存储、对多个帐号之间进行数据共享(即,多个帐号可共同访问数据库,并对数据库中的数据进行数据处理)、对数据进行安全保护等功能中至少一种。
可选地,存储有数据库的服务器以独立形式存在,也即,每个服务器均为一个独立服务器,独立服务器中存储有一个或者多个数据库;或者,存储有数据库的服务器以分布式形式进行存储,也即,数据库以集群形式存储,数据库集群中包括多个节点,每个节点运行一个或者多个进程,其中,存在多个服务器节点用于存储数据库,这些节点通过数据通信和协作,以提供高可用性、高冗余和可扩展性的数据库服务。
在一些实施例中,第一帐号是指登录在数据库客户端中的帐号,数据库用于存储在服务器中,当第一帐号通过数据库客户端与服务器中的数据库建立通信连接后,第一帐号可对数据库进行访问操作。
可选地,访问操作包括第一帐号从数据库中读取数据、第一帐号对数据库中的数据进行更改、将数据写入数据库、在数据库中查询指定数据、删除数据库中指定数据、对数据库中的数据进行权限控制(包括授权某些数据开放使用或者禁止某些数据被其他帐号获取等操作)、对数据库中的数据进行备份、创建数据库等操作中至少一种。
可选地,第一数据包是独立的单个数据报文,例如:第一帐号在第一时刻向数据库发送连接请求,将连接请求对应的数据报文作为第一数据包;或者,第一数据包中包括多个不同数据报文,不同的数据报文对应不同的数据内容,例如:第一帐号向数据库发送连接请求,数据库接收到连接请求并对第一帐号进行帐号验证通过后向第一帐号发送连接响应,当第一帐号接收到连接响应后向数据库发送数据库指令,用于对数据库执行指定操作,因此,连接请求、连接响应和数据库指令分别对应为三个不同的数据报文,将这三个不同的数据报文作为第一数据包。
其中,数据报文也可称为子数据包。
值得注意的是,当第一数据包中包括多个子数据包的情况下,多个子数据包按照指定传输顺序进行传输,保证数据传输的正确性。
可选地,第一时刻是指单个时间点;或者,第一时刻是指一段时间范围内,对此不作限定。
可选地,第一数据包是指由第一帐号向数据库发送的数据包;或者,第一数据包是指由数据库向第一帐号发送的数据包;或者第一数据包中既包括由第一帐号向数据库发送的数据包,也包括由数据库向第一帐号发送的数据包,对此不作限定。
步骤220,对第一数据包进行数据分析,得到第一数据包对应的数据内容。
其中,数据内容是指第一数据包在进行数据传输过程中对应的传输内容。
示意性的,第一数据包由多个组成部分构成,通过对第一数据包进行数据分析,从而得到第一数据包中的多个组成部分所对应的数据内容。
可选地,第一数据包中包括如下数据内容中至少一种:
1.数据包属性信息,用于指示数据包在数据传输过程中的传输属性,包括源互联网协议(IP)地址、目的IP地址、源端口号、目的端口号或者传输协议中至少一种,用于确定数据包的发送来源、传输路由和传输目的地;
其中,源IP地址用于表示数据包的传输来源、目的IP地址用于表示数据包的传输目标、源端口号用于指示数据包发送方的身份标识、目的端口号用于指示数据包接收方的身份标识、传输协议是指数据包发送方和接收方之间进行数据通信时遵守的数据传输协议。
2.数据库指令内容,是指对数据库执行指定操作的指令内容,例如:查询指令内容,用于在数据库中查询指定数据;
3.帐号信息,用于确定第一数据包的发送方身份,例如:第一帐号的帐号名称、第一帐号标注的帐号标识,其中,帐号标识用于唯一指代第一帐号;
4.数据包大小,用于指示第一数据包在数据传输过程中的数据量;
5.数据包类型,用于指示第一数据包的内容类型,例如:登录请求数据包对应类型标识为“A1”,用于表示该数据包用于向数据库请求登录第一帐号,数据库查询请求数据包对应类型标识为“A2”,用于该数据包用于向数据库请求查询指定数据。
值得注意的是,上述关于数据内容的说明仅为示意性的举例,本申请实施例对此不加以限定。
其中,源互联网协议(IP)地址、目的IP地址、源端口号、目的端口号和传输协议可称为数据包五元组。
可选地,数据分析的方式包括如下几种分析方式中至少一种:
1.第一数据包中包括多个按照指定顺序排列字符,对第一数据包中的多个字符按照预先设定的划分方式进行划分,得到第一数据包对应的多个字段,其中,每个字段中包括至少一个字符,从而根据多个字段分别代表的内容得到第一数据包对应的数据内容;
2.预先获取数据内容对应的内容匹配表,其中,内容匹配表中包括具有匹配关系的字符和字符对应的内容,将第一数据包中的多个字符与内容匹配表进行匹配,从内容匹配表中确定出与第一数据包中多个字符分别匹配的目标字符,将目标字符对应的内容作为第一数据包对应的数据内容。
值得注意的是,上述关于数据分析方式仅为示意性的举例,本申请实施例对此不加以限定。
步骤230,获取拖库条件。
其中,拖库条件用于确定第一帐号与数据库之间进行数据通信的过程中所产生的攻击性行为。
在一些实施例中,拖库条件是指对数据库产生攻击性行为的数据内容。
可选地,拖库条件的获取方式包括如下几种方式中至少一种:
1.获取数据库在历史时间范围内的历史拖库记录,根据历史拖库记录生成拖库条件,其中,历史拖库记录是指在历史时间范围内对数据库产生攻击性行为的数据包;
2.收集对其他数据库产生攻击性行为的数据包资料,根据数据包资料生成拖库条件;
3.获取拖库条件库,其中,拖库条件库中预先存储有多个候选拖库条件,从多个候选拖库条件中选择至少一个作为拖库条件。
值得注意的是,上述关于拖库条件的获取方式仅为示意性的举例,本申请实施例对此不加以限定。
可选地,拖库条件以单个语句形式展示,例如:规定“删除索引”操作属于拖库行为,因此将“删除索引”对应的指令语句作为拖库条件,此时,拖库条件并不为一个完整的数据包;或者,拖库条件以一个完整数据包形式展示,例如:包括包头和包围结构;或者,拖库条件是指某个编译词汇形式展示,例如:“drop”。
可选地,拖库条件为单个,或者,存在多个不同的拖库条件,用于针对不同类型的数据包。
步骤240,响应于数据内容与拖库条件匹配,对第一帐号进行数据阻断处理,得到第一帐号对应的阻断处理结果。
其中,阻断处理结果用于指示从第二时刻开始阻断第一帐号与数据库之间的数据传输,第二时刻是第一时刻之后的时刻。
示意性的,当第一数据包中的数据内容与拖库条件匹配成功,则认为传输第一数据包的第一帐号是存在拖库行为的帐号,因此对第一帐号进行数据阻断处理。
可选地,当第一数据包中所有的数据内容均与拖库条件匹配成功,则对第一帐号进行数据阻断处理;或者,第一数据包中的部分数据内容与拖库条件匹配成功,则对第一帐号进行数据阻断处理,例如:当拖库条件为“drop数据库”,当第一数据包中存在drop数据库对应的操作指令,则认为第一数据包的数据内容与拖库条件匹配。
在一些实施例中,数据阻断处理是指对第一帐号和数据库之间在第一时刻之后的后续数据传输过程中进行阻断,防止第一帐号从第二时刻开始再对数据库产生拖库行为。
可选地,数据阻断方式包括如下几种形式中至少一种:
1.当检测到第二时刻接收到第一帐号传输的第二数据包的情况下,对第二数据包进行丢包处理;
2.当第一帐号存在拖库行为的情况下,将第一帐号对应的帐号信息存储至指定模块中,当第二时刻接收到第二数据包,将第二数据包中的帐号信息与指定模块进行匹配,当匹配成功的情况下,将第二数据包存储至预先设置的拖库文件夹中,其中,拖库文件夹中的数据包均为存在拖库行为的帐号发送的数据包,按照指定周期内对拖库文件夹进行清理。
指定注意的是,上述关于数据阻断方式内容仅为示意性的举例,本申请实施例对此不加以限定。
综上所述,本申请提供的方法,当第一帐号与数据库之间进行数据通信的过程中,在第一时刻获取第一数据包,对第一数据包进行数据分析,得到用于表征第一数据包的传输内容对应的数据内容,将数据内容与拖库条件进行匹配,当数据内容与拖库条件匹配的情况下,从第二时刻开始阻断第一帐号和数据库之间的数据传输。也即,通过预先设置的拖库条件实时监测第一帐号与数据库之间进行数据传输过程中的传输内容是否存在拖库行为,从而在第一帐号发送的第一数据包存在拖库行为的情况下,从第二时刻开始对第一帐号进行数据阻断处理,一方面,能够实时对数据库进行拖库检测,提高拖库检测效率,另一方面,能够在发现拖库行为后,及时对存在拖库行为的数据传输过程进行阻断,保证了数据库的数据安全性。
在一些实施例中,对拖库条件和数据内容的匹配过程进行详细说明,图3是本申请一个示例性实施例提供的数据处理方法流程图,也即,步骤230中还包括步骤231和步骤232,该方法包括如下步骤。
步骤231,将数据内容与拖库条件进行匹配,得到数据内容对应的条件匹配结果。
示意性的,将数据内容与拖库条件进行匹配的过程中,当数据内容中存在拖库条件,则认为数据内容与拖库条件匹配成功;若数据内容中不存在拖库条件,则认为数据内容与拖库条件匹配失败。
可选地,在数据内容与拖库条件进行匹配的过程中,将数据内容中按照指定排列顺序排列的字符逐个与拖库条件进行匹配;或者,数据内容中包括多个语句,将多个语句逐条与拖库条件进行匹配。
在一些实施例中,数据内容中包括数据库指令内容,数据库指令内容用于对数据库执行指定操作,拖库条件中包括多条条件语句;将多条条件语句与数据库指令内容分别进行匹配,得到多条条件语句分别对应的条件匹配结果。
本实施例中,以第一数据包对应的数据内容中包括数据库指令内容为例进行说明。
示意性的,数据库指令内容是指用于对数据库执行指定操作的内容,例如:当指令中包含“INSERT”时,表示用于向数据库中插入新数据,其对应的指令内容如下:
sql`INSERT INTO table_name(column1,column2;...)
VALUES(value1,value2,...);
其中,数据库指令内容中通常包含多个指令语句,用于构成数据库指令内容,例如:当获取的数据库指令内容如下:
SELECT column1,column2 INTO OUTFILE'/path/to/output/file.txt'
FIELDS TERMINATED BY','
FROM orders
WHERE order_date>'2023-01-01';
其中,每一行对应为一句指令语句。
示意性的,拖库条件以语句形式展示,也即,预先设置多个条件语句作为拖库条件,因此,将指令语句和条件语句进行逐句匹配,得到数据内容对应的条件匹配结果。
例如:拖库条件对应的条件语句如下:
^[]*SELECT\s+\.*\s+INTO\s+OUTFILE;
因此,将数据库指令内容中的多个指令语句分别与条件语句进行匹配,从而得到多个指令语句分别对应的条件匹配结果。
步骤232,响应于条件匹配结果符合预设拖库要求,对第一帐号进行数据阻断处理,得到阻断处理结果。
示意性的,当条件匹配结果符合预设拖库要求,则认为第一帐号对数据库产生拖库行为,因此对第一帐号进行数据阻断处理,从而得到阻断处理结果。
在一些实施例中,响应于第i条条件语句与数据库指令内容匹配成功,对第一帐号进行数据阻断处理,得到阻断处理结果,i为正整数。
本实施例中,针对上述多个指令语句和条件语句进行匹配的过程中,第一行指令语句“SELECT column1,column2 INTO OUTFILE'/path/to/output/file.txt'”中存在“SELECT...INTO OUTFILE...”与条件语句“^[]*SELECT\s+\.*\s+INTO\s+OUTFILE;”中的“SELECT...INTO OUTFILE...”匹配,因此,对第一帐号进行数据阻断处理,得到阻断处理结果。
综上所述,本申请提供的方法,当第一帐号与数据库之间进行数据通信的过程中,在第一时刻获取第一数据包,对第一数据包进行数据分析,得到用于表征第一数据包的传输内容对应的数据内容,将数据内容与拖库条件进行匹配,当数据内容与拖库条件匹配的情况下,从第二时刻开始阻断第一帐号和数据库之间的数据传输。也即,通过预先设置的拖库条件实时监测第一帐号与数据库之间进行数据传输过程中的传输内容是否存在拖库行为,从而在第一帐号发送的第一数据包存在拖库行为的情况下,从第二时刻开始对第一帐号进行数据阻断处理,一方面,能够实时对数据库进行拖库检测,提高拖库检测效率,另一方面,能够在发现拖库行为后,及时对存在拖库行为的数据传输过程进行阻断,保证了数据库的数据安全性。
本实施例提供的方法,通过将第一数据包对应的数据内容与拖库条件匹配,从而根据条件匹配结果对产生拖库行为的帐号进行数据阻断处理,能够提高拖库检测效率。
本实施例提供的方法,通过将数据内容中的数据库指令内容与拖库条件中的多条条件语句逐句匹配,从而得到条件匹配结果,不仅能够提高拖库检测效率,还能提高拖库检测结果的准确度。
在一些实施例中,对数据分析过程和数据阻断处理过程进行详细说明,请参考图4,其示出了本申请一个示例性实施例提供的数据处理方法流程图,也即,步骤220中还包括步骤221至步骤223,步骤240之前还包括步骤2401和步骤2402,步骤240中还包括步骤241至步骤244,如图4所示,该方法包括如下步骤。
步骤221,从第一数据包中获取连接子数据包。
其中,连接子数据包是指第一帐号向数据库发送连接请求时传输的数据包,连接子数据包中包括第一序列号,第一序列号用于确定第一帐号与数据库之间的通信连接。
示意性的,以第一数据包中包括多个子数据包为例进行说明。
示意性的,当第一帐号与数据库进行数据传输的过程中,通常包括如下内容:
第一步,连接建立。
当第一帐号初次与数据进行数据传输时,首先需要在第一帐号与数据库之间建立通信连接,第一帐号通过向数据库发送连接请求,当数据库接收到连接请求并根据连接请求对第一帐号的帐号信息验证成功后,向第一帐号反馈连接响应,此时表示第一帐号与数据库成建立通信连接。
第二步,数据传输。
当第一帐号与数据库建立通信连接后,第一帐号向数据库发送操作请求,从而请求对数据库执行指定操作,例如:插入新数据、删除数据库中的数据等。
第三步,事务处理。
当数据库接收到第一帐号发送的操作请求后,将操作请求打包成事务进行处理,当事务处理完毕后,将处理结果生成对应的数据包反馈至第一帐号,并且将事务处理过程所涉及到的操作数据保存在数据库中。
第四步,连接关闭。
当第一帐号完成对数据库的操作后,向数据库发送关闭连接请求,从而释放数据库连接资源。
因此,在第一步连接建议过程中,第一帐号向数据库发送的连接请求对应的数据包,即为连接子数据包。
示意性的,在第一帐号向数据库发送的连接子数据包中,包括第一序列号,其中,第一序列号是用于标识当前数据包用于在第一帐号和数据库之间建立通信连接关系的序列号。
本实施例中,以数据库为MySQL数据库为例,第一帐号对应的客户端与MySQL数据库服务器之间建立TCP连接作为通信连接,其中,在建立连接过程中,需要经过TCP三次握手,具体如下:
第一次,第一帐号对应的客户端向MySQL服务器发送连接请求报文(SYN报文),SYN报文中包含了客户端对应的初始序号,即,第一序列号;
第二次,服务器收到SYN报文后,会向客户端发送SYN-ACK报文作为回应。SYN-ACK报文中包含了服务器的初始序号,以及客户端的初始序号加1的确认号;
第三次,客户端收到SYN-ACK报文后,向客户端发送ACK报文作为回应。ACK报文中包含了服务器的初始序号加1的确认号。
在一些实施例中,获取连接子数据包对应的连接属性数据,连接属性数据是指连接子数据包在数据传输过程中的传输属性;以第一序列号和连接属性数据作为第一键值对中的目标键,存储至第一哈希列表中。
本实施例中,在连接子数据包中除了第一序列号外,还存在与第一序列号连接的连接属性数据,用于表示连接子数据包在传输过程中对应的传输属性。将连接属性数据、第一序列号加1组成的字符串作为第一键值对中的目标键(key)存储至第一哈希列表中。其中,第一序列号加1即为第一帐号的客户端的初始序号加1对应的确认号。
可选地,连接属性数据包括数据包四元组(本实施例中,由于第一帐号与MySQL数据库建立的通信连接为TCP连接,因此省略传输协议)。
步骤222,从第一数据包中获取请求子数据包。
其中,请求子数据包是指第一帐号向数据库发送数据库操作请求时传输的数据包,请求子数据包中包括第二序列号,第二序列号用于指示请求子数据包在第一数据包中的位置。
示意性的,针对上述数据传输的过程中的第二步,当第一帐号与数据库建立通信连接后,第一帐号向数据库发送操作请求对应的数据包即为第一数据包中的请求子数据包。
示意性的,第二序列号用于确定请求子数据包在整个第一数据包中的子数据包所处位置,第二序列号也可以表示为sequence number。
在一些实施例中,请求子数据包中还包括请求属性数据,请求属性数据是指请求子数据包在数据传输过程中的传输属性。
本实施例中,请求子数据包中包括第二序列号,以及与第二序列号连接的请求属性数据,用于表示请求子数据包在传输过程中的传输属性,即,请求子数据包对应的数据包四元组。
步骤223,响应于第一序列号与第二序列号匹配,对第一数据包进行数据分析,得到第一数据包对应的第一数据包属性数据、数据库指令内容和第一帐号对应的帐号信息,作为数据内容。
示意性的,当第一序列号与第二序列号相同的情况下,对第一数据包进行数据分析,从而得到第一数据包对应的第一数据包属性数据、数据库指令内容和第一帐号对应的帐号信息,作为数据内容。
其中,第一数据包属性数据即为第一数据包对应的数据包四元组,数据库指令内容包括多个SQL指令语句,帐号信息中包括第一帐号对应的帐号名称。
在一些实施例中,响应于第二序列号和第一哈希列表中的第一序列号匹配,且请求数据属性与第一哈希列表中的连接属性数据匹配,获取请求数据包中第一帐号对应的帐号信息;从第一数据包中获取指令子数据包,指令子数据包是指第一帐号向数据库发送数据库操作指令时传输的数据包;对指令子数据包进行数据分析,得到数据库指令内容;将请求属性数据、帐号信息和数据库指令内容作为数据内容。
本实施例中,在请求子数据包中的数据包四元组和第一序列号加1后生成的字符串存储在第一哈希列表中的情况下,在第一序列号与第二序列号进行匹配的基础上,将请求属性数据和连接属性数据也进行匹配,也即,将数据包四元组和第一序列号加1后生成的第一字符串,和请求子数据包中的请求属性数据与第二序列号组成的第二字符串进行匹配,当第一字符串和第二字符串匹配成功的情况下,通过预先获取的MySQL协议规范对请求子数据包进行解析,从而得到第一帐号对应的帐号信息。
本实施例中,还对第一数据包进行数据包过滤,得到第一数据包中的指令子数据包,其中,指令子数据包是第一帐号向数据库发送数据库操作指令对应的数据包,对指令子数据包进行分析,从而得到数据库指令内容,其中,数据库指令内容中包括多条指令语句。
本实施例中,将请求子数据包对应的请求属性数据、帐号信息和数据库指令内容均作为第一数据包对应的数据内容。
在一些实施例中,以请求属性数据为第二键值对中的目标键,并以帐号信息为第二键值对中的目标值存储至第二哈希列表中。
在一些实施例中,当第一字符串和第二字符串匹配的情况下,则确定当前请求子数据包为第一帐号用于发送数据请求的数据包,从而得到第一帐号对应的帐号信息后,将请求属性数据为第二键值对中的目标键,并以帐号信息为第二键值对中的目标值,以键值对的数据结构存储至第二哈希列表中。
值得注意的是,上述第一数据包中包括连接子数据包、请求子数据包和指令子数据包的情况下,每个子数据包对应的数据包四元组(即属性数据)都应该相同,而第一哈希列表和第二哈希列表中分别存储和有多个数据包中对对应的键值对,因此上述过程既包含了如何将第一数据包中的相关内容存储至第一哈希列表和第二哈希列表中,又包含了后续在获取第一数据包中的子数据包的情况下如何将第一哈希列表与其进行匹配,从而对第一数据包进行分析得到第一数据包对应的数据内容。
步骤2401,响应于数据库指令内容与拖库条件匹配,获取指令子数据包中的指令属性数据。
其中,指令属性数据是指指令子数据包在数据传输过程中的传输属性。
示意性的,在对第一数据包进行拖库检测的过程中,但当数据库指令内容与拖库条件匹配成功,获取指令子数据包对应的数据包四元组,作为指令属性数据。
步骤2402,响应于指令属性数据与第二哈希列表中的请求属性数据匹配,基于第二键值对获取帐号信息,作为请求子数据包对应的帐号信息。
示意性的,将指令子数据包对应的数据包四元组与第二哈希列表中存储的多个数据包四元组进行匹配,从而得到匹配的目标数据包四元组。
根据目标数据包四元组对应的第二键值对,获取与其匹配的帐号信息,从而作为请求子数据包对应的帐号信息,实现帐号关联。
步骤241,获取预设阻断列表。
其中,预设阻断列表包括多个待阻断属性数据。
示意性的,预先设置一个阻断列表,其初始状态为空表状态。
其中,预设端列表用于存储多个待阻断帐号发送的数据包中所对应的数据包四元组,从而作为待阻断属性数据。
步骤242,将指令属性数据存储至预设阻断列表。
当第一帐号对数据库产生拖库行为的情况下,将第一帐号发送的指令属性数据存储至预设阻断列表。其中,指令属性数据即为第一数据包对应的数据包四元组。
步骤243,在第二时刻获取第二数据包。
其中,第二数据包是第一帐号与数据库进行数据传输时在第二时刻传输的数据包。
可选地,第二数据包是由第一帐号在第二时刻向数据库发送的数据包,或者;第二数据包是由数据库在第二时刻向第一帐号发送的数据包;或者,第二数据包中既包括由第一帐号数据库发送的子数据包,又包括由数据库向第一帐号发送的子数据包。
在一些实施例中,获取第二数据包中的端口号。
本实施例中,获取第二数据包中的端口号。
可选地,端口号是指第一帐号所处客户端对应的客户端端口号,或者,端口是指数据库对应的服务器端口号。
步骤244,响应于预设阻断列表中包括第一帐号对应的指令属性数据,对第二数据包进行丢包处理,得到阻断处理结果。
示意性的,在获取第二数据包之后,若预设阻断列表中存在第一帐号发送的第一数据包对应的数据包四元组,则对第二数据包进行丢包处理,从而得到第一帐号对应的阻断处理结果。
其中,丢包是指对第二数据包不进行处理的过程。
在一些实施例中,响应于端口号符合端口检测条件,获取第二数据包对应的第二数据包属性数据,第二数据包属性数据是指第二数据包在数据传输过程中的传输属性;响应于第二数据包属性数据与预设阻断列表中的指令数据匹配,对第二数据包进行丢包处理,得到阻断处理结果。
本实施例中,数据库需要对预设阻断列表中各个数据包四元组中包含的端口号进行实时监测,在获取第二数据包对应的端口号后,若第二数据包对应的端口号与数据库实时监测的多个端口号中的目标端口号匹配,作为提取第二数据包对应的数据包五元组作为第二数据包属性数据,并将其与预设阻断列表进行匹配,若匹配成功,对第二数据包进行丢包处理,得到阻断处理结果。
在一些实施例中,基于数据库指令内容生成告警信息;向数据库中的管理员帐号发送告警信息,管理员帐号是对数据库具有管理权限的帐号。
示意性的,除了丢包处理外,在还确定第一数据包产生拖库行为时,根据第一数据包中的数据库指令内容生成告警信息,并将其发送至数据库对应的管理员帐号,用于对其进行拖库提醒。
综上所述,本申请提供的方法,当第一帐号与数据库之间进行数据通信的过程中,在第一时刻获取第一数据包,对第一数据包进行数据分析,得到用于表征第一数据包的传输内容对应的数据内容,将数据内容与拖库条件进行匹配,当数据内容与拖库条件匹配的情况下,从第二时刻开始阻断第一帐号和数据库之间的数据传输。也即,通过预先设置的拖库条件实时监测第一帐号与数据库之间进行数据传输过程中的传输内容是否存在拖库行为,从而在第一帐号发送的第一数据包存在拖库行为的情况下,从第二时刻开始对第一帐号进行数据阻断处理,一方面,能够实时对数据库进行拖库检测,提高拖库检测效率,另一方面,能够在发现拖库行为后,及时对存在拖库行为的数据传输过程进行阻断,保证了数据库的数据安全性。
示意性的,请参考图5,其示出了本申请一个示例性实施例提供的数据处理方法模块示意图,如图5所示,当前包括如下内容。
501,流量解析模块。
流量解析模块用于旁路获取MySQL数据库的数据流量,解析得到与MySQL数据库建立通信连接的帐号名称,网络五元组(源IP地址,目的IP地址,端口,目的端口,传输协议)。以及解析每个帐号执行的SQL语句(数据库指令内容)。
其中,旁路获取是指在不影响数据库原有进程下获取数据库的传输数据。
示意性的,以数据库实现为MySQL数据库为例,MySQL数据库以集群形式提供数据库服务,其中,包含多个MySQL集群,每个MySQL集群中包含多个数据库主机节点,用于分别存储不同的数据库。示意性的,请参考图6其示出了本申请一个示例性实施例提供的拖库检测过程示意图,如图6所示,当前包括配置中心610,MySQL集群集合620、告警事件中心630和拖库事件640。
其中,配置中心610用于从MySQL集群集合620中确定需要进行拖库检测的数据库主机节点,从而对该数据库主机节点安装智能体(Agent),并下发预先生成的拖库条件。
其中,通过在数据库主机节点中部署智能体的方式,实现为数据库传输的数据包进行数据分析。
其中,智能体的运行机制包括:首先诸如注入eBPF XDP数据阻断字节码到Linux内核中,并设置阻断列表(eBPF map)为空表状态,再旁路获取传输至MySQL数据库中的数据包到智能体应用层,通过智能体应用层对数据包进行数据分析,得到数据包对应的数据内容,将数据内容与拖库条件进行匹配,若匹配成功,则将数据内容中的数据包五元组存入阻断列表中,并通过指定协议(UDP协议)发送至告警事件中心630,告警事件中心630用于向管理员帐号推送该数据包对应的拖库事件640。并且,智能体还将对后续该数据包对帐号发送的其他数据包进行数据阻断处理。
示意性的,请参考图7,其示出了本申请一个示例性实施例提供的配置中心界面示意图,当前显示配置中心界面700,其中包括用于设置进行拖库检测的集群区域701和数据库主机节点区域702。
该模块的目的在于解析与MySQL数据连接的帐号信息,数据包四元组,以及解析每个帐号执行的SQL语句(数据库指令内容)。
示意性的,请参考图8,其示出了本申请一个示例性实施例提供的流量解析方法流程图,如图8所示,当智能体旁路第一数据包后,获取第一数据包中的请求子数据包,从请求子数据包中获取MySQL客户端端TCP连接三次握手的首包syn序列号作为第一序列号,执行步骤801,获取第一序列号加1存入变量a,再执行步骤802,将变量a和数据包四元组组成第一字符串作为key存储第一哈希列表,其中,数据包四元组是指请求子数据包对应的请求属性数据。执行步骤803,获取第二序列号和数据包四元组组成第二字符串作为key,匹配第一哈希列表,其中,第二序列号是第一数据包中的连接子数据包中的序列号,数据包四元组是指连接子数据包对应的连接属性数据,如果匹配成功,则判断为连接子数据包为客户端对应的login request数据包,执行步骤804,解析请求子数据包,将数据包四元组和帐号信息存储至第二哈希列表。其中,通过MySQL协议规范解析得到该第一帐号的帐号信息,再将连接四元组作为key,帐号信息作为value存入第二哈希列表。
执行步骤805,获取数据库指令内容,通过解析MySQL服务主机的入口流量过滤出MySQL command query类型数据包,获取SQL语句。
执行步骤806,拖库检测模块。
执行步骤807,数据阻断模块。
下面,对步骤806和步骤807进行详细说明。
502,拖库检测模块。
通过加载预设的拖库规则,包括具体的SQL拖库正则表达式。将流量解析模块的SQL、源IP、用户等维度值匹配拖库规则。如果命中规则,则将该5元组存入XDP阻断模块的eBPF map。
该模块的目的是根据解析模块的解析结果做拖库规则匹配,如果匹配则告警并设置XDP阻断模块的eBPF map表。具体的操作如下:
根据解析模块的MySQL流量解析结果,将解析出的SQL指令类别匹配拖库预设规则,例如获取的SQL语句是:
SELECT column1,column2 INTO OUTFILE'/path/to/output/file.txt'
FIELDS TERMINATED BY','
FROM orders
WHERE order_date>'2023-01-01';
则该语句的部分操作指令是SELECT...INTO OUTFILE...
预设的拖库正则规则:
(?i)^[]*SELECT\s+\.*\s+INTO\s+OUTFILE;
该SQL的操作指令SELECT...INTO OUTFILE...将会匹配上述拖库规则。工程上为了加快匹配速度,可以将拖库规则预先编译缓存,减少性能损耗。需要注意的是上述示例只是本申请方案规则的其中一种,拖库规则可由DBA或者安全人员灵活配置。
命中拖库规则后,根据此包的数据包四元组,匹配流量解析模块中的第二哈希列表,获得该网络连接的帐号信息。将用户拖库操作信息告警至DBA管理员,并将该拖库操作的网络连接5元组存入XDP阻断表eBPF map。
503,数据阻断模块。
示意性的,请参考图9,其示出了本申请一个示例性实施例提供的数据阻断方法流程图,如图9所示,当获取第二数据包后,根据第二数据包中的端口号检测是否是数据库检测的端口,若不是,执行步骤902,通行处理,即对非MySQL流量做放通处理(将报文继续送往Kernel TCP/IP Stack),若是,执行步骤901,提取第二数据包属性数据,即对MySQL数据提取数据包五元组,查询该模块eBPF map.如果数据包五元组在eBPF map中存在,执行步骤903,即阻断处理。
XDP阻断模块目的是依据拖库检测模块的结果,对MySQL流量进行放通或者阻断。具体流程如下:对非MySQL流量做放通处理(将报文继续送往Kernel TCP/IP Stack),对MySQL流量提取5元组,查询该模块eBPF map,如果网络流量5元组在eBPF map中存在,则阻断处理。
综上所述,本申请提供的方法,当第一帐号与数据库之间进行数据通信的过程中,在第一时刻获取第一数据包,对第一数据包进行数据分析,得到用于表征第一数据包的传输内容对应的数据内容,将数据内容与拖库条件进行匹配,当数据内容与拖库条件匹配的情况下,从第二时刻开始阻断第一帐号和数据库之间的数据传输。也即,通过预先设置的拖库条件实时监测第一帐号与数据库之间进行数据传输过程中的传输内容是否存在拖库行为,从而在第一帐号发送的第一数据包存在拖库行为的情况下,从第二时刻开始对第一帐号进行数据阻断处理,一方面,能够实时对数据库进行拖库检测,提高拖库检测效率,另一方面,能够在发现拖库行为后,及时对存在拖库行为的数据传输过程进行阻断,保证了数据库的数据安全性。
本实施例提供的方法,实时解析并判断为拖库行为后,存储该连接网络5元组到XDP eBPF map,通过XDP判断MySQL连接5元组的方式阻断后续对MySQL的操作。
本实施例提供的方法,通过提取MySQL客户端TCP连接三次握手的SYN标志包,以SYN包的sequence号加1方式快速识别MySQL客户端的login request数据包,并记录该连接的登入用户名。
本实施例提供的方法,从中MySQL流量中,提取SQL语句字符串中的指令类别和操作的数据库表。将指令类别与拖库预设规则匹配,如果命中则查找用户Hash表,获取拖库操作的用户名。将拖库操作的用户名、拖库命令、操作表、连接4元组等信息综合考虑,形成完整的告警信息告警至DBA管理员,有助于数据库管理员及时发现和应对潜在的拖库风险。并将阻断信息存入XDP阻断模块的eBPF map表,对该连接的后续流量进行阻断。
图10是本申请一个示例性实施例提供的数据处理装置的结构框图,如图10所示,该装置包括如下部分。
获取模块1010,用于在第一时刻获取第一数据包,所述第一数据包是指第一帐号与数据库之间进行数据通信时在所述第一时刻传输的数据包,所述第一帐号是对所述数据库具有访问权限的帐号;
分析模块1020,用于对所述第一数据包进行数据分析,得到所述第一数据包对应的数据内容,所述数据内容是指所述第一数据包在进行数据传输过程中对应的传输内容;
所述获取模块1010,还用于获取拖库条件,所述拖库条件用于确定所述第一帐号与所述数据库之间进行数据通信的过程中所产生的攻击性行为;
阻断模块1030,用于响应于所述数据内容与所述拖库条件匹配,对所述第一帐号进行数据阻断处理,得到所述第一帐号对应的阻断处理结果,所述阻断处理结果用于指示从第二时刻开始阻断所述第一帐号与所述数据库之间的数据传输,所述第二时刻是所述第一时刻之后的时刻。
在一些实施例中,所述阻断模块1030,还用于将所述数据内容与所述拖库条件进行匹配,得到所述数据内容对应的条件匹配结果;响应于所述条件匹配结果符合预设拖库要求,对所述第一帐号进行数据阻断处理,得到所述阻断处理结果。
在一些实施例中,所述数据内容中包括数据库指令内容,所述数据库指令内容用于对所述数据库执行指定操作,所述拖库条件中包括多条条件语句;
所述阻断模块1030,还用于将所述多条条件语句与所述数据库指令内容分别进行匹配,得到所述多条条件语句分别对应的条件匹配结果;响应于第i条条件语句与所述数据库指令内容匹配成功,对所述第一帐号进行数据阻断处理,得到所述阻断处理结果,i为正整数。
在一些实施例中,所述分析模块1020,用于从所述第一数据包中获取连接子数据包,所述连接子数据包是指所述第一帐号向所述数据库发送连接请求时传输的数据包,所述连接子数据包中包括第一序列号,所述第一序列号用于确定所述第一帐号与所述数据库之间的通信连接;从所述第一数据包中获取请求子数据包,所述请求子数据包是指所述第一帐号向所述数据库发送数据库操作请求时传输的数据包,所述请求子数据包中包括第二序列号,所述第二序列号用于指示所述请求子数据包在所述第一数据包中的位置;响应于所述第一序列号与所述第二序列号匹配,对所述第一数据包进行数据分析,得到所述第一数据包对应的第一数据包属性数据、数据库指令内容和所述第一帐号对应的帐号信息,作为所述数据内容。
在一些实施例中,所述请求子数据包中还包括请求属性数据,所述请求属性数据是指所述请求子数据包在数据传输过程中的传输属性,所述连接子数据包中还包括连接属性数据,所述连接属性数据是指所述连接子数据包在数据传输过程中的传输属性;
所述分析模块1020,用于响应于所述第二序列号和所述第一序列号匹配,且所述请求数据属性与所述连接属性数据匹配,获取所述请求数据包中所述第一帐号对应的帐号信息;从所述第一数据包中获取指令子数据包,所述指令子数据包是指所述第一帐号向所述数据库发送数据库操作指令时传输的数据包;对所述指令子数据包进行数据分析,得到所述数据库指令内容;将所述请求属性数据、所述帐号信息和所述数据库指令内容作为所述数据内容。
在一些实施例中,所述分析模块1020,用于以所述第一序列号和所述连接属性数据作为第一键值对中的目标键,存储至第一哈希列表中。以所述请求属性数据为第二键值对中的目标键,并以所述帐号信息为所述第二键值对中的目标值存储至第二哈希列表中。
在一些实施例中,所述第一帐号对应的帐号信息用于存储至第二哈希列表;
所述获取模块1010,还用于响应于所述数据库指令内容与所述拖库条件匹配,获取所述指令子数据包中的指令属性数据,所述指令属性数据是指所述指令子数据包在数据传输过程中的传输属性;响应于所述指令属性数据与所述第二哈希列表中的所述请求属性数据匹配,基于所述第二键值对获取所述帐号信息,作为所述请求子数据包对应的帐号信息。
在一些实施例中,所述阻断模块1030,还用于获取预设阻断列表,所述预设阻断列表包括多个待阻断属性数据;将所述指令属性数据存储至所述预设阻断列表;在所述第二时刻获取第二数据包,所述第二数据包是所述第一帐号与数据库进行数据传输时在所述第二时刻传输的数据包;响应于所述预设阻断列表中包括所述第一帐号对应的指令属性数据,对所述第二数据包进行丢包处理,得到所述阻断处理结果。
在一些实施例中,所述阻断模块1030,还用于获取所述第二数据包中的端口号;所述响应于所述预设阻断列表中包括所述第一帐号对应的指令属性数据,对所述第二数据包进行丢包处理,得到所述阻断处理结果,包括:响应于所述端口号符合端口检测条件,获取所述第二数据包对应的第二数据包属性数据,所述第二数据包属性数据是指所述第二数据包在数据传输过程中的传输属性;响应于所述第二数据包属性数据与所述预设阻断列表中的所述指令所述数据匹配,对所述第二数据包进行丢包处理,得到所述阻断处理结果。
在一些实施例中,所述阻断模块1030,还用于基于所述数据库指令内容生成告警信息;向所述数据库中的管理员帐号发送所述告警信息,所述管理员帐号是对所述数据库具有管理权限的帐号。
综上所述,本申请提供的数据处理装置,当第一帐号与数据库之间进行数据通信的过程中,在第一时刻获取第一数据包,对第一数据包进行数据分析,得到用于表征第一数据包的传输内容对应的数据内容,将数据内容与拖库条件进行匹配,当数据内容与拖库条件匹配的情况下,从第二时刻开始阻断第一帐号和数据库之间的数据传输。也即,通过预先设置的拖库条件实时监测第一帐号与数据库之间进行数据传输过程中的传输内容是否存在拖库行为,从而在第一帐号发送的第一数据包存在拖库行为的情况下,从第二时刻开始对第一帐号进行数据阻断处理,一方面,能够实时对数据库进行拖库检测,提高拖库检测效率,另一方面,能够在发现拖库行为后,及时对存在拖库行为的数据传输过程进行阻断,保证了数据库的数据安全性。
需要说明的是:上述实施例提供的数据处理装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11示出了本申请一个示例性实施例提供的计算机设备1100的结构框图。该计算机设备1100可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts GroupAudio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture ExpertsGroup Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。计算机设备1100还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,计算机设备1100包括有:处理器1101和存储器1102。
处理器1101可以包括一个或多个处理核心,比如4核心处理器、11核心处理器等。处理器1101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1101所执行以实现本申请中方法实施例提供的数据处理方法。
在一些实施例中,计算机设备1100还包括其他组件,本领域技术人员可以理解,图11中示出的结构并不构成对计算机设备1100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请实施例还提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中任一所述的数据处理方法。
本申请实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述本申请实施例中任一所述的数据处理方法。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的数据处理方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (14)

1.一种数据处理方法,其特征在于,所述方法包括:
在第一时刻获取第一数据包,所述第一数据包是指第一帐号与数据库之间进行数据通信时在所述第一时刻传输的数据包,所述第一帐号是对所述数据库具有访问权限的帐号;
对所述第一数据包进行数据分析,得到所述第一数据包对应的数据内容,所述数据内容是指所述第一数据包在进行数据传输过程中对应的传输内容;
获取拖库条件,所述拖库条件用于确定所述第一帐号与所述数据库之间进行数据通信的过程中所产生的攻击性行为;
响应于所述数据内容与所述拖库条件匹配,对所述第一帐号进行数据阻断处理,得到所述第一帐号对应的阻断处理结果,所述阻断处理结果用于指示从第二时刻开始阻断所述第一帐号与所述数据库之间的数据传输,所述第二时刻是所述第一时刻之后的时刻。
2.根据权利要求1所述的方法,其特征在于,所述响应于所述数据内容与所述拖库条件匹配,对所述第一帐号进行数据阻断处理,得到所述第一帐号对应的阻断处理结果,包括:
将所述数据内容与所述拖库条件进行匹配,得到所述数据内容对应的条件匹配结果;
响应于所述条件匹配结果符合预设拖库要求,对所述第一帐号进行数据阻断处理,得到所述阻断处理结果。
3.根据权利要求2所述的方法,其特征在于,所述数据内容中包括数据库指令内容,所述数据库指令内容用于对所述数据库执行指定操作,所述拖库条件中包括多条条件语句;
所述将所述数据内容与所述拖库条件进行匹配,得到所述数据内容对应的条件匹配结果,包括:
将所述多条条件语句与所述数据库指令内容分别进行匹配,得到所述多条条件语句分别对应的条件匹配结果;
所述响应于所述条件匹配结果符合预设拖库要求,对所述第一帐号进行数据阻断处理,得到所述阻断处理结果,包括:
响应于第i条条件语句与所述数据库指令内容匹配成功,对所述第一帐号进行数据阻断处理,得到所述阻断处理结果,i为正整数。
4.根据权利要求1至3任一所述的方法,其特征在于,所述对所述第一数据包进行数据分析,得到所述第一数据包对应的数据内容,包括:
从所述第一数据包中获取连接子数据包,所述连接子数据包是指所述第一帐号向所述数据库发送连接请求时传输的数据包,所述连接子数据包中包括第一序列号,所述第一序列号用于确定所述第一帐号与所述数据库之间的通信连接;
从所述第一数据包中获取请求子数据包,所述请求子数据包是指所述第一帐号向所述数据库发送数据库操作请求时传输的数据包,所述请求子数据包中包括第二序列号,所述第二序列号用于指示所述请求子数据包在所述第一数据包中的位置;
响应于所述第一序列号与所述第二序列号匹配,对所述第一数据包进行数据分析,得到所述第一数据包对应的第一数据包属性数据、数据库指令内容和所述第一帐号对应的帐号信息,作为所述数据内容。
5.根据权利要求4所述的方法,其特征在于,所述请求子数据包中还包括请求属性数据,所述请求属性数据是指所述请求子数据包在数据传输过程中的传输属性,所述连接子数据包中还包括连接属性数据,所述连接属性数据是指所述连接子数据包在数据传输过程中的传输属性;
所述响应于所述第一序列号与所述第二序列号匹配,对所述第一数据包进行数据分析,得到所述第一数据包对应的第一数据包属性数据、数据库指令内容和所述第一帐号对应的帐号信息,作为所述数据内容,包括:
响应于所述第二序列号和所述第一序列号匹配,且所述请求数据属性与所述连接属性数据匹配,获取所述请求数据包中所述第一帐号对应的帐号信息;
从所述第一数据包中获取指令子数据包,所述指令子数据包是指所述第一帐号向所述数据库发送数据库操作指令时传输的数据包;
对所述指令子数据包进行数据分析,得到所述数据库指令内容;
将所述请求属性数据、所述帐号信息和所述数据库指令内容作为所述数据内容。
6.根据权利要求5所述的方法,其特征在于,所述获取所述请求数据包中所述第一帐号对应的帐号信息之后,还包括:
以所述第一序列号和所述连接属性数据作为第一键值对中的目标键,存储至第一哈希列表中;
以所述请求属性数据为第二键值对中的目标键,并以所述帐号信息为所述第二键值对中的目标值存储至第二哈希列表中。
7.根据权利要求4所述的方法,其特征在于,所述第一帐号对应的帐号信息用于存储至第二哈希列表;
所述对所述第一帐号进行数据阻断处理,得到所述第一帐号对应的阻断处理结果之前,还包括:
响应于所述数据库指令内容与所述拖库条件匹配,获取所述指令子数据包中的指令属性数据,所述指令属性数据是指所述指令子数据包在数据传输过程中的传输属性;
响应于所述指令属性数据与所述第二哈希列表中的所述请求属性数据匹配,基于所述第二键值对获取所述帐号信息,作为所述请求子数据包对应的帐号信息。
8.根据权利要求7所述的方法,其特征在于,所述对所述第一帐号进行数据阻断处理,得到所述第一帐号对应的阻断处理结果,包括:
获取预设阻断列表,所述预设阻断列表包括多个待阻断属性数据;
将所述指令属性数据存储至所述预设阻断列表;
在所述第二时刻获取第二数据包,所述第二数据包是所述第一帐号与数据库进行数据传输时在所述第二时刻传输的数据包;
响应于所述预设阻断列表中包括所述第一帐号对应的指令属性数据,对所述第二数据包进行丢包处理,得到所述阻断处理结果。
9.根据权利要求8所述的方法,其特征在于,所述在所述第二时刻获取所述第一帐号发送的第二数据包,包括:
获取所述第二数据包中的端口号;
所述响应于所述预设阻断列表中包括所述第一帐号对应的指令属性数据,对所述第二数据包进行丢包处理,得到所述阻断处理结果,包括:
响应于所述端口号符合端口检测条件,获取所述第二数据包对应的第二数据包属性数据,所述第二数据包属性数据是指所述第二数据包在数据传输过程中的传输属性;
响应于所述第二数据包属性数据与所述预设阻断列表中的所述指令所述数据匹配,对所述第二数据包进行丢包处理,得到所述阻断处理结果。
10.根据权利要求4所述的方法,其特征在于,所述方法还包括:
基于所述数据库指令内容生成告警信息;
向所述数据库中的管理员帐号发送所述告警信息,所述管理员帐号是对所述数据库具有管理权限的帐号。
11.一种数据处理装置,其特征在于,所述装置包括:
获取模块,用于在第一时刻获取第一数据包,所述第一数据包是指第一帐号与数据库之间进行数据通信时在所述第一时刻传输的数据包,所述第一帐号是对所述数据库具有访问权限的帐号;
分析模块,用于对所述第一数据包进行数据分析,得到所述第一数据包对应的数据内容,所述数据内容是指所述第一数据包在进行数据传输过程中对应的传输内容;
所述获取模块,还用于获取拖库条件,所述拖库条件用于确定所述第一帐号与所述数据库之间进行数据通信的过程中所产生的攻击性行为;
阻断模块,用于响应于所述数据内容与所述拖库条件匹配,对所述第一帐号进行数据阻断处理,得到所述第一帐号对应的阻断处理结果,所述阻断处理结果用于指示从第二时刻开始阻断所述第一帐号与所述数据库之间的数据传输,所述第二时刻是所述第一时刻之后的时刻。
12.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至10任一所述的数据处理方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至10任一所述的数据处理方法。
14.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1至10任一所述的数据处理方法。
CN202410157616.3A 2024-02-02 2024-02-02 数据处理方法、装置、设备、介质和程序产品 Pending CN117951742A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410157616.3A CN117951742A (zh) 2024-02-02 2024-02-02 数据处理方法、装置、设备、介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410157616.3A CN117951742A (zh) 2024-02-02 2024-02-02 数据处理方法、装置、设备、介质和程序产品

Publications (1)

Publication Number Publication Date
CN117951742A true CN117951742A (zh) 2024-04-30

Family

ID=90795957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410157616.3A Pending CN117951742A (zh) 2024-02-02 2024-02-02 数据处理方法、装置、设备、介质和程序产品

Country Status (1)

Country Link
CN (1) CN117951742A (zh)

Similar Documents

Publication Publication Date Title
US11343268B2 (en) Detection of network anomalies based on relationship graphs
CN108763031B (zh) 一种基于日志的威胁情报检测方法及装置
US11418525B2 (en) Data processing method, device and storage medium
US10915626B2 (en) Graph model for alert interpretation in enterprise security system
CN109977690A (zh) 一种数据处理方法、装置和介质
AU2016204072A1 (en) Event anomaly analysis and prediction
US20230007014A1 (en) Detection of replacement/copy-paste attacks through monitoring and classifying api function invocations
CN103493061A (zh) 用于应对恶意软件的方法和装置
US10652255B2 (en) Forensic analysis
CN108683668A (zh) 内容分发网络中的资源校验方法、装置、存储介质及设备
CN111404937B (zh) 一种服务器漏洞的检测方法和装置
US11416631B2 (en) Dynamic monitoring of movement of data
US11627164B2 (en) Multi-perspective security context per actor
CN111787030B (zh) 网络安全巡检方法、装置、设备及存储介质
CN110798353A (zh) 基于行为特征大数据分析的网络行为风险感知及防御方法
CN112835863A (zh) 操作日志的处理方法和处理装置
CN114826727B (zh) 流量数据采集方法、装置、计算机设备、存储介质
WO2023081098A1 (en) Agentless workload assessment by a data platform
CN117951742A (zh) 数据处理方法、装置、设备、介质和程序产品
CN115840939A (zh) 安全漏洞处理方法、装置、计算机设备和存储介质
CN112637171A (zh) 数据流量处理方法、装置、设备、系统和存储介质
CN116561825B (zh) 数据安全管控方法、装置及计算机设备
CN117744071B (zh) 一种攻击行为检测方法、装置、设备及存储介质
US20230421587A1 (en) Distributed Digital Security System for Predicting Malicious Behavior
Sun et al. A novel device identification method based on passive measurement

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