一种离群度检测方法与流程

文档序号:15262009发布日期:2018-08-24 21:54阅读:185来源:国知局

本发明涉及计算机技术领域,特别涉及一种计算机事件的离群度检测方法。



背景技术:

随着网络技术的飞速发展和网络时代的到来,网络所蕴含的广阔而丰富的资源,给人类社会带来了很多便利。然而,就在人们的生活越来越依赖网络的同时,由利益驱动而产生的网络安全事件却层出不穷,尤其在近几年,僵尸网络、域名放大分布式拒绝服务攻击、挂马等众多安全事件严重影响了网络的正常使用,也给社会各界带来了极大的危害,因此对这些事件的检测显得额外的重要。另外,使用一些网络域名,基于ip地址进行终端网站及应用的恶意注册、恶意申请也给网络服务商带来了极大的安全隐患。

除了上述网络问题外,僵尸网络也是一个影响网络安全的重要问题,但是僵尸网络由于多层级的特征导致其很难被追踪和溯源。

为了解决这个问题,目前常见的做法是进行蜜罐处理,将僵尸网络的信息提取后汇总然后在主干网上进行追踪。这类方法的主要问题是蜜罐只能被动地探测一些僵尸网络的信息。如果需要主动地获得僵尸网络的踪迹,需要利用僵尸网络进行活动的时候的行为特征进行追踪。现有技术还提供过一种分布式时空机理以处理僵尸网络,具体是指僵尸网络在进行ddos攻击或者扫描时的ip聚类行为,结合其使用的dns的fastflux行为特征,可以提取到僵尸网络节点的信息,从而为进一步追踪上层节点提供了可能。但是上述处理方式仍具有局限性,不能为网络端用户提供很好的解决策略。



技术实现要素:

本发明技术方案解决的技术问题为,如何更好的检测网络行为以全面解决网络的各种问题。

为了解决上述技术问题,本发明技术方案提供了一种离群度检测方法,包括:

在联网进行ip行为时从服务器端收集ip特征参数集合w,并将所述ip特征参数集合w写入消息中心,记为原始数据;

对所述消息中心的数据进行实时统计并将中间结果写回所述消息中心,所述中间结果包括对所述消息中心的原始数据或历史中间结果对应ip行为进行次数统计或累计;

对所述消息中心的数据进行近实时统计并将计算结果写入所述消息中心,所述计算结果包括在给定时间内对所述消息中心的原始数据或历史计算结果对应ip行为进行次数统计或累计;

获取所述计算结果并使用存在模型仓库里面的模型及参数信息库中的参数得到ip行为对应的离群度计算结果;

基于离群度检测结果判断所述ip行为是否异常,所述离群度检测结果包括所述中间结果或所述离群度计算结果。

可选的,所述ip特征参数集合w包括:

至少一种网络信息,所述网络信息包括:ip地址信息、ip类型信息、tcp协议栈信息及通信网络类型信息;

至少一种设备信息,所述设备信息包括:设备类型信息、设备操作系统版本及型号信息、浏览器信息、设备品牌信息、设备机型信息及浏览器版本信息。

可选的,所述原始数据为所述ip特征参数集合w中参数对应ip行为的次数统计的初始化次数。

可选的,根据所述模型的数量,所述ip行为对应的离群度计算结果有多个。

可选的,所述模型包括:置信度模型;所述参数信息库至少包括:ip行为次数对应的置信度;所述获取所述计算结果并使用存在模型仓库里面的模型及参数信息库中的参数得到ip行为对应的离群度计算结果包括:

基于所述计算结果,查询该计算结果对应ip行为对应的置信度;

基于所查询置信度计算该ip行为对应的第一离群度计算结果。

可选的,对于数值型变量的置信度模型f(a),定义所述ip行为对应的置信度为:

f(a)=1-fx(a)

其中fx为累积分布函数,a为当前变量的取值,fx(a)表示x小于a的概率;

对于字符型变量的置信度模型f(a),定义所述ip行为对应的置信度为:

f(a)=1-p(x=a)

其中p为概率分布函数,a为当前变量的取值,p(x=a)表示x等于a的概率;

