TCP/IP协议的安全缺陷可能导致的网络攻击
2012-08-15吕方兴
吕方兴
(菏泽学院计算机与信息工程系 山东 菏泽 274015)
0 引言
TCP/IP协议是目前使用最广泛的协议,但是由于在设计时,考虑更多的是协议的高效性,而忽视了对安全性的设计,因此,利用TCP/IP协议进行的攻击在整个计算机犯罪中不在少数。
1 源地址欺骗或IP欺骗(source address spoofing or IP spoofing)
网络中结点的IP地址不是固定不变的,是一个公共的数据,因此攻击者可以直接修改结点的IP地址,冒充某个可信的结点IP地址,再进行攻击。因此IP地址不能作为可信任的唯一认证方式。
源地址欺骗主要由两种形式。
(1)主机A是攻击主机,它冒充B主机(信任主机)与主机C进行对话。A主机在发出数据包后,攻击者通过技术手段将数据包的源地址更改为B主机的地址,此时C主机的数据仍会发送给B。就是说,A主机不能得到C主机返回的数据信息,不过在一般情况下,攻击者不需要知道返回数据是什么也可以实现攻击,他们可以用预测返回数据包的方法来实施攻击。
(2)另一种攻击称为“中间人”攻击。攻击者会截获目标主机返回给真实主机的数据包,从而与被攻击主机建立完整的对话,这时入侵者可以看到入侵的结果。为达到这一目的,攻击主机必须潜入目标主机和真实主机之间的路径上,这在路径的末端是很容易实现的,在路径中间是很复杂的。因为根据IP网络的特点,中间的路径变化是很大的。在计算机之间改变路径,从而引导攻击计算机,这取决于网络的拓扑结构以及网络和网络之间使用的路由系统。这一操作可能很容易,也可能很复杂。
2 源路由选择欺骗(source routing spoofing)
与路由器源路由攻击一样,在TCP/IP协议中,为测试目的,IP数据包设置了一个选项——IP Source Routing,该选项可以直接指明到达结点的路由。攻击者可以利用这一特点进行欺骗,以进行非法连接。攻击者可以冒充某个可信结点的IP地址,构造一个通向某服务器的直接路径和返回路径,利用可信用户作为服务器的路由中的最后一站,就可以向服务器发出请求,进行攻击了。在TCP/IP协议的两个传输层协议TCP和UDP中,由于UDP是面向无连接的,因而没有初始化的连接建立过程,所以相对而言,UDP更容易被欺骗。
3 路由选择协议攻击(RIP attack)
RIP协议用来在局域网中发布动态路由信息,它是为了在局域网的结点提供一致路由选择和可达性信息而设计的。但各结点对收到的信息是不检查其真实性的,TCP/IP协议本身也没有提供这一功能。因此攻击者可以在网络中发布假的路由信息,利用ICMP的重定向信息欺骗路由器或主机,将正常的路由器定义为失效的路由器,从而达到非法存取的目的。
4 鉴别攻击(authentication attack)
TCP/IP协议只能从IP地址上鉴别通信,而不能对结点上的用户进行有效的身份验证,因此服务器不能有效地鉴别登录用户的合法性。目前对用户身份的鉴别主要依靠服务器软件提供的用户控制机制,如用户登录用户名和密码,虽然密码是被加密存放在服务器上的,而且多为单向加密算法(如MD5),但由于密码是静态的,所以无法抵御暴力的破解,如果用户密码不复杂,则很容易被黑客破解。攻击者获得有效用户名和密码后,就可以进一步攻击了。
5 TCP序列号欺骗 (TCP sequence number spoofing)
虽然TCP协议在连接时使用了序列号来鉴别数据包的有效性,当接收到与预测序列号不一样的序列号的数据包,该包将被视为无效。但由于TCP的序列号是有一定规律的,经过分析是可预测的,因此攻击者可以构造一个TCP序列,从而对网络上的可信结点实施攻击。
6 TCP SYN 攻击(TCP SYN flooding attack)
TCP是一个面向连接的协议,是可靠的传输层协议。通信双方必须经过一个三次“握手”才能建立一条有效的通信连接。假设主机A要和主机B通信,正常的TCP连接要求使用三次“握手”:
(1)主机A发送一个SYN数据包给B。
(2)主机B回答一个SYN+ACK的数据包给A,以表示确认第一个数据包,并继续确认。
(3)主机A最后发送一个ACK数据包给B,以表示确认握手,通信建立。
在上述过程中,当主机B接收到一个SYN请求时,就会分配一块内存给它。对于一个给定的服务,建立的TCP连接是有限的,当达到这一限度时,服务器将拒绝其他服务请求。假设攻击者利用地址欺骗的方式构造一个不可到达的主机,那么这时正常的三次握手将不可完成,由于目标主机要考虑到网络产生的延误等情况,因此会保留连接资源到一定的超时时间后才恢复。到此期间内,目标主机的资源不会主动释放。
攻击者利用虚假的主机向目标主机发送多个SYN请求包,由于给定的地址是无效的,因此目标主机返回的数据包将无法正确到达,这样目标主机就会占用资源来处理等待请求,直到所有可用资源全部用完,目标主机将拒绝一切的服务请求,即使是合法的。攻击者如持续进行这样的攻击,将导致目标主机资源全部耗尽,正常服务全部中断。这就是SYN攻击的原理。
当然,在以上的攻击中,攻击成功的关键在于构造的主机地址应是不可到达的,如果可到达,则主机接受到目标主机发送的不明来历的回应包,将立即发送RST数据包,中断连接,则目标主机就会中断连接、释放资源。
7 总结
TCP/IP协议由于其高效性,称为了事实上的国际标准,它是目前最常用的一种通用网络协议。但是TCP/IP协议却存在一些安全问题,这些安全问题可能导致多种类型的网络攻击。
[1]牛少彰.信息安全导论[M].国防工业出版社,2010.
[2]薛质,苏波,李建华.信息安全技术基础和安全策略[M].北京:清华大学出版社,2007.
[3]斯托林斯.网络安全基础:应用与标准[M].4 版.白国强,译.北京:清华大学出版社,2011.