CN107766431A - 一种基于语法解析的去参数化功能方法及系统 - Google Patents

一种基于语法解析的去参数化功能方法及系统 Download PDF

Info

Publication number
CN107766431A
CN107766431A CN201710842336.6A CN201710842336A CN107766431A CN 107766431 A CN107766431 A CN 107766431A CN 201710842336 A CN201710842336 A CN 201710842336A CN 107766431 A CN107766431 A CN 107766431A
Authority
CN
China
Prior art keywords
sql statement
information
database
audit
parameter
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.)
Granted
Application number
CN201710842336.6A
Other languages
English (en)
Other versions
CN107766431B (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.)
DBAPPSecurity Co Ltd
Original Assignee
DBAPPSecurity 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 DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN201710842336.6A priority Critical patent/CN107766431B/zh
Publication of CN107766431A publication Critical patent/CN107766431A/zh
Application granted granted Critical
Publication of CN107766431B publication Critical patent/CN107766431B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F16/211Schema design and management
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/23Updating
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及网络技术、数据库审计技术,旨在提供一种基于语法解析的去参数化功能方法及系统。该种基于语法解析的去参数化功能方法,当审计对象是数据库结构固化的数据库,采用去参数化方法进行模板化处理,当审计对象是数据库结构是根据规则组织的数据库,采用基于语法解析的去参数化方法进行模板化处理。本发明将SQL语句模板化存储、将参数部分分表独立存储,审计时,通过将审计表里的记录与SQL语句模板库进行关联,便能完整还原抓取到的流量包里的SQL语句,这样能大大节省审计设备的数据库存储空间。

Description

