被窃盗的信用卡号、遭受攻击的计算机系统以及其他一些著名的在线攻击已经引起了许多用户的警惕,使安全管理人员将注意力放在了高级入侵检测系统、防火墙和其他高水平防御上。然而,许多人忘了,无论他们如何努力地加强站点的安全,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. 源路由篡改:一种拒绝服务和数据劫持攻击,在这种攻击中,攻击者篡改路由表表项(通常在边缘路由器上),使发送到某一站点的数据流改向传送到另一个站点上(在这个站点上信息可以被截获)或者什么地方都不发送。