谈到攻击,除了应用层的病毒,蠕虫,木马以外,还有OSI模型谈到的2/3/4层的攻击。对于前者,对付的手段比较麻烦,除了需要强悍的防御外还需要有牛*的杀毒软件,而且还不一定能完全搞定,这块的内容等下期再跟大家聊聊。

 

这一期咱先来聊聊3/4层的攻击手段与防火墙是如何抵御这些攻击的。

 

OSI模型中的第三、四层为网络层与传输层,这两层的协议主要是IP,TCP/UDP,ICMP,IGMP等,其中关于IP地址的攻击与基于TCP/UDP协议的攻击最多。

 

关于IP地址的攻击有如下几个:IP欺骗攻击,smurf攻击,ICMP重定向攻击,IP地址扫描攻击等。

 

关于TCP/UDP协议的攻击又分为如下几个:TCP欺骗,TCP/UDP拒绝服务攻击,端口扫描攻击,TCP/UDP探测攻击,非标准报文逃避等。

 

下面列举一些关于IP地址的攻击与防火墙的防御方法:

 

IP欺骗攻击

 

 

IP欺骗攻击是攻击者通过使用相同的IP来模仿合法主机与目标主机进行连接,在中间没有任何安全产品的过滤下,攻击者可以很轻松地实现这一攻击,可以非常轻松地连接到目标主机。

 

攻击者在连接的过程中需要猜测连接的序列号和增加规律,在序列号的有效误差范围内,连接是不受影响的。

 

如果中间放置了防火墙,则这一攻击将不再有效,防火墙通过随机序列号扰乱的方法可以有效地防止攻击者猜测序列号。(没看懂往下看,下面将会解释随机序列号扰乱)

 

IP地址扫描攻击

 

 

扫描攻击应该算是攻击类型中影响最小且最容易实现的攻击方式,扫描本身其实并没有任何的杀伤力,严格来讲并不能算是攻击,但是如果网络中出现了扫描行为,则有可能存在攻击者。

 

攻击者通过IP地址扫描操作,获取目标网络的拓扑结构和存活的系统,为实施下一步攻击做准备。

 

一般情况下,扫描攻击的报文速度较快,有可能一秒内发送上百个探测包。如果网络中间放一个防火墙,可以有效的减少扫描攻击。

 

防火墙可以设置一个源IP地址在限定时间范围内访问的目标端口数量或目标IP地址数量,比如规定一源IP地址在2秒内可以访问的不同目标IP地址数量为2个,或者目标端口号不超过5个。一般正常用户是不太可能一秒内访问多个不同端口或多个不同目标IP的。

 

TCP欺骗攻击

 

 

TCP欺骗大多数发生在TCP连接建立的过程中,利用主机之间某种网络服务的信任关系建立虚假的TCP连接,可能模拟受害者从服务器端获取信息。具体过程与IP欺骗类似。

 

过程:

1、A信任B,C是攻击者,想模拟B和A之间建立连接;

2、C先破坏掉B,例如使用floogin, redirect, crashing等;

3、C用B的地址作为源地址给A发送TCP SYN报文。

a. A回应TCP SYN/ACK报文,从A发给B,携带序列码S;

b. C收不到该序列码S,但为了完成握手必须用S+1作为序列码进行应答,这时C可以通过以下两种方法得到序列码S:

i. C 监听SYN/ACK报文,根据得到的值进行计算

ii. C 根据A操作系统的特性等,进行猜测

c. C使用得到的序列码S回应A,握手完成,虚假连接建立。

 

 

如果在AB之间放置防火墙,则攻击者再无机会欺骗成功。

 

攻击者连接成功的关键就在于序列号的问题上,如果攻击者猜测正确则连接成功,否则失败。

 

在TCP连接中,序列号来源于主机系统的一个增长值,每个主机在开机后会开始自动计数,打个比方,XP操作系统开机后计数从0开始,每隔一毫秒增长10,最大值到232,如果计数到了最大值则倒回0继续计数。

 

当需要建立一个TCP连接时,系统会在当前时间截获一个值,以此来充当TCP连接的初始序列号。

 

不同的操作系统增长值是不一样的,而且有规律可寻,而且对方主机在回应时序列号是允许有一定误差的,误差值在5000以内是被认为合法的。因此黑客利用了这一漏洞实施TCP欺骗攻击。

 

那防火墙如何防御?

 

前面提到随机序列号扰乱,下面看看它的做法:

 

 

如图,通过防火墙的报文序列号都经过修改,被增加或减小了10000,请注意,这个值是随机的,而且每一次报文的随机值都是不相同的。通过修改序列号可以有效防止TCP欺骗攻击。

 

防火墙除了这些攻击外还有非常多防御手段,总之,为了保护网络安全,防火墙是一个非常重要的安全保护产品。

 

——END——

技术交流群1:

添加班主任微信 qiuzhiquanquanqqls000

加入微信群

 

技术交流群2:

添加班主任QQ 17246989941752856301

加入QQ群(240920680