一种基于语法解析的去参数化功能方法及系统
技术领域
本发明是关于网络技术、数据库审计技术领域,特别涉及一种基于语法解析的去参数化功能方法及系统。
背景技术
随着互联网技术的发展,网络已成为大多数人生活密不可分的一部分。人们利用各种客户端,如PC、手机等进行网络行为交换。大多数客户端、手机端应用系统、业务系统对数据库操作的sql语句都是开发人员在开发系统时编写好的。
数据库审计系统会记录审计对象业务系统的所有数据库行为。比如在审计对象的充值业务中,一般会更新费用记录表,这样针对不同用户,会产生不同的sql语句。因此针对同一种业务,数据库审计系统会根据不同用户便会产生大量的sql语句,从而占用数据库审计系统数据库存储空间。比如:Update table A…where user=u1…,Update table A…where user=u2…,Update table A…where user=u3…,……。
在实际的业务系统中由于一些数据库,没有表分区功能,为了解决大量业务的性能问题,业务系统通常会利用一些规则比如名字_日期等的方式来给表命名,来达到一个表多个文件的目的。这种情况下,假设还是在充值业务中,数据库审计系统不仅是针对不同用户会产生不同的sql语句,而且针对不同表也会产生不同的sql语句。这将会导致数据库审计系统中的sql语句模板无限增多,大大耗费数据库审计系统的数据库存储空间。比如:Update table A…where user=u1…,Update table A…where user=u2…,Updatetable A…where user=u3…,……。Update table A_20170504…where user=u1…,Update table A_20170504…where user=u2…,Update table A_20170504…where user=u3…,……。
发明内容
本发明的主要目的在于克服现有技术中的不足,提供一种根据不同情况可以分为去参数化、基于语法解析的去参数化两种方法进行处理的方法及系统。为解决上述技术问题,本发明的解决方案是:
提供一种基于语法解析的去参数化功能方法,根据不同情况,采用去参数化方法或者基于语法解析的去参数化方法进行处理,具体如下:
情况A)当审计对象是数据库结构固化的数据库(审计对象,是数据库审计设备中所配置的、需审计的数据库;一般需要在数据库审计设备中配置数据库主机IP和数据库服务开放的端口),数据库结构包括但不限于:数据表、字段、索引、记录,采用去参数化方法进行模板化处理,具体包括下述步骤:
步骤A1:通过分析审计对象的网络访问流量(利用数据库审计设备来实现,用于监管用户访问数据库行为;数据库审计设备可以采用自主开发的数据库审计设备,本专利的方法被用于该自主开发的数据库审计设备中),解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤A2:对于步骤A1中解析得到的SQL语句,将SQL语句里包含的参数裁减,得到SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤A3:将步骤A2得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、SQL语句模板;
步骤A4:将步骤A1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤A2中SQL语句里被裁减的参数信息,都更新至审计表里;
所述更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息;
所述参数信息是步骤A2中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里;
情况B)当审计对象是数据库结构是根据规则组织的数据库(审计对象是数据库审计设备中所配置的、需审计的数据库;一般需要在数据库审计设备中配置数据库主机IP和数据库服务开放的端口),数据库结构包括但不限于:数据表、字段、索引、记录,采用基于语法解析的去参数化方法进行模板化处理,具体包括下述步骤:
步骤B1:数据库审计设备通过分析审计对象的网络访问流量(利用数据库审计设备来实现,用于监管用户访问数据库行为;数据库审计设备可以采用自主开发的数据库审计设备,本专利的方法被用于该自主开发的数据库审计设备中),解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤B2:对于步骤B1解析得到的SQL语句,提取SQL语句中规则化信息部分;
步骤B3:将步骤B2提取的规则化信息,进行解析得到语法规则;
步骤B4:将步骤B1的SQL语句里包含的参数裁减,并且用语法规则替换SQL语句中的规则化信息部分,得到带语法规则的SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤B5:将步骤B4得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、带语法规则的SQL语句模板;
步骤B6:将步骤B1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤B4中SQL语句里被裁减的参数信息和步骤B2解析得到的规则化信息,都更新至审计表里;
所更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息、规则化信息;
所述参数信息是步骤B4中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里。
在本发明中,所述审计表是根据审计对象的数据库访问流量,不断更新;审计表中存储的信息包括但不限于:SessionID、用户名、SqlID、参数信息、规则化信息。
在本发明中,当采集到的SQL语句中具有具备规则化信息,则规则化信息部分转化为语法规则,则其所形成的SQL语句模板是带语法规则的,则对应审计表中存储的信息是带规则化信息的。
在本发明中,所述SQL语句模板库是根据审计对象的数据库操作行为,不断更新。
在本发明中,所述审计表与SQL语句模板库通过SqlID进行关联,能还原出用户对数据库的所有操作行为。
提供一种存储设备,其中存储有多条指令,所述指令适用于处理器加载并执行:
情况A)当审计对象是数据库结构固化的数据库(审计对象,是数据库审计设备中所配置的、需审计的数据库;一般需要在数据库审计设备中配置数据库主机IP和数据库服务开放的端口),数据库结构包括但不限于:数据表、字段、索引、记录,采用去参数化方法进行模板化处理,具体包括下述步骤:
步骤A1:通过分析审计对象的网络访问流量(利用数据库审计设备来实现,用于监管用户访问数据库行为;数据库审计设备可以采用自主开发的数据库审计设备,本专利的方法被用于该自主开发的数据库审计设备中),解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤A2:对于步骤A1中解析得到的SQL语句,将SQL语句里包含的参数裁减,得到SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤A3:将步骤A2得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、SQL语句模板;
步骤A4:将步骤A1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤A2中SQL语句里被裁减的参数信息,都更新至审计表里;
所述更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息;
所述参数信息是步骤A2中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里;
情况B)当审计对象是数据库结构是根据规则组织的数据库(审计对象是数据库审计设备中所配置的、需审计的数据库;一般需要在数据库审计设备中配置数据库主机IP和数据库服务开放的端口),数据库结构包括但不限于:数据表、字段、索引、记录,采用基于语法解析的去参数化方法进行模板化处理,具体包括下述步骤:
步骤B1:数据库审计设备通过分析审计对象的网络访问流量(利用数据库审计设备来实现,用于监管用户访问数据库行为;数据库审计设备可以采用自主开发的数据库审计设备,本专利的方法被用于该自主开发的数据库审计设备中),解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤B2:对于步骤B1解析得到的SQL语句,提取SQL语句中规则化信息部分;
步骤B3:将步骤B2提取的规则化信息,进行解析得到语法规则;
步骤B4:将步骤B1的SQL语句里包含的参数裁减,并且用语法规则替换SQL语句中的规则化信息部分,得到带语法规则的SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤B5:将步骤B4得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、带语法规则的SQL语句模板;
步骤B6:将步骤B1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤B4中SQL语句里被裁减的参数信息和步骤B2解析得到的规则化信息,都更新至审计表里;
所更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息、规则化信息;
所述参数信息是步骤B4中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里。
提供一种基于语法解析的去参数化功能系统,包括处理器和存储设备,处理器适于实现各指令,存储设备适于存储多条指令,所述指令适用于处理器加载并执行;所述指令适于处理器加载并执行:
情况A)当审计对象是数据库结构固化的数据库(审计对象,是数据库审计设备中所配置的、需审计的数据库;一般需要在数据库审计设备中配置数据库主机IP和数据库服务开放的端口),数据库结构包括但不限于:数据表、字段、索引、记录,采用去参数化方法进行模板化处理,具体包括下述步骤:
步骤A1:通过分析审计对象的网络访问流量(利用数据库审计设备来实现,用于监管用户访问数据库行为;数据库审计设备可以采用自主开发的数据库审计设备,本专利的方法被用于该自主开发的数据库审计设备中),解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤A2:对于步骤A1中解析得到的SQL语句,将SQL语句里包含的参数裁减,得到SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤A3:将步骤A2得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、SQL语句模板;
步骤A4:将步骤A1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤A2中SQL语句里被裁减的参数信息,都更新至审计表里;
所述更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息;
所述参数信息是步骤A2中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里;
情况B)当审计对象是数据库结构是根据规则组织的数据库(审计对象是数据库审计设备中所配置的、需审计的数据库;一般需要在数据库审计设备中配置数据库主机IP和数据库服务开放的端口),数据库结构包括但不限于:数据表、字段、索引、记录,采用基于语法解析的去参数化方法进行模板化处理,具体包括下述步骤:
步骤B1:数据库审计设备通过分析审计对象的网络访问流量(利用数据库审计设备来实现,用于监管用户访问数据库行为;数据库审计设备可以采用自主开发的数据库审计设备,本专利的方法被用于该自主开发的数据库审计设备中),解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤B2:对于步骤B1解析得到的SQL语句,提取SQL语句中规则化信息部分;
步骤B3:将步骤B2提取的规则化信息,进行解析得到语法规则;
步骤B4:将步骤B1的SQL语句里包含的参数裁减,并且用语法规则替换SQL语句中的规则化信息部分,得到带语法规则的SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤B5:将步骤B4得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、带语法规则的SQL语句模板;
步骤B6:将步骤B1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤B4中SQL语句里被裁减的参数信息和步骤B2解析得到的规则化信息,都更新至审计表里;
所更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息、规则化信息;
所述参数信息是步骤B4中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里。
与现有技术相比,本发明的有益效果是:
本发明将SQL语句模板化存储、将参数部分分表独立存储,审计时,通过将审计表里的记录与SQL语句模板库进行关联,便能完整还原抓取到的流量包里的SQL语句,这样能大大节省审计设备的数据库存储空间。
附图说明
图1为去参数化流程示意图。
图2为SQL语句模板库流程示意图。
图3为语法解析流程示意图。
图4为SQL语句模板表内容和审计表内容示意图。
具体实施方式
首先需要说明的是,本发明是计算机技术在网站对外提供服务领域的一种应用。在本发明的实现过程中,会涉及到多个算法的应用。申请人认为,如在仔细阅读申请文件、准确理解本发明的实现原理和发明目的以后,在结合现有公知技术的情况下,本领域技术人员完全可以运用其掌握的软件编程技能实现本发明。凡本发明申请文件提及的均属此范畴,申请人不再一一列举。
下面的实施例可以使本专业的专业技术人员更全面地理解本发明,但不以任何方式限制本发明。
假设审计对象业务系统中的充值业务,充值时都会更新费用记录表,只不过根据不同的人,充值的金额不同,使用的参数不同。A用户充值100时,更新的是value=100name=A;B用户充值200时,更新的是value=200,name=B,但去掉参数,语句都是一样的。
在现有技术中,在审计表中存储内容:
对于用户A:0001、A、update table rechaerge set value=10 0where name=A。
对于用户B:0002、B、update table rechaerge set value=200 where name=B。
针对更多用户,被占用的存储空间会更多。
通过本发明技术,SQL语句模板表中存储内容:
SQL语句模板:1、update table rechaerge set value=1 where name=user;
在审计表中存储内容:
对于用户A:0001、A、1、100;
对于用户B:0002、B、1、200;
针对更多用户,大大节省了存储空间。
对于按规则组织数据库信息的情况,本发明技术采用基于语法解析的去参数化具体地假设审计对象业务系统中采用名字_日期方式来给表命名,来达到一表多文件。假设还是按照前述只是简单的去参数化处理,会生成无数的SQL语句模板:
1、update table rechaerge_20170101 set value=1 where name=user、
2、update table rechaerge_20170102 set value=1 where name=user、…
3、update table rechaerge_20170302 set value=1 where name=user、…;
本发明通过结果语法解析后,对对象的结尾的数据等可变内容进行规则化处理,再进行去参数化处理,可以进一步减少模板数:
通过本发明技术,SQL语句模板表中存储内容:
SQL语句模板:1、update table rechaerge_%date%set value=1 where name=user;
在审计表中存储内容:
对于用户A:0001、A、1、100、20170101;
0003、A、1、100、20170102;
对于用户B:0002、B、1、200、20170101;
0004、B、1、200、20170102;
针对更多用户、更多日期大大节省审计系统数据库空间。
进一步图例说明,图1示例本发明的去参数化流程。图2示例本发明的SQL语句模板库流程。图3示例本发明的语法解析流程。图4示例本发明的SQL语句模板表内容和审计表内容。
最后,需要注意的是,以上列举的仅是本发明的具体实施例。显然,本发明不限于以上实施例,还可以有很多变形。本领域的普通技术人员能从本发明公开的内容中直接导出或联想到的所有变形,均应认为是本发明的保护范围。

