基于cusum算法检测sip消息洪泛攻击的装置和方法

文档序号:7698275阅读:176来源:国知局
专利名称:基于cusum算法检测sip消息洪泛攻击的装置和方法
技术领域
本发明涉及一种保证网络信息安全传输的方法,确切地说,涉及一种基于 CUSUM算法检测SIP消息(包括INVITE消息和REGISTER消息)洪泛攻击 的装置和方法,属于网络信息安全的技术领域。。
背景技术
下一代网络NGN (Next Generation Network)是使用会话发起协议SIP (Session Initiation Protocol)通过会话控制机制来创建、管理和终结各种类型 消息的多媒体业务。NGN是电信史上的一个里程碑,标志着新一代电信网络时 代的来临。随着计算机网络的迅速普及和电信网各种新业务的不断兴起,网络 安全问题已经逐渐渗透到社会生活的各个领域,并且变得越来越严峻。由于 NGN具有网络IP化和组网开放式的特性,使得电信网将面对原有互联网上各 种安全威胁的挑战。
在众多安全问题中,基于SIP协议的SIP消息的洪泛攻击,将严重威胁NGN 网络的安全;其中,邀请(INVITE)消息攻击和注册(REGISTER)消息攻击 最为普遍。INVITE消息和INVITE消息两者的攻击原理相似,都是由攻击者向 攻击目标发送大量的相关消息,使得被攻击的服务器忙于处理此类巨量消息而 耗尽资源,从而对正常、合法的消息无法处理,导致整个电信网络的瘫痪,这 两种INVITE消息和REGISTER消息的洪泛攻击看似简单,但是,真正防御它 们还是相当困难的 一方面,这种SIP消息洪泛攻击使用的数据包都是正常数 据包,网络服务器在正常运行时不会拒绝和禁止该类数据包;另一方面,攻击 者不需要得到目标主机的返回信息,就可以伪造IP数据包的源IP地址,从而 使得攻击主机无从追查其来源,因此这些消息的4全测和阻断都非常困难,从而使破坏网络安全的攻击者或恐怖分子有了可乘之机。所以,网络安全问题不但 影响电信网的正常运行,而且可能造成国家安全和国民经济的巨大损失,它的
损失和影响甚至不亚于一场恐怖袭击。例如,2003年发生的洪泛攻击造成北美、 欧洲和亚洲的互联网发生大面积的堵塞,据估计至少有2.2万台网络服务器和 25万台计算机遭到攻击,受灾最重的韩国的全国网络瘫痪了整整24小时,造 成了难以挽回的巨大损失。因此,迫切需要一种有效的检测手段及时发现这种 危及网络安全的洪泛攻击行为,以便能够及时采取相应措施遏制洪泛攻击的蔓 延和发展。
从2002年至今,国外的美国密歇根大学的H.Wang、澳大利亚墨尔本大学 的Tao Peng、希腊塞萨利大学的Moustakides等人先后提出运用非参数CUSUM 算法4企测互联网中SYN洪泛攻击。德国开放通讯系统研究所的Yacine Rebahi 等人运用上述算法检测IMS网络中的SIP洪泛攻击。国内也从2005年开始, 解放军信息工程大学的林白、南京邮电大学的陈伟、南京大学的严芬、大连理 工大学的于明等人先后运用上述算法针对互联网中的SYN洪泛攻击开展研究。 然而,截止到目前,国内运用CUSUM方法冲企测洪泛攻击还仅<又停留在针对TCP 消息阶段,而针对SIP消息的洪泛攻击的检测和防御手段的研究成果几乎是空 白;其主要原因是运营商目前还没有把NGN推向市场。
因此,现在的各电信运营商和管理部门都在急切希望运用NGN网络提供 电信级业务,但是,未来存在的安全问题明显减緩了这一趋势。所以,如何尽 快研制一种能够有效检测发生SIP消息洪泛攻击的装置和方法,以遏制此类攻 击的蔓延和发展,为NGN网络的通信业务提供很好的安全传输和服务质量的 保证,就成为业内科技人员急需解决和义不容辞的任务。

