一种面向sbc的畸形sip消息检测的方法与系统的制作方法

文档序号:7819727阅读:603来源:国知局
一种面向sbc的畸形sip消息检测的方法与系统的制作方法
【专利摘要】本发明提供了一种面向SBC的畸形SIP消息检测的方法与系统,属于核心网安全检测领域。所述面向SBC的畸形SIP消息检测的方法包括:101,为SBC增加一个畸形SIP消息检测模块,建立畸形SIP消息数据库;102,SBC把接收到的SIP消息转发给畸形SIP消息检测模块,畸形SIP消息检测模块对所述SIP消息进行检测;103,畸形SIP消息检测模块根据检测的结果给SBC回复消息;104,SBC根据畸形SIP消息检测模块返回的消息与IMS核心网进行通信。
【专利说明】-种面向SBC的畸形SIP消息检测的方法与系统

【技术领域】
[0001] 本发明属于核心网安全检测领域,具体涉及一种面向SBC的畸形SIP消息检测的 方法与系统。

【背景技术】
[0002] IP多媒体子系统(MS,IP Multimedia Subsystem)是第三代移动通信伙伴组织 (3GPP,3rd Generation Partnership Project)在 Release5 版本标准中提出的支持 IP 多 媒体业务的子系统。各种类型的客户端通过頂S都可以建立起端到端的IP通信,并可获得 所需要的服务质量。MS是IP多媒体系统,是一种全新的多媒体业务形式,它能够满足现在 的终端客户更新颖、更多样化多媒体业务的需求。目前,頂S被认为是下一代网络的核心技 术,也是解决移动与固网融合,引入语音、数据、视频三重融合等差异化业务的重要方式。但 是,目前全球頂S网络多数处于初级阶段,应用方式也处于业界探讨当中。
[0003] MS是对IP多媒体业务进行控制的网络核心层逻辑功能实体的总称。頂S体系由 于终端与核心侧采用基于IP承载的会话初始协议(SIP, Session Initiation Protocol), IP技术与承载媒体无关的特性使得IMS体系可以支持各类接入方式,从而使得IMS的应用 范围从最初始的移动网逐步扩大到固定领域。此外,由于MS体系架构可以支持移动性管 理并且具有一定的服务质量(QoS, Quality of Service)保障机制,因此IMS技术的优势还 体现在宽带用户的漫游管理和QoS保障方面。
[0004] MS是一个在分组域(PS,Packet Switch)上的多媒体控制/呼叫控制平台,頂S 使得PS具有电路域(CS, Circuit Switch)的部分功能,支持会话类和非会话类的多媒体业 务。MS为未来的多媒体应用提供了一个通用的业务平台,典型的业务如呈现、消息、会议、 一键通等等。
[0005] MS的应用主要集中在以下几 个方面。首先是在移动网络的应用,这类应用是移 动运营商为了丰富移动网络的业务而开展的,主要是在移动网络的基础上用MS来提供 PoC(Push to talk over Cellular)、即时消息、视频共享等多媒体增值业务。应用重点集 中在给企业客户提供IPCENTREX和公众客户的VoIP第二线业务。
[0006] 其次是固定运营商出于网络演进和业务的需要,通过MS为企业用户提供融合的 企业的应用(IPCENTREX业务),以及向固定宽带用户(例如ADSL用户)提供VoIP应用。
[0007] 第三种典型的应用是融合的应用,主要体现在WLAN和3G的融合,以实现语音业务 的连续性。在这种方式下,用户拥有一个WLAN/WCDMA的双模终端,在WLAN的覆盖区内,一般 优先使用WLAN接入,因为这种方式用户使用业务的资费更低,数据业务的带宽更充足。当 离开WLAN的覆盖区后,终端自动切换到WCDM网络,从而实现语音在WLAN和WCDM之间的 连续性。目前,这种方案的商用较少,但是许多运营商都在进行测试。
[0008] 在MS中全部采用SIP协议,虽然SIP也可以实现最基本的VoIP,但是这种协议在 多媒体应用中所展现出来的优势表明,它天生就是为多媒体业务而生的。由于SIP协议非 常灵活,所以MS还存在许多潜在的业务。
[0009] 当前,MS正被各运营商进行部署。IMS尚处于初级应用阶段,仍需对MS网络进 行大量的安全测试,其目的是发现网络存在的漏洞,对于弥补漏洞,提高网络的安全性非常 重要。目前,关于頂S网络的安全测试还刚刚处于研究阶段,业界还缺乏一种测试MS核心 网的安全测试方法。
[0010] SBC(Session Border Controller,会话边界控制器)作为IMS网络中一个十分 重要的边界控制设备,通常被部署在施加控制的信令和语音互联网协议(V0IP,Voice over Internet Protocol)网络的设备,通常也参与设立,进行,拆除电话或其他互动媒体通信 流,实现NAT穿越、接入控制以及信令和承载安全等功能。