Claims (7)

1.一种基于语法解析的去参数化功能方法,其特征在于,根据不同情况,采用去参数化方法或者基于语法解析的去参数化方法进行处理,具体如下:
情况A)当审计对象是数据库结构固化的数据库,数据库结构包括但不限于:数据表、字段、索引、记录,采用去参数化方法进行模板化处理,具体包括下述步骤:
步骤A1:通过分析审计对象的网络访问流量,解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤A2:对于步骤A1中解析得到的SQL语句,将SQL语句里包含的参数裁减,得到SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤A3:将步骤A2得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、SQL语句模板;
步骤A4:将步骤A1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤A2中SQL语句里被裁减的参数信息,都更新至审计表里;
所述更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息;
所述参数信息是步骤A2中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里;
情况B)当审计对象是数据库结构是根据规则组织的数据库,数据库结构包括但不限于:数据表、字段、索引、记录,采用基于语法解析的去参数化方法进行模板化处理,具体包括下述步骤:
步骤B1:数据库审计设备通过分析审计对象的网络访问流量,解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤B2:对于步骤B1解析得到的SQL语句,提取SQL语句中规则化信息部分;
步骤B3:将步骤B2提取的规则化信息,进行解析得到语法规则;
步骤B4:将步骤B1的SQL语句里包含的参数裁减,并且用语法规则替换SQL语句中的规则化信息部分,得到带语法规则的SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤B5:将步骤B4得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、带语法规则的SQL语句模板;
步骤B6:将步骤B1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤B4中SQL语句里被裁减的参数信息和步骤B2解析得到的规则化信息,都更新至审计表里;
所更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息、规则化信息;
所述参数信息是步骤B4中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里。
2.根据权利要求1所述的一种基于语法解析的去参数化功能方法,其特征在于,所述审计表是根据审计对象的数据库访问流量,不断更新;审计表中存储的信息包括但不限于:SessionID、用户名、SqlID、参数信息、规则化信息。
3.根据权利要求1所述的一种基于语法解析的去参数化功能方法,其特征在于,当采集到的SQL语句中具有具备规则化信息,则规则化信息部分转化为语法规则,则其所形成的SQL语句模板是带语法规则的,则对应审计表中存储的信息是带规则化信息的。
4.根据权利要求1所述的一种基于语法解析的去参数化功能方法,其特征在于,所述SQL语句模板库是根据审计对象的数据库操作行为,不断更新。
5.根据权利要求1所述的一种基于语法解析的去参数化功能方法,其特征在于,所述审计表与SQL语句模板库通过SqlID进行关联,能还原出用户对数据库的所有操作行为。
6.一种存储设备,其特征在于,其中存储有多条指令,所述指令适用于处理器加载并执行:
情况A)当审计对象是数据库结构固化的数据库,数据库结构包括但不限于:数据表、字段、索引、记录,采用去参数化方法进行模板化处理,具体包括下述步骤:
步骤A1:通过分析审计对象的网络访问流量,解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤A2:对于步骤A1中解析得到的SQL语句,将SQL语句里包含的参数裁减,得到SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤A3:将步骤A2得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、SQL语句模板;
步骤A4:将步骤A1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤A2中SQL语句里被裁减的参数信息,都更新至审计表里;
所述更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息;
所述参数信息是步骤A2中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里;
情况B)当审计对象是数据库结构是根据规则组织的数据库,数据库结构包括但不限于:数据表、字段、索引、记录,采用基于语法解析的去参数化方法进行模板化处理,具体包括下述步骤:
步骤B1:数据库审计设备通过分析审计对象的网络访问流量,解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤B2:对于步骤B1解析得到的SQL语句,提取SQL语句中规则化信息部分;
步骤B3:将步骤B2提取的规则化信息,进行解析得到语法规则;
步骤B4:将步骤B1的SQL语句里包含的参数裁减,并且用语法规则替换SQL语句中的规则化信息部分,得到带语法规则的SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤B5:将步骤B4得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、带语法规则的SQL语句模板;
步骤B6:将步骤B1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤B4中SQL语句里被裁减的参数信息和步骤B2解析得到的规则化信息,都更新至审计表里;
所更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息、规则化信息;
所述参数信息是步骤B4中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里。
7.一种基于语法解析的去参数化功能系统,其特征在于,包括处理器和存储设备,处理器适于实现各指令,存储设备适于存储多条指令,所述指令适用于处理器加载并执行;所述指令适于处理器加载并执行:
情况A)当审计对象是数据库结构固化的数据库,数据库结构包括但不限于:数据表、字段、索引、记录,采用去参数化方法进行模板化处理,具体包括下述步骤:
步骤A1:通过分析审计对象的网络访问流量,解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤A2:对于步骤A1中解析得到的SQL语句,将SQL语句里包含的参数裁减,得到SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤A3:将步骤A2得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、SQL语句模板;
步骤A4:将步骤A1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤A2中SQL语句里被裁减的参数信息,都更新至审计表里;
所述更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息;
所述参数信息是步骤A2中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里;
情况B)当审计对象是数据库结构是根据规则组织的数据库,数据库结构包括但不限于:数据表、字段、索引、记录,采用基于语法解析的去参数化方法进行模板化处理,具体包括下述步骤:
步骤B1:数据库审计设备通过分析审计对象的网络访问流量,解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤B2:对于步骤B1解析得到的SQL语句,提取SQL语句中规则化信息部分;
步骤B3:将步骤B2提取的规则化信息,进行解析得到语法规则;
步骤B4:将步骤B1的SQL语句里包含的参数裁减,并且用语法规则替换SQL语句中的规则化信息部分,得到带语法规则的SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤B5:将步骤B4得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、带语法规则的SQL语句模板;
步骤B6:将步骤B1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤B4中SQL语句里被裁减的参数信息和步骤B2解析得到的规则化信息,都更新至审计表里;
所更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息、规则化信息;
所述参数信息是步骤B4中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里。
CN201710842336.6A 2017-09-18 2017-09-18 一种基于语法解析的去参数化功能方法及系统 Active CN107766431B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710842336.6A CN107766431B (zh) 2017-09-18 2017-09-18 一种基于语法解析的去参数化功能方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710842336.6A CN107766431B (zh) 2017-09-18 2017-09-18 一种基于语法解析的去参数化功能方法及系统

