分布式拒绝服务(DDoS)攻击是一种极具破坏力的网络攻击方式。攻击者利用多个计算机或设备向目标服务器发起攻击,通过发送大量虚假请求来消耗目标服务器的资源,使其无法正常为合法用户提供服务。
常见的 DDOS 攻击形式多种多样。例如,SYN Flood 攻击利用 TCP 三次握手的机制,攻击者向目标服务器发送大量伪造的 TCP SYN 包,服务器回应 SYN-ACK 包后等待客户端的 ACK 确认,而攻击者不回应 ACK,导致服务器上有大量半连接状态的资源被占用,正常连接请求无法被处理。据统计,这种攻击方式在 DDOS 攻击中较为常见。
UDP Flood 攻击则是攻击者通过向目标系统发送大量的 UDP 数据包,占用目标网络带宽,或者使目标系统忙于处理这些无效数据包而无法处理正常请求。UDP 协议是无连接的,相比 TCP 更容易被滥用进行攻击。
ICMP Flood 攻击中,攻击者发送大量的 ICMP 数据包(如 Ping 包)到目标主机,消耗目标的网络带宽和系统资源,让目标主机无法正常提供服务。
HTTP Flood 攻击,也叫 CC 攻击,攻击者模拟大量正常用户不断向目标网站发送 HTTP 请求,造成目标网站服务器资源耗尽,无法响应正常用户的请求。例如,一些恶意攻击者会让大量傀儡机频繁访问目标网站的某个动态页面,导致网站服务器因处理这些请求而瘫痪。
总的来说,DDOS 攻击的形式复杂多样,给网络安全带来了极大的威胁。
二、DDOS 攻击与 IP 源地址的关系
(一)攻击源的识别
DDoS 攻击通常由大量的攻击源,也就是 “肉鸡” 同时向目标服务器发送请求。这些攻击源的 IP 地址可能来自不同的地理位置和网络环境。在 DDoS 攻击中,分析攻击流量中的 IP 源地址至关重要。通过对 IP 源地址的分析,可以识别出攻击的来源和规模。例如,国际知名公司 NETSCOUT 公布其调查报告结果显示,2021 年上半年,网络罪犯发动了约 540 万次分布式拒绝服务 (DDoS) 攻击。在这些攻击中,如果能够对攻击流量中的 IP 源地址进行分析,就可以了解到攻击是来自哪些地区、哪些网络段,从而为采取相应的防御措施提供依据。
(二)预防措施的依据
基于 IP 源地址采取预防措施,可以为降低 DDoS 攻击风险提供依据。首先,可以进行 IP 地址过滤。设置防火墙或入侵检测系统,对来自特定 IP 地址或 IP 地址段的流量进行过滤。对于已知的恶意 IP 地址,可以直接将其屏蔽,阻止其访问目标服务器。同时,建立 IP 地址白名单,只允许白名单中的 IP 地址访问服务器,确保只有合法的用户能够访问服务器,减少被攻击的风险。其次,进行 IP 地址限速。对来自不同 IP 地址的流量进行限速,防止单个 IP 地址发送过多的请求。如果某个 IP 地址的请求速率超过了设定的阈值,可以暂时将其屏蔽或限制其访问速度,采用动态限速策略,根据服务器的负载情况和网络流量实时调整限速阈值,以保证服务器的稳定性和可用性。最后,进行 IP 地址溯源。当发生 DDoS 攻击时,通过 IP 地址溯源技术,可以追踪攻击流量的来源。这有助于确定攻击的发起者,并采取法律手段进行打击。与网络服务提供商合作,共同追踪和阻止 DDoS 攻击,网络服务提供商可以通过调整网络路由、屏蔽攻击源等方式,减轻 DDoS 攻击对目标服务器的影响。
三、DDOS 溯源的方法
(一)监控网络流量
DDoS 攻击通常会引起网络流量的剧烈增长。实时监控网络流量,能够让我们在第一时间发现异常的流量峰值。例如,当网络流量突然从平时的 100Mbps 飙升到 1Gbps 甚至更高时,就很有可能是遭受了 DDoS 攻击。通过密切关注流量变化,我们可以快速发现攻击的迹象,并为定位攻击源提供重要线索。专业的网络流量监控工具,如 PRTG Network Monitor,可以实时监测各种网络设备和系统的性能表现,帮助我们及时发现异常流量。
(二)分析日志文件
日志文件记录了网络活动的详细信息,包括网络连接、IP 地址和数据包信息等。分析日志文件是定位 DDoS 攻击源的重要手段之一。通过对日志文件的分析,我们可以了解攻击发生的时间、攻击类型以及攻击目标等重要信息。例如,如果日志中显示在某个特定时间段内,大量来自相同 IP 地址段的数据包被发送到目标服务器,那么这个 IP 地址段就很有可能是攻击源。服务器和网络设备的日志文件可以提供攻击的证据,分析日志中的错误信息、异常请求和来源 IP 地址,可以帮助识别 DDoS 攻击。
(三)使用网络流量分析工具
网络流量分析工具可以帮助我们深入了解网络流量的特征和模式。通过分析网络数据包的源 IP 地址、传输协议和端口号等信息,可以帮助我们追踪和定位 DDoS 攻击的源头。例如,Wireshark 是一个开源网络协议分析软件,能够捕获网络数据包,并支持多种协议的解析和分析。利用这些工具,我们可以对网络流量进行深入分析,找出攻击源的线索。
(四)路由追踪
使用路由追踪工具,通过跟踪数据包在网络中的路径,我们可以找到数据包到达目标服务器的路径。这有助于我们确定攻击流量的来源,并定位攻击源。例如,使用 traceroute 命令可以跟踪攻击数据包的路径,显示数据包从我们的设备到目标 IP 地址经过的各个路由器的 IP 地址。分析 traceroute 的结果,寻找异常路由器节点或与攻击相关的 IP 地址。如果发现某节点突然出现大量数据包或相应异常,可能是攻击流量的来源或中转点。
(五)协同合作
如果发现自己成为 DDoS 攻击的受害者,及时与我们的 ISP(互联网服务提供商)联系,并向他们报告攻击事件。ISP 通常拥有更强大的资源和技术来追踪和应对 DDoS 攻击。他们可以通过调整网络路由、屏蔽攻击源等方式,减轻 DDoS 攻击对目标服务器的影响。同时,ISP 可以帮助我们定位攻击源并采取必要的措施。例如,在一些大规模的 DDoS 攻击事件中,ISP 可以利用其专业的技术和资源,快速定位攻击源,并与相关部门合作,采取法律手段打击攻击者。
(六)使用防火墙和入侵检测系统
防火墙和入侵检测系统(IDS)可以帮助我们监控网络流量和检测异常行为。当遭受 DDoS 攻击时,它们可以及时发现并阻止攻击流量,同时记录相关信息以便后续分析。例如,一些先进的防火墙可以设置规则,对来自特定 IP 地址或 IP 地址段的流量进行过滤。入侵检测系统可以实时监测网络活动,发现异常行为并发出警报。这些系统可以为我们提供重要的信息,帮助我们定位攻击源。
(七)配置防御机制
为了防范 DDoS 攻击,我们可以采取一些防御措施,如限制 IP 地址的访问频率、设置访问验证码或使用内容分发网络(CDN)等。这些措施可以降低 DDoS 攻击的风险并减轻攻击对我们的网络造成的影响。例如,设置 IP 地址的访问频率限制,可以防止单个 IP 地址在短时间内发送过多的请求。使用 CDN 可以将网站的内容分发到多个服务器上,减轻单个服务器的压力,提高网站的抗攻击能力。
四、公有云 DDOS 溯源系统
(一)业务需求
- 攻击源实时分析,保证证据有效性。
-
- 在公有云环境下,黑客的基础设施寿命通常较短,随着时间推移,攻击证据的有效性难以保证。因此,对攻击源进行实时分析至关重要。例如,据相关统计,在公有云平台上,黑客基础设施的平均寿命可能只有几小时到几天不等。一旦错过最佳分析时间,后续的溯源工作将变得极为困难。
-
- 为了实现攻击源实时分析,需要建立高效的监测系统,能够在攻击发生的瞬间就开始收集和分析相关数据。这样可以确保在证据失效之前,及时采取行动,为后续的溯源工作提供有力支持。
- 构建廉价溯源系统,降低警方立案标准。
-
- 目前,DDOS 攻击溯源成本较高,这使得警方的立案标准也相应提高。例如,当前标准通常为攻击流量峰值达到 100G 攻击以上才立案。然而,这样的标准可能会让许多小型攻击事件无法得到及时处理,给受害者带来持续的损失。
-
- 构建廉价的溯源系统可以降低成本,从而降低警方的立案标准。例如,如果溯源成本能够降低到一定程度,那么即使是较小规模的攻击事件也能够被及时调查和处理,提高网络安全的整体水平。
- 溯源定位到人或团伙,不只是搞定黑客基础设施。
-
- 未接触性网络犯罪是由人发起的,因此最终的溯源工作需要抓捕到嫌疑人。仅仅搞定黑客基础设施并不能从根本上解决问题,因为攻击者可能会再次利用其他资源发起攻击。
-
- 为了实现溯源定位到人或团伙,需要综合运用各种技术手段,如通过 DDoS 程序获取外连数据,寻找 C&C 服务器,进而确定黑客的身份。同时,还需要与警方密切合作,确保在确定嫌疑人后能够及时采取抓捕行动。
(二)系统架构
确定在公有云平台搭建业务系统的场景,部署分光和分流设备等,将检测数据发送给溯源系统。
- 在公有云平台上,黑客通常通过控制 C&C 服务器,间接控制肉鸡进行 DDoS 攻击。肉鸡的组成成分比较复杂,大部分是 IDC 内部的 Linux 服务器,因为公有云厂商的物理服务器有很大的带宽资源,容易成为攻击目标。
- 为了应对 DDoS 攻击,公有云需要根据部署架构的区分,在双 POP 点、多 AZ 节点和多活的数据中心部署分光和分流设备。同时,支持数据镜像,将一份数据给全流量系统(包含 DDoS 检测系统),另一份给网络入侵检测系统。
- 根据流量统计需求,4 层检测需要部署多台 dumpServer 和流量采样 PcapServer 模块;7 层检测需要在多台 LVS 转发系统中部署 CC 检测引擎。最终,将检测数据发送给公有云 DDoS 溯源系统,结合安全运营团队分析,确定黑客身份,完成 DDoS 溯源。
(三)详细设计
- 判断攻击类型,如根据包占比确定 SYN Flood 等攻击类型。
-
- 四层的 DDoS 攻击主要包括 SYN Flood、NTP 反射、DNS 反射、UDP Flood、TCP Flood 等类型。当通过分布式抓包的方式获取到 pcap 数据包后,可以对包内容进行统计来判断攻击类型。例如,SYN 包占比达到 40%,即可认为是 SYN Flood;NTP 包占比达到 60%,即可认为是 NTP Flood 等。
-
- 如果攻击阈值达到 2G,或者为动态阈值,需要给运营商上游路由器发送黑洞请求,以防止攻击流量进一步扩大。
- 进行溯源,统计 Top1000 流量 IP 并排序。
-
- 把抓包通过集群方式部署,每台 x86 服务器处理 20G,dump 数据包的前 80 个字节。通过包过滤分析出是出流量还是入流量,然后过滤与指定目标 IP 无关的流量。接着统计 Top1000 的流量 IP,并把这些统计数据发送给 pcap Server。
-
- 再把整个集群发过来的 Top1000 的数据统一排序,生成新的 Top1000 数据。这样就可以统计出针对公有云 floatingIP 对应的 top1000 攻击源。
- 数据清洗,去除伪造 IP、反入侵获取 DDoS 程序等。
-
- 先去除伪造 IP,使用简单的 syn cookies 判断即可。例如,通过 syn cookies 技术,可以快速识别和去除伪造的 IP 地址,提高溯源的准确性。
-
- 通过扫描器回扫 Top1000IP,寻找可反入侵的 IP,反入侵后获取 DDoS 程序。同时,获取威胁情报数据,当攻击 IP 为 IDC 时,大部分主机上被部署了下载器,可以直接获取 DDoS 程序。
- 获取身份信息,通过 DDoS 程序等方式找到黑客。
-
- 通过 DDoS 程序,放入养鸡场、或者使用 EDR 程序监控、或者使用沙箱方式收集外连数据,寻找到 C&C 服务器。只有控制服务器才能找到黑客。
-
- 例如,在实际的溯源过程中,通过对 DDoS 程序的分析和监控,可以追踪到外连数据,进而找到 C&C 服务器的位置,最终确定黑客的身份。
五、实际案例中的 DDOS 溯源与防御
(一)案例背景
假设有一家小型电商企业,其服务器在某一天突然遭受了 DDOS 攻击。用户反馈网站无法正常访问,订单处理也陷入了停滞。企业的技术团队迅速行动起来,试图找出问题的根源并采取有效的防御措施。
(二)发现问题
- 网络异常
技术人员首先注意到网络流量出现了异常增长。平时服务器的网络带宽使用率一般在 30% 左右,但在攻击发生后,带宽使用率瞬间飙升到了 90% 以上。通过网络监控工具,他们发现大量的数据包从不同的 IP 地址涌入服务器。
- 服务器响应缓慢
用户开始抱怨网站响应极慢,甚至无法加载页面。技术人员检查服务器的性能指标,发现 CPU 和内存的使用率也明显升高。服务器在处理大量的请求时变得异常缓慢,导致正常用户的请求无法得到及时响应。
(三)防御方法
- 启用防火墙
企业迅速启用了服务器上的防火墙,并设置了严格的访问规则。对来自可疑 IP 地址的流量进行过滤,只允许来自已知的合法用户和合作伙伴的 IP 地址访问服务器。例如,通过设置 IP 地址白名单,将经常访问网站的用户 IP 地址添加到白名单中,确保这些用户能够正常访问网站。
- 增加带宽
考虑到攻击流量较大,企业临时增加了服务器的带宽。虽然这是一种成本较高的方法,但在紧急情况下可以缓解攻击带来的压力。据统计,增加带宽后,服务器能够处理的流量增加了 50% 左右,一定程度上减轻了攻击对网站的影响。
- 接入 CDN
为了进一步分散攻击流量,企业接入了内容分发网络(CDN)。CDN 可以将网站的内容分发到全球各地的服务器上,用户访问网站时,会从离自己最近的服务器获取内容。这样不仅可以提高网站的访问速度,还可以有效地抵御 DDOS 攻击。通过接入 CDN,企业成功地将一部分攻击流量分散到了 CDN 节点上,减轻了服务器的压力。
(四)溯源反击
- 监控网络流量和分析日志
技术人员使用网络流量分析工具和日志分析软件,对攻击流量进行深入分析。他们发现大部分攻击流量来自于一个特定的 IP 地址段。通过分析日志文件,他们确定了攻击发生的时间和攻击类型。这些信息为后续的溯源工作提供了重要线索。
- 协同合作
企业及时与互联网服务提供商(ISP)联系,向他们报告了攻击事件。ISP 利用自己的技术和资源,对攻击流量进行了追踪和分析。他们发现攻击流量经过了多个网络节点,最终来自于一个国外的服务器。ISP 与相关部门合作,对这个服务器进行了调查和处理。
- 法律手段
企业收集了攻击的证据,并向警方报案。警方根据企业提供的线索,展开了调查。通过与国际刑警组织的合作,最终确定了攻击的发起者,并对其采取了法律手段。
(五)总结经验
通过这次 DDOS 攻击事件,企业深刻认识到了网络安全的重要性。他们总结了以下经验教训:
- 加强网络安全意识
企业员工需要加强网络安全意识,不随意点击可疑链接,不下载未知来源的软件。同时,定期进行网络安全培训,提高员工的安全防范能力。
- 建立应急预案
企业需要建立完善的应急预案,以便在遭受网络攻击时能够迅速采取有效的措施。应急预案应包括攻击的检测、防御和溯源等方面的内容。
- 定期进行安全评估
企业应定期进行安全评估,检查服务器的安全性和漏洞。及时修复发现的漏洞,更新安全补丁,确保服务器的安全。
- 加强合作
企业应加强与 ISP、警方和其他相关部门的合作,共同打击网络犯罪。只有通过合作,才能有效地保护网络安全。
墨者安全 防护盾
墨者安全作为专业级别安全防护专家,在应对 Webshell 风险隐患方面展现出了卓越的能力。其拥有全面的检测机制,能够精准识别 Webshell 的各种类型和变体,无论是复杂的大马,还是隐蔽的内存马,都难逃其敏锐的监测。
墨者安全防护盾具备强大的实时监控功能,对服务器的各项活动进行 7*24 小时不间断的监视。一旦发现任何可疑的 Webshell 活动迹象,立即发出警报,并迅速采取隔离和清除措施,将风险扼杀在萌芽状态。
在防护策略上,墨者安全防护盾采用了多层次的防御体系。不仅能够在网络层面阻挡外部的恶意访问和攻击,还能深入系统内部,对服务器的文件系统、进程等进行深度检查和保护,确保 Webshell 无法植入和运行。
同时,墨者安全防护盾拥有快速的应急响应能力。当 Webshell 攻击事件发生时,专业的安全团队能够迅速介入,进行深入的分析和处理,最大程度减少攻击带来的损失,并帮助用户快速恢复服务器的正常运行。
墨者安全防护盾还注重用户教育和培训,为用户提供关于 Webshell 防范的专业知识和最佳实践,帮助用户提升自身的安全意识和防范能力,共同构建坚实的网络安全防线。