用于安全性信息交互的异常检测装置及方法转让专利

申请号 : CN201210241200.7

文献号 : CN103544429B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 柴洪峰吴承荣何朔叶家炜王兴建廖健

申请人 : 中国银联股份有限公司

摘要 :

本发明提出了用于安全性信息交互的异常检测装置及方法。其中,所述方法包括下列步骤:基于数据库中的安全性信息交互记录完成预处理操以构建分类器模型和条件概率表以及用于序列比对的组表;解析安全性信息交互数据,并基于所述分类器模型和条件概率表以及用于序列比对的组表判断与所述安全性信息交互数据相关联的安全性信息交互的类型。本发明所公开的用于安全性信息交互的异常检测装置及方法具有高的安全性并且具有低的误报率和漏报率。

权利要求 :

1.一种用于安全性信息交互的异常检测装置,所述用于安全性信息交互的异常检测装置包括:

预处理模块,所述预处理模块用于基于数据库中的安全性信息交互记录完成预处理操作以构建分类器模型和条件概率表以及用于序列比对的组表;

异常检测模块,所述异常检测模块用于接收并解析来自数据处理服务器的安全性信息交互数据,并基于所述分类器模型和条件概率表以及用于序列比对的组表判断与所述安全性信息交互数据相关联的安全性信息交互的类型,并将判断结果传送回所述数据处理服务器;

其中,所述预处理模块进一步包括:

特征提取单元,所述特征提取单元用于从所述数据库提取正常的安全性信息交互记录和已知的异常的安全性信息交互记录;

分类器模型构造单元,所述分类器模型构造单元用于基于所述提取的正常的安全性信息交互记录和所述已知的异常的安全性信息交互记录确定至少一个信息交互特征向量,并基于所述至少一个信息交互特征向量构建所述分类器模型;

条件概率表计算单元,所述条件概率表计算单元用于为每个用户计算条件概率表;

操作序列提取单元,所述操作序列提取单元用于从所述数据库提取每个用户的正常操作序列和已知的用户的异常操作序列,并按照时间将正常操作序列划分成子序列以及按照类型将异常操作序列划分成子序列;

组表构造单元,所述组表构造单元用于为每个用户的正常操作序列构造第一k元组表,并且为每个用户的已知的异常操作序列构造第二k元组表;

存储单元,所述存储单元用于存储所述分类器模型、所述条件概率表、所述每个用户的正常操作序列和已知的用户的异常操作序列以及所述第一k元组表和所述第二k元组表。

2.根据权利要求1所述的用于安全性信息交互的异常检测装置,其特征在于,所述至少一个信息交互特征包括安全性信息交互位置信息。

3.根据权利要求2所述的用于安全性信息交互的异常检测装置,其特征在于,基于贝叶斯定理构建所述分类器模型,并且使用后验概率判断安全性信息交互的类型。

4.根据权利要求3所述的用于安全性信息交互的异常检测装置,其特征在于,仅存在“正常的”和“异常的”两个分类,并且将待检测的安全性信息交互属于“正常的”分类的后验概率作为其第一可信因子TS。

5.根据权利要求4所述的用于安全性信息交互的异常检测装置,其特征在于,所述条件概率表计算单元基于从所述数据库提取的安全性信息交互记录为每个用户计算条件概率表的值。

6.根据权利要求5所述的用于安全性信息交互的异常检测装置,其特征在于,所述组表构造单元使用SSAHA算法为每个用户的正常操作序列构造第一k元组表,并且为每个用户的已知的异常操作序列构造第二k元组表。

7.根据权利要求6所述的用于安全性信息交互的异常检测装置,其特征在于,所述分类器模型构造单元进一步用于将所述至少一个信息交互特征的取值离散化。

8.根据权利要求7所述的用于安全性信息交互的异常检测装置,其特征在于,所述分类器模型构造单元进一步用于基于K-means算法将所述至少一个信息交互特征中的一个或多个的取值离散化。

9.根据权利要求8所述的用于安全性信息交互的异常检测装置,其特征在于,所述异常检测模块进一步包括:主控制器,所述主控制器用于接收并解析来自所述数据处理服务器的安全性信息交互数据以获得与所述安全性信息交互数据相关联的当前安全性信息交互的特征向量和发起该当前安全性信息交互的用户的标识符,并将所述用户标识符和所述当前安全性信息交互的特征向量传送到分类单元,所述主控制器还用于基于所述用户标识符从所述存储单元提取发起该当前安全性信息交互的用户之前的N-1次操作以构成长度为N的操作序列,并将所述用户标识符和所述长度为N的操作序列传送到序列比对单元,所述主控制器进一步用于将接收到的来自综合判断单元的判断结果传送回所述数据处理服务器;

