基于Netfilter的深度包检测SIP防火墙的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Netfilter的深度包检测SIP防火墙的设计
张春晓,蔡均平
(国防信息学院,湖北武汉430010)
摘要:针对传统包过滤防火墙不适用于SIP会话这一情况,采用深度包检测技术,设计了一个基于Netfilter的深度包检测SIP防火墙。
此防火墙能够实施有状态的SIP感知,深度检查SIP消息,并且动态生成媒体流传输通道,达到SIP会话安全防护能力。
关键词:深度包检测;SIP;防火墙
中图分类号:TP393.08文献标识码:A文章编号:1673-1131(2013)01-0047-03
0引言
会话初始协议(SIP)是由IETF提出的一种基于IP的应用层信令控制协议,它采用文本编码,结构简单,使用灵活且扩展性强,被广泛应用于多媒体通信中。
然而采用文本形式表示消息的词法和语法分析比较简单,所以SIP协议很容易遭受攻击[1]。
目前对于SIP协议提出了多种安全机制,如HTTP(超文本传输协议)摘要认证、S/MIME(安全/多用途Internet邮件协议扩展)安全机制、TLS(传输层安全)安全机制和IPSec(In-ternet协议安全性)安全机制[2]。
这些安全机制主要解决了关于SIP消息在机密性和完整性方面的安全问题,但对于拒绝服务攻击而言还没有很好的作用。
针对SIP拒绝服务攻击,现有方案多是采用部署包过滤防火墙的方式尽量缓解DoS造成的危害。
传统的数据包检测过滤技术仅分析数据包4层以下内容,包括源地址、目的地址、源端口、目的端口以及协议类型。
它通过端口号来识别应用类型。
对SIP防护而言,传统包过滤防火墙有两个致命缺点:
(1)对诸如欺骗攻击的防御能力非常有限,也无法达到深度包检测SIP防火墙的要求。
例如SIP消息一般采用UDP/5060端口进行传输,恶意攻击消息可以把自身的传输端口改为5060端口以冒充SIP消息而躲过传统包过滤防火墙的拦截。
并且即使是真正的SIP消息,也有可能是恶意SIP 洪水攻击包。
(2)无法实现动态的RTP端口配置。
SIP会话双方传输媒体流的RTP端口号是动态协商的,会话建立前是无法知晓的,因此传统包过滤防火墙难以进行合理的规则配置,只能将很大范围的UDP端口打开以确保媒体流的通过,但这又将很大范围的UDP端口暴露给恶意攻击者,与防火墙的初衷相悖。
本文在Linux防火墙框架Netfilter的基础上,采用深度包检测(DPI)技术,设计了一个具有深度包检测功能的SIP防火墙。
此防火墙实施有状态的SIP感知,深度检查SIP消息,动态生成媒体流传输通道,达到增强的安全防护能力。
1基于Netfilter的深度包检测SIP防火墙的设计1.1基于Netfilter的深度包检测SIP防火墙内核结构设计
所谓“深度包检测”是和传统包过滤检测技术相比较而言的,它不仅对4层以下内容进行分析,还增加了应用层分析。
在Linux防火墙框架Netfilter[3]中加入一个具有深度包检测功能的SIP-filter模块,即可构成一个深度包检测SIP防火墙。
此防火墙内核模块结构如图1
所示:
图1深度包检测SIP防火墙内核模块结构SIP-Filter模块钩入Netfilter框架的钩入点与数据包过滤的钩入点是一样的,分别在HOOK2(NF_IP_LOCAL_IN)、HOOK3(NF_IP_FORWARD)和HOOK5(NF_IP_LOCAL_ OUT)处。
三个SIP-Filter模块的作用分别为:SIP-Filter模块A钩入HOOK2过滤点,目的地址是发往本机的SIP消息由它处理;SIP-Filter模块B钩入HOOK3过滤点,需要转发的SIP 消息由它处理;SIP-Filter模块C钩入HOOK5过滤点,本机发出的SIP消息由它处理。
这样,三个SIP-Filter模块刚好覆盖率所有的SIP消息并且不会重复覆盖。
SIP-Filter模块对数据包的处理流程如图2
所示:
图2SIP-Filter模块对数据包的处理流程
2013年第1期(总第123期)
2013
(Sum.No123)信息通信
INFORMATION&COMMUNICATIONS
1.2SIP/RTP 会话状态表设计
SIP/RTP 会话状态表包含五个字段,分别是:Call-ID (呼叫
标识)、sRTPAddr (源RTP 地址)、dRTPAddr (目的RTP 地址)、sRTPPort (源RTP 端口)、dRTPPort (目的RTP 端口)和Session-State (会话状态)字段。
会话状态包括:尝试建立会话(Invite_Trying )、被叫方接受会话请求(Invite_OK )、主叫方确认会话已建立(Invite_ACK )、会话已结束(Bye )等。
1.3SIP/RTP 会话状态表的更新以及媒体流通道动态打开/关闭过程
SIP 消息规则匹配过程成功后,进入SIP/RTP 会话状态表更新以及媒体流通道动态打开/关闭流程。
(1)判断消息的类型。
若是INVITE 请求消息,则查找会话状态表中看是否有与其相同的Call-ID ,若无,则在会话状态表中新建此会话表项,把会话状态设置为Invite_Trying ,并且从此SIP 消息中提取出源RTP 地址和源RTP 端口,保存到新建的会话状态表项中。
(2)若是INVITE 请求消息的200OK 响应消息,则根据其Call-ID 查找出其会话状态表项,把原会话表项中的会话状态由Invite_Trying 改为Invite_OK ,并且从此200OK 消息中提取出目的RTP 地址和目的RTP 端口,保存到此会话表项中,此时此会话表项才算完整。
(3)若是ACK 请求消息,则根据其Call-ID 查找出其会话状态表项,把原会话表项中的会话状态由Invite_OK 改为In-vite_ACK ,并且根据此表项中的源RTP 地址、目的RTP 地址、源RTP 端口和目的RTP 端口这四个参数打开媒体流通道。
(4)若是BYE 请求消息,则根据其Call-ID 查找出其会话状态表项,把原会话表项中的会话状态由Invite_ACK 改为End ,并且根据此表项中的源RTP 地址、目的RTP 地址、源RTP 端口和目的RTP 端口这四个参数关闭媒体流通道。
(5)其他消息不会更改会话状态表。
2防火墙功能测试
2.1测试环境
为了测试深度包检测SIP 防火墙的功能,搭建如图3所示
的测试环境:
图3测试环境
设备的软硬件配置如下:(1)语音客户端:Intel Core-i5处理器,2G 内存。
运行Linux 操作系统,版本为Ubuntu10.10,选用Linux-2.6.35内核。
语音客户端A 、B 的IP 地址分别配置为192.168.1.10和192.168.1.110。
客户端PC 上运行SIP 开源测试工具SIPp 。
SIPp 是一个测试SIP 协议性能的工具软件,它能动态显示测试运行的统计数据,如呼叫速率、信号来回的延迟,以及消息统计等。
(2)攻击设备:攻击设备采用ThreatEx 攻击器。
ThreatEx
是由Spirent 公司推出的一种可重现最极端攻击的高级工具,它可真实地模拟数千种攻击及变种,包括:DDos 、病毒、VoIP 攻击、无线攻击、协议模糊攻击和应用渗透等。
(3)深度包检测SIP 防火墙:Intel Core-i5处理器,2G 内存。
运行Linux 操作系统,版本为Ubuntu10.10,选用Lin-ux-2.6.35内核,安装自主开发的深度包检测SIP 防火墙。
(4)SIP 服务器:Intel Core-i5处理器,2G 内存。
运行Linux 操作系统,版本为Ubuntu10.10,选用Linux-2.6.35内核。
运行开源SIP 服务器yate2。
(5)网络环境:采用100M 以太网。
2.2测试过程及结果分析
测试分两部分,一部分测试深度包检测SIP 防火墙的SIP
防护能力,另一部分是测试深度包检测SIP 防火墙动态打开/关闭媒体流通道的能力。
2.2.1SIP 防护能力测试
我们选取畸形SIP 消息、REGISTER 洪泛攻击和INVITE 洪泛攻击作为测试用例来测试深度包检测SIP 防火墙的SIP 防护功能。
其中畸形SIP 消息由SIPp 产生,REGISTER 洪泛攻击消息和INVITE 洪泛攻击消息由攻击设备ThreatEx 产生。
测试结果如表1所示:
表1
攻击测试结果
上述实验表明,深度包检测SIP 防火墙能够有效地检测出
畸形SIP 消息攻击以及DoS 攻击,具备良好的SIP 防护能力。
2.2.2动态打开/关闭媒体流通道的能力测试
在正常的SIP 会话过程中(无攻击流量),只需验证在深度包检测SIP 防火墙开启的情况下,会话的持续时间与未开启防火墙时的会话持续时间相差不大,以及具有很小的丢包率,即可证明此防火墙具有动态打开/关闭媒体流通道的能力。
这是因为若此防火墙不具备动态打开/关闭媒体流通道的能力,则在防火墙开启的情况下,RTP 流不能顺利通过会话过程中协商好媒体流通道,这必定会引起会话的延迟以及较高的丢包率,甚至无法建立会话。
测试过程如下:(1)编写SIPp XML 文件,生成一个10s 的RTP 流。
(2)测试的总呼叫数设定为5000次,呼叫速率设定为10次/秒,并发呼叫的最大次数分别设定为30次、50次、100次和120次四种情况。
并发呼叫的最大次数为30次时的测试代码为:
sipp –sn uac_pcap 192.168.1.110–p 5060–sf uac.xml –l 30–r 10–m 5000
其中192.168.1.110表示呼叫目标地址;-p 5060表示呼叫目标端口为5060端口;-sf uac.xml 表示指定使用的场景文件为uca.xml ;-l 30表示并发呼叫的最大次数为30次;-r 10表示呼叫速率为10次/秒;-m 5000表示指定测试的呼叫总数,当达到m 指定的数目时候停止呼叫,程序结束。
同理可知并发呼叫的最大次数为50次、100次和120次时的测试代码:
sipp –sn uac_pcap 192.168.1.110–p 5060–sf uac.xml –l 50–r 10–m 5000
信息通信张春晓等:基于Netfilter 的深度包检测SIP 防火墙的设计
4G 网络发展的关键技术及前景探讨
杨
涛
(中铁十一局集团电务工程有限公司,湖北武汉430074)
摘要:分析了4G 移动通信的概念和技术特点,主要对4G 移动通信的关键技术进行论述,在此基础上对4G 网的前景进
行了预测。
关键词:4G 网络;技术;前景;分析中图分类号:TP391.9文献标识码:A 文章编号:1673-1131(2013)01-0049-02第三代移动通信技术是以语音业务为主,以电路交换为核心,同时还附加了IP 数据业务的传统移动通信网络,但是其
技术往往偏重话音业务[1]。
第四代移动通信技术就是针对3G 网络的这种情况提出的。
伴随着全新无线宽带技术的智能化,以及定位于用户的新业务和跨越不同领域技术的协作与综合,且还可以随时随地以宽带IP 的形式接入到互联网当中,这便是新一代无线移动通信系统——“4th Generation ”,现在的IP 正有力的推动着高速移送互联网接入的发展。
14G 网络的概念和技术特点
1.14G 网络的概念
4G 网络又被称作是第四代移动通信系统,它是将多媒体
所包含的数据、语音以及影像等大量的信息通过宽频信道的方式传送出去,因此,又被称之为“多媒体移动通信”——“4th Generation ”,简称为4G 。
多媒体移动通信网络的诞生不仅仅是为了尽快适应用户数量的增加,更是多媒体传输以及对通信品质的最新需求。
第四代移动通信技术无论是在功能方面还是业务方面,或是频带方面都明显优于第三代移动通信技术。
第四代移动通信技术其概念又被称作是分布式网络和宽带接入网络,它具有超过2Mbit/s 非对称数据传输能力。
主要包括宽带无线局域网、宽带无线固定接入以及互操作的广播网络和移动宽带系统等等。
目前,多媒体移动通信系统的技术还只是一个概念,即“无
线互联网技术”。
值得肯定的是,随着互联网技术的迅猛发展,4G 网络也将实现飞速发展。
尤其是随着科学技术的不断更新,电脑日趋简便小巧,发展的最终将会把所有技术都整合至一个类似PDA (掌上电脑)的产品当中,而空间技术和卫星通
信技术也将成为最为常用的一种技术[2]。
总之随着科技的进步,移动通信应用技术,如智能信号处理技术、卫星技术以及网络技术等也都处于迅速发展状态之中。
1.24G 网络的技术特点
3G 网络技术早已悄无声息地融入我们的生活,3G 网络技术让我们的生活更精彩、让我们的工作更轻松,3G 网络技术甚至改变了我们工作和生活的方式,而4G 网络的诞生,无论是其通信质量还是通信范围,与3G 网络技术相比,都略胜一筹,4G 网络技术的主要特点有:(1)用户共存性;(2)自治网络结构;(3)高速率;(4)灵活性强;(5)业务多样性;(6)技术发展主要以数字宽带为主;(7)较好的技术基础;(8)随时随地移动接入,不受限制;(9)兼容性较好。
第四代移动通信技术的核心网络在发展和空中接口方面都应该尽量满足下面几个要求:(1)IP 地址的个人化;(2)通信业务需求变化;(3)大动态范围的数据速率;(4)充分利用有限的无线资源;(5)传输数据速率极大提高。
24G 网络的核心技术
2.1无线定位技术
无线定位技术指的是通过无线电信号来计算和测量某一
sipp –sn uac_pcap 192.168.1.110–p 5060–sf uac.xml –l 100–r 10–m 5000
sipp –sn uac_pcap 192.168.1.110–p 5060–sf uac.xml –l 120–r 10–m 5000
测试结果如表2所示:
表2防火墙未开启/
开启情况下的测试结果
上述实验表明,开启防火墙时平均每次会话持续时间与
未开启防火墙时的时间几乎相同,并且开启防火墙时的丢包率几乎为零,这都证明深度包检测防火墙具有高效的动态打开/关闭媒体流通道的能力。
3结语
本文针对传统包过滤防火墙不适用于SIP 会话这一情况,采用DPI 技术,设计了一个基于Netfilter 的深度包检测SIP 防火墙。
此防火墙能够实施有状态的SIP 感知,深度检查SIP 消息,并且动态生成媒体流传输通道,达到SIP 会话安全防护能力。
参考文献:[1]
龙昭华,李明哲.基于应用层的SIP 安全机制设计[J ].计算机工程与设计,2010,31(15):3350
[2]J.Rosenberg,H.Schulzrine.SIP:Session Initiation Protocol [S ].
IETF RFC3261,2002
[3]Steve Suehring,Robert L.Ziegler 著,何泾沙等译.Linux 防
火墙[M ].北京:国防工业出版社,2006作者简介:张春晓(1988-),男,河南商丘人,硕士,研究方向为军事信息系统安全;蔡均平(1968-),男,副教授,
硕士生导师。
2013年第1期(总第123期)
2013
(Sum.No123)
信息通信
INFORMATION &COMMUNICATIONS。