所述第一离群度计算结果fs的计算公式为:

fs=g(f(a))

其中,g为置信度到离群度的转换函数。

可选的,所述模型包括:聚类模型;所述参数信息库至少包括:ip行为对应设备信息的分布函数、两两分布函数之间距离的定义;所述获取所述计算结果并使用存在模型仓库里面的模型及参数信息库中的参数得到ip行为对应的离群度计算结果包括:

基于计算结果获取第一特定时间内ip行为对应设备信息的分布函数;

计算所述特定时间内之分布函数与所定义历史分布函数之间的距离,得到该ip行为对应的第二离群度计算结果。

可选的,定义分布函数f、g之间的距离为:

d(f,g)=(∑|f(i)-g(i)|p)1/p

所述第二离群度计算结果fs’的计算公式如下:

fs′=g(d(f,g))

其中f,g为需要计算距离的概率分布函数;i为所有可能的取值;p为正整数,表示距离的乘方数;g为置信度到离群度的转换函数。

可选的,所述模型包括:时间序列模型;所述参数信息库至少包括:所选时间序列模型的参数;所述获取所述计算结果并使用存在模型仓库里面的模型及参数信息库中的参数得到ip行为对应的离群度计算结果包括:

根据所选时间序列模型及第二特定时间内统计的计算结果,预测出第三特定时间内计算结果的预测值;

根据所述计算结果的预测值及所述第三特定时间内计算结果的实际值计算ip行为对应的第三离群度计算结果。

可选的,设所选时间序列为{xt},对应的时间序列模型arima(p,d,q)为:

arima(p,d,q)=(1-∑φili)(1-l)dxt=σ+(1+∑θili)εt

所述第三离群度计算结果fs”的计算公式如下:fs″=g(εt);

其中l为滞后算子lagoperator,满足l(xt)=xt-1;φi为自回归参数,一共有p项记为φ1,...,φp;θi为滑动平均参数,一共有q项;d为差分的阶数;σ为平均偏移量;{xt}为观测到的时间序列;εt为t时刻对应的噪音项。

可选的,所述基于离群度检测结果判断所述ip行为是否异常包括:

将所述中间结果或离群度计算结果写入对应数据库以供外部设备查询。

可选的,所述数据库通过api程序查询或者网页被查询。

可选的,所述离群度检测方法还包括:

利用数据仓库里面的数据,更新模型仓库及参数信息库。

本发明技术方案的有益效果至少包括:

本发明技术方案通过将检测到的ip行为进行数据采集,并对分类的特征参数进行行为计数;将计数计算分为实时统计处理及近实时统计处理,以在性能和准确性之间找到一个平衡;既保证了性能,又保证了计算的准确性。

本发明技术方案通过使用模型仓库中的模型及参数得到ip行为的离群度计算结果,由于本发明技术方案的包括在时间维度上对ip行为的统计次数,因此可以利用多种模型对ip行为的离群度进行评估,从而获取到ip登陆次数的离群度数值,并基于网络用户设定的阈值来评估ip行为的合法性。本发明技术方案可以有效评估所有网络行为,解决网络运营时的风险问题。

本发明技术方案还利用消息中心的数据暂存性,将离群度计算的中间数据及原始数据发到消息中心,消息中心经过处理之后将结果储存到数据仓库,然后网络用户可从数据仓库里面查询(通过api程序查询,或者通过网页人工查询)到每次事件的有关各个维度离群度的计算结果,做到数据的有效利用及随时统计。本发明技术方案基于统计的数据及其数据仓库可实现与所有系统的匹配及接入,具有普适性。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其他特征、目的和优点将会变得更明显:

图1为本发明技术方案提供的一种离群度检测方法的流程示意图;

图2为本发明技术方案提供的另一种离群度检测方法的流程示意图;

图3为本发明技术方案提供的一种可实现离群度检测方法的系统结构示意图。

具体实施方式

为了更好的使本发明的技术方案清晰的表示出来,下面结合附图对本发明作进一步说明。

如图1所示的一种离群度检测方法,可应用于计算机网络行为的检测,包括:

步骤s100,在联网进行ip行为时从服务器端收集ip特征参数集合w,并将所述ip特征参数集合w写入消息中心,记为原始数据。

具体的,本发明技术方案适用于根据终端(比如手机、平板或电脑),终端应用app或网站集成sdk(softwaredevelopmentkit,软件开发工具包)。在用户通过终端应用app或网站进行特定的ip行为,比如注册账户,打开app,终端应用app或者网站会向服务器端发送预先定义好的数据包,数据包里面包含了此次行为事件的信息,并在服务器采集这些信息并形成所述ip特征参数集合w。ip特征参数集合w是基于所述数据包产生的。

具体的,所述ip特征参数集合w包括:

至少一种网络信息,所述网络信息包括:ip地址信息、ip类型信息、tcp协议栈信息及通信网络类型信息;

至少一种设备信息,所述设备信息包括:设备类型信息、设备操作系统版本及型号信息、浏览器信息、设备品牌信息、设备机型信息及浏览器版本信息。

在一种实施方式下,所述数据包包括:此次行为事件的机器信息、网络信息、以及用户本身的账户信息;在其他实施方式中,所述数据包也可以仅包括:此次行为事件的机器信息及网络信息,所述用户本身的账户信息也可以不包括在数据包中。在上述实施例中,所述用户本身的账户信息是一种可选信息。

对应于上述实施例中的数据包,所述ip特征参数集合w可包括如下信息:

一种类型的信息为网络相关参数,具体的包括:ip地址,ip类型(ip4或者ip6),ip地址信息,tcp协议栈信息(包括tcpts,wscale,tcpsourceport,tcpoptions,http版本等);通信网络类型信息(4g或wifi等);

另一种类型的信息为机器相关参数,具体包括:机器类型(pc或者mobile);机器操作系统版本,型号;浏览器ua;机器品牌,机器机型,浏览器版本等。

在本发明技术方案中,ip特征参数集合w中的参数信息是为了描述所述ip行为,并为该行为标记其数据特征值,因此,ip特征参数集合w中具体的标记入集合的元素类型可以是自定义的,即选择上述信息中的多种特征信息即可,本实施例不对ip特征参数集合w中的具体参数类型做限定。

另外,根据步骤s100的技术特征,其中的消息中心是一个消息分发系统,可不断接受消息,并按需求将消息推送到目的系统,消息中心可接受所述原始数据或经处理的原始数据(中间数据),本发明技术方案的消息中心除了接受本发明技术方案的原始数据外,仅接受本发明技术方案经处理的数据,其不再对外部数据开放。本发明技术方案的消息中心只负责数据在本发明技术方案流程中内部流转。

根据步骤s100,所述原始数据为所述ip特征参数集合w中参数对应ip行为的次数统计的初始化次数。

继续参考图1,本发明技术方案所述的离群度检测方法还包括以下两个并行执行的步骤:

步骤s101,对所述消息中心的数据进行实时统计并将中间结果写回所述消息中心,所述中间结果包括对所述消息中心的原始数据或历史中间结果对应ip行为进行次数统计或累计;以及,

步骤s102,对所述消息中心的数据进行近实时统计并将计算结果写入所述消息中心,所述计算结果包括在给定时间内对所述消息中心的原始数据或历史计算结果对应ip行为进行次数统计或累计。

根据步骤s101,实时统计计算主要处理针对ip行为中行为次数的简单计数计算需求,比如用户账户今天登陆次数等。即根据给定的数据维度,实时计数计算。所述数据维度根据需要可以设置为时间序列维度、时间频率维度等,本发明技术方案可将上述时间序列维度的设置作为实例。

根据步骤s102,近实时统计计算主要处理较为复杂的计算需求,比如用户所在ip在过去一个小时登陆次数。即对于给定的数据维度和给定的时间滑动窗口,进行计数计算。

实时统计计算的结果作为中间数据i存储于所述消息中心,近实时统计计算的结果作为中间数据ii存储于所述消息中心。

