CN112364348B - 一种数据库安全异常识别方法及系统 - Google Patents
一种数据库安全异常识别方法及系统 Download PDFInfo
- Publication number
- CN112364348B CN112364348B CN202011380211.4A CN202011380211A CN112364348B CN 112364348 B CN112364348 B CN 112364348B CN 202011380211 A CN202011380211 A CN 202011380211A CN 112364348 B CN112364348 B CN 112364348B
- Authority
- CN
- China
- Prior art keywords
- access
- abnormal
- database
- domain
- session
- 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
Images
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
-
- 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)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种数据库安全异常识别方法及系统,方法包括步骤:获取实时数据库指令数据;提取行为特征,根据已知恶意特征库,对行为特征进行特征匹配,进行异常行为判定,进行异常告警。系统包括依次连接的获取单元、提取单元、匹配单元、判定单元和告警单元。本发明通过对数据库实时指令数据进行获取和分类提取,先进行已知恶意特征库匹配,再基于访问域、操作域相关数据进行异常行为判定,当存在异常行为时,进行异常告警,实现了精确数据库安全检测。
Description
技术领域
本发明涉及数据库安全分析技术领域,尤其是涉及一种一种数据库安全异常识别方法及系统。
背景技术
传统的数据库安全异常识别,仅基于已知恶意行为特征库,由已知恶意特征库基于自身的相关规则特征和行为判定来确认当前数据库访问请求是否正常,是否存在风险性或已知攻击行为。由于其依赖于自有的相关匹配规则或策略,导致在安全问题上往往出现大量误报、漏报,并在情报更新和威胁嗅探上往往囿于劣势;同时,由于其安全判定基于规则,而规则往往又是已知威胁的整理集合,导致目前传统数据库安全策略长期停留在“事后诸葛亮”的状态,即只有相关问题已大规模爆发,其行为已知后方能对其进行相关检出和告警。因此,当前的数据库安全异常识别方法无法有效识别多变的数据库恶意行为。
发明内容
本发明主要是解决现有技术中数据库基于已知恶意行为行为特征库,安全判定基于已知规则,存在无法有效识别多边的数据库恶意行为的问题,提供了一种数据库安全异常识别方法及系统。
本发明的上述技术问题主要是通过下述技术方案得以解决的:一种数据库安全异常识别方法,包括以下步骤,
S1.获取实时数据库指令数据;
S2.对实时数据库指令数据提取行为特征,行为特征包括访问域和操作域;
S3.根据已知恶意特征库,对行为特征进行特征匹配,判定是否为已知恶意行为;存在已知恶意特征库,对行为特征进行特征匹配,对于判定为存在已知恶意行为的,直接阻止,对于通过该判定为非已知恶意行为的行为特征进入下一步骤分析异常行为。
S4.对于非已知恶意行为的行为特征进行同源会话访问域和同源会话操作域判定,然后进行异常行为判定;
S5.根据异常行为判定进行异常告警。
本发明通过对数据库实时指令数据进行获取和分类提取,先进行已知恶意特征库匹配,再基于访问域、操作域相关数据进行异常行为判定,当存在异常行为时,进行异常告警,实现了精确的数据库安全检测。
作为一种优选方案,步骤S1中实时数据库指令数据包括实时获取Web业务向数据库发起的全部数据库指令请求。本方案通过在数据库网络中串联或旁路部署流量分析软件设备来实现,通过将设备串联或旁路部署在Web业务服务器网络和数据库服务器网络之间,实时获取Web业务向数据库发起的全部数据库指令请求。
作为一种优选方案,步骤S2中提取行为特征包括,
由数据库指令中的业务请求来源、访问目的数据库、访问目的数据库对应数据表提取各数据库指令的访问信息集合,将访问信息集合作为该数据库指令的访问域;
由数据库指令中的业务请求来源、操作关键字以及其对应操作对象提取个数据库指令的操作信息集合,将操作信息集合作为该数据库指令的操作域。
本方案的两个步骤同时进行。获得的数据库指令访问域以用于后续的访问域的生成和匹配。其中操作关键字包括Select,Where,Order By等,其对应操作对象包括数据库、数据表、数据字段等。获得的数据库指令操作域用于操作域用于后续的操作域生成和匹配。
作为一种优选方案,步骤S4中访问域的判定过程包括,
对所有请求来源相同、访问目标数据库一致的指令数据统计获得所有同源会话统计集合x(Fx,Dx);
在统计周期H内,统计同源会话统计集合x(Fx,Dx)的统计数值,当统计数值达到阈值S时,生成Gfx算法:
Gfx{(Fx,Dx),(TO1,TO2,…TOn)}
其中Fx为同源会话统计集合x(Fx,Dx)访问请求来源,Dx为同源会话统计集合x(Fx,Dx)访问目标数据库,(TO1,TO2,…TOn)为同源会话统计集合x(Fx,Dx)常规访问该数据库下数据表集合。
Gfx算法用于计算同源会话统计集合x(Fx,Dx)的常规访问域,在统计周期H内,当同一类同源会话数据统计数量达到阈值S时,生成同源会话统计集合x(Fx,Dx),并计算Gfx{(Fx,Dx),(TO1,TO2,…TOn)}。其中统计周期H、阈值S可进行调整,独立同源会话指非同IP、非同设备的,且会话来源、目的数据库相同的会话,对于同一IP或同一设备发起的多个独立会话,全部按一个独立会话计数,不累加进行S计数。每一轮统计周期H期间,自动统计各同源会话统计集合x(Fx,Dx)的统计数值,对达到阈值S的,Gfx算法自动生效并用于判定,每一轮统计周期H结束后,Gfx算法统计结果可根据用户需求清零或作为白名单,并重复上述过程。
作为一种优选方案,步骤S4中访问域的异常判定过程包括,
若统计并形成Gfx{(Fx,Dx),(TO1,TO2,…TOn)}后,针对后续此类同源会话访问请求Sx{(Fx,Dx),(TOSx)}生成存在异常访问判定算法T1(Sx,Gfx),其中TOSx为此次同源会话请求所需访问的数据表、数据字段集合;
若TOSx∈(TO1,TO2,…TOn),则T1(Sx,Gfx) = 0,此次访问请求判定为不存在异常访问域;
反之则T1(Sx,Gfx) = 1,此次访问请求判定为存在异常访问域。
作为一种优选方案,步骤S4中操作域的判定过程包括,
对所有请求来源相同、访问目标数据库一致的指令数据统计获得所有同源会话统计集合x(Fx,Dx);
在统计周期H内,统计同源会话统计集合x(Fx,Dx)的统计数值,当统计数值达到阈值S时,生成Gox算法:
Gox{(Fx,Dx),(TA1(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)),TA2(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)),…TAn(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)))}
其中(TA1(),TA2(),…TAn())为同源会话统计集合x(Fx,Dx)对数据库操作指令集合,TA1(TO1(a1f1,a1f2…a1fn))为同源会话统计集合x(Fx,Dx)在TA1操作指令时涉及该数据库下的对应数据表TO1下的数据字段集合。
Gox用于计算同源会话统计集合x(Fx,Dx)的常规访问域,在统计周期H内,当同一类同源会话数据统计数量达到阈值S时,生成同源会话统计集合x(Fx,Dx),并计算Gox{}。其中统计周期H、阈值S可进行调整,独立同源会话指非同IP、非同设备的,且会话来源、目的数据库相同的会话,对于同一IP或同一设备发起的多个独立会话,全部按一个独立会话计数,不累加进行S计数。每一轮统计周期H期间,自动统计各同源会话统计集合x(Fx,Dx)的统计数值,对达到阈值S的,Gox算法自动生效并用于判定,每一轮统计周期H结束后,Gox算法统计结果可根据用户需求清零或作为白名单,并重复上述过程。
作为一种优选方案,步骤S4中操作域的异常判定过程包括,
若统计并形成
Gox{(Fx,Dx),(TA1(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)),TA2(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)),…TAn(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)))}后,针对后续此类同源会话访问请求Ax{(Fx,Dx),(TOAx)}生成存在异常访问判定算法T2(Ax,Gox),其中TOAx为此次同源会话请求所需操作指令、各操作指令涉及数据表、数据字段集合;
若
TOAx∈(TA1(TO1(a1f1,a1f2…a1fn), TO2(a2f1,a2f2…a2fn), …TOn(anf1, anf2…anfn)),TA2(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)),…TAn(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn))),则T2(Ax,Gox) = 0,此次访问请求判定为不存在异常操作域;
反之则T2(Ax,Gox) = 1,此次访问请求判定为存在异常操作域。
作为一种优选方案,步骤S5中异常告警具体包括:
针对同源会话请求,
若T1() = 0,且T2() = 0,则认定为无异常行为,不进行告警;
若T1() = 1,且T2() = 0,则认为存在异常访问域,进行异常访问告警;
若T1() = 0,且T2() = 1,则认为存在异常操作域,进行异常操作告警;
若T1() = 1,且T2() = 1,则认为存在异常访问域和异常操作域,进行异常访问和异常操作告警。
一种数据库安全异常识别系统,包括,
获取单元,获取实时数据库指令数据;
提取单元,对实时数据库指令数据提取行为特征,行为特征包括访问域和操作域;
匹配单元,根据已知恶意特征库,对行为特征进行特征匹配,判定是否为已知恶意行为;
判定单元,对于非已知恶意行为的行为特征进行同源会话访问域和同源会话操作域判定,然后进行异常行为判定;
告警单元,根据异常行为判定结果判断异常访问域和异常操作域,进行对应异常访问和异常操作告警;
获取单元、提取单元、匹配单元、判定单元和告警单元依次相连。
因此,本发明的优点是:通过对数据库实时指令数据进行获取和分类提取,先进行已知恶意特征库匹配,再基于访问域、操作域相关数据进行异常行为判定,当存在异常行为时,进行异常告警,实现了精确数据库安全检测。
附图说明
图1是本发明的一种流程示意图;
图2是本发明系统的一种结构框示图。
1-获取单元 2-提取单元 3-匹配单元 4-判定单元 5-告警单元。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例:
本实施例一种数据库安全异常识别系统,如图2所示,包括依次相连的获取单元1、提取单元2、匹配单元3、判定单元4和告警单元。
获取单元,获取实时数据库指令数据;
提取单元,对实时数据库指令数据提取行为特征,行为特征包括访问域和操作域;
匹配单元,根据已知恶意特征库,对行为特征进行特征匹配,判定是否为已知恶意行为;
判定单元,对于非已知恶意行为的行为特征进行同源会话访问域和同源会话操作域判定,然后进行异常行为判定;
告警单元,根据异常行为判定结果判断异常访问域和异常操作域,进行对应异常访问和异常操作告警。
本实施例还包括采用上述系统的一种数据库安全异常识别方法,如图1所示,其包括如下步骤:
S1.获取实时数据库指令数据;实时数据库指令数据包括实时获取Web业务向数据库发起的全部数据库指令请求。
S2.对实时数据库指令数据提取行为特征,行为特征包括访问域和操作域;提取行为特征过程包括,
由数据库指令中的业务请求来源、访问目的数据库、访问目的数据库对应数据表提取各数据库指令的访问信息集合,将访问信息集合作为该数据库指令的访问域;
同时,由数据库指令中的业务请求来源、操作关键字以及其对应操作对象提取个数据库指令的操作信息集合,将操作信息集合作为该数据库指令的操作域。
S3.根据已知恶意特征库,对行为特征进行特征匹配,判定是否为已知恶意行为;存在已知恶意特征库,对行为特征进行特征匹配,对于判定为存在已知恶意行为的,直接阻止,对于通过该判定为非已知恶意行为的行为特征进入下一步骤分析异常行为。
S4.对于非已知恶意行为的行为特征进行同源会话访问域和同源会话操作域判定,然后进行异常行为判定;
访问域的判定过程包括,
对所有请求来源相同、访问目标数据库一致的指令数据统计获得所有同源会话统计集合x(Fx,Dx);
在统计周期H内,统计同源会话统计集合x(Fx,Dx)的统计数值,当统计数值达到阈值S时,生成Gfx算法:
Gfx{(Fx,Dx),(TO1,TO2,…TOn)}
其中Fx为同源会话统计集合x(Fx,Dx)访问请求来源,Dx为同源会话统计集合x(Fx,Dx)访问目标数据库,(TO1,TO2,…TOn)为同源会话统计集合x(Fx,Dx)常规访问该数据库下数据表集合。
访问域的异常判定过程包括,
若统计并形成Gfx{(Fx,Dx),(TO1,TO2,…TOn)}后,针对后续此类同源会话访问请求Sx{(Fx,Dx),(TOSx)}生成存在异常访问判定算法T1(Sx,Gfx),其中TOSx为此次同源会话请求所需访问的数据表、数据字段集合;
若TOSx∈(TO1,TO2,…TOn),则T1(Sx,Gfx) = 0,此次访问请求判定为不存在异常访问域;
反之则T1(Sx,Gfx) = 1,此次访问请求判定为存在异常访问域。
操作域的判定过程包括,
对所有请求来源相同、访问目标数据库一致的指令数据统计获得所有同源会话统计集合x(Fx,Dx);
在统计周期H内,统计同源会话统计集合x(Fx,Dx)的统计数值,当统计数值达到阈值S时,生成Gox算法:
Gox{(Fx,Dx),(TA1(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)),TA2(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)),…TAn(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)))}
其中(TA1(),TA2(),…TAn())为同源会话统计集合x(Fx,Dx)对数据库操作指令集合,TA1(TO1(a1f1,a1f2…a1fn))为同源会话统计集合x(Fx,Dx)在TA1操作指令时涉及该数据库下的对应数据表TO1下的数据字段集合。
操作域的异常判定过程包括,
若统计并形成
Gox{(Fx,Dx),(TA1(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)),TA2(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)),…TAn(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)))}后,针对后续此类同源会话访问请求Ax{(Fx,Dx),(TOAx)}生成存在异常访问判定算法T2(Ax,Gox),其中TOAx为此次同源会话请求所需操作指令、各操作指令涉及数据表、数据字段集合;
若
TOAx∈(TA1(TO1(a1f1,a1f2…a1fn), TO2(a2f1,a2f2…a2fn), …TOn(anf1, anf2…anfn)),TA2(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)),…TAn(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn))),则T2(Ax,Gox) = 0,此次访问请求判定为不存在异常操作域;
反之则T2(Ax,Gox) = 1,此次访问请求判定为存在异常操作域。
S5.根据异常行为判定进行异常告警。
针对同源会话请求,
若T1() = 0,且T2() = 0,则认定为无异常行为,不进行告警;
若T1() = 1,且T2() = 0,则认为存在异常访问域,进行异常访问告警;
若T1() = 0,且T2() = 1,则认为存在异常操作域,进行异常操作告警;
若T1() = 1,且T2() = 1,则认为存在异常访问域和异常操作域,进行异常访问和异常操作告警。
下面再以一个具体例子对上述方法进行具体说明。该具体例子中前端WEB业务基于PHP语言开发,后端数据库为MYSQL数据库,其中MYSOL数据库存在一名为TEST的数据库,包括如下数据表:
Admin表:用于存储站点管理用户的用户名、密码,拥有id、uesrname以及password三个数据字段,分别存储用户id、用户名、密码
Detail表:用于存储各商品描述详情,拥有id、detail两个数据字段,分别存储商品id、商品对应描述详情;
WEB业务中存在如下URL:
http://www.test.com/showdetail.phpid=1
该URL以id为获取变量,并作为商品id查询后端MYSQL数据库,显示对应id商品详情,对应业务查询语句为:
SELECT detail FROM Detail WHERE id = '$id'
该具体例中用户未自定义统计周期H、阈值S,即H为默认间隔30天,S为默认阈值20个独立同源会话。
步骤S1获取实时数据库指令数据;实时数据库指令数据系通过在数据库网络中串联部署流量分析软件设备实现,通过将设备串联或旁路部署在Web业务服务器网络和数据库服务器网络之间,实时获取Web业务向数据库发起的全部数据库指令请求。
步骤S2对实时数据库指令数据提取行为特征,具体对上述实时数据库指令进行访问域和操作域提取,以本具体实例中正常业务SQL请求,
SELECT detail FROM Detail WHERE id = '$id'
为实践,该指令将被提取如下两个部分,
访问域{Detail}
操作域{SELECT(Detail (detail)),WHERE(Detail (id))}
上述操作用于后续步骤中异常行为判定机制算法的阈值统计、算法生成以及算法判定。
步骤S3对SQL指令进行已知恶意特征库匹配并判定是否为恶意行为,对于存在已知恶意行为的,直接阻止,对于为非已知恶意行为的进入下一步骤进行异常行为分析。
步骤S4中异常行为判定,基于本具体实例中正常业务SQL请求
SELECT detail FROM Detail WHERE id = '$id'
将该来源于http://www.test.com/showdetail.php请求、目的数据库为MYSQL的全部同源会话集合设为x,对其进行频率统计,在间隔H内,超过阈值S后将生成如下Gfx和Gox算法,
Gfx{(http://www.test.com/showdetail.php,MYSQL(TEST)),Detail}
Gox{(http://www.test.com/showdetail.php,MYSQL(TEST)),SELECT(Detail(detail)),WHERE(Detail(id))}
上述算法将分别作为后续来源于http://www.test.com/showdetail.php请求、目的数据库为MYSQL(TEST)的全部同源会话的访问域、操作域对应匹配算法。
如本具体实例中正常业务SQL请求
SELECT detail FROM Detail WHERE id = '$id'
由步骤S2可知,该指令被提取如下两部分
访问域{Detail}
操作域{SELECT(Detail(detail)),WHERE(Detail(id))}
面对匹配算法
Gfx{(http://www.test.com/showdetail.php,MYSQL(TEST)),Detail}
Gox{(http://www.test.com/showdetail.php,MYSQL(TEST)),SELECT(Detail(detail)),WHERE(Detail (id))}
因为{Detail}∈{Detail},因故访问域判定通过,T1() = 0,此次访问请求判定为不存在异常访问域,不进行异常访问告警;
类似的,因为{SELECT(Detail (detail)),WHERE(Detail (id))}
∈{SELECT(Detail (detail)),WHERE(Detail (id))}
因故操作域判定通过,T2() = 0,此次访问请求判定为不存在异常操作,不进行异常操作告警,因故正常业务被放行;
若此时出现此类SQL注入攻击请求,如
http://www.test.com/showdetail.phpid=-1 UNION SELECT username,password FROM Admin
则对应SQL请求为
SELECT detail FROM Detail WHERE id = '$id' UNION SELECT username,password FROM Admin
假设攻击者利用混淆等方式成功通过步骤S3的已知恶意特征库检查,针对此类攻击,由步骤S2可知,该指令将被提取为如下两部分
访问域{Detail,Admin}
操作域
{SELECT(Detail(detail),Admin(username,password)),WHERE(Detail (id))}
面对匹配算法
Gfx{(http://www.test.com/showdetail.php,MYSQL(TEST)),Detail}
Gox{(http://www.test.com/showdetail.php,MYSQL(TEST)),SELECT(Detail(detail)),WHERE(Detail (id))}
因为{Detail,Admin}∈{Detail}不成立,因故访问域判定不通过,T1() = 1,此次访问请求在步骤S5将判定为存在异常访问域,进行异常访问告警;
类似的,因为
{SELECT(Detail(detail),Admin(username,password)),WHERE(Detail (id))}∈{SELECT(Detail (detail)),WHERE(Detail (id))}不成立,
因故操作域判定不通过,T2() = 1,此次访问请求在步骤S5将被判定为存在异常操作,进行异常操作告警;
类似的,若此时出现此类SQL注入攻击请求,如
http://www.test.com/showdetail.phpid=1 ORDER BY 2
则对应SQL请求为
SELECT detail FROM Detail WHERE id = '$id' ORDER BY 2
假设攻击者利用混淆等方式成功通过步骤S3的已知恶意特征库检查,针对此类攻击,由步骤S2可知,该指令将被提取为如下两部分
访问域{Detail}
操作域{SELECT(Detail(detail)),WHERE(Detail (id),ORDER BY(2))}
面对匹配算法
Gfx{(http://www.test.com/showdetail.php,MYSQL(TEST)),Detail}
Gox{(http://www.test.com/showdetail.php,MYSQL(TEST)),SELECT(Detail(detail)),WHERE(Detail (id))}
因为{Detail}∈{Detail}成立,因故访问域判定通过,T1() = 0,此次访问请求在步骤S5将判定为不存在异常访问域,不进行异常访问告警;
类似的,因为
SELECT(Detail(detail)),WHERE(Detail(id),ORDER BY(2)∈
{SELECT(Detail(detail)),WHERE(Detail(id))}不成立,
因故操作域判定不通过,T2() = 1,此次访问请求在步骤S5将被判定为存在异常操作,进行异常操作告警;
根据异常行为评定,进行对应异常告警判断,包括:
针对同源会话访问请求
若T1() = 0,且T2() = 0,则认定为无异常行为,不进行告警;
若T1() = 1,且T2() = 0,则认为存在异常访问域,进行异常访问告警;
若T1() = 0,且T2() = 1,则认为存在异常操作域,进行异常操作告警;
若T1() = 1,且T2() = 1,则认为存在异常访问域和异常操作域,进行异常访问和异常操作告警。
在具体实例中,所述请求
SELECT detail FROM Detail WHERE id = '$id'
由步骤S5可知,该指令T1() = 0,T2() = 0,因故判定无需进行任何告警;
所述请求
SELECT detail FROM Detail WHERE id = '$id' UNION SELECT username,password FROM Admin
由步骤S5可知,该指令T1() = 1,T2() = 1,存在异常访问域和异常操作域,分别进行异常访问判定和异常操作告警;。
所述请求
SELECT detail FROM Detail WHERE id = '$id' ORDER BY 2
由步骤S5可知,该指令T1() = 0,T2() = 1,存在异常操作域,进行异常操作告警。
步骤S5根据判定信息,确定是否存在异常告警,如果存在,执行对应异常告警,并告警相关细节。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
尽管本文较多地使用了获取单元、提取单元、匹配单元、判定单元、告警单元等术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的。
Claims (5)
1.一种数据库安全异常识别方法,其特征在于:包括以下步骤,
S1.获取实时数据库指令数据;
S2.对实时数据库指令数据提取行为特征,行为特征包括访问域和操作域;
S3.根据已知恶意特征库,对行为特征进行特征匹配,判定是否为已知恶意行为;
S4.对于非已知恶意行为的行为特征进行同源会话访问域和同源会话操作域判定,然后进行异常行为判定;
访问域的判定过程包括,
对所有请求来源相同、访问目标数据库一致的指令数据统计获得所有同源会话统计集合x(Fx,Dx);
在统计周期H内,统计同源会话统计集合x(Fx,Dx)的统计数值,当统计数值达到阈值S时,生成Gfx算法:
Gfx{(Fx,Dx),(TO1,TO2,…TOn)}
其中Fx为同源会话统计集合x(Fx,Dx)访问请求来源,Dx为同源会话统计集合x(Fx,Dx)访问目标数据库,(TO1,TO2,…TOn)为同源会话统计集合x(Fx,Dx)常规访问该数据库下数据表集合;
访问域的异常判定过程包括,
若统计并形成Gfx{(Fx,Dx),(TO1,TO2,…TOn)}后,针对后续此类同源会话访问请求Sx{(Fx,Dx),(TOSx)}生成存在异常访问判定算法T1(Sx,Gfx),其中TOSx为此次同源会话请求所需访问的数据表、数据字段集合;
若TOSx∈(TO1,TO2,…TOn),则T1(Sx,Gfx)=0,此次访问请求判定为不存在异常访问域;
反之则T1(Sx,Gfx)=1,此次访问请求判定为存在异常访问域;
操作域的判定过程包括,
对所有请求来源相同、访问目标数据库一致的指令数据统计获得所有同源会话统计集合x(Fx,Dx);
在统计周期H内,统计同源会话统计集合x(Fx,Dx)的统计数值,当统计数值达到阈值S时,生成Gox算法:
Gox{(Fx,Dx),(TA1(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)),TA2(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)),…TAn(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)))}
其中(TA1(),TA2(),…TAn())为同源会话统计集合x(Fx,Dx)对数据库操作指令集合,TA1(TO1(a1f1,a1f2…a1fn))为同源会话统计集合x(Fx,Dx)在TA1操作指令时涉及该数据库下的对应数据表TO1下的数据字段集合;
操作域的异常判定过程包括,
若统计并形成
Gox{(Fx,Dx),(TA1(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)),TA2(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)),…TAn(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)))}后,针对后续此类同源会话访问请求Ax{(Fx,Dx),(TOAx)}生成存在异常访问判定算法T2(Ax,Gox),其中TOAx为此次同源会话请求所需操作指令、各操作指令涉及数据表、数据字段集合;
若
TOAx∈(TA1(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)),TA2(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn)),…TAn(TO1(a1f1,a1f2…a1fn),TO2(a2f1,a2f2…a2fn),…TOn(anf1,anf2…anfn))),则T2(Ax,Gox)=0,此次访问请求判定为不存在异常操作域;
反之则T2(Ax,Gox)=1,此次访问请求判定为存在异常操作域;
S5.根据异常行为判定进行异常告警。
2.根据权利要求1所述的一种数据库安全异常识别方法,其特征是步骤S1中实时数据库指令数据包括实时获取Web业务向数据库发起的全部数据库指令请求。
3.根据权利要求1所述的一种数据库安全异常识别方法,其特征是步骤S2中提取行为特征包括,
由数据库指令中的业务请求来源、访问目的数据库、访问目的数据库对应数据表提取各数据库指令的访问信息集合,将访问信息集合作为该数据库指令的访问域;
由数据库指令中的业务请求来源、操作关键字以及其对应操作对象提取个数据库指令的操作信息集合,将操作信息集合作为该数据库指令的操作域。
4.根据权利要求1所述的一种数据库安全异常识别方法,其特征是步骤S5中异常告警具体包括:
针对同源会话请求,
若T1()=0,且T2()=0,则认定为无异常行为,不进行告警;
若T1()=1,且T2()=0,则认为存在异常访问域,进行异常访问告警;
若T1()=0,且T2()=1,则认为存在异常操作域,进行异常操作告警;
若T1()=1,且T2()=1,则认为存在异常访问域和异常操作域,进行异常访问和异常操作告警。
5.一种数据库安全异常识别系统,用于权利要求1-4任一项中方法,其特征是包括,
获取单元,获取实时数据库指令数据;
提取单元,对实时数据库指令数据提取行为特征,行为特征包括访问域和操作域;
匹配单元,根据已知恶意特征库,对行为特征进行特征匹配,判定是否为已知恶意行为;
判定单元,对于非已知恶意行为的行为特征进行同源会话访问域和同源会话操作域判定,然后进行异常行为判定;
告警单元,根据异常行为判定结果判断异常访问域和异常操作域,进行对应异常访问和异常操作告警;
获取单元、提取单元、匹配单元、判定单元和告警单元依次相连。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011380211.4A CN112364348B (zh) | 2020-11-30 | 2020-11-30 | 一种数据库安全异常识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011380211.4A CN112364348B (zh) | 2020-11-30 | 2020-11-30 | 一种数据库安全异常识别方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112364348A CN112364348A (zh) | 2021-02-12 |
CN112364348B true CN112364348B (zh) | 2021-10-12 |
Family
ID=74535728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011380211.4A Active CN112364348B (zh) | 2020-11-30 | 2020-11-30 | 一种数据库安全异常识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112364348B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105430001A (zh) * | 2015-12-18 | 2016-03-23 | 北京奇虎科技有限公司 | Apt攻击的检测方法、终端设备、服务器及系统 |
CN107392020A (zh) * | 2017-06-30 | 2017-11-24 | 北京奇虎科技有限公司 | 数据库操作分析方法、装置、计算设备及计算机存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102456032B (zh) * | 2010-10-22 | 2013-06-19 | 北京启明星辰信息技术股份有限公司 | 数据库安全保护方法和装置 |
CN110943961B (zh) * | 2018-09-21 | 2022-06-21 | 阿里巴巴集团控股有限公司 | 数据处理方法、设备以及存储介质 |
CN109561097B (zh) * | 2018-12-17 | 2021-05-25 | 泰康保险集团股份有限公司 | 结构化查询语言注入安全漏洞检测方法、装置、设备及存储介质 |
CN111159706A (zh) * | 2019-12-26 | 2020-05-15 | 深信服科技股份有限公司 | 数据库安全检测方法、装置、设备及存储介质 |
-
2020
- 2020-11-30 CN CN202011380211.4A patent/CN112364348B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105430001A (zh) * | 2015-12-18 | 2016-03-23 | 北京奇虎科技有限公司 | Apt攻击的检测方法、终端设备、服务器及系统 |
CN107392020A (zh) * | 2017-06-30 | 2017-11-24 | 北京奇虎科技有限公司 | 数据库操作分析方法、装置、计算设备及计算机存储介质 |
Non-Patent Citations (2)
Title |
---|
An abnormal file access behavior detection approach based on file path diversity;Xiaobin Wang et al;《IEEE》;20141002;1-5 * |
基于最大访问模式挖掘的数据库异常行为检测;刘玉葆 等;《计算机研究与发展》;20061230;271-275 * |
Also Published As
Publication number | Publication date |
---|---|
CN112364348A (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4319054A2 (en) | Identifying legitimate websites to remove false positives from domain discovery analysis | |
CN111343173B (zh) | 数据访问的异常监测方法及装置 | |
TW201730766A (zh) | 異常訪問檢測方法及設備 | |
CN112491779B (zh) | 一种异常行为检测方法及装置、电子设备 | |
CN108989150A (zh) | 一种登录异常检测方法及装置 | |
CN105009132A (zh) | 基于置信因子的事件关联 | |
CN106549959B (zh) | 一种代理网际协议ip地址的识别方法及装置 | |
CN114915479B (zh) | 一种基于Web日志的Web攻击阶段分析方法及系统 | |
CN108337269A (zh) | 一种WebShell检测方法 | |
CN114389834B (zh) | 一种api网关异常调用识别的方法、装置、设备及产品 | |
CN108234426B (zh) | Apt攻击告警方法和apt攻击告警装置 | |
CN109242658B (zh) | 可疑交易报告生成方法、系统、计算机设备和存储介质 | |
CN112131249A (zh) | 一种攻击意图识别方法及装置 | |
CN115174205B (zh) | 一种网络空间安全实时监测方法、系统及计算机存储介质 | |
CN110598959A (zh) | 一种资产风险评估方法、装置、电子设备及存储介质 | |
CN115001934A (zh) | 一种工控安全风险分析系统及方法 | |
CN109918901A (zh) | 实时检测基于Cache攻击的方法 | |
CN112364348B (zh) | 一种数据库安全异常识别方法及系统 | |
CN110705603B (zh) | 动态判断用户请求数据相似度的方法及系统 | |
Sakhare et al. | Classification of criminal data using J48-Decision Tree algorithm | |
CN116599743A (zh) | 4a异常绕行检测方法、装置、电子设备及存储介质 | |
EP2571225B1 (en) | A method for detecting data misuse in an organization's network | |
CN114257403B (zh) | 误报检测方法、设备及可读存储介质 | |
Bahaweres et al. | Implementation of text association rules about terrorism on twitter in indonesia | |
CN114285639A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310000 Rooms 103-27, Building 19, No. 1399, Liangmu Road, Cangqian Street, Yuhang District, Hangzhou, Zhejiang Patentee after: Hangzhou Meichuang Technology Co.,Ltd. Address before: 12 / F, building 7, Tianxing International Center, 508 Fengtan Road, Gongshu District, Hangzhou City, Zhejiang Province 310011 Patentee before: HANGZHOU MEICHUANG TECHNOLOGY CO.,LTD. |