Publications (2)

Publication Number Publication Date
CN107766431A true CN107766431A (zh) 2018-03-06
CN107766431B CN107766431B (zh) 2020-07-03

Family

ID=61266004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710842336.6A Active CN107766431B (zh) 2017-09-18 2017-09-18 一种基于语法解析的去参数化功能方法及系统

Country Status (1)

Country Link
CN (1) CN107766431B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271326A (zh) * 2018-11-28 2019-01-25 优刻得科技股份有限公司 云数据库的测试方法及其装置、设备和存储介质
CN111506553A (zh) * 2019-01-31 2020-08-07 阿里巴巴集团控股有限公司 数据库的功能设定方法及装置
CN112131215A (zh) * 2019-06-25 2020-12-25 中国移动通信集团重庆有限公司 自底向上的数据库信息获取方法及装置
CN113722351A (zh) * 2021-08-30 2021-11-30 杭州安恒信息安全技术有限公司 Oracle数据库访问流量中的参数还原方法及装置
CN114936212A (zh) * 2022-07-26 2022-08-23 北京安华金和科技有限公司 一种审计数据同步处理方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080140696A1 (en) * 2006-12-07 2008-06-12 Pantheon Systems, Inc. System and method for analyzing data sources to generate metadata
CN102193922A (zh) * 2010-03-04 2011-09-21 杭州华三通信技术有限公司 一种对数据库进行访问的方法和装置
CN102609462A (zh) * 2012-01-14 2012-07-25 杭州安恒信息技术有限公司 一种通过提取sql模板对海量sql压缩存储的方法
CN103559444A (zh) * 2013-11-05 2014-02-05 星云融创(北京)信息技术有限公司 一种sql注入检测方法及装置
CN104090941A (zh) * 2014-06-30 2014-10-08 江苏华大天益电力科技有限公司 一种数据库审计系统及其审计方法
CN105373607A (zh) * 2015-11-13 2016-03-02 国网智能电网研究院 一种电力业务系统sql访问日志压缩方法
CN105653930A (zh) * 2014-10-21 2016-06-08 广西大学 数据库粗粒度安全审计方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080140696A1 (en) * 2006-12-07 2008-06-12 Pantheon Systems, Inc. System and method for analyzing data sources to generate metadata
CN102193922A (zh) * 2010-03-04 2011-09-21 杭州华三通信技术有限公司 一种对数据库进行访问的方法和装置
CN102609462A (zh) * 2012-01-14 2012-07-25 杭州安恒信息技术有限公司 一种通过提取sql模板对海量sql压缩存储的方法
CN103559444A (zh) * 2013-11-05 2014-02-05 星云融创(北京)信息技术有限公司 一种sql注入检测方法及装置
CN104090941A (zh) * 2014-06-30 2014-10-08 江苏华大天益电力科技有限公司 一种数据库审计系统及其审计方法
CN105653930A (zh) * 2014-10-21 2016-06-08 广西大学 数据库粗粒度安全审计方法
CN105373607A (zh) * 2015-11-13 2016-03-02 国网智能电网研究院 一种电力业务系统sql访问日志压缩方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271326A (zh) * 2018-11-28 2019-01-25 优刻得科技股份有限公司 云数据库的测试方法及其装置、设备和存储介质
CN111506553A (zh) * 2019-01-31 2020-08-07 阿里巴巴集团控股有限公司 数据库的功能设定方法及装置
CN111506553B (zh) * 2019-01-31 2023-07-04 阿里巴巴集团控股有限公司 数据库的功能设定方法及装置
CN112131215A (zh) * 2019-06-25 2020-12-25 中国移动通信集团重庆有限公司 自底向上的数据库信息获取方法及装置
CN112131215B (zh) * 2019-06-25 2023-09-19 中国移动通信集团重庆有限公司 自底向上的数据库信息获取方法及装置
CN113722351A (zh) * 2021-08-30 2021-11-30 杭州安恒信息安全技术有限公司 Oracle数据库访问流量中的参数还原方法及装置
CN113722351B (zh) * 2021-08-30 2024-01-30 杭州安恒信息安全技术有限公司 Oracle数据库访问流量中的参数还原方法及装置
CN114936212A (zh) * 2022-07-26 2022-08-23 北京安华金和科技有限公司 一种审计数据同步处理方法和装置
CN114936212B (zh) * 2022-07-26 2022-09-23 北京安华金和科技有限公司 一种审计数据同步处理方法和装置

