一种VoLTE中SIP洪水攻击检测与预防方法与流程

文档序号:11410948阅读:406来源:国知局
一种VoLTE中SIP洪水攻击检测与预防方法与流程

本发明涉及网络流量异常检测领域,特别是涉及一种volte中sip洪水攻击检测与预防方法。



背景技术:

随着volte的持续火热,全球各个国家都在部署该项新一代的高质量语音通话技术。虽然以多媒体支持、更短呼叫时间、更低掉线率等特色而闻名,volte依然存在着众多安全问题,尤其是针对信令通道的sip洪水攻击。该攻击不仅会严重影响volte的网络性能,同时会影响到正常用户的通信安全。

虽然漏洞已经爆出,但目前对于volte中sip洪水攻击的有效监测方法还并未提出。在voip领域,对于sip洪水攻击的检测方法比较多。除了基于流量大小的异常检测这种比较直观的检测方法外,主要还有以下两种:

1.利用几种sip消息信号(如invite、ack、bye)之间的比例关联。sengar等人提出了一种基于统计学的方法,叫做vfds。其主要设想是攻击者往往只会发送某一种sip信号,因此该论文中的判断依据是当发生攻击时几种正常sip信号间的相应比例关系将会被打破。

2.基于sip消息信号的流量趋势,tang等人提出了一种基于三维sketch的方法来检测异常流量趋势的方法,其核心思想是利用训练数据与现测数据进行对比,以发现异常。

在此领域中依然存在许多挑战。比如第一类方法中,攻击者可以发送一定比例关系的sip消息信号来绕过相关的检测系统,而不是机械地发送一种sip消息信号。第二类方法中,同样存在着几点不足:1.需要特殊的训练阶段来训练样本,而在sip洪水攻击任何时候都有可能发生的情况下,很难保证训练样本不受恶意流量的污染;2.不能防御sip洪水攻击中的一种著名攻击——stealthy攻击,只要攻击者足够耐心,一点一点地长时间增加恶意流量,那么这种基于流量趋势的检测方法将失效。需要对于检测方法而言,另一难点在于sip流量对于一般的网络流量比较特殊,只在用户拨打电话和挂断电话时产生,由于用户拨打电话和挂断电话的时机随机性,sip流量的波动性非常大,因此很难捕捉该流量的变化趋势,这也正是第三类基于流量大小的主要缺点。特别地,在基于流量大小的检测方法中,low-rate洪水攻击也是一大检测难点。此外,在众多检测方法中,很多都只能检测出攻击,但无法找出攻击者,这样也只能做到治标的作用,不能从根本上维护系统的安全。



技术实现要素:

本发明提供一种volte中sip洪水攻击检测与预防方法,包括:

将第一时间段内的sip流量以每个sip消息信号为基本元素存储至第一层pfilter中;

检测所述第一时间段内的sip流量;

根据第一阈值将所述第一时间段内的sip流量进行过滤找出可疑用户;

存储所述可疑用户至第二层pfilter中;

根据第二阈值分析所述可疑用户是否为攻击用户。

进一步的,在所述的volte中sip洪水攻击检测与预防方法中,所述sip消息信号为invite。

进一步的,在所述的volte中sip洪水攻击检测与预防方法中,所述第一阈值采用指数加权移动平均方法获得。

进一步的,在所述的volte中sip洪水攻击检测与预防方法中,所述指数加权移动平均方法为:

其中,kp为哈希函数的个数,ui为用户总数,mp为数组的长度,αi为每个用户的平均传输个数,ri为预测的用户平均传输个数,βi为预测的αi与ri之间的差距,为在i内正常用户重传sip消息信号的最多次数。

进一步的,在所述的volte中sip洪水攻击检测与预防方法中,所述步骤根据第一阈值将所述第一时间段内的sip流量进行过滤具体为:

对所述第一时间段内的sip流量中的每一个用户sip地址向第一层pfilter进行查询;

若该地址对应的基本元素都大于或等于第一阈值,则该用户将被判定为可疑用户,其传输的流量也将被判定为可疑流量;

若该地址对应的基本元素小于第一阈值,则该用户将被判定为合法用户。

进一步的,在所述的volte中sip洪水攻击检测与预防方法中,所述步骤根据第二阈值分析所述可疑用户是否为攻击用户具体为:

对所述可疑用户的sip地址向第二层pfilter进行查询;

若该地址对应的基本元素数量都大于或等于第二阈值,则该用户将被判定为攻击用户,并将该流量保留在第二层pfilter中;