分类单元,所述分类单元用于基于所述解析出的用户标识符、当前安全性信息交互的特征向量、所述分类器模型以及所述条件概率表计算出该当前安全性信息交互的第一可信因子TS,以及随后将所述第一可信因子TS传送到所述综合判断单元;

序列比对单元,所述序列比对单元用于基于所述用户标识符从所述存储单元中查找相应的第一k元组表并结合相应的第二k元组表计算该当前安全性信息交互的第二可信因子OS,以及随后将所述第二可信因子OS传送到所述综合判断单元;

综合判断单元,所述综合判断单元用于基于接收到的所述第一可信因子TS和第二可信因子OS判断当前安全性信息交互的类型,并将判断结果传送到所述主控制器。

10.根据权利要求9所述的用于安全性信息交互的异常检测装置,其特征在于,所述分类单元根据所述用户标识符从所述存储单元中查找相应的条件概率表,并基于所述当前安全性信息交互的特征向量和所述分类器模型计算该当前安全性信息交互的第一可信因子TS。

11.根据权利要求10所述的用于安全性信息交互的异常检测装置,其特征在于,所述序列比对单元使用BLAST算法计算该当前安全性信息交互的第二可信因子OS。

12.根据权利要求11所述的用于安全性信息交互的异常检测装置,其特征在于,所述综合判断单元通过将所述第一可信因子TS和所述第二可信因子OS分别与预定的阈值相比较而判断当前安全性信息交互的类型。

13.一种用于安全性信息交互的异常检测方法,所述用于安全性信息交互的异常检测方法包括下列步骤:(A1)基于数据库中的安全性信息交互记录完成预处理操作以构建分类器模型和条件概率表以及用于序列比对的组表;

(A2)解析安全性信息交互数据,并基于所述分类器模型和条件概率表以及用于序列比对的组表判断与所述安全性信息交互数据相关联的安全性信息交互的类型;

其中,所述步骤(A1)进一步包括:(B1)从所述数据库提取正常的安全性信息交互记录和已知的异常的安全性信息交互记录;(B2)基于所述提取的正常的安全性信息交互记录和所述已知的异常的安全性信息交互记录确定至少一个信息交互特征向量,并基于所述至少一个信息交互特征向量构建所述分类器模型;(B3)为每个用户计算条件概率表;(B4)从所述数据库提取每个用户的正常操作序列和已知的用户的异常操作序列,并按照时间将正常操作序列划分成子序列以及按照类型将异常操作序列划分成子序列;(B5)为每个用户的正常操作序列构造第一k元组表,并且为每个用户的已知的异常操作序列构造第二k元组表。

说明书 :

用于安全性信息交互的异常检测装置及方法

技术领域

[0001] 本发明涉及异常检测装置及方法,更具体地,涉及用于安全性信息交互的异常检测装置及方法。

背景技术

[0002] 目前,随着网络应用的日益广泛以及不同领域的业务种类的日益丰富,用于安全性信息交互(即对安全性要求较高的信息交互,例如金融交易)的异常检测装置及方法变得越来越重要。
[0003] 通常,异常的安全性信息交互包括如下两种类型:(1)不满足安全性信息交互系统对安全性信息交互的流程和格式等的规定;(2)满足安全性信息交互系统对正常的安全性信息交互的流程和格式等的规定,但是该安全性信息交互本身具有一定的欺诈特性(例如在金融交易领域中,攻击者利用盗取的合法用户信息进行的交易,或者合法用户进行的恶意透支行为等等)。一般而言,安全性信息交互系统自身具有检测第一种异常的能力,并可以阻止该异常的安全性信息交互过程的执行,而针对第二种异常,由于其流程和提供的认证信息通常都符合安全性信息交互系统的相关规定,因而系统自身难于检测,需要附加的异常检测装置和方法。
[0004] 用于安全性信息交互的异常检测方法通常基于以下两个假设:(1)异常的安全性信息交互与正常的安全性信息交互存在较大的差异;(2)异常的安全性信息交互在所有安全性信息交互中所占的比例很小。现有的针对第二种异常的检测装置和方法主要采用如下四种检测方式中的一个:(1)基于统计的方法,首先用某个分布(如正态分布、泊松分布等)对数据点进行建模,然后用不一致检验确定异常;(2)基于偏差的方法,通过对一组对象特征进行检查来识别异常数据,与给出的描述偏离的对象被定义为异常;(3)基于距离的方法,其将孤立的(没有足够多邻居的)数据作为异常,比如Knorr算法规定,与点p的距离小于d的点的个数不超过k,则p是相对于d和k的异常;(4)基于密度的方法,其引入了局部异常因子(Local Outlier Factor,LOF)的概念,用以度量一个对象关于其周围邻居的异常程度,从而能够检测出局部异常的数据。
[0005] 然而,现有的针对第二种异常的检测装置和方法存在如下问题:(1)对第一种检测方式而言,其局限性在于现实中的数据分布往往不符合任何一种已知的理想分布,另外,大多数的测试都是针对单个属性的,对于多维数据中的异常检测效果并不理想;(2)对第二种检测方式而言,其主要使用序列异常技术,即模仿人类的思维模式,从一组连续序列中发现与大多数数据不同的元素,但其误报率和漏报率较高;(3)对第三种检测方式而言,其只能检测出全局的异常数据,不适合具有多种密度的数据集,因此不能很好的检测局部异常;(4)对第四种检测方式而言,其误报率和漏报率也较高。由上可见,现有的针对第二种异常的检测装置和方法由于特征选取不恰当或者检测范围不够全面而导致误报率和漏报率较高,从而影响了安全性信息交互系统的性能和安全性。
[0006] 因此,存在如下需求:提供具有高的安全性并且具有低的误报率和漏报率的异常检测装置及方法。