Also Published As

Publication number Publication date
CN107766431B (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
CN107766431A (zh) 一种基于语法解析的去参数化功能方法及系统
US11403464B2 (en) Method and system for implementing semantic technology
US11727513B2 (en) Method and system for facilitating implementation of regulations by organizations
CN108509477A (zh) 语义识别方法、电子装置及计算机可读存储介质
CN109376273A (zh) 企业信息图谱构建方法、装置、计算机设备及存储介质
CN109255703A (zh) 交易数据处理方法及装置
CN111723086A (zh) 一种数据质量检核方法、装置、设备及可读存储介质
CN109902157A (zh) 一种训练样本有效性检测方法及装置
CN109615172A (zh) 一种处理考核数据的方法及终端
CN109739992A (zh) 一种获取关联信息的方法及终端
CN107729330B (zh) 获取数据集的方法和装置
CN108960672A (zh) 限额限次的风控方法、装置及计算机可读存储介质
CN104021216B (zh) 消息代理服务器及信息发布订阅方法和系统
CN103916368B (zh) 一种实现不同数据源之间数据处理的方法及装置
CN107368500A (zh) 数据抽取方法及系统
CN113468160A (zh) 数据治理方法及装置、电子设备
CN112668321A (zh) 关键词提取方法及装置、电子设备、存储介质
CN202433952U (zh) 一种通用网络报表系统
Wang et al. Local risk minimization for vulnerable European contingent claims on nontradable assets under regime switching models
CN105786929A (zh) 一种信息监测方法及装置
CN109376287A (zh) 房产图谱构建方法、装置、计算机设备及存储介质
CN108846023A (zh) 文本的非常规特性挖掘方法及装置
CN105446959B (zh) 日志内容审核优化方法及装置
Pu et al. A semantic-based short-text fast clustering method on hotline records in Chengdu
CN109636649A (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
CB02 Change of applicant information

Address after: 310051 No. 188 Lianhui Street, Xixing Street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: DBAPPSECURITY Ltd.

Address before: Zhejiang Zhongcai Building No. 68 Binjiang District road Hangzhou City, Zhejiang Province, the 310051 and 15 layer

Applicant before: DBAPPSECURITY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant