CN107402957A - 用户行为模式库的构建及用户行为异常检测方法、系统 - Google Patents
用户行为模式库的构建及用户行为异常检测方法、系统 Download PDFInfo
- Publication number
- CN107402957A CN107402957A CN201710436201.XA CN201710436201A CN107402957A CN 107402957 A CN107402957 A CN 107402957A CN 201710436201 A CN201710436201 A CN 201710436201A CN 107402957 A CN107402957 A CN 107402957A
- Authority
- CN
- China
- Prior art keywords
- mrow
- msub
- user
- data
- user behavior
- 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
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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- 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/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Fuzzy Systems (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
用户行为模式库的构建及用户行为异常检测方法、系统,包括:根据用户访问数据库时产生的审计日志和/或旁路监听方式获得审计数据,并从其中提取出包含用户行为的有效信息;从有效信息中提取出表征用户行为特征的信息并进行加工处理,形成用户访问模式元组;根据所述用户访问模式元组建立用户行为模式库。本发明提供的技术方案,不仅使得数据库访问记录更为全面,而且从语法和数据两个层面对用户操作数据库的意图和访问到的数据及其价值进行分析,描述用户行为更加准确、直观和具体。
Description
技术领域
本发明涉及数据库异常检测领域,具体涉及一种用户行为模式库的构建及用户行为异常检测方法、系统。
背景技术
数据在当今的互联网经济时代扮演着极为重要的角色。数据库作为组织、存储和管理数据的实体,是公司或组织的重要资产,也很容易成为攻击者的攻击目标。针对数据库的异常检测机制可以有效识别系统中用户的异常行为,提升数据库系统的安全性。面向数据库异常检测机制中的重要步骤之一是建立用户行为模式库,这一过程通常包括数据采集与预处理、特征抽取和模式库构建。
用户对数据库的访问记录中包含众多信息,现有工作中提取信息的方法主要有三种:第一种是异常检测机制中普遍使用的基于环境的方法,第二种是Bertino等人提出的基于语法的方法,第三种是Mathew等人提出的基于数据的方法。三种方法侧重点各不相同,虽然基于数据的方法准确率较之前两种高一些,但是这种方法选取返回结果的最小值、最大值、中值、平均值和标准差之类的特征来表示用户行为,并不能适用于动态变化的数据库。
现有的数据库安全产品大多有以下几点不足:基于审计规则,不够灵活;使用基于环境的特征描述用户行为,不够具体,粒度不够细;为单一用户建立行为模式库,不适用于用户众多的大型数据库;存在误操作的可能性,不能及时发现潜在的异常数据库访问行为。
为此,寻找用户行为模式库的构建及用户行为异常检测方法、系统,成为本领域技术人员迫切需要解决的问题。
发明内容
为了解决现有技术中所存在的上述不足,本发明提供了用户行为模式库的构建及用户行为异常检测方法、系统。
第一个方面,本发明提供的一种构建用户行为模式库的方法,包括:
根据用户访问数据库时产生的审计日志和/或旁路监听方式获得审计数据,并从其中提取出包含用户行为的有效信息;
从所述用户行为的有效信息中提取出表征用户行为特征的信息并进行加工处理,形成用户访问模式元组;
根据所述用户访问模式元组建立用户行为模式库。
优选的,对所述表征用户行为特征的信息进行加工处理包括:
对所述表征用户行为特征的有效信息按时间戳进行阶段化处理;
对阶段化处理后的SQL语句进行解析,计算所述SQL语句的敏感值;
所述表征用户行为特征的有效信息包括:时间戳、用户名、SQL语句、数据库表格中各属性的敏感值信息、命令类型、主机地址和用户角色信息。
优选的,所述对SQL语句解析,计算所述SQL语句的敏感值包括:
将所述SQL语句拆分成SQL操作命令、投影表格信息、投影属性信息、选择表格信息和选择属性信息;
通过累加上述每个属性的敏感度来计算SQL语句的敏感值;
所述时间戳、SQL操作命令、投影表格信息、投影属性信息、选择表格信息、选择属性信息和SQL敏感值共同形成用户访问模式元组。
优选的,根据所述用户访问模式元组建立用户行为模式库包括:
利用朴素贝叶斯分类器对所述用户访问模式元组进行机器学习;
根据所述机器学习结果建立用户行为模式库。
优选的,所述机器学习包括:计算先验概率和条件概率;
所述先验概率为角色出现在训练数据中的概率;
所述角色出现在训练数据中的概率按下式计算:
所述条件概率为所述用户访问模式元组中的任一项在角色下的条件概率;
所述用户访问模式元组中的任一项在角色下的条件概率按下式计算:
式中,k=1,2,...,K,表示用户编号,为正整数;rolei:表示编号为I的角色;i=1......N,表示取N个数据;X:用户访问模式元组中的任一项。
优选的,还包括:
当所述审计数据有变化时,基于变化后的审计数据更新所述用户行为模式库。
第二个方面,本申请实施例提供了一种用户行为异常检测方法,包括如下步骤:
在用户访问数据库时,从数据库中提取所述访问数据库的用户对应的用户角色信息;
根据用户访问数据库时从审计数据中获取到的访问数据以及预先训练得到的用户行为模式库,确定所述用户的用户所属角色;
在提取到的用户角色信息与所述用户所属角色不一致时,确定所述用户为异常访问。
优选的,在所述根据用户访问数据库时获取到的访问数据以及预先训练得到的用户行为模式库,确定所述用户的用户所属角色之前,进一步包括:
从审计数据中提取出包含用户行为的有效信息;
从所述有效信息中提取出表征用户行为的特征,形成用户访问模式元组;
根据数据库中若干用户角色以及所述用户访问模式元组进行机器学习,训练得到用户行为模式库。
优选的,所述从审计数据中提取出包含用户行为的有效信息,包括:从审计日志中提取SQL语句、操作时间及用户名;从数据库中旁路监听得到数据库表格中各属性的敏感值;
所述从所述有效信息中提取出表征用户行为的特征,形成用户访问模式元组,包括:将SQL语句按操作时间进行阶段化处理;将阶段化处理后的SQL语句解析为操作命令、关系信息及属性信息;根据数据库表格中各属性的敏感值计算所述SQL语句的敏感值。
优选的,所述根据用户访问数据库时获取到的访问数据以及预先训练得到的用户行为模式库,确定所述用户的用户所属角色,包括:
将用户访问数据库时获取到的访问数据输入至所述用户行为模式库,所述访问数据包括:时间戳、SQL敏感值、SQL操作命令、投影表格信息、投影属性信息、选择表格信息和选择属性信息;
所述用户行为模式库按下式计算角色出现的概率以及各角色下每个特征所有可能值出现的概率,最终确定用户所属角色:
式中,t,m,c,Pt,Pa,St,Sa分别对应时间戳、SQL敏感值、SQL操作命令、投影表格信息、投影属性信息、选择表格信息和选择属性信息;rk:角色;i:第i列。
优选的,所述角色出现的概率按下式计算:
各角色下每个特征所有可能值出现的概率按下式计算:
式中,k=1,2,...,K,表示用户编号,为正整数;rolei:表示编号为I的角色;i=1......N,表示取N个数据;X:用户访问模式元组中的任一项。
优选的,进一步包括:
当所述审计数据发生变化时,基于变化后的审计数据进行训练,更新所述用户行为模式库。
第三个方面,本方面提供了一种构建用户行为模式库的系统,所述系统包括:数据采集模块、数据分析模块和模式库建立模块;
所述数据采集模块,用于采集用户访问数据库时产生的审计日志和/或旁路监听方式获得的审计数据,并从其中提取出包含用户行为的有效信息;
所述数据分析模块,用于从所述用户行为的有效信息中提取出表征用户行为的特征信息并进行分析处理,形成用户访问模式元组;
所述模式库建立模块,用于根据所述用户访问模式元组建立用户行为模式库。
第四个方面,本发明提供了一种用户行为异常检测系统,所述系统包括采集模块、信息处理模块和对比分析模块;
所述采集模块,用于在用户访问数据库时,从数据库中提取所述访问数据库的用户对应的用户角色信息;
所述信息处理模块,用于根据用户访问数据库时的访问数据以及预先训练得到的用户行为模式库对访问数据进行分析处理,确定用户所属角色;
所述对比分析模块,用于在提取到的用户角色信息与所述用户所属角色不一致时,确定所述用户为异常访问。
与现有技术相比,本发明的有益效果为:
(1)本发明提供的技术方案中,数据库访问记录获取方法包括采集审计日志和旁路监听方法两种,更为全面。
(2)本发明提供的技术方案中,对用户访问数据库的SQL语句进行细粒度解析,从语法层面分析用户操作数据库的意图,描述用户行为更加准确。
(3)本发明提供的技术方案中,根据数据库敏感信息,计算用户操作的敏感值,从数据层面分析用户访问到的数据及其价值,描述用户行为更为直观和具体。
(4)本发明提供的技术方案中,使用朴素贝叶斯分类器,为数据库中每类角色构建用户行为模式库,适用于用户众多的大型数据库,相较于为每个用户建立模式库效率更高。
(5)本发明提供的技术方案,构建了用户行为模式库,能够快速的判断访问用户是否为正常访问,及时高效的发现潜在的异常数据库访问行为。
附图说明
图1为本发明的审计数据获取方法示意图;
图2为本发明的用户行为模式库构建流程图;
其中,1-用户、2-端口镜像、3-数据库、4-审计日志、5-用户行为异常检测。
具体实施方式
为了更好地理解本发明,下面结合说明书附图和实例对本发明的内容做进一步的说明。
下面结合附图对本发明的具体实施方式做进一步的详细说明。
本实施例中提供一种构建用户行为模式库的方法。如图2,该方法主要包括数据获取与数据预处理、用户行为模式库构建三大步骤,利用用户访问数据库的审计数据,挖掘能够体现用户操作习惯的信息,最终建立用户行为模式库。
实施例一:构建用户行为模式库的方法包括以下步骤:
步骤一、根据用户访问数据库时产生的审计日志和/或旁路监听方式获得的审计数据中提取出包含用户行为的有效信息;
审计数据获取的方法包括采集审计日志和旁路监听两种方法,如图1,从审计数据中主要提取SQL语句、操作时间和用户名,从数据库中获得各表格属性的敏感值信息和用户角色。
数据库数据中包含有用户1访问数据库1的详细信息,包括时间戳、用户名、命令类型、主机地址、SQL语句等。采集数据库1的审计日志(以MySQL为例)和采用监听的方法获得数据库1访问数据包是两种较为常见的审计数据获取方法。
审计数据包括审计日志、旁路获取的流量等不同的来源,审计日志可以直接从数据库获取。审计日志是数据库开启审计功能时产生的日志,比如MySQL数据库的general_log。开启数据库的审计功能就可以得到。旁路获取的流量就是指旁路监听方法获取的审计数据。
①时间戳能够反映用户进行操作的时间,审计日志4中event_time字段记录每条SQL语句执行的具体时间,监听方法中系统可以标记时间戳;
②SQL语句是用户发起数据库请求的核心内容,审计日志argument字段中包含未经处理的SQL语句,解析数据库访问数据包同样可以获得;
③用户名标识执行SQL语句的主体,审计日志中user_host字段中含有执行操作的用户名,而数据库访问数据包中连接信息可以获取用户名;
④数据库表格中各属性的敏感值信息需要由相关领域的专家给出。例如最大敏感度为10的话,牵涉用户私人信息的表格较其他表格敏感度更高,同一表格中关乎用户银行卡信息的属性比其他属性敏感度更高。
⑤用户的角色信息通过查询数据库获取。
关注用户角色信息考虑到大型数据库的实际需求,原因有三,一是数据库3用户众多的情况下,显然为每个单独的用户建立行为模式库效率不够高,二是数据库中用户活跃程度不同,过于活跃的用户,用户行为模式库容易产生过拟合,而过于不活跃的用户,用户行为模式库容易产生欠拟合,检测时产生较多误报和漏报现象;三是,数据库系统中很多用户(尤其是同一角色下的)行为模式很相似。所以,对于大型数据库,采集用户角色信息并对每一类用户建立行为模式库,相较于为单一用户建立行为模式库更为合适。
步骤二、从所述用户行为的有效信息中提取出表征用户行为特征的信息并进行加工处理,形成用户访问模式元组;
对表征用户行为特征的信息加工处理具体地说,包括以下步骤:
S201、将时间戳进行阶段化处理;
S202、对SQL语句进行解析,解析操作命令、关系信息、属性信息;
S203、结合数据库表结构中各表格和属性的敏感度,计算该SQL语句的敏感值。
步骤S201中,处理时间戳特征,将一天24小时划分为00:01-06:00、06:01-09:00、09:01-12:00、12:01-15:00、15:01-18:00、18:01-24:00六个阶段。
步骤S202中,对于SQL语句的处理,本方法将一个典型的SQL语句拆分成<SQL命令,投影表格信息,投影属性信息,选择表格信息,选择属性信息>五元组。SQL命令是用户发起的操作,如SELECT、UPDATE、DELETE、INSERT等,投影表格信息和选择表格信息是用户发起的SQL语句访问到的表格,投影属性信息和选择属性信息则是对每一个访问到的表格涉及到的属性信息。投影表格信息和投影属性信息从SQL命令和WHERE字句中间部分获取,选择表格信息和选择属性信息从SQL语句中的WHERE子句中获得。
例如在某数据库中有两张表格T1和T2,T1中有属性A1、B1、C1、D1,T2中有属性A2、B2、C2、D2,一条典型的SQL语句如下:
SELECT T1.A1,T1.C1,T2.B2,T2.D2
FROM T1,T2
WHERE T1.B1=T2.B2
对该SQL语句解析,操作命令为SELECT,投影表格信息为T1、T2,投影属性信息为A1、C1、B2、D2,选择表格信息为T1、T2,选择属性信息为B1、B2。
步骤S203中,根据步骤S202中分析得到的SQL语句表格和属性信息,结合已知的数据库属性敏感信息(步骤一中已经获取),通过累加每个属性的敏感度来计算每条SQL语句的敏感值。
需要强调的是,本方法计算敏感值时,考虑到的是该SQL语句牵涉到的所有属性。例如上例中SQL语句的敏感值为属性A1、B1、C1、B2、D2敏感值的和。而对于SQL语句
SELECT*
FROM T1
其敏感值由A1、B1、C1、D1的敏感值累加得到。
经过上述步骤S201-S203完成用户行为的表示,得到能够表示用户操作行为的七元组,该七元组表示为<时间戳,敏感值,操作命令,投影表格信息,投影属性信息,选择表格信息,选择属性信息>,缩写表示为<t,m,c,Pt,Pa,St,Sa>,t,m,c,Pt,Pa,St,Sa分别对应时间戳、敏感值、操作命令、投影表格信息、投影属性信息、选择表格信息和选择属性信息。
步骤三、根据所述用户访问模式元组建立用户行为模式库
基于数据库中的每个角色,利用朴素贝叶斯分类器,在步骤二中处理过的数据集中进行机器学习,形成用户的行为模式库。
假设经过步骤二获得N条训练数据,数据库中有K种角色,训练数据格式如表1。
表1训练数据格式
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | … | |
T | T1 | T1 | T1 | T1 | T2 | T2 | T2 | T3 | T3 | T3 | … |
M | M1 | M1 | M2 | M2 | M3 | M4 | M2 | M4 | M3 | M2 | … |
C | C1 | C1 | C3 | C2 | C4 | C2 | C4 | C1 | C2 | C4 | … |
Pt | Pt2 | Pt3 | Pt3 | Pt2 | Pt1 | Pt4 | Pt2 | Pt1 | Pt4 | Pt2 | … |
Pa | Pa2 | Pa2 | Pa1 | Pa4 | Pa4 | Pa4 | Pa2 | Pa3 | Pa2 | Pa4 | … |
St | St1 | St3 | St4 | St2 | St3 | St1 | St3 | St4 | St2 | St3 | … |
Sa | Sa3 | Sa4 | Sa1 | Sa2 | Sa4 | Sa3 | Sa4 | Sa1 | Sa2 | Sa4 | … |
role | r1 | r2 | r2 | r2 | r1 | r3 | r4 | r1 | r2 | r1 | … |
利用朴素贝叶斯分类器进行模式库构建的算法步骤如下:
①计算先验概率,即每个角色出现在训练数据中的概率。
②计算条件概率,以特征时间戳为例,假设训练集中ti的取值共有L种。
依次类推,可分别计算其他特征在rk下的条件概率。
最终,经过以上步骤得到面向数据库异常检测的用户行为模式库,即角色出现的概率和各个角色下每个特征所有可能值出现的概率。
本发明还提供了一种用户行为异常检测方法,利用实施例一中构建的用户行为模式库对访问数据库的用户行为进行检测。
实施例二:
当有用户访问数据库时,使用预先构建的用户行为模式库进行判别,判别条件包括:在用户访问数据库时,从数据库中提取访问数据库的用户对应的用户角色信息。
根据用户访问数据库时从审计数据中获取到的访问数据以及预先训练得到的用户行为模式库,确定所述用户的用户所属角色;
在提取到的用户角色信息与所述用户所属角色不一致时,确定所述用户为异常访问。
并将用户访问行为添加到审计数据中,实时更新用户行为模式库。
例如,对于特征时间戳,各个角色对应时间戳所有可能值的概率见表2。
表2各个角色对应时间戳可能取值的概率统计表:
T1 | T2 | T3 | … | |
r1 | P(t1|r1) | P(t2|r1) | P(t3|r1) | … |
r2 | P(t1|r2) | P(t2|r2) | P(t3|r2) | … |
r3 | P(t1|r3) | P(t2|r3) | P(t3|r3) | … |
r4 | P(t1|r4) | P(t2|r4) | P(t3|r4) | … |
这样的行为模式库将用于面向数据库访问的用户行为检测。假设给定数据库访问数据<ti,mi,ci,Pti,Pai,Sti,Sai>,根据训练好的行为模式库,计算出朴素贝叶斯分类器给出的用户所属角色为:
将提取到的用户角色信息与朴素贝叶斯给出的判定结果比对,如果不一致,可认为是异常访问。
在检测过程后,还应当从采用审计日志和旁路监听方法获取的用户行为的有效信息中提取用户行为特征信息对用户行为模式库进行更新。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。
Claims (14)
1.一种构建用户行为模式库的方法,其特征在于,所述方法包括:
根据用户访问数据库时产生的审计日志和/或旁路监听方式获得审计数据,并从其中提取出包含用户行为的有效信息;
从所述用户行为的有效信息中提取出表征用户行为特征的信息并进行加工处理,形成用户访问模式元组;
根据所述用户访问模式元组建立用户行为模式库。
2.如权利要求1所述的构建用户行为模式库的方法,其特征在于,对所述表征用户行为特征的信息进行加工处理包括:
对所述表征用户行为特征的有效信息按时间戳进行阶段化处理;
对阶段化处理后的SQL语句进行解析,计算所述SQL语句的敏感值;
所述表征用户行为特征的有效信息包括:时间戳、用户名、SQL语句、数据库表格中各属性的敏感值信息、命令类型、主机地址和用户角色信息。
3.如权利要求2所述的构建用户行为模式库的方法,其特征在于,所述对SQL语句解析,计算所述SQL语句的敏感值包括:
将所述SQL语句拆分成SQL操作命令、投影表格信息、投影属性信息、选择表格信息和选择属性信息;
通过累加上述每个属性的敏感度来计算SQL语句的敏感值;
所述时间戳、SQL操作命令、投影表格信息、投影属性信息、选择表格信息、选择属性信息和SQL敏感值共同形成用户访问模式元组。
4.如权利要求1所述的构建用户行为模式库的方法,其特征在于,根据所述用户访问模式元组建立用户行为模式库包括:
利用朴素贝叶斯分类器对所述用户访问模式元组进行机器学习;
根据所述机器学习结果建立用户行为模式库。
5.如权利要求4所述的构建用户行为模式库的方法,其特征在于,所述机器学习包括:计算先验概率和条件概率;
所述先验概率为角色出现在训练数据中的概率;
所述角色出现在训练数据中的概率按下式计算:
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>r</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<mi>I</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>role</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<msub>
<mi>r</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
<mi>N</mi>
</mfrac>
<mo>,</mo>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2</mn>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<mi>K</mi>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
所述条件概率为所述用户访问模式元组中的任一项在角色下的条件概率;
所述用户访问模式元组中的任一项在角色下的条件概率按下式计算:
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>X</mi>
<mrow>
<mi>j</mi>
</mrow>
</msub>
<mo>|</mo>
<msub>
<mi>r</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<mi>I</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>X</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<msub>
<mi>X</mi>
<mi>j</mi>
</msub>
<mo>,</mo>
<msub>
<mi>role</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<msub>
<mi>r</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<mi>I</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>role</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<msub>
<mi>r</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
<mo>,</mo>
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2</mn>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<mi>L</mi>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</mrow>
式中,k=1,2,...,K,表示用户编号,为正整数;rolei:表示编号为I的角色;i=1......N,表示取N个数据;X:用户访问模式元组中的任一项。
6.如权利要求1所述的构建用户行为模式库的方法,其特征在于,还包括:
当所述审计数据有变化时,基于变化后的审计数据更新所述用户行为模式库。
7.一种用户行为异常检测方法,其特征在于,包括如下步骤:
在用户访问数据库时,从数据库中提取所述访问数据库的用户对应的用户角色信息;
根据用户访问数据库时从审计数据中获取到的访问数据以及预先训练得到的用户行为模式库,确定所述用户的用户所属角色;
在提取到的用户角色信息与所述用户所属角色不一致时,确定所述用户为异常访问。
8.如权利要求7所述的用户行为异常检测方法,其特征在于,在所述根据用户访问数据库时获取到的访问数据以及预先训练得到的用户行为模式库,确定所述用户的用户所属角色之前,进一步包括:
从审计数据中提取出包含用户行为的有效信息;
从所述有效信息中提取出表征用户行为的特征,形成用户访问模式元组;
根据数据库中若干用户角色以及所述用户访问模式元组进行机器学习,训练得到用户行为模式库。
9.如权利要求8所述的用户行为异常检测方法,其特征在于,所述从审计数据中提取出包含用户行为的有效信息,包括:从审计日志中提取SQL语句、操作时间及用户名;从数据库中旁路监听得到数据库表格中各属性的敏感值;
所述从所述有效信息中提取出表征用户行为的特征,形成用户访问模式元组,包括:将SQL语句按操作时间进行阶段化处理;将阶段化处理后的SQL语句解析为操作命令、关系信息及属性信息;根据数据库表格中各属性的敏感值计算所述SQL语句的敏感值。
10.如权利要求7所述的用户行为异常检测方法,其特征在于,所述根据用户访问数据库时获取到的访问数据以及预先训练得到的用户行为模式库,确定所述用户的用户所属角色,包括:
将用户访问数据库时获取到的访问数据输入至所述用户行为模式库,所述访问数据包括:时间戳、SQL敏感值、SQL操作命令、投影表格信息、投影属性信息、选择表格信息和选择属性信息;
所述用户行为模式库按下式计算角色出现的概率以及各角色下每个特征所有可能值出现的概率,最终确定用户所属角色:
<mrow>
<msub>
<mi>r</mi>
<mrow>
<mi>u</mi>
<mi>s</mi>
<mi>e</mi>
<mi>r</mi>
</mrow>
</msub>
<mo>=</mo>
<mi>arg</mi>
<munder>
<mi>max</mi>
<mrow>
<msub>
<mi>r</mi>
<mi>k</mi>
</msub>
<mo>&Element;</mo>
<mi>R</mi>
</mrow>
</munder>
<mo>{</mo>
<mi>p</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>r</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
<mi>p</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>t</mi>
<mi>i</mi>
</msub>
<mo>|</mo>
<msub>
<mi>r</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
<mi>p</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>m</mi>
<mi>i</mi>
</msub>
<mo>|</mo>
<msub>
<mi>r</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
<mi>p</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>c</mi>
<mi>i</mi>
</msub>
<mo>|</mo>
<msub>
<mi>r</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
<mi>p</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>P</mi>
<mrow>
<mi>t</mi>
<mi>i</mi>
</mrow>
</msub>
<mo>|</mo>
<msub>
<mi>r</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
<mi>p</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>P</mi>
<mrow>
<mi>a</mi>
<mi>i</mi>
</mrow>
</msub>
<mo>|</mo>
<msub>
<mi>r</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
<mi>p</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>S</mi>
<mrow>
<mi>t</mi>
<mi>i</mi>
</mrow>
</msub>
<mo>|</mo>
<msub>
<mi>r</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
<mi>p</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>S</mi>
<mrow>
<mi>a</mi>
<mi>i</mi>
</mrow>
</msub>
<mo>|</mo>
<msub>
<mi>r</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>}</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>3</mn>
<mo>)</mo>
</mrow>
</mrow>
式中,t,m,c,Pt,Pa,St,Sa分别对应时间戳、SQL敏感值、SQL操作命令、投影表格信息、投影属性信息、选择表格信息和选择属性信息;rk:角色;i:第i列。
11.如权利要求10所述的用户行为异常检测方法,其特征在于,所述角色出现的概率按下式计算:
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>r</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<mi>I</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>role</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<msub>
<mi>r</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
<mi>N</mi>
</mfrac>
<mo>,</mo>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2</mn>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<mi>K</mi>
<mo>;</mo>
</mrow>
各角色下每个特征所有可能值出现的概率按下式计算:
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>X</mi>
<mrow>
<mi>j</mi>
</mrow>
</msub>
<mo>|</mo>
<msub>
<mi>r</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<mi>I</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>X</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<msub>
<mi>X</mi>
<mi>j</mi>
</msub>
<mo>,</mo>
<msub>
<mi>role</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<msub>
<mi>r</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<mi>I</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>role</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<msub>
<mi>r</mi>
<mi>k</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
<mo>,</mo>
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2</mn>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<mi>L</mi>
<mo>;</mo>
</mrow>
式中,k=1,2,...,K,表示用户编号,为正整数;rolei:表示编号为I的角色;i=1......N,表示取N个数据;X:用户访问模式元组中的任一项。
12.如权利要求7所述的用户行为异常检测方法,其特征在于,进一步包括:
当所述审计数据发生变化时,基于变化后的审计数据进行训练,更新所述用户行为模式库。
13.一种构建用户行为模式库的系统,其特征在于,所述系统包括:数据采集模块、数据分析模块和模式库建立模块;
所述数据采集模块,用于采集用户访问数据库时产生的审计日志和/或旁路监听方式获得的审计数据,并从其中提取出包含用户行为的有效信息;
所述数据分析模块,用于从所述用户行为的有效信息中提取出表征用户行为的特征信息并进行分析处理,形成用户访问模式元组;
所述模式库建立模块,用于根据所述用户访问模式元组建立用户行为模式库。
14.一种用户行为异常检测系统,其特征在于,所述系统包括采集模块、信息处理模块和对比分析模块;
所述采集模块,用于在用户访问数据库时,从数据库中提取所述访问数据库的用户对应的用户角色信息;
所述信息处理模块,用于根据用户访问数据库时的访问数据以及预先训练得到的用户行为模式库对访问数据进行分析处理,确定用户所属角色;
所述对比分析模块,用于在提取到的用户角色信息与所述用户所属角色不一致时,确定所述用户为异常访问。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710436201.XA CN107402957B (zh) | 2017-06-09 | 2017-06-09 | 用户行为模式库的构建及用户行为异常检测方法、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710436201.XA CN107402957B (zh) | 2017-06-09 | 2017-06-09 | 用户行为模式库的构建及用户行为异常检测方法、系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107402957A true CN107402957A (zh) | 2017-11-28 |
CN107402957B CN107402957B (zh) | 2023-02-07 |
Family
ID=60404539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710436201.XA Active CN107402957B (zh) | 2017-06-09 | 2017-06-09 | 用户行为模式库的构建及用户行为异常检测方法、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107402957B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108494741A (zh) * | 2018-03-05 | 2018-09-04 | 同济大学 | 基于线上用户合成行为的身份盗用检测方法 |
CN109347808A (zh) * | 2018-09-26 | 2019-02-15 | 北京计算机技术及应用研究所 | 一种基于用户群行为活动的安全分析方法 |
CN109936548A (zh) * | 2017-12-18 | 2019-06-25 | 航天信息股份有限公司 | 基于pki平台的异常行为检测方法及装置 |
CN110990867A (zh) * | 2019-11-28 | 2020-04-10 | 上海观安信息技术股份有限公司 | 基于数据库的数据泄露检测模型的建模方法、装置,泄露检测方法、系统 |
CN111291334A (zh) * | 2018-12-07 | 2020-06-16 | 中国移动通信集团陕西有限公司 | 一种操作行为安全审计方法及装置 |
CN115277150A (zh) * | 2022-07-21 | 2022-11-01 | 格尔软件股份有限公司 | 异常访问行为分析方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100257580A1 (en) * | 2009-04-03 | 2010-10-07 | Juniper Networks, Inc. | Behavior-based traffic profiling based on access control information |
CN101902366A (zh) * | 2009-05-27 | 2010-12-01 | 北京启明星辰信息技术股份有限公司 | 一种业务行为异常检测方法和系统 |
US20120197919A1 (en) * | 2011-01-28 | 2012-08-02 | International Business Machines Corporation | Masking Sensitive Data of Table Columns Retrieved From a Database |
CN104424354A (zh) * | 2013-08-27 | 2015-03-18 | 国际商业机器公司 | 使用用户操作生成模型检测异常用户行为的方法和系统 |
CN106156026A (zh) * | 2015-03-24 | 2016-11-23 | 中国人民解放军国防科学技术大学 | 一种基于数据流虚拟资产在线异常发现的方法 |
-
2017
- 2017-06-09 CN CN201710436201.XA patent/CN107402957B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100257580A1 (en) * | 2009-04-03 | 2010-10-07 | Juniper Networks, Inc. | Behavior-based traffic profiling based on access control information |
CN101902366A (zh) * | 2009-05-27 | 2010-12-01 | 北京启明星辰信息技术股份有限公司 | 一种业务行为异常检测方法和系统 |
US20120197919A1 (en) * | 2011-01-28 | 2012-08-02 | International Business Machines Corporation | Masking Sensitive Data of Table Columns Retrieved From a Database |
CN104424354A (zh) * | 2013-08-27 | 2015-03-18 | 国际商业机器公司 | 使用用户操作生成模型检测异常用户行为的方法和系统 |
CN106156026A (zh) * | 2015-03-24 | 2016-11-23 | 中国人民解放军国防科学技术大学 | 一种基于数据流虚拟资产在线异常发现的方法 |
Non-Patent Citations (5)
Title |
---|
ASHISH KAMRA等: "Detecting anomalous access patterns in relational databases", 《SPRINGER LINK》 * |
PUINT METHA等: "SQLshield:Preventing SQL Injection Attacks by Modifying User Input Data", 《SPRINGER》 * |
朱平芳等: "《统计学理论前沿》", 31 July 2016 * |
李林璠: "基于数据仓库的GPRS套餐精确营销系统设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
李殿伟等: "基于角色行为模式挖掘的内部威胁检测研究", 《信息网络安全》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109936548A (zh) * | 2017-12-18 | 2019-06-25 | 航天信息股份有限公司 | 基于pki平台的异常行为检测方法及装置 |
CN108494741A (zh) * | 2018-03-05 | 2018-09-04 | 同济大学 | 基于线上用户合成行为的身份盗用检测方法 |
CN108494741B (zh) * | 2018-03-05 | 2020-09-15 | 同济大学 | 基于线上用户合成行为的身份盗用检测方法 |
CN109347808A (zh) * | 2018-09-26 | 2019-02-15 | 北京计算机技术及应用研究所 | 一种基于用户群行为活动的安全分析方法 |
CN109347808B (zh) * | 2018-09-26 | 2021-02-12 | 北京计算机技术及应用研究所 | 一种基于用户群行为活动的安全分析方法 |
CN111291334A (zh) * | 2018-12-07 | 2020-06-16 | 中国移动通信集团陕西有限公司 | 一种操作行为安全审计方法及装置 |
CN110990867A (zh) * | 2019-11-28 | 2020-04-10 | 上海观安信息技术股份有限公司 | 基于数据库的数据泄露检测模型的建模方法、装置,泄露检测方法、系统 |
CN110990867B (zh) * | 2019-11-28 | 2023-02-07 | 上海观安信息技术股份有限公司 | 基于数据库的数据泄露检测模型的建模方法、装置,泄露检测方法、系统 |
CN115277150A (zh) * | 2022-07-21 | 2022-11-01 | 格尔软件股份有限公司 | 异常访问行为分析方法、装置、计算机设备和存储介质 |
CN115277150B (zh) * | 2022-07-21 | 2024-04-12 | 格尔软件股份有限公司 | 异常访问行为分析方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107402957B (zh) | 2023-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107402957A (zh) | 用户行为模式库的构建及用户行为异常检测方法、系统 | |
US11093519B2 (en) | Artificial intelligence (AI) based automatic data remediation | |
Wang et al. | Heterogeneous network representation learning approach for ethereum identity identification | |
Cohen et al. | Real-time data mining of non-stationary data streams from sensor networks | |
WO2019019630A1 (zh) | 反欺诈识别方法、存储介质、承载平安脑的服务器及装置 | |
Kuna et al. | Outlier detection in audit logs for application systems | |
CN106897930A (zh) | 一种信用评估的方法及装置 | |
CN101841435A (zh) | Dns查询流量异常的检测方法、装置和系统 | |
Ren et al. | Anomaly detection in time series based on interval sets | |
CN109740044A (zh) | 一种基于时间序列智能预测的企业异动预警方法 | |
Dulá et al. | DEA with streaming data | |
CN106971007A (zh) | 一种利用数据结构控制的数据处理与数据分析框架 | |
CN114448657B (zh) | 一种配电通信网络安全态势感知与异常入侵检测方法 | |
Zumel et al. | vtreat: a data. frame Processor for Predictive Modeling | |
Shan et al. | COVID‐19 patient diagnosis and treatment data mining algorithm based on association rules | |
CN113268732B (zh) | Solidity智能合约相似性检测方法及系统 | |
Zubi et al. | Using data mining techniques to analyze crime patterns in the libyan national crime data | |
CN117831701A (zh) | 一种基于规则引擎的电子病例质控方法 | |
CN105447076A (zh) | 基于网页标签的安全监控方法和系统 | |
Ghodratnama et al. | Am i rare? an intelligent summarization approach for identifying hidden anomalies | |
Drakopoulos et al. | Network effects in contagion processes: Identification and control | |
CN113642669B (zh) | 基于特征分析的防欺诈检测方法、装置、设备及存储介质 | |
Zhai et al. | Big data analysis of accounting forecasting based on machine learning | |
Gupta et al. | Security measures in data mining | |
CN113919415A (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 |