若该地址对应的基本元素数量小于第二阈值则该用户将被判定为合法用户,并将其对应流量删除。

进一步的,在所述的volte中sip洪水攻击检测与预防方法中,当所述第二层pfilter中无攻击用户时,该层pfilter将会被清空。

本发明提出一种volte中sip洪水攻击检测与预防方法,首先,根据countingbloomfilter提出了一种适合在volte中检测sip洪水攻击的数据结构,取名为pfilter;其次,利用pfilter,设计了一种两层检测模型,这两层模型能有效提高提出检测出sip流量异常,并且,发现攻击者,并将攻击者列入黑名单,以防止其进一步入侵;再者,本发明能够有效检测出low-rate洪水攻击和stealthy洪水攻击。

附图说明

图1是本发明volte中sip洪水攻击检测与预防方法的流程图;

图2是本发明实施例的volte中一次通话的基本流程示意图;

图3(a)是本发明实施例在固定mp,攻击流量为10cps下,kp对于过滤率和检测率的影响示意图;

图3(b)是本发明实施例在固定mp,攻击流量为15cps下,kp对于过滤率和检测率的影响示意图;

图3(c)是本发明实施例在固定mp,攻击流量为35cps下,kp对于过滤率和检测率的影响示意图;

图3(d)是本发明实施例在固定mp,攻击流量为50cps下,kp对于过滤率和检测率的影响示意图;

图3(e)是本发明实施例在固定mp,攻击流量为75cps下,kp对于过滤率和检测率的影响示意图;

图3(f)是本发明实施例在固定mp,攻击流量为100cps下,kp对于过滤率和检测率的影响示意图;

图4(a)是本发明实施例在固定kp、,攻击流量为15cps下,mp对于过滤率和检测率的影响示意图;

图4(b)是本发明实施例在固定kp、,攻击流量为35cps下,mp对于过滤率和检测率的影响示意图;

图4(c)是本发明实施例在固定kp、,攻击流量为50cps下,mp对于过滤率和检测率的影响示意图。

具体实施方式

以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。

pfilter的一数据结构和countingbloomfilter类似,pfilter同样采用k个hash函数和一个长度为mp数组来存储一个集合中的所有元素。该数组上的每一个基本单位称为counter,其中对应的数字为count。对于每个元素xi,通过多个hash函数h1,h2,...,hk将其映射到数组中的h1(xi),h2(xi),...,hk(xi)(若超出mp,则对mp取余)位置的counter上。这样,每加入一个元素,对应k个counter上的count就会相应加1;反之,若删除一个元素,且这k个counter中的count均不为0,则相应的k个counter中的count就会相应地减1。与countingbloomfilter显著不同的一点在于,pfilter不依靠含0的counter来判断是否某一元素是否合法,而是根据阈值来进行判断,将更多元素堆叠在同一个counter中,因此,可以节约较多的存储空间。

本发明使用两层pfilter结构来对volte中的sip流量进行过滤,第一层pfilter主要负责过滤掉一部分正常流量,第二层负责过滤出攻击者流量。

如图1所示,检测时,需要先第一时间段内的sip流量以每个sip消息信号(例如invite)为基本元素映射到第一层pfilter中去,然后对这段流量进行检测。此时,仅仅映射是不够的,还需要第一阈值来对这段流量进行过滤。该阈值需要很好地反映出第一时间段内正常volte用户传输一种sip消息(例如invite)的平均数量。为了找到一个较好的阈值,本发明采用了ewma(指数加权移动平均)方法。假设,第一时间段内传输的该种sip消息invite消息总数为ni,用户总数为ui,则每个用户的平均传输个数为αi=ni/ui。再假设ri是预测的用户平均传输个数,βi为预测的αi与ri之间的差距。则根据ewma,每个用户的平均传输次数为:

ri=(1-λ1)ri-1+λ1αi;

平均传输差距为:

βi=(1-λ2)βi-1+λ2|αi-ri|;

其中,λ1和λ2为权重,且0<λ1≤1,0<λ2≤1。当λ1和λ2越接近1,表示对当前所测数据的权重越大;反之,若λ1和λ2越接近于0,则表示对上一次所测数据的权重越大。特别地,当λ1=λ2=1时,表示只关心当前测得的数据。

那么,当前pfilter中的用户平均数量为:

thre1i便是第一层pfilter中的第一阈值,为在第一时间段内正常用户重传这种sip消息的最多次数。该第一阈值随着sip流量的波动而波动,能较好地反应出volte的网络情况。

