分类: 网络与安全
2008-03-22 21:32:49
黑客从服务器的传送包中删除其请求的信息
以下部分您将了解 TCP ACK风暴,它在黑客继续伪装时,在非同步后劫持入侵中将发作。
2.TCP ACK风暴
前面部分详述的后期非同步劫持入侵有一个基本的不足,即它将大量地产生 TCP ACK包,网络专家称这些大量的 ACK包为 TCP ACK风暴。当一个主机(无论客户机或服务器)收到一个不能接受的包时,主机将向产生的主机发送期待的顺序号来认证这个不能接收的包。在以前详述的主动的 TCP入侵的情况下,第一个 TCP ACK包将包含服务器的顺序号,客户机因为没有送出请求更改的包,所以将不接受这个认证包。因此,客户机产生自己的认证包,它反过来迫使服务器产生另一个认证包,这些反复循环,理论上对传送每个数据包是一个无止尽循环(如图9)。
入侵产生的风暴循环
因为认证包不传送数据,如果接收者丢失了这个包,ACK包的发送者将不再传递。换句话说,如果一个机器在ACK风暴循环中丢掉一个包,循环便终止。幸运的是,正如您以前所知,TCP将IP用在不可靠的网络层上,以一个非空的包损失,网络设计者将迅速结束循环。而且,网上丢掉的包越多,ACK风暴持续期越短。再加之,ACK循环是自规的--换句话说,黑客产生的循环越多,客户机和服务器接到的交通数量也越多,它反过来增加拥挤度。这样便丢掉包,有更多的循环结束。
TCP 连接在每次客户机或服务器发送数据时创建一个循环。如果既不是客户机又不是服务器发送数据,TCP连接便产生不了循环。如果客户机和服务器都未发送数据也没有黑客认证数据,发送者将再传这个数据。在再传之后,TCP连接将为每一个再传送创建一个风暴,最后连接的双方放弃连接,因为客户机和服务器都未发送ACK包。如果黑客认证了数据传送,TCP连接将仅产生一个风暴。实际上,由于网上的负荷,黑客经常错过数据包,因此黑客将认证再传送的第一个包--意味着每次在黑客传输时入侵将至少产生一个ACK风暴。
在服务器接收到包之后,服务器对黑客请求的数据和客户端请求的数据予以响应。在服务器对客户端响应之前,黑客可以漏掉或删除服务器对黑客命令的响应,如此,用户便不再觉察到任何黑客入侵。
黑客从服务器的传送包中删除其请求的信息
以下部分您将了解 TCP ACK风暴,它在黑客继续伪装时,在非同步后劫持入侵中将发作。 黑客往传送包中加命令
在服务器接收到包之后,服务器对黑客请求的数据和客户端请求的数据予以响应。在服务器对客户端响应之前,黑客可以漏掉或删除服务器对黑客命令的响应,如此,用户便不再觉察到任何黑客入侵(如图8)。
黑客从服务器的传送包中删除其请求的信息
以下部分您将了解 TCP ACK风暴,它在黑客继续伪装时,在非同步后劫持入侵中将发作。
2.TCP ACK风暴
前面部分详述的后期非同步劫持入侵有一个基本的不足,即它将大量地产生 TCP ACK包,网络专家称这些大量的 ACK包为 TCP ACK风暴。当一个主机(无论客户机或服务器)收到一个不能接受的包时,主机将向产生的主机发送期待的顺序号来认证这个不能接收的包。在以前详述的主动的 TCP入侵的情况下,第一个 TCP ACK包将包含服务器的顺序号,客户机因为没有送出请求更改的包,所以将不接受这个认证包。因此,客户机产生自己的认证包,它反过来迫使服务器产生另一个认证包,这些反复循环,理论上对传送每个数据包是一个无止尽循环(如图9)。
入侵产生的风暴循环
因为认证包不传送数据,如果接收者丢失了这个包,ACK包的发送者将不再传递。换句话说,如果一个机器在ACK风暴循环中丢掉一个包,循环便终止。幸运的是,正如您以前所知,TCP将IP用在不可靠的网络层上,以一个非空的包损失,网络设计者将迅速结束循环。而且,网上丢掉的包越多,ACK风暴持续期越短。再加之,ACK循环是自规的--换句话说,黑客产生的循环越多,客户机和服务器接到的交通数量也越多,它反过来增加拥挤度。这样便丢掉包,有更多的循环结束。
TCP 连接在每次客户机或服务器发送数据时创建一个循环。如果既不是客户机又不是服务器发送数据,TCP连接便产生不了循环。如果客户机和服务器都未发送数据也没有黑客认证数据,发送者将再传这个数据。在再传之后,TCP连接将为每一个再传送创建一个风暴,最后连接的双方放弃连接,因为客户机和服务器都未发送ACK包。如果黑客认证了数据传送,TCP连接将仅产生一个风暴。实际上,由于网上的负荷,黑客经常错过数据包,因此黑客将认证再传送的第一个包--意味着每次在黑客传输时入侵将至少产生一个ACK风暴。
在服务器接收到包之后,服务器对黑客请求的数据和客户端请求的数据予以响应。在服务器对客户端响应之前,黑客可以漏掉或删除服务器对黑客命令的响应,如此,用户便不再觉察到任何黑客入侵。
黑客从服务器的传送包中删除其请求的信息
以下部分您将了解 TCP ACK风暴,它在黑客继续伪装时,在非同步后劫持入侵中将发作。
3.前期非同步入侵
在前面,您了解到非同步后TCP劫持入侵(即在客户机和服务器连接之后发生的入侵)。不像非同步后劫持入侵,前期非同步入侵在客户机和服务器的早期连接建立时破坏其连接,而不是在连接已设立或完成之后。前期非同步入侵在服务器端破坏连接,在破坏连接之后,黑客创建一个具有不同顺序号的新连接,前期非同步的入侵工作如下。
(1)在连接创建阶段2,黑客窃听服务器发送到客户机SYN/ACK包(如图10)。
服务器给客户机发送一个ACK包
(2)当黑客检测到SYN/ACK包时,黑客发送一个RST复位请求包,接着发送一个与服务器的SYN/ACK包有相同参数SYN包。然而,黑客的请求带着一个不同的顺序号。您可以把这个看作入侵者确认包(ATK_ACK_0)(如图11)。
黑客发送两个数据包给服务器
(3)服务器将收到RST包时关闭第一个连接,且将在同一端重开一个新的连接,但当收到SYN包时,便具有不同顺序号,服务器将向原用户回送一个SYN/ACK包。
(4)黑客截取SYN/ACK包,向服务器发送它自己的ACK包,服务器开关掷向同步连接以创建状态(如图12)。
黑客截获包并建立同步
当客户端从服务器收第一个SYN/ACK包时便把开关掷向ESTABLISHED(已创建)状态,黑客的成功依赖于为CLT_TO_SVR_OFFSET造取了正确的数值,选取错误的数值将使客户端的包和黑客的包不能被接受,而且这样可能产生意想不到的结果,包括连接的终止。
4.空数据非同步入侵
在前面部分里,您已了解了黑客如何利用在连接的早期阶段截获一个TCP连接来实施一次前期非同步入侵,非同步一个TCP连接后,黑客能实施一次空数据非同步入侵。空数据指不会影晌服务器的任何东西,不会改变TCP 认证号,黑客通过同时向服务器和客户端发送大量数据来实施一次空数据入侵。
黑客发送的数据对客户端来说是不可见的。相反,空数据迫使TCP会话中连接的两台计算机切换到非同步状态,因为纯粹的空数据干预到了计算机维护TCP连接的能力。
5.Telnet会话入侵
前面部分已详述了黑客能在一个已存在的或新运行的TCP连接上实施的各种入侵。然而,黑客也可以干预到几乎任何网络通讯。例如,黑客可以用TELNET会话实施以下截获方案:
(1)在入侵之前,黑客通常先观察网上的传送,而不进行任何干预。
(2)适当时候,黑客向服务器发送一大批空数据。在被截获的TELNET会话上,黑客发送一个含扩展字号IAC NOP LAC NOP 的ATK_SVR_OFFSET字。TELNET协议将NOP命令定义为"空操作",换句话说,不做任何操作且忽视这一对中的字。由于此空操作,服务器的TELNET的后台驻留程序将把每个字都解释为空数值,因为这一点,后台驻留程序将数据流中的每个对删掉。然而,服务器对扩展空传送的接收将扰乱正进行工作的TELNET会话,在此步之后,服务器接收以下命令:
SVR_ACK = CLT_SEQ+ATK_SVR_OFFSET
(3)服务器对黑客命令的接收将创建一个非同步TELNET的连接。
(4)为了迫使客户机转换到非同步状态,黑客向客户端实施一个与服务器相同的步骤(如图13)。
黑客如何向客户端和服务发送空数据
(5)为完成TELNET会话入侵,黑客实施前面详述的步骤,直到黑客成为TELNET会话连接的中间人(如图14)。
如果Telnet 会话可以传送空数据的话,黑客只能利用前面详述的五个步骤的TELNET截获方式。纵使如此,黑客对于选择合适时间发送空数据仍有困难。如果时间不正确,入侵将很容易破坏Telnet会话,或者会引起会话干扰,而不能让黑客控制会话。当您参与TELNET会话,预料不到的结果将表明黑客正在截获会话。
6.对ACK风暴的了解
在TCP连接内,几乎所有含ACK设定标识而不带数据的包都是未接收包的确认信息。在任何网上,特别是在INTERNET通讯中,将发生大量的转送。在一个遭受了前面详述的各种入侵的网上,会发生更多的转送。转送的号码将依据网上的负荷和引起风暴的黑客主机而定,一个服务器登录能包含多达300多个空包。特别地,在一个实际入侵中传送的数据包可能产生10至30个ACK空包。
7.检测及其副作用
您可以利用ACK入侵的各种缺陷来检测入侵,这部分将描述三种检测方式,但记住仍有其他方法。
非同步状态检测。您可以利用TCP包来观察连接双方的顺序号。根据顺序号。您可以判断出连接是否处于非同步状态。然而,仅当假定您在连接上传送顺序号时没有黑客改变它,您才可以在连接的双方阅读包--这是一个一般的安全假定。
ACK风暴检测:些局域以太网的TCP交通在入侵前的统计表明,总的TELNET包的无数据包率为三分之一,而当一个黑客入侵时,为1/300。
包百分率记数:您可以通过对包的百分率记数来监视连接的状态。通过对有入侵时的包百分率和普通数据包百分率的对比,可以提醒您存在非同步入侵。表1显示了通常连接中数据包和ACK包每分钟的数目。
表1 普通传送中,ACK包每分钟传送的数目
包的类型 本地 以太网传输
Total TCPs 80-100 1400
Total ACK 25-75 500
Total Telnet 10-20 1400
Total Telnet ACK 5-10 45
TCP包和 ACK包的数目在本地以太网上变化很大。一个常规连接上的ACK TELNET包的百分率一般稳定在45%左右,Telnet会话是一种交互式会话,服务器必须对用户敲入的每一个字母进行响应和认证。事实上这正是Telnet包计数稳定性的原因所在。在TELNET会话中,基于降低包丢失率的考虑,每个包通常仅含一个字母或一行正文,所以数据交换量较小。正如TELNET数据流,流向远程以太网的数据与其是一致的。因为它的高数据负荷,接收主机可能丢失一些包。
相对地,当黑客入侵时,真正的包与ACK包的比值会发生改变。表2显示了黑客入侵时包的计数。
表2 遭入侵时,ACK包的计数情况
包的类型 本地连接
Total Telnet 80-400
Total Telnet ACK 75-400
在表2中,本地连接是指只有少数来自客户端的IP跳跃的一个主机的通讯会话。通讯会话的往返延迟(RTD)大约在3毫秒。例如,通讯会话可能跨越客户机与主机间的4个局域服务器。正如您所知,在黑客入侵时包计数器的改变很明显。就算它变化较为轻微,ACK计数与总包计数几乎是一致的,则交通量基本都是指认证包,意味着几乎不包括数据包
五、另一种嗅探--冒充入侵
您已了解到实际的嗅探入侵的基础,包括一些组成部分。本部分详述的冒充入侵中,黑客用客户机IP地址作为源址向服务器发送一个SYN包以初始化通话。黑客传送的地址必须是冒充成可信任主机地址。服务器将用一个SYN/ACK包来确认SYN包,它包含以下行:
SEG_SEQ = SVR_SEQ_O
黑客因此可以用自己的包来确认服务器的SYN/ACK包。黑客数据包中包含了黑客所猜的SVR_SEQ_O的值即顺序号。如果成功,那么黑客不必嗅探客户包,因为黑客能预测SVR_SEQ_O且确认它。
1.冒充入侵的两个主要缺点
(1)黑客冒充的客户机将收到来自服务器的SYN/ACK包,而向服务器回发一个RST(复位)包,因为在客户机看来,通话不存在。而黑客可能阻止客户机的复位包产生,或当客户机未按入网络时入侵,或使客户机的TCP队列溢出,如此,客户机将在往服务器上发送数据中丢失包。
(2)黑客不能从服务器上得到数据,然而黑客可以发送一些足以危害主机的数据。
2.冒充入侵和非同步后劫持入侵的不同点
冒充入侵和您以前了解到的非同步后劫持入侵的四个不同之处在于:
(1)非同步后劫持入侵让黑客实行并控制连接的鉴别阶段,而冒充入侵依靠于可信任主机的鉴别方案。
(2)非同步后劫持入侵让黑客对于TCP流有很大的访问权。换句话说,黑客可以同时收发数据,而不是像冒充入侵那样仅能发送数据。
(3)非同步后劫持入侵利用以太网嗅探来预测或得到SVR-SEQ-O。
(4)黑客可以用非同步后劫持入侵法攻击任何类型主机。因为冒充入侵时要倚赖于UNIX可信任主机的模式,所以它仅能对UNIX主机进行攻击。
然而,如果客户机脱线了或是不能收发RST复位包,黑客可以用冒充入侵来与服务器建立一个全面的TCP连结。黑客将可代表客户机发送数据。当然,黑客必须通过认证障碍。如果系统采用的是基于可信任主机的认证,那么黑客将对主机的服务有全权访问。
尽管当黑客进行非同步后劫持入侵进攻局域网时,系统分析员易于核查到入侵,但在远程低带宽和低延迟网上进行非同步持劫持入侵是很有效果的。而且,正如您所知,黑客可使用与进行被动嗅探入侵(它经常发生在INTERNET)时相同的资源来实施非同步后劫持入侵。两种入侵对黑客来说其优点在于它对用户都是不可的。用户不可见很重要,INTERNET上入侵主机越来越频繁,网络安全变得令人关注,黑客的秘密行动是黑客入侵的一个重要因素。