【发明内容】

[0011] 本发明的目的在于解决上述现有技术中存在的难题,提供一种面向SBC的畸形 SIP消息检测的方法与系统,实现SBC对MS核心网SIP消息的防护。
[0012] 本发明是通过以下技术方案实现的:
[0013] -种面向SBC的畸形SIP消息检测的方法,包括:
[0014] 101,为SBC增加一个畸形SIP消息检测模块,建立畸形SIP消息数据库;
[0015] 102, SBC把接收到的SIP消息转发给畸形SIP消息检测模块,畸形SIP消息检测 模块对所述SIP消息进行检测;
[0016] 103,畸形SIP消息检测模块根据检测的结果给SBC回复消息;
[0017] 104, SBC根据畸形SIP消息检测模块返回的消息与MS核心网进行通信。
[0018] 为SBC增加一个畸形SIP消息检测模块是这样实现的:
[0019] 在SBC端增加一个socket通信模块,将其接收到的SIP消息转发给畸形SIP消息 检测模块。
[0020] 所述畸形SIP消息检测模块的部署模式包括:监听模式和检测模式;
[0021] 当畸形SIP消息检测模块的部署模式为监听模式时,其连接至SBC的前置路由器, 并通过端口映射的方式监听所有往来SBC的SIP消息,对于接收到的SIP消息进行直接转 发;
[0022] 当畸形SIP消息检测模块的部署模式为检测模式时,SBC在接收到新消息时,直接 转发给畸形SIP消息检测模块,并启动定时器T ;然后畸形SIP消息检测模块接收来自SBC 的消息,开始检测;在T超时前,如果畸形SIP消息检测模块完成检测且发现异常,则向SBC 发送响应消息指出异常,如果检测模块完成检测但并未发现异常,则向SBC发送响应消息 指出未发现异常;若T超时,则畸形SIP消息检测模块不响应,SBC继续后继的处理。
[0023] 所述步骤101中,是根据RFC3261中采用的BNF范式定义的SIP消息格式建立畸 形SIP消息数据库。
[0024] 所述步骤102中的畸形SIP消息检测模块对所述SIP消息进行检测是这样实现 的:
[0025] 判断所述SIP消息是否为RFC3261中采用的BNF范式定义的SIP消息,如果是,则 检测结果为正常的SIP消息;如果否,则检测结果为畸形消息,然后直接过滤掉该SIP消息。
[0026] 所述判断所述SIP消息是否为RFC3261中采用的BNF范式定义的SIP消息是采用 词法分析技术与语法分析技术对SIP消息进行检测分析来实现的。
[0027] 所述步骤103是这样实现的:
[0028] 如果检测结果是正常的SIP消息,则畸形SIP消息检测模块给SBC返回一个正常 的信号,并且把所述SIP消息一起返回给SBC ;
[0029] 如果检测结果是畸形消息,则畸形检测模块给SBC返回一个SIP消息是畸形的消 肩、。
[0030] 所述步骤104是这样实现的:
[0031] 如果SBC收到的是正常的信号和所述SIP消息,则将所述SIP消息转发给MS核 心网;如果SBC收到的是SIP消息是畸形的消息,则不转发给MS核心网。
[0032] 一种实现所述方法的系统,包括:
[0033] SBC通信模块、畸形SIP消息检测模块、异常呼叫检测模块、异常消息洪泛检测模 块以及管理员模块;
[0034] 所述SBC通信模块用于畸形SIP消息检测模块与SBC之间的通信;
[0035] 所述畸形SIP消息检测模块用于对SIP消息进行检测,检测出所有不满足RFC3261 中规定的BNF范式定义的SIP消息;
[0036] 所述异常呼叫检测模块用于检测所有的异常拨打;
[0037] 所述异常消息洪泛检测模块用于实现SBC设备对传统DDoS洪泛攻击的防范;
[0038] 所述管理员模块用于监控和管理畸形SIP消息检测模块,维护中心SIP安全规则 库,通知畸形SIP消息检测模块更新本地SIP安全规则库,进行历史安全事件的统计分析, 提供基于Web的管理员界面。
[0039] 所述畸形SIP消息检测模块包括消息分发器、检测分发器和检测插件;
[0040] 所述消息分发器用于将接收到的SIP消息分散到各个节点,各个节点同时处理 SIP消息;
[0041] 每个节点上均设有检测分发器和一组检测插件;
[0042] 每个节点上的所述检测分发器用于将SIP消息分散到各个检测插件,每个检测插 件对应SIP消息的一种畸形类型,每一条SIP消息要经过所有检测插件的检测;
[0043] 所有检测插件能够同时读取一条SIP消息,并进行检测。
[0044] 所述系统进一步包括:
[0045] 安全事件代理:用于将SIP畸形攻击事件记录在数据库中;
[0046] 安全规则更新代理:用于在出现新的SIP畸形时,制定出对应的检测规则来更新 规则库;
[0047] 节点管理代理:在Mapreduce时对各个节点进行管理。
[0048] 与现有技术相比,本发明的有益效果是:本发明通过在SBC中增加一个具有畸形 SIP消息检测功能的模块。该模块利用正则表达式和Python语言实现了基于该规则的畸 形SIP消息检测插件,该插件能够支持多种畸形SIP消息的检测,旨在检测出所有不满足 RFC3261中采用BNF范式定义的SIP消息,并尽可能小的降低检测时延,从而提升SBC设备 的安全防护能力,保护MS网络中的核心实体免受畸形SIP消息的攻击,实现简单且实用。

