F7 c1 K3 W3 v6 r" J. m4 t) @" U. P 5.Telnet会话入侵 ) c; c- U: I/ B5 |# P) I2 c
& @7 W& q+ P% a: P1 m; p8 I 前面部分已详述了黑客能在一个已存在的或新运行的TCP连接上实施的各种入侵。然而,黑客也可以干预到几乎任何网络通讯。例如,黑客可以用TELNET会话实施以下截获方案: 8 \7 i( U* z) r: y1 f
3 `# V. N) @' w3 C
(1)在入侵之前,黑客通常先观察网上的传送,而不进行任何干预。 - m! [. X. ?0 t5 I - N( [" g O. O! R) \% c& [ (2)适当时候,黑客向服务器发送一大批空数据。在被截获的TELNET会话上,黑客发送一个含扩展字号IAC NOP LAC NOP 的ATK_SVR_OFFSET字。TELNET协议将NOP命令定义为"空操作",换句话说,不做任何操作且忽视这一对中的字。由于此空操作,服务器的TELNET的后台驻留程序将把每个字都解释为空数值,因为这一点,后台驻留程序将数据流中的每个对删掉。然而,服务器对扩展空传送的接收将扰乱正进行工作的TELNET会话,在此步之后,服务器接收以下命令: 2 Y3 Y3 T4 r7 L/ P+ G
" y( Z! X! ?! Q' b& k! f
SVR_ACK = CLT_SEQ+ATK_SVR_OFFSET ' |7 d9 x, `. J5 U# g4 O' {
" x$ [9 \5 k; |) p' F9 I) \8 T& e
(3)服务器对黑客命令的接收将创建一个非同步TELNET的连接。 ! w5 F4 l# T9 }4 a9 g$ U1 |" ]+ ]* a4 D' A
(4)为了迫使客户机转换到非同步状态,黑客向客户端实施一个与服务器相同的步骤(如图13)。 2 b, p7 m4 R- { 3 ^; R* P D, @" B0 l图13 黑客如何向客户端和服务发送空数据 (5)为完成TELNET会话入侵,黑客实施前面详述的步骤,直到黑客成为TELNET会话连接的中间人(如图14)。 ( ~$ O% E: K; m- W
* l4 y5 C5 ?! T" |图2-14 如果Telnet 会话可以传送空数据的话,黑客只能利用前面详述的五个步骤的TELNET截获方式。纵使如此,黑客对于选择合适时间发送空数据仍有困难。如果时间不正确,入侵将很容易破坏Telnet会话,或者会引起会话干扰,而不能让黑客控制会话。当您参与TELNET会话,预料不到的结果将表明黑客正在截获会话。 ( c9 W6 z) s6 G" O' v5 P. B5 S
. d1 T8 f2 Q" H: m) I/ Z2 G
6.对ACK风暴的了解 - w6 g9 H1 i5 s% a
3 S1 J4 k" r1 L3 }2 S( X. t 在TCP连接内,几乎所有含ACK设定标识而不带数据的包都是未接收包的确认信息。在任何网上,特别是在INTERNET通讯中,将发生大量的转送。在一个遭受了前面详述的各种入侵的网上,会发生更多的转送。转送的号码将依据网上的负荷和引起风暴的黑客主机而定,一个服务器登录能包含多达300多个空包。特别地,在一个实际入侵中传送的数据包可能产生10至30个ACK空包。 y: g1 D2 x! I 9 {6 Y5 T" V G+ y6 h 7.检测及其副作用 8 ^) G: C! T2 b+ c' g/ j: |1 X 0 O2 B, O+ X- o& g& _3 N: z 您可以利用ACK入侵的各种缺陷来检测入侵,这部分将描述三种检测方式,但记住仍有其他方法。 1 F' m9 `" M% E+ N5 N( V- @6 u, \! T
非同步状态检测。您可以利用TCP包来观察连接双方的顺序号。根据顺序号。您可以判断出连接是否处于非同步状态。然而,仅当假定您在连接上传送顺序号时没有黑客改变它,您才可以在连接的双方阅读包--这是一个一般的安全假定。 * V$ w# p9 x9 z& ] 3 U' |4 i7 V- P" G3 S4 ^6 @* e ACK风暴检测:些局域以太网的TCP交通在入侵前的统计表明,总的TELNET包的无数据包率为三分之一,而当一个黑客入侵时,为1/300。 : J6 h. L6 R- e2 H) l# \* ^+ i/ J8 o9 Y4 r% d" n" Q5 T* x
包百分率记数:您可以通过对包的百分率记数来监视连接的状态。通过对有入侵时的包百分率和普通数据包百分率的对比,可以提醒您存在非同步入侵。表1显示了通常连接中数据包和ACK包每分钟的数目。 2 G( s( V8 C2 \; P2 ~
! W; T$ n& j) M) N+ B 表1 普通传送中,ACK包每分钟传送的数目 7 {" y2 e1 K1 e0 g# H 包的类型 本地 以太网传输 " _6 @6 U4 k% ~4 ?$ z
Total TCPs 80-100 1400 2 ]- ^% f# \! F5 i; q3 k9 m
Total ACK 25-75 500 4 |8 q, a, d$ m3 `
Total Telnet 10-20 1400 - L: K5 H2 N6 K/ S
Total Telnet ACK 5-10 45 / g3 U9 b- b. a0 V 8 N9 _, q1 ^4 f0 d5 o! X TCP包和 ACK包的数目在本地以太网上变化很大。一个常规连接上的ACK TELNET包的百分率一般稳定在45%左右,Telnet会话是一种交互式会话,服务器必须对用户敲入的每一个字母进行响应和认证。事实上这正是Telnet包计数稳定性的原因所在。在TELNET会话中,基于降低包丢失率的考虑,每个包通常仅含一个字母或一行正文,所以数据交换量较小。正如TELNET数据流,流向远程以太网的数据与其是一致的。因为它的高数据负荷,接收主机可能丢失一些包。 7 Y6 b# W- O3 e/ _ L4 |% t# F$ O% g5 N
相对地,当黑客入侵时,真正的包与ACK包的比值会发生改变。表2显示了黑客入侵时包的计数。 - }* r9 G* o2 z# R1 C9 c7 Q0 M 4 K: f, ? V8 X: @) |5 W$ p 表2 遭入侵时,ACK包的计数情况 , |& [( R% R. d; E' O4 ]! ?
包的类型 本地连接 5 K- v7 Q2 D: g& O; y& d Total Telnet 80-400 # H& w0 N; I% J% W9 E( V
Total Telnet ACK 75-400 0 ~2 l" E2 Z% Q6 O
0 ^/ C) J+ [$ F 在表2中,本地连接是指只有少数来自客户端的IP跳跃的一个主机的通讯会话。通讯会话的往返延迟(RTD)大约在3毫秒。例如,通讯会话可能跨越客户机与主机间的4个局域服务器。正如您所知,在黑客入侵时包计数器的改变很明显。就算它变化较为轻微,ACK计数与总包计数几乎是一致的,则交通量基本都是指认证包,意味着几乎不包括数据包