一种基于随机概率分布的信息安全异常检测的方法及系统与流程

文档序号:13177203阅读:150来源:国知局
技术领域本发明涉及信息安全应用技术领域,尤其涉及诸如SNMP、syslog等上报的海量告警的异常检测方法与系统。

背景技术:
本发明中包含的英文简称如下:SMA:SimpleMovingAverage简单移动平均线ACF:AutoCorrelationFunction自动关联函数MAD:MedianAbsoluteDeviation中位绝对偏差LR:linearregression线性回归OLS:ordinaryleastsquares最小二乘法MA:movingaverage移动平均WMA:weightedmovingaverage加权移动平均EWMA:exponentialweightedmovingaverage指数加权移动平均AR:autoregressive自回归ARMA:autoregressivemovingaverage自回归移动平均ARIMA:integratedARMA集成自回归移动平均CUSUM:CumulativeSumTest累积和检验SOC:SecurityOperationCenter安全管理中心IDS:IntrusionDetectionSystems入侵检测系统SNMP:SimpleNetworkManagementProtocol简单网络管理协议HDFS:HadoopDistributeFileSystemHadoop分布式文件系统MQ:MessageQueue消息队列安全生产历来是保障各项工作有序开展的前提,也是考核各级领导干部的否决指标。网络及信息安全运维体系是各类企业安全生产工作的重要组成部分。保障网络高效稳定地运行,是企业一切市场经营活动和正常运作的基础。随着各类企业信息系统的建设和完善,有效地提高了劳动生产率,降低了运营成本。一旦企业各业务系统出现安全事件、或发生故障、或形成性能瓶颈,不能及时发现、及时处理、及时恢复,势必直接导致承载在其上所有业务的运行,影响企业的正常运营秩序,企业业务不能正常开展。因此,对于政府和企业IT基础实施的安全保障就显得格外重要。随着政府和企业信息化程度不断提高。各业务系统间联系越来越密切,数据交换越来越频繁,各系统有着复杂网络或逻辑连接,存在大量数据交换,甚至一个故障可以引发成为企业全网故障,一点或一种业务系统出现漏洞感染病毒或受到攻击,将迅速波及其它业务系统及网络,甚至导致企业全网瘫痪。企业IT系统产生了大量的告警,随着存储设备成本的降低,没有理由丢弃这些数据,然而,目前,还没有相应的方法及其分析工具,能够从这些海量告警中,预防或发现安全攻击,溯源或找到故障的根源;还不能够帮助信息安全工程师尽快恢复IT业务。为此,如何利用信息化手段提高企业安全管理运维效益,优化企业信息安全管理运维服务,使得它能够为各类企业提供专业的和高性能的信息安全运维管理服务,即成为尤其是信息安全管理运维设计上必须要解决的一个重要课题。