该过滤的方法为:对sip流量中的每一个用户sip地址向第一层pfilter进行查询,若该地址对应的kp个counter中的count都大于或等于thre1i,则该用户将被判定为可疑用户,其传输的流量也将被判定为可疑流量,记为s,以便做进一步分析;若对应的kp个count有一个小于thre1i,该用户将被判定为合法用户。

紧接着,将所述可疑用户存储至第二层pfilter中,第二层pfilter负责进一步分析可疑流量,并找出攻击者。其过滤思路为:以同样的方式将可疑流量存储在第二层pfilter中去,然后使用静态的第二阈值thre2来进行判定,找出攻击者。需要指出的是,虽然思路与第一层相似,但判定方法与第一层不同,当某一可疑用户被判定为正常用户,即其sip地址对应的kp个counter中的count有一个小于thre2时,该用户将被判定为正常用户,并将其对应流量从pfilter流量中删除,以减少对其他sip消息判定的干扰。这样,当无攻击者时,该层pfilter将会被清空;若出现攻击者,即其sip地址对应的kp个counter中的count大于或等于thre2时,其流量将会被保留在第二层pfilter中,最终被判定为攻击者发送的流量。

【实施例】

volte中一次通话的基本流程如图2所示,本发明被部署到p-cscf(proxy-cscf)上。原因在于:1.p-cscf在ims核心网的边缘,所有的sip流量都经过该服务器;2.p-cscf负责与ue(userequipment)建立安全通道。

对pfilter而言,最重要的参数有两个,一个是其长度mp,一个是哈希函数的个数kp,如何配置这两个参数对于检测效果影响重大。对于hash函数,选用了murmurhash3函数。这kp个hash函数使用独立的种子,保证其相互独立。对于权重因子λ1和λ2,均取作0.8。另外,取λ3=2,rmax=3。在本实施例中,为了较好地模拟正常用户的通话行为,随机地产生正常流量,产生的正常流量随机范围在700cps(callpersecond)~3200cps.而攻击者的攻击流量为10cps~100cps。

如图3(a)-图3(f)所示,其是攻击者以不同攻击速率攻击时,在mp=500的情况下,检测方案对于不同kp的影响情况。在相同攻击速率的情况下,kp越大,过滤率filterrate越高,而检测率detectionrate越小。需要强调的是,过滤的目的是为了留下攻击者流量,从而找到攻击者;而检测的目的在于发现是否存在攻击。在理想情况下,希望在某一kp值下,过滤率能接近于100%(只留下攻击流量),检测率能达到100%,这样,便能仅仅使用一层pfilter来完成检测工作和过滤工作。从图3(a)-3(f)中,在low-rate攻击时,例如攻击速率在10cps和15cps时,很难达到这种双100%的效果;而在攻击速率达到75cps和100cps时,可以发现,两条曲线的几乎相交于100%。这说明,pfilter对于检验高速流量攻击是十分有效的,仅仅一层就能实现检测和查找攻击者的目的;但low-rate攻击由于和正常用户的流量发送行为较为相似,因此较难检测出。在图3(a)中,检测率和过滤率相交于(3.21,78.6%),因此,为了在low-rate攻击时仍然能获得较好地平衡检测率和过滤率,较佳的,选择kp=3。

如图4(a)-图4(c),在相同kp和固定攻击速率的情况下,不同mp值对于过滤率几乎没有影响,而对于检测率具有一定的影响。当mp越大,检测率越高。其原因是因为mp越大,pfilter中的counter数量越多,由于hash函数冲突产生的负面影响更小(实际情况下,很难保证这kp个hash函数时完全独立的)。在图4(b)和图4(c)中,检测率几乎不变的原因是75cps和100cps的攻击率较大,即使在mp=100时也已经比较明显。为了获得更高的过滤率和检测率,理论上,应该尽量使用较大的mp值;但这样占用的存储也将变大,空间效率也将变低。因此,为了平衡检测效果和存储消耗,较佳的,取mp=500。

本发明提出一种volte中sip洪水攻击检测与预防方法,首先,根据countingbloomfilter提出了一种适合在volte中检测sip洪水攻击的数据结构,取名为pfilter;其次,利用pfilter,设计了一种两层检测模型,这两层模型能有效提高提出检测出sip流量异常,并且,发现攻击者,并将攻击者列入黑名单,以防止其进一步入侵;再者,本发明能够有效检测出low-rate洪水攻击和stealthy洪水攻击。

虽然本发明已以实施方式揭露如上,然其并不用以限定本发明,任何熟习此技艺者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视后附的申请专利范围所界定者为准。

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