灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:1403回复:0

OSI堆栈安全:第5层——会话劫持

楼主#
更多 发布于:2011-12-19 17:33

OSI模式的第5层是会话层。会话层负责建立、管理、终止数据交换和会话。由于第5层是处理会话和连接协调,这个文章主要探讨的内容是会话劫持。
会话劫持发生在攻击者试图接管两台计算机间所建立的TCP会话的时候。会话劫持的基本步骤包括:
 寻找会话
 猜测序号
 迫使用户掉线
 接管会话
会话劫持并不是新技术。可能最著名的会话劫持是在Kevin Mitnick在1994年圣诞节所进行的一次攻击。这个事件增强了人们对可能引起会话劫持的漏洞的认识。会话劫持的目的是窃取有效系统的一个授权连接。如果黑客成功了,那么他就可以执行本地命令。如果他劫持了一个特权帐户,那么黑客就拥有了与特权用户一样的访问权限。
会话劫持之所以会如此的危险是因为它允许控制现有的帐号,这使得攻击就几乎没有痕迹。两种可用于会话劫持的工具是Ettercap 和Hunt。
会话劫持的步骤
这种攻击的第一步是要求黑客必须能找到一个有效的会话。这就要求黑客在子网上进行流量嗅探。他会寻找一个已创建的TCP会话,如FTP。如果网络使用的是集线器,那么嗅探非常简单。而在交换网络中,攻击者必须对地址分辨协议(ARP)进行污染。
下一步,攻击者必须能够猜测出正确的序列号。记住,TCP的一个基本设计就是每个数据字节的传输都必须有一个序列号。序列号是用于跟踪数据并保证可靠性的。初始的序列号是在TCP握手的第一个阶段生成的。这个值是会被目标系统用以确认发送的字节的。这个序列号长度是32位。这就意味着只会有4,294,967,295个可能的序号。
当序列号生成后,那么它的计数将根据所传输数据的字节数增加。多年以前,序列号猜测相当的容易,因为操作系统供应商并没有使用一个高效率的方法来生成随机初始序列号。现代的操作系统已经在这方面有所提高。如果你对你的系统是如何生成任意序列号的感兴趣,诸如Nmap等工具可以帮助你判断猜测各种操作系统的序列号的难度。
一旦获得了序号,攻击者就可以让合法用户掉线了。这方面的技术要求包括拒绝服务、源路由或向用户发送重置命令。不管用的是哪种技术,目的就是让用户离开通信通道,并欺骗服务器相信攻击者是合法客户端。
如果这些步骤都成功了,那么攻击者现在就控制了会话。只要会话持续,攻击者就拥有授权的访问。这个访问可以用于执行一些本地命令,使得黑客方便进行下一步的破坏。
阻止和检测会话劫持
有两种主要的机制可以解决劫持的问题:阻止和检测。阻止的方法包括限制到达的连接数,以及配置网络拒绝来自因特网但却宣称来自于本地地址的数据包。
加密也会有所帮助。如果你必须允许来自外部的可信任主机的连接,那么要使用Kerberos 或IPsec进行加密。FTP 和Telnet是相当脆弱的,我们需要使用更安全的协议。Secure Shell (SSH)是一个很好的选择。SSH在本地和远程主机上建立一个加密的通道。使用IDS或IPS系统可以改进检测。使用交换机、诸如SSH的安全协议,以及更加随机的初始序列号都将增加会话劫持的难度。但是,网络管理员仍不应该对安全问题麻痹大意。毕竟会话劫持不可能像以前那样简单了,而且它仍然有一定的潜在威胁性。我们必须处理那些允许某人授权访问你的系统的网络攻击问题!
关于作者:
Michael Gregg有超过15年的IT经验。Michael是Houston-based 培训和咨询公司Superior Solutions Inc.的总裁。他是一位网络、安全和因特网技术专家。他有两个辅修学位,一个学士学位和硕士学位。目前他拥有下列证书:MCSE、MCT、CTT、A+、N+、CAN、CCNA、CIW Security Analyst 和TICSA。

喜欢0 评分0
游客

返回顶部