技术实现要素:
本发明在分析了上述各类企业信息安全管理运维服务平台的缺陷和不足之后,提出了一种基于随机概率分布的信息安全异常检测的方法及系统。本发明的核心思想是:构建一个用于安全异常检测的基于分布的方法及系统。所述方法及系统能够通过告警时间序列建立信息安全异常检测模型,所述模型是以离线方式建立的,并为在线安全异常检测系统提供方法指南。进一步地,所述方法及系统,包括实时告警模块、历史告警模块、离线异常检测建模模块、在线异常检测模块,以及知识库。所述实时告警模块,实时地接收来自各种安全设备通过SNMP、syslog等协议上报的告警,并分别发送给历史告警模块和基于分布的异常在线检测模型模块。所述历史告警模块,可以作为告警时间序列的备份,也可以为离线安全攻击异常检测建模模块提供告警数据。所述离线异常检测建模模块,对所述告警时间序列建模,并提供基于门限的异常检测方法、基于回归的异常检测方法和基于随机分布的异常检测方法的指南。所述基于回归的异常检测方法,通过实时计算中位数m、四分位距iqr、事件间隔k、周期T、和情况,来决定是否选择基于分布的信息安全异常检测方法,并且实时反馈给在线基于分布的异常检测模块。所述在线异常检测模块,采用基于随机概率分布的方法,实时在线地检测实时告警模块所上报告警时间序列的异常,并且,将检测结果上报给相关显示模块或安全分析师作进一步地处理。所述知识库,存储各种统计参数、异常检测方法及其应用场景等。优选地,所述中位数m、四分位距iqr、事件间隔k、周期T、和情况,当满足,而且k1、T!=0和时,则采用基于分布的安全异常检测方法。本发明针对异构和动态的IT企业网络设备产生的海量安全告警,能够检测到安全攻击事件,能够溯源或回放事件,能够发现故障的根源或源头,能够帮助IT企业快速恢复业务,保证其正常运营。附图说明图1为本发明所述的离线异常检测建模模块内部流程示意图;图2为本发明所述的一种基于分布的信息安全异常检测的实际检测告警百分比实施例;图3为本发明所述的一种基于分布的信息安全异常检测的3种告警(有线木马、wifi木马和外部木马)的实施例(每小时告警时间序列);图4为本发明所述的一种基于分布的信息安全异常检测的告警统计分布盒图实施例;图5为本发明所述的一种基于分布的信息安全异常检测的统计方差系数实施例;图6为本发明所述的一种基于分布的信息安全异常检测的3种告警时序依赖实施例;图7为本发明所述的一种基于分布的信息安全异常检测的描述性统计稳定性示意图;图8为本发明所述的一种基于分布的信息安全异常检测的稳定指数值示意图;图9为本发明所述的一种基于分布的信息安全异常检测的选择异常检测方法示意图;图10为本发明所述的一种基于分布的信息安全异常检测的示意图。具体实施方式下面是根据附图和实例对本发明的进一步详细说明:图1为本发明所述的离线异常检测建模模块内部流程示意图,包括:①预处理和分组;②基于时间的分割;③描述性统计;④描述性统计分析;⑤可能的重新组合。双圆圈表示离线安全异常检测的输入和输出。原始的输入是来自安全设备的告警(例如,防火墙、入侵检测设备和路由器等设备)。最终输出是选择安全异常检测的算法指南。灰色框是由安全分析师输入的参数,不同的参数能够适应不同的应用场景和安全分析的目的。应用场景决定了安全分析所需的告警数量(例如,1年的告警)、网络拓扑(例如,节点、子网)、节点数量(因为主机和网络设备数量越多,则告警数量越大)。所述①预处理和分组,对于如何分组主要取决于网络的拓扑和安全分析师的目的,例如,只需要对某一个子网或某一类告警进行监控。如果告警是由不同的安全设备产生的,则需要做安全告警属性的标准化,以及初步的告警相关性分析。所述②基于时间的分割,计算告警时间序列和基于时间分割(例如,将一天分成白天和晚上)。所述③描述性统计,抽取每一个告警时间序列的分布和时序依赖的描述性统计。所述分布通过集中趋势(均值、中位数)和数据的离散度(方差,四分位数,方差系数)来表示。再者,也能评估告警分布统计的稳定性。如果告警时间序列形成趋势、具有周期性、季节性或可被预测,则它表现出时序依赖性。因此,时序依赖性可以表示为告警时间序列的可预测性和/或周期性。所述④描述性统计分析,分析所提取的描述性统计来推断异常检测算法的适用性和有效性。所述⑤可能的重新组合,对安全分析师建议告警时间序列可能的重新组合,以建立更加有效的安全异常检测算法。例如,如果告警数量依赖于工作时间,则可抽取不同时间分布的描述性统计(例如,白天、晚上)。此时可以决定时序依赖的异常检测的门限。进一步地,所述①预处理和分组模块,该模块所接收到的告警,可以是任何类型的告警,例如,安全设备上报的原始告警、超级告警、或元告警。为不失一般性,本发明主要考虑原始告警。所述预处理,即告警信息标准化,且消除重复告警等。告警分组通过设置初始组合参数而实现。不同分组方法取决于安全分析师的目标。例如:⑴告警源:告警的源地址;⑵告警类型:既可以是通常告警类型,也可以是超级告警类型。所述⑴告警源,告警源既可以是内部告警,也可以是外部告警。内部告警主要展示在工作时间内的行为和用户行为,而外部告警主要是变化和噪声。内部告警更细粒度的组合可以基于网络拓扑和安全分析的目的。例如,安全分析师可以基于不同的网络和防火墙策略进行分组,诸如不同的子网、组织部门和有线或无线。所述⑵告警类型,基于不同告警类型来揭示不同的行为,否则,考虑到一个组的所有警报将可能妨碍安全异常检测。例如,通常情况下,一种告警类型产生了大量的告警,则可能掩盖了其它类型的告警。所述①预处理和分组的输出,就是N个告警分组,即、、…、。例如,考虑某企业IT网络5个月来所产生的告警,可以根据先前定义的准则来分类告警:告警源:有线设备的告警、wifi的告警、外部的告警;告警类型:木马,等。之所以要分别监控有线告警和wifi告警,是因为大多数内部员工的PC客户端与所有服务器都采用有线通讯方式连接,而绝大多数使用笔记本电脑和智能手机的内部员工(包括客人),均采用无线通讯方式连接。另外,大多数网络,wifi设备受策略限制的缘故使得某些PC(或笔记本)只能访问Web和邮件应用程序。由于这些原因,安全告警分析系统期望能够从有线告警和无线主机所产生的告警中获得不同的历史行为。告警类型的抽取与每一种类型的告警数量有关。在图2中,给出了所产生的不同类型告警的百分比(小于1%的告警,忽略不计)。从图2看到,产生了80%的告警是木马告警类型。这个结果是可信的,因为所述企业没有直接监控大多数主机设备。图1适用于独立于所有告警分组,并与告警数量无关。然而,对于包含海量告警分组的自动分析是非常有用的。因此,下一步主要考虑三个最活跃的告警分组:有线木马、无线木马、外部木马。进一步地,所述②基于时间的分割,其输入是、、…、;并且,提取描述性统计的三个操作步骤:告警时间序列计算,有效/无效的告警序列标记,以及基于时间的分割。对每一个告警分组,告警时间序列统计需要输入两个参数:时间窗w,决定了需要分析的告警数量;⑵时间粒度g,评估告警的最小时间单位(例如,每天、每小时、每分钟的告警时间序列)。上述参数由安全分析师输入,依据场景和分析目标。例如,如果分析目标要发现哪一天异常或告警的态势感知,则时间粒度可能等于一天(为每天的告警数量),并且时间窗w为6个月或以上。另一方面,如果分析目标是评估白天和晚上是否具有不同的告警分布,则时间粒度可能等于一小时或更少,并且时间窗w为1个月或以上。在安全分析的场景中,粒度g过细(例如,秒)应该避免的。那么,所述②基于时间的分割,评估在时间窗w中是否活跃的。这一步的目的主要是去掉不活跃的的时间序列,这是因为为了进一步的分析。作为检查告警时间序列是否活跃的准则,如果在该时间区间内产生了50%或以上的告警数量,则该类告警是活跃的,即median()>0。其它的诸如过滤非活跃告警序列的准则和门限,取决于安全分析目标和企业IT系统的情况而定。在计算告警时间序列之后,如果它是活跃的,则在输入时间组合参数的基础上进一步地分割,其中,被定义为一些时间区间(例如,白天、晚上),告警时间序列被分割为M个子序列,j∈{1,2,…,M}。另一方面,如果安全分析师对于告警的时序行为没有特别的期待,则可以为所有告警分组定义一种细粒度时间.(例如,一般按照每小时分割)。这是出于一个事实,所述⑤可能的重新组合,能够自动建议可能的粗粒度时间重新组合,以分析在所述③描述性统计所提取的描述性统计。所述②基于时间的分割的输出就是M个子序列,以及序列,即对于每一个告警分组,输出M+1个告警序列。现在,再来考察前面的例子,主要关注3个最活跃的告警分组:有线木马、wifi木马、外部木马。考察的时间窗w为5个月,时间粒度g为1小时。这个时间粒度可以考察不同时间区间的时间行为。图5为有关每小时的有线木马、wifi木马、外部木马告警的时间序列。X轴表示时间(小时),而Y轴为上报的告警数量(0~800个告警/小时)。因为所以这三个告警序列的中位数大于零(median()>0,i=1,2,3),所以它们是活跃的。从图3可以看出,wifi木马最为活跃,有线木马次之,而外部木马告警序列最弱。进一步地,所述③描述性统计,其输入为和M个子序列。本模块抽取了3组相关的描述性统计,涉及到随机分布、时序依赖和稳定性。所述随机分布,其分布特征具有2个主要属性:集中趋势和离散。对于高度动态的应用场景,考察下面的统计,并可以通过盒图直观地表示。⑴中位数m(即median(m)),表示数据的集中趋势;⑵四分位数iqr,表示围绕集中趋势的离散度。为了表示离群值对数据离散度的影响,考察方差系数,其中,和分别是告警序列所属分布的均值和方差。为较高之值时,则表示该告警序列是离散的,并且/或存在异常值;然而,为较小之值时,则表示为收敛的分布。再者,对于最活跃的告警序列:有线木马、WIFI木马、外部木马,考虑时间组合={工作时间(白天),工作时间(晚上),节假日(白天),节假日(晚上)},图4给出了时间组合的盒图;其中,X轴表示时间分割(白天、晚上),而Y轴表示每时间单元的告警数量(例如,每小时上报的告警的数量)。每一个盒图给出了如下的统计属性:下四分位数(q1)、中位数(median)、上四分位数(q3)、四分位距(iqr=q3-q1)、下触须(=)和上触须=。所有在之上和之下的值,可以认为是异常值。图5给出了不同的时间组合的方差系数系数的值。这个统计对于捕获到数据的变异性是有用的。从图4看出,在工作日的白天,大部分的告警是wifi木马产生。另一方面,在节假日的白天,wifi木马告警减少,在节假日的夜间几乎是没有告警。从图7看出,在工作日的白天,wifi木马告警的变量系数是低的,而其它组合比这个高,这就说明该告警序列存在噪声,并且/或存在某些异常值。在图4(a)和(d)的所有四个时间组合,有线木马告警呈现了类似的告警的集中趋势(m)和离散度(iqr),而在工作日的白天稍微有点高。然而,在工作日,无论是白天,还是晚上,存在较高的异常值。这些异常值几乎是高于集中趋势的一个数量级;并且,从图5可以看出,其方差系数也为较高的值。另一方面,外部木马无论在白天还是晚上几乎是等分布的,工作日的白天稍微有点低,这可能与来自不同时区的攻击有关。外部木马告警的离散度是低的,并且,在所有时间组合中,方差系数接近1.5。这就提示外部木马告警序列独立于检测时间,可以合并成为一个时间组合(工作时间/节假日、白天/晚上均没有差别)。所述时间依赖,与时序依赖相关的描述性统计,对于基于回归的异常检测来说,是有用的。如果一个告警序列存在趋势、周期性和季节性的话,则它展示为时间依赖性。趋势是一个一般的系统性的组件,对于充分长的时间范围,一个时间序列可能显示周期性或季节性的模式。为了抽取时序依赖的描述性统计,采用滤波和自动关联的时间序列分析技术。滤波能够减少时间序列的噪声。这种噪音可能隐藏了用于模型异常检测是有用的趋势和时间模式。在这种情况下,采用简单的过滤技术;重要的是要考虑,因为采用更先进的滤波技术,可以改变数据的性质。基于这样的原因,本发明采用基于半径为r小时中心窗口的SMA滤波。为了清晰起见,假设作为一个告警时间序列,而是在t时刻的告警数量(例如,如果时间粒度g等于1天,则表示第t天的告警数量)。SMA滤波生成了新的序列SMA(t),其中,告警序列的每一个值被的2r个邻居的平均值所替代,即:SMA(t)其中,是在第t时刻的告警数量,2r+1是移动平均窗口的大小。本发明建议半径r取值为1的平滑滤波,或半径r取值为5渐进式滤波。在滤波之后,计算如下自动关联函数(ACF):其中,是自动关联的时间间隔,是告警时间序列,E是数学期望运算符,和是的均值和方差。当自关联为较高的值和慢衰减时,它意味着将来值与历史值相关;反之也真,即当两个值之间的自动关联趋于零时。如果它的,则一个时间序列被认为是可预测的,且在第k个窗口具有足够的预测精度。因此,上述条件满足,基于回归的异常检测算法可以有效使用。与随机分布的描述性统计不同,时序依赖性统计仅从整个告警时间序列中抽取,这是因为由于自动关联函数需要告警时间的连续性,用于鉴别可预测性、趋势和周期性。特别是,关于时序依赖性,本发明提取了下面的描述性统计:⑴作为可预测间隔的值;时间序列的主周期(如果有的话)。其中,可以有多个周期(例如,24小时、7天),也可以没有周期(在这种情况下,=0)。再者,注意到,不管是否对告警序列实施了滤波,都可以抽取每一个统计。也就是说,存在3种配置(无SMA滤波、弱SMA滤波、强SMA滤波),相应地提取3对值(,)。图6给出了有线木马、WIFI木马、外部木马的ACF之值。X轴表示时间间隔(小时),Y轴ACF之值。垂直虚线表示以24小时为单位滑动,而水平虚线表示以0.3为门限来确定告警序列是否可预测,并且给出了无滤波、=1和=5三种配置的结果。图4(a)展示了一周24小时周期的有线木马告警,其通过SMA滤波稍微增强,但仍维持在0.3门限以下(因此,周期=0)。滤波稍微改善了间距的预测,特别是=5,但是,该告警序列仍保持弱关联。另一方面,WIFI木马告警展示了强24小时周期,这是很明显的,即使不使用滤波。这意味着,寻找同一个值每一个小时的最高概率是每24个小时。外部木马告警序列的ACF展示了一个趋势成分,其由滤波加强的,达到了预测高于=5的24小时得值。。所述描述统计的稳定性,每一个告警时间序列,为了表明其分布的描述性统计的稳定性,考虑中位数(median)和四分位距。在发明中,定义w作为要分析告警时间序列的时间窗。要验证的是在时间窗口w中分布统计是如何演变的。为了这个目的,考虑两个参数:滑动窗S的大小(例如,1个月),时移(例如,1周);其中,SW。通过赋予这些参数不同的值,信息安全分析师能够评估描述性统计在不同周期的稳定性。确定异常检测参数如何重新评估的频率的信息也是有用的。本发明计算中位数(median)和四分位距之值,从时间间隔=[0,s]开始,然后=[,s+],然后=[2,s+2]等,直到覆盖整个时间窗w。这个过程就是描述性统计和。图7给出了有关告警数据集的描述性统计。X轴表示时移,而Y轴表示和的值(告警数量/小时)。在这个例子中,w=5个月,s=1个月,=1周。例如,X=0,表示第1个月的和;X=1,表示第1周的和,等等。这使得能够评估描述性统计在周基础之上如何演变的。从图7中可以看出,在初始周期里,有线木马白天的统计是不稳定的,而后是稳定的;另一方面,WIFI木马在晚上几乎没有告警,但在白天,告警陡增。外部木马在整个周期中一直是稳定的。这里,给出了自动验证关于告警分布描述性统计是否稳定的准则。假设d是描述性统计(例如,iqr),并且,描述性统计d是在时移t的值(例如,在5的值)。为了评估d的稳定性,采用一种流行的离散度测量方法:中位绝对偏差MAD。特别地,对于每一个描述性统计d,通过如下公式计算稳定性指数:其中,表示MAD,分母m(d)=median(),这是要求比较的不同尺度的描述性统计的一个标准化因子。较小的(几乎为零)表示描述性统计d是稳定的,反之也真。特别地,当时间序列的集中趋势和离散度满足如下关系时,则是稳定的:0其中,是稳定性门限,它可以由安全分析师根据IT网络环境情况而调整的。在本发明应用场景中,对于自动地识别描述性统计的稳定性和不稳定性,启发式地验证=0.2是一个充分的门限。在上述公式中,考虑稳定性指数的最大值,因为一个描述性统计较大的差别可以足够的考虑分布的不稳定。在图8中,白天的有线木马和无线木马告警均为不稳定的,而其它四个分布的稳定性指数是低于门限的。基于分布的异常检测方法,其告警序列能够通过参数或非参数分布建模(高斯(Gaussian)分布,(Gamma)分布),并且,异常事件发生在随机模型的低概率区、或者分布有较大变化区域。这些算法只有当不存在时序依赖和不适用基于回归的方法时才有用。告警序列只有在集中趋势和离散度保持稳定是才能通过分布来建模。如果和都是稳定的,则可以采用基于分布的异常检测方法。基于分布的算法可以是参数或非参数。参数化技术只当有一些告警序列分布的证据或知识时是有用的。例如,中位数是稳定的,且集中在四分位数区域,那么告警序列可以通过高斯分布来建模,尽管需要进一步的分析,例如,卡方检验。其它常用的参数分布是γ分布和Longtail分布。更复杂的分布可以通过分布来逼近,例如,MoG(通过高斯分布来逼近)。非参数化技术只当对告警序列分布的无先验知识才有用。常见例子是基于直方图技术和基于核函数技术(例如,Parzen窗估计)。另外,如果是不稳定的,而是稳定的,那么,采用中位数作为描述性统计的CUSUM-like方法,对异常检测是有效的。注意到,外部木马(白天,晚上)、无线木马(晚上)和有线木马(晚上)告警,可以通过分布来建模,而无线木马(白天)在均值和方差方面,不断地增长,这样的告警序列通过分布使得建模更为复杂了。有线木马仅在初始周期是不稳定的,而后就一直稳定。也就是说,在初始周期是不稳定之后,基于分布的方法对有线木马是有效的。所述决策流程图,如图9所示,第一步评估收敛指数的情况:如果告警序列不是收敛的,但是,也不具有时序依赖性,那么基于分布的方法对异常检测也是有效的。图10为本发明所述的一种基于分布的信息安全异常检测的示意图,包括实时告警模块、历史告警模块、离线异常检测建模模块、在线异常检测模块,以及知识库。所述实时告警模块,实时地接收来自各种安全设备通过SNMP、syslog等协议上报的告警,并分别发送给历史告警模块和基于分布的异常在线检测模型模块。所述历史告警模块,可以作为告警时间序列的备份,也可以为离线安全攻击异常检测模型模块提供告警数据。所述离线异常检测建模模块,对所述告警时间序列建模,并提供基于门限的异常检测方法、基于回归的异常检测方法和基于随机分布的异常检测方法的指南。所述基于分布的异常检测方法,通过实时计算中位数m、四分位距iqr、事件间隔k、周期T、和情况,来决定是否选择基于分布的信息安全异常检测方法。所述在线异常检测模块,采用基于分布的方法,实时在线地检测实时告警模块所上报告警时间序列的异常,并且,将检测结果上报给相关显示模块或安全分析师作进一步地处理。所述知识库,存储各种统计参数、异常检测方法及其应用场景等。以上所述仅为本发明的较佳实施例,并非用来限定本发明的实施范围;凡是依本发明所作的等效变化与修改,都被视为本发明的专利范围所涵盖。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1