一、劫持网络流量

BGP hijacking BGP劫持
BGP劫持是攻击者伪装成另一个网络;它宣布属于另一个网络的网络前缀。如果这个错误的信息被相邻的网络接受,并进一步传播使用BGP,它会扭曲的互联网的路线图,导致流量被转发到攻击者而不是其合法目的地,从而导致拒绝服务(DoS)攻击或流量拦截。

这样做有两种结果:
1.把大量流量引到被攻击者,导致被攻击者服务器资源耗尽而停止正常相应。
2.把流量引到攻击者的虚假服务器(+DNS污染),攻击者对这些流量做出恶意的响应。

二、DoS简介

Dos,deny of service,拒绝服务攻击,不是一种窃取数据或进行非法访问的攻击手段,而是阻碍合法用户获取合法服务。它的动机有可能是恶意商业竞争、某种政治动机或个人动机。

DDoS,distributed DoS,分布式拒绝服务攻击,是多个攻击者联合/协作发起DoS攻击。

为何会存在(D)Dos?
1.同质化的系统和相同的协议,使得ddos攻击可以快速地、大面积地发起。
2.被攻击的目标之间无法协调/协作。
3.受害者无法区分正常请求的流量和dos流量。
4.dos攻击性价比高,简单但有效。
5.网络上有很多肉鸡可利用。
6.暂无有效的防御手段。

Dos攻击的特征:
链路泛洪导致传入流量的高丢失率,在拒绝服务期间,几乎没有合法客户得到服务。
以TCP连接为例:
image-20240328214427438

image-20240328214442761

最后吞吐量为0,是因为服务器宕机了,不再响应任何请求。

DDoS示意图:
image-20240328221120560

image-20240328221131886

三、DoS可发生在网络的任一层

1.链路层的DoS(以802.11b协议为例)

a.NAV

802.11b协议是IEEE指定的一个无线局域网标准,引入了CSMA/CA(载波侦听/冲突避免)技术。无线通信没有物理信道,无线电信号在空气中传输,信号强度会随着距离而衰减,所以无线通信有一定的接受范围,在这个范围内所发送的消息被认为是可接受的消息。在这个范围内,所有参与者均可发送并且可以侦听到所有数据帧,参与者通过数据帧的MAC地址确认该数据帧是否是发给自己的,如果是,则会接收该数据帧并做进一步处理,如果不是,就简单地丢弃该数据帧。
然而在这个范围内如果多个参与者同时发消息,会产生冲突(碰撞),数据帧的信号相互干扰,造成数据帧错误、丢失,甚至通信失败。所以每个参与者需要先侦听信道,如果信道上没有人发数据帧,它就可以发数据帧。在 IEEE 802.11b 标准中,NAV(Network Allocation Vector,网络分配向量)字段是一个在无线网络设备内部维护的计数器,用于指示设备在一段时间内需要保持空闲状态。
具体来说,当一个设备发送数据帧时,在数据帧的帧头中会包含一个Duration 字段,用于指示该数据帧所占用的信道时间。接收到数据帧的其他设备会根据该 Duration 字段来更新它们的 NAV 值,将 NAV 设置为当前时间加上 Duration 值,表示需要等待的事件。NAV值是在设备内部维护的,并且只对当前设备本身有效。设备通过维护NAV值来决定自己在何时可以发送数据,何时需要等待其他设备的传输完成。

这个协议可以避免冲突,但是也引入了缺陷。NAV是一个15bit的字段,它的最大值是32767。任何节点都可以通过发包来更新其他设备的NAV值。攻击者可以通过发数据帧,使其他设备的NAV都保持最大值,攻击者连续这样操作,就可以独自占据信道,让其他设备一直等待。

image-20240328205158446

b.De-Authentication attack 去认证攻击

在802.11b标准中,De-authentication(去认证)是指断开一个无线设备(如智能手机、笔记本电脑等)与无线接入点(AP)之间的连接的过程。去认证过程是通过发送一个去认证帧(de-authentication frame)来实现的,这个帧是由接入点或客户端发出,用以通知对方会话被明确地终止。
虽然去认证机制是为了管理和维护网络的正常运行而设计的,但它也可能被用于恶意目的。由于去认证帧本身没有身份验证,攻击者可以向网络中的设备发送伪造的去认证帧,强制它们断开与接入点的连接。

防御(开放)

基于NAV发起的Dos攻击如何防御?

要防御基于NAV的DoS攻击,可以考虑以下策略:(来自gpt3.5)

  1. 监测和分析无线流量
    通过监测网络上的流量模式,可以识别出异常行为,如不正常的NAV设置。一旦检测到这种异常行为,网络管理员可以采取相应措施,如调查涉及的设备,并采取进一步的安全措施。

  2. 使用入侵检测系统(IDS)和入侵防御系统(IPS)
    现代无线网络中,可以部署专门的无线IDS/IPS来识别和阻止恶意行为。这些系统专门设计用于监测无线网络中的恶意活动,并可以配置为自动响应识别的威胁。

  3. 管理员干预
    在检测到可疑或恶意行为时,网络管理员可以手动干预,例如,通过禁用恶意设备的网络访问权限,或者重新配置受影响的接入点来绕过攻击。

  4. 定期更新固件和软件
    保持无线接入点和网络设备的固件及软件更新是基本的安全实践。制造商可能会发布安全补丁来修复可能被利用进行攻击的漏洞。

  5. 加强网络架构
    通过实施更加复杂的网络架构,比如使用多个较小的、分散的子网而不是一个大的广播域,可以降低DoS攻击的影响。虽然这对防止NAV攻击直接效果有限,但可以减少攻击造成的影响。

  6. 授权和身份验证
    确保网络上的所有设备都经过适当的授权和身份验证,可以减少恶意设备执行攻击的机会。使用WPA3或其他先进的安全协议可以提高安全性。

防御基于NAV的DoS攻击涉及到综合运用多种技术和管理策略。持续监控、及时更新和积极的网络管理是保护无线网络免受此类攻击的关键。

2.网络层的DoS(以Smurf attack为例)

攻击

image-20240328210100473

Smurf利用互联网控制消息协议(ICMP)来实现。
攻击过程:
1.攻击者将ICMP请求的源IP地址伪造成受害者的IP地址。
2.攻击者将数据包发送到反射器(reflectors/amplifiers)。
3.网络中的每个反射器收到这个广播请求后,都会向受害者发送一个响应。
4.受害者被大量消息阻塞,于是宕机,停止响应。
一个Echo请求就能被放大很多倍!

image-20240328221304464

防御(开放)

1.检测到突然有大量的包出网关时指向同一个ip(有误杀)
2.不再处理来自外网的广播包,只在内网广播。(但是也可在内网发起Dos)
3.受害者必不要的端口,减少遭受攻击的可能性。

3.传输层的DoS(以TCP SYN FLOOD为例)

攻击

在与受害者建立TCP连接时,正常请求需要三次握手,但是攻击时攻击者只发第一次连接请求(SYN),攻击者发送大量SYN包,这些包的源ip也是伪造的(随机生成的ip),受害者对这些来自不同ip的请求做出响应后,再也得不到第三次握手的请求,于是一直等待。
系统为SYN请求分配TCB(TCP传输控制块),TCB是包含完整信息的传输协议数据结构(280-1300Bytes),用来存储半连接的SYN-RECEIVED状态项目,或完整的连接但没有被应用程序accept()方法调用的ESTABLISHED状态项目。Backlog queue size限制TCB的数量上限,这些半连接的SYN-RECEIVED状态项目填满受害者的Backlog queue,导致受害者因资源耗尽而宕机。

image-20240328212333948

上图是三种不同的TCP SYN FLOOD攻击:
1.Direct Attack
攻击方使用固定的源地址发起攻击,这种方法对攻击方的消耗最小。
将源地址设为受害者1,listener设为受害者2。反射回去的请求都给listener,这样达到一石二鸟的效果。
2.Spoofing Attack
攻击方使用变化的源地址发起攻击,这种方法需要攻击方发送不同源ip的包,实际上消耗也不大。
3.Distributed Direct Attack
这种攻击主要是使用僵尸网络进行固定源地址的攻击。

4.应用层的DoS

针对DNS

攻击者发起大量DNS查询请求,查询不存在的域名,使DNS服务器不堪重负。
image-20240328221218194