CN105678188B - 数据库防泄露协议识别方法及装置 - Google Patents
数据库防泄露协议识别方法及装置 Download PDFInfo
- Publication number
- CN105678188B CN105678188B CN201610009591.8A CN201610009591A CN105678188B CN 105678188 B CN105678188 B CN 105678188B CN 201610009591 A CN201610009591 A CN 201610009591A CN 105678188 B CN105678188 B CN 105678188B
- Authority
- CN
- China
- Prior art keywords
- packet
- protocol
- agreement
- type
- rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012795 verification Methods 0.000 claims abstract description 38
- 230000009471 action Effects 0.000 claims description 36
- 238000000605 extraction Methods 0.000 claims description 27
- 239000000284 extract Substances 0.000 claims description 14
- 238000005516 engineering process Methods 0.000 abstract description 24
- 238000010586 diagram Methods 0.000 description 15
- 238000013475 authorization Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003449 preventive effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种数据库防泄露协议识别方法及装置。其中,该方法包括:按照预先设置的识别规则,提取用于访问数据库的IP报文的协议指纹;将协议指纹与预先设置的至少一个协议指纹集合进行匹配,确定IP报文的协议类型;获取与协议类型对应的验证规则集合;将验证规则集合中的各条协议验证规则与IP报文进行匹配,验证IP报文的协议类型。本发明解决了由于无法对IP报文所属的协议类型进行自动识别,导致的数据加密技术通用性差的技术问题。
Description
技术领域
本发明涉及信息安全领域,具体而言,涉及一种数据库防泄露协议识别方法及装置。
背景技术
数据库是一种用于存载和管理数据信息的主要手段。通常,在数据库中集中存放着大量数据,且被众多用户共享。一旦存储于数据库中的数据被泄露或者被破坏,将使业务瘫痪、造成经济损失,甚至危及国家安全。因此,需要采取适当的保护措施对数据库中的数据的进行防护。
事实证明,数据加密是保证数据安全,防止数据泄露的一种主要方法。欧美国家提供了一些用于数据加密的产品,但这些产品因各种已知和未知的原因无法保证其信息安全。而国内的数据库防护手段主要通过数据库安全审计技术实现,这种技术虽然可以在一定程度上防止类似外部黑客攻击导致的数据泄露但对于例如数据库管理员、业务人员或外包工程技术人员等具备数据库管理与使用权限的内部人员的数据泄露却无法彻底预防与控制。
目前,在信息安全领域,数据加密技术主要包括全数据加密、字段级数据加密等加密技术,这些技术均存在一定缺陷与不足。
1、全数据加密技术的主要问题在于,现有的全数据加密技术通常会造成数据库性能急剧下降。而随着云计算、大数据、物联网、移动互联网等新兴IT技术的广泛应用,数据量呈的爆发式增长,全量数据加密技术已无法适应数据库的应用发展和安全需求。
2、敏感字段级数据加密技术的主要问题在于,在对敏感字段进行加密后,如果进行例如:数据联合(Union)、连接计算(Join)、汇总(Summary)、条件(Where)查询等操作时,数据处理会因加密而出现问题。
3、在对数据进行加密后,业务应用访问加密数据时存在权限识别问题。
4、通用性差,现有的数据加密技术,在对数据进行加密处理后,支持的数据库类型和操作有限的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据库防泄露协议识别方法及装置,以至少解决由于无法对IP报文所属的协议类型进行自动识别,导致的数据加密技术通用性差的技术问题。
根据本发明实施例的一个方面,提供了一种数据库防泄露协议识别方法,包括:按照预先设置的识别规则,提取用于访问数据库的IP报文的协议指纹;将协议指纹与预先设置的至少一个协议指纹集合进行匹配,确定IP报文的协议类型;获取与协议类型对应的验证规则集合;将验证规则集合中的各条协议验证规则与IP报文进行匹配,验证IP报文的协议类型。
根据本发明实施例的另一方面,还提供了一种数据库防泄露协议识别装置,包括:提取模块,用于按照预先设置的识别规则,提取用于访问数据库的IP报文的协议指纹;匹配模块,用于将协议指纹与预先设置的至少一个协议指纹集合进行匹配,确定IP报文的协议类型;第一获取模块,用于获取与协议类型对应的验证规则集合;验证模块,用于将验证规则集合中的各条协议验证规则与IP报文进行匹配,验证IP报文的协议类型。
在本发明实施例中,采用按照预先设置的识别规则,提取用于访问数据库的IP报文的协议指纹;将协议指纹与预先设置的至少一个协议指纹集合进行匹配,确定IP报文的协议类型;获取与协议类型对应的验证规则集合;将验证规则集合中的各条协议验证规则与IP报文进行匹配,验证IP报文的协议类型的方式,从而实现了在网络协议通信的初期,通过对IP报文中提取的协议指纹进行自动识别,并确定该IP报文所属的协议类型。并进一步采用验证规则集合验证上述识别结果的正确性的技术效果,进而解决了由于无法对IP报文所属的协议类型进行自动识别,导致的数据加密技术通用性差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的数据库防泄露协议识别方法的流程图;
图2是根据本发明实施例结合实际应用的一种可选的数据库防泄露协议识别方法的流程图;
图3是根据本发明实施例的一种可选的数据库防泄露协议识别方法的流程图;
图4是根据本发明实施例的一种可选的包含用户特征唯一码的AIP数据结构示意图;
图5是根据本发明实施例的一种可选的层状授权认证模型的结构示意图;
图6是根据本发明实施例的一种可选的用户唯一特征码结构示意图;
图7是根据本发明实施例的一种可选的特征提取及数据库防泄露协议识别的流程示意图;
图8是本发明实施例中的TDS协议的固定包头格式的示意图;
图9是本发明实施例中的MSRPC协议的固定包头格式的示意图;
图10是根据本发明实施例的一种可选的SQL协议指纹的验证规则集合;
图11是根据本发明实施例的一种可选的TDS协议指纹的验证规则集合;
图12是根据本发明实施例的一种基于并行Distributed Hashtable协议指纹匹配的流程示意图;
图13是根据本发明实施例的一种基于并行Distributed Hashtable协议指纹匹配示意图;
图14是根据本发明实施例的一种基于并行Distributed Hashtable协议指纹匹配示意图;
图15是根据本发明实施例的一种可选的并行Bloom过滤器组的数据流窗口示意图;
图16是根据本发明实施例的一种可选的数据库防泄露协议识别装置的示意图;
图17是根据本发明实施例的一种可选的数据库防泄露协议识别装置的示意图;
图18是根据本发明实施例的一种可选的数据库防泄露协议识别装置的示意图;
图19是根据本发明实施例的一种可选的数据库防泄露协议识别装置的示意图;以及
图20是根据本发明实施例的一种可选的数据库防泄露协议识别装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种数据库防泄露协议识别方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的数据库防泄露协议识别方法的流程图,如图1所示,该方法包括如下步骤:
步骤S22,按照预先设置的识别规则,提取用于访问数据库的IP报文的协议指纹;
步骤S24,将协议指纹与预先设置的至少一个协议指纹集合进行匹配,确定IP报文的协议类型;
步骤S26,获取与协议类型对应的验证规则集合;
步骤S28,将验证规则集合中的各条协议验证规则与IP报文进行匹配,验证IP报文的协议类型。
具体的,在上述步骤S22至步骤S28中,首先通过提取IP报文中的协议指纹,并利用多模式匹配算法将协议指纹与预先设置的协议指纹集合中的各个协议指纹样本进匹配,从而初步确定IP报文所述的协议类型。然后,利用与初步确定的协议类型对应的验证规则集合中的各条协议验证规则,对IP报文进行匹配。当IP报文与该验证规则集合中的各条协议验证规则进行匹配时,最终确定IP报文的协议类型。
在实际应用当中,如图2所示,在用于SQL业务访问的IP报文中,包含业务应用本体特征(即操作指令)和数据库认证信息(即报文属性)。首先采用CPI(Content PacketInspection,数据包内容检测和分析技术)技术,从IP报文中获取附加的用户特征码信息(例如:用户特征唯一码、业务中间件IP地址,业务中间件主机MAC地址等)以及数据库认证信息(用户名称和密码等),然后从层状授权认证模型库中提取预先定义的协议指纹集合和验证规则集合中的各条协议验证规则进行数据匹配,从而确认SQL访问的合法性。其中,用户特征唯一码是通过系统在封装IP报文时,为当前用户生成的特征唯一码,可以采用属性密码算法,利用访问的目标端口、目标IP地址以及用户标识(如:源手机号、源MAC地址、源IP地址等)对用户特征唯一码继续动态生成。
通过上述步骤,可以实现在网络协议通信的初期,通过对IP报文中提取的协议指纹进行自动识别,并确定该IP报文所属的协议类型。并进一步采用验证规则集合中的各条协议验证规则验证上述识别结果的正确性。从而解决了现有技术中,由于无法对IP报文所属的协议类型进行自动识别,导致的数据加密技术通用性差的问题。
作为一种可选的实施方式,在实际应用当中,在利用多模式匹配算法将协议指纹与预先设置的协议指纹集合中的各个协议指纹样本进匹配之前,先按协议指纹偏移对所有协议指纹进行分类,并分别建立哈希表。其中,对于每一类协议指纹,可以从IP报文的载荷相应偏移处开始,依次对前i(1,2,3…i)个字节进行哈希处理,同时检查哈希表子链。当在子链非空情况下对子链进行遍历,即调用子链中每一项的相关验证规则集合:如果IP报文通过了验证规则集合的验证,则识别出了IP报文所属协议类型。
作为一种可选的实施方式,如图3所示,在步骤S22按照预先设置的识别规则,提取用于访问数据库的IP报文的协议指纹之前,上述方法还可以包括:
步骤S201,获取与各个协议类型对应的协议样本。
步骤S203,根据协议样本,生成与协议类型对应的协议指纹集合。
步骤S205,根据协议样本,生成与协议类型对应的验证规则集合。
具体的,在步骤S201至步骤S205中,利用预先设置的各个协议类型的协议样本,对协议内容的特征进行提取。其中,首先对于协议样本中的协议指纹样本进行采集,并按照协议类型,利用采集到的协议指纹样本生成与协议类型对应的协议指纹集合。同样的,再对协议样本中的验证规则样本进行采集,并按照协议类型,利用采集到的验证规则样本生成与协议类型对应的验证规则集合。
其中,由于使用的数据库类型不同、通讯协议方式不同等原因,相同协议类型的协议可能存在多种协议指纹。并且,每种协议指纹也可能对应着多种不同的验证规则。
作为一种可选的实施方式,在步骤S203根据协议样本,生成与协议类型对应的协议指纹集合中,可以包括:
步骤S2031,按照预先设置的提取规则,从协议样本中提取与协议类型对应的协议指纹样本。
步骤S2033,按照协议类型生成相应的协议指纹集合。
其中,对于SQL指令类型的协议样本,可以采用{指令+参数}或{状态码+参数}的格式进行描述,通过直接提取SQL命令类型的协议样本中的操作指令和IP报文中的属性密码等信息作为该种协议类型的协议指纹样本。而对于SQL访问报头类型的协议样本,将固定报头中所含字段类型分为静态字段和动态字段类型,进而从报头提取属性密码。
在实际应用当中,依据上述对于协议指纹的提取步骤,从协议样本中提取该协议类型对应的协议指纹(每一类协议一般可以包含多个协议指纹),进而建立与该协议类型对应的验证规则集合。目前协议类型支持Oracle各版本、IBM DB2各版本、MySQL各版本、SQLServer各版本、Sybase各版本等数据库的验证规则集合。
将提取得到的协议指纹和相应的协议验证规则分别存储到与协议类型对应的协议指纹库(即协议指纹集合)和协议验证规则库(即验证规则集合)当中,以供数据库防泄露协议识别方法的指纹匹配引擎和协议验证引擎使用。
作为一种可选的实施方式,在步骤S205根据协议样本,生成与协议类型对应的验证规则集合中,可以采用SQL控制流图(SQL Flow Graph,SFG)对验证规则进行生成。
具体的,在利用与数据库进行通信的协议样本建立验证规则集合时,如图2所示,共存在TRUE节点和FALSE节点两个特殊节点,其中,FALSE节点只有一个,而TRUE节点可以有多个。除了TRUE节点和FALSE节点外,在控制流图中的每一个节点表示一条协议验证规则(布尔逻辑),其执行结果为真TRUE或假FALSE。控制流图中的每一条有向边表明,当有向边的源节点执行结果为TRUE或FALSE,最终构成控制流图中的实际执行路径。在利用控制流图生成验证规则集合时,从根节点开始执行,直到遇到TRUE或FALSE节点为止。
相应的,在步骤S28将验证规则集合中的各条协议验证规则与IP报文进行匹配,验证IP报文的协议类型中,可以采用虚拟机模型来实现相关协议验证规则的解释执行。
其中,将使用控制流图描述的验证规则集合翻译成可在虚拟机上直接执行的虚拟机程序。由一个虚拟机解释程序解释执行由验证规则集合翻译而来的虚拟机程序,程序执行结果即是本次数据库防泄露协议识别结果。
作为一种可选的实施方式,IP报文至少包括:操作指令和报文属性,提取规则至少包括:用于提取操作指令的指令提取规则,和用于提取报文属性的报头提取规则,其中,在步骤S2031按照预先设置的提取规则,从协议样本中提取与协议类型对应的协议指纹样本中,可以包括:
步骤S311,按照指令提取规则从IP报文中提取操作指令。
步骤S313,按照报头提取规则从IP报文中提取报文属性。
步骤S315,根据操作指令和报文属性,生成与协议类型对应的协议指纹样本。
具体的,在提取规则中,至少包括用于提取操作指令的指令提取规则,操作指令即为IP报文中,用于操作数据库的指令,其中,可以包括例如“SELECT”等数据查询类型的操作指令。还可以包括例如“INSERT”或“UPDATE”等数据更新类型的操作指令。在报文属性中,可以包括例如发送IP报文的源IP地址、源MAC地址、源端口、用户名和密码等报文属性信息。在IP报文中,操作指令和报文属性等信息都会以固定的格式存储于IP报文当中。
在步骤S311至步骤S315中,可以分别利用指令提取规则和报头提取规则,分别对协议样本中的操作指令和报文属性进行提取,并声称相应的协议指纹样本。
作为一种可选的实施方式,在实际应用当中,通过对每一个协议类型对应的多个协议样本中的协议指纹样本进行采集,以及相应的验证规则进行生成,从而得到与协议类型对应的协议指纹集合(SigSet)和相应验证规则集合(RuleSet)。其中,协议指纹通常是一个有限长度的连续字节串,它用于标识一种特定类型的协议消息。当协议指纹集合正确建立后,通过IP报文携带的协议指纹特征就可以识别其所属协议类型。举例,“SELECT”可以标识SQL访问协议中的数据查询类型,而如果发现某一IP报文携带协议指纹“INSERT”或“UPDATE”,则可确定该IP报文所属协议类型为数据更新类型。
但是,单纯基于协议指纹特征得到的数据库防泄露协议识别结果可能错误,所以需要额外措施来进一步验证本次数据库防泄露协议识别结果正确性。因此,在识别出IP报文所属可能协议类型之后,还可以采用与协议类型对应的验证规则集合来验证数据库防泄露协议识别结果正确性。其中,验证规则集合与协议类型对应的,它为一个定义了将一个IP报文判别为该协议类型的所有必须满足条件的布尔表达式的集合。因此,可以将为某一协议类型建立的验证规则集合看作是该类型协议规范的一个必要条件集合。为协议类型协议建立的验证规则集合可用布尔表达式树或者控制流图来描述,验证规则集合的描述方式,此处不做具体限定。
其中,以建立访问数据库的协议指纹和验证规则进行举例说明;
首先,为数据库协议建立协议指纹集合,并建立相应验证规则集合:
为SQL协议指纹中包含有“SELECT”指令建立的验证规则集为:
Rule1:文本中必须含有“SELECT”字串;
Rule2:文本中必须包含“FROM”;
Rule3:等等。
为SQL协议指纹中包含有“INSERT”指令建立的验证规则集为:
Rule1:文本中必须含有“INSERT”字串;
Rule2:文本中必须包含“VALUES”字串;
Rule3:等等。
为SQL协议指纹中包含有“HEAD”指令建立的验证规则集为:
Rule1:文本中必须含有“TNS”或“TDS”等厂家通信标识字串;
Rule2:文本中必须包含“Oracle”或“Microsoft”等字串;
Rule3:等等。
然后,在数据库防泄露协议识别过程中,如果发现一个IP报文中包含“INSERT”协议指纹,通过协议指纹匹配算法可以识别其所属协议类别可能为SQL,这时进一步执行前面定义的SQL协议的协议指纹“SELECT”所对应的验证规则集来验证该IP报文:如果该IP报文通过了验证规则集合中所有验证规则的验证,则SQL就为该IP报文所属的正确协议类型;否则,继续从IP报文中提取其它协议指纹、进行指纹匹配找到可能所属协议类型、并执行相关协议验证规则进行验证,直到找到正确结果为止。
作为一种可选的实施方式,在步骤S28将验证规则集合中的各条协议验证规则与IP报文进行匹配,验证IP报文的协议类型之后,上述方法还可以包括:
步骤S30,根据协议类型对应的解析规则对IP报文进行解析,确定IP报文的用户信息和操作指令。
步骤S32,根据操作指令,确定与IP报文对应的操作类型,其中,操作类型至少包括:数据查询类型和数据更新类型。
步骤S34,根据操作类型对IP报文进行封装,生成新IP报文。
具体的,通过步骤S30至步骤S34,可以根据在IP报文中所携带的操作指令,判断该IP报文的操作类型。可以根据操作类型采用不同的加密方式对IP报文中的操作指令和用户信息进行加密处理,并以预定的格式对加密后的内容进行封装,从而生成新的IP报文。
作为一种可选的实施方式,在操作指令中至少可以包括:操作内容和操作语句,其中,在步骤S34根据操作指令,确定与IP报文对应的操作类型之前,上述方法还可以包括:
步骤S331,根据预先设置的敏感字段集合,判断在操作内容中是否存在敏感字段。
步骤S333,当存在敏感字段时,判断与用户信息对应的用户是否具有访问敏感字段的访问权限。
步骤S335,判断用户是否具有执行操作指令的权限,其中,当具有访问敏感字段的访问权限时,执行步骤S34根据操作指令,确定与IP报文对应的操作类型步骤。
具体的,在对SQL访问中的IP报文中,操作指令包含了例如“select”、“insert”,“update”等SQL的操作语句,上述SQL操作语句可以被归为查询和非查询两类操作。并且,在操作指令中,还包括了表名称、字段名称等操作内容。因此,通过步骤S331至步骤S335,可以分别获取操作指令中的操作内容和操作语句,并与预先设置的敏感字库进行匹配,从而判断该IP报文中是否存在敏感信息。当存在敏感信息时,查询该用户是否具有执行该操作指令的操作权限。当具有操作权限时,执行步骤S34。其中,在判断用户信息对应的权限时,可以将用户信息与已建用户属性密码模式库进行模式匹配,并利用层状授权认证模型对用户的权限进行提取和判别。
在实际应用当中,可以利用CPI技术获取SQL访问中包含的SQL语句,并解析SQL业务访问网络流中的所承载的内容。通过将这些内容与敏感字库中的敏感字段进行匹配,从而验证SQL访问中是否涉及敏感字段,并相应的形成敏感字段列表。
根据敏感字段列表,并结合通过识别得到的用户信息,结合用户的字段级数据访问权限的元数据进行匹配和判别,从而确定当前用户是否具备访问敏感字段的权限。
对于合法且具有敏感数据字段访问权限的用户的SQL访问,首先可以对敏感字段进行解析,然后对字段项的值进行对称加密处理,同时采用CPI重封包技术对敏感字段数据项加密的SQL访问进行重新封装,最后完成用户数据库访问操作。
作为一种可选的实施方式,在步骤34根据操作类型对IP报文进行封装,生成新IP报文的中,可以包括:
步骤S341,利用对称加密算法对包含敏感字段的操作内容和操作语句进行加密处理,得到加密后的操作指令。
步骤S343,根据操作类型对加密后的操作指令和报文属性进行封装,得到加密后的新IP报文。
具体的,在步骤S341至步骤S343中,可以采用对称加密算法对IP报文中的敏感字段,以相同或相应的加密规则进行加密处理,并对加密后的内容再进行封装处理,得到加密后的新IP报文。
在实际应用当中,可以采用层状授权认证模型对于用户对于数据库的操作权限进行逐级认证。其中,可以将从IP报文中提取的报文属性中的用户特征唯一码确定用户信息,通过用户信息确定预先设置的与用户信息对应的加密模式。将确定得到的用户信息与层状授权认证模型中的各个认证层级及进行模式匹配。当匹配到合法权限用户时,按照加密模式对SQL访问中的SQL语句进行加密处理,对于返回的数据结果进行解密处理。
其中,用户特征唯一码是访问用户的准入合法身份的唯一标识,采用属性密码算法技术生成用户及应用特征唯一码,然后使用记帐性IP(Account IP-AIP)自我认证技术,将用户特征唯一码信息植入和扩展到传统IP数据包头,形成层状记帐性信息,保障用户访问的唯一识别性。如图4所示,AIP数据结构在标准IPV4包头的左后Padding保留位,增加属性密码算法生成的用户特征唯一码。
通过上述步骤,上述加解密全部在网关进行处理,而对于原始数据库只进行关键字段数据的加密,与传统数据库加密技术对比,提高了数据库加密的执行效率。从而解决了对于数据库透明访问的问题,
作为一种可选的实施方式,如图5所示,层状授权认证模型是一种可以从用户特征唯一码及应用特征、应用访问SQL操作、敏感数据字段和字段数据加密算法等三个维度,对敏感数据访问、数据操作和加解密处理进行定义的动态层状模型。层状授权认证模型可以实现了用户及应用的唯一性、合法性数据访问及获取,有效防止了外部黑客攻击和内部非法人员窃取造成的数据泄露。
如图6所示,多维层状模型用户及应用唯一特征码结构。其中,32位特征唯一码唯一标识由属性加密算法生成的用于关联用户和应用特征的32位长整型特征唯一码。144位私钥Hash表主要用于与防泄露网关或系统的公钥进行再次认证以确认用户访问的合法性,另外还用于对IP报文中携带的经过加密的用于访问数据库的用户和密码信息进行解密还原。
作为一种可选的实施方式,在步骤S28将验证规则集合中的各条协议验证规则与IP报文进行匹配,验证IP报文的协议类型之后,上述方法还可以包括:
步骤S36,根据协议类型,创建与IP报文对应的报文识别信息,其中,报文识别信息用于对IP报文的身份信息进行标识,报文识别信息至少包括:源IP地址、目标IP地址、源端口、目标端口、协议ID和属性密码字符串。
具体的,在实际应用当中,可以通过捕获包含有SQL访问的数据流前端的IP报文,从应用层载荷中提取所有可能为协议指纹的字段,采用多模式匹配算法将协议指纹与协议指纹库中的各指纹分别进行匹配,识别出可能的协议集合,并确定与协议指纹对应的协议类型。当然,识别出可能的协议指纹可能是一个,可能是多个。
对于上述协议集合中的每一个协议指纹,调用与其协议类型相应验证规则集合中的各条协议验证规则对其进行验证,如果验证通过,则识别出该IP报文所属正确协议类型,否则继续执行下一个候选协议相关验证规则,直到识别出正确协议类型为止。
当识别出IP报文所属的正确的协议类型,即通过步骤S36创建一个包含有源IP地址,目IP地址,源端口,目端口,协议ID和属性密码字串信息,<源IP地址,目IP地址,源端口,目端口,协议ID,属性密码字串>格式存储的六元数组,从而使得属于该SQL访问的数据流中后续的报文无需执行上述数据库防泄露协议识别方法,以减轻系统计算开销。
作为一种可选的实施例,在实际应用当中,利用本申请涉及的数据库防泄露协议识别方法一般只需要捕获到SQL访问的初期交互过程中第1-2回合中携带有数据载荷的报文。因此,对于基于TCP协议的应用层协议,只需要捕获TCP三次握手结束后第1-2个携带有应用层数据的报文即可。通过上述数据库防泄露协议识别方法,可以在网络通信协议初期交互的第1-2个协议消息数据中识别出所属协议类别,因此具有很好的数据库防泄露协议识别速度。
作为一种可选的实施方式,对于上述方法进行你给举例说明,其中,数据库防泄露协议识别方法主要包括如下步骤:
步骤1,提取协议指纹和协议验证规则。
其中,SQL访问类协议采用固定报头格式协议。
具体的,固定报头格式协议一般都为二进制格式协议。在该类协议中,所有协议消息都具有一个固定长度的报头,在固定长度的报头之后是可变长度数据。固定报头格式协议例子很多,包括DB2、TDS、TNS协议等。在固定报头中,一般包含Type、Version、Length、Flags和ID等字段。根据在网络协议交互过程中取值变化情况的不同,可以将这些字段分为两类:a)静态类型字段,即字段取值为常数或者只能取少数几个值,例如Type,Version,Flags等字段;b)动态类型字段,即字段取值情况预先不可预测,比如Length、ID等字段。因此,只能从第一种类型字段中提取协议指纹。如果提取的协议指纹标识某一类型协议的精确度越高,则数据库防泄露协议识别过程中第一次通过协议指纹匹配算法找到正确协议类型的可能性就越高,因而可能只需少量协议验证规则条目就可识别出IP报文所属协议类别,并可明显减少数据库防泄露协议识别算法的计算开销。为达到这个目的,通常将尽可能多的连续静态字段组合起来作为该类协议样本的指纹。
如图7所示,协议指纹的提取进行举例说明:
图8为TDS(Tabular Data System)协议的固定包头格式的示意图。对于TDS协议,其固定报头中有两个连续静态字段(Type和Status),因此如果将Type+Status组合作为TDS协议的指纹,可以提高协议指纹标识该类型协议的准确度。
图9为MSRPC(Microsoft Remote Procedure Call)协议的固定包头格式的示意图。对于MSRPC协议,其固定报头中存在5个连续静态字段(Major_Ver、Minor_Ver、PktType、PktFlags和DataRepresentation),因此如果将上述5字段组合作为MSRPC协议指纹,可以提高协议指纹标识该类型协议准确度。
通过上述步骤提取的协议指纹一般都有2-4个字节长度,并且各协议指纹之间出现碰撞的可能性很小,因此可明显加快数据库防泄露协议识别的速度。
步骤2,协议指纹的快速匹配;
具体的,如图10和图11所示,在前期根据协议样本的提取阶段定义好各种类型协议的协议指纹和相关协议验证规则后,需要设计一种高效的协议指纹匹配算法,从而使其在数据库防泄露协议识别阶段对IP报文应用数据中的协议指纹进行快速提取和匹配,以确定该IP报文所属的可能的协议类型。
其中,可以采用多模式匹配算法来执行这种协议指纹快速匹配的过程:将IP报文应用层载荷数据作为多模式匹配算法的文本,所有定义的协议指纹集合作为模式集合,使用多模式匹配算法找到所有可能的协议类型集合,然后对该集合中每一协议类型执行相应协议验证规则,排除错误的协议类型,直到找到合适的协议类型为止。基于传统多模型匹配算法实现协议指纹快速匹配算法具有算法实现快、通用性好等优点,但它没有充分利用协议指纹通常位于IP报文应用载荷头部这个特点,因此,本数据库防泄露协议识别方法设计了一个高效的协议指纹快速匹配算法。
可以从大量协议样本中观察到:95%协议类型的协议指纹偏移为0,而对于偏移不为0的协议指纹(占5%),偏移位置都出现在IP报文应用层载荷靠前位置并且取值都有规律。图12所示,比如在偏移2,4,8,12,16等。此外,所有协议指纹长度都较短,一般不超过8个字节。因此,本数据库防泄露协议识别方法可以首先按指纹偏移值对协议指纹进行分类,然后对每一类协议指纹采用Distributed Hashtable定位算法进行协议指纹匹配。
其中,以协议指纹Distributed Hashtable定位算法,以偏移为0的所有协议指纹为例进行说明,对于其它偏移不为0的协议指纹类别,同样可以采用该DistributedHashtable定位算法。
具体的,如图13和图14所示,在Distributed Hashtable算法的准备阶段,可以将偏移为0的所有协议指纹按照指定Hash算法插入哈希表,将Hash值相同(即协议指纹冲突)的协议指纹串连起来,形成如图13所示的协议指纹Hash表。
在Distributed Hashtable检索阶段,可以图14所示的定位和协议验证算法的工作流程图进行执行。对于捕获的IP报文应用层数据m,从偏移位置0开始,依次对m前i(1,2,3…i)个连续字节进行哈希(Hash)运算(分别用H(m1-1),H(m1-2),…,H(m1-maxsig)表示,这里maxsig为最大协议指纹长度),如图14所示,并同时检查Hash表中相应Hash子链情况:
如果对应Hash子链为空,则进行下一个Hash运算;
否则,依次执行子链中具体验证规则集合:
如果通过验证规则集合中的各条协议验证规则的验证,则识别出了正确的协议类型。
否则,继续执行子链中下一候选协议的验证规则集合,直到找到合适的协议类型为止。
该Distributed Hashtable协议指纹匹配和协议验证算法伪代码描述如下:
如图7所示,在上述数据库防泄露协议识别方法中,在通过IP报文携带的协议指纹检索到所属的可能协议类型时,需要调用为该类型协议定义的验证规则集合来进一步验证该IP报文是否满足该类型协议规范,即上述伪代码中的parallelbloom函数的实现问题。本发明采用SFG模型来描述验证规则集合,并采用虚拟机来解释执行由验证规则集合生成的SFG图,因此,在前期协议样本特征提取阶段需要将为各类型协议定义的验证规则集合(即SFG图)编译成可在虚拟机上直接执行的程序代码;然后,在数据库防泄露协议识别阶段,在协议指纹匹配引擎识别出IP报文所属的可能协议类型后,由协议验证引擎加载该类型协议的虚拟机程序代码进行解释执行,程序返回结果为识别出的协议ID或者0(0表示未知协议ID)。
如图15所示,本数据库防泄露协议识别方法中的协议验证引擎使用并行Bloom过滤器组通过上述方式监视数据流窗口,每个数据包中所有长度从Lmin到Lmax的子串都被扫描,同时由于并行Bloom过滤器组是并行工作的,因而这些子字符串可以在一次并行执行过程中匹配检测完。如存在可疑子串则交由分析器做进一步的分析处理,然后数据流窗口向右移动一个字节;如不存在可疑子串,则数据流窗口直接向右移动一个字节,重复上述操作。
图16是根据本发明实施例的数据库防泄露协议识别装置的示意图。如图16所示,该装置应用于网关,包括:提取模块22、匹配模块24、第一获取模块26和验证模块28。
其中,提取模块22,用于按照预先设置的识别规则,提取用于访问数据库的IP报文的协议指纹;匹配模块24,用于将协议指纹与预先设置的至少一个协议指纹集合进行匹配,确定IP报文的协议类型;第一获取模块26,用于获取与协议类型对应的验证规则集合;验证模块28,用于将验证规则集合中的各条协议验证规则与IP报文进行匹配,验证IP报文的协议类型。
具体的,在上述提取模块22、匹配模块24、第一获取模块26和验证模块28中,首先通过提取IP报文中的协议指纹,并利用多模式匹配算法将协议指纹与预先设置的协议指纹集合中的各个协议指纹样本进匹配,从而初步确定IP报文所述的协议类型。然后,利用与初步确定的协议类型对应的验证规则集合中的各条协议验证规则,对IP报文进行匹配。当IP报文与该验证规则集合中的各条协议验证规则进行匹配时,最终确定IP报文的协议类型。
通过上述装置,可以实现在网络协议通信的初期,通过对IP报文中提取的协议指纹进行自动识别,并确定该IP报文所属的协议类型。并进一步采用验证规则集合中的各条协议验证规则验证上述识别结果的正确性。从而解决了现有技术中,由于无法对IP报文所属的协议类型进行自动识别,导致的数据加密技术通用性差的问题。
作为一种可选的实施方式,如图17所示,上述装置还包括:第二获取模块201、第一生成模块203和第二生成模块205。
其中,第二获取模块201,用于获取与各个协议类型对应的协议样本;第一生成模块203,用于根据协议样本,生成与协议类型对应的协议指纹集合;第二生成模块205,用于根据协议样本,生成与协议类型对应的验证规则集合。
具体的,在上述第二获取模块201、第一生成模块203和第二生成模块205中,利用预先设置的各个协议类型的协议样本,对协议内容的特征进行提取。其中,首先对于协议样本中的协议指纹样本进行采集,并按照协议类型,利用采集到的协议指纹样本生成与协议类型对应的协议指纹集合。同样的,再对协议样本中的验证规则样本进行采集,并按照协议类型,利用采集到的验证规则样本生成与协议类型对应的验证规则集合。
作为一种可选的实施方式,在第一生成模块203中,可以包括:第一子提取模块2031和第一子生成模块2033。
其中,第一子提取模块2031,用于按照预先设置的提取规则,从协议样本中提取与协议类型对应的协议指纹样本;第一子生成模块2033,用于按照协议类型生成相应的协议指纹集合。
其中,对于SQL指令类型的协议样本,可以采用{指令+参数}或{状态码+参数}的格式进行描述,通过直接提取SQL命令类型的协议样本中的操作指令和IP报文中的属性密码等信息作为该种协议类型的协议指纹样本。而对于SQL访问报头类型的协议样本,将固定报头中所含字段类型分为静态字段和动态字段类型,进而从报头提取属性密码。
作为一种可选的实施方式,在IP报文中至少包括:操作指令和报文属性,提取规则至少包括:用于提取操作指令的指令提取规则,和用于提取报文属性的报头提取规则,其中,上述第一子提取模块2031可以包括:第二子提取模块311、第三子提取模块313和第二子生成模块315。
其中,第二子提取模块311,用于按照指令提取规则从IP报文中提取操作指令;第三子提取模块313,用于按照报头提取规则从IP报文中提取报文属性;第二子生成模块315,用于根据操作指令和报文属性,生成与协议类型对应的协议指纹样本。
具体的,在提取规则中,至少包括用于提取操作指令的指令提取规则,操作指令即为IP报文中,用于操作数据库的指令,其中,可以包括例如“SELECT”等数据查询类型的操作指令。还可以包括例如“INSERT”或“UPDATE”等数据更新类型的操作指令。在报文属性中,可以包括例如发送IP报文的源IP地址、源MAC地址、源端口、用户名和密码等报文属性信息。在IP报文中,操作指令和报文属性等信息都会以固定的格式存储于IP报文当中。
在上述第二子提取模块311、第三子提取模块313和第二子生成模块315中,可以分别利用指令提取规则和报头提取规则,分别对协议样本中的操作指令和报文属性进行提取,并声称相应的协议指纹样本。
作为一种可选的实施方式,如图18所示,上述装置还可以包括:解析模块30、确定模块32和封装模块34。
其中,解析模块30,用于根据协议类型对应的解析规则对IP报文进行解析,确定IP报文的用户信息和操作指令;确定模块32,用于根据操作指令,确定与IP报文对应的操作类型,其中,操作类型至少包括:数据查询类型和数据更新类型;封装模块34,用于根据操作类型对IP报文进行封装,生成新IP报文。
具体的,通过上述解析模块30、确定模块32和封装模块34,可以根据在IP报文中所携带的操作指令,判断该IP报文的操作类型。可以根据操作类型采用不同的加密方式对IP报文中的操作指令和用户信息进行加密处理,并以预定的格式对加密后的内容进行封装,从而生成新的IP报文。
作为一种可选的实施方式,操作指令至少包括:操作内容和操作语句,其中,如图19所示,装置还可以包括:第一判断模块331、第二判断模块333和第三判断模块335。
其中,第一判断模块331,用于根据预先设置的敏感字段集合,判断在操作内容中是否存在敏感字段;第二判断模块333,用于当存在敏感字段时,判断与用户信息对应的用户是否具有访问敏感字段的访问权限;第三判断模块335,用于判断用户是否具有执行操作指令的权限,其中,在当具有访问敏感字段的访问权限时,调用封装模块34。
具体的,在对SQL访问中的IP报文中,操作指令包含了例如“select”、“insert”,“update”等SQL的操作语句,上述SQL操作语句可以被归为查询和非查询两类操作。并且,在操作指令中,还包括了表名称、字段名称等操作内容。因此,通过上述第一判断模块331、第二判断模块333和第三判断模块335,可以分别获取操作指令中的操作内容和操作语句,并与预先设置的敏感字库进行匹配,从而判断该IP报文中是否存在敏感信息。当存在敏感信息时,查询该用户是否具有执行该操作指令的操作权限。当具有操作权限时,调用上述封装模块34。其中,在判断用户信息对应的权限时,可以将用户信息与已建用户属性密码模式库进行模式匹配,并利用层状授权认证模型对用户的权限进行提取和判别。
作为一种可选的实施方式,上述封装模块34可以包括:子加密模块341和子封装模块343。
其中,子加密模块341,用于利用对称加密算法对包含敏感字段的操作内容和操作语句进行加密处理,得到加密后的操作指令;子封装模块343,用于根据操作类型对加密后的操作指令和报文属性进行封装,得到加密后的新IP报文。
具体的,在上述子加密模块341和子封装模块343中,可以采用对称加密算法对IP报文中的敏感字段,以相同或相应的加密规则进行加密处理,并对加密后的内容再进行封装处理,得到加密后的新IP报文。
作为一种可选的实施方式,如图20所示,上述装置还可以包括:创建模块36。其中,创建模块36,用于根据协议类型,创建与IP报文对应的报文识别信息,其中,报文识别信息用于对IP报文的身份信息进行标识,报文识别信息至少包括:源IP地址、目标IP地址、源端口、目标端口、协议ID和属性密码字符串。
具体的,在实际应用当中,可以通过捕获包含有SQL访问的数据流前端的IP报文,从应用层载荷中提取所有可能为协议指纹的字段,采用多模式匹配算法将协议指纹与协议指纹库中的各指纹分别进行匹配,识别出可能的协议集合,并确定与协议指纹对应的协议类型。当然,识别出可能的协议指纹可能是一个,可能是多个。
对于上述协议集合中的每一个协议指纹,调用与其协议类型相应验证规则集合对其进行验证,如果验证规则集合验证通过,则识别出该IP报文所属正确协议类型,否则继续执行下一个候选协议相关验证规则,直到识别出正确协议类型为止。
当识别出IP报文所属的正确的协议类型,即通过创建模块36创建一个包含有源IP地址,目IP地址,源端口,目端口,协议ID和属性密码字串信息,<源IP地址,目IP地址,源端口,目端口,协议ID,属性密码字串>格式存储的六元数组,从而使得属于该SQL访问的数据流中后续的报文无需执行上述数据库防泄露协议识别方法,以减轻系统计算开销。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种数据库防泄露协议识别方法,其特征在于,应用于网关,包括:
按照预先设置的识别规则,提取用于访问数据库的IP报文的协议指纹;
将所述协议指纹与预先设置的至少一个协议指纹集合进行匹配,确定所述IP报文的协议类型;
获取与所述协议类型对应的验证规则集合;
将所述验证规则集合中的各条协议验证规则与所述IP报文进行匹配,验证所述IP报文的协议类型;
其中,所述IP报文至少包括:操作指令和报文属性,在将所述验证规则集合中的各条协议验证规则与所述IP报文进行匹配,验证所述IP报文的协议类型之后,所述方法还包括:
根据所述协议类型对应的解析规则对所述IP报文进行解析,确定所述IP报文的用户信息和所述操作指令;
根据所述操作指令,确定与所述IP报文对应的操作类型,其中,所述操作类型至少包括:数据查询类型和数据更新类型;
根据所述操作类型对所述IP报文进行封装,生成新IP报文;
其中,所述操作指令至少包括:操作内容和操作语句,其中,在根据所述操作指令,确定与所述IP报文对应的操作类型之前,还包括:
根据预先设置的敏感字段集合,判断在所述操作内容中是否存在敏感字段;
当存在所述敏感字段时,判断与所述用户信息对应的用户是否具有访问所述敏感字段的访问权限;
判断所述用户是否具有执行所述操作指令的权限,其中,当具有访问所述敏感字段的访问权限时,执行根据所述操作指令,确定与所述IP报文对应的操作类型步骤。
2.根据权利要求1所述的方法,其特征在于,在按照预先设置的识别规则,提取用于访问数据库的IP报文的协议指纹之前,所述方法还包括:
获取与各个所述协议类型对应的协议样本;
根据所述协议样本,生成与所述协议类型对应的所述协议指纹集合;
根据所述协议样本,生成与所述协议类型对应的所述验证规则集合。
3.根据权利要求2所述的方法,其特征在于,根据所述协议样本,生成与所述协议类型对应的所述协议指纹集合,包括:
按照预先设置的提取规则,从所述协议样本中提取与所述协议类型对应的协议指纹样本;
按照所述协议类型生成相应的所述协议指纹集合。
4.根据权利要求3所述的方法,其特征在于,所述提取规则至少包括:用于提取所述操作指令的指令提取规则,和用于提取所述报文属性的报头提取规则,其中,按照预先设置的提取规则,从所述协议样本中提取与所述协议类型对应的协议指纹样本,包括:
按照所述指令提取规则从所述IP报文中提取所述操作指令;
按照所述报头提取规则从所述IP报文中提取所述报文属性;
根据所述操作指令和所述报文属性,生成与所述协议类型对应的协议指纹样本。
5.根据权利要求1所述的方法,其特征在于,根据所述操作类型对所述IP报文进行封装,生成新IP报文,包括:
利用对称加密算法对包含所述敏感字段的所述操作内容和所述操作语句进行加密处理,得到加密后的操作指令;
根据所述操作类型对加密后的所述操作指令和所述报文属性进行封装,得到所述加密后的所述新IP报文。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,在将所述验证规则集合中的各条协议验证规则与所述IP报文进行匹配,验证所述IP报文的协议类型之后,所述方法还包括:
根据所述协议类型,创建与所述IP报文对应的报文识别信息,其中,所述报文识别信息用于对所述IP报文的身份信息进行标识,所述报文识别信息至少包括:源IP地址、目标IP地址、源端口、目标端口、协议ID和属性密码字符串。
7.一种数据库防泄露协议识别装置,其特征在于,应用于网关,包括:
提取模块,用于按照预先设置的识别规则,提取用于访问数据库的IP报文的协议指纹;
匹配模块,用于将所述协议指纹与预先设置的至少一个协议指纹集合进行匹配,确定所述IP报文的协议类型;
第一获取模块,用于获取与所述协议类型对应的验证规则集合;
验证模块,用于将所述验证规则集合中的各条协议验证规则与所述IP报文进行匹配,验证所述IP报文的协议类型;
其中,所述IP报文至少包括:操作指令和报文属性,所述装置还包括:
解析模块,用于根据所述协议类型对应的解析规则对所述IP报文进行解析,确定所述IP报文的用户信息和所述操作指令;
确定模块,用于根据所述操作指令,确定与所述IP报文对应的操作类型,其中,所述操作类型至少包括:数据查询类型和数据更新类型;
封装模块,用于根据所述操作类型对所述IP报文进行封装,生成新IP报文;
其中,所述操作指令至少包括:操作内容和操作语句,其中,所述装置还包括:
第一判断模块,用于根据预先设置的敏感字段集合,判断在所述操作内容中是否存在敏感字段;
第二判断模块,用于当存在所述敏感字段时,判断与所述用户信息对应的用户是否具有访问所述敏感字段的访问权限;
第三判断模块,用于判断所述用户是否具有执行所述操作指令的权限,其中,在当具有访问所述敏感字段的访问权限时,调用所述封装模块。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于获取与各个所述协议类型对应的协议样本;
第一生成模块,用于根据所述协议样本,生成与所述协议类型对应的所述协议指纹集合;
第二生成模块,用于根据所述协议样本,生成与所述协议类型对应的所述验证规则集合。
9.根据权利要求8所述的装置,其特征在于,所述第一生成模块包括:
第一子提取模块,用于按照预先设置的提取规则,从所述协议样本中提取与所述协议类型对应的协议指纹样本;
第一子生成模块,用于按照所述协议类型生成相应的所述协议指纹集合。
10.根据权利要求9所述的装置,其特征在于,所述提取规则至少包括:用于提取所述操作指令的指令提取规则,和用于提取所述报文属性的报头提取规则,其中,所述第一子提取模块包括:
第二子提取模块,用于按照所述指令提取规则从所述IP报文中提取所述操作指令;
第三子提取模块,用于按照所述报头提取规则从所述IP报文中提取所述报文属性;
第二子生成模块,用于根据所述操作指令和所述报文属性,生成与所述协议类型对应的协议指纹样本。
11.根据权利要求7所述的装置,其特征在于,所述封装模块包括:
子加密模块,用于利用对称加密算法对包含所述敏感字段的所述操作内容和所述操作语句进行加密处理,得到加密后的操作指令;
子封装模块,用于根据所述操作类型对加密后的所述操作指令和所述报文属性进行封装,得到所述加密后的所述新IP报文。
12.根据权利要求7至11中任意一项所述的装置,其特征在于,所述装置还包括:
创建模块,用于根据所述协议类型,创建与所述IP报文对应的报文识别信息,其中,所述报文识别信息用于对所述IP报文的身份信息进行标识,所述报文识别信息至少包括:源IP地址、目标IP地址、源端口、目标端口、协议ID和属性密码字符串。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610009591.8A CN105678188B (zh) | 2016-01-07 | 2016-01-07 | 数据库防泄露协议识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610009591.8A CN105678188B (zh) | 2016-01-07 | 2016-01-07 | 数据库防泄露协议识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105678188A CN105678188A (zh) | 2016-06-15 |
CN105678188B true CN105678188B (zh) | 2019-01-29 |
Family
ID=56299285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610009591.8A Active CN105678188B (zh) | 2016-01-07 | 2016-01-07 | 数据库防泄露协议识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105678188B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107657174B (zh) * | 2016-07-26 | 2020-11-10 | 北京计算机技术及应用研究所 | 一种基于协议指纹的数据库入侵检测方法 |
CN106302454A (zh) * | 2016-08-15 | 2017-01-04 | 北京奇虎科技有限公司 | 敏感数据识别方法及装置 |
CN106295366B (zh) * | 2016-08-15 | 2020-11-24 | 北京奇虎科技有限公司 | 敏感数据识别方法及装置 |
CN106302493B (zh) * | 2016-08-23 | 2020-03-20 | 王志强 | 通过多重验证实现笔录通信的方法、系统及设备 |
CN106790271A (zh) * | 2017-02-16 | 2017-05-31 | 济南浪潮高新科技投资发展有限公司 | 一种敏感数据的检测方法、装置、可读介质及存储控制器 |
CN108694324B (zh) * | 2017-04-06 | 2022-12-20 | 腾讯科技(深圳)有限公司 | 一种信息泄露监控方法以及装置 |
CN107222561A (zh) * | 2017-07-03 | 2017-09-29 | 杭州泰酷科技有限公司 | 一种传输层反向代理方法 |
CN109992986B (zh) * | 2017-12-29 | 2021-05-11 | 中国移动通信集团上海有限公司 | 一种敏感数据的脱敏处理方法及装置 |
CN109583233A (zh) * | 2018-11-23 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 数据泄漏监测方法及装置 |
US11074363B2 (en) * | 2018-12-05 | 2021-07-27 | Oracle International Corporation | Selective and total query redaction |
CN110278123B (zh) * | 2019-05-10 | 2021-04-06 | 新华三技术有限公司 | 检查方法、装置、电子设备及可读存储介质 |
CN111988346B (zh) | 2019-05-21 | 2021-10-22 | 新华三信息安全技术有限公司 | 数据泄露防护设备及报文处理方法 |
CN111177252B (zh) * | 2019-11-26 | 2023-07-25 | 腾讯云计算(北京)有限责任公司 | 一种业务数据的处理方法及装置 |
CN111143829B (zh) * | 2019-12-25 | 2022-04-26 | 北京天融信网络安全技术有限公司 | 一种任务危险程度的确定方法、装置、电子设备及存储介质 |
CN111177765A (zh) * | 2020-01-06 | 2020-05-19 | 广州知弘科技有限公司 | 金融大数据处理方法、存储介质和系统 |
CN113157854B (zh) * | 2021-01-22 | 2023-08-04 | 奇安信科技集团股份有限公司 | Api的敏感数据泄露检测方法及系统 |
CN112906048B (zh) * | 2021-02-09 | 2023-01-03 | 上海凯馨信息科技有限公司 | 一种针对db2数据的密态数据访问防护方法 |
CN113204570A (zh) * | 2021-04-14 | 2021-08-03 | 福建星瑞格软件有限公司 | 一种基于数据特征的数据库协议识别方法及装置 |
CN113704825B (zh) * | 2021-09-08 | 2024-06-18 | 上海观安信息技术股份有限公司 | 一种数据库审计方法、装置、系统及计算机存储介质 |
CN113852626A (zh) * | 2021-09-23 | 2021-12-28 | 杭州安恒信息安全技术有限公司 | 一种泄密监控方法、系统、装置及存储介质 |
CN114492376B (zh) * | 2021-12-27 | 2024-06-28 | 奇安信科技集团股份有限公司 | 应用指纹的检测方法、装置和电子设备 |
CN114422389B (zh) * | 2022-02-24 | 2023-09-12 | 成都北中网芯科技有限公司 | 一种基于哈希和硬件加速的高速实时网络数据监测方法 |
CN115630373B (zh) * | 2022-12-21 | 2023-04-07 | 四川知行志成科技有限公司 | 一种云服务安全分析方法、监控设备及分析系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1450757A (zh) * | 2002-10-11 | 2003-10-22 | 北京启明星辰信息技术有限公司 | 网络入侵监测的方法和系统 |
CN1845066A (zh) * | 2006-05-16 | 2006-10-11 | 北京启明星辰信息技术有限公司 | 一种自动协议识别方法及系统 |
CN101035111A (zh) * | 2007-04-13 | 2007-09-12 | 北京启明星辰信息技术有限公司 | 一种智能协议解析方法及装置 |
CN102480385A (zh) * | 2010-11-26 | 2012-05-30 | 北京启明星辰信息技术股份有限公司 | 数据库安全保护方法和装置 |
CN104113528A (zh) * | 2014-06-23 | 2014-10-22 | 汉柏科技有限公司 | 一种基于前置网关的防止敏感信息泄露的方法和系统 |
-
2016
- 2016-01-07 CN CN201610009591.8A patent/CN105678188B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1450757A (zh) * | 2002-10-11 | 2003-10-22 | 北京启明星辰信息技术有限公司 | 网络入侵监测的方法和系统 |
CN1845066A (zh) * | 2006-05-16 | 2006-10-11 | 北京启明星辰信息技术有限公司 | 一种自动协议识别方法及系统 |
CN101035111A (zh) * | 2007-04-13 | 2007-09-12 | 北京启明星辰信息技术有限公司 | 一种智能协议解析方法及装置 |
CN102480385A (zh) * | 2010-11-26 | 2012-05-30 | 北京启明星辰信息技术股份有限公司 | 数据库安全保护方法和装置 |
CN104113528A (zh) * | 2014-06-23 | 2014-10-22 | 汉柏科技有限公司 | 一种基于前置网关的防止敏感信息泄露的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105678188A (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105678188B (zh) | 数据库防泄露协议识别方法及装置 | |
CN103581363B (zh) | 对恶意域名和非法访问的控制方法及装置 | |
US9208335B2 (en) | Space-time separated and jointly evolving relationship-based network access and data protection system | |
CN108370381A (zh) | 用于使用客户端蜜标检测先进攻击者的系统以及方法 | |
CN107682331A (zh) | 基于区块链的物联网身份认证方法 | |
US20150095642A1 (en) | Client computer for querying a database stored on a server via a network | |
CN107864115A (zh) | 一种利用便携式终端进行用户账号登录验证的方法 | |
CN107423632A (zh) | 可定制的敏感数据脱敏方法和系统 | |
Zhuang et al. | A new ultralightweight RFID protocol for low-cost tags: R 2 AP | |
CN101036340A (zh) | 用于物理令牌的双向纠错 | |
CN106060078B (zh) | 应用于云平台的用户信息加密方法、注册方法及验证方法 | |
CN106533658A (zh) | 基于md5算法的url防篡改签名及验签方法 | |
CN110069946B (zh) | 一种基于sgx的安全索引系统 | |
CN108809895A (zh) | 弱口令的检测方法和装置 | |
CN109639711A (zh) | 一种基于私有链会话id的分布式cas认证方法 | |
Niya et al. | Kyot: Self-sovereign iot identification with a physically unclonable function | |
CN104573493B (zh) | 一种软件保护方法和系统 | |
CN106055931A (zh) | 移动终端软件安全元器件系统及用于该系统的密钥系统 | |
CN110188545B (zh) | 一种基于链式数据库的数据加密方法及装置 | |
CN105071941B (zh) | 分布式系统节点身份认证方法及装置 | |
CN109918451A (zh) | 基于区块链的数据库管理方法及系统 | |
Huang et al. | A novel identity authentication for FPGA based IP designs | |
Lipp | A mechanised computational analysis of the wireguard virtual private network protocol | |
Gkaniatsou et al. | Getting to know your card: reverse-engineering the smart-card application protocol data unit | |
CN109905408A (zh) | 网络安全防护方法、系统、可读存储介质及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190710 Address after: 100037 Block B 2508, Century Economic and Trade Building, 72 West Third Ring North Road, Haidian District, Beijing Patentee after: Huateng Shuyun (Beijing) Technology Co., Ltd. Address before: 100005 Unit 402, Building 1, Courtyard 7, Dongjiao Minxiang, Dongcheng District, Beijing Co-patentee before: Liu Fengcheng Patentee before: Yang Longpin |