会话劫持的步骤:
会话劫持的第一步要求攻击者找到一个活动的会话。这要求攻击者嗅探在子网上的通讯。攻击者将寻找诸如FTP之类的一个已经建立起来的TCP会话。如果这个子网使用一个集线器,查找这种会话是很容易的。一个交换的网络需要攻击者破坏地址解析协议。
下一步,攻击者必须能够猜测正确的序列号码。请记住,一个基本的TCP协议设计是传输的数据的每一个字节必须要有一个序列号码。这个序列号用来保持跟踪数据和提供可靠性。最初的序列号码是在TCP协议握手的第一步生成的。目的地系统使用这个值确认发出的字节。这个序列号字段长度有32个字节。这就意味着可能有大约4,294,967,295个序列号。一旦这个序列号一致,这个账户就会随着数据的每一个自己逐步增加。
一旦确定了序列号,攻击者就能够把合法的用户断开。这个技术包括拒绝服务、源路由或者向用户发送一个重置命令。无论使用哪一种技术,这个目的都是要让用户离开通讯路径并且让服务器相信攻击者就是合法的客户机。
如果这些步骤取得成功,攻击者现在就可以控制这个会话。只要这个会话能够保持下去,攻击者就能够通过身份验证进行访问。这种访问能够用来在本地执行命令以便进一步利用攻击者的地位。
预防和检测会话劫持:
处理会话劫持问题有两种机制:预防和检测。预防措施包括限制入网的连接和设置你的网络拒绝假冒本地地址从互联网上发来的数据包。
加密也是有帮助的。如果你必须要允许来自可信赖的主机的外部连接,你可以使用Kerberos或者IPsec工具。使用更安全的协议,FTP和Telnet协议是最容易受到攻击的。SSH是一种很好的替代方法。SSH在本地和远程主机之间建立一个加密的频道。通过使用IDS或者IPS系统能够改善检测。交换机、SSH等协议和更随机的初始序列号的使用会让会话劫持更加困难。此外,网络管理员不应该麻痹大意,有一种安全感。虽然会话劫持不像以前那样容易了,但是,会话劫持仍是一种潜在的威胁。允许某人以经过身份识别的身份连接到你的一个系统的网络攻击是需要认真对付的。
|