【专利附图】

【附图说明】
[0049] 图1为本发明增加了畸形SIP消息检测模块的SBC转发SIP消息的流程图;
[0050] 图2为本发明包含畸形SIP消息检测模块系统总体架构图;
[0051] 图3为本发明畸形SIP信令检测模块的设计图。
[0052] 图4为本发明方法的步骤框图。

【具体实施方式】
[0053] 下面结合附图对本发明作进一步详细描述:
[0054] -种面向SBC的畸形SIP消息检测的方法与系统,在SBC中增加一个具有畸形SIP 消息检测功能的模块。该模块旨在检测出所有不满足RFC3261中采用BNF范式定义的SIP 消息,并尽可能小的降低检测时延,如图4所示,该方法包括:
[0055] A. SBC把接收到的SIP消息转发给畸形检测模块;
[0056] B.畸形检测模块根据写好的检测规则对SIP消息进行检测;
[0057] C.畸形检测模块根据检测的结果做出下一步的动作,如果检测出来是正常的SIP 消息,畸形检测模块给SBC返回一个正常的信号并且把SIP消息也返回,如果检测结果是畸 形消息,畸形检测模块则直接过滤掉SIP消息并且给SBC返回一个SIP消息是畸形的消息;
[0058] D. SBC根据畸形检测模块检测结果采取不同的策略与MS核心网络通信,如果 SIP消息是畸形的,SBC就直接过滤掉,不转发给MS核心网络,如果SIP消息是正常的就 转发给MS核心网。所述步骤D确定了 SBC和MS核心网的互联互通过程,具体是通过修 改SBC的opensipstack协议栈与源码的方法实现了 OpenSBC与OpenIMSCore的互联互通 (OpenSBC与OpenMSCore原本是不能通信的,而要检测是否过滤掉畸形SIP消息的话是需 要OpenMSCore参与的,如果是正常的SIP消息,OpenMSCore是能够收到的。)。
[0059] 通过分析RFC3261、RFC4475以及现有畸形SIP消息,得到畸形SIP消息的构成方 式;
[0060] 所述SIP协议是应用层上的一个具有分层结构的信令控制协议。SIP的最底层是 语法层和编码层,编码采用了增强的巴克斯范式(ABNF),ABNF是基于BNF的,但是ABNF由 它自己的语法和推导规则构成;第二层是传输层,所有的SIP元素都包含传输层,它定义了 网络上一个客户机如何发送请求和接收响应以及一个服务器如何接收请求和发送响应;第 三层是事物层,事务是SIP的基本元素,一个事务是由客户机事务发送给服务器事务的请 求(使用传输层),以及对应该请求的从服务器事务发送回客户机的所有响应组成。事务层 之上的层称为事务用户(TU)。每个SIP实体,都是事务用户。
[0061] 所述SIP消息可以分为两大类,分别是:由客户端发给服务器的请求消息 (Request Messages)和由服务器发给客户端的应答消息(Response Messages)。
[0062] 所述正常的SIP消息由三部分组成[2],即首行(start line),消息头(header) 和正文(body)。首行的内容是有所区别的,区别的根据是该SIP消息是请求还是响应,若首 行的内容是请求,则称为请求行;若首行的内容是响应,则称为状态行。如下所示:
[0063] 首行包括请求行/状态行,其中请求的类别信息是在请求行中规定的,而请求的 状态信息则是在状态行中指定的,例如有成功和失败两种状态。如果状态为失败,则还要给 出失败的类型或原因。
[0064] 头字段的消息首部给出了更多的信息,该信息主要是关于请求或应答的,一般主 要包括消息的来源、规定的消息接收方,以及一些其他方面的重要信息。
[0065] 所述的畸形SIP消息可以简单的理解为非正常SIP消息,既包括请求消息也包括 应答消息。但是经过严格的推敲并精心构造出来的畸形SIP消息的检测能力远大于随机产 生的畸形SIP消息。本发明所述的畸形SIP消息主要是指经过严格推敲并精心构造的畸形 SIP消息。
[0066] 按照原SIP消息的类型不同,可以将畸形SIP消息分为请求畸形SIP消息和响应 畸形SIP消息两大类。在请求畸形SIP消息中又可以分为INVITE畸形SIP消息、REGISTER 畸形SIP消息、BYE畸形SIP消息、CANCEL畸形SIP消息、OPTIONS畸形SIP消息以及ACK INVITE畸形SIP消息。
[0067] 按照畸形SIP消息类型,可以将畸形SIP消息分成三大类:第一类为使SIP协议栈 产生正常响应的畸形SIP消息;第二类为使SIP协议栈产生异常响应的畸形SIP消息;第三 类为被SIP协议栈抛弃的畸形SIP消息。
[0068] 按照对SIP协议不同层次的影响分类,则分为四类,第一类为对语法和编码层施 加压力的畸形SIP消息;第二类为对传输层施加压力的畸形SIP消息;第三类为对事务层 施加压力的畸形SIP消息;第四类为对事务用户层施加压力的畸形SIP消息。
[0069] 最后,按照对SIP协议威胁效果程度,则又分为四大类,第一类为威胁MS整个网 络的畸形SIP消息;第二类为严重威胁MS网络中单个功能实体的SIP协议栈的畸形SIP 消息;第三类为威胁頂S网络中单个功能实体的SIP协议栈的畸形SIP消息;第四类为轻微 威胁IMS网络中单个功能实体的SIP协议栈的畸形SIP消息。
[0070] IETF在设计SIP协议时,将设计的重点放在了协议的灵活性和易用性上,对于安 全性则考虑的不多,这使得SIP协议很容易在网络上截取SIP消息的内容,从而造成了 MS 网络加密不完善。同时,若威胁者发送大量的畸形SIP消息给IMS,MS在解析这些数据包 时,将会大量占用系统资源,延迟或者阻碍合法的用户使用系统提供的服务,对关键性和实 时性服务造成影响,严重时甚至引起死机、重新启动以及拒绝服务等,这就造成了 IMS具有 畸形消息处理缺陷这一脆弱性。
[0071] 本发明所述主要采用词法分析技术与语法分析技术对畸形SIP消息进行检测分 析。
[0072] 所述畸形SIP消息的词法分析(lexical analysis),是将字符序列转换为单 词(Token)序列。这个过程是从输入的字符流当中生成单词的过程,并且在这个过程中 词法分析器会对单词进行分类。这里又涉及到词法分析器的概念,词法分析器(Lexical analyzer,简称Lexer),也叫扫描器(Scanner),是进行词法分析的一段程序或一个函数, 通常基于有限状态自动机。在词法分析的过程中,词法分析器并不关心单词之间的关系,t匕 如词法分析器会将括号识别为单词但却并不保证括号是否是匹配的。从定义上而言,单词 的定义通常会采用正则表达式,因此词法分析器的生成器一般都支持正则表达式。编译过 程的第一个阶段也是基础阶段就是词法分析阶段。这个阶段的主要任务是扫描源程序的字 符流,扫描过程是从左到右一个字符一个字符进行的,然后根据构词规则识别单词。
[0073] 所述畸形SIP消息的语法分析是在词法分析的下一个阶段,根据某种给定的形式 文法,对输入文本进行分析并确定其语法结构,而文本通常是由单词序列构成的。语法分析 的输入是一个个的单词,它的主要作用是进行语法检查并构建相应的数据结构(一般是层 次化的数据结构,如语法分析树、抽象语法树等)。与词法分析器不同的是,语法分析要考虑 单词之间的关系。是否可以以及如何从语法的起始符号推导出输入符号串(输入文本)是 语法分析器的主要任务,主要可以通过自顶向下分析与自底向上分析两种方式来完成。
[0074] 根据对畸形SIP消息的检测原理的分析,所述畸形SIP消息包括两种检测规则:串 行规则和并行规则。
[0075] 串行规则主要涉及三个方面的检查,分别对消息长度检查,NULL空字符检查以及 请求行/状态行格式检查。其中,在对消息长度进行检查时,要限定SIP消息的总长度,若 总长度超过规定门限,则不需要进一步的畸形判断,认定该消息为畸形SIP消息。而NULL 空字符在SIP协议当中是非法的字符,没有该字符所适用的地方,而且可能会影响字符串 切割等操作。最后,对请求行/状态行格式的检查则只针对第一行进行检测,包括两个方面 的检查。第一个方面首先检查第一行是否包含三部分;(无论是请求行还是状态行都是三 部分,而且必须以SP分割)。第二个方面为第一行是请求行还是状态行的检查,通过匹配第 一部分是否为"SIP/2.0"来判断(不区分大小写)。对于状态行,检查状态码是否合法; 对于请求行,检查请求方法是否是规定的(注意,已有请求方法必须是大写形式),以及检 查第二部分和第三部分是否合法。
[0076] 并行规则检测方法可以按照任意的方式进行组合,以下的每个部分是相互独立 的,但是每个部分内部的顺序可能存在先后关系。并行规则主要涉及以下几个方面的检查: SIP通用字段检查、SIP特殊字段处理、SDP处理、通用畸形检测、一致性检查。
[0077] 所述畸形消息检测模块的核心是检测规则的设计,除此之外,还包括:异常呼叫检 测;检测系统管理;事件统计分析。
[0078] 所述步骤B中测试畸形消息构造规则包括:对语法层施加压力的畸形SIP消息设 计;对事务层语义施加压力的畸形SIP消息设计;对事务用户层施加压力的畸形SIP消息 设计。
[0079] 对语法层施加压力的畸形SIP消息设计方法包括:针对行折叠规则的畸形SIP消 息;针对SIP URI设计的畸形SIP消息;针对From字段规则的畸形SIP消息;针对Via字 段规则的畸形SIP消息;针对LWS规则的畸形SIP消息;针对头字段形式的畸形SIP消息; 针对头字段排序的畸形SIP消息。
[0080] 对事务层语义施加压力的畸形SIP消息设计方法包括:IP地址改为广播地址;单 值头子段扩展为多个;
[0081] 所述异常呼叫检测功能检测范围覆盖国际长途异常拨打,来电IP地址异常波动, 呼叫频率异常波动,呼叫时段异常波动,被叫号码异常波动,响一下就断异常,会话不完整 (总是进行会话前几步,但是缺后几步,如总发Invite,但不发ACK)等异常;
[0082] 所述检测系统管理功能对检测器的运行状态进行远程监控,能够远程修改检测参 数(例如检测策略:default ;fast ;full),更新检测算法,更新检测规则库,开启或关闭全 部或部分检测功能;
[0083] 所述事件统计分析功能能够对SIP信令的历史数据进行统计,包括每个账号的常 用IP、呼叫事件段、呼叫频率、被叫号码,从而为异常呼叫检测提供基准数据;能够对既往 畸形信令进行统计,从而为加快后续畸形信令检测提供决策支持;能够按指定的时间段生 成安全事件报告,从而展示SIP攻击的状况和变化趋势。
[0084] 所述畸形SIP消息检测模块有两种部署方式(通过Manager模块可以控制,两种 不同的实现方式通过按钮转换。),分别为监听模式和检测模式(监听模式对于接收到的 SIP消息不做处理,直接转发;检测模式在收到SIP消息之后,会转给检测模块进行检测。)。 当畸形SIP消息检测模块的部署方式为监听模式时,将连接至SBC的前置路由器,并通过 "端口映射(即镜像)"的方式监听所有往来SBC的SIP消息(监听要开启网卡的混杂模 式。)。当畸形SIP消息检测模块以检测模式部署时,SBC在接收到新消息时,不做任何处 理,直接转发给检测模块(指图2中包含很多检测插件的整体。),并启动定时器T ;然后检 测模块接收到来自SBC的消息,开始检测;在T超时前,又会分为两种情况,第一种情况是, 若检测模块完成检测且发现异常,则检测模块向SBC发送响应消息指出异常;第二种情况 是检测模块完成检测但并未发现异常,则检测模块向SBC发送响应消息指出未发现异常。 若T超时,则检测模块不响应,SBC继续后继的处理。
[0085] 所述SBC和畸形检测模块的互联互通的方法是通过在SBC通信模块,该模块增加 了 socket通信机制,提供畸形SIP消息检测模块与第三方软件进行通信的接口,即在SBC 端增加一个通信接口,将其接收到的SIP消息转发给畸形检测模块。SBC上实现与畸形检测 模块的通信,是通过在底层协议栈OpenSipStack中的SIPTransportManager. cxx的函数实 现中增加 socket通信机制来实现的。
[0086] 图1为本发明增加了畸形SIP消息检测模块的SBC转发SIP消息的流程图,如图 1所示,SIP信令在整个MS网络中被处理的流程包括以下步骤:
[0087] SBC接收到来自客户端的SIP消息后,若是请求消息,则OpenSBC (开源的边缘会话 控制器。)通过其通信接口将其转发给畸形SIP消息检测模块进行检测,检测插件的调用采 用MapReduce架构实现了并行调用。
[0088] 本步骤中,即需要实现SBC和畸形SIP消息检测模块的通信接口,把接收到的SIP 消息转发给畸形SIP消息检测模块。具体的,主要是在SBC端增加了 socket通信模块。
[0089] 若检测结果为正常消息,即畸形SIP消息检测模块会返回RESULT :1,则SBC重定 向到IMS网络真正的P-CSCF,从而将正常消息进行转发;
[0090] 本步骤中需要调用畸形SIP消息检测模块,畸形SIP消息检测模块的处理过程在 图2中详细介绍。
[0091] 若检测结果为畸形消息,则畸形SIP消息检测模块会返回RESULT :0和相应的畸形 信息,OpenSBC直接将畸形SIP消息丢弃。
[0092] 图2为本发明包含畸形SIP消息检测模块系统总体架构图(相当于在传统的 SBC的基础上加上畸形SIP消息检测模块。),如图2所示,完整的系统架构主要包括五个 模块:SBC通信模块、畸形信令检测模块、异常呼叫检测模块、异常消息洪泛检测模块以及 Manager模块(即管理员模块)。
[0093] 所述SBC通信模块为该畸形SIP消息检测模块与第三方软件的通信途径,充当 P-CSCF,接收来自SBC的SIP信令,如果SIP信令合法,则通过重定向(302)(-个回复码, 通过这个数字我们可以知道SBC的处理结果,本质是内容和数字做了一个映射。)将SIP信 令转给真实P-CSCF ;如果SIP信令非法,则通过401 ( -个回复码,通过这个数字可以知道 SBC的处理结果,本质是内容和数字做了一个映射。)响应通知SBC。该接口不仅能够对畸 形SIP消息及时报警,还能对其进行拦截。主要方法有两种,伪P方式和接口方式(是SBC 在整个IMS核心网拓扑结构中的位置,伪P方式是指充当P-CSCF,它是核心网的一个组成部 分,接口方式指SBC做它自己。)。
[0094] 所述畸形信令检测模块主要根据字符串匹配规则以及使用MapReduce并行架构 (一个插件对应一种畸形类型,每一条SIP消息都要经过所有插件的检测,并行性体现在多 个插件可以同时读取一条消息,并进行检测。),旨在检测出所有不满足RFC3261中规定的 BNF范式定义的SIP消息,返回结果同样为消息类型,此处定义为响应消息,响应消息包含 检测结果信息和详细的说明信息。检测范围覆盖全部SIP Method,全部SIP必选可选字段 及其参数,全部SDP字段及其参数,全部已知的畸形类别。
[0095] 所述异常呼叫检测模块主要检测所有的异常拨打,比如来电IP地址异常波动, 呼叫频率异常波动,呼叫时段异常波动,被叫号码异常波动,响一下就断异常,会话不完整 (总是进行会话前几步,但是缺后几步,如总发Invite,但不发ACK)等异常。
[0096] 所述SIP洪泛检测模块主要体现在SBC设备对传统的DDoS洪泛攻击的防范,主要 体现在对同一 IP地址的网络流量的限制,对于洪泛攻击检测而言,实时性是其中一个重要 的方面。
[0097] 所述Manager模块的主要功能为监控和管理各个插件的运行状态,维护中心SIP 安全规则库,通知畸形信令监测模块更新本地SIP安全规则库,历史安全事件的统计分析, 提供基于Web的管理员界面。其能够对检测器的运行状态进行远程监控,能够远程修改检 测参数(例如检测策略:default ;fast ;full),更新检测算法,更新检测规则库,开启或关 闭全部或部分检测功能。
[0098] 图2中的安全事件代理是指将SIP畸形攻击事件记录在数据库中,安全规则更新 代理是指出现新的SIP畸形时,制定出对应的检测规则来更新规则库,节点管理代理是在 Mapreduce时对各个处理节点进行管理。
[0099] 所述畸形SIP消息检测模块数据库的统计部分,为了保存畸形消息的详情以及查 看畸形消息的历史记录,畸形SIP消息检测模块在数据库设计的部分提供了一个基础表, 记录所有的畸形消息。基于基础表,可做后续基本大多数的统计;但随着数据量的增多,统 计效率会下降,所以不能只单纯依靠基础表做所有的统计查询。因此,在该数据库设计部分 设计了更细化的统计分析脚本,以便对历史日志信息进行离线分析,并将统计结果直接储 存进历史统计表。对于过去的数据统计,便直接查询历史统计表,而不经过基础表。而更实 时的数据,则在基础表较历史统计表更实时的情况下直接基于基础表进行查询。
[0100] 基础表abnormal_message的表结构如表4-1所示:

【权利要求】
1. 一种面向SBC的畸形SIP消息检测的方法,其特征在于:所述方法包括: 101,为SBC增加一个畸形SIP消息检测模块,建立畸形SIP消息数据库; 102, SBC把接收到的SIP消息转发给畸形SIP消息检测模块,畸形SIP消息检测模块 对所述SIP消息进行检测; 103, 畸形SIP消息检测模块根据检测的结果给SBC回复消息; 104, SBC根据畸形SIP消息检测模块返回的消息与MS核心网进行通信。
2. 根据权利要求1所述的面向SBC的畸形SIP消息检测的方法,其特征在于:为SBC增 加一个畸形SIP消息检测模块是这样实现的: 在SBC端增加一个socket通信模块,将其接收到的SIP消息转发给畸形SIP消息检测 模块。
3. 根据权利要求2所述的面向SBC的畸形SIP消息检测的方法,其特征在于:所述畸 形SIP消息检测模块的部署模式包括:监听模式和检测模式; 当畸形SIP消息检测模块的部署模式为监听模式时,其连接至SBC的前置路由器,并通 过端口映射的方式监听所有往来SBC的SIP消息,对于接收到的SIP消息进行直接转发; 当畸形SIP消息检测模块的部署模式为检测模式时,SBC在接收到新消息时,直接转发 给畸形SIP消息检测模块,并启动定时器T;然后畸形SIP消息检测模块接收来自SBC的消 息,开始检测;在T超时前,如果畸形SIP消息检测模块完成检测且发现异常,则向SBC发送 响应消息指出异常,如果检测模块完成检测但并未发现异常,则向SBC发送响应消息指出 未发现异常;若T超时,则畸形SIP消息检测模块不响应,SBC继续后继的处理。
4. 根据权利要求3所述的面向SBC的畸形SIP消息检测的方法,其特征在于:所述步 骤101中,是根据RFC3261中采用的BNF范式定义的SIP消息格式建立畸形SIP消息数据 库。
5. 根据权利要求4所述的面向SBC的畸形SIP消息检测的方法,其特征在于:所述步 骤102中的畸形SIP消息检测模块对所述SIP消息进行检测是这样实现的: 判断所述SIP消息是否为RFC3261中采用的BNF范式定义的SIP消息,如果是,则检测 结果为正常的SIP消息;如果否,则检测结果为畸形消息,然后直接过滤掉该SIP消息; 所述判断所述SIP消息是否为RFC3261中采用的BNF范式定义的SIP消息是采用词法 分析技术与语法分析技术对SIP消息进行检测分析来实现的。
6. 根据权利要求1所述的面向SBC的畸形SIP消息检测的方法,其特征在于:所述步 骤103是这样实现的: 如果检测结果是正常的SIP消息,则畸形SIP消息检测模块给SBC返回一个正常的信 号,并且把所述SIP消息一起返回给SBC; 如果检测结果是畸形消息,则畸形检测模块给SBC返回一个SIP消息是畸形的消息。
7. 根据权利要求6所述的面向SBC的畸形SIP消息检测的方法,其特征在于:所述步 骤104是这样实现的: 如果SBC收到的是正常的信号和所述SIP消息,则将所述SIP消息转发给MS核心网; 如果SBC收到的是SIP消息是畸形的消息,则不转发给MS核心网。
8. -种实现权利要求1至7任一所述方法的系统,其特征在于:所述系统包括:SBC通 信模块、畸形SIP消息检测模块、异常呼叫检测模块、异常消息洪泛检测模块以及管理员模 块; 所述SBC通信模块用于畸形SIP消息检测模块与SBC之间的通信; 所述畸形SIP消息检测模块用于对SIP消息进行检测,检测出所有不满足RFC3261中 规定的BNF范式定义的SIP消息; 所述异常呼叫检测模块用于检测所有的异常拨打; 所述异常消息洪泛检测模块用于实现SBC设备对传统DDoS洪泛攻击的防范; 所述管理员模块用于监控和管理畸形SIP消息检测模块,维护中心SIP安全规则库,通 知畸形SIP消息检测模块更新本地SIP安全规则库,进行历史安全事件的统计分析,提供基 于Web的管理员界面。
9. 根据权利要求8所述的系统,其特征在于:所述畸形SIP消息检测模块包括消息分 发器、检测分发器和检测插件; 所述消息分发器用于将接收到的SIP消息分散到各个节点,各个节点同时处理SIP消 息; 每个节点上均设有检测分发器和一组检测插件; 每个节点上的所述检测分发器用于将SIP消息分散到该节点中的各个检测插件,每个 检测插件对应SIP消息的一种畸形类型,每一条SIP消息要经过所有检测插件的检测; 所有检测插件能够同时读取一条SIP消息,并进行检测。
10. 根据权利要求9所述的系统,其特征在于:所述系统进一步包括: 安全事件代理:用于将SIP畸形攻击事件记录在数据库中; 安全规则更新代理:用于在出现新的SIP畸形时,制定出对应的检测规则来更新规则 库; 节点管理代理:在Mapreduce时对各个节点进行管理。
【文档编号】H04L29/06GK104378373SQ201410648495
【公开日】2015年2月25日 申请日期:2014年11月14日 优先权日:2014年11月14日
【发明者】王玉龙, 张文竹, 李辉, 苏森, 双锴, 徐鹏 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1