众所周知,目前国内通信业的焦点仍有很多,比如TD-SCDMA和WCDMA之争,手机电视以及各种3G增值业务之争,牌照之争,共享资源减少重复投资之争,诸如此类。但至少有一点,在各大运营商厂商以及研究院学者之间已经达成了共识。那就是今后的所有业务都将使用IP网络来承载。实现真正的AllOverIP。
并且随着3G,IPTV等业务离我们的生活越来越近,全IP网络的融合也离我们越来越近。全IP承载网络给我们带来了标准化,高带宽,资源共享,网络共享等优点的同时,也给我们带来了新的思考和挑战。最大的挑战无非来自于两个方面。IP的服务质量以及IP的网络安全。毫无疑问,传统的专网专用的通信网络可以提供给用户稳定性更好更安全的业务,带给了用户更好的网络体验。使用IP网络来承载上层应用确实带给了我们很多不确定性。延迟,丢包,抖动,不稳定性都会给运营商的服务质量带来很大冲击。同时,针对IP网络的安全攻击事件也层出不穷。但从总的趋势来看,全IP承载是大势所趋,利远大于弊。因此我们需要花更多的时间来关注服务质量以及IP的网络安全。本文则主要侧重于IP网络安全,从多个方面进行探讨。
说起网络安全,首先自然要说起网络攻击。如果没有网络攻击,自然天下太平。而分析起网络攻击,自然离不开对黑客的讨论。那么为什么要发起网络攻击呢?只有切实了解了黑客发起网络攻击的动机才能反黑客。只有消灭了犯罪的根源,也才能杜绝犯罪,维护社会稳定。下面我们可以先从技术的角度对网络攻击行为进行一个分类。按照OSI七层模型来进行分类,可以分为针对应用层的攻击,针对传输层的攻击,针对网络层的攻击还有针对数据链路层的攻击。
常见的网络攻击
针对数据链路层的攻击
ARP欺骗攻击
ARP协议用来完成IP地址到MAC地址的转换。ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞或者实现“maninthemiddle”进行ARP重定向和嗅探攻击。目前网络上有很多种工具可以完成此类攻击,如网络执法官等。针对此类攻击也有很多种防范措施,比如MAC地址静态绑定,ARP智能检测等。
Mac地址泛洪
交换机主动学习客户端的MAC地址,并建立和维护端口和MAC地址的对应表以此建立交换路径,这个表就是通常我们所说的MAC地址表。MAC地址表的大小是固定的,不同的交换机的MAC地址表大小不同。Mac地址泛洪攻击是指利用工具产生欺骗MAC,快速填满MAC地址表,交换机MAC地址表被填满后,交换机以广播方式处理通过交换机的报文,这时攻击者可以利用各种嗅探攻击获取网络信息。MAC地址表满了后,流量以泛洪方式发送到所有接口,也就代表TRUNK接口上的流量也会发给所有接口和邻接交换机,会造成交换机负载过大,网络缓慢和丢包甚至瘫痪。目前主流厂家的中低端交换MAC地址表容量在8K左右,而使用Dsniff工具可以轻松地在1分钟内产生15万左右MAC地址冲击我们的局域网。而针对这种类型的攻击防护可以在交换机启动最大MAC地址限制,端口安全等策略。
针对网络层的攻击
针对路由协议的攻击
BGP协议:由于BGP协议是依赖于TCP的179端口进行传输,因此可以很容易的通过扫描工具
探测179端口来判别BGP的存在而实现攻击。同时,很多基于TCP的攻击以及TCP本身暴露出来的协议漏洞同样都成为BGP协议潜在的风险。如基于TCP的SYNflood攻击,序列号攻击,针对此类攻击,可以采用针对179端口的访问过滤以及BGP对等体的MD5认证来加以保护。
OSPF协议:常见的针对OSPF协议的攻击主要有以下几种。
Maxage攻击。指的是攻击者持续发送带有最大maxage(缺省为3600秒)的LSA,将导致路由器产生刷新信息来发送这个LSA,最终将导致整个网络混乱路由震荡后以及产生拒绝服务攻击。
序列号攻击。RFC规定OSPF通过序列号来判断旧的LSA是否需要更新。当攻击者持续插入比较大的LSA序列号报文时,网络中的路由器将发送更新的LSA序列号报文来与攻击者的LSA报文进行竞争,最终导致网络的不稳定。
最大序列号攻击。根据RFC规定,当LSA的报文超过最大序列号0×7FFFFFFF,需要将此LSA重新初始化在域中进行刷新。当攻击者持续发送带有最大序列号的LSA报文到网络中时,将造成OSPF整个域的持续震荡。
ISIS协议:针对ISIS协议的攻击比较难以实现,因为本身ISIS的LSP的交互是直接承载于二层的,而不是由IP包头来承载的,因此ISIS协议本身安全性较高并被大型骨干数据网络选为IGP协议的主要原因之一。
给予ICMP协议的攻击
死亡之ping攻击:即向目的主机发送大于64K字节载荷的报文,许多操作系统对TCP/IP栈的实现在ICMP包上都是规定64KB,并且在对包的标题头进行读取之后,要根据该标题头里包含的信息来为有效载荷生成缓冲区,当产生畸形的,声称自己的尺寸超过ICMP上限的包也就是加载的尺寸超过64K上限时,就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使接受方当机。可以通过打系统补丁或防火墙过滤等方法来进行保护。
Smurf攻击:用一台PC发包,将目的地址改为广播地址(不一定为255.255.255.255,也可以是一个网段的广播地址如192.168.1.255),源地址改为你想要攻击的那台设备的地址,这样所有的设备都将向这台设备回ACK包。导致那台设备性能下降。利用Sniffer就可实现此类攻击。可以通过打系统补丁或防火墙过滤等方法来进行保护。
ICMP重定向攻击:通过伪造ICMP重定向报文,使受害设备的路由表混乱。可以通过在网关设备上关闭ICMP重定向来进行防护。