具体的,所述实时统计计算的结果及近实时统计计算的结果都是对于ip行为对应的特征参数集w中的信息在某一时间维度或其他选定数据维度上的计数,但是,本发明技术方案将上述计数分为实时统计及近实时统计两种统计方式,其目的是为了在性能和准确性之间找到一个平衡。诚然近实时计算的算法都可以放到实时计算系统里面,但是对应的系统性能会大幅下降,如计算时间,每秒钟可处理的数据量等。如果把所有计算放到近实时系统,那有一定概率(由网络通信延迟引起的)得到的结果是近似结果。所以根据计算结果的精度要求,本发明技术方案将计算分成并行的两条处理流程,同时进行计算统计计数,既保证了性能,又保证了计算的准确性。

根据本发明技术方案的上述发明构思,所述消息中心中的数据既包括上述原始数据,又包括上述中间数据i及中间数据ii。事实上,消息中心中的数据包括了原始数据及上述部分中间数据,即中间数据i及中间数据ii。所述消息中心中的数据在获取时,即包括了原始数据、实时计算结果及近实时计算结果。特别需要指出的是,根据步骤s101及步骤s102中所述消息中心的数据,其既包括了所述消息中心的原始数据、历史累计的对应ip行为参数的中间数据i以及历史累计的对应ip行为参数的中间数据ii。也就是说,针对同一ip行为参数的统计,其可针对消息中心内的原始数据、中间数据i及中间数据ii同时进行数据累计和监测,并不断更新统计数据,当然对于原始数据、中间数据i及中间数据ii本发明技术方案在其他实施例中也设计了针对中间数据i、中间数据ii的中间信息库(可以被标记为“第一信息库”)进行记录,中间数据i、中间数据ii的输出时间段可以设定为某一时间,比如24小时为一输出时间段。在其他实施例中,所述中间信息库也可以仅记录中间数据i,而不包括中间数据ii,而针对步骤s101的消息中心的数据其仅包括消息中心的原始数据及历史累计的对应ip行为参数的中间数据i;针对步骤s102的消息中心的数据其仅包括消息中心的原始数据及历史累计的对应ip行为参数的中间数据ii。

继续参考图1,本发明技术方案所述的离群度检测方法还包括:

步骤s103,获取所述计算结果并使用存在模型仓库里面的模型及参数信息库中的参数得到ip行为对应的离群度计算结果。

所述计算结果可以是根据步骤s101及s102计算得到的存储于所述消息中心中的中间数据,在其他实施例中,也可以包括原始数据(原始数据中各参数在数据维度上的计数为1)。

具体的,根据所述模型的数量,所述ip行为对应的离群度计算结果有多个。在一种实施例中,所述模型仓库里面可以为以下三类模型中的任意一种:一类是基于统计的置信度模型,一类是基于函数距离的聚类模型,一类是时间序列模型。

更为具体的,参数信息库相较于存储中间数据的信息库可以被标记为“第二信息库”。参数信息库里面对应的有三类数据:一类是用于置信度模型的统计数据,比如一个ip地址在一天内的登陆次数,以及登陆次数所对应的置信度;一类是用于函数聚类的数据,比如使用该app的手机机型分布函数,以及分布函数与分布函数之间距离的定义;另一类是用于时间序列模型的数据,主要是模型的参数,比如arima模型的参数。

对于第一类模型,其基于近实时统计的计算结果,查询对应的置信度,并根据置信度,得出离群度。比如用户今天登录次数,在历史用户一天登录次数中的置信度

对于第二类模型,其基于近实时统计的计算结果,计算出最近n天的分布函数,比如最近n天手机机型分布函数,计算最近n天的分布函数与历史分布函数的距离,并就此得到对应的离群度。

对于第三类模型,其基于近实时统计的计算结果,以及对应的模型,计算预测值,根据实际观测值与预测值,得到对应的离群度。比如ip每小时登陆次数,根据模型和最近n小时到最近2小时的数据,得到最近1小时的预测值,并根据最近1小时的实际值和预测值计算离群度(根据当前差值和差值的历史分布,得到对应离群度)。

理论上上述三类模型的输出的三类离群度计算结果是不同的,且对于一种执行本发明技术方案所述离群度检测方法的系统而言,采用上述三类模型中的一种或多种以得到不同ip行为所对应的离群度计算结果都是可行的且能达到本发明技术方案目的及技术效果的。

