DDOS 攻击作为网络安全领域的重大威胁,正日益引起人们的关注。为了更好地理解 DDOS 攻击,我们不妨通过一个生动的案例来解释其概念。想象一下,某德基和某拱门是两家竞争激烈的快餐店。有一天,某德基突然遭到了一群不明身份的人的攻击,他们就像一群捣乱的食客,不断地涌入店内,占满座位却不点餐。这使得真正想光顾的食客无法进店,敢进店的也找不到位置坐,最终导致某德基的生意一落千丈。这个场景就类似于 DDOS 攻击,攻击者通过大量的 “肉鸡”(被控制的计算机),对目标服务器发送大量请求,占用服务器资源,导致正常用户无法访问网站。
DDOS 攻击具有分布式拒绝服务攻击的特点,其攻击方式多种多样。其中,常见的攻击方式包括 SYN Flood 攻击、UDP Flood 攻击、ICMP Flood 攻击和 HTTP Flood 攻击等。
SYN Flood 攻击是一种利用 TCP 三次握手过程中的漏洞进行的攻击。在 TCP 三次握手中,客户端首先发送一个 SYN(同步)数据包给服务器,服务器接收到后回复一个 SYN+ACK(同步 + 确认)数据包给客户端,最后客户端再发送一个 ACK(确认)数据包给服务器,建立起 TCP 连接。而攻击者大量伪造源 IP 地址,向目标服务器发送大量 SYN 数据包,但不进行后续的 ACK 响应,导致服务器在等待超时后继续维护半连接状态,占用服务器资源。这样,服务器的半连接队列会不断增长,耗尽可用资源,从而导致合法用户无法建立新的连接。
除了 SYN Flood 攻击,还有其他令人闻风丧胆的 DDoS 攻击事件。例如,2020 年 2 月,亚马逊抵御有史以来最大的 DDoS 攻击,峰值流量高达 2.3Tbps;2018 年 2 月,GitHub 遭受 Memcached DDoS 攻击,在攻击高峰时,以每秒 1.3Tbps 的速率传输流量,每秒 1.269 亿的速率发送数据包;2016 年 10 月,美国一家域名服务器管理机构称其遭受了一次大规模的 DDoS 攻击,导致很多网站在美国无法进行访问,此次断网事件持续了大约 6 个小时,给美国带来了近百亿美元的经济损失。
总的来说,DDOS 攻击是一种极具破坏力的网络攻击方式,对网络安全构成了严重威胁。了解其攻击原理和常见攻击方式,有助于我们更好地防范和应对这种攻击。
二、DDOS 攻击的痛点与类型
DDOS 攻击存在两大痛点,即难以溯源和防御成本高。
难以溯源:DDOS 攻击通常通过大量肉鸡发起流量攻击并对 IP 加以伪造,很难找到真实攻击者 IP。攻击者可以利用各种手段隐藏自己,增加了溯源的难度。例如,控制机与攻击机分离,攻击傀儡机上的线索可能指向控制用的傀儡机,而非真正的黑客,使得从控制机找到黑客的可能性大大降低。
防御成本高:攻击者发起攻击的成本远低于防御的成本。DDOS 这种流量型的攻击,往往会利用大量肉鸡发起低成本流量的拥堵。对于单个企业而言,没有清洗流量的统一能力,建造清洗的能力需要花大量的成本,包括设备、带宽等。所以特别是中小型企业为了防御这种攻击,往往需要采购一些第三方防范服务。
常见的 DDOS 攻击类型有反射放大、SYN Flood、HTTP Flood 等。
反射放大攻击:
- 原理:攻击者会向互联网上大量的开放 UDP 服务的服务器发送伪造的请求数据包,这些请求数据包的源 IP 地址被篡改为目标受害者的 IP 地址。当服务器收到这些请求后,会将响应数据包发送回源 IP 地址,也就是受害者的 IP 地址。由于服务器的响应数据包往往比请求数据包大很多倍,从而形成了放大效果。
-
- 网络拥塞:大量的恶意流量会迅速填满受害者的网络带宽,使得正常的网络业务无法开展。
-
- 服务中断:关键业务的服务可能会因为攻击而被迫中断。
-
- 声誉损害:对于依赖网络服务的企业来说,长时间的服务中断或者频繁的网络问题会损害其在客户心目中的声誉,影响业务的长远发展。
-
- 网络层面:流量监测与过滤、实施严格的访问控制策略、利用 IP 风险画像进行 IP 分析。
-
- 服务器层面:服务配置优化、及时更新服务器操作系统以及相关 UDP 服务软件的安全补丁。
SYN Flood 攻击:
- 原理:利用 TCP 三次握手过程中的漏洞进行攻击。攻击者大量伪造源 IP 地址,向目标服务器发送大量 SYN 数据包,但不进行后续的 ACK 响应,导致服务器在等待超时后继续维护半连接状态,占用服务器资源。
- 种类:Direct Attack、Spoofing Attack、Distributed Direct Attack。
-
- 处理能力消耗:服务器需要处理每个接收到的 SYN 请求,并尝试建立 TCP 连接。当资源被大量半开放连接占用时,服务器的处理能力会下降,导致无法及时响应正常用户的请求。
-
- 网络带宽压力:虽然 SYN Flood 主要消耗的是服务器的内存和处理能力,但同时也会对网络带宽造成压力。
-
- 系统稳定性风险:如果服务器资源被耗尽,可能会导致系统崩溃或出现其他故障,影响服务的稳定性和可靠性。
-
- 额外的电力和冷却成本:资源的大量消耗也可能导致服务器功耗增加,从而增加电力和冷却成本。
-
- 对 SYN 包进行监视:对于 Direct Attack 攻击的防范可以使用比较简单的方法,即对 SYN 包进行监视,如果发现某个 IP 发起了较多的攻击报文,直接将这个 IP 列入黑名单即可。
-
- 延缓 TCB 分配方法:从前面 SYN Flood 原理可以看到,消耗服务器资源主要是因为当 SYN 数据报文一到达,系统立即分配 TCB,从而占用了资源。而 SYN Flood 由于很难建立起正常连接,因此,当正常连接建立起来后再分配 TCB 则可以有效地减轻服务器资源的消耗。
-
- 无效连接监视释放:这种方法不停监视系统的半开连接和不活动连接,当达到一定阈值时拆除这些连接,从而释放系统资源。
HTTP Flood 攻击:
- 原理:攻击者通过端口扫描程序在互联网上寻找匿名的 HTTP 代理或者 SOCKS 代理或僵尸主机向目标服务器发起大量的 HTTP 报文请求,请求涉及数据库操作的 URI 或其它消耗系统资源的 URI,并且攻击在 HTTP 层发起,极力模仿正常用户的网页请求行为,与网站业务紧密相关。
-
- 会引起严重的连锁反应,不仅仅是直接导致被攻击的 Web 前端响应缓慢,还间接攻击到后端的业务层逻辑以及更后端的数据库服务,增大它们的压力,甚至对日志存储服务器都带来影响。
-
- HTTP Flood 源认证:包含基本模式(META 刷新)、增强模式(验证码认证)、302 重定向模式。
-
- HTTP 源统计:在基于目的 IP 流量异常的基础上,再启动针对源 IP 流量进行统计。
-
- URI 监测:对 HTTP 源认证过程中加入白名单的源 IP 也会进行 URI 监测。
三、DDOS 攻击溯源的可能性
- 分析不同类型的 DDOS 攻击溯源的难度,如直接攻击、欺骗性攻击和分布式攻击(DDoS)溯源的可能性。
-
- 直接攻击溯源相对容易,因为攻击者不掩盖其 IP 地址,容易被发现和缓解。但这种攻击方式实际中很少使用,因为很容易被追踪到。
-
- 欺骗性攻击虽然数据包可能被欺骗,但通过侦探工作,特别是在互联网服务提供商愿意帮助的情况下,还是有可能追溯到其来源的,只是难度较大。
-
- 对于分布式攻击(DDoS),如果使用僵尸网络创建攻击,则将攻击溯源到源的可能性很低。攻击者可能会使每个分布式设备也欺骗发送数据包的 IP 地址,进一步增加了溯源的难度。
- 介绍现有 DDOS 攻击溯源的方法,包括通过工具查询 IP、抓包取证上报等。
-
- 监控网络流量:实时监控网络流量,注意异常的流量峰值。DDoS 攻击通常会引起网络流量的剧烈增长,密切关注流量变化可以帮助快速发现和定位攻击源。
-
- 分析日志文件:日志文件记录了网络活动的详细信息,包括网络连接、IP 地址和数据包信息等。通过分析日志文件,可以了解攻击发生的时间、攻击类型以及攻击目标等重要信息,从而定位攻击源。
-
- 使用网络流量分析工具:网络流量分析工具可以深入了解网络流量的特征和模式。通过分析网络数据包的源 IP 地址、传输协议和端口号等信息,追踪和定位 DDoS 攻击的源头。
-
- 路由追踪:使用路由追踪工具,通过跟踪数据包在网络中的路径,找到数据包到达目标服务器的路径,确定攻击流量的来源,并定位攻击源。
-
- 协同合作:与互联网服务提供商(ISP)联系并报告攻击事件。ISP 通常拥有更强大的资源和技术来追踪和应对 DDoS 攻击,他们可以帮助定位攻击源并采取必要的措施。
-
- 使用防火墙和入侵检测系统:防火墙和入侵检测系统可以监控网络流量和检测异常行为。当遭受 DDoS 攻击时,它们可以及时发现并阻止攻击流量,同时记录相关信息以便后续分析。
- 探讨构建公有云 DDoS 溯源系统的可行性和方法,从系统架构、详细设计等方面进行阐述。
-
-
- 黑客通过控制 C&C 服务器,间接控制肉鸡进行 DDoS 攻击。公有云根据部署架构的区分,有双 POP 点、多 AZ 节点,多活的数据中心。需要在每个 AZ 中部署分光和分流设备,同时支持数据镜像,一份给全流量系统(包含 DDoS 检测系统)、一份给网络入侵检测系统。
-
-
- 根据流量统计需求,4 层检测需要部署多台 dumpServer 和流量采样 PcapServer 模块。7 层检测需要多台 LVS 转发系统中部署 CC 检测引擎。
-
-
- 最终把检测数据发送给公有云 DDoS 溯源系统,结合安全运营团队分析,确定黑客身份,完成 DDoS 溯源。
-
-
-
- 判断攻击类型:通过分布式抓包获取 pcap 数据包后,对包内容进行统计。如 SYN 包占比达到 40%,即可认为 SYN Flood;NTP 包占比达到 60%,即可认为 NTP Flood 等。
-
-
-
- 溯源:把抓包通过集群方式部署,每台 x86 服务器处理 20G,dump 数据包的前 80 个字节。通过包过滤分析出是出流量还是入流量,然后过滤与指定目标 IP 无关的流量。统计 Top1000 的流量 IP,把这些统计数据发送给 pcap Server,再把整个集群发过来的 Top1000 的数据统一排序,生成新 Top1000 的数据,统计出针对公有云 floatingIP 对应的 top1000 攻击源。
-
-
-
- 数据清洗:先去除伪造 IP,使用简单的 syn cookies 判断即可;通过扫描器回扫 Top1000IP,寻找可反入侵的 IP,反入侵后获取 DDoS 程序;获取威胁情报数据,攻击 IP 为 IDC 时候,大部分主机上被部署了下载器,直接可以获取 DDoS 程序。
-
-
-
- 获取身份信息:通过 DDoS 程序,放入养鸡场、或者使用 EDR 程序监控、或者使用沙箱方式收集外连数据,寻找到 C&C 服务器,只有控制服务器才能找到黑客。
四、预防 DDOS 攻击的措施
从 IP 源地址入手,我们可以采取多种措施来预防 DDOS 攻击,结合技术手段和管理措施降低风险。
IP 地址过滤:设置防火墙或入侵检测系统,对来自特定 IP 地址或 IP 地址段的流量进行过滤。对于已知的恶意 IP 地址,可以直接将其屏蔽,阻止其访问目标服务器。同时,建立 IP 地址白名单,只允许白名单中的 IP 地址访问服务器,确保只有合法的用户能够访问,减少被攻击的风险。
IP 地址限速:对来自不同 IP 地址的流量进行限速,防止单个 IP 地址发送过多的请求。如果某个 IP 地址的请求速率超过了设定的阈值,可以暂时将其屏蔽或限制其访问速度。采用动态限速策略,根据服务器的负载情况和网络流量实时调整限速阈值,以保证服务器的稳定性和可用性。
IP 地址溯源:当发生 DDoS 攻击时,通过 IP 地址溯源技术,可以追踪攻击流量的来源。与网络服务提供商合作,共同追踪和阻止 DDoS 攻击。网络服务提供商可以通过调整网络路由、屏蔽攻击源等方式,减轻 DDoS 攻击对目标服务器的影响。确定攻击的发起者后,可采取法律手段进行打击。
此外,企业还可以部署持续监测并主动过滤受僵尸网络控制 IP 地址的网关,通过与威胁情报联动,持续更新不良 IP 地址数据库,掌握哪些 IP 地址已经被僵尸网络所控制或被其他恶意软件入侵。当来自这些恶意 IP 地址的流量抵达网关时,该网关能够以高达 10GB 的线速自动过滤掉恶意流量,防止其到达防火墙,大大提升防火墙和相关安全解决方案的效率。
Nginx 也可以通过 limit_conn_zone 和 limit_req_zone 对同一个 IP 地址进行限速限流,可防止 DDOS/CC 和 flood 攻击。limit_conn_zone 限制同一个 IP 的连接数,limit_req_zone 对请求的频率和速度进行限制。
DDoS 高防还支持对于业务 IP,基于 IP + 端口的维度进行流量访问限速,当被防护的 IP 处于被攻击状态时生效。
墨者安全 防护盾
墨者安全作为专业级别安全防护专家,在应对 Webshell 风险隐患方面展现出了卓越的能力。其拥有全面的检测机制,能够精准识别 Webshell 的各种类型和变体,无论是复杂的大马,还是隐蔽的内存马,都难逃其敏锐的监测。
墨者安全防护盾具备强大的实时监控功能,对服务器的各项活动进行 7*24 小时不间断的监视。一旦发现任何可疑的 Webshell 活动迹象,立即发出警报,并迅速采取隔离和清除措施,将风险扼杀在萌芽状态。
在防护策略上,墨者安全防护盾采用了多层次的防御体系。不仅能够在网络层面阻挡外部的恶意访问和攻击,还能深入系统内部,对服务器的文件系统、进程等进行深度检查和保护,确保 Webshell 无法植入和运行。
同时,墨者安全防护盾拥有快速的应急响应能力。当 Webshell 攻击事件发生时,专业的安全团队能够迅速介入,进行深入的分析和处理,最大程度减少攻击带来的损失,并帮助用户快速恢复服务器的正常运行。
墨者安全防护盾还注重用户教育和培训,为用户提供关于 Webshell 防范的专业知识和最佳实践,帮助用户提升自身的安全意识和防范能力,共同构建坚实的网络安全防线。