*** 安全的威胁和攻击_关于 *** 协议的攻击

hacker|
268

属于 *** 协议的攻击有哪几种

1. TCP/IP 协议的脆弱性

1.1 不能提供可靠的身份验证

TCP/IP 协议以 32 bit 的 IP 地址来作为 *** 节点的唯一标识,而 IP 地址只是用户软件设置中的一个参数,因而是可以随意修改的。

对 UDP 来说,是根据这个 IP 地址来唯一标识通信对方。 TCP 则通过三次握手,使情况稍有改善。 TCP 中的每个报文都含有一个标识本报文在整个通信流中位置的 32 bit 序列号,通信双方通过序列号来确认数据的有效性。

由于 TCP 设计三次握手过程本身并不是为了身份验证,只是提供同步确认和可靠通信,虽然这也能够提供一定的身份验证的支持,但这种支持很薄弱。

由于 TCP/IP 不能对节点上的用户进行有效的身份认证,服务器无法鉴别登录用户的身份有效性,攻击者可以冒充某个可信节点的 IP 地址,进行 IP 欺骗攻击.

其次,由于某些系统的 TCP 序列号是可以预测的,攻击者可以构造一个TCP'数据包,对 *** 中的某个可信节点进行攻击。

1.2 不能有效防止信息泄漏

IPv4 中没有考虑防止信息泄漏,在 IP 、 TCP 、 UDP 中都没有对数据进行加密。 IP 协议是无连接的协议,一个 IP 包在传输过程中很可能会经过很多路由器和网段,在其中的任何一个环节都很容易进行窃昕 。攻击者只需简单地安装一个 *** 嗅探器,就可以看到通过本节点的所有 *** 数据包。

1.3 没有提供可靠的信息完整性验证手段

在 IP 协议中,仅对 IP 头实现校验和保护

在UDP 协议中,对整个报文的校验和检查是一个可选项,并且对 UDP 报文的丢失不做检查。

在 TCP 协议中,虽然每个报文都经过校验和检查,并且通过连续的序列号来对包的顺序和完整进行检查,保证数据的可靠传输。但是,校验算法中没有涉及加密和密码验证,很容易对报文内容进行修改,再重新计算校验和

1.4 协议没有手段控制资源占杳和分配

TCP/IP 中,对资源占杳和分配设计的一个基本原则是自觉原则。如参加 TCP通信的一方发现上次发送的数据报丢失,则主动将通信速率降至原来的一半。这样,也给恶意的 *** 破坏者提供了机会 c 如 *** 破坏者可以大量的发 IP 报,造成 *** 阻塞,也可以向一台主机发送大量的 SYN 包从而大量占有该主机的资源 (SYN Flood) 。这种基于资源占用造成的攻击被称为拒绝服务攻击( DOS)

2.常见 TCP/IP 协议攻击 *** 分析

2.1 IP 欺骗( IP Spoofing)

IP 欺骗是指一个攻击者假冒一个主机或合法用户的 IP 地址,利用两个主机之间的信任关系来达到攻击的目的,而这种信任关系只是根据源 IP 地址来确定。所谓信任关系是指当主机 B 信任主机 A 上的 X用户时,只要 X 在 A 上登录, X 用户就可以直接登录到主机 B 上,而不需要任何口令。

IP 欺骗通常需要攻击者能构造各种形式 IP 数据包,用虚假的源 IP 地址替代自己的真实 IP 地址。如果主机之间存在基于 IP 地址的信任关系,目标主机无法检测出已经被欺骗。

防范措施

各个 *** ISP 应该限制源地址为外部地址的 IP 数据包进入互联网

合理的配置防火墙,限制数据包的源地址为内部 *** 的数据包进入 *** 。

2.2 TCP 会话劫持 (TCP sessJOn hijacking)

image.png

TCP 会话劫持跳过连接过程.对一个已经建立的连接进行攻击。攻击者与被假冒主机和目标主机之一在同一个子网中,攻击者通过一个嗅探程序可以看到被假冒主机和目标主机之间通信的数据包。

攻击者看到被假冒主机和目标主机建立一个连接并进行身份认证后,通过对数据包捕获和进行分析,就可以得到连接的序列号。

一旦得到正确的序列号就可以发送一个假冒的 TCP 分段,接管已经建立的连接。这样,被假冒主机发送的数据包都会被目标主机忽略,因为它们的序列号会被目标主机认为不正确。

防范措施

最主要的 *** 是在传输层对数据进行加密。

2.3 拒绝服务( Denial Of Service )

拒绝服务坷的目的就是使受害的服务器不能提供正常的 *** 服务。

2.3.1 SYN 淹没 (SYN Flooding)

当开放了一个TCP端口后,该端口就处于Listening状态,不停地监视发到该端口的Syn报文,一旦接收到Client发来的Syn报文,就需要为该请求分配一个TCB(Tran *** ission Control Block),通常一个TCB至少需要280个字节,在某些操作系统中TCB甚至需要1300个字节,并返回一个SYN ACK命令,立即转为SYN-RECEIVED即半开连接状态,而操作系统在SOCK的实现上最多可开启半开连接个数是一定的。

image.png

从以上过程可以看到,如果恶意的向某个服务器端口发送大量的SYN包,则可以使服务器打开大量的半开连接,分配TCB,从而消耗大量的服务器资源,同时也使得正常的连接请求无法被相应。而攻击发起方的资源消耗相比较可忽略不计。

防范措施

无效连接监视释放

这种 *** 不停监视系统的半开连接和不活动连接,当达到一定阈值时拆除这些连接,从而释放系统资源。这种 *** 对于所有的连接一视同仁,而且由于SYN Flood造成的半开连接数量很大,正常连接请求也被淹没在其中被这种方式误释放掉,因此这种 *** 属于入门级的SYN Flood *** 。

延缓TCB分配 ***

从前面SYN Flood原理可以看到,消耗服务器资源主要是因为当SYN数据报文一到达,系统立即分配TCB,从而占用了资源。而SYN Flood由于很难建立起正常连接,因此,当正常连接建立起来后再分配TCB则可以有效地减轻服务器资源的消耗。常见的 *** 是使用Syn Cache和Syn Cookie技术。

Syn Cache技术:

这种技术是在收到SYN数据报文时不急于去分配TCB,而是先回应一个SYN ACK报文,并在一个专用HASH表(Cache)中保存这种半开连接信息,直到收到正确的回应ACK报文再分配TCB。在FreeBSD系统中这种Cache每个半开连接只需使用160字节,远小于TCB所需的736个字节。在发送的SYN ACK中需要使用一个己方的Sequence Number,这个数字不能被对方猜到,否则对于某些稍微智能一点的Syn Flood攻击软件来说,它们在发送Syn报文后会发送一个ACK报文,如果己方的Sequence Number被对方猜测到,则会被其建立起真正的连接。因此一般采用一些加密算法生成难于预测的Sequence Number。

Syn Cookie技术:

对于SYN攻击,Syn Cache虽然不分配TCB,但是为了判断后续对方发来的ACK报文中的Sequence Number的正确性,还是需要使用一些空间去保存己方生成的Sequence Number等信息,也造成了一些资源的浪费。

Syn Cookie技术则完全不使用任何存储资源,这种 *** 比较巧妙,它使用一种特殊的算法生成Sequence Number,这种算法考虑到了对方的IP、端口、己方IP、端口的固定信息,以及对方无法知道而己方比较固定的一些信息,如MSS、时间等,在收到对方的ACK报文后,重新计算一遍,看其是否与对方回应报文中的(Sequence Number-1)相同,从而决定是否分配TCB资源。

使用SYN Proxy防火墙

Syn Cache技术和Syn Cookie技术总的来说是一种主机保护技术,需要系统的TCP/IP协议栈的支持,而目前并非所有的操作系统支持这些技术。因此很多防火墙中都提供一种SYN *** 的功能,其主要原理是对试图穿越的SYN请求进行验证后才放行,下图描述了这种过程:

image.png

从上图(左图)中可以看出,防火墙在确认了连接的有效性后,才向内部的服务器(Listener)发起SYN请求,在右图中,所有的无效连接均无法到达内部的服务器。

采用这种方式进行防范需要注意的一点就是防火墙需要对整个有效连接的过程发生的数据包进行 *** ,如下图所示:

请点击输入图片描述

image.png

因为防火墙代替发出的SYN ACK包中使用的序列号为c,而服务器真正的回应包中序列号为c’,这其中有一个差值|c-c’|,在每个相关数据报文经过防火墙的时候进行序列号的修改。

TCP Safe Reset技术:

这也是防火墙Syn *** 的一种方式,其工作过程如下图所示:

image.png

这种 *** 在验证了连接之后立即发出一个Safe Reset命令包,从而使得Client重新进行连接,这时出现的Syn报文防火墙就直接放行。在这种方式中,防火墙就不需要对通过防火墙的数据报文进行序列号的修改了。这需要客户端的TCP协议栈支持RFC 793中的相关约定,同时由于Client需要两次握手过程,连接建立的时间将有所延长。

2.3.2 死亡之 Ping(Ping O' Death )

死亡之 Ping 是利用 ICMP 协议的一种碎片攻击 。攻击者发送一个长度超过 65 535Byte 的 Echo Request 数据包,目标主机在重组分片的时候会造成事先分配的 65 535 Byt 字节缓冲区溢出,系统通常会崩愤或挂起

IP 数据包的更大长度是 65 535 (2 16 - 1) Byte,其中包括包头长度(如果 IP 选项末指定,一般为 20 B)超过 MTU( Maximum Tran *** ission Unit) 的数据包被分割成小的数据包,在接受端重新组装。一般以太网的MTU 为 11500 Byte ,互联网上的 MTU 通常是 576 Byte ICMP 回应请求放在 IP 数据包中,其中有 8 Byt 的 ICMP头信息,接下来是 "Ping" 请求的数据宇节的数目。因此数据区所允许的更大尺寸为 65 535 - 20 - 8 = 65 507Byte

image.png

分段后的 IP 包要在接收端的 IP 层进行重组,这样"死亡之 Ping"就可以再发送一个回应请求数据包,使它的数据包中的数据超过 65 507 Byte ,使得某些系统的 IP 分段组装模块出现异常。因为在 IP 分段组装的过程中,它通过每一个 IP 分段中的偏移量来决定每一个分段在整个 IP 包中的位置,最后一个分段中,如果 IP 包的长度大于 65 507 Byte各个分段组装后就会超过 IP 包的更大长度。某些操作系统要等到将所有的分段组装完后才对 IP 包进行处理,所以就存在这样一种内部缓冲区或内部变量溢出的可能性,这样会导致系统崩愤或重启。

防范措施

可以利用防火墙来阻止 Ping ,然而这样也会阻挡一些合法应用。所以只要阻止被分段的 Ping ,这样在大多数系统上允许一般合法的 64 Byt 的 Ping 通过,挡住了那些长度大于 MTU 的 ICMP 数据包.

这种攻击能使系统崩溃的原因因系统不同而异.有的可能因为内核中固定大小的缓冲区因 IP 数据包过大而越界,损坏了其它数据或编码;有的则可能因为用一个无符号的 16 bit 变量来保存数据包的长度和相关变量,当这些变量的值超过 65 535 Byte 时,变量不再与其数值一致,从而引发异常。因此可以为相应的系统打上补丁。

2.3.3 RST 和 FIN 攻击( RST and FIN attack)

在 TCP 包中有 6 个标志位来指示分段的状态。其中 RST 用来复位一个连接, FIN 表示没有数据要发送了攻击者经常利用这两个标志位进行拒绝服务攻击。他们先分析通过目标主机和受骗主机之间的 IP 数据包,计算出从受骗主机发往目标主机的下一个 TCP 段的序列号,然后产生一个带有 RST 位设置的 TCP 段,将其放在假冒源 IP 地址的数据包中发往目标主机,目标主机收到后就关闭与受骗主机的连接。

利用 FIN 位的攻击与 RST 位的攻击很相似。攻击者预测到正确的序列号后,使用它创建一个带 FIN 位的 TCP 分段,然后发送给目标主机,好像受骗主机没有数据要发送了,这样,由受骗主机随后发出的 TCP 段都会目标主机认为是 *** 错误而忽略。

2.3.6 Smurf攻击

通过地址欺骗,并使用回复地址设置成受害 *** 的广播地址的ICMP应答请求(ping)数据包来淹没受害主机的方式进行。最终导致该 *** 的所有主机都对此ICMP应答请求做出答复,导致 *** 阻塞

黑客锁定一个被攻击的主机(通常是一些Web服务器);

黑客寻找可做为中间 *** 的站点,用来对攻击实施放大(通常会选择多个,以便更好地隐藏自己,伪装攻击);

黑客给中间 *** 站点的广播地址发送大量的ICMP包(主要是指Ping命令的回应包)。这些数据包全都以被攻击的主机的IP地址做为IP包的源地址;

中间 *** 向其所在的子网上的所有主机发送源IP地址欺骗的数据包;

中间 *** 主机对被攻击的 *** 进行响应。

2.3.7 Land 攻击

用一个特别打造的SYN包,其原地址和目标地址都被设置成某一个服务器地址。此举将导致服务器向它自己的地址发送SYN-ACK消息,结果这个地址又发回ACK消息并创建一个空连接。被攻击的服务器每接收一个这样的连接都将保留,直到超时

防御 *** :

这类攻击的检测 *** 相对来说比较容易,因为可以直接通过判断 *** 数据包的源地址和目标地址是否相同确认是否属于攻击行为。反攻击的 *** 当然是适当地配置防火墙设备或制定包过滤路由器的包过滤规则,并对这种攻击进行审计,记录事件发生的时间、源主机和目标主机的MAC地址和IP地址,从而可以有效地分析并跟踪攻击者的来源。

2.3.8 UDP FLOOD攻击

UDP不需要像TCP那样进行三次握手,运行开销低,不需要确认数据包是否成功到达目的地。这就造成UDP泛洪攻击不但效率高,而且还可以在资源相对较少的情况下执行。UDP FLOOD可以使用小数据包(64字节)进行攻击,也可以使用大数据包(大于1500字节,以太网MTU为1500字节)进行攻击。大量小数据包会增大 *** 设备处理数据包的压力;而对于大数据包, *** 设备需要进行分片、重组,最终达到的效果就是占用 *** 传输接口的带宽、 *** 堵塞、服务器响应慢等等。

防御方案: 限制每秒钟接受到的流量(可能产生误判);通过动态指纹学习(需要攻击发生一定时间),将非法用户加入黑名单。

2.3.9 泪滴攻击

“teardrop”,又称“泪滴”:IP数据包在 *** 传递时,数据包可以分成更小的片段。攻击者可以通过发送两段(或者更多)数据包来实现TearDrop攻击。之一个包的偏移量为0,长度为N,第二个包的偏移量小于N。为了合并这些数据段,TCP/IP堆栈会分配超乎寻常的巨大资源,从而造成系统资源的缺乏甚至机器的重新启动,达到攻击者需要的拒绝服务的目的。

3. DOS与DDOS区别

3.1 DOS

“DoS”是Denial of Service,拒绝服务的缩写。所谓的拒绝服务是当前 *** 攻击手段中最常见的一种。它故意攻击 *** 协议的缺陷或直接通过某种手段耗尽被攻击对象的资源,目的是让目标计算机或 *** 无法提供正常的服务或资源访问,使目标系统服务停止响应甚至崩溃,而最值得注意的是,攻击者在此攻击中并不入侵目标服务器或目标 *** 设备,单纯利用 *** 缺陷或者暴力消耗即可达到目的。

从原理上来说,无论攻击者的攻击目标(服务器、计算机或 *** 服务)的处理速度多快、内存容量多大、 *** 带宽的速度多快都无法避免这种攻击带来的后果。任何资源都有一个极限,所以攻击者总能找到一个 *** 使请求的值大于该极限值,导致所提供的服务资源耗尽。

从技术分类的角度上来说,最常见的DoS攻击有对计算机 *** 的带宽攻击和连通性攻击。带宽攻击指以极大的通信量冲击 *** ,使得所有可用 *** 资源都被消耗殆尽,最后导致合法用户的请求无法通过。连通性攻击指用大量的连接请求冲击服务器或计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。

在 *** 还不发达的时候,单一的DoS攻击一般是采用一对一的方式,也就是攻击者直接利用自己的计算机或者设备,对攻击目标发起DoS攻击。当攻击目标处在硬件性能低下、 *** 连接情况不好等情况的时候,一对一的DoS攻击效果是非常明显的,很有可能直接一个攻击者就搞定一个网站或者一个服务器,让它拒绝服务。

3.2 DDOS

随着计算机和 *** 技术的发展,硬件设备的处理性能加速度增长,成本也变得非常低廉, *** 的快速发展更是让带宽、出入口节点宽度等大大的提升,这让传统的DoS攻击很难凑效。

随着这样情况的出现,攻击者研究出了新的攻击手段,也就是DDoS。

DDoS是在传统的DoS攻击基础之上产生的一种新的攻击方式,即Distributed Denial Of Service,分布式拒绝服务攻击。

如果说计算机与 *** 的处理能力比以往加大了10倍的话(示例数据,没有实质意义),那攻击者使用10台计算机同时进行攻击呢?也就达到了可以让目标拒绝服务的目的。简单来说,DDoS就是利用更多的计算机来发起攻击。

就技术实现方式来分析,分布式拒绝服务攻击就是攻击者利用入侵手段,控制几百台,或者成千上万台计算机(一般被控制的计算机叫做傀儡主机,或者口头被 *** 安全相关人员称为“肉鸡”),然后在这些计算机上安装大量的DDoS程序。这些程序接受来自攻击者的控制命令,攻击者同时启动全部傀儡主机向目标服务器发起拒绝服务攻击,形成一个DoS攻击群,猛烈的攻击目标,这样能极为暴力的将原本处理能力很强的目标服务器攻陷。

3.3 区别

通过上面的分析,可以看出DDoS与DoS的更大区别是数量级的关系,DoS相对于DDoS来说就像是一个个体,而DDoS是无数DoS的 *** 。另一方面,DDoS攻击方式较为自动化,攻击者可以把他的程序安装到 *** 中的多台机器上,所采用的这种攻击方式很难被攻击对象察觉,直到攻击者发下统一的攻击命令,这些机器才同时发起进攻。可以说DDoS攻击是由黑客集中控制发动的一组DoS攻击的 *** ,现在这种方式被认为是最有效的攻击形式,并且非常难以抵挡。

基于 *** 协议的攻击方式有哪些?如何防范

典型的互联网协议参考模型是OSI模型,把互联网通信功能划分为7个层次:物理层、数据链路层、 *** 层、传输层、会话层和应用层。

基于 *** 协议的攻击类型分为四类:

①针对数据链路层的攻击 如arp欺骗

②针对 *** 层的攻击 如Smurf攻击、ICMP路由欺骗

③针对传输层的攻击 如SYN洪水攻击、会话劫持

④ 针对应用层的攻击 如 DNS欺骗和窃取

当前利用ARP协议的 *** 攻击有哪些?并给出相应的解决方案

arp攻击一般有两种:对内网用户以及对路由器。

对付直接攻击你机器的 *** 可以直接安装ARP防火墙(如360安全卫士‘其实应该有比360更好的ARP防火墙’)

而对于攻击路由器的解决办法是绑定IP和MAC地址,欺骗是通过ARP的动态实时的规则欺骗内网机器,所以我们把ARP全部设置为静态可以解决对内网PC的欺骗,同时在网关也要进行IP和MAC的静态绑定,这样双向绑定才比较保险。

绑定 *** :

对每台主机进行IP和MAC地址静态绑定。

通过CMD命令,arp -s可以实现 “arp –s IP MAC地址 ”。

具体:

arp -d(删除原来的,假设已被攻击)

arp -s xxx.xxx.xxx.xxx(网管的ip地址) xx-xx-xx-xx-xx-xx(网管的实际mac地址)

例如:“arp –s 192.168.10.1 AA-AA-AA-AA-AA-AA”。

如果设置成功会在PC上面通过执行 arp -a 可以看到相关的提示:

Internet Address Physical Address Type

192.168.10.1 AA-AA-AA-AA-AA-AA static(静态)

一般不绑定,在动态的情况下:

Internet Address Physical Address Type

192.168.10.1 AA-AA-AA-AA-AA-AA dynamic(动态)

以上是绑定你对于路由器的,还要绑定路由器对你的(路由器设置中有,其实360显示的攻击地址极可能是假的,因为这个是攻击者设置的,没有人会傻到填 *** 实的IP的)具体如果不清楚的话建议你去搜索一下ARP的攻击原理,这样有助于你理解防护 *** 。

我随便搜了一下:ht tp://tieba.baidu.com/f?kz=361138214

你看一下吧。

简述什么是 *** 协议攻击

就是利用 *** 协议的漏洞进行攻击,如ARP、DDOS、TCP半连接、SYN洪水攻击等。这些协议本身都是正常的,但是用在不正常的地方就成了病毒了。目前从协议底层进行修补这些漏洞的,我知道欣向在做,他们的免疫墙主要就是解决的这类问题。

0条大神的评论

发表评论