发明内容

[0007] 为了解决上述现有技术方案所存在的问题,本发明提出了具有高的安全性并且具有低的误报率和漏报率的异常检测装置及方法。
[0008] 本发明的目的是通过以下技术方案实现的:
[0009] 一种用于安全性信息交互的异常检测装置,所述用于安全性信息交互的异常检测装置包括:
[0010] 预处理模块,所述预处理模块用于基于数据库中的安全性信息交互记录完成预处理操以构建分类器模型和条件概率表以及用于序列比对的组表;
[0011] 异常检测模块,所述异常检测模块用于接收并解析来自数据处理服务器的安全性信息交互数据,并基于所述分类器模型和条件概率表以及用于序列比对的组表判断与所述安全性信息交互数据相关联的安全性信息交互的类型,并将判断结果传送回所述数据处理服务器。
[0012] 在上面所公开的方案中,优选地,所述预处理模块进一步包括:
[0013] 特征提取单元,所述特征提取单元用于从所述数据库提取正常的安全性信息交互记录和已知的异常的安全性信息交互记录;
[0014] 分类器模型构造单元,所述分类器模型构造单元用于基于所述提取的正常的安全性信息交互记录和所述已知的异常的安全性信息交互记录确定至少一个信息交互特征向量,并基于所述至少一个信息交互特征向量构建所述分类器模型;
[0015] 条件概率表计算单元,所述条件概率表计算单元用于为每个用户计算条件概率表;
[0016] 操作序列提取单元,所述操作序列提取单元用于从所述数据库提取每个用户的正常操作序列和已知的用户的异常操作序列,并按照时间将正常操作序列划分成子序列以及按照类型将异常操作序列划分成子序列;
[0017] 组表构造单元,所述组表构造单元用于为每个用户的正常操作序列构造第一k元组表,并且为每个用户的已知的异常操作序列构造第二k元组表;
[0018] 存储单元,所述存储单元用于存储所述分类器模型、所述计算条件概率表、所述每个用户的正常操作序列和已知的用户的异常操作序列以及所述第一k元组表和所述第二k元组表。
[0019] 在上面所公开的方案中,优选地,所述至少一个信息交互特征包括安全性信息交互位置信息。
[0020] 在上面所公开的方案中,优选地,基于贝叶斯定理构建所述分类器模型,并且使用后验概率判断安全性信息交互的类型。
[0021] 在上面所公开的方案中,优选地,仅存在“正常的”和“异常的”两个分类,并且将待检测的安全性信息交互属于“正常的”分类的后验概率作为其第一可信因子TS。
[0022] 在上面所公开的方案中,优选地,所述条件概率表计算单元基于从所述数据库提取的安全性信息交互记录为每个用户计算条件概率表的值。
[0023] 在上面所公开的方案中,优选地,所述组表构造单元使用SSAHA算法为每个用户的正常操作序列构造第一k元组表,并且为每个用户的已知的异常操作序列构造第二k元组表。
[0024] 在上面所公开的方案中,优选地,所述分类器模型构造单元进一步用于将所述至少一个信息交互特征的取值离散化。
[0025] 在上面所公开的方案中,优选地,所述分类器模型构造单元进一步用于基于K-means算法将所述至少一个信息交互特征中的一个或多个的取值离散化。
[0026] 在上面所公开的方案中,优选地,所述异常检测模块进一步包括:
[0027] 主控制器,所述主控制器用于接收并解析来自所述数据处理服务器的安全性信息交互数据以获得与所述安全性信息交互数据相关联的当前安全性信息交互的特征向量和发起该当前安全性信息交互的用户的标识符,并将所述用户标识符和所述当前安全性信息交互的特征向量传送到分类单元,所述主控制器还用于基于所述用户标识符从所述存储单元提取发起该当前安全性信息交互的用户之前的N-1次操作以构成长度为N的操作序列,并将所述用户标识符和所述长度为N的操作序列传送到序列比对单元,所述主控制器进一步用于将接收到的来自综合判断单元的判断结果传送回所述数据处理服务器;
[0028] 分类单元,所述分类单元用于基于所述解析出的用户标识符、当前安全性信息交互的特征向量、所述分类器模型以及所述条件概率表计算出该当前安全性信息交互的第一可信因子TS,以及随后将所述第一可信因子TS传送到所述综合判断单元;
[0029] 序列比对单元,所述序列比对单元用于基于所述用户标识符从所述存储单元中查找相应的第一k元组表并结合相应的第二k元组表计算该当前安全性信息交互的第二可信因子OS,以及随后将所述第二可信因子OS传送到所述综合判断单元;
[0030] 综合判断单元,所述综合判断单元用于基于接收到的所述第一可信因子TS和第二可信因子OS判断当前安全性信息交互的类型,并将判断结果传送到所述主控制器。
[0031] 在上面所公开的方案中,优选地,所述分类单元根据所述用户标识符从所述存储单元中查找相应的条件概率表,并基于所述当前安全性信息交互的特征向量和所述分类器模型计算该当前安全性信息交互的第一可信因子TS。
[0032] 在上面所公开的方案中,优选地,所述序列比对单元使用BLAST算法计算该当前安全性信息交互的第二可信因子OS。
[0033] 在上面所公开的方案中,优选地,所述综合判断单元通过将所述第一可信因子TS和所述第二可信因子OS分别与预定的阈值相比较而判断当前安全性信息交互的类型。
[0034] 本发明的目的也可以通过以下技术方案实现:
[0035] 一种用于安全性信息交互的异常检测方法,所述用于安全性信息交互的异常检测方法包括下列步骤:
[0036] (A1)基于数据库中的安全性信息交互记录完成预处理操以构建分类器模型和条件概率表以及用于序列比对的组表;
[0037] (A2)解析安全性信息交互数据,并基于所述分类器模型和条件概率表以及用于序列比对的组表判断与所述安全性信息交互数据相关联的安全性信息交互的类型。
[0038] 本发明所公开的用于安全性信息交互的异常检测装置及方法具有如下优点:具有高的安全性并且具有低的误报率和漏报率。