更为具体的,所述第一类模型为置信度模型;所述参数信息库至少包括:ip行为次数对应的置信度;所述获取所述计算结果并使用存在模型仓库里面的模型及参数信息库中的参数得到ip行为对应的离群度计算结果包括:基于所述计算结果,查询该计算结果对应ip行为对应的置信度;以及,基于所查询置信度计算该ip行为对应的第一离群度计算结果。

以下用具体公式模型来说明所述置信度模型f(a):

对于数值型变量的置信度模型f(a),定义所述ip行为对应的置信度为:

f(a)=1-fx(a)

其中fx为累积分布函数,a为当前变量的取值,fx(a)表示x小于a的概率;

对于字符型变量的置信度模型f(a),定义所述ip行为对应的置信度为:

f(a)=1-p(x=a)

其中p为概率分布函数,a为当前变量的取值,p(x=a)表示x等于a的概率;

所述第一离群度计算结果fs的计算公式为:

fs=g(f(a))

其中,g为置信度到离群度的转换函数。

所述第二类模型为聚类模型;所述参数信息库至少包括:ip行为对应设备信息的分布函数、两两分布函数之间距离的定义;所述获取所述计算结果并使用存在模型仓库里面的模型及参数信息库中的参数得到ip行为对应的离群度计算结果包括:基于计算结果获取第一特定时间内ip行为对应设备信息的分布函数;以及,计算所述特定时间内之分布函数与所定义历史分布函数之间的距离,得到该ip行为对应的第二离群度计算结果。

以下用具体公式模型来说明所述聚类模型:

定义分布函数f、g之间的距离为:

d(f,g)=(∑|f(i)-g(i)|p)1/p

所述第二离群度计算结果fs’的计算公式如下:

fs′=g(d(f,g))

其中f,g为需要计算距离的概率分布函数;i为所有可能的取值;p为正整数,表示距离的乘方数(比如在p=2时,就是欧式距离);g为置信度到离群度的转换函数。

所述第三类模型为时间序列模型;所述参数信息库至少包括:所选时间序列模型的参数;所述获取所述计算结果并使用存在模型仓库里面的模型及参数信息库中的参数得到ip行为对应的离群度计算结果包括:根据所选时间序列模型及第二特定时间内统计的计算结果,预测出第三特定时间内计算结果的预测值;以及,根据所述计算结果的预测值及所述第三特定时间内计算结果的实际值计算ip行为对应的第三离群度计算结果。

以下用具体公式模型来说明所述时间序列模型arima(p,d,q):

设所选时间序列为{xt},对应的时间序列模型arima(p,d,q)为:

arima(p,d,q)=(1-∑φili)(1-l)dxt=σ+(1+∑θili)εt

所述第三离群度计算结果fs”的计算公式如下:fs″=g(εt);

其中l为滞后算子lagoperator,满足l(xt)=xt-1;φi为自回归参数,一共有p项记为φ1,...,φp;θi为滑动平均参数,一共有q项;d为差分的阶数;σ为平均偏移量;εt为t时刻对应的噪音项;{xt}为观测到的时间序列,i为所有可能的取值,t为时间序列中的时间序号。

需要说明的是,在每个模型中,其公式所涉及的字母若有相同则分别属于不同的含义,其相互之间并没有关联性,都是独立的取值含义,在赋值时系统是分别赋值的。

上述三类模型的输出的离群度计算结果可被分别记录于内部或外部结果信息库i~iii,以供外部设备获取检测。

在本发明技术方案的一种实例中,可同时采用上述三类模型,即存在模型仓库里面的模型包括:第一类模型至第三类模型。在设置内部或外部结果信息库的时候可以仅设定一个,以存储上述各模型输出的离群度计算结果,也可以设置其中的一个或两个模型输出的离群度计算结果存储于结果信息库i,而其余模型的离群度计算结果存储于结果信息库ii。在一种实例中,结果信息库i储存的是第一类模型和第二类模型的离群度计算结果,结果信息库ii储存的是第三类模型的离群度计算结果。

