网络编程

关注公众号 jb51net

关闭
首页 > 网络编程 >

安全基础知识IP的不安全性

作者:

安全基础知识IP的不安全性
被窃盗的信用卡号、遭受攻击的计算机系统以及其他一些著名的在线攻击已经引起了许多用户的警惕,使安全管理人员将注意力放在了高级入侵检测系统、防火墙和其他高水平防御上。然而,许多人忘了,无论他们如何努力地加强站点的安全,Internet结构中存在的脆弱性仍使他们处于危险之中。 

像请求在两台计算机之间建立连接这种简单功能就会造成漏洞,而每年报告的攻击中有15%是由这种漏洞造成的,这是由于自TCP/IP被接受为Arpanet传输协议之日起,它就一直没有什么变化,而IP最初是在一个内部非常信任的具有内聚力的社区中编写的,因此缺省值是IP应用认为它们应当信任人。 

利用TCP/IP功能的拒绝服务攻击和数据欺诈攻击可以使用多数服务器操作系统中能够被打开的安全功能、路由器或新版IP(IPv6)内置的过滤器来防范。但是,这些安全措施经常被忽视。 

近期有公司受到了“重新发现”的TCP攻击,这是一种利用TCP存在的老问题的新途径:如果黑客可以猜出两台计算机用来启动发送数据包序列的随机初始序列号(ISN)的话,这位黑客就可以劫持一次会话。一旦攻击者猜出ISN,他就可以改变数据包的传送方向或向数据流中注入任何东西。人们认为软件厂商已经利用随机包序列发生器解决了这一问题。但结果是这种随机序列并不随机,它实际包含使ISN很容易猜到的模式。 

另一种古老手段IP地址欺骗今天也很常见。像IP欺骗和利用缓冲区溢出的拒绝攻击这类古典的TCP/IP攻击仍在使用。以分布式拒绝攻击为例,将特洛伊木马植入到未受怀疑的服务器中。然后,这些服务器利用大量的包含虚假源IP地址的服务请求淹没了许多电子商务站点。攻击造成这些商务站点上的很多服务器崩溃。 

非IP攻击一般寻找服务器软件或像地址簿和自动邮件程序这类功能中脆弱的端口和服务。 

常见的针对TCP/IP的攻击 

在八十年代中,有几十种针对TCP/IP的攻击袭击过Arpanet。其中的一些攻击今天依然存在。最常见的包括: 

1. Smurf攻击:一种由有趣的卡通人物而得名的拒绝服务攻击。Smurf攻击利用多数服务器中具有的同时向许多计算机广播请求的功能。攻击者伪造一个合法的IP地址,然后由网络上所有的服务器广播要求向受害者地址做出回答的请求。由于这些数据包表面上看是来自已知地址的合法请求,因此网络中的所有系统向这个地址做出回答,回答淹没了这台合法的机器,造成拒绝服务。 

2. SYN洪水:一种拒绝服务攻击,在这种攻击中,攻击者利用伪造的IP地址向目标发出多个连接(SYN)请求。目标系统然后发送确认信息,并等待回答。由于伪造的IP地址不属于任何实际的机器,因此,不会有回答,从而使连接保持开放并阻塞了合法的数据流。 

3. 源路由篡改:一种拒绝服务和数据劫持攻击,在这种攻击中,攻击者篡改路由表表项(通常在边缘路由器上),使发送到某一站点的数据流改向传送到另一个站点上(在这个站点上信息可以被截获)或者什么地方都不发送。 
阻挡与过滤 

关闭边缘路由器上的“广播”功能可以阻挡Smurf攻击。以三秒或更短的间隔中止不完整的SYN请求通常可以防止SYN洪水。IP路由包过滤功能可以捕获劫持企图。事实上,过滤功能正是TCP/IP保护所做的事。 

例如,最近分布式拒绝服务攻击的许多受害者现在都在自己ISP的位置对数据流进行过滤,而不是等待“洪水”袭击自己的计算机。一些受害者还对自己的操作系统进行了配置,使其可以更快地中断SYN请求,并改变受到拒绝服务攻击的服务器的IP地址避免再受到攻击。 

除了防火墙和入侵检测外,用户还可使用下列过滤技术以防止TCP/IP攻击: 

·在边缘路由器上设置过滤阻挡假地址或SYN攻击。 

·阻挡连接请求、防止高容量攻击的速率限制过滤器。 

·检测符合攻击特征的进入连接或跟踪攻击发源地供起诉之用的数据流分析。 

·通过过滤已知攻击类型,防止拒绝服务攻击的基于主机的防火墙。 

由于这类安全特性不属于缺省配置,所以IT人员可能不知道这些特性,因此并没有开启这些特性,或者他们害怕过滤功能会降低他们的速度。但是实际上这些特性不会给性能造成太大的影响。 

例如,Cisco公司的路由器包含一种叫做单播逆向路径转发检查的特性,这种逆向IP查找功能自三年前Cisco发布IOS第10版起就是该操作系统的一部分。这种功能可以通过检查上游路由表查看数据包是否来自它们自称的IP地址来检测伪造的数据流。尽管这类技术几乎无处不在,但是用户还是很少使用它们。 

对性能问题的担心也是造成新的ISN猜测威胁的原因。1996年中,厂商有机会采用一种更强键的随机序列发生器,但多数厂商不愿意采用它,因为从CPU使用的角度看,它费用更高。 

而且,IPSec也被大多数人所忽视,IPSec是IPv6的一个子集,它的设计目的是利用公共密钥在计算机进行连接前对计算机进行认证。这两种同是在1998年公布的安全特性可以帮助解决许多TCP/IP安全问题。 

目前厂商产品真正支持IPSec的还不多。这是因为企业没有看到采用IPSec或IPv6的令人信服的理由,特别是VPN隧道技术具有与IPSec几乎相同的功能。 

此外,升级到IPv6需要一定的时间,大家未来需要同时升级到IPv6。否则,由于兼容性问题,那些先升级的人将不能接入到Internet的很多部分中。随着无线Internet设备的出现,对地址空间的需求不久将会呈爆炸式增长。同时,对更强过滤功能和IP安全的需求也会出现爆炸。否则,总有一天,任何Internet连接的设备,甚至包括电冰箱,都会黑世界一把。 
文章录入:csh    责任编辑:csh 

阅读全文