发明内容
有鉴于此,本发明的目的是提供一种基于非参数累积和CUSUM算法的检 测SIP消息洪泛攻击的装置和方法,本发明基于CUSUM检测模块构建的检测 装置部署在下一代电信网中,能够有效、准确地检测出NGN网络中的针对SIP消息的洪泛攻击,为NGN通信业务提供安全保证,且该检测装置的结构简单, 灵敏度高,实现容易;检测方法的计算复杂度低,操作便利,易于部署和维护, 检测时间快,检测率高。
为了达到上述目的,本发明提供了一种基于非参数累积和CUSUM算法的 检测SIP消息洪泛攻击的装置,其特征在于所述装置是由采集层、数据层、 检测层和响应层四层架构的相关功能模块所组成,其中
采集层,设有通过调用UNIX/LINUX系统函数和使用SIP协议栈抓取在网 络中传输的SIP数据包的抓包模块,以完成采集网络中的SIP数据包的功能;
数据层,负责对来自采集层的SIP数据包进行预处理,并对得到的INVITE 消息和REGISTER消息的数值分别进行存储处理;设有对SIP数据包中的 INVITE消息和REGISTER消息分别累加统计其数量的数据预处理模块,以及 分别存储INVITE消息和REGISTER消息的统计数值、以供检测层调用的 INVITE数值存储模块和REGISTER数值存储模块;
检测层,设有分别对INVITE消息数值和REGISTER消息数值进行处理的 基于非参数累积和CUSUM ( non-parametric cumulative sum)算法的功能模块, 负责分别调用数据层中存储的INVITE消息数值和REGISTER消息数值,并釆 用CUSUM算法对上述消息数值进行检测处理,得到检测结果;
响应层,设有接收检测层的检测结果数据,并判断是否告警的报警模块, 当检测结果数据超过响应层设定的阈值时,该报警模块认为遭到SIP消息洪泛 攻击,就发出告警信号;否则,表示网络运行正常,未发生SIP消息洪泛攻击。
所述进行数量累加统计的INVITE消息包括两种在i殳定的时间萃殳w内分 别抓取的INVITE消息总数7;^(")和包括该INVITE消息与其相应的应答消息 的交互过程完整的INVITE消息总数《^(w);所述进行数量累加统计的 REGISTER消息包括两种在设定的时间段w内分别抓取的REGESTER消息总 数乙一.(w)和包括该REGESTER消息与其相应的应答消息的交互过程完整的 REGESTER消息总数&, 。所述装置安装在一台服务器上,并与本地NGN网络或使用SIP协议的网络 与互联网Internet,移动网PLMN、其他的NGN网络或使用SIP协议的网络之 间的三层交换机相连接,或者连接本地NGN中的呼叫代理-会话控制功能 P-CSCF节点。
为了达到上述目的,本发明还提供了一种基于非参数累积和CUSUM算法 的检测SIP消息洪泛攻击的方法,其特征在于包括下列操作步骤
(1 )采集层的抓包模块通过调用其中设有能在UNIX/LINUX系统里提供 独立的用户级别网络数据包捕获接口的捕包函数,获取本地模块信息而采集SIP 数据包;
(2 )数据层把接收到的来自采集层的SIP数据包传输到数据预处理模块, 分别统计该数据包中的INVITE消息和REGISTER消息的数量,并将统计结果 分别传送到INVITE数值存储模块和REGISTER数值存储模块进行存储;
(3) 检测层的CUSUM模块分别调用数据层中INVITE数值存储模块和 REGISTER数值存储模块中的数据进行检测,判断是否发生SIP消息洪泛攻击;
(4) 响应层中的报警模块接收检测层的CUSUM模块的检测结果,如果判 断遭到SIP消息洪泛攻击时,该报警模块发出报警;
(5 )返回步骤(1 ),继续执行检测SIP消息的相关操作。 所述步骤(1 )进一步包括下列操作内容
(11 )抓包模块通过捕包函数寻找系统中可用的网络接口模块,开始监听
会话;
(12)通过编辑过滤字符串来设置过滤器的过滤条件,并制定要捕获的SIP 协议的属性设置为INVITE或REGISTER的消息,以便能够有效捕获设定类型 的IP数据包;
(13 )执行捕获循环每捕获一个IP数据包后,就调用用户的回调函数对 该IP数据包进行处理。
所述步骤(2)中,进一步包括下列操作内容(21 )数据预处理模块接收到抓包模块送来的IP数据包后,先判断其是否
是SIP数据包,如果是,则执行后续操作;如果不是,则丢弃该IP数据包;
(22)数据预处理-漠块查看该SIP数据包中的method属性项,如果该属 性值是INVITE或REGISTER,则分别向INVITE数值存储模块或REGISTER 数值存储模块传送一个标记值,记为U")-U")+l或U"X一,(")+l'表 明在该设定时间间隔内发现一个INVITE消息或REGISTER消息;如果该属性 值不是INVITE或REGISTER,则丢弃该SIP数据包;
(23 )数据预处理模块继续分析该SIP数据包,如果发现该SIP数据包是 一个包含INVITE消息或REGISTER消息的交互流程完整的数据包,则分别再 向INVITE数值存储^t块或REGISTER数值存储;f莫块传送一个标记值,记为
= U") + l或《.—J") = + l ,表明在该设定时间间隔内发现一个交
互流程完整的INVITE消息或REGISTER消息;如果发现该SIP数据包不是包 含INVITE消息或REGISTER消息的交互流程完整的SIP数据包,则丟弃之。 所述步骤(3)中,进一步包括下列操作内容
(31 )CUSUM模块初始化设置取样间隔时间后,调用数据层中第"个取样 间隔时间内在网络中监测到的INVITE消息总数7;vite ( )和包括该INVITE消息与 其相应的应答消息的交互过程完整的INVITE消息总数《^("),再将两者相减 得到其差值Z,, U"),式中,自然数n是取样间隔时间的序号;
(32) CUSUM^t块对上述每个差值^进行归一化变换处理^ =尤/7( ), 式中,^V^是由实时估计而周期更新的交互过程完整的INVITE消息总数S,^(M) 的均值,该^VW的递归估计值为f(") = yL^("-l) + (l-f(0)=《w,e(l), 式中,X为指数加权移动平均EWMA系数,取值范围是[O, l];这样得到一个 差值序列
(33) CUSUM模块对差值序列^J中的每个差值A进行转换处理令 Z =f -/ ,式中, 〃是在网络无攻击情况下的{《}序列的最大值,该p参数是根据网络情况设置的,/ 21,从而组成z"的数值序列;
(34) CUSUM模块利用公式_); =0; |+2 )+=^"—'"", >V'+z"〉0对数值序
列Z,,的值进行累积和运算,然后将这样得到的凡数值序列作为检测结果数据传
送给报警模块;该计算公式的涵义是当z"的数值大于零时,凡的值是3V,与^ 之和;当4的数值是小于或等于零时,K的值就是L,,即不作加法运算。
所述步骤(3)在^r测处理REGISTER消息的操作步骤中,只是在所述步 骤(31)初始化设置取样间隔时间后,CUSUM模块是调用数据层中设定时间 间隔内存储的REGISTER消息总数7;,一.(")和包括该REGISTER消息与其相应
的应答消息的完整交互序列总数&w("),其它相应的操作内容都与检测处理 INVITE消息的操作步骤相同。
所述步骤(4)中的报警模块的操作步骤如下先设定检测发生攻击的判断 门限阈值N,并将接收到的来自检测层的检测结果数据凡与该阈值N进行比较,
即SIP消息洪泛攻击的判决函数为"wOO二ioy <Ar;式中,^00为在第"
个取样间隔时间内的判决结果若凡大于等于N,则报警信息值为"1",表示 发生了 SIP消息洪泛攻击,报警模块发出报警,且K越大表明攻击越强;否贝'J, 报警信息值为"0",表示无SIP消息洪泛攻击发生,网络正常运作。
本发明的技术创新的关键是该检测装置中的CUSUM检测模块,用其作为 SIP消息洪泛攻击检测装置的核心功能模块,并为此研制了一种能够在网络中 有效;险测出发生SIP消息洪泛攻击的^r测方法,为NGN通信业务的安全传输 和服务质量提供可靠保证。
该CUSUM检测模块的创新技术特点是为了使该检测模块接收的INVITE 或REGISTER消息数量与网络环境无关,先运用指数加权移动均值(EWMA) 对测试数据进行归一化处理,得到归一化数值序列。再将上述测试数值序列进 行转换后,进行累积和计算如果该数值序列中的某个数值大于零,则将得到的检测结果要加上该数值;如果该数值序列中的某个数值小于或等于零,则不
做上述加法运算。最后,直接将上述数值序列的累积和数值与设置的报警阀值
进行比较,如果大于或等于报警阀值,就报警;否则,继续执行检测任务。
本发明的优点如下本发明装置结构简单,且每层的软件功能模块也非常 简单、紧凑,使得本发明装置具有结构简便、灵巧,制造便利,容易实现与部 署,实用性强的特点。而且,本发明装置检测方法的计算复杂度低,操作步骤 简单,易于维护,斗企测时间快,灵敏度高,4全测成功率高,误报率低。本发明 装置如果设置在远离攻击源的网络中,能够有效检测出针对本网络的洪泛攻击; 如果直接部署在发生攻击的源端网络中,则能迅速检测到洪泛攻击并发现攻击 源;因此,本发明的检测性能强、实用性好,具有很好的推广应用前景。


图1是本发明基于CUSUM算法的检测SIP消息洪泛攻击的装置结构组成 示意图。
图2是本发明检测装置设置在网络上的位置示意图。
图3是本发明基于CUSUM算法的检测SIP消息洪泛攻击的方法操作步骤 流程图。
图4是本发明方法中的数据预处理模块操作流程示意图。 图5是本发明方法中的CUSUM模块工作流程示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作 进一步的详细描述。
参见图1,介绍本发明基于CUSUM算法的检测SIP消息洪泛攻击的装置 结构组成示意图。
本发明装置由采集层、数据层、检测层和响应层四层架构的多个功能模块 所组成,其中在采集层中设有抓包模块,该抓包模块负责通过调用UNIX/LINUX系统函数和使用SIP协议栈抓取在网络中传输的SIP数据包,完成采集网络中
的SIP数据包的功能。在数据层设有对SIP数据包中的INVITE消息和 REGISTER消息分别累加统计其数量的数据预处理模块,以及INVITE数值存 储模块和REGISTER数值存储模块,这两个模块分别用于存储采集到的、供检 测层调用的INVITE消息和REGISTER消息的统计数值;该数据层负责对来自 采集层的SIP数据包进行预处理,并对得到的INVIT消息和REGISTER消息的 数值分别进行存储处理。在检测层设置的CUSUM模块,负责分别调用数据层 中存储的INVITE消息数值和REGISTER消息数值,并采用CUSUM算法对上 述消息数值进行检测处理,得到检测结果后,再传送到报警模块。在响应层中 设有报警模块,用于接收检测层输出的检测结果数据,并决策判断是否告警 当检测结果数据超过响应层设定的阈值时,该报警模块认为遭到SIP洪泛攻击, 就发出告警信号;否则,表示网络运行正常,未发生SIP洪泛攻击。
本发明装置中的数据预处理模块进行数量累加统计的INVITE消息有两种 在设定时间段w内分别抓取的INVITE消息总数Uw)和包括该INVITE消息 与其相应的应答消息的交互过程完整的INVITE消息总数U〃);累加统计数 量的REGISTER消息也是两种在设定的时间段w内分别抓取的REGESTER 消息总数T;-,(")和包括该REGESTER消息与其相应的应答消息的交互过程完
整的REGESTER消息总数&一,(")。
参见图2,介绍本发明装置的安装位置该装置安装在一台服务器上,该 服务器分别与本地NGN网络或使用SIP协议的网络与互联网Internet,移动网 PLMN、其他的NGN网络或使用SIP协议的网络之间的三层交换机相连接,或 者该装置连接本地NGN中的呼叫代理-会话控制功能P-CSCF节点。
本发明装置能在发生攻击的第一时间内检测到外来或本地的SIP消息洪泛 攻击,提高了网络抵御洪泛攻击的灵敏度,使早期检测和预防成为现实;并且, 能够为后续采取相应的防御措施提供保障和节省时间,成为NGN抵御洪泛攻 击的重要屏障。参见图3,具体说明本发明检测方法的具体操作步骤
步骤1、采集层的抓包模块通过调用其中设有能在UNIX/LINUX系统里提 供独立的用户级别网络数据包捕获接口的Libpcap捕包函数,获取本地模块信 息而采集SIP数据包。该步骤进一步包括下列操作内容
(11 )抓包模块通过Libpcap捕包函数寻找系统中可用的网络接口模块, 返回一个表示网络适配器的字符串;然后,打开模块通过函数pc叩j3pen—live() 开始建立监听会话。
(12)通过编辑过滤字符串来设置过滤器的过滤条件,并制定要捕获的SIP 协议的属性设置为INVITE或REGISTER的消息(method-"INVITE", method=,,REGISTER"),以便能够有效地捕获该模块指定类型的数据包;
(13 )执行捕获循环每捕获一个数据包后就调用用户的回调函数对数据 包进4于处理。
步骤2、数据层把接收到的来自采集层的SIP数据包传输到数据预处理模 块,分别统计该数据包中的INVITE消息和REGISTER消息的数量,并将统计 结果分别传送到INVITE数值存储模块和REGISTER数值存储模块进行存储。 参见图4,说明数据层中数据预处理模块的下述操作流程 (21 )接收到抓包模块送来的IP数据包后,先判断其是否是SIP数据包, 如果是,则执行后续操作;如果不是,则丢弃该IP数据包。
(22)查看该SIP数据包中的method属性项,如果该属性值是INVITE 或REGISTER,则分别向INVITE数值存储模块或REGISTER数值存储模块传 送一个标记值,记为u") = u")+1或.(") = t;一.(") +1,表明在该设定时间
间隔内发现一个INVITE消息或REGISTER消息;如果该属性值不是INVITE 或REGISTER,则丢弃该SIP数据包。
(23 )数据预处理模块继续分析该SIP数据包,如果发现该SIP数据包是 一个包含INVITE消息或REGISTER消息的交互流程完整的数据包,则分别再 向INVITE数值存储冲莫块或REGISTER数值存储模块传送一个标记值,记为U") = D) +1或(")=《,一 (")+1 ,表明在该设定时间间隔内发现一个交
互流程完整的INVITE消息或REGISTER消息;如果发现该SIP数据包不是包 含INVITE消息或REGISTER消息的交互流程完整的SIP数据包,则丟弃之。
步骤3、检测层的CUSUM模块分别调用数据层中INVITE数值存储模块和 REGISTER数值存储模块中的相关数据进行检测,判断是否发生SIP消息洪泛 攻击。
下面以检测INVITE攻击为例,说明该步骤3在检测INVITE消息时的具体 操作内容
(31 )初始化设置取样间隔时间(例如60秒)后,CUSUM模块调用数据 层中第m个取样间隔时间段内的INVITE消息总数t;* (w)和包括该INVITE消息 与其相应的应答消息(INVITE, RES, ACK)的交互过程完整的INVITE消息 总数&*("),再将两者相减得到其差值A:,式中,自然 数w是取样间隔时间的序号。CUSUM模块的功能是通过监控1 的数值变化来 判断网络是否正在接收异常的INVITE连接。
通常在攻击出现时,U")值会大于《^(")值,且两者之间的差值会激增。 而在SIP网络正常运行时,终端与网络实体之间发送的INVITE消息总数与包 括该INVITE消息与其相应的应答消息(INVITE, RES, ACK)的交互过程完 整的INVITE消息总数之间呈现很强的正相关性,两者数量差很小,即A趋近 于0;也就是两者之间严格的——对应是SIP网络的正常行为。而在INVITE消 息洪泛攻击场景下,攻击者向SIP网络实体发送大量的INVITE消息,-f旦其不 会对来自SIP网络实体的2XX/4XX/5XX/6XX RES响应作相应的ACK回复, 从而使得两种消息序列之间的统计特性发生较大改变,即Um)与&^(w)的差 值迅速增大,即z"远远大于O,将发生突变。
(32)经过第"个抽样时间的测量后,得到一组反应7;*(^与《^(")差值 变化情况的随机数组序列{1,,," = 1,2,3...}。众所周知,数组序列{^}的均值通常 是与SIP网络的规模和取样的时间区间有密切关系。为减少上述因素的影响,使本发明方法能适用于各种SIP网络而具有通用性和普遍性,CUSUM模块要 对上述数组序列中的每个差值;^进行归一化变换处理X = X/F("),式中,^V"J
是采用实时估计而周期更新的交互过程完整的INVITE消息总数( )的均值, 该巧^的递归估计值为巧")=/^("-1) + (1-P(o) = Ul),式中,X为 指数加权移动平均EWMA系数,取值范围是[O, l];这样得到一个差值序列 {之}。进行归一化后,之代表偏移量相对于合法业务流量所占的比例,随机序 列{^," = 1,2,3...}不再与网络规模和抽样时刻有关,而是一个稳定的独立随机过 程。在SIP网络工作正常时,{足}的均值五(之)=。《1,即正常状况下偏移量所 占的比例极小,接近于0。 一旦发生了 INVITE洪泛攻击,U")与U^的 差值迅速增大,{之}的均值将发生突变。
(33) CUSUM模块对差值序列{之}中的每个差值义 进行转换处理令 Z,,=《-/ ,式中,参数"是在网络无攻击情况下的{足}序列的最大值,该/ 参 数是根据网络情况设置的,"《1,从而组成Z"的数值序列。这样,在没有丟失 任何统计特性的情况下,{《}被转换成另 一个在正常情况下z,,的均值为负的随 机数值序列;而当攻击发生时,Z。会突然变得^l大并且为正,即Z,,X)。
(34 ) CUSUM模块利用公式y = & , + Z )+ = P"—1 + Z", + Z" > 0对数值序
列A的值进行累积和运算,然后将这样得到的凡数值序列作为检测结果数据传
送给报警模块;该计算公式的涵义是当^的数值大于零时,凡的值是j^与Z。 之和;当Zn的数值是小于或等于零时,L的值就是jv,,即不作加法运算。
需要说明的是该步骤3在检测REGISTER消息攻击时,只是在步骤(31) 初始化设置取样间隔时间后,CUSUM模块是调用数据层中设定时间间隔内存 储的REGISTER消息总数7:w(w)和包括该REGISTER消息与其相应的应答消
息的完整交互序列总数Sreg,to.("),其它相应的操作内容都与上述检测处理 INVITE消息的操作步骤相同。步骤4、响应层中的报警模块接收检测层CUSUM模块的检测结果,如果 判断遭到SIP消息洪泛攻击时,该报警模块发出报警。
该步骤中的报警模块的操作步骤如下先设定检测攻击的判断门限阈值N, 并将接收到的来自检测层的检测结果信息凡与该阈值N进行比较,即SIP消息
洪泛攻击的判决函数为^00 = ^^ <vV;式中,^00为第"个内取样间隔
时间段的判决结果若凡大于或等于N,则报警信息值为"1",表示发生了洪 泛攻击,报警模块发出报警,且凡越大表明攻击越强;否则,报警信息值为"0", 表示无洪泛攻击发生,网络正常运作。
步骤5、返回步骤(l),继续执行检测SIP消息的相关操作。
权利要求
1、一种基于非参数累积和CUSUM算法的检测SIP消息洪泛攻击的装置,其特征在于所述装置是由采集层、数据层、检测层和响应层四层架构的相关功能模块所组成,其中采集层,设有通过调用UNIX/LINUX系统函数和使用SIP协议栈抓取在网络中传输的SIP数据包的抓包模块,以完成采集网络中的SIP数据包的功能;数据层,负责对来自采集层的SIP数据包进行预处理,并对得到的INVITE消息和REGISTER消息的数值分别进行存储处理;设有对SIP数据包中的INVITE消息和REGISTER消息分别累加统计其数量的数据预处理模块,以及分别存储INVITE消息和REGISTER消息的统计数值、以供检测层调用的INVITE数值存储模块和REGISTER数值存储模块;检测层,设有分别对INVITE消息数值和REGISTER消息数值进行处理的基于非参数累积和CUSUM算法的功能模块,负责分别调用数据层中存储的INVITE消息数值和REGISTER消息数值,并采用CUSUM算法对上述消息数值进行检测处理,得到检测结果;响应层,设有接收检测层的检测结果数据,并判断是否告警的报警模块,当检测结果数据超过响应层设定的阈值时,该报警模块认为遭到SIP消息洪泛攻击,就发出告警信号;否则,表示网络运行正常,未发生SIP消息洪泛攻击。
2、 根据权利要求1所述的装置,其特征在于所述进行数量累加统计的 INVITE消息包括两种在设定的时间段w内分别抓取的INVITE消息总数 Uw)和包括该INVITE消息与其相应的应答消息的交互过程完整的INVITE 消息总数《^(");所述进行数量累加统计的REGISTER消息包括两种在设定 的时间段w内分别抓取的REGESTER消息总数7;一 和包括该REGESTER消 息与其相应的应答消息的交互过程完整的REGESTER消息总数^一, 。
3、 根据权利要求l所述的装置,其特征在于所述装置安装在一台服务器 上,并与本地NGN网络或使用SIP协议的网络与互联网Internet、移动网PLMN、其他的NGN网络或使用SIP协议的网络之间的三层交换机相连接,或者连接 本地NGN中的呼叫代理-会话控制功能P-CSCF节点。
4、 一种基于非参数累积和CUSUM算法的检测SIP消息洪泛攻击的方法, 其特征在于包括下列操作步骤(1 )采集层的抓包模块通过调用其中设有能在UNIX/LINUX系统里提供 独立的用户级别网络数据包捕获接口的捕包函数,获取本地模块信息而采集SIP 数据包;(2) 数据层把接收到的来自采集层的SIP数据包传输到数据预处理模块, 分别统计该lt据包中的INVITE消息和REGISTER消息的凄t量,并将统计结果 分别传送到INVITE数值存储模块和REGISTER数值存储模块进行存储;(3) 检测层的CUSUM模块分别调用数据层中INVITE数值存储模块和 REGISTER数值存储模块中的数据进行检测,判断是否发生SIP消息洪泛攻击;(4 )响应层中的报警模块接收检测层的CUSUM模块的检测结果,如果判 断遭到SIP消息洪泛攻击时,该报警模块发出报警;(5 )返回步骤(1 ),继续执行检测SIP消息的相关操作。
5、 根据权利要求4所述的方法,其特征在于所述步骤(l)进一步包括 下列操作内容(11) 抓包模块通过捕包函数寻找系统中可用的网络接口模块,开始监听会话;(12) 通过编辑过滤字符串来设置过滤器的过滤条件,并制定要捕获的SIP 协议的属性设置为INVITE或REGISTER的消息,以便能够有效捕获设定类型 的IP数据包;(13 )执行捕获循环每捕获一个IP数据包后,就调用用户的回调函数对 该IP数据包进行处理。
6、 根据权利要求4所述的方法,其特征在于所述步骤(2)中,进一步 包括下列操作内容(21)数据预处理模块接收到抓包模块送来的IP数据包后,先判断其是否是SIP数据包,如果是,则执行后续操作;如果不是,则丟弃该IP数据包;(22)数据预处理模块查看该SIP数据包中的method属性项,如果该属 性值是INVITE或REGISTER,则分别向INVITE数值存储模块或REGISTER 数值存储模块传送一个标记值,记为U")-U")+i或r—欣(")《一.(")+i,表 明在该设定时间间隔内发现一个INVITE消息或REGISTER消息;如果该属性 值不是INVITE或REGISTER,则丢弃该SIP数据包;(23 )数据预处理模块继续分析该SIP数据包,如果发现该SIP数据包是 一个包含INVITE消息或REGISTER消息的交互流程完整的数据包,则分别再 向INVITE数值存储模块或REGISTER数值存储模块传送一个标记值,记为 U") = D) + l或=+ 1 ,表明在该设定时间间隔内发现一个交 互流程完整的INVITE消息或REGISTER消息;如果发现该SIP数据包不是包 含INVITE消息或REGISTER消息的交互流程完整的SIP凄t据包,则丟弃之。
7、根据权利要求4所述的方法,其特征在于所述步骤(3)中,进一步 包括下列操作内容(31 )CUSUM模块初始化设置取样间隔时间后,调用数据层中第w个取样 间隔时间内在网络中监测到的INVITE消息总数U")和包括该INVITE消息与 其相应的应答消息的交互过程完整的INVITE消息总lt再将两者相减 得到其差值A: X = i;v,te(M)-S, Wte^),式中,自然数n是取样间隔时间的序号;(32) CUSUM模块对上述每个差值A进行归一化变换处理^ = X/F(m), 式中,巧^是由实时估计而周期更新的交互过程完整的INVITE消息总数&*(") 的均值,该^^的递归估计值为f(w) = ;^("-1) + (1-, P(0) = 5; vte(l), 式中,X为指数加权移动平均EWMA系数,取值范围是[O, l];这样得到一个 差^f直序列(33) CUSUM模块对差值序列{之}中的每个差值1 进行转换处理令 Z"=f"-/ ,式中,/ 是在网络无攻击情况下的Wj序列的最大值,该"参数是 根据网络情况设置的,从而组成Z"的数值序列;(34) CUSUM模块利用公式凡—;^+z。、P"—1+Z", '""〉0对数值序列z"的值进行累积和运算,然后将这样得到的凡数值序列作为检测结果数据传 送给报警模块;该计算公式的涵义是当Z。的数值大于零时,凡的值是^与^之和;当A的数值是小于或等于零时,^的值就是即不作加法运算。
8、 根据权利要求4或7所述的方法,其特征在于所述步骤(3)在4企测 处理REGISTER消息的操作步骤中,只是在所述步骤(31 )初始化设置取样间 隔时间后,CUSUM模块是调用数据层中设定时间间隔内存储的REGISTER消 息总数T;一,.(")和包括该REGISTER消息与其相应的应答消息的完整交互序列 总数&w("),其它相应的操作内容都与检测处理INVITE消息的操作步骤相同。
9、 根据权利要求4所述的方法,其特征在于所述步骤(4)中的报警模 块的操作步骤如下先设定检测发生攻击的判断门限阈值N,并将接收到的来 自检测层的检测结果数据凡与该阈值N进行比较,即SIP消息洪泛攻击的判决函数为《0O = j0 式中,400为在第"个取样间隔时间内的判决结果若凡,大于等于N,则报警信息值为'T,,表示发生了 SIP消息洪泛攻击, 报警模块发出报警,且凡越大表明攻击越强;否则,报警信息值为"0",表示 无SIP消息洪泛攻击发生,网络正常运作。
全文摘要
一种基于CUSUM算法的检测SIP消息洪泛攻击的装置和方法,该装置由采集层、数据层、检测层和响应层四层架构的多个功能模块所组成。采集层的抓包模块采集网络中SIP数据包,数据层的模块对来自采集层的SIP数据包作预处理,并分别存储抓到的INVITE消息和REGISTER消息的总数目;检测层的CUSUM模块采用CUSUM算法调对存储的INVITE消息数值和REGISTER消息数值进行检测和输出检测结果。响应层的报警模块对检测结果进行判断是否告警若检测结果超过设定阈值时,认为遭到SIP消息洪泛攻击,发出告警信号;否则,表示网络运行正常。本发明装置和方法简单、实用,容易实现,能有效检测出NGN网络中的针对SIP消息的洪泛攻击。
文档编号H04L12/26GK101459561SQ200910076310
公开日2009年6月17日 申请日期2009年1月9日 优先权日2009年1月9日
发明者孙其博, 杨放春, 王尚广, 闫丹凤, 龙湘明 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1