结合本发明技术方案的步骤s101至步骤s103,本发明技术方案啊的输出结果存储于内部或外部的数据库,所述数据库包括存储中间数据的中间信息库(可以被标记为“第一信息库”)及存储上述离群度计算结果的结果信息库。根据需要,所述中间信息库及结果信息库可以设置存储多种数据类型。比如,在一种应用场景下,中间信息库可以存储中间数据i,结果数据库i可储存第一类模型和第二类模型的离群度计算结果,结果信息库ii可储存第三类模型的离群度计算结果。

继续参考图1,本发明技术方案所述的离群度检测方法还包括:

步骤s104,基于离群度检测结果判断所述ip行为是否异常,所述离群度检测结果包括所述中间结果或所述离群度计算结果。

根据步骤s104,所述基于离群度检测结果判断所述ip行为是否异常包括:将所述中间结果或离群度计算结果写入对应数据库以供外部设备查询。

具体的,结合本发明技术方案的上述内容,所述对应所述中间结果的数据库为上述中间信息库,所述离群度计算结果对应的数据库为上述结果数据库。所述数据库通过api程序查询或者网页被查询。也就是说,外部设备及用户可以通过api程序查询或者网页查询所述数据库以获取离群度检测结果。主要注意的是,基于本发明技术方案的发明思路,上述检测ip行为的异常所基于的数据是由用户确定的,即用户可以获取及查询中间数据库中记录的中间数据以判断异常,也可以获取及查询某一个结果数据库中记录的离群度计算结果的数据以判断异常。且上述判断过程可以是用户确定的阈值信息或阈值判断方式,方式可以是比较数值大小,也可以基于其他判断函数。

更为具体的,外部查询是按照系统所提供的给定的key值查询的,比如根据ip行为事件的sessionid查询结果;ip行为是否异常是基于每个不同的维度而言的,对于每个维度,本发明技术方案都有计算得到对应的异常度,对于中间信息库可以是中间数据i,对于结构数据库可以是上述离群度计算结果。这个异常度根据客户所定的阈值判断是否异常。具体地,若异常度>阈值则表示事件在这个维度上异常。

在一则防刷单的应用例中,如果终端用户利用外挂程序,或者人工刷单,通常会引起同一ip登陆次数的异常,则可以根据ip登陆次数的离群度来防止此类刷单,具体的,可以基于第一类模型的离群度计算结果,比较网络端用户设定的离群度阈值,通过比较离群度计算结果及离群度阈值,实现反欺诈。

在本发明技术方案的其他实施例中,如图2所示,提供了一种离群度检测方法,除了包括步骤s100~s104;还包括:

步骤s105,利用数据仓库里面的数据,更新模型仓库及参数信息库。

所述更新即利用实时数据重新计算并选择模型仓库中的模型及修正参数信息库中有关模型的参数信息。

基于本发明技术方案的整体流程,图3给出了一则离群度检测系统的整体结构,该结构中包括:

统计计算器,适于实时计算获取终端联网并进行ip行为时,从服务器收集的ip特征参数集合w,即为所述原始数据;

消息中心,适于暂时存储所述原始数据、中间结果及离群度计算结果;

近实时统计计算器,适于根据原始数据统计所述中间数据ii;

并行的,在进行近实时统计时,还进行实时计数计算以得到所述中间结果i;

基于消息中心的原始数据及中间结果,根据模型仓库中的离群度模型i及离群度模型ii统计离群度计算结果,并将结果存储于结果信息库i及结果数据库ii中。

在图3的系统结构中,模型仓库存储了上述离群度模型i及离群度模型ii,在使用时系统会根据需要查询并反馈查询的模型。离群度模型i及离群度模型ii可以分别是上述三类离群度模型中的一种及另一种。第二信息库具体存储了上述模型中的模型参数。

特别需要说明的是图3的系统结构还包括:数据仓库,所述数据仓库包含了本发明技术方案所指中间数据库及结果数据库,其将消息中心中的数据进行了数据同步以实现数据的离线。另外在系统执行步骤s105的更新步骤时,可以根据数据仓库中的数据对模型仓库中的模型进行重新计算,并对第二信息库中的参数数据进行相应更新。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1