附图说明

[0039] 结合附图,本发明的技术特征以及优点将会被本领域技术人员更好地理解,其中:
[0040] 图1是根据本发明的实施例的用于安全性信息交互的异常检测装置的示意性结构图;
[0041] 图2是根据本发明的实施例的用于安全性信息交互的异常检测方法的流程图。

具体实施方式

[0042] 图1是根据本发明的实施例的用于安全性信息交互的异常检测装置的示意性结构图。如图1所示,本发明所公开的异常检测装置包括预处理模块1和异常检测模块2。其中,所述预处理模块1用于基于数据库中的安全性信息交互记录完成预处理操以构建分类器模型和条件概率表以及用于序列比对的组表。所述异常检测模块2用于接收并解析来自数据处理服务器(例如交易处理服务器)的安全性信息交互数据,并基于所述分类器模型和条件概率表以及用于序列比对的组表判断与所述安全性信息交互数据相关联的安全性信息交互(例如金融交易)的类型(即是“正常的”还是“异常的”),并将判断结果传送回所述数据处理服务器。
[0043] 优选地,在本发明所公开的异常检测装置中,所述预处理模块1进一步包括特征提取单元3、分类器模型构造单元4、条件概率表计算单元5、操作序列提取单元6和组表构造单元7和存储单元12。其中,所述特征提取单元3用于从所述数据库提取正常的安全性信息交互记录(例如正常的交易记录)和已知的异常的安全性信息交互记录(例如已知的异常的交易记录)。所述分类器模型构造单元4用于基于所述提取的正常的安全性信息交互记录和所述已知的异常的安全性信息交互记录确定至少一个信息交互特征向量(示例性地,在金融领域中,所述信息交互特征可以包括交易时间、交易位置、交易金额、商户类型以及交易所属的分类等),并基于所述至少一个信息交互特征向量构建所述分类器模型。所述条件概率表计算单元5用于为每个用户计算条件概率表(CPT)。所述操作序列提取单元6用于从所述数据库提取每个用户的正常操作序列和已知的用户的异常操作序列,并按照时间将正常操作序列划分成子序列以及按照类型将异常操作序列划分成子序列。所述组表构造单元7用于为每个用户的正常操作序列构造第一k元组表,并且为每个用户的已知的异常操作序列构造第二k元组表(由于异常检测由一次安全性信息交互触发,故k的取值应大于等于用户完成一次完整的安全性信息交互过程至少需要的步骤数)。所述存储单元12用于存储所述分类器模型、所述计算条件概率表、所述每个用户的正常操作序列和已知的用户的异常操作序列以及所述第一k元组表和所述第二k元组表。
[0044] 优选地,在本发明所公开的异常检测装置中,所述至少一个信息交互特征包括安全性信息交互位置信息。
[0045] 优选地,在本发明所公开的异常检测装置中,基于贝叶斯定理构建所述分类器模型(即该分类器模型是贝叶斯信念网络结构),并且使用后验概率判断安全性信息交互的类型(即是“正常的”还是“异常的”)。
[0046] 如本领域技术人员所知地,后验概率是指在给定一定条件的情况下,发生某个事件的概率。在本公开中,后验概率是指在给定当前样本的特征向量(例如与待检测的安全性信息交互相关联的安全性信息交互数据,示例性地,其包含交易时间、交易位置、交易金额、商户类型以及交易所属的分类等)时,该样本属于某个分类的概率,其可以由以下公式表示:
[0047] P(C=ci|F1=f1,F2=f2,...,Fn=fn)      (1)
[0048] 其中F1=f1,F2=f2,...,Fn=fn是当前样本特征向量的取值,而C=ci表示该样本属于分类ci。此外,由贝叶斯定理可知,公式(1)可转化为:
[0049]
[0050]
[0051]
[0052] 由此,在本公开中,所述分类器模型的工作原理为找出使得公式(2)中的后验概率最大的ci作为对当前样本的分类。另外,由于P(F1=f1,F2=f2,...,Fn=fn)是常量,因此上述问题被转化为找出使得P(F1=f1,F2=f2,...,Fn=fn|C=ci)P(C=ci)最大化的ci。其中可以用训练数据集中属于ci的样本出现的频率来表示P(C=ci)。针对P(F1=f1,F2=f2,...,Fn=fn|C=ci)的计算,在本公开中假设每个随机变量f仅依赖于其父节点的集合parent(f),而其余随机变量则与f关于parent(f)条件独立,则:
[0053]
[0054]
[0055] 则公式(2)被转换为:
[0056]
[0057]
[0058] 即上述问题被转化为找到使得 最大的ci即可。
[0059] 优选地,在本发明所公开的异常检测装置中,所述分类器模型由公式(4)表示。
[0060] 优选地,在本发明所公开的异常检测装置中,仅存在“正常的”和“异常的”两个分类,并且将待检测的安全性信息交互(例如金融交易)属于“正常的”分类的后验概率作为其第一可信因子TS。
[0061] 如本领域技术人员所知地,条件概率表(CPT)给出了相应随机变量关于其所有父节点的条件概率,即P(Ft=ft|parent(Ft))的值,对于没有父节点的变量,其条件概率退化为其先验概率,并且当不存在隐藏变量的时候,条件概率表的值可以通过统计训练数据中相应样本出现的频率得到,而当存在隐藏变量时,条件概率表的值可以通过梯度训练等算法得到。在本公开中,假设训练数据中不存在缺失数据。
[0062] 优选地,在本发明所公开的异常检测装置中,所述条件概率表计算单元5基于从所述数据库提取的安全性信息交互记录为每个用户计算条件概率表的值(即P(Ft=ft|parent(Ft))的值)。
[0063] 优选地,在本发明所公开的异常检测装置中,组表构造单元7使用SSAHA算法为每个用户的正常操作序列构造第一k元组表,并且为每个用户的已知的异常操作序列构造第二k元组表。
[0064] 如本领域技术人员所知地,SSAHA算法中的相关定义如下:(1)k元组:给定一个长度为n的序列S=,S中任意连续的k个元素构成S的一个k元组。则S中k元组的个数为n-k+1,每个元组被赋予一定的权重;(2)元组偏移(Tuple Offset):在序列S中,某个k元组开始的位置称为元组偏移;(3)序列基数(Sequence Base):序列S中每个位置可能的取值个数称为S的序列基数;(4)K元组权重:我们用从0到Sequence Base-1的整数来表示S中所有可能出现的元素,若序列基数为ω,一个k元组的权重W记为:
[0065]
[0066] 如本领域技术人员所知地,SSAHA算法中的基本工作原理如下:假定数据库D中有若干个序列,则将每一个长度为n的序列划分成n-k+1个k元组,并在内存中生成一张k元组表(k-tuple Table,KT),其中,KT中的每一条记录对应D中的一个k元组,并由以下元素组成:元组权重、所在序列编号、元组偏移,并且其中元组权重用于在KT上建立聚类索引,由公式(6)可知,对于给定的k和ω,一共有ωk种权重,每种权重对应一种k元组,而通过所在序列编号和元组偏移就可以确定当前的k元组在D中的位置。基于上述原理,所述组表构造单元7使用SSAHA算法为每个用户的正常操作序列构造第一k元组表,并且为每个用户的已知的异常操作序列构造第二k元组表。
[0067] 优选地,在本发明所公开的异常检测装置中,所述分类器模型构造单元4进一步用于将所述至少一个信息交互特征的取值离散化(示例性地,在金融领域中,对于交易时间,如果将一年划分为四个季度,将一个月划分为四个星期以及为某一天赋予工作日或者周末两种属性,则一笔交易的交易时间就由其所在季度、其所在星期、以及其具体日期的属性这三部分构成,而对于商户类型,可以人为地将其划分为生活品、电器、娱乐、出行、混杂这五种取值)。
[0068] 优选地,在本发明所公开的异常检测装置中,分类器模型构造单元4进一步用于基于K-means算法将所述至少一个信息交互特征中的一个或多个的取值离散化(示例性地,在金融领域中,对于交易位置和交易金额这两个特征向量,可以采用K-means算法将每个用户的交易位置离散化为Local、Near、Remote以及Global四个取值,并将每个用户的交易金额离散化为Low、Medium以及High三个取值)。
[0069] 如本领域技术人员所知地,K-means算法是一种基于距离的聚类算法,其可以根据数据集中样本之间的距离将所有样本划分成k个分类,k的值由用户事先指定,并且该算法的核心思想是使得所有分类中的点到所属分类中心点的距离之和最小,例如,设p表示某个分类中的一个点,Ci表示第i个分类,mi表示Ci的中心点,函数D(p,m_i)表示点p与点mi之间的距离(该距离通常使用欧氏距离来计算),则K-means算法将找到一种划分方式,使得平方误差E最小:
[0070]
[0071] 该算法开始时随机选取k个点分别作为每个分类的中心点,然后开始迭代,每一次迭代由以下两步组成:(1)对每个非中心点进行聚类,每个点将被划分到与其距离最近的中心点所代表的分类中;(2)对分好的k个分类重新计算中心点(通常采用计算平均值的方法),选取与平均值距离最近的点作为新的中心点,并且当在一次迭代中没有任何一个非中心点所属的分类发生改变,或者达到了预先设定的次数,则迭代过程结束,这时该数据集就被划分成了k个分类。
[0072] 优选地,在本发明所公开的异常检测装置中,异常检测模块2进一步包括主控制器8、分类单元9、序列比对单元10和综合判断单元11。其中,所述主控制器8用于接收并解析来自所述数据处理服务器(例如交易处理服务器)的安全性信息交互数据以获得与所述安全性信息交互数据相关联的当前安全性信息交互的特征向量和发起该当前安全性信息交互的用户的标识符,并将所述用户标识符和所述当前安全性信息交互的特征向量传送到分类单元9,所述主控制器8还用于基于所述用户标识符从所述存储单元12提取发起该当前安全性信息交互的用户之前的N-1次操作以构成长度为N的操作序列(其中N为自然数,其可根据实际需求而被预先设定,并且该长度为N的操作序列包含当前操作),并将所述用户标识符和所述长度为N的操作序列传送到序列比对单元10,所述主控制器8进一步用于将接收到的来自综合判断单元11的判断结果传送回所述数据处理服务器。所述分类单元9用于基于所述解析出的用户标识符、当前安全性信息交互的特征向量、所述分类器模型以及所述条件概率表计算出该当前安全性信息交互的第一可信因子TS,以及随后将所述第一可信因子TS传送到综合判断单元11。所述序列比对单元10用于基于所述用户标识符从所述存储单元12中查找相应的第一k元组表并结合相应的第二k元组表计算该当前安全性信息交互的第二可信因子OS,以及随后将所述第二可信因子OS传送到综合判断单元11。所述综合判断单元
11用于基于接收到的所述第一可信因子TS和第二可信因子OS判断当前安全性信息交互(例如金融交易)的类型(即是“正常的”还是“异常的”),并将判断结果传送到所述主控制器8。
[0073] 优选地,在本发明所公开的异常检测装置中,所述分类单元9根据所述用户标识符从所述存储单元12中查找相应的条件概率表,并基于所述当前安全性信息交互的特征向量和所述分类器模型计算该当前安全性信息交互的第一可信因子TS。
[0074] 优选地,在本发明所公开的异常检测装置中,所述序列比对单元10使用BLAST算法计算该当前安全性信息交互的第二可信因子OS。
[0075] 如本领域技术人员所知地,BLAST算法的基本工作原理如下:对于给定的查询序列,根据用户ID查找相应的第一k元组表,并与查询序列进行比对。在本公开中使用如下简化的BLAST算法:定义出现一次命中的得分为δ,出现一次偏离的得分为γ,并假定查询序列中出现了L次命中,则其与用户正常操作序列的相似度HS为:
[0076] HS=L×δ-(N-L)×γ    (7)
[0077] 然后,将查询序列中出现偏离的片段按顺序组合成一条偏离序列,其长度为N-L。将偏离序列与第二k元组表进行比对,假设在比对过程中出现了M次命中,则可以得到偏离序列与异常操作序列的相似度DS为:
[0078] DS=M×δ-(N-L-M)×γ  (8)
[0079] 最终,所述第二可信因子OS被计算为HS-DS。
[0080] 示例性地,在金融支付领域中,假设一个支付系统支持的操作有:登录,查询商品明细,下单,支付等,并分别用A,B,C,D表示这四种操作,则一个用户的正常操作序列的记录可能是:ABBCDBABCBCD,已知的异常操作序列可能为:AAACDBCCCADDD,而一个被盗用账户的操作序列可能为:AAABCDCADD,其中,假设k元组中k的值设为3,则与第一k元组表的命中次数L为2(ABC与BCD),HS=2δ-6γ。与第二k元组表的命中次数M为3(AAA、CAD、ADD),DS=3δ-3γ。则OS=HS-DS=2δ-6γ-3δ+3λ=-δ-3γ,其中,因δ与γ均为正数,故该第二可信因子OS为负数,即表示可信度较低。
[0081] 优选地,在本发明所公开的异常检测装置中,所述综合判断单元11通过将所述第一可信因子TS和所述第二可信因子OS分别与预定的阈值相比较而判断当前安全性信息交互的类型(即是“正常的”还是“异常的”)。示例性地,所述综合判断单元11所使用的判断准则可以如下:(1)当第一可信因子TS和第二可信因子OS(即业务层面和操作层面)均为异常时,则判断当前安全性信息交互的类型为“异常”;(2)当第一可信因子TS和第二可信因子OS(即业务层面和操作层面)均为正常时,则判断当前安全性信息交互的类型为“正常”;(3)当第一可信因子TS(即业务层面)异常而第二可信因子OS(即操作层面)正常,则由TS+OS的值来决定当前安全性信息交互是否异常;(4)当第一可信因子TS(即业务层面)正常而第二可信因子OS(即操作层面)异常,则需要进一步的人工审计来判断当前安全性信息交互的类型。
[0082] 可选地,本发明所公开的异常检测装置可以与所述数据处理服务器和/或所述数据库处于同一物理实体中。
[0083] 图2是根据本发明的实施例的用于安全性信息交互的异常检测方法的流程图。如图2所示,本发明所公开的用于安全性信息交互的异常检测方法包括下列步骤:(A1)基于数据库中的安全性信息交互记录完成预处理操以构建分类器模型和条件概率表以及用于序列比对的组表;(A2)解析安全性信息交互数据,并基于所述分类器模型和条件概率表以及用于序列比对的组表判断与所述安全性信息交互数据相关联的安全性信息交互(例如金融交易)的类型(即是“正常的”还是“异常的”)。
[0084] 优选地,在本发明所公开的异常检测方法中,所述步骤(A1)进一步包括:(B1)从所述数据库提取正常的安全性信息交互记录(例如正常的交易记录)和已知的异常的安全性信息交互记录(例如已知的异常的交易记录);(B2)基于所述提取的正常的安全性信息交互记录和所述已知的异常的安全性信息交互记录确定至少一个信息交互特征向量(示例性地,在金融领域中,所述信息交互特征可以包括交易时间、交易位置、交易金额、商户类型以及交易所属的分类等),并基于所述至少一个信息交互特征向量构建所述分类器模型;(B3)为每个用户计算条件概率表(CPT);(B4)从所述数据库提取每个用户的正常操作序列和已知的用户的异常操作序列,并按照时间将正常操作序列划分成子序列以及按照类型将异常操作序列划分成子序列;(B5)为每个用户的正常操作序列构造第一k元组表,并且为每个用户的已知的异常操作序列构造第二k元组表(由于异常检测由一次安全性信息交互触发,故k的取值应大于等于用户完成一次完整的安全性信息交互过程至少需要的步骤数)。
[0085] 优选地,在本发明所公开的异常检测方法中,所述至少一个信息交互特征包括安全性信息交互位置信息。
[0086] 优选地,在本发明所公开的异常检测方法中,基于贝叶斯定理构建所述分类器模型(即该分类器模型是贝叶斯信念网络结构),并且使用后验概率判断安全性信息交互的类型(即是“正常的”还是“异常的”)。
[0087] 优选地,在本发明所公开的异常检测方法中,所述分类器模型由公式(4)表示。
[0088] 优选地,在本发明所公开的异常检测方法中,仅存在“正常的”和“异常的”两个分类,并且将待检测的安全性信息交互(例如金融交易)属于“正常的”分类的后验概率作为其第一可信因子TS。
[0089] 优选地,在本发明所公开的异常检测方法中,所述步骤(B3)进一步包括:基于从所述数据库提取的安全性信息交互记录为每个用户计算条件概率表的值。
[0090] 优选地,在本发明所公开的异常检测方法中,所述步骤(B5)进一步包括:使用SSAHA算法为每个用户的正常操作序列构造第一k元组表,并且为每个用户的已知的异常操作序列构造第二k元组表。
[0091] 优选地,在本发明所公开的异常检测方法中,所述步骤(B2)进一步包括:将所述至少一个信息交互特征的取值离散化(示例性地,在金融领域中,对于交易时间,如果将一年划分为四个季度,将一个月划分为四个星期以及为某一天赋予工作日或者周末两种属性,则一笔交易的交易时间就由其所在季度、其所在星期、以及其具体日期的属性这三部分构成,而对于商户类型,可以人为地将其划分为生活品、电器、娱乐、出行、混杂这五种取值)。
[0092] 优选地,在本发明所公开的异常检测方法中,所述步骤(B2)进一步包括:基于K-means算法将所述至少一个信息交互特征中的一个或多个的取值离散化(示例性地,在金融领域中,对于交易位置和交易金额这两个特征向量,可以采用K-means算法将每个用户的交易位置离散化为Local、Near、Remote以及Global四个取值,并将每个用户的交易金额离散化为Low、Medium以及High三个取值)。
[0093] 优选地,在本发明所公开的异常检测方法中,所述步骤(A2)进一步包括:(C1)解析安全性信息交互数据以获得与所述安全性信息交互数据相关联的当前安全性信息交互的特征向量和发起该当前安全性信息交互的用户的标识符;(C2)基于所述用户标识符提取发起该当前安全性信息交互的用户之前的N-1次操作以构成长度为N的操作序列(其中N为自然数,其可根据实际需求而被预先设定,并且该长度为N的操作序列包含当前操作);(C3)基于所述解析出的用户标识符、当前安全性信息交互的特征向量、所述分类器模型以及所述条件概率表计算出该当前安全性信息交互的第一可信因子TS;(C4)基于所述用户标识符查找相应的第一k元组表并结合相应的第二k元组表计算该当前安全性信息交互的第二可信因子OS;(C5)基于接收到的所述第一可信因子TS和第二可信因子OS判断当前安全性信息交互(例如金融交易)的类型(即是“正常的”还是“异常的”)。
[0094] 优选地,在本发明所公开的异常检测方法中,所述步骤(C3)进一步包括:根据所述用户标识符查找相应的条件概率表,并基于所述当前安全性信息交互的特征向量和所述分类器模型计算该当前安全性信息交互的第一可信因子TS。
[0095] 优选地,在本发明所公开的异常检测方法中,所述步骤(C4)进一步包括:使用BLAST算法计算该当前安全性信息交互的第二可信因子OS。
[0096] 优选地,在本发明所公开的异常检测方法中,所述步骤(C5)进一步包括:通过将所述第一可信因子TS和所述第二可信因子OS分别与预定的阈值相比较而判断当前安全性信息交互的类型(即是“正常的”还是“异常的”)。示例性地,步骤(C5)所使用的判断准则可以如下:(1)当第一可信因子TS和第二可信因子OS(即业务层面和操作层面)均为异常时,则判断当前安全性信息交互的类型为“异常”;(2)当第一可信因子TS和第二可信因子OS(即业务层面和操作层面)均为正常时,则判断当前安全性信息交互的类型为“正常”;(3)当第一可信因子TS(即业务层面)异常而第二可信因子OS(即操作层面)正常,则由TS+OS的值来决定当前安全性信息交互是否异常;(4)当第一可信因子TS(即业务层面)正常而第二可信因子OS(即操作层面)异常,则需要进一步的人工审计来判断当前安全性信息交互的类型。
[0097] 尽管本发明是通过上述的优选实施方式进行描述的,但是其实现形式并不局限于上述的实施方式。应该认识到:在不脱离本发明主旨和范围的情况下,本领域技术人员可以对本发明做出不同的变化和修改。