CN106101116B - 一种基于主成分分析的用户行为异常检测系统及方法 - Google Patents
一种基于主成分分析的用户行为异常检测系统及方法 Download PDFInfo
- Publication number
- CN106101116B CN106101116B CN201610489907.8A CN201610489907A CN106101116B CN 106101116 B CN106101116 B CN 106101116B CN 201610489907 A CN201610489907 A CN 201610489907A CN 106101116 B CN106101116 B CN 106101116B
- Authority
- CN
- China
- Prior art keywords
- user
- user behavior
- behavior
- vector
- historical
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种基于主成分分析的用户行为异常检测系统及方法,属于计算机技术领域,该系统包括用户行为预处理模块、用户行为训练模块、PCA模块、用户行为检测模块、用户行为异常处理模块。该方法包括用户行为训练阶段和用户行为检测阶段,用户行为训练阶段用于产生用户行为异常阈值;用户行为检测阶段利用用户行为异常阈值判断实时用户行为是否异常;本发明利用PCA方法检测用户的异常行为,PCA对异常值变化非常敏感,用户行为异常对主方向影响大,使用户行为检测结果更有效;检测过程没有重复运算,增加了检测效率,且易于实现;使用阈值来检测实时用户行为是否异常,使检测具有高效、便捷的特点。
Description
技术领域
本发明属于计算机技术领域,具体涉及一种基于主成分分析的用户行为异常检测系统及方法。
背景技术
随着信息化进程的推进,互联网和网络数据业务的飞速发展,越来越多的人开始应用互联网获取信息。网络用户可以通过网络存储文件、浏览网站、建立远程视频互动、订购车票和购物等。然而,在享受网络便利的同时,我们也正面临着各种网络攻击手段所带来的威胁。传统的用户身份认证机制,如访问控制、数据加密、身份认证等,都是使用密码进行用户认证,而密码容易被非法用户破解,导致这些机制的安全性较差,不能保证用户与服务器进行安全信息交换。审计技术是被大部分数据库系统采用的一种入侵检测技术,审计技术有易于监视、易于追踪的优点,但也存在着通过人工方法很难从庞大的审计数据中找出可疑的入侵行为和无法实现实时的在线检测入侵行为等缺点。
用户行为分析方法是根据每一个合法用户基本行为具有一定规则的特点提出的。现有的用户行为异常检测大多是基于数据挖掘方法和机器学习的方法,方法主要集中在关联分析、聚类分析、序列模式分析上,需要进行海量的数据源审计,导致系统运行速度慢,系统的响应时间长,常出现假死现象。同时,现有的数据挖掘方法和机器学习方法过程设计较为复杂,需要很长的运行时间才能得到结果,比如,基于隐马尔可夫模型(Hidden MarkovModel,HMM)的用户行为检测方法,该方法利用HMM在用户界面层建立合法用户的正常行为轮廓,并采用Baum-Welch算法对HMM进行训练,在检测阶段利用近似的前向后向算法和贝叶斯准则判断用户当前行为是否出现异常,虽然该方法可以对用户行为进行检测,但所需要的计算量很大,检测效率和实时性较差;基于神经网络的用户行为检测方法,检测过程中运行效率低,而且过程需要人为的干预,实用性差。
发明内容
针对上述现有技术存在的不足,本发明提供一种基于主成分分析的用户行为异常检测系统及方法。
本发明的技术方案:
一种基于主成分分析的用户行为异常检测系统,所述用户行为包括两种类型:用户数据库访问行为和用户Web服务器访问行为;每种类型的用户行为中用户行为元素包括:当用户行为为数据库访问行为时,用户行为元素包括用户访问的数据表名、用户访问时间、用户访问表中的主键、用户访问的原始数据和用户更改数据;当用户行为为Web服务器访问行为,用户行为元素包括用户向Web服务器提出的访问请求的对象和相邻访问请求的时间间隔;
所述系统包括:
用户行为预处理模块,(1)在用户行为训练阶段,用于从数据库中获取一种用户行为类型历史用户行为数据;从历史用户行为数据中提取用户行为类型对应的用户行为元素,并将用户行为元素转换为向量元素,得到历史用户行为向量;将历史用户行为向量分组构建历史用户行为矩阵;求解每个历史用户行为矩阵的最大特征值对应的特征向量;将每个特征向量中每一个元素的值减去向量所有元素的平均值,得到历史用户行为特征向量集合,并发送到用户行为训练模块;
(2)在用户行为检测阶段,用于实时获取实时用户行为数据,并判断用户行为类型;从每个实时用户行为数据中提取用户行为类型对应的用户行为元素,并将用户行为元素转换为向量元素,得到实时用户行为向量;将实时用户行为向量分组构建m个实时用户行为矩阵;求解每个实时用户行为矩阵的最大特征值对应的特征向量;将m个特征向量中每一个元素的值减去向量所有元素的平均值,得到实时用户行为特征向量,并发送到用户行为检测模块;
用户行为训练模块,用于在用户行为训练阶段,接收用户行为预处理模块发送的历史用户行为特征向量集合,并将集合中不可信的历史用户行为特征向量删除,得到历史用户正常行为特征向量集合,并发送到PCA模块;接收PCA模块发送的历史用户正常行为特征向量的主方向,选取其中一个子集的主方向作为历史用户正常行为特征向量的主方向样本,计算其他所有子集合中历史用户正常行为特征向量的主方向与主方向样本之间的相似系数,即历史用户正常行为相似系数,定义异常值为1减去相似系数的绝对值,计算每个历史用户正常行为相似系数的异常值,并将异常值的平均值加上异常值的标准差,得到用户行为异常阈值,并发送给用户行为检测模块;将历史用户正常行为特征向量的主方向样本发送给用户行为检测模块;
所述将每组中不可信的历史用户行为特征向量删除的具体方法为:对每组中所有历史用户行为特征向量中位置相同的对应元素求取平均值和标准差,将平均值与标准差的倍数分别相加、相减后得到历史用户行为特征向量中该位置元素可信区间,如果一个历史用户行为特征向量中的任何一个元素不在该元素所在位置的可信区间内,就将这一用户行为特征向量删除;
PCA模块,(1)在用户行为训练阶段,用于接收用户行为训练模块发送的用户正常行为特征向量集合,将历史用户正常行为特征向量集合中每m个向量构成一个历史用户正常行为特征向量子集合,使用PCA计算每个历史用户正常行为特征向量子集合中历史用户正常行为特征向量的主方向,并发送给用户行为训练模块;
(2)在用户行为检测阶段,用于获取用户行为检测模块发送的m个实时用户行为特征向量,并将m个实时用户行为特征向量构成实时用户行为特征向量集合,使用PCA计算实时用户行为特征向量集合中实时用户行为特征向量的主方向,并发送给用户行为检测模块;
用户行为检测模块,用于在用户行为检测阶段,接收用户行为训练模块发送的每种用户行为类型的用户行为异常阈值、历史用户正常行为特征向量的主方向样本和用户行为预处理模块发送的m个实时用户行为特征向量,并将m个实时用户行为特征向量发送给PCA模块;接收PCA模块发送的实时用户行为特征向量的主方向,并计算实时用户行为特征向量的主方向与同种用户行为类型的历史用户正常行为特征向量的主方向样本之间的相似系数,即实时用户行为相似系数;根据实时用户行为相似系数与同种用户行为类型用户行为异常阈值,判断实时用户行为是否异常,如果实时用户行为异常,则将该用户实时用户行为特征向量发送给用户行为异常处理模块;如果实时用户行为正常,将该用户实时用户行为特征向量放入用户行为类型对应的数据库中;
用户行为异常处理模块,如果接收到用户行为检测模块发送的该用户实时用户行为特征向量,则停止该用户相应用户行为类型的操作,并进行报警。
所述相似系数采用如下公式生成:
其中,qij为相似系数,xik为第i个主方向Xi=(xi1,xi2,…xik,…,xim)′中的第k个元素,xjk为第j个主方向Xj=(xj1,xj2,…,xjk,…,xjm)′中的第k个元素;
一种基于主成分分析的用户行为异常检测方法,采用基于主成分分析的用户行为异常检测系统实现,所述用户行为包括两种类型:用户数据库访问行为和用户Web服务器访问行为;每种类型的用户行为中用户行为元素包括:当用户行为为数据库访问行为时,用户行为元素包括用户访问的数据表名、用户访问时间、用户访问表中的主键、用户访问的原始数据和用户更改数据;当用户行为为Web服务器访问行为,用户行为元素包括用户向Web服务器提出的访问请求的对象和相邻访问请求的时间间隔;
所述方法包括:用户行为训练阶段和用户行为检测阶段;
用户行为训练阶段包括如下步骤:
步骤1:从数据库中获取一种用户行为类型历史用户行为数据;
步骤2:对历史用户行为数据进行预处理;
步骤2.1:从历史用户行为数据中提取用户行为类型对应的用户行为元素,并将用户行为元素转换为向量元素,得到历史用户行为向量;
步骤2.2:将历史用户行为向量分组构建历史用户行为矩阵;
步骤2.3:求解每个历史用户行为矩阵的最大特征值对应的特征向量;
步骤2.4:将每个特征向量中每一个元素的值减去向量所有元素的平均值,得到历史用户行为特征向量集合;
步骤3:将历史用户行为特征向量集合中不可信的历史用户行为特征向量删除,得到历史用户正常行为特征向量集合;
所述将每组中不可信的历史用户行为特征向量删除的具体方法如下:
对每组中所有历史用户行为特征向量中位置相同的对应元素求取平均值和标准差,将平均值与标准差的倍数分别相加、相减后得到历史用户行为特征向量中该位置元素可信区间,如果一个历史用户行为特征向量中的任何一个元素不在该元素所在位置的可信区间内,就将这一用户行为特征向量删除。
步骤4:将历史用户正常行为特征向量集合中每m个向量构成一个历史用户正常行为特征向量子集合,使用PCA计算每个历史用户正常行为特征向量子集合中历史用户正常行为特征向量的主方向;
步骤5:选取其中一个子集的主方向作为历史用户正常行为特征向量的主方向样本,计算其他所有子集合中历史用户正常行为特征向量的主方向与主方向样本之间的相似系数,即历史用户正常行为相似系数,定义异常值为1减去相似系数的绝对值,计算每个历史用户正常行为相似系数的异常值,并将所有异常值的平均值加上异常值的标准差,得到该种用户行为类型的用户行为异常阈值;
步骤6:对每个用户行为类型执行步骤1到步骤5,得到全部用户行为类型的用户行为异常阈值;
用户行为检测阶段包括如下步骤:
步骤1:实时获取实时用户行为数据,并判断用户行为类型;
步骤2:对实时用户行为数据进行预处理;
步骤2.1:从每个实时用户行为数据中提取用户行为类型对应的用户行为元素,并将用户行为元素转换为向量元素,得到实时用户行为向量;
步骤2.2:将实时用户行为向量分组构建m个实时用户行为矩阵;
步骤2.3:求解每个实时用户行为矩阵的最大特征值对应的特征向量;
步骤2.4:将m个特征向量中每一个元素的值减去向量所有元素的平均值,得到实时用户行为特征向量集合;
步骤3:使用PCA计算实时用户行为特征向量集合中实时用户行为特征向量的主方向;
步骤4:计算实时用户行为特征向量的主方向与同种用户行为类型的历史用户正常行为特征向量的主方向样本之间的相似系数,即实时用户行为相似系数;
步骤5:根据实时用户行为相似系数与同种用户行为类型的用户行为异常阈值,判断实时用户行为是否异常;
步骤6:如果实时用户行为异常,停止该用户相应用户行为类型的操作,并进行报警;如果实时用户行为正常,将该用户实时用户行为特征向量放入同种用户行为类型的数据库中。
所述相似系数采用如下公式生成:
其中,qij为相似系数,xik为第i个主方向Xi=(xi1,xi2,…xik,…,xim)′中的第k个元素,xjk为第j个主方向Xj=(xj1,xj2,…,xjk,…,xjm)′中的第k个元素;
有益效果:本发明一种基于主成分分析的用户行为异常检测系统及方法,具有一下优点:
(1)本发明使用PCA方法检测用户的异常行为,不考虑准则权重和评估者的主观偏好,完全根据各项目在各准则下评估的结果进行综合评估,且PCA方法对异常值变化非常敏感,如果用户行为包含异常值,其主方向就会受到很大的影响,使用户行为检测结果更有效;
(2)检测过程没有重复运算,增加了检测效率,且易于实现;
(3)使用阈值来检测实时用户行为是否异常,使检测具有高效、便捷的特点。
附图说明
图1为本发明一种实施方式的基于主成分分析的用户行为异常检测系统的结构示意图;
图2为本发明一种实施方式的基于主成分分析的用户行为异常检测方法流程图;
图3为本发明一种实施方式的基于主成分分析的用户行为异常检测方法中用户行为训练阶段流程图;
图4为本发明一种实施方式的基于主成分分析的用户行为异常检测方法中用户行为检测阶段流程图。
具体实施方式
下面结合附图对本发明的一种实施方式作详细说明。
一种基于主成分分析的用户行为异常检测系统:所述用户行为包括两种类型:用户数据库访问行为和用户Web服务器访问行为;每种类型的用户行为中用户行为元素包括:当用户行为为数据库访问行为时,用户行为元素包括用户访问的数据表名、用户访问时间、用户访问表中的主键、用户访问的原始数据和用户更改数据;当用户行为为Web服务器访问行为,用户行为元素包括用户向Web服务器提出的访问请求的对象和相邻访问请求的时间间隔。
如图1所示,系统包括如下模块:
用户行为预处理模块,(1)在用户行为训练阶段,用于对所有用户行为类型依次进行如下操作:从数据库中获取一种用户行为类型历史用户行为数据;从历史用户行为数据中提取用户行为类型对应的用户行为元素,并将用户行为元素转换为向量元素,得到历史用户行为向量;将历史用户行为向量分组构建历史用户行为矩阵;求解每个历史用户行为矩阵的最大特征值对应的特征向量;将每个特征向量中每一个元素的值减去向量所有元素的平均值,得到历史用户行为特征向量集合,并发送到用户行为训练模块;
(2)在用户行为检测阶段,用于实时获取实时用户行为数据,并判断用户行为类型;从每个实时用户行为数据中提取用户行为类型对应的用户行为元素,并将用户行为元素转换为向量元素,得到实时用户行为向量;将实时用户行为向量分组构建m个实时用户行为矩阵;求解每个实时用户行为矩阵的最大特征值对应的特征向量;将m个特征向量中每一个元素的值减去向量所有元素的平均值,得到实时用户行为特征向量,并发送到用户行为检测模块;用户行为训练模块,用于在用户行为训练阶段,接收用户行为预处理模块发送的历史用户行为特征向量集合,并将集合中不可信的历史用户行为特征向量删除,得到历史用户正常行为特征向量集合,并发送到主成分分析(Principal ComponentAnalysis,PCA)模块;接收PCA模块发送的历史用户正常行为特征向量的主方向,选取其中一个子集的主方向作为历史用户正常行为特征向量的主方向样本,计算其他所有子集合中历史用户正常行为特征向量的主方向与主方向样本之间的相似系数,即历史用户正常行为相似系数,定义异常值为1减去相似系数的绝对值,计算每个历史用户正常行为相似系数的异常值,将异常值的平均值加上异常值的标准差,得到该种用户行为类型的用户行为异常阈值,并发送给用户行为检测模块;将历史用户正常行为特征向量的主方向样本发送给用户行为检测模块;接收用户行为检测模块发送的实时用户行为特征向量并放入数据库中;
所述将集合中不可信的历史用户行为特征向量删除的具体方法为:对集合中所有历史用户行为特征向量中位置相同的对应元素求取平均值和标准差,将平均值与标准差的倍数分别相加、相减后得到历史用户行为特征向量中该位置元素可信区间,如果历史用户行为特征向量中的任何一个元素不在该元素所在位置的可信区间内,就将这一用户行为特征向量删除;
PCA模块,(1)在用户行为训练阶段,用于接收用户行为训练模块发送的用户正常行为特征向量集合,将历史用户正常行为特征向量集合中每m个向量构成一个历史用户正常行为特征向量子集合,使用PCA计算每个历史用户正常行为特征向量子集合中历史用户正常行为特征向量的主方向,并发送给用户行为训练模块;
(2)在用户行为检测阶段,用于获取用户行为检测模块发送的m个实时用户行为特征向量,并将m个实时用户行为特征向量构成实时用户行为特征向量集合,使用PCA计算实时用户行为特征向量集合中实时用户行为特征向量的主方向,并发送给用户行为检测模块;
用户行为检测模块,用于在用户行为检测阶段,接收用户行为训练模块发送的每种用户行为类型的用户行为异常阈值、每种用户行为类型的历史用户正常行为特征向量的主方向样本和用户行为预处理模块发送的m个实时用户行为特征向量,并将m个实时用户行为特征向量发送给PCA模块;接收PCA模块发送的实时用户行为特征向量的主方向,并计算实时用户行为特征向量的主方向与同种用户行为类型的历史用户正常行为特征向量的主方向之间的相似系数,即实时用户行为相似系数;根据实时用户行为相似系数与同种用户行为类型用户行为异常阈值,判断实时用户行为是否异常,如果实时用户行为异常,则将该用户实时用户行为特征向量发送给用户行为异常处理模块;如果实时用户行为正常,将该用户实时用户行为特征向量发送给用户行为训练模块;
用户行为异常处理模块,如果接收到用户行为检测模块发送的该用户实时用户行为特征向量,则停止该用户相应用户行为类型的操作,并进行报警。
所述相似系数采用如下公式生成:
其中,qij为相似系数,xik为第i个主方向Xi=(xi1,xi2,…xik,…,xim)′中的第k个元素,xjk为第j个主方向Xj=(xj1,xj2,…,xjk,…,xjm)′中的第k个元素;
如图2所示,一种基于主成分分析的用户行为异常检测方法,采用基于主成分分析的用户行为异常检测系统来实现,包括用户行为训练阶段和用户行为检测阶段;
具体的,如图3所示,用户行为训练阶段包括如下步骤:
步骤1:从数据库中获取一种用户行为类型历史用户行为数据;
所述用户行为包括两种类型:用户数据库访问行为和用户Web服务器访问行为;对于用户访问数据库的行为来说,需要为用户的行为的数据操作语言(DatamanipulationLanguage,DML)或数据描述语言(DataDescriptionLanguage,DDL)建立触发器。当用户对被保护的数据进行访问时,一旦使用了DML或DDL操作,就会触发相应的触发器,将用户的访问行为:访问时间、用户名、主键、原始数据、更改数据,记录到特定的审计表中。获取用户数据时需要将这个表中记录的用户访问数据读出并统计其中每个的操作的状况,对各个字段进行分解,得到用户行为元素信息。
对于用户的Web浏览行为来说,由于Web服务器有着相对完善的日志机制,因此可以直接从服务器日志中读取相应的用户行为数据。由于日志中用户行为数据很多,并不全都具有统计特征,而且有一些访问信息并不是用户触发的,如下载的图像、动画等文件的请求,因此,需要对用户的信息进行筛选,从中得到具有用户特征信息的条目并进行统计。本实施方式选取以下两个用户行为元素来描述用户行为:用户向服务器请求的对象和到达服务器的相邻访问请求的时间间隔。
步骤2:对历史用户行为数据进行预处理;
步骤2.1:从历史用户行为数据中提取用户行为类型对应的用户行为元素,并将用户行为元素转换为向量元素,得到历史用户行为向量;
如数据库访问行为:从审计表中获取数据,从数据中提取指定的元素,如审计日志中数据为“更改学生表studentTable中学号为101的学生信息”,提取元素:学生表、访问时间、学号、原学生信息、新学生信息。对提取出元素,如果为数值型,则直接使用;如果不是数值型,需要指定元素对应的数值,例如学号为101可以直接使用,而对学生表studentTable指定数值为12。每一个数值作为历史用户行为向量的一个元素。数据库访问行为一个历史用户行为向量有5个元素;Web浏览行为一个历史用户行为向量有2个元素。
步骤2.2:将历史用户行为向量分组构建历史用户行为矩阵;
步骤2.3:求解每个历史用户行为矩阵的最大特征值对应的特征向量;
步骤2.4:将每个特征向量中每一个元素的值减去向量所有元素的平均值,得到历史用户行为特征向量集合;
步骤3:将历史用户行为特征向量集合中不可信的历史用户行为特征向量删除,得到历史用户正常行为特征向量集合;
所述将每组中不可信的历史用户行为特征向量删除的具体方法为:
对每组中所有历史用户行为特征向量中位置相同的对应元素求取平均值和标准差,将平均值与标准差的倍数分别相加、相减后得到历史用户行为特征向量中该位置元素可信区间,如果一个历史用户行为特征向量中的任何一个元素不在该元素所在位置的可信区间内,就将这一用户行为特征向量删除。
步骤4:将历史用户正常行为特征向量集合中每m个向量构成一个历史用户正常行为特征向量子集合,使用PCA计算每个历史用户正常行为特征向量子集合中历史用户正常行为特征向量的主方向;
对于PCA来说,会有很多特征向量,但是在实际应用中,一些特征向量对于变化几乎没有贡献,因此可以被剔除。本实施方式中使用第一主方向,即最大特征值的对应的特征向量来代表用户行为。由于本实施方式中只涉及第一主方向,因此,本实施方式中将第一主方向简称为主方向。
本实施方式中,以历史用户正常行为特征向量:
Z=(2.5 0.5 2.2 1.9 3.1 2.3 2 1 1.5 1.1)′Y=(2.4 0.7 2.9 2.2 3.0 2.71.6 1.1 1.6 0.9)′为例,说明PCA构建主方向的具体步骤。
(1)均值处理:所有的z减去y减去得到处理后的历史用户行为特征向量:
Z'=(0.69 -1.31 0.39 0.09 1.29 0.49 0.19 -0.81 -0.31 -0.71)′
Y'=(0.49 -1.21 0.99 0.29 1.09 0.79 -0.31 -0.81 -0.31 -1.01)′
(2)计算协方差矩阵
如果n维随机变量(X1,X2,...,Xn)的二阶混合中心矩阵ci,j=Cov(Xi,Xj)=E{[Xi-E(Xi)][Xj-E(Xj)]},i,j=1,2,...,n都存在,则称为n维随机变量(X1,X2,...,Xn)的协方差矩阵。
计算(Z',Y')的协方差矩阵,结果为由于n等于2,所以协方差矩阵为2×2维。
(3)计算协方差矩阵的特征向量和特征值
因为协方差矩阵为方阵,可以计算它的特征向量和特征值,用来代表数据信息。鉴于协方差矩阵为对称阵,本实施方式中使用Jacobi过关法求的特征值和特征向量,得到数据的特征值为λ1=0.049、λ2=1.284,对应的特征向量为和
这些向量都是单位向量,也就是它们的长度为1,这对于PCA是非常重要的。
(4)生成主方向
选择两个特征向量中对应特征值较大的特征向量,即特征向量作为历史用户正常行为特征向量子集合中历史用户正常行为特征向量的主方向。
步骤5:选取其中一个子集的主方向作为历史用户正常行为特征向量的主方向样本,本实施例中选择特征向量(0.68,0.74)′为历史用户正常行为特征向量的主方向样本,计算其他所有子集合中历史用户正常行为特征向量的主方向与主方向样本之间的相似系数,即历史用户正常行为相似系数,定义异常值为1减去相似系数的绝对值,计算每个历史用户正常行为相似系数的异常值,将异常值的平均值加上标准差得到的值作为用户行为异常阈值;
所述相似系数采用如下公式生成:
其中,qij为相似系数,xik为第i个主方向Xi=(xi1,xi2,…xik,…,xim)′中的第k个元素,xjk为第j个主方向Xj=(xj1,xj2,…,xjk,…,xjm)′中的第k个元素:
本实施方式以历史用户正常行为特征向量子集合中历史用户正常行为特征向量的主方向分别为:X1=(0.39,0.41)′,X2=(1.01,1.29)′,X3=(-0.81,-0.71)′,X4=(-0.26,-0.94)′,X5=(0.09,0.29)′为例,说明用户行为异常阈值产生过程:
(1)利用主方向Xa=(0.68,0.74)′,根据式(2)求得相似系数分别为q1a=0.9999,q2a=0.9869,q1a=0.7287,q1a=0.8893,q1a=0.9031;
(2)异常值p=|1-qij|,历史用户正常行为特征向量子集的异常值分p1=0.0001,p2=0.0131,
p3=0.2713,p4=0.1107,p5=0.0969;
(3)求异常值的平均值和标准差:
平均值
标准差
得到计算出均值为μ=0.09842,标准差为σ=0.09696
(4)阀值为均值加上标准差,即μ+σ=0.19538。
步骤6:对每个用户行为类型执行步骤1到步骤5,得到全部用户行为类型的用户行为异常阈值;
如图4所示,用户行为检测阶段包括如下步骤:
步骤1:实时获取实时用户行为数据,并判断用户行为类型;
步骤2:对实时用户行为数据进行预处理;
步骤2.1:从每个实时用户行为数据中提取用户行为类型对应的用户行为元素,并将用户行为元素转换为向量元素,得到实时用户行为向量;
步骤2.2:将实时用户行为向量分组构建m个实时用户行为矩阵;
步骤2.3:求解每个实时用户行为矩阵的最大特征值对应的特征向量;
步骤2.4:将m个特征向量中每一个元素的值减去向量所有元素的平均值,得到实时用户行为特征向量集合;
步骤3:使用PCA计算实时用户行为特征向量集合中实时用户行为特征向量的主方向;
步骤4:计算实时用户行为特征向量的主方向与历史用户正常行为特征向量主方向样本之间的相似系数,即实时用户行为相似系数;
步骤5:根据实时用户行为相似系数求实时用户行为异常值,并与同种用户行为类型的用户行为异常阈值比较,判断实时用户行为是否异常;
本实施方式中,以实时用户行为特征向量的主方向为X=(0.98,0.03)′为例,历史用户正常行为特征向量的主方向样本为Xa=(0.6779,0.7352)′,根据公式(2)计算相似系数q=0.7,异常值为p=1-q=1-0.7=0.3。由于异常值p=0.3大于用户行为异常阈值0.19538,所以认为此实时用户行为异常。
步骤6:如果实时用户行为异常,停止该用户相应用户行为类型的操作,并报警;如果实时用户行为正常,将该用户实时用户行为特征向量放入同种用户行为类型的数据库中,并重复执行用户行为检测阶段,生成新的全部用户行为类型的用户行为异常阈值。
Claims (6)
1.一种基于主成分分析的用户行为异常检测系统,其特征在于:所述用户行为包括两种类型:用户数据库访问行为和用户Web服务器访问行为;每种类型的用户行为中用户行为元素包括:当用户行为为数据库访问行为时,用户行为元素包括用户访问的数据表名、用户访问时间、用户访问表中的主键、用户访问的原始数据和用户更改数据;当用户行为为Web服务器访问行为时,用户行为元素包括用户向Web服务器提出的访问请求的对象和相邻访问请求的时间间隔;
所述系统包括:
用户行为预处理模块,(1)在用户行为训练阶段,用于从数据库中获取一种用户行为类型历史用户行为数据;从历史用户行为数据中提取用户行为类型对应的用户行为元素,并将用户行为元素转换为向量元素,得到历史用户行为向量;将历史用户行为向量分组构建历史用户行为矩阵;求解每个历史用户行为矩阵的最大特征值对应的特征向量;将每个特征向量中每一个元素的值减去向量所有元素的平均值,得到历史用户行为特征向量集合,并发送到用户行为训练模块;
(2)在用户行为检测阶段,用于实时获取实时用户行为数据,并判断用户行为类型;从每个实时用户行为数据中提取用户行为类型对应的用户行为元素,并将用户行为元素转换为向量元素,得到实时用户行为向量;将实时用户行为向量分组构建m个实时用户行为矩阵;求解每个实时用户行为矩阵的最大特征值对应的特征向量;将m个特征向量中每一个元素的值减去向量所有元素的平均值,得到实时用户行为特征向量,并发送到用户行为检测模块;
用户行为训练模块,用于在用户行为训练阶段,接收用户行为预处理模块发送的历史用户行为特征向量集合,并将集合中不可信的历史用户行为特征向量删除,得到历史用户正常行为特征向量集合,并发送到PCA模块;接收PCA模块发送的历史用户正常行为特征向量的主方向,选取其中一个子集的主方向作为历史用户正常行为特征向量的主方向样本,计算其他所有子集合中历史用户正常行为特征向量的主方向与主方向样本之间的相似系数,即历史用户正常行为相似系数,并根据历史用户正常行为相似系数计算该种用户行为类型的用户行为异常阈值,并发送给用户行为检测模块;将历史用户正常行为特征向量的主方向样本发送给用户行为检测模块;
所述将集合中不可信的历史用户行为特征向量删除的具体方法为:对集合中所有历史用户行为特征向量中位置相同的对应元素求取平均值和标准差,将平均值与标准差的倍数分别相加、相减后得到历史用户行为特征向量中该位置元素可信区间,如果一个历史用户行为特征向量中的任何一个元素不在该元素所在位置的可信区间内,就将这一用户行为特征向量删除;
PCA模块,(1)在用户行为训练阶段,用于接收用户行为训练模块发送的用户正常行为特征向量集合,将历史用户正常行为特征向量集合中每m个向量构成一个历史用户正常行为特征向量子集合,使用PCA计算每个历史用户正常行为特征向量子集合中历史用户正常行为特征向量的主方向,并发送给用户行为训练模块;
(2)在用户行为检测阶段,用于获取用户行为检测模块发送的m个实时用户行为特征向量,并将m个实时用户行为特征向量构成实时用户行为特征向量集合,使用PCA计算实时用户行为特征向量集合中实时用户行为特征向量的主方向,并发送给用户行为检测模块;
用户行为检测模块,用于在用户行为检测阶段,接收用户行为训练模块发送的每种用户行为类型的用户行为异常阈值、每种用户行为类型的历史用户正常行为特征向量的主方向样本和用户行为预处理模块发送的m个实时用户行为特征向量,并将m个实时用户行为特征向量发送给PCA模块;接收PCA模块发送的实时用户行为特征向量的主方向,并计算实时用户行为特征向量的主方向与同种用户行为类型的历史用户正常行为特征向量的主方向样本之间的相似系数,即实时用户行为相似系数;根据实时用户行为相似系数与同种用户行为类型用户行为异常阈值,判断实时用户行为是否异常,如果实时用户行为异常,则将该用户实时用户行为特征向量发送给用户行为异常处理模块;如果实时用户行为正常,将该用户实时用户行为特征向量放入用户行为类型对应的数据库中;
用户行为异常处理模块,如果接收到用户行为检测模块发送的该用户实时用户行为特征向量,则停止该用户相应用户行为类型的操作,并进行报警;
所述相似系数采用如下公式生成:
其中,qij为相似系数,xik为第i个主方向Xi=(xi1,xi2,…xik,…,xim)′中的第k个元素,xjk为第j个主方向Xj=(xj1,xj2,…,xjk,…,xjm)′中的第k个元素;
所述用户行为异常阈值采用如下步骤生成:
定义异常值为1减去相似系数的绝对值,计算每个历史用户正常行为相似系数的异常值,将异常值的平均值加上异常值的标准差,得到用户行为异常阈值。
2.一种基于主成分分析的用户行为异常检测方法,采用权利要求1所述的基于主成分分析的用户行为异常检测系统实现,其特征在于:包括用户行为训练阶段和用户行为检测阶段;
用户行为训练阶段包括如下步骤:
步骤1:从数据库中获取一种用户行为类型历史用户行为数据;
步骤2:对历史用户行为数据进行预处理;
步骤2.1:从历史用户行为数据中提取用户行为类型对应的用户行为元素,并将用户行为元素转换为向量元素,得到历史用户行为向量;
步骤2.2:将历史用户行为向量分组构建历史用户行为矩阵;
步骤2.3:求解每个历史用户行为矩阵的最大特征值对应的特征向量;
步骤2.4:将每个特征向量中每一个元素的值减去向量所有元素的平均值,得到历史用户行为特征向量集合;
步骤3:将历史用户行为特征向量集合中不可信的历史用户行为特征向量删除,得到历史用户正常行为特征向量集合;
步骤4:将历史用户正常行为特征向量集合中每m个向量构成一个历史用户正常行为特征向量子集合,使用PCA计算每个历史用户正常行为特征向量子集合中历史用户正常行为特征向量的主方向;
步骤5:选取其中一个子集的主方向作为历史用户正常行为特征向量的主方向样本,计算其他所有子集合中历史用户正常行为特征向量的主方向与主方向样本之间的相似系数,即历史用户正常行为相似系数,并根据历史用户正常行为相似系数计算该种用户行为类型的用户行为异常阈值;
步骤6:对每个用户行为类型执行步骤1到步骤5,得到全部用户行为类型的用户行为异常阈值;
用户行为检测阶段包括如下步骤:
步骤1:实时获取实时用户行为数据,并判断用户行为类型;
步骤2:对实时用户行为数据进行预处理;
步骤2.1:从每个实时用户行为数据中提取用户行为类型对应的用户行为元素,并将用户行为元素转换为向量元素,得到实时用户行为向量;
步骤2.2:将实时用户行为向量分组构建m个实时用户行为矩阵;
步骤2.3:求解每个实时用户行为矩阵的最大特征值对应的特征向量;
步骤2.4:将m个特征向量中每一个元素的值减去向量所有元素的平均值,得到实时用户行为特征向量集合;
步骤3:使用PCA计算实时用户行为特征向量集合中实时用户行为特征向量的主方向;
步骤4:随机选取同种用户行为类型的一个历史用户正常行为特征向量的主方向,计算实时用户行为特征向量的主方向与该历史用户正常行为特征向量的主方向之间的相似系数,即实时用户行为相似系数;
步骤5:根据实时用户行为相似系数与同种用户行为类型的用户行为异常阈值,判断实时用户行为是否异常;
步骤6:如果实时用户行为异常,停止该用户相应用户行为类型的操作,并进行报警;如果实时用户行为正常,将该用户实时用户行为特征向量放入同种用户行为类型的数据库中。
3.根据权利要求2所述的基于主成分分析的用户行为异常检测方法,其特征在于:
所述用户行为包括两种类型:用户数据库访问行为和用户Web服务器访问行为;所述每种类型的用户行为中用户行为元素包括:当用户行为为数据库访问行为时,用户行为元素包括用户访问的数据表名、用户访问时间、用户访问表中的主键、用户访问的原始数据和用户更改数据;当用户行为为Web服务器访问行为,用户行为元素包括用户向Web服务器提出的访问请求的对象和相邻访问请求的时间间隔。
4.根据权利要求2所述的基于主成分分析的用户行为异常检测方法,其特征在于:所述将历史用户行为特征向量集合中不可信的历史用户行为特征向量删除的具体方法如下:
对集合中所有历史用户行为特征向量中位置相同的对应元素求取平均值和标准差,将平均值与标准差的倍数分别相加、相减后得到历史用户行为特征向量中该位置元素的可信区间,如果历史用户行为特征向量中的任何一个元素不在该元素所在位置的可信区间内,就将这一用户行为特征向量删除。
5.根据权利要求2所述的基于主成分分析的用户行为异常检测方法,其特征在于:所述相似系数采用如下公式生成:
其中,qij为相似系数,xik为第i个主方向Xi=(xi1,xi2,…xik,…,xim)′中的第k个元素,xjk为第j个主方向Xj=(xj1,xj2,…,xjk,…,xjm)′中的第k个元素。
6.根据权利要求2所述的基于主成分分析的用户行为异常检测方法,其特征在于:所述用户行为异常阈值采用如下步骤生成:
定义异常值为1减去相似系数的绝对值,计算每个历史用户正常行为相似系数的异常值,将所有异常值的平均值加上异常值的标准差,得到用户行为异常阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610489907.8A CN106101116B (zh) | 2016-06-29 | 2016-06-29 | 一种基于主成分分析的用户行为异常检测系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610489907.8A CN106101116B (zh) | 2016-06-29 | 2016-06-29 | 一种基于主成分分析的用户行为异常检测系统及方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
CN106101116A CN106101116A (zh) | 2016-11-09 |
CN106101116A9 CN106101116A9 (zh) | 2017-05-03 |
CN106101116B true CN106101116B (zh) | 2019-01-08 |
Family
ID=57215044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610489907.8A Active CN106101116B (zh) | 2016-06-29 | 2016-06-29 | 一种基于主成分分析的用户行为异常检测系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106101116B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532485A (zh) * | 2019-07-11 | 2019-12-03 | 中国科学院信息工程研究所 | 基于多源数据融合的用户行为检测方法及装置 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106789885B (zh) * | 2016-11-17 | 2021-11-16 | 国家电网公司 | 一种大数据环境下用户异常行为检测分析方法 |
CN108111463A (zh) * | 2016-11-24 | 2018-06-01 | 蓝盾信息安全技术有限公司 | 基于平均值和标准差的多维度基线自学习和异常行为分析 |
CN106919677A (zh) * | 2017-02-25 | 2017-07-04 | 浙江沛宏网络科技有限公司 | 一种基于第三方的用户数据统计方法及系统 |
CN107222472A (zh) * | 2017-05-26 | 2017-09-29 | 电子科技大学 | 一种Hadoop集群下的用户行为异常检测方法 |
CN107465691A (zh) * | 2017-09-14 | 2017-12-12 | 西安电子科技大学 | 基于路由器日志分析的网络攻击检测系统及检测方法 |
CN108717510A (zh) * | 2018-05-11 | 2018-10-30 | 深圳市联软科技股份有限公司 | 一种通过聚类分析文件异常操作行为的方法、系统及终端 |
CN108809955B (zh) * | 2018-05-22 | 2019-05-24 | 南瑞集团有限公司 | 一种基于隐马尔可夫模型的电力用户行为深度分析方法 |
US11184359B2 (en) * | 2018-08-09 | 2021-11-23 | Microsoft Technology Licensing, Llc | Automated access control policy generation for computer resources |
CN109242176A (zh) * | 2018-08-30 | 2019-01-18 | 东北大学 | 一种基于隐马尔可夫模型的家电用户行为预测方法及装置 |
CN109391620B (zh) * | 2018-10-22 | 2021-06-25 | 武汉极意网络科技有限公司 | 异常行为判定模型的建立方法、系统、服务器及存储介质 |
CN111353352B (zh) * | 2018-12-24 | 2023-05-09 | 杭州海康威视数字技术股份有限公司 | 异常行为检测方法及装置 |
CN109885564B (zh) * | 2019-02-12 | 2022-04-26 | 北京字节跳动网络技术有限公司 | 用于发送信息的方法和装置 |
CN110187990B (zh) * | 2019-05-31 | 2021-11-16 | 东北大学 | 一种基于模式转移的虚拟机混合备用动态可靠性评估方法 |
CN110460569A (zh) * | 2019-07-02 | 2019-11-15 | 北京人人云图信息技术有限公司 | 在线访问的检测方法及检测装置 |
CN110502883B (zh) * | 2019-08-23 | 2022-08-19 | 四川长虹电器股份有限公司 | 一种基于pca的击键行为异常检测方法 |
CN110675228B (zh) * | 2019-09-27 | 2021-05-28 | 支付宝(杭州)信息技术有限公司 | 用户购票行为检测方法以及装置 |
CN111833171B (zh) * | 2020-03-06 | 2021-06-25 | 北京芯盾时代科技有限公司 | 异常操作检测和模型训练方法、装置以及可读存储介质 |
CN112016081B (zh) * | 2020-08-31 | 2021-09-21 | 贝壳找房(北京)科技有限公司 | 标识映射的实现方法、装置、介质和电子设备 |
CN113127533A (zh) * | 2021-03-31 | 2021-07-16 | 四川省气象服务中心(四川省专业气象台 四川省气象影视中心) | 气象交通系统基于组合多变量相关性的影响因子分析方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268217A (zh) * | 2014-09-25 | 2015-01-07 | 张文铸 | 一种用户行为时间相关性的确定方法及装置 |
CN105677900A (zh) * | 2016-02-04 | 2016-06-15 | 南京理工大学 | 恶意用户检测方法及装置 |
-
2016
- 2016-06-29 CN CN201610489907.8A patent/CN106101116B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268217A (zh) * | 2014-09-25 | 2015-01-07 | 张文铸 | 一种用户行为时间相关性的确定方法及装置 |
CN105677900A (zh) * | 2016-02-04 | 2016-06-15 | 南京理工大学 | 恶意用户检测方法及装置 |
Non-Patent Citations (2)
Title |
---|
"An Intrusion Detection Method Based on Outlier Ensemble Detection";Bin Huang,等;《2009 International Conference on Networks Security, Wireless Communications and Trusted Computing》;20090505;全文 * |
"Towards Detecting Anomalous User Behavior in online social network";Bimal Viswanath,等;《SEC"14 Proceedings of the 23rd USENIX conference on Security Symposium》;20140822;全文 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532485A (zh) * | 2019-07-11 | 2019-12-03 | 中国科学院信息工程研究所 | 基于多源数据融合的用户行为检测方法及装置 |
CN110532485B (zh) * | 2019-07-11 | 2022-06-03 | 中国科学院信息工程研究所 | 基于多源数据融合的用户行为检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106101116A (zh) | 2016-11-09 |
CN106101116A9 (zh) | 2017-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106101116B (zh) | 一种基于主成分分析的用户行为异常检测系统及方法 | |
CN110417721B (zh) | 安全风险评估方法、装置、设备及计算机可读存储介质 | |
Piplai et al. | NAttack! Adversarial Attacks to bypass a GAN based classifier trained to detect Network intrusion | |
CN112804196A (zh) | 日志数据的处理方法及装置 | |
CN112491779B (zh) | 一种异常行为检测方法及装置、电子设备 | |
Mazzawi et al. | Anomaly detection in large databases using behavioral patterning | |
CN112231570B (zh) | 推荐系统托攻击检测方法、装置、设备及存储介质 | |
CN111312367A (zh) | 一种基于自适应云管理平台的校园人员异常心理预测方法 | |
CN107222472A (zh) | 一种Hadoop集群下的用户行为异常检测方法 | |
CN106534212A (zh) | 基于用户行为和数据状态的自适应安全防护方法及系统 | |
CN106951776A (zh) | 一种主机异常检测方法和系统 | |
CN109450882A (zh) | 一种融合人工智能与大数据的网上行为的安全管控系统及方法 | |
CN115001934A (zh) | 一种工控安全风险分析系统及方法 | |
CN105262715A (zh) | 一种基于模糊时序关联模式的异常用户检测方法 | |
Wang et al. | Localizing temporal anomalies in large evolving graphs | |
CN117992953A (zh) | 基于操作行为跟踪的异常用户行为识别方法 | |
CN114598545A (zh) | 一种内部安全威胁检测方法、系统、设备及存储介质 | |
Zhao et al. | Bayesian statistical inference in machine learning anomaly detection | |
CN109871711B (zh) | 海洋大数据共享分发风险控制模型及方法 | |
Al-Jumeily et al. | The development of fraud detection systems for detection of potentially fraudulent applications | |
Li et al. | PGAN: A Generative Adversarial Network based Anomaly Detection Method for Network Intrusion Detection System | |
CN111782908A (zh) | 一种基于数据挖掘聚类分析的web违规操作行为检测方法 | |
Huo | Computer network big data detection based on internet of things technology | |
Hai-yan et al. | A multiple objective optimization based echo state network tree and application to intrusion detection | |
Ying et al. | Analysis Model for Fire Accidents of Electric Bicycles Based on Principal Component Analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CI02 | Correction of invention patent application | ||
CI02 | Correction of invention patent application |
Correction item: Description Correct: Correct False: Error Number: 45 Page: full text Volume: 32 |
|
GR01 | Patent grant | ||
GR01 | Patent grant |