CN112463759A - Gbase数据库审计的信息解析方法 - Google Patents
Gbase数据库审计的信息解析方法 Download PDFInfo
- Publication number
- CN112463759A CN112463759A CN201910839747.9A CN201910839747A CN112463759A CN 112463759 A CN112463759 A CN 112463759A CN 201910839747 A CN201910839747 A CN 201910839747A CN 112463759 A CN112463759 A CN 112463759A
- Authority
- CN
- China
- Prior art keywords
- bytes
- response
- data packet
- content
- byte
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种Gbase数据库审计的信息解析方法,基于Gbase数据库的规定,通过解析Gbase数据库与客户端之间网络数据包的应用层报文,将报文内容进行了有效的分解,分析得到操作数据库的资源账号、客户端程序名、数据库实例名,而且解析得到SQL语句的信息和不同语句的影响行数,进而进行有效的安全审计,提高Gbase数据库操作的可控性。
Description
技术领域
本发明属于通信与网络安全技术领域,特别是涉及一种实现Gbase数据库审计的信息解析方法。
背景技术
数据库作为信息技术的核心和基础,承载着越来越多的关键业务系统,数据库的安全稳定运行直接决定着业务系统能否正常使用。数据库的安全威胁很多时候来自恶意破坏、违规操作和越权访问,产生数据的大量外泄和严重损坏,数据库安全审计系统应运而生。
通过记载客户端访问数据库时的各类操作指令以及相应的操作结果,来实现对数据库的审计。例如分析记录操作指令的内容、发送操作指令的用户、操作指令的结果等信息,判断数据库的安全是否受到威胁,同时利用记载的信息和分析信息生成审计日志,对审计日志进行分析可以发现影响数据库安全的指令操作,从而做出预防措施。
随着信息技术国产化的呼声不断高涨,从应用、中间件到基础软件和硬件,几乎所有层面的产品都在加速国产化进程。Gbase数据库(南大通用数据库)就是国产数据库产品的典型代表之一,广泛应用在许多重要的核心业务系统中。但是目前还缺少对Gbase数据库实现有效信息审计的技术,不利于客户的数据安全。
发明内容
为此,提出一种Gbase数据库审计的信息解析方法,基于Gbase数据库的规定,通过获取、筛选得到待解析的数据包,并通过对数据包应用层报文的解构,分析得到各种响应的值,并且分析得出信息内容,进而实现数据库的审计。
Gbase数据库审计的信息解析方法,包括,获取数据库与客户端的网络数据包,过滤得到指定端口的应用层报文,所述应用层报文的信息解析过程:
通过报文前两个字节的值,判断是否为客户端登录请求或SQL请求的内容;
对于登录请求,根据第三、四字节的值,并根据偏移字节数,分别解析得到资源账号与客户端程序名;对于登录请求的响应包,判断是否登录成功,若登录成功则解析得到相应的数据库实例名,若登录失败则解析结束;
对于SQL请求,根据偏移字节数,解析得到SQL请求语句的具体内容。
上述的Gbase数据库审计的信息解析方法,还包括SQL请求影响行数的解析,先根据报文前两个字节的值,判断执行成功或失败;若为执行成功,则根据第三、四字节的值,判断响应数据包类型,并根据响应数据包类型分别解析得到对应的影响行数;若为执行失败,则解析结束;
还包括判断数据包是否为完整的响应包,若数据包是完整响应包,则根据其偏移规则解析得到影响行数;若数据包不完整,则将当前响应包与下一响应包进行组合,直至数据包被判断为完整响应包;
若为执行失败,则解析结束。
优选的,所述数据包是否完整,由数据包是否具有end值确定。
进一步的:
若报文的前两个字节的值为应用层的长度,判断响应内容是对客户端登录请求的响应;
继续获取第三、四字节的内容,解析得到type值,根据type值进行响应的字节偏移后,分别解析得到资源账号、客户端程序名与数据库实例名。
优选的,若type值为0x013c,则获取(n+80)至(n+81)字节的内容作为整型数L1,对第(n+82)至(n+82+L1-1)字节的内容解析得到资源账号信息;根据“长度+内容”的结构,进一步解析得到客户端程序名;
若type值为0x023c,则判断客户端登录成功,进一步获取第(n+125)至(n+126)字节的内容作为整型数L2,对第(n+127)至(n+127+L2-1)字节的内容解析得到数据库实例名;
若type值为0x033c,则判断客户端登录失败,结束解析。
优选的,若报文的前两个字节的值为0x0002,判断响应内容是客户端与数据库的交互;
固定偏移两个字节,获取第(n+5)至(n+8)字节的内容作为整型数L3,对第(n+9)至第(n+9+L3-1)的内容解析得到Sql语句的具体内容。
优选的,对影响行数的解析过程,包括:若报文的前两个字节的值为0x0008,判断执行成功,继续获取第三、四字节的内容:若值为0x0002则判断数据包为对select语句的响应;若值为0x0006则判断数据包为对insert语句的响应;若值为0x0004则判断数据包为对update语句的响应;若值为0x0005则判断数据包为对delete语句的响应;
若报文的前两个字节的值为0x000d,判断执行失败,结束解析。
进一步优选的,影响行数的解析过程:
对于select语句的响应数据包,获取下一个响应包及其应用层长度La,若前两个字节内容的值为0x000e,取该响应包的第(La-1)至La字节内容作为end值;
若end值为0x000c,判断该响应包为完整数据包,将第(La-23)至(La-20)字节的内容作为整型数,即为影响行数;
若end值非0x000c,判断当前响应包不完整,继续获取下一响应包及其应用层长度Lb,再次判断判断end值内容,直至end值为0x000c,则取第(Lb-23)至(Lb-20)字节的内容作为整型数,即为影响行数。
对于insert语句的响应数据包,获取下一个响应包,若前两个字节内容的值为0x005e,将第(n+3)至(n+4)字节的内容作为整型数,即为影响行数;
对于update或delete语句的响应数据包,获取下一个响应包,若前两个字节内容的值为0x000f,将第(n+5)至(n+8)字节的内容作为整型数,即为影响行数。
以上的技术方案,通过解析Gbase数据库与客户端之间网络数据包的应用层报文,将报文内容进行了有效的分解,分析得到操作数据库的资源账号、客户端程序名、数据库实例名,而且解析得到SQL语句的信息和不同语句的影响行数,进而进行有效的安全审计,提高Gbase数据库操作的可控性。
附图说明
图1为数据库审计的流程示意图;
图2为Gbase数据库审计的信息解析实施例,登录请求与响应的解析流程示意图;
图3为Gbase数据库审计的信息解析实施例,SQL请求与影响行数的解析流程示意图。
具体实施方式
下面结合附图对Gbase数据库审计的信息解析方法的技术方案进行详细说明。
如图1所示,先对数据库审计流程进行简要说明,主要包括以下步骤:
步骤一:通过交换机设备将客户端与Gbase数据库服务器的网络数据包镜像引流到审计设备上。
步骤二:根据端口号过滤得到需要解析的通讯数据,不同的网络请求会发送至不同的IP与端口,相应的,响应数据包内会包括IP与端口信息。因此,可以根据端口号过滤得到所需要解析的Gbase数据库的数据。
步骤三:对数据包进行逐层剥离解析,得到应用层数据报文,并根据数据库的规定,解析还原出登录、SQL语句的请求与响应内容。
步骤四:将解析结果的内容输出并保存,以被进行查询、分析等审计操作。
本实施例提出的Gbase数据库审计的信息解析方法,主要涉及对应用层报文的解析,特别是对登录请求与响应、SQL请求与响应的内容解析。
所述应用层报文的信息解析过程包括:
通过报文前两个字节的值,判断是否为客户端登录请求及其响应或SQL请求及其影响行数;
对于登录请求,根据第三、四字节的值,并根据相应的偏移字节数,分别解析得到资源账号、客户端程序名与数据库实例名;
对于SQL请求,确定其信息的偏移量,并根据偏移字节数,解析得到SQL语句的具体内容。
上述的Gbase数据库审计的信息解析方法,还包括影响行数的解析,先根据报文前两个字节的值,判断执行成功或失败;若为执行成功,则根据第三、四字节的值,判断响应数据包类型,并根据响应数据包类型分别解析得到相应的影响行数;
还包括判断数据包是否为完整的响应包,若数据包是完整响应包,则根据其偏移规则解析得到影响行数;若数据包不完整,则将当前响应包与下一响应包进行组合,直至数据包被判断为完整响应包;
若为执行失败,则解析结束。优选的,所述数据包是否完整,由数据包是否具有end值确定。
此处需要说明的是,以下所述的n均为数据包的内容偏移字节数,在此基础上进行相应的偏移量可得到需解析的字节内容。
如图2所示,登录请求及其响应的解析过程,
若报文的前两个字节的值为应用层的长度,判断响应内容是对客户端登录请求的响应。
继续获取第三、四字节的内容,解析得到type值,根据type值进行响应的字节偏移后,分别解析得到资源账号、客户端程序名与数据库实例名。
若type值为0x013c,则获取(n+80)至(n+81)字节的内容作为整型数L1,对第(n+82)至(n+82+L1-1)字节的内容解析得到资源账号信息;根据“长度+内容”的结构,进一步解析得到客户端程序名;
若type值为0x023c,则判断为客户端登录成功的响应,进一步获取第(n+125)至(n+126)字节的内容作为整型数L2,对第(n+127)至(n+127+L2-1)字节的内容解析得到数据库实例名;
若type值为0x033c,则判断为客户端登录失败的响应,结束解析。
解析结束后,将上述解析结果进行输出并保存。
如图3所示,SQL请求与影响行数的解析过程,
若报文的前两个字节的值为0x0002,判断响应内容是客户端与数据库的SQL交互;
若响应报文的前两个字节的值为0x0008,则执行成功,进一步解析不同SQL语句的影响行数;若报文的前两个字节的值为0x000d,判断执行失败,结束解析。
对于SQL请求,固定偏移两个字节,获取第(n+5)至(n+8)字节的内容作为整型数L3,对第(n+9)至第(n+9+L3-1)的内容解析得到SQL语句的具体内容。
对影响行数的解析过程,包括继续获取第三、四字节的内容:
若第三、四字节内容的值为0x0002,则判断数据包为对select语句的响应;获取下一个响应包及其应用层长度La,若前两个字节内容的值为0x000e,取该响应包的第(La-1)至La字节内容作为end值;若end值为0x000c,判断该响应包为完整数据包,将第(La-23)至(La-20)字节的内容作为整型数,即为影响行数;
若end值非0x000c,判断当前响应包不完整,继续获取下一响应包及其应用层长度Lb,再次判断判断end值内容,直至end值为0x000c,则取第(Lb-23)至(Lb-20)字节的内容作为整型数,即为影响行数。
若第三、四字节内容的值为0x0006则判断数据包为对insert语句的响应;获取下一个响应包,若前两个字节内容的值为0x005e,将第(n+3)至(n+4)字节的内容作为整型数,即为影响行数。
若第三、四字节内容的值为0x0004则判断数据包为对update语句的响应,若第三、四字节内容的值为0x0005则判断数据包为对delete语句的响应;获取下一个响应包,若前两个字节内容的值为0x000f,将第(n+5)至(n+8)字节的内容作为整型数,即为影响行数。
如上所述的技术方案,通过解析Gbase数据库与客户端之间网络数据包的应用层报文,得到登录请求及其响应、SQL请求及其影响行数的内容,进而对内容和信息进行有效的安全审计,提高Gbase数据库操作的安全性。
所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.Gbase数据库审计的信息解析方法,包括,获取数据库与客户端的网络数据包,过滤得到指定端口的应用层报文,其特征在于,所述应用层报文的信息解析过程:
通过报文前两个字节的值,判断是否为客户端登录请求或SQL请求的内容;
对于登录请求,根据第三、四字节的值,并根据偏移字节数,分别解析得到资源账号与客户端程序名;对于登录请求的响应包,判断是否登录成功,若登录成功则解析得到相应的数据库实例名,若登录失败则解析结束;
对于SQL请求,根据偏移字节数,解析得到SQL请求语句的具体内容。
2.根据权利要求1所述的信息解析方法,其特征在于,还包括SQL请求影响行数的解析,先根据报文前两个字节的值,判断执行成功或失败;若为执行成功,则根据第三、四字节的值,判断响应数据包类型,并根据响应数据包类型分别解析得到对应的影响行数;若为执行失败,则解析结束。
3.根据权利要求2所述的信息解析方法,其特征在于,影响行数的解析还包括判断数据包是否为完整的响应包,若数据包是完整响应包,则根据其偏移规则解析得到影响行数;若数据包不完整,则将当前响应包与下一响应包进行组合,直至数据包被判断为完整响应包;
所述数据包是否完整,由数据包是否具有规定的end值确定。
4.根据权利要求1所述的信息解析方法,其特征在于,若报文的前两个字节的值为应用层的长度,判断响应内容是对客户端登录请求的响应;
继续获取第三、四字节的内容,解析为type值,根据type值确定数据包为登录请求包或登录响应包,并分别解析得到资源账号与客户端程序名,或数据库实例名。
5.根据权利要求4所述的信息解析方法,其特征在于,
若type值为0x013c,则获取(n+80)至(n+81)字节的内容作为整型数L1,对第(n+82)至(n+82+L1-1)字节的内容解析得到资源账号信息;根据“长度+内容”的结构,进一步解析得到客户端程序名;
若type值为0x023c,则判断客户端登录成功,进一步获取第(n+125)至(n+126)字节的内容作为整型数L2,对第(n+127)至(n+127+L2-1)字节的内容解析得到数据库实例名;
若type值为0x033c,则判断客户端登录失败,结束解析。
6.根据权利要求1所述的信息解析方法,其特征在于,若报文的前两个字节的值为0x0002,判断响应内容是客户端与数据库的交互;
固定偏移两个字节,获取第(n+5)至(n+8)字节的内容作为整型数L3,对第(n+9)至第(n+9+L3-1)的内容解析得到SQL语句的具体内容。
7.根据权利要求2所述的信息解析方法,其特征在于,影响行数的解析:若报文的前两个字节的值为0x0008,判断执行成功,继续获取第三、四字节的内容:若值为0x0002则判断数据包为对select语句的响应;若值为0x0006则判断数据包为对insert语句的响应;若值为0x0004则判断数据包为对update语句的响应;若值为0x0005则判断数据包为对delete语句的响应;
若报文的前两个字节的值为0x000d,判断执行失败,结束解析。
8.根据权利要求3或7所述的信息解析方法,其特征在于,对于select语句的响应数据包,获取下一个响应包及其应用层长度La,若前两个字节内容的值为0x000e,取该响应包的第(La-1)至La字节内容作为end值;
若end值为0x000c,判断该响应包为完整数据包,将第(La-23)至(La-20)字节的内容作为整型数,即为影响行数;
若end值非0x000c,判断当前响应包不完整,继续获取下一响应包及其应用层长度Lb,再次判断判断end值内容,直至end值为0x000c,则取第(Lb-23)至(Lb-20)字节的内容作为整型数,即为影响行数。
9.根据权利要求7所述的信息解析方法,其特征在于,
对于insert语句的响应数据包,获取下一个响应包,若前两个字节内容的值为0x005e,将第(n+3)至(n+4)字节的内容作为整型数,即为影响行数;
对于update或delete语句的响应数据包,获取下一个响应包,若前两个字节内容的值为0x000f,将第(n+5)至(n+8)字节的内容作为整型数,即为影响行数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910839747.9A CN112463759A (zh) | 2019-09-06 | 2019-09-06 | Gbase数据库审计的信息解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910839747.9A CN112463759A (zh) | 2019-09-06 | 2019-09-06 | Gbase数据库审计的信息解析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112463759A true CN112463759A (zh) | 2021-03-09 |
Family
ID=74806765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910839747.9A Pending CN112463759A (zh) | 2019-09-06 | 2019-09-06 | Gbase数据库审计的信息解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112463759A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114157501A (zh) * | 2021-12-08 | 2022-03-08 | 北京天融信网络安全技术有限公司 | 一种基于天睿数据库的参数解析方法及装置 |
-
2019
- 2019-09-06 CN CN201910839747.9A patent/CN112463759A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114157501A (zh) * | 2021-12-08 | 2022-03-08 | 北京天融信网络安全技术有限公司 | 一种基于天睿数据库的参数解析方法及装置 |
CN114157501B (zh) * | 2021-12-08 | 2024-01-23 | 北京天融信网络安全技术有限公司 | 一种基于天睿数据库的参数解析方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111092869B (zh) | 终端接入办公网络安全管控方法及认证服务器 | |
US11030335B2 (en) | Effectively validating dynamic database queries through database activity monitoring | |
CN106411562B (zh) | 一种电力信息网络安全联动防御方法及系统 | |
US20030135749A1 (en) | System and method of defining the security vulnerabilities of a computer system | |
US20030159060A1 (en) | System and method of defining the security condition of a computer system | |
US20020133603A1 (en) | Method of and apparatus for filtering access, and computer product | |
CN107360198B (zh) | 可疑域名检测方法及系统 | |
CN114257413B (zh) | 基于应用容器引擎的反制阻断方法、装置和计算机设备 | |
CN110138731B (zh) | 一种基于大数据的网络防攻击方法 | |
CN110704816A (zh) | 接口破解的识别方法、装置、设备及存储介质 | |
CN106209907B (zh) | 一种检测恶意攻击的方法及装置 | |
CN108259473A (zh) | Web服务器扫描防护方法 | |
CN111181924A (zh) | 一种基于应用网关的Web应用防火墙方法及系统 | |
CN112769833A (zh) | 命令注入攻击的检测方法、装置、计算机设备和存储介质 | |
CN110798353B (zh) | 基于行为特征大数据分析的网络行为风险感知及防御方法 | |
CN112463759A (zh) | Gbase数据库审计的信息解析方法 | |
CN111371811B (zh) | 一种资源调用方法、资源调用装置、客户端及业务服务器 | |
Turcotte et al. | Security vulnerabilities assessment of the X. 509 protocol by syntax-based testing | |
CN112463860A (zh) | 优炫数据库查询结果集的解析方法 | |
CN115866101A (zh) | 一种内外网联动多协议的资产归属识别方法、装置和介质 | |
CN110378120A (zh) | 应用程序接口攻击检测方法、装置以及可读存储介质 | |
CN115883169A (zh) | 基于蜜罐系统的工控网络攻击报文响应方法及响应系统 | |
CN116996238A (zh) | 一种网络异常访问的处理方法以及相关装置 | |
KR20050075950A (ko) | 네트워크 자산의 취약성을 고려한 침입탐지시스템의로그최적화 장치 | |
CN109889619B (zh) | 基于区块链的异常域名监测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210309 |