CN108388664A - 语句片段的整合方法、装置、计算机设备和存储介质 - Google Patents
语句片段的整合方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN108388664A CN108388664A CN201810209853.4A CN201810209853A CN108388664A CN 108388664 A CN108388664 A CN 108388664A CN 201810209853 A CN201810209853 A CN 201810209853A CN 108388664 A CN108388664 A CN 108388664A
- Authority
- CN
- China
- Prior art keywords
- data
- segment
- request
- database
- sentence
- 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
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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种语句片段的整合方法、装置、计算机设备和存储介质。该方法包括:如果数据获取端发送的数据请求的当前语句片段中包含只存在前半部分的第一标点符号,则依次解析位于当前语句片段之后的语句片段,直至查找到只存在后半部分且与第一标点符号匹配的第二标点符号;将当前语句片段至第二标点符号所属的待整合语句片段的各语句片段整合为一个语句片段,将整合得到的语句片段确定为当前语句片段并返回执行判断当前语句片段中是否包含只存在前半部分的第一标点符号的操作。本发明实施例通过采用上述技术方案,对数据请求中包含的语句片段进行整合,可以提高审计系统对用户发送的数据请求进行解析时的准确度。
Description
技术领域
本发明涉及数据库领域,尤其涉及一种语句片段的整合方法、装置、计算机设备和存储介质。
背景技术
近年来,由于各种数据安全事故(诸如银行内部数据泄露造成的资金失密、信用卡信息被盗用导致的信用卡伪造、企业内部机密数据泄露引起的竞争力下降等)的层出不穷,数据库安全也得到了人们越来越多的关注。目前,为了提高数据库内存储的数据信息的安全性,一般需要采用数据库安全审计系统对数据库的用户操作进行监控和审计。
在采用数据安全审计系统对数据库进行审计的过程中,通常需要获取用户在向数据库获取数据时发送的数据请求,从而基于该数据请求对用户的操作进行审计,确定用户操作的合法性。为了保证数据库与访问终端之间的数据传输速度,当用户发送的数据请求中包含超长语句时,访问终端通常会将该数据请求拆分为多个语句片段,并通过发送拆分得到的多个语句片段实现对该数据请求的发送。在此种情况下,数据库安全审计系统往往会由于只能获取到包含多个语句片段的数据请求而无法准确确定用户数据请求的具体含义,使得其所生成的审计结果的准确率较低,无法大幅度的提高其所审计系统的安全性。
发明内容
有鉴于此,本发明实施例提供一种语句片段的整合方法、装置、计算机设备和存储介质,以解决现有技术中数据库安全审计系统无法对用户发送的数据请求进行准确解析的技术问题。
第一方面,本发明实施例提供了一种语句片段的整合方法,包括:
在监测到数据获取端向数据库发送数据请求时,获取所述数据请求,所述数据请求包括组成所述数据请求的各语句片段,判断所述数据请求的当前语句片段中是否包含只存在前半部分的第一标点符号;
若是,则依次解析位于所述当前语句片段之后的语句片段,直至查找到只存在后半部分且与所述第一标点符号匹配的第二标点符号;将当前语句片段至所述第二标点符号所属的待整合语句片段的各语句片段整合为一个语句片段,将整合得到的语句片段确定为当前语句片段,并返回执行所述判断所述当前语句片段中是否包含只存在前半部分的第一标点符号的操作;
若否,则将位于所述当前语句片段之后且与所述当前语句片段相邻的下一语句片段确定为当前语句片段,并返回执行所述判断所述当前语句片段中是否包含只存在前半部分的第一标点符号的操作,直至组成所述数据请求的各语句片段均只包含完整的标点符号为止。
第二方面,本发明实施例提供了一种语句片段的整合装置,包括:
解析模块,用于在监测到数据获取端向数据库发送数据请求时,获取所述数据请求,所述数据请求包括组成所述数据请求的各语句片段,判断所述数据请求的当前语句片段中是否包含只存在前半部分的第一标点符号;
整合模块,用于在所述数据请求的当前语句片段中包含只存在前半部分的第一标点符号时,依次解析位于所述当前语句片段之后的语句片段,直至查找到只存在后半部分且与所述第一标点符号匹配的第二标点符号;将当前语句片段至所述第二标点符号所属的待整合语句片段的各语句片段整合为一个语句片段,将整合得到的语句片段确定为当前语句片段,并返回执行所述判断所述当前语句片段中是否包含只存在前半部分的第一标点符号的操作;
语句片段确定模块,用于在所述数据请求的当前语句片段中不包含只存在前半部分的第一标点符号时,将位于所述当前语句片段之后且与所述当前语句片段相邻的下一语句片段确定为当前语句片段,并返回执行所述判断所述当前语句片段中是否包含只存在前半部分的第一标点符号的操作,直至组成所述数据请求的各语句片段均只包含完整的标点符号为止。
第三方面,本发明实施例提供了一种计算机设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所述的语句片段的整合方法。
第四方面,本发明实施例还提供了一种算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例所述的语句片段的整合方法。
在上述整合语句片段的技术方案中,在监测到数据获取端向数据库发送数据请求时,获取该数据请求并判断该数据请求的当前语句片段是否包含只存在前半部分的第一标点符号;若是,则依次解析位于当前语句片段之后的语句片段,直至查找到与该第一标点符号匹配且只存在后半部分第二标点符号,将当前语句片段至第二标点符号所属语句片段整合为一个语句片段,将整合得到的语句片段确定为当前语句片段,并返回执行判断当前语句片段中是否包含只存在前半部分的第一标点符号的操作;若否,则将当前语句片段之后且与当前语句片段相邻的下一语句片段确定为当前语句片段,并返回执行判断当前语句片段中是否包含只存在前半部分的第一标点符号的操作,直至数据请求中的各语句片段均只包含完整的标点符号为止。上述整合语句片段的技术方案,对数据请求中包含的语句片段进行整合,可以提高数据库安全审计系统对用户发送的数据请求进行解析时的准确度,提高所生成审计结果的准确性,减少数据库中数据被非法获取的概率,提高数据库的安全性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例一提供的一种语句片段的整合方法的流程示意图;
图2为本发明实施例二提供的一种语句片段的整合方法的流程示意图;
图3为本发明实施例三提供的一种语句片段的整合装置的结构框图;
图4为本发明实施例四提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
一般地,以数据请求为结构化查询语言(Structured Query Language,SQL)语句为例,当数据请求中存在过长(如语句长度大于1460B或大于1.5kB)的语句时,数据获取端在生成数据请求时,会将过长的SQL语句拆分为多个语句片段。语句片段的划分,使得数据请求中存在包含不完整语句的语句片段,此时,如果按照语句片段解析数据获取端所发送数据请求的含义,往往会造成审计系统对数据请求的解析出现错误,导致其所生成审计结果的准确率较低。因此,在解析数据获取端发送的数据请求时,可以通过本发明实施例提供的语句片段的整合方法对数据请求中包含的语句片段进行整合,以提高审计系统所生成审计结果的准确性。
实施例一
本发明实施例一提供一种语句片段的整合方法。该方法可以由语句片段的整合装置执行,其中,该装置可由软件和/或硬件实现,一般可集成在数据库配置的审计系统中。图1为本发明实施例一提供的一种语句片段的整合方法的流程示意图,如图1所示,该方法包括:
S101、在监测到数据获取端向数据库发送数据请求时,获取所述数据请求,所述数据请求包括组成所述数据请求的各语句片段。
其中,数据请求可以理解为数据获取端向数据库获取某数据时发送的请求。本实施例中,可以实时或按照设定周期监测数据获取端是否向数据库发送数据请求。数据获取端向数据库发送的数据请求可以从数据库的数据传输端口或数据库配置的交换机获取,此处不作限制。考虑到从数据库的数据传输端口获取数据获取端发送的数据请求可能会影响数据库自身的响应速度,优选的,如果数据库配置有交换机且该交换机设置有与审计系统进行通信的数据传输端口,则可以通过监测交换机接收到的数据或交换机向数据库转发的数据确定数据获取端是否向数据库发送数据请求,并可以在监测到数据获取端向数据库发送数据请求时,向交换机获取数据获取端发送的数据请求,其中,所述交换机包括虚拟交换机和物理交换机;如果数据库未配置交换机或数据库配置的交换机未设置与审计系统进行通信的数据端口,则可以通过监测数据库的数据传输端口接收到的数据确定数据获取端是否向数据库发送数据请求,并可以在监测到数据获取端向数据库发送数据请求时,从该数据传输端口获取数据获取端发送的数据请求。
示例性的,当基于数据库的数据传输端口监测和/或获取数据获取端向数据库发送的数据请求时,可以预先在数据库内设置监测获取程序,从而可以通过该监测获取程序监测数据获取端是否向数据库发送数据请求,并在监测到数据获取端向数据库发送数据请求时,通过该监测获取程序获取该数据请求;当基于数据库配置的交换机监测和/或获取数据获取端发送的数据请求时,可以通过端口镜像或分流器(TAP)分流的方式获取交换机接收到的数据或交换机向数据库转发的数据,从而可以通过解析接收到的数据确定数据获取端是否向数据库发送数据请求,并获取数据获取端发送的数据请求。
其中,审计系统可以由基础层、引擎层、业务层和接口管理层构成,其中,基础层可以由存储审计系统相关数据的智能知识库、高性能报文捕获平台、安全操作系统平台和高可靠多核硬件平台构成,基础层的信息处理机制可以包括深度包检测(Deep PacketInspection,DPI)机制和深度/动态流检测(Deep/Dynamic Flow Inspection,DFI)机制等等;引擎层可以由用于检索数据的数据检索引擎、用于分析数据之间的关联性的关联分析引擎、用于基于分析结果生成报表的报表引擎和在数据获取端为非法获取端时进行报警的告警引擎等构成;业务层可以由系统配置单元、策略管理单元、审计管理单元、风险管理单元、报表管理单元、日志管理单元和用户管理单元等构成;接口管理层可以由级联接口、互联接口、告警接口和日志接口等构成。该审计系统可支持各种数据库操作方案和网络操作方式,如其可以支持基于客户端的连接、基于开放数据库连接(Open DatabaseConnectivity,ODBC)/JAVA数据库连接(Java Database Connectivity,JDBC)等的连接访问、本地操作和网络操作等的审计。并且,该审计系统还可以支持浏览器/服务器模式(Browser/Server,B/S)、客户/服务器模式(Client/Server,C/S),以及带COM/DCOM/COM+组件方式的三层审计,针对普通的三层架构,可以获取到可扩展标记语言(ExtensibleMarkup Language,XML)返回的内容信息;针对采取COM/DCOM/COM+组件的三层架构,可以提取账号(应用层账号和/或数据库账号),详细定位到人。
本实施例中,在获取数据请求中的各语句片段时,可以同时或依次采用各通信协议对数据获取端发送的数据请求进行解析,或者,根据数据获取端发送的数据请求的结构和/或编程语言确定该数据请求对应的通信协议并采用该通信协议对该数据请求进行解析,从而得到该数据请求所包含的各语句片段;也可以获取数据获取端的访问工具信息,根据该访问工具信息确定数据获取端发送的数据请求所属的通信协议,并在该通信协议下对数据获取端发送的数据请求进行解析,得到该数据请求中包含的各语句片段,此处不作限制。考虑到数据请求中各语句片段的获取速度,优选的,所述获取所述数据请求,包括:根据数据获取端的访问工具信息确定所述数据获取端向所述数据库发送的数据请求所属的通信协议,并基于所述通信协议获取所述数据请求。此时,相应的,所述数据请求还可以包括所述数据获取端发送所述数据请求时的访问工具信息。其中,数据获取端发送数据请求时的访问工具信息可以在监测到数据获取端向数据库发送数据请求时从数据库的数据传输端口或数据库配置的交换机等地获取;也可以在数据获取端登录数据库时基于数据获取端发送的登录请获取,将其记录在本地,并在监测到数据获取端向数据库发送数据请求时从本地获取数据获取端的访问工具信息。
S102、判断所述数据请求的当前语句片段中是否包含只存在前半部分的第一标点符号,若是,执行S103;若否,执行S105。
其中,当前语句片段可以理解为当前正在处理的语句片段。本实施例中,可以按照各语句片段在数据请求中的排列顺序依次将各语句片段确定为当前语句片段,如,可以在首次处理时将数据请求中的第一个语句片段确定为当前语句片段,并在某一语句片段处理完成之后,将排列顺序位于该语句片段之后且与该语句相邻的语句片段确定为当前语句片段。
本实施例中,可以通过判断当前语句片段中的标点符号是否均为完整的标点符号来确定当前语句片段是否由完整的语句构成。优选可以仅对当前语句片段中由两部分构成的标点符号(如引号、括号、书名号等等)进行判断,如可以判断其前半部分是否均存在对应的后半部分,以减少判断过程中所需的计算量。当当前语句片段中包含多个由两部分构成的标点符号时,可以同时或依次判断各由两部分构成的标点符号是否为完整的标点符号,从而确定当前语句片段中是否包含只存在前半部分的第一标点符号。
S103、依次解析位于所述当前语句片段之后的语句片段,直至查找到只存在后半部分且与所述第一标点符号匹配的第二标点符号。
本实施例中,可以从位于当前语句片段之后且与当前语句片段相邻的下一语句片段开始,按照各语句片段在数据请求中的排列顺序依次查找当前语句片段之后的各语句片段是否包含只存在后半部分且与第一标点符号匹配的第二标点符号,例如,如果第一标点符号为开引号,则可以查找当前语句片段之后的语句片段是否包含独立存在的关引号,从而可以根据第二标点符号的数据请求中所属的语句片段确定数据请求中与当前语句片段进行整合的语句片段。
本实施例中,在解析位于当前语句片段之后的语句片段时,可以同时对排列顺序位于当前语句片段之后的各语句片段进行解析并将数据请求中距离第一标点符号最近、只存在后半部分且与第一标点符号匹配的标点符号确定为第二标点符号;也可以按照各语句片段在数据请求中的排列顺序,依次查找位于当前语句片段之后的语句片段,例如,可以首先查找位于当前语句片段之后且与当前语句片段相邻的下一语句片段中是否包含第二标点符号,若是,则执行S104,若否,则继续查找位于该下一语句片段之后且与该下一语句片段相邻的语句片段中是否包含第二标点符号,以此类推,直至查找到只存在后半部分且与第一标点符号匹配的第二标点符号为止。其中,各语句片段在数据请求中的排列顺序可以通过解析数据请求中各语句片段的位置确定;也可以基于各语句片段的排列顺序列表确定,此时,优选的,数据获取端向数据库发送的数据请求中还可以包括各语句片段的排列顺序列表。
S104、将当前语句片段至所述第二标点符号所属的待整合语句片段的各语句片段整合为一个语句片段,将整合得到的语句片段确定为当前语句片段,返回S102。
本实施例中,可以将排列顺序中从当前语句片段到待整合语句片段的各语句片段按照各语句片段在数据请求中的排列顺序整合为一个语句片段。示例性的,可以通过将当前语句片段至待整合语句片段按照其在数据请求中的排列顺序依次首尾相接的方式将其整合为一个语句片段,如可以将当前语句片段的段尾同下一语句片段的段首相接,将下一语句片段的段尾同位于下一语句片段之后且与下一语句片段相邻的语句片段的段首相接,以此类推,直至连接到待整合语句片段。举例而言,假设数据请求中按照排列顺序从前向后的各语句片段依次为A-B-C-D-E-F,当前语句片段为A,待整合语句片段为D,则可以将语句片段A的段尾与语句片段B的段首相接,将语句片段B的段尾与语句片段C的段首相接,将语句片段C的段尾与语句片段D的段首相接,以得到整合后的语句片段(假设为语句片段G)。由于整合后的语句片段G中可能仍会包含只存在前半部分的第一标点符号,因此,可以将整合后得到的语句片段G确定为当前语句片段并重新执行S102,以进一步提高数据请求中各语句片段的整合效果。
可选的,在将当前语句片段至待整合语句片段整合为一个语句片段之后,可以采用整合得到的语句片段替换数据请求中当前语句片段至待整合语句片段的各语句片段,例如,可以采用整合得到的语句片段G替换数据请求中原有的语句片段A至语句片段D,本次整合后数据请求中各语句片段的排列顺序为G-E-F。
在此,需要说明的是,本实施例在判断当前语句片段是否包含第一标点符号时,可以在查找到一个第一标点符号后即执行S103;也可以在查找到当前语句片段中的所有第一标点符号后再执行S103,此时,优选的,可以将当前语句片段至排列顺序中距离当前语句片段最远的待整合语句片段之间的各语句片段整合为一个语句片段。
S105、判断所述当前语句片段是否存在下一语句片段,若是,则执行S106;若否,则结束操作,其中,所述下一语句片段位于所述当前语句片段之后且与所述当前语句片段相邻。
本实施例中,可以按照各语句片段在数据请求中的排列顺序判断当前语句片段是否具有对应的下一语句片段;也可以直接判断当前语句片段是否位于数据请求的末尾处,以确定当前语句片段是否具有对应的下一语句片段,此处不作限制。
S106、将所述下一语句片段确定为当前语句片段,返回S102。
在此,需要说明的是,虽然本实施例按照各语句片段在数据请求中的从前向后的排列顺序为例进行说明,但是,本领域技术人员可以理解的是,本发明实施例同样可以按照各语句片段在数据请求中的从后向前的排列顺序对数据请求中的各语句片段进行整合,此时,示例性的,可以按照从后向前的顺序依次确定当前语句片段,如果当前语句片段中包含只存在后半部分的第二标点符号,则按照从后向前的顺序依次查找位于当前语句片段之前的语句片段,直至查找到只存在前半部分且与该第二标点符号相匹配的第一标点符号,将当前语句片段至第一标点符号所属的待整合语句片段的各语句片段整合为一个语句片段。
本发明实施例一提供的语句片段的整合方法,在监测到数据获取端向数据库发送数据请求时,获取该数据请求并判断该数据请求的当前语句片段是否包含只存在前半部分的第一标点符号;若是,则依次解析位于当前语句片段之后的语句片段,直至查找到与该第一标点符号匹配且只存在后半部分第二标点符号,将当前语句片段至第二标点符号所属语句片段整合为一个语句片段,将整合得到的语句片段确定为当前语句片段,并返回执行判断当前语句片段中是否包含只存在前半部分的第一标点符号的操作;若否,则将当前语句片段之后且与当前语句片段相邻的下一语句片段确定为当前语句片段,并返回执行判断当前语句片段中是否包含只存在前半部分的第一标点符号的操作,直至数据请求中的各语句片段均只包含完整的标点符号为止。本实施例通过采用上述技术方案,对数据请求中包含的语句片段进行整合,可以提高审计系统对用户发送的数据请求进行解析时的准确度,提高所生成审计结果的准确性,减少数据库中数据被非法获取的概率,提高数据库的安全性。
实施例二
图2为本发明实施例二提供的一种语句片段的整合方法的流程示意图。本实施例在上述实施例的基础上进行优化,进一步地,所述数据请求还包括所述数据获取端的获取端信息,相应的,所述方法还包括:基于所述数据请求中整合后的各语句片段对所述数据请求进行语句解析,以得到所述数据请求中包含的操作指令,并查找所述操作指令所属的操作权限等级;根据所述获取端信息确定所述数据获取端在所述数据库中具有的权限等级范围;如果所述操作权限等级在所述权限等级范围之外,则将所述数据获取端确定为非法获取端,生成报警信息并将所述报警信息发送给所述数据库的审计人员。
进一步地,本实施例提供的语句片段的整合方法还可以包括:获取并解析数据获取端登录数据库时向数据库发送的登录请求,所述登录请求包括数据库信息、发送时间和获取端信息;如果所述获取端信息中包括加密信息,则根据所述数据库信息查找本地存储的管理账号,并采用所述管理账号登录对应数据库后,调用所述发送时间对应的登录请求记录;根据所述获取端信息中的非加密信息查找所述登录请求记录中所述加密信息解密后对应的信息内容,以确定所述获取端信息。
进一步地,在确定所述获取端信息之后,还可以包括:如果本地存储的所述数据库对应的合法获取端列表中未包含所述获取端信息,则将所述数据获取端确定为非法获取端,生成报警信息并将所述报警信息发送给所述数据库的审计人员。
进一步地,本实施例提供的数据片段的整合方法还可以包括:获取数据库基于所述数据请求返回的数据报文;如果所述数据报文中包含防护等级高于预设防护等级阈值的隐私项,则按照设定加密算法对所述隐私项对应的隐私信息进行加密,得到加密后的数据报文;基于所述加密后的数据报文、所述数据请求、所述操作指令以及所述数据获取端是否为非法获取端的判定结果生成审计结果,并对所述审计结果进行存储。
相应的,如图2所示,本实施例提供的语句片段的整合方法包括:
S201、获取并解析数据获取端登录数据库时向数据库发送的登录请求,所述登录请求包括数据库信息、发送时间和获取端信息。
其中,登陆请求可以理解为数据获取端登录数据库时向数据库发送的请求。本实施例中,在获取数据获取端发送的登录请求时,可以从数据库的数据传输端口或数据库配置的交换机获取,此处不作限制。考虑到从数据库的数据传输端口获取数据获取端发送的登录请求时可能会对数据库自身的响应速度造成影响,优选的,在获取并解析数据获取端登录数据库时向数据库发送的登录请求时,如果所述数据库配置有交换机且所述交换机配置有与审计系统进行通信的数据端口,则可以从所述交换机中获取数据获取端登录数据库时向数据库发送的登录请求并对所述登录请求进行解析,所述交换机包括虚拟交换机和物理交换机;如果所述数据库未配置交换机或者所述数据库配置的交换不存在与审计系统进行通信的数据端口,则可以从所述数据传输端口获取数据获取端登录数据库时向数据库发送的登录请求并对所述登录请求进行解析。此时,示例性的,可以通过预先设置在数据库内的监测获取程序从数据库的数据传输端口获取数据获取端发送的登录请求,或者,通过端口镜像或TAP分流的方式获取与数据库配置的交换机接收到的数据或交换机向数据库转发的数据,从而可以通过解析接收到的数据获取数据获取端发送的登录请求。
本实施例中,在获取到数据获取端发送的登录请求后,可以对该登录请求进行解析,以得到数据获取端登录的数据库信息、登录请求的发送时间以及数据获取端的获取端信息。示例性的,在解析数据获取端发送的登录请求时,可以同时或依次采用各通信协议对数据获取端发送的登录请求进行解析,或者,根据数据获取端发送的登录请求的结构和/或编程语言确定该登录请求对应的通信协议并采用该通信协议对该登录请求进行解析,从而得到数据获取端登录的数据库信息、登录请求的发送时间以及数据获取端的获取端信息;也可以获取数据获取端的访问工具信息,根据该访问工具信息确定数据获取端发送的登录请求所属的通信协议,并在该通信协议下对数据获取端发送的登录请求进行解析,得到数据获取端登录的数据库信息、登录请求的发送时间以及数据获取端的获取端信息,此处不作限制。
S202、如果所述获取端信息中包括加密信息,则根据所述数据库信息查找本地存储的管理账号,并采用所述管理账号登录对应数据库后,调用所述发送时间对应的登录请求记录。
其中,获取端信息可以包括:所述数据获取端的应用层账号、数据库账号、操作系统用户名、客户端主机名、客户端IP地址和客户端MAC地址中的一个或多个。考虑到后续确定用户操作权限等级时的准确性,优选的,获取端信息包括所述数据获取端的应用层账号、数据库账号、操作系统用户名、客户端主机名、客户端IP地址和客户端MAC地址,从而可以通过对应用层账号、数据库账号、操作系统用户名、客户端主机名、客户端IP地址和客户端MAC地址进行关联分析,如根据客户端IP地址关联出某段时间内该IP地址所触发的报警数量等、根据一段时间内数据库或应用系统登录失败次数判断出暴力破解密码的可能性、根据账号(应用层账号和/或数据库账号)的多次登录判断账号信息泄密或共享账号的可能性等,实现对业务层、应用层和数据库等各个层面的操作进行跟踪等位,实现对敏感信息(即非法获取端发送的信息)的精细监控,从而防止非法用户通过更改操作系统名、客户端IP地址和/或客户端MAC地址等方式逃避追踪的情况的出现,准确追踪到具体的人。以下以获取端信息包括上述六项为例进行说明。
目前,随着用户信息泄露事件的频繁发生,数据库所采用通信协议有时会规定数据获取端需要对其发送的登录请求中携带的获取端信息中的重要信息(如数据获取端的数据库账号等)进行加密以提高登录请求中所携带的获取端信息的安全性。相应的,数据获取端向数据库发送的登录请求(即审计系统获取到的登录请求)中的获取端信息有时会存在包含加密的获取信息的情况,此时,通过该登录请求无法直接获取到完整的获取端信息。因此,可选的,在获取到数据获取端向数据库发送的登录请求之后,可以首先判断该登录请求的获取端信息中是否包含加密信息,若包含,则可以通过预先存储在本地的该登录请求对应数据库的管理账号登录该数据库,从数据库中调取数据获取端的完整获取端信息;若不包含,则可以直接执行S204或判断其获取端信息是否包含在本地存储的数据库对应的合法获取端列表中,以确定该数据获取端是否为合法获取端。此时,相应的,可以预先(如在为数据库配置审计系统时)在审计系统中存储该数据库的管理账号。
本实施例中,可以对登录请求进行解析以确定其获取端信息中是否包括加密信息;也可以根据登录请求所对应数据库的数据库信息确定其通信协议中是否具有要求数据获取端对其登录请求的获取端信息中的重要信息进行加密的规定,从而确定数据获取端向数据库发送的登录请求中是否包含加密的获取端信息,示例性的,可以根据数据库的版本信息确定获取端信息中是否包括加密信息,例如,若数据库的版本信息为SQL2008或以上版本,则可以判定其获取端信息中包含加密信息,否则,则判定其获取端信息中未包含加密信息。
针对获取端信息中包含加密信息的情况,示例性的,如果审计系统与数据库一对一或多对一配置(即本地只存储有一个数据库管理账号),则可以直接采用本地存储的该数据库的管理账号登录数据库;如果审计系统与数据库一对多配置(即本地存储有多个数据库管理账号),则可以根据登录请求所对应数据库的数据库信息确定该数据库对应的管理账号并采用该管理账号登录该数据库,或者,依次采用本地存储的数据库管理账号登录该数据库,直至数据库登录成功为止。
示例性的,在登录数据库之后,可以首先获取数据库记录其接收到的登录请求的工作日志,根据该登录请求的发送时间从该工作日志中获取所有发送时间为该发送时间的登录请求的请求信息,从而确定该发送时间对应的登录请求记录。
S203、根据所述获取端信息中的非加密信息查找所述登录请求记录中所述加密信息解密后对应的信息内容,以确定所述获取端信息。
为了保证自身能够接收到该登录请求的反馈信息,数据获取端一般仅会基于数据库所属通信协议的规定对其获取端信息中的重要信息进行加密,并将获取端信息中的非重要信息或接收反馈信息时的必备信息(如数据获取端的客户端IP地址等)以非加密的形式添加至登录请求中,因此,本实施例中,可以基于数据获取端信息中的非加密信息在登录请求记录中查找获取数据获取端信息中加密信息解密后对应的信息内容,从而确定数据获取端的完整获取端信息。
在此,需要说明的是,在登录数据库后,也可以首先根据获取端信息中的非加密信息调取该数据获取端在该数据库中的登录请求记录,然后再根据本地获取到的登录请求的发送时间(或接收时间等)确定本次登录请求对应的登录请求记录,并进一步从本次登录请求对应的登录请求记录中查找获取端信息中加密信息解密后的信息内容,从而确定发送本次登录请求时数据获取端的获取端信息。
S204、在监测到数据获取端向数据库发送数据请求时,获取所述数据请求,所述数据请求包括组成所述数据请求的各语句片段和数据获取端的获取端信息。
S205、判断所述数据请求的当前语句片段中是否包含只存在前半部分的第一标点符号,若是,则执行S206;若否,则执行S207或S208。
本实施例中,在获取到数据获取端向数据库发送的数据请求后,可以首先对该数据请求进行解析,以确定该数据请求中是否包含多个语句片段,若是,则可以执行后续S206和S207,以对数据请求中包含的语句片段进行整合;若否,则可以直接执行后续基于所述数据请求中整合后的各语句片段对所述数据请求进行语句解析的步骤,以得到数据请求中包含的操作指令。其中,数据获取端发送的数据请求中是否包含多个语句片段可以通过解析数据请求的构成确定;也可以通过判断数据请求的大小确定,当数据请求的长度超过设定阈值时即判定该数据请求包含多个语句片段。数据请求长度的设定阈值可以根据需要设置,如可以设置为1.5kB等。
S206、依次解析位于所述当前语句片段之后的语句片段,直至查找到只存在后半部分且与所述第一标点符号匹配的第二标点符号;将当前语句片段至所述第二标点符号所属的待整合语句片段的各语句片段整合为一个语句片段,将整合得到的语句片段确定为当前语句片段,返回S205。
S207、如果所述当前语句之后存在与所述当前语句片段相邻的下一语句片段,则将所述下一语句片段确定为当前语句片段,返回S205。
S208、如果所述当前语句之后不存在与所述当前语句片段相邻的下一语句片段,则基于所述数据请求中整合后的各语句片段对所述数据请求进行语句解析,以得到所述数据请求中包含的操作指令,并查找所述操作指令所属的操作权限等级。
本实施例中,可以按照数据请求对应的通信协议解析数据请求整合后的语句片段,得到数据请求中包含的全部操作指令,并分别查找每个操作指令所属的操作权限等级。在此,数据请求中可以包含一个或多个操作指令,此处不作限制。
S209、根据所述获取端信息确定所述数据获取端在所述数据库中具有的权限等级范围。
其中,获取端信息对应的操作权限等级范围可以基于获取端信息中的一项或多项对应的操作权限等级范围进行确定,如可以将获取端信息中某一项(如数据获取端登录数据库时的数据库账号)对应的操作权限等级范围确定为数据获取端在数据库中具有的权限等级范围;也可以确定获取端信息中的多项分别对应的操作权限等级范围,并将最大操作权限等级最低的操作权限等级范围确定为数据获取端在数据库中具有的权限等级范围,等等。其中,获取端信息中某一项或获取端信息中的各项对应的操作权限等级范围可以根据需要进行设置。
S210、如果所述操作权限等级在所述权限等级范围之外和/或本地存储的所述数据库对应的合法获取端列表中未包含所述获取端信息,则将所述数据获取端确定为非法获取端,生成报警信息并将所述报警信息发送给所述数据库的审计人员。
相应的,如果所述操作权限等级在所述权限等级范围之内且本地存储的所述数据库对应的合法获取端列表中包含所述获取端信息,在可以将所述数据获取端确定为合法获取端,并执行S211或结束操作。
本实施例中,如果数据获取端的操作权限等级在其操作指令对应的操作权限等级范围之外和/或本地存储的合法获取端列表中未包含数据获取端的获取端信息,则可以判定数据获取端正在行使的操作超过了其合法的操作权限等级范围和/或数据获取端使用了非法的访问工具或账号,因此可以判定其为非法获取端并进行报警,以确保数据库中所存储数据的安全。其中,合法获取端列表(即白名单)可以由数据库管理者根据需要进行设置或者由审计系统管理者基于数据库的规定进行设置。在此,需要说明的是,本实施例同样可以设置非法获取端列表(即黑名单)并通过该非法获取端列表和/或数据获取端的操作权限等级范围确定数据获取端的合法性,此时,相应的,如果数据请求中操作指令的操作权限等级在所述权限等级范文之外和/或本地存储的数据库对应的非法获取端列表中包含该获取端信息,则可以将该数据获取端确定为非法获取端。
本实施例中,数据请求中可以包含一个或多个操作指令,针对数据请求包含多个操作指令的情况,在确定数据获取端的合法性时,可以分别判断该多个操作指令的操作权限是否均在数据获取端在数据库中具有的权限等级范围之内,若是,则可以将该数据获取端确定为合法获取端,若否,则可以将该数据获取端判断为非法获取端;也可以仅判断数据请求中具有最高权限等级的操作指令所属的最高权限等级是否在数据获取端在数据库中具有的权限等级范围之内,若是,则可以将其判定为合法获取端,若否,则可以将其判定为非法获取端。其中,各操作指令所属的权限等级可以根据需要设置。
可选的,在确定数据获取端为非法获取端之后,还可以向数据库或数据库配置的堡垒机(或交换机)发送阻断指令,从而通过数据库或数据库配置的堡垒机(或交换机)阻断该数据获取端对数据库的访问。
在此,需要说明的是,本实施例中还可以通过设置关键字的方式确定数据获取端的合法性。举例而言,可以预先设置数据库的非法操作关键字,相应的,如果数据请求的操作指令中包含一个或多个所设置的非法操作关键字,则可以判定该数据获取端为非法获取端并进行报警,如果数据请求中的操作指令中未包含所设置的非法操作关键字,则可以将数据获取端确定为合法获取端,并执行S211或结束操作;也可以预先设置数据库各操作等级对应的合法操作关键字,并将数据请求的操作指令中包含的合法操作关键字对应的操作等级确定为该操作指令所属的操作等级,并进一步结合获取端信息对应的操作权限等级范围确定数据获取端是否为非法获取端。此外,本技术方案还可以通过关注字段值提取的方式对数据获取端发送的数据请求和数据库返回的数据报文进行审计,如对于数据请求中涉及的时间范围、查询条件等情况,由于其在金融、高值耗材等信息中,可以通过查询条件查询出财产、费用、联系人等敏感信息,因此,通过提取关键字段的值,并通过该值设置规则,可以更精确的对数据库访问操作进行精确审计。
本技术方案除可以对数据库访问进行审计之外,还可以支持远程终端协议(Telnet)和/或文件传输协议(File Transfer Protocol,FTP)等各种字符型协议对数据库的访问,并可以对其设置报警条件,如可以设置为监测到移动数据库备份文件或下载数据库备份文件时生成报警信息并进行报警。数据库备份意义重大,如果数据库备份文件被盗取或数据库备份文件被下载到脱离控制的某地,大量数据就可以离开内部网络独立建立数据库服务器进行脱机查询,如果不针对移动或下载数据库备份文件的操作进行严格控制及设置报警,则可能导致数据库内的数据出现严重的泄露,因此,本技术方案在数据库文件被移动或下载时进行告警,可以进一步提高数据库内数据的安全性。
此外,本技术方案还可以对通信过程中不同数据库的不同变量进行审计。在不同数据库中,很多值的传递都是通过变量进行的,如在Oracle数据库中有绑定变量,在其他数据库中也有变量的存在,因此,本技术方案通过对数据库中的变量进行审计,可以提高通信过程中SQL语句危险性判断的准确性,保障数据库内数据的安全。
S211、获取数据库基于所述数据请求返回的数据报文。
本实施例中,数据库返回的数据报文可以基于数据获取端的获取端信息中的一项或多项从数据库的数据传输端口获取或者从数据库配置的交换机获取。考虑到从数据库的数据传输端口获取数据库返回的数据报文可能会对数据库自身的响应速度造成影响,优选的,若数据库配置有交换机且该交换机设置有与审计系统进行通信的数据传输端口,则可以通过端口镜像或TAP分流的方式从该交换机中获取数据库返回的数据报文;若数据库未配置交换机或交换机未设置与审计系统进行通信的数据传输端口,则可以从数据库的数据传输端口获取数据库返回的数据报文。
S212、如果所述数据报文中包含防护等级高于预设防护等级阈值的隐私项,则按照设定加密算法对所述隐私项对应的隐私信息进行加密,得到加密后的数据报文。
相应的,如果所述数据报文中未包含防护等级高于预设防护等级阈值的隐私项,则可以基于所述数据报文、所述数据请求、所述操作指令以及所述数据获取端是否为非法获取端的判定结果生成审计结果,并对所述审计结果进行存储。
为了防止审计人员在查看审计结果时造成数据获取端所获取数据报文的二次泄密并降低审计人员泄露隐私信息的可疑性,优选的,在获取到数据报文后,可以首先对数据报文中防护等级较高(即需要加密)的隐私项在数据报文中对应的隐私信息进行加密,如可以对用户的支付信息或钱款信息等进行加密,以确保数据报文中用户隐私信息的安全性。其中,防护等级阈值和数据报文中各项的防护等级可以根据需要进行设置,如可以将用户的支付信息和钱款信息设置为较高的防护等级;对数据报文中隐私项对应的隐私信息进行加密时所采用加密算法可以预先设置或基于数据库的规定进行设置,但是,需要指出的是,无论是采用何种加密算法,该加密算法优选可以设置为对审计人员不可见的状态,即审计人员无法对加密后的隐私内容进行解密,从而进一步提高数据报文中隐私信息的安全性。
S213、基于所述加密后的数据报文、所述数据请求、所述操作指令以及所述数据获取端是否为非法获取端的判定结果生成审计结果,并对所述审计结果进行存储。
本实施例中,在确定数据获取端是否为非法获取端之后,即在生成数据获取端是否为非法获取端的判定结果之后,可以生成包含该判定结果、加密后的数据报文、数据请求和操作指令中的一项或多项的审计结果,例如,可以生成包含该判定结果、数据请求和操作指令的审计结果或生成包含该判定结果、加密前的数据报文、数据请求和操作指令的审计结果等,并将该审计结果存储在本地设定的存储位置,或者,按照设定方式对该审计结果进行存储并将记录其在本地存储位置,以便于审计人员对该审计结果进行查看。在此,将审计结果存储于审计系统本地的存储空间中,可以避免数据库特权用户或恶意入侵数据库的用户对审计结果进行删除或修改操作,从而确保审计结果的公正性。在生成审计结果之后,还可以将审计结果通过邮件和/或短信等方式发送给审计人员。相应的,审计人员在通过调查取证确认数据获取端的合法性/非合法性后,可以通过审计系统给出相应的处置意见(如将数据获取端加入白名单/黑名单、在设定时间段内或永久阻止该数据获取端对数据库的访问),以确定事件的结束。此后,审计管理人员还可以通过追溯报警信息的处理信息确定审计人员是否存在包庇和/或不作为等行为。
本实施例中,由于应用系统和客户端工具根据不同的数据库类型可以通过ODBC、JDBC、直接连接(如WinSQL,PlSQL及用C/S架构的客户端工具等)等不同的方式访问数据库,因此,在对数据库进行审计时,也可以进一步结合数据获取端的访问工具信息和数据库的使用场景,在当前使用场景下为不同访问工具设置不同的监控策略,以提高数据库的审计效率。以数据请求对应的数据库为应用于医疗行业的Caché数据库为例,如果用户采用第三方客户端WinSQL或数据库自身集成的客户端SQLManager登录数据库,则可以使用传统的SQL语句对整合后的数据请求进行监控;如果用户采用MedTrak软件或C/S软件访问数据库,由于MedTrak软件和C/S软件是医护人员都能够使用的软件,因此,可以对采用该访问工具登录数据库的数据获取端进行重点监控,如可以采用数据库对该数据请求返回的数据报文对数据请求中的获取端信息进行修正,以得到准确的获取端信息;如果用户采用Caché数据库集成工具Portal查询数据库中的SQL语句和/或全局匹配(Global)变量,由于技术人员通过Portal工具极容易对医生用药信息量和用药单据等进行统计,即极容易进行统方操作,因此,可以对数据请求中的操作指令和数据库基于该数据请求返回的数据报文均进行审计,以判断数据获取端的操作是否为统方操作;如果用户采用Caché数据库集成客户端Terminal访问数据库,可以对Terminal客户端使用do操作返回的结果内容(即数据库基于该数据请求返回的数据报文)进行重点监控;如果用户采用Caché数据库集成的开发工具Studio访问数据库,由于通过该开发工具可以直接对Caché数据库中的代码进行编辑,因此,可以重点监控用户编写的代码内容,即对数据请求中的操作指令进行重点监控。此外,如果发现用户采用未知的访问工具访问数据库,示例性的,可以根据该访问工具的监控记录分析出使用该访问工具的客户端IP地址及关联的操作记录,进而取证使用该访问工具的源头及操作的合法性。
本实施例中,审计结果可以记录在本地的审计日志中。可选的,在生成审计结果之后可以根据审计日志,通过事件、通信端口、执行语句的先后等因素构建出事件的关联性及现场,通过模拟回放模拟出整个事件的行动轨迹,通过大屏幕显示给审计人员,从而使审计人员可以通过回放直观地追溯事件的前后关联性及风险蕴含较深的操作行为。其中,审计日志可以按照设定周期或其他输出策略以报表的形式进行输出。本实施例中,审计系统可以根据信息安全等级保护要求输出不同类型的审计报表,如可以根据等级保护三级要求,输出符合等级保护相关项目满足度的报表;在此前提下,还可以定制符合审计人员需要的策略规则输出报表,使审计人员能够迅速地得到自身需要审计的内容。在审计过程中,审计系统还可以通过硬件级安全冗余(如冗余电源、双机冗余备份等)、系统防攻击策略和告警措施等确保设备本身的高可用性。
在此,需要说明的是,上述各步骤的执行顺序仅为本发明的一个可选实施例,除上述执行顺序外,上述各步骤还可以按照其他顺序执行,例如,在实施例中,数据获取端登录数据库时向数据库发送的登录请求可以在数据获取端向数据库请求登录时即获取,也可以在监测到数据获取端向数据库发送数据请求之后再获取,即,S201~S203可以在S204之前执行,也可以在S204中或在S204之后执行;在获取到数据报文后,可以不执行S212和S213,直接基于该数据报文、数据请求、操作指令以及数据获取端是否为非法获取端的判定结果生成审计结果;在确定数据获取端的获取端信息之后,可以首先判断本地存储的合法获取端列表中是否包含该获取端信息,若是,则执行S204~S213以生成审计结果,若否,则生成报警信息和审计结果,并将该报警信息发送给审计人员;或者,在确定数据获取端的获取端信息之后,可以判断本地存储的合法获取端列表中是否包含该获取端信息,生成审计结果,并执行S204~S210对所生成的审计结果进行修正。但是,本领域技术人员可以理解的是,无论何种执行顺序,其均应包含在本申请的保护范围之内。
本发明实施例二提供的语句片段的整合方法,在获取端信息中包括加密信息时,采用数据库的管理账号登录数据库并从数据库中查找完整的获取端信息,以确定数据获取端的操作权限等级范围;对数据获取端发送数据请求中的各数据片段进行整合,并基于整合后的数据片段得到数据请求中包含的操作指令,并查找该操作指令所属的权限等级;如果该权限等级在数据获取端的权限等级范围之外,则生成数据获取端为非法获取端的判定结果,生成报警信息并将该报警信息发送给审计人员;对数据库基于该数据请求返回的数据报文中的隐私内容进行加密,根据加密后的数据报文、数据请求、操作指令和该判定结果生成审计结果,并对所生成的审计结果进行存储。本实施例通过采用上述技术方案,不但可以提高审计系统对用户发送的数据请求进行解析时的准确度;还可以提高对数据获取端定位时的准确性,防止数据报文中用户隐私信息在审计过程中出现二次泄露的情况,从而提高所生成审计结果的准确性,减少数据库中数据被非法获取的概率,提高数据库内数据的安全性。
在上述实施例的基础上,在所述获取所述数据请求之后,还可以包括:获取所述数据库采用结构化查询语言SQL查询得到的所述数据请求的返回值,并基于所述返回值对所述审计结果进行修正。本实施例中,在生成审计结果之后,还可以采用数据库基于该数据请求查询得到的返回值对所生成的审计结果进行修正。例如,可以根据数据请求与返回值的对应关系进一步对数据获取端进行定位(即重新确定数据获取端的获取端信息),并采用重新定位后的获取端信息再次判定数据获取端是否为非法获取端,并采用本次的判定结果对审计结果中的原始判定结果进行修正。可选的,在对数据获取端重新定位之后,可以首先判断重新定位后的获取端信息与审计结果中原始的获取端信息是否相同,若是,则可以结束修正的操作;若否,则可以采用重新定位后的获取端信息再次判定数据获取端是否为非法获取端,并采用本次的判定结果对审计结果中的原始判定结果进行修正,从而减少修正过程所需的计算量。其中,数据请求的返回值可以理解为该数据请求所请求的数据,该返回值可以从数据库向数据获取端返回的数据报文中获取。
可选的,在上述技术方案中,还可以包括:在审计人员查看所述审计结果时,查找所述审计结果中与所述审计人员设置的待翻译项对应的待翻译内容;基于本地的翻译词库对所述待翻译内容进行翻译,生成翻译结果;采用所述翻译结果替换所述审计结果中的所述待翻译内容,并将替换后的审计结果展示给所述审计人员。本实施例中,为了进一步提高审计结果的公正性,可以将审计系统设置为分权管理模式,即将审计系统进行权限角色分离设置,如由系统管理人员负责设备的运行设置、由审计人员负责查看相关审计结果及规则违反情况、由规则配置人员负责数据库审计安全规则的配置等。此种情况下,审计部门与审计系统的运维部门是相互分离的,如在医疗行业中,数据审计与审计系统运维由医院纪委监察室和信息科分别掌握,因数据库SQL语言和其他数据库语言(如M语言)的抽象性,非专业技术人员(如审计人员)在查看审计结果时有时会出现难以看懂审计结果中各语句的真实信息以及其蕴含的风险的情况,因此,本实施例可以在审计系统中预先设置待翻译项,并在审计人员查看审计结果时,对审计结果中待翻译项对应的待翻译内容进行翻译,以简化审计结果的理解难度,使审计人员能够及时的采取合理的防护措施对数据库进行防护,进一步提高审计数据库的安全性。以审计系统应用于医疗行业为例,在翻译过程中,可以首先根据数据库SQL语言或Caché数据库M语言等的语法语境对审计结果进行逻辑性分析,确定待翻译项对应的待翻译内容;然后基于本地存储的各医院信息系统(HospitalInformation System,HIS)厂家的数据库表结构信息确定待翻译内容的翻译结果。其中,待翻译项可以由审计人员根据需要进行设置。
考虑到现有的审计系统管理模式无法实现对数据库审计设备或防统方系统的集中管理、维护、监控和预警,导致审计中心难以得到有效的汇总报告且在设备出现故障时无法及时准确定位等情况的存在,优选的,本技术方案中的审计系统可以设置为集中管理平台部署模式,即由审计中心统一对审计系统的各过程和各审计节点进行管理。示例性的,审计中心可以通过集中管理平台实时地监控各审计节点的系统运行和在线情况;审计中心可以实时监控各审计节点的风险报警情况,如通过集中管理平台下发送报警策略给各审计节点,一旦有风险操作发生,集中管理平台可以同时收到报警信息,了解实情,此时,各审计节点可设置为审计人员只能查看但不允许修改上级审计节点和/或审计中心下发的报警策略,从而避免出现下级不报、瞒报报警信息的风险;审计中心可以对各审计节点的规则应用情况进行实时监控,如查看各审计节点设置的数据库审计规则的应用情况,监控各审计节点的数据库审计规则设置是否符合规定、是否排除了对审计人员本身的审计,指导下级审计节点的风险规则设置等;审计中心可以监控各审计点对风险的处理情况,如查看各审计节点已处理和未处理的告警,根据风险发生时间、风险处理时间判断审计人员对风险处理的及时介入情况,尽早的介入对非法统方风险事故的处理,将风险导致的损失降到最低;审计中心可以监控各审计点的白名单设置,如可以通过集中管理平台对各分支节点白名单的监控,避免审计人员通过白名单功能规避数据库审计系统的审计而进行风险操作;审计中心可以对各审计节点的状态进行管理,如可以监控各审计节点的设备运行状态(如CPU、内存的使用情况、运行时间等),一旦设备不受控即可进行报警,监控各审计节点审计程序的运行情况,如审计端口有无数据,是否停止审计等,添加、修改节点的数据库审计系统信息等;审计中心可以对审计报表进行集中管理,如可以通过获取各审计节点的关键信息(如关键字、客户端IP地址、客户端MAC地址等)汇总生成各种报表,等等。本技术方案采用集中管理平台部署模式,可以解决现有技术中私自隐瞒、处理统方风险日志,不上报;缺少指导,风险规则设置不规范,风险数太多,疲于处理风险;风险不及时处理或很少上线查看防统方系统审计情况;通过设置白名单、规则等,规避数据库审计或防统方系统对自身的审计;数据库审计或防统方系统处于闲置状态,为应付上级检查才上线等问题,提高审计效率及审计结果的可信度。
实施例三
本发明实施例三提供一种语句片段的整合装置。该装置可以由软件和/或硬件实现,一般可集成在数据库配置的审计系统中,可通过执行语句片段的整合方法对数据请求中的语句片段进行整合。图3为本发明实施例三提供的语句片段的整合装置的结构框图,如图3所示,该装置包括:
解析模块301,用于在监测到数据获取端向数据库发送数据请求时,获取所述数据请求,所述数据请求包括组成所述数据请求的各语句片段,判断所述数据请求的当前语句片段中是否包含只存在前半部分的第一标点符号;
整合模块302,用于在所述数据请求的当前语句片段中包含只存在前半部分的第一标点符号时,依次解析位于所述当前语句片段之后的语句片段,直至查找到只存在后半部分且与所述第一标点符号匹配的第二标点符号;将当前语句片段至所述第二标点符号所属的待整合语句片段的各语句片段整合为一个语句片段,将整合得到的语句片段确定为当前语句片段,并返回执行所述判断所述当前语句片段中是否包含只存在前半部分的第一标点符号的操作;
语句片段确定模块303,用于在所述数据请求的当前语句片段中不包含只存在前半部分的第一标点符号时,将位于所述当前语句片段之后且与所述当前语句片段相邻的下一语句片段确定为当前语句片段,并返回执行所述判断所述当前语句片段中是否包含只存在前半部分的第一标点符号的操作,直至组成所述数据请求的各语句片段均只包含完整的标点符号为止。
本发明实施例三提供的语句片段的整合装置,通过解析模块在监测到数据获取端向数据库发送数据请求时,获取该数据请求并判断该数据请求的当前语句片段是否包含只存在前半部分的第一标点符号;若是,则通过整合模块依次解析位于当前语句片段之后的语句片段,直至查找到与该第一标点符号匹配且只存在后半部分第二标点符号,将当前语句片段至第二标点符号所属语句片段整合为一个语句片段,将整合得到的语句片段确定为当前语句片段,并返回执行判断当前语句片段中是否包含只存在前半部分的第一标点符号的操作;若否,则通过语句片段确定模块将当前语句片段之后且与当前语句片段相邻的下一语句片段确定为当前语句片段,并返回执行判断当前语句片段中是否包含只存在前半部分的第一标点符号的操作,直至数据请求中的各语句片段均只包含完整的标点符号为止。本实施例通过采用上述技术方案,对数据请求中包含的语句片段进行整合,可以提高审计系统对用户发送的数据请求进行解析时的准确度,提高所生成审计结果的准确性,减少数据库中数据被非法获取的概率,提高数据库的安全性。
在上述技术方案中,所述数据请求还可以包括所述数据获取端的获取端信息,相应的,所述装置还可以包括:指令获取模块,用于基于所述数据请求中整合后的各语句片段对所述数据请求进行语句解析,以得到所述数据请求中包含的操作指令,并查找所述操作指令所属的操作权限等级;范围确定模块,用于根据所述获取端信息确定所述数据获取端在所述数据库中具有的权限等级范围;第一报警模块,用于响应于所述操作权限等级在所述权限等级范围之外的事件,将所述数据获取端确定为非法获取端,生成报警信息并将所述报警信息发送给所述数据库的审计人员。
进一步地,本实施例提供的语句片段的整合装置还可以包括:获取端信息确定模块,用于获取并解析数据获取端登录数据库时向数据库发送的登录请求,所述登录请求包括数据库信息、发送时间和获取端信息;响应于所述获取端信息中包括加密信息的事件,根据所述数据库信息查找本地存储的管理账号,并采用所述管理账号登录对应数据库后,调用所述发送时间对应的登录请求记录;根据所述获取端信息中的未加密信息非加密信息查找所述登录请求记录中所述加密信息解密后对应的信息内容,以确定所述获取端信息。
在上述方案中,所述登录请求获取模块具体可以用于:如果所述数据库配置有交换机且所述交换机配置有与审计系统进行通信的数据端口,则从所述交换机中获取数据获取端登录数据库时向数据库发送的登录请求并对所述登录请求进行解析,所述交换机包括虚拟交换机和物理交换机;如果所述数据库未配置交换机或者所述数据库配置的交换不存在与审计系统进行通信的数据端口,则从所述数据传输端口获取数据获取端登录数据库时向数据库发送的登录请求并对所述登录请求进行解析。
进一步地,本实施例提供的语句片段的整合装置还可以包括:第二报请模块,用于在确定所述获取端信息之后,如果本地存储的所述数据库对应的合法获取端列表中未包含所述获取端信息,则将所述数据获取端确定为非法获取端,生成报警信息并将所述报警信息发送给所述数据库的审计人员。
进一步地,本实施例提供的语句片段的整合装置还可以包括:加密模块,用于获取数据库基于所述数据请求返回的数据报文;如果所述数据报文中包含防护等级高于预设防护等级阈值的隐私项,则按照设定加密算法对所述隐私项对应的隐私信息进行加密,得到加密后的数据报文;基于所述加密后的数据报文、所述数据请求、所述操作指令以及所述数据获取端是否为非法获取端的判定结果生成审计结果,并对所述审计结果进行存储。
在上述方案中,所述获取端信息可以包括所述数据获取端的应用层账号、数据库账号、操作系统用户名、客户端主机名、客户端IP地址和客户端MAC地址。
进一步地,本实施例提供的语句片段的整合装置还可以包括:修正模块,用于在所述获取所述数据请求之后,获取所述数据库采用结构化查询语言SQL查询得到的所述数据请求的返回值,并基于所述返回值对所述审计结果进行修正。
在上述方案中,所述数据请求还可以包括所述数据获取端发送所述数据请求时的访问工具信息;所获取所述数据请求可以包括:根据所述访问工具信息确定所述数据获取端向所述数据库发送的数据请求所属的通信协议,并基于所述通信协议获取所述数据请求。
进一步地,本实施例提供的语句片段的整合装置还可以包括:翻译模块,用于在审计人员查看所述审计结果时,查找所述审计结果中与所述审计人员设置的待翻译项对应的待翻译内容;基于本地的翻译词库对所述待翻译内容进行翻译,生成翻译结果;采用所述翻译结果替换所述审计结果中的所述待翻译内容,并将替换后的审计结果展示给所述审计人员。
本发明实施例三提供的语句片段的整合装置可执行本发明任意实施例提供的语句片段的整合方法,具备执行语句片段的整合方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的语句片段的整合方法。
实施例四
图4为本发明实施例四提供的一种计算机设备的结构示意图,如图4所示,该计算机设备包括处理器40和存储器41,还可以包括输入装置42和输出装置43;计算机设备中处理器40的数量可以是一个或多个,图4中以一个处理器40为例;计算机设备中的处理器40、存储器41、输入装置42和输出装置43可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的语句片段的整合方法对应的程序指令/模块(例如,语句片段的整合装置中的解析模块301、整合模块302和语句片段确定模块303)。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的语句片段的整合方法。
存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置42可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置43可包括显示屏等显示设备。
本发明实施例4还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种语句片段的整合方法,该方法包括:
在监测到数据获取端向数据库发送数据请求时,获取所述数据请求,所述数据请求包括组成所述数据请求的各语句片段,判断所述数据请求的当前语句片段中是否包含只存在前半部分的第一标点符号;
若是,则依次解析位于所述当前语句片段之后的语句片段,直至查找到只存在后半部分且与所述第一标点符号匹配的第二标点符号;将当前语句片段至所述第二标点符号所属的待整合语句片段的各语句片段整合为一个语句片段,将整合得到的语句片段确定为当前语句片段,并返回执行所述判断所述当前语句片段中是否包含只存在前半部分的第一标点符号的操作;
若否,则将位于所述当前语句片段之后且与所述当前语句片段相邻的下一语句片段确定为当前语句片段,并返回执行所述判断所述当前语句片段中是否包含只存在前半部分的第一标点符号的操作,直至组成所述数据请求的各语句片段均只包含完整的标点符号为止。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的语句片段的整合方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述语句片段的整合装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种语句片段的整合方法,其特征在于,包括:
在监测到数据获取端向数据库发送数据请求时,获取所述数据请求,所述数据请求包括组成所述数据请求的各语句片段,判断所述数据请求的当前语句片段中是否包含只存在前半部分的第一标点符号;
若是,则依次解析位于所述当前语句片段之后的语句片段,直至查找到只存在后半部分且与所述第一标点符号匹配的第二标点符号;将当前语句片段至所述第二标点符号所属的待整合语句片段的各语句片段整合为一个语句片段,将整合得到的语句片段确定为当前语句片段,并返回执行所述判断所述当前语句片段中是否包含只存在前半部分的第一标点符号的操作;
若否,则将位于所述当前语句片段之后且与所述当前语句片段相邻的下一语句片段确定为当前语句片段,并返回执行所述判断所述当前语句片段中是否包含只存在前半部分的第一标点符号的操作,直至组成所述数据请求的各语句片段均只包含完整的标点符号为止。
2.根据权利要求1所述的方法,其特征在于,所述数据请求还包括所述数据获取端的获取端信息,相应的,所述方法还包括:
基于所述数据请求中整合后的各语句片段对所述数据请求进行语句解析,以得到所述数据请求中包含的操作指令,并查找所述操作指令所属的操作权限等级;
根据所述获取端信息确定所述数据获取端在所述数据库中具有的权限等级范围;
如果所述操作权限等级在所述权限等级范围之外,则将所述数据获取端确定为非法获取端,生成报警信息并将所述报警信息发送给所述数据库的审计人员。
3.根据权利要求2所述的方法,其特征在于,还包括:
获取并解析数据获取端登录数据库时向数据库发送的登录请求,所述登录请求包括数据库信息、发送时间和获取端信息;
如果所述获取端信息中包括加密信息,则根据所述数据库信息查找本地存储的管理账号,并采用所述管理账号登录对应数据库后,调用所述发送时间对应的登录请求记录;
根据所述获取端信息中的非加密信息查找所述登录请求记录中所述加密信息解密后对应的信息内容,以确定所述获取端信息。
4.根据权利要求3所述的方法,其特征在于,所述获取并解析数据获取端登录数据库时向数据库发送的登录请求,包括:
如果所述数据库配置有交换机且所述交换机配置有与审计系统进行通信的数据端口,则从所述交换机中获取数据获取端登录数据库时向数据库发送的登录请求并对所述登录请求进行解析,所述交换机包括虚拟交换机和物理交换机;
如果所述数据库未配置交换机或者所述数据库配置的交换不存在与审计系统进行通信的数据端口,则从所述数据传输端口获取数据获取端登录数据库时向数据库发送的登录请求并对所述登录请求进行解析;
在确定所述获取端信息之后,还包括:
如果本地存储的所述数据库对应的合法获取端列表中未包含所述获取端信息,则将所述数据获取端确定为非法获取端,生成报警信息并将所述报警信息发送给所述数据库的审计人员。
5.根据权利要求2所述的方法,其特征在于,还包括:
获取数据库基于所述数据请求返回的数据报文;
如果所述数据报文中包含防护等级高于预设防护等级阈值的隐私项,则按照设定加密算法对所述隐私项对应的隐私信息进行加密,得到加密后的数据报文;
基于所述加密后的数据报文、所述数据请求、所述操作指令以及所述数据获取端是否为非法获取端的判定结果生成审计结果,并对所述审计结果进行存储。
6.根据权利要求5所述的方法,其特征在于,所述获取端信息包括所述数据获取端的应用层账号、数据库账号、操作系统用户名、客户端主机名、客户端IP地址和客户端MAC地址;
在所述获取所述数据请求之后,还包括:
获取所述数据库采用结构化查询语言SQL查询得到的所述数据请求的返回值,并基于所述返回值对所述审计结果进行修正。
7.根据权利要求1所述的方法,其特征在于,所述数据请求还包括所述数据获取端发送所述数据请求时的访问工具信息;所述获取所述数据请求,包括:
根据所述访问工具信息确定所述数据获取端向所述数据库发送的数据请求所属的通信协议,并基于所述通信协议获取所述数据请求。
8.一种语句片段的整合装置,其特征在于,包括:
解析模块,用于在监测到数据获取端向数据库发送数据请求时,获取所述数据请求,所述数据请求包括组成所述数据请求的各语句片段,判断所述数据请求的当前语句片段中是否包含只存在前半部分的第一标点符号;
整合模块,用于在所述数据请求的当前语句片段中包含只存在前半部分的第一标点符号时,依次解析位于所述当前语句片段之后的语句片段,直至查找到只存在后半部分且与所述第一标点符号匹配的第二标点符号;将当前语句片段至所述第二标点符号所属的待整合语句片段的各语句片段整合为一个语句片段,将整合得到的语句片段确定为当前语句片段,并返回执行所述判断所述当前语句片段中是否包含只存在前半部分的第一标点符号的操作;
语句片段确定模块,用于在所述数据请求的当前语句片段中不包含只存在前半部分的第一标点符号时,将位于所述当前语句片段之后且与所述当前语句片段相邻的下一语句片段确定为当前语句片段,并返回执行所述判断所述当前语句片段中是否包含只存在前半部分的第一标点符号的操作,直至组成所述数据请求的各语句片段均只包含完整的标点符号为止。
9.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的语句片段的整合方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的语句片段的整合方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810209853.4A CN108388664A (zh) | 2018-03-14 | 2018-03-14 | 语句片段的整合方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810209853.4A CN108388664A (zh) | 2018-03-14 | 2018-03-14 | 语句片段的整合方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108388664A true CN108388664A (zh) | 2018-08-10 |
Family
ID=63067414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810209853.4A Pending CN108388664A (zh) | 2018-03-14 | 2018-03-14 | 语句片段的整合方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108388664A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111585975A (zh) * | 2020-04-17 | 2020-08-25 | 上海中通吉网络技术有限公司 | 安全漏洞检测方法、设备及系统、交换机 |
CN112307493A (zh) * | 2020-10-15 | 2021-02-02 | 上海东方投资监理有限公司 | 一种项目结算资料送审方法、系统、终端设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102486801A (zh) * | 2011-09-06 | 2012-06-06 | 上海博路信息技术有限公司 | 一种语音识别方式获取出版物内容的方法 |
CN104050158A (zh) * | 2014-06-27 | 2014-09-17 | 吴涛军 | 一种保持语义完整性的引文自动提取方法和装置 |
CN105068992A (zh) * | 2015-07-29 | 2015-11-18 | 魅族科技(中国)有限公司 | 一种搜索结果显示方法及装置 |
-
2018
- 2018-03-14 CN CN201810209853.4A patent/CN108388664A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102486801A (zh) * | 2011-09-06 | 2012-06-06 | 上海博路信息技术有限公司 | 一种语音识别方式获取出版物内容的方法 |
CN104050158A (zh) * | 2014-06-27 | 2014-09-17 | 吴涛军 | 一种保持语义完整性的引文自动提取方法和装置 |
CN105068992A (zh) * | 2015-07-29 | 2015-11-18 | 魅族科技(中国)有限公司 | 一种搜索结果显示方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111585975A (zh) * | 2020-04-17 | 2020-08-25 | 上海中通吉网络技术有限公司 | 安全漏洞检测方法、设备及系统、交换机 |
CN111585975B (zh) * | 2020-04-17 | 2023-03-14 | 上海中通吉网络技术有限公司 | 安全漏洞检测方法、设备及系统、交换机 |
CN112307493A (zh) * | 2020-10-15 | 2021-02-02 | 上海东方投资监理有限公司 | 一种项目结算资料送审方法、系统、终端设备及存储介质 |
CN112307493B (zh) * | 2020-10-15 | 2024-02-09 | 上海东方投资监理有限公司 | 一种项目结算资料送审方法、系统、终端设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108416225A (zh) | 数据审计方法、装置、计算机设备和存储介质 | |
US7992188B2 (en) | Document access control system, data processing apparatus, program product and method for performing document access control | |
US8769605B2 (en) | System and method for dynamically enforcing security policies on electronic files | |
US20080082827A1 (en) | Digital data distribution detection, deterrence and disablement system and method | |
CN112270011B (zh) | 对现存应用系统的业务及数据安全防护方法、装置及系统 | |
US20070061870A1 (en) | Method and system to provide secure data connection between creation points and use points | |
US20020133606A1 (en) | Filtering apparatus, filtering method and computer product | |
CN106534199A (zh) | 大数据环境下基于xacml和saml的分布式系统认证与权限管理平台 | |
CN101610190A (zh) | 数据网络和系统 | |
US11599659B2 (en) | Documenting and annotating code activities | |
CN112837194A (zh) | 一种智慧系统 | |
CN108388664A (zh) | 语句片段的整合方法、装置、计算机设备和存储介质 | |
CN116894259A (zh) | 一种数据库的安全访问控制系统 | |
Manral et al. | Establishing forensics capabilities in the presence of superuser insider threats | |
CN114257436B (zh) | 适用于堡垒机的访问安全管理方法、系统、电子设备和可读存储介质 | |
CN112769784A (zh) | 文本的处理方法和装置、计算机可读存储介质及处理器 | |
CN111222125A (zh) | 一种企业浏览器的客户端、服务端安全防护系统 | |
CN117494163B (zh) | 一种基于安全规则的数据服务的方法和装置 | |
KR102669468B1 (ko) | 데이터 관리 장치, 데이터 관리 방법 및 데이터 관리 프로그램을 저장하는 컴퓨터로 판독 가능한 저장 매체 | |
KR102669472B1 (ko) | 데이터 관리 장치, 데이터 관리 방법 및 데이터 관리 프로그램을 저장하는 컴퓨터로 판독 가능한 저장 매체 | |
KR102660695B1 (ko) | 데이터 관리 장치, 데이터 관리 방법 및 데이터 관리 프로그램을 저장하는 컴퓨터로 판독 가능한 저장 매체 | |
Chelliah | An Efficient Storage Solution for Healthcare Management Systems Using Cloud | |
KR102657161B1 (ko) | 데이터 관리 장치, 데이터 관리 방법 및 데이터 관리 프로그램을 저장하는 컴퓨터로 판독 가능한 저장 매체 | |
RU2792789C1 (ru) | Устройство защиты персональных данных пользователей информационной системы | |
CN113839922B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180810 |
|
RJ01 | Rejection of invention patent application after publication |