Advertisement

DDoS攻击原理与防御

阅读量:

一.原理

DDoS攻击(分布式拒绝服务攻击)是传统拒绝服务攻击的一种起源形式,在历史上最早出现于网络通信协议层面上,并指的是通过多种技术手段导致目标系统陷入拒绝服务状态的一种网络犯罪行为。

增强型拒绝服务攻击(DDoS)可以被视为DoS的一种高级形式,在这种情况下能够将分布在不同地点的多台设备结合在一起构成一个集中化发起点,并针对一个或多个目标发起集中ized assault以达到最大限度地破坏系统正常运行的目的

一个完整的DDoS攻击体系由四个关键组成部分构成,并具体包括但不限于攻击者、主控端、代理机以及目标节点。

img

二.常见攻击形式

容量耗尽攻击(Volumetric attacks)主要通过僵尸网络构建分发渠道,并利用流量放大技术传播大量数据包至目标设备。这种类型的攻击活动会持续向目标设备发送大量数据包以干扰其正常运行状态,在实际应用中常见于DDoS攻击、双端队列(BAN)攻击以及Web DDoS攻击等多种形式。

UDP洪水攻击

黑客利用网络上的主动控制行为,在成百上千次的尝试中发送ICMP请求和ping命令,使得受害者服务器的带宽被最大限度地占用。

ICMP洪水攻击

该系统被黑客通过大量发送用户数据报协议(UDP)数据包的方式入侵。随后由于受到大量UDP报文攻击而导致资源枯竭,在这种情况下设备无法有效地处理并响应正常的数据流量服务。

● 协议攻击

协议攻击基于协议机制的漏洞发起攻击,这是第二大主要的网络攻击手段。常见的协议攻击类型包括:

SYN洪水攻击

黑盒黑客利用了TCP三次握手机制中的漏洞。当客户端发送SYN报文至服务器时,服务器会回应SYN报文并传递对应的ACK报文。然而并未反馈该ACK报文至客户端,在此过程中受害者的服务器留下了众多未处理的SYN-ACK报文序列,并最终引发了崩溃事件

死亡之Ping攻击

被黑客通过Ping命令传输了超大数据包,并且这些数据包被投射到了受害者的网络上。这样操作的结果导致系统出现了问题

● 应用程序攻击

应用程序攻击通过协议栈(六)、协议栈(七)中的缺陷发起攻击。
主要地专注于特定的应用程序而非整个服务器。
它们常见地针对公共端口和服务进行攻击, 例如DNS或HTTP.
最常见的应用程序攻击类型包括但不限于以下几种:

1 .HTTP洪水攻击

黑客采用大量典型GET和POST请求来淹没应用程序或Web服务器。这些请求通常表现为合法流量,并且导致检测HTTP洪水攻击成为一个巨大的难题。

2.Slowloris

按照其命名原则, Slowloris攻击慢慢导致受害者的服务器崩溃. 攻击者每隔一段时间向受害者的服务器发送大量HTTP请求数量. 服务器一直在等待这些请求完成. 最终耗尽了带宽资源导致合法用户无法访问服务器.

三.DDoS攻击机制

攻击者控制僵尸网络:

攻击者常用程序病毒大量侵入电脑并制造 Botnet;这些受害电脑被称作僵尸主机。

指令分发:

攻击者利用指挥控制C&C服务器向僵尸网络系统中的僵尸主机发出攻击指令。这些指令包含了目标的IP地址、采用的攻击方式以及发生的时间等详细信息。

发动攻击:

僵尸主机响应指令后会被目标系统接收大量请求包。这些请求包包括HTTP 请求、TCP SYN 段或UDP 段等多种类型。

资源耗尽:

当目标系统面对大量请求时,其网络带宽、CPU和内存等关键资源会被占用到极限。这通常会导致该系统无法正常响应用户的请求,并可能进一步演变为整个系统的瘫痪。

四.hping3的使用

评估防火墙对ICMP包的行为、确定其是否支持traceroute探测、确认特定端口是否存在允许通信配置,并对该防火墙施加持续连接式的拒绝服务攻击流量(DoS attack)。例如,在实施LandAttack测试时(Land Attack定义为使发送源地址与目标地址一致以实现持续连接),观察目标设备的安全性状态。

1.端口扫描

该程序能够执行对目标计算机进行端口扫描的任务。该程序支持根据TCP的不同标志位设置、数据包长度等参数来配置和控制扫描过程。以下测试案例可用于检测目标计算机上80端口是否开放。

复制代码
    hping3 -I eth0  -S 192.168.10.1 -p 80

其中-I eth0设置使用eth0端口,在此命令行参数中-S设置TCP包的标志位标记为SYN,并通过-p 80设置探测的目的端口。

h ping 3具备极其多样的端口探测手段,n map提供的扫描模式中几乎都被h ping 3涵盖(除了connect模式, 因为h ping 3仅发送与接收包, 不会维护连接, 所以不支持connect模式探测)。此外,h ping 3在执行探测任务时提供了更为细致的调控机制。然而,n ping 2相对于n map而言其性能和处理能力稍逊一筹。通常情况下,h ping 3主要用于对有限数量的主机以及少数关键端口进行扫描

2.Idle扫描

Idle扫描(Idle Scanning)也是一种匿名扫描远程主机的方法;此方法亦是由Hping3的作者Salvatore Sanfilippo所发明;如今,在Nmap中有对此方法的实现。

该扫描原理基于寻找一台无网络流量且IP ID连续递增的 idle Host。攻击面机器随后发送探测包至 idle Host以获取其 IP ID信息。作为模拟 idle Host 的 IP 地址将随后发送 SYN 包至目标Host指定端口(此处假设所有行为均基于 SYN 包)。当目标Host接收 SYN 请求时,默认会响应 SYN/ACK 序列报文。随后 idle Host接收到相应确认报文后会立即返回 RST 包完成连接建立过程。攻击面机器随后再次向 idleHost 发送探测报文以持续采集目标Host的相关信息参数。通过比较两次获得的 IP ID 值的变化情况,则能推断出远程Host是否拥有数据传输能力。

3.拒绝服务攻击

应用Hping3工具能够较为简便地发起拒绝服务攻击。例如,在目标服务器上连续发出成千上万次SYN流量,并模仿一个固定来源地址(如192.168.10.99),随后每隔一秒钟发送一次SYN报文。

五.实验操作

一.了解hping3的参数

复制代码
 -c:设置发送数据包的数量

    
 -d:设置每个数据包的大小
    
 -i :设置数据包之间的时间间隔
    
 -w:设置TCP窗口大小
    
 -a:设置发起数据包的源IP地址
    
 -k:保留root权限使用
    
 -q:只输出关键信息到stdout
    
 -p:设置目标端口,缺省为0
    
 -S:表示发送TCP SYN包
    
 -F:表示发送TCP FIN包
    
 -P:表示发送ICMP包
    
 --help:查看帮助信息
    
 --fast:快速扫描模式
    
 --flood:发送数据包并不等待响应(洪水攻击)
    
 --rand-dest:随机化目标IP地址
    
 --rand-source:随机源地址模式
    
 --udp:发送UDP包
    
 --tcp-timestamp:设置TCP包时间戳
    
 --traceroute:扫描路径中的每个路由器

二.实验环境

kali攻击机

win10靶机

并将靶机的防火墙关闭

三.使用命令进行攻击

复制代码
    命令hping3 -S  --tcp --flood -V 192.168.185.160

观察分析情况

观察目标主机cpu和网络使用情况

六.攻击预防和效果分析

DDoS攻击原理:

DDoS 攻击会向目标主机发送大量请求序列(流量),导致其资源被耗尽并失去对正常用户的响应能力。TCP Flooding 攻击属于常见的 DDoS 攻击类型之一,并且通常利用发送大量 TCP SYN 包来占用目标主机的连接表资源。

流量分析:

利用 Wireshark 进行抓包显示,在攻击过程中,目标主机接收到很多SYN包;这些SYN包的来源可能存在伪造的情况,并且其目的是导致目标主机资源被消耗。

防御措施:

启用SYN Cookies和设置防火墙规则是一种可靠的安全策略。高度专业的DDoS防护服务能够提供智能流量清洗技术和多级分布式防护机制。

在实验过程中, 必须正确安装并配置 hpwing3 工具. 此外, 在目标主机上持续有效的监控资源消耗情况也是必要的前提条件. 整个过程涉及不仅需要具备深入理解网络环境的能力, 并且还需要熟练掌握相关工具的使用方法, 才能保证整个实验过程的有效进行.

实验效果评估:

在本次实验中,我们不仅能够较为直接地掌握DDoS攻击的基本原理以及具体的实施步骤,并且深刻意识到这些攻击手段所蕴含的巨大危害性。

安全防护意识:

在实验中深入理解网络安全的重要性,并掌握各种防御手段及其实施路径,从而增强网络安全保护意识。

全部评论 (0)

还没有任何评论哟~