<1>【日蚀攻击(Eclipse Attack)】
是针对对等式(或译为点对点)网络的一种攻击类型:攻击者通过使节点从整个网络上消失,从而完全控制特定节点对信息的访问。 防御方法: 以太坊是通过限制主动连接过来的数量来阻止日蚀攻击的。
<2>【女巫攻击(Sybil attack)】
在一个单纯的分布式P2P网络中,任何节点可以随意的加入和退出P2P网络,没有任何限制。它只需要对外暴露其在P2P网络中的唯一标志即可,除此之外,其他的信息都是私有的。 女巫攻击正是利用了P2P网络的分布式特性,将一个节点伪装成多个节点,并将这多个伪装节点(也叫做Sybil 节点)广播到整个P2P网络中,从而做一些莫可名状的事情,比如获得网络控制权,拒绝响应,干扰查询等事情。 考虑到之前我们提到的拜占庭容错,如果发生了女巫攻击,一个节点可以伪装成多个有效节点,这样只要伪装的节点突破n/3的限制,就能控制整个网络。而实际上,恶意节点可能只有一个。 防范方法: 既然女巫攻击的方法就是伪造网络ID,那么最简单的办法就是让每个加入的节点来做身份认证。这样伪造的节点无法通过认证,那么女巫攻击就完美的解决了。 身份验证也有两种方式: (1)通过统一的第三方机构对节点进行认证。 (2)还有一种就是非直接认证。可以假如网络初始有N的可信任节点,这些信任节点可以对其他节点进行担保,担保其他的节点也是可信任的。
<3>【重放攻击(Replay Attacks)】
又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行。攻击者利用网络监听或者其他方式盗取认证凭据,之后再把它重新发给认证服务器。重放攻击在任何网络通过程中都可能发生,是计算机世界黑客常用的攻击方式之一。 防御方案: (1)加随机数。该方法优点是认证双方不需要时间同步,双方记住使用过的随机数,如发现报文中有以前使用过的随机数,就认为是重放攻击。缺点是需要额外保存使用过的随机数,若记录的时间段较长,则保存和查询的开销较大。 (2)加时间戳 该方法优点是不用额外保存其他信息。缺点是认证双方需要准确的时间同步,同步越好,受攻击的可能性就越小。但当系统很庞大,跨越的区域较广时,要做到精确的时间同步并不是很容易。 (3)加流水号**。就是双方在报文中添加一个逐步递增的整数,只要接收到一个不连续的流水号报文(太大或太小),就认定有重放威胁。该方法优点是不需要时间同步,保存的信息量比随机数方式小。缺点是一旦攻击者对报文解密成功,就可以获得流水号,从而每次将流水号递增欺骗认证端。 在流行的对等式网络(例如比特币和以太坊)中,攻击者可通过确保受害者节点不再从网络的其余部分接收正确的信息,而只接收由攻击者操纵的信息来执行日蚀攻击(Eclipse Attack)。 在日蚀攻击中,攻击者不像在女巫攻击(Sybil attack)中那样攻击整个网络,而是专注于隔离和瞄准某个特定节点。这种攻击通常会导致受害者节点接收到被操纵的、伪造的区块链视图。
<4>【分布式拒绝服务攻击(DDoS)】
(英文意思是Distributed Denial of Service,简称DDoS)是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击,使攻击的目标无法正常使用,分布式拒绝服务攻击已经出现了很多次,导致很多的大型网站都出现了无法进行操作的情况,这样不仅仅会影响用户的正常使用,同时造成的经济损失也是非常巨大的。 分布式拒绝服务攻击方式在进行攻击的时候,可以对源IP地址进行伪造,这样就使得这种攻击在发生的时候隐蔽性是非常好的,同时要对攻击进行检测也是非常困难的,因此这种攻击方式也成为了非常难以防范的攻击。
攻击方式: 1、SYN Flood攻击 SYN Flood攻击是当前网络上最为常见的DDoS攻击,它利用了TCP协议实现上的一个缺陷。通过向网络服务所在端口发送大量的伪造源地址的攻击报文,就可能造成目标服务器中的半开连接队列被占满,从而阻止其他合法用户进行访问。 2、UDP Flood攻击 UDP Flood是日渐猖厥的流量型DDoS攻击,原理也很简单。常见的情况是利用大量UDP小包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。由于UDP协议是一种无连接的服务,在UDP Flood攻击中,攻击者可发送大量伪造源IP地址的小UDP包。 3、ICMP Flood攻击 ICMP Flood攻击属于流量型的攻击方式,是利用大的流量给服务器带来较大的负载,影响服务器的正常服务。由于目前很多防火墙直接过滤ICMP报文。因此ICMP Flood出现的频度较低。 4、Connection Flood攻击 Connection Flood是典型的利用小流量冲击大带宽网络服务的攻击方式,这种攻击的原理是利用真实的IP地址向服务器发起大量的连接。并且建立连接之后很长时间不释放,占用服务器的资源,造成服务器上残余连接(WAIT状态)过多,效率降低,甚至资源耗尽,无法响应其他客户所发起的链接。 5、HTTP Get攻击 这种攻击主要是针对存在ASP、JSP、PHP、CGI等脚本程序,特征是和服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用。这种攻击的特点是可以绕过普通的防火墙防护,可通过Proxy代理实施攻击,缺点是攻击静态页面的网站效果不佳,会暴露攻击者的lP地址。 6、UDP DNS Query Flood攻击 UDP DNS Query Flood攻击采用的方法是向被攻击的服务器发送大量的域名解析请求,通常请求解析的域名是随机生成或者是网络世界上根本不存在的域名。域名解析的过程给服务器带来了很大的负载,每秒钟域名解析请求超过一定的数量就会造成DNS服务器解析域名超时。
当被DDoS攻击时,主要表现为: (1)被攻击主机上有大量等待的TCP连接。 (2)网络中充斥着大量的无用的数据包,源地址为假。 (3)制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯。 (4)利用受害主机提供的服务或传输协议上的缺陷,反复高速地发出特定的服务请求,使受害主机无法及时处理所有正常请求。 (5)严重时会造成系统死机;
防御原则: 尽可能地保持服务、迅速恢复服务。由于分布式攻击入侵网络上的大量机器和网络设备,所以要对付这种攻击归根到底还是要解决网络的整体安全问题。真正解决安全问题一定要多个部门的配合,从边缘设备到骨干网络都要认真做好防范攻击的准备,一旦发现攻击就要及时地掐断最近攻击来源的那个路径,限制攻击力度的无限增强。网络用户、管理者以及ISP之间应经常交流,共同制订计划,提高整个网络的安全性。