DDoS 攻击与防御
分布式拒绝服务攻击(Distributed Denial of Service),是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击。由于攻击的发出点是分布在不同地方的,这类攻击称为分布式拒绝服务攻击。
DDoS 是一种基于 DoS 的特殊形式的拒绝服务攻击。单一的 DoS 攻击一般是采用一对一方式,利用网络协议和操作系统的缺陷,采用欺骗和伪装的策略来进行网络攻击,使网站服务器充斥大量要求回复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至于瘫痪而停止提供正常的网络服务。与 DoS 相比,DDos 借助数百上千台攻击机形成集群,发起的规模更大,更难防御的一种进攻行为。
ICMP 用于在 IP 主机,路由器之间传递控制消息(网络是否连通,主机是否可达,路由是否可用等)。ICMP 虽然不传递用户数据,但是对于用户数据的传递起着重要的作用。ICMP Flood 通过对目标系统发送海量的数据报,就可以令目标主机瘫痪,形成洪泛攻击。
UDP 协议是一种无连接的协议,在 UDP Flood 中,攻击者通常发送大量伪造 IP 地址的 UDP 报去冲击 DNS 服务器,Radius 认证服务器,流媒体视频服务器等,造成服务不可用。 上述的两种是比较传统的流量型攻击,技术含量较低,以占满网络带宽使得正常用户无法得到服务为攻击方式,攻击效果通常依赖于攻击者本身的网络性能,而且容易被查找攻击源头。
NTP 是标准的基于 UDP 协议的网络时间同步协议。由于 UDP 无连接的特性,NTP 服务器并不能保证收到报文的源 IP 的正确性。所以,攻击者通过将 IP 报文的源 IP 地址换为靶机的 IP 地址,并向 NTP 服务器发送大量的时间同步报文,这样,NTP 服务器的响应报文就会达到靶机上,沾满靶机网络段的带宽资源,同时也很难去追溯攻击源头。
SYN Flood 是一种利用 TCP 协议缺陷,发送大量伪造的 TCP 连接请求,从而使目标服务器资源耗尽的攻击方式。如果客户端只发起第一次握手,而不响应服务端的第二次握手,那么这条连接就处于半连接状态,服务端会维持这条连接一段时间(SYN Timeout)并不断地重试。但攻击者大量的模拟这种情况,就会沾满整个服务端的连接符号表,并消耗大量的 CPU 资源进行重试操作。而对于 SNY Flood 的防御目前有两种常见的方式,一种是算短 SYN Timeout,另一种是设置 SYN Cookie,并开辟一个数组存放 Cookie,单连接没有真正建立时,不去占用连接符号表。
DNS Query Flood 通过操纵大量的傀儡机,向本网段的域名服务器发送大量域名解析请求,通常这些请求解析的域名是随机生成或网络上根本不存在的域名,由于本地域名服务器无法找到对应的结果,就会通过层层上次给更高级的域名服务器,引起连锁反应,导致本网段内的域名解析服务瘫痪,但一般最多只会瘫痪一小段网络。
HashDos 是一种新型的,基于 Hash 碰撞形成的攻击。随着现在 RESTful 风格的不断普及,json 格式作为数据传输的格式愈发成为主流。但是 json 反序列化为对象时,底层是通过 hash 算法来将字段与属性,属性值进行一一匹配。所以,一旦攻击者知道了我们序列化方式,构造出一段具有严重哈希碰撞的 json 数据,就会使我们服务端序列化的复杂度从 O(1) 暴增到 O(n)。
DDos 的防御主要有两种,一种是针对流量带宽,一种是针对服务端资源。流量带宽一般需要通过运营商采用 ISP 黑洞,近源清洗等策略,在源头(即攻击者所在的网段)进行拦截,而不是等到所有的细流汇聚成猛水时才进行拦截。
而对于服务端的资源,则是当下 DDos 的重灾区,本文以攻防对抗的方式讲述 DDos 的发展历程。
参考文献:
什么是ddos攻击?
分布式拒绝服务攻击(英文意思是Distributed Denial of
Service,简称DDoS)是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击。由于攻击的发出点是分布在不同地方的,这类攻击称为分布式拒绝服务攻击,其中的攻击者可以有多个。
分布式拒绝服务攻击可以使很多的计算机在同一时间遭受到攻击,使攻击的目标无法正常使用,分布式拒绝服务攻击已经出现了很多次,导致很多的大型网站都出现了无法进行操作的情况,这样不仅仅会影响用户的正常使用,同时造成的经济损失也是非常巨大的。
分布式拒绝服务攻击方式在进行攻击的时候,可以对源IP地址进行伪造,这样就使得这种攻击在发生的时候隐蔽性是非常好的,同时要对攻击进行检测也是非常困难的,因此这种攻击方式也成为了非常难以防范的攻击,这就是我们说的DDOS攻击。相关链接
什么是DDOS攻击?
DDOS是英文Distributed Denial of Service的缩写,意即分布式拒绝服务攻击,俗称洪水攻击。DDOS的攻击策略侧重于通过很多“僵尸主机”(被攻击者入侵过或可间接利用的主机)向受害主机发送大量看似合法的网络包,从而造成网络阻塞或服务器资源耗尽而导致拒绝服务,分布式拒绝服务攻击一旦被实施,攻击网络包就会犹如洪水般涌向受害主机,从而把合法用户的网络包淹没,导致合法用户无法正常访问服务器的网络资源,因此,拒绝服务攻击又被称之为“洪水攻击”。(上述内容仅适用于广东联通用户)
DDOS是什么意思?
DDoS是分布式拒绝服务攻击。
分布式拒绝服务攻击(DDoS)是目前黑客经常采用而难以防范的攻击手段。DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。
DDOS攻击手段是在传统的DOS攻击基础之上产生的一类攻击方式。单一的DOS攻击一般是采用一对一方式的,当攻击目标CPU速度低、内存小或者网络带宽小等等各项性能指标不高它的效果是明显的。
扩展资料:
分类
1、手工的DDoS攻击。
早期的DDoS攻击全是采用手动配置的,即发动DDoS攻击时,扫描远端有漏洞的计算机,侵入它们并且安装代码全是手动完成的。
2、半自动化的DDoS攻击。
在半自动化的攻击中,DDoS攻击属于主控端一代理端的攻击模型,攻击者用自动化的Scripts来扫描,主控端的机器对主控端和代理端之间进行协商攻击的类型、受害者的地址、何时发起攻击等信息由进行详细记录。
3、自动化的DDoS攻击。
在这类攻击中。攻击者和代理端机器之间的通信是绝对不允许的。这类攻击的攻击阶段绝大部分被限制用一个单一的命令来实现,攻击的所有特征,例如攻击的类型,持续的时间和受害者的地址在攻击代码中都预先用程序实现。
DDOS攻击包括哪些
1、TCP洪水攻击(SYN Flood)
TCP洪水攻击是当前最流行的DoS(拒绝服务攻击)与DDoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷;
发送大量伪造的TCP连接请求,常用假冒的IP或IP号段发来海量的请求连接的第一个握手包(SYN包),被攻击服务器回应第二个握手包(SYN+ACK包),因为对方是假冒IP,对方永远收不到包且不会回应第三个握手包。
导致被攻击服务器保持大量SYN_RECV状态的“半连接”,并且会重试默认5次回应第二个握手包,塞满TCP等待连接队列,资源耗尽(CPU满负荷或内存不足),让正常的业务请求连接不进来。
2、反射性攻击(DrDoS)
反射型的 DDoS 攻击是一种新的变种,与DoS、DDoS不同,该方式靠的是发送大量带有被害者IP地址的数据包给攻击主机,然后攻击主机对IP地址源做出大量回应,形成拒绝服务攻击。
黑客往往会选择那些响应包远大于请求包的服务来利用,这样才可以以较小的流量换取更大的流量,获得几倍甚至几十倍的放大效果,从而四两拨千斤。一般来说,可以被利用来做放大反射攻击的服务包括DNS服务、NTP服务、SSDP服务、Chargen服务、Memcached等。
3、CC攻击(HTTP Flood)
HTTP Flood又称CC攻击,是针对Web服务在第七层协议发起的攻击。通过向Web服务器发送大量HTTP请求来模仿网站访问者以耗尽其资源。虽然其中一些攻击具有可用于识别和阻止它们的模式,但是无法轻易识别的HTTP洪水。它的巨大危害性主要表现在三个方面:发起方便、过滤困难、影响深远。
4、直接僵尸网络攻击
僵尸网络就是我们俗称的“肉鸡”,现在“肉鸡”不再局限于传统PC,越来越多的智能物联网设备进入市场,且安全性远低于PC,这让攻击者更容易获得大量“肉鸡”;
也更容易直接发起僵尸网络攻击。根据僵尸网络的不同类型,攻击者可以使用它来执行各种不同的攻击,不仅仅是网站,还包括游戏服务器和任何其他服务。
5、DOS攻击利用一些服务器程序的bug、安全漏洞、和架构性缺陷攻击
然后通过构造畸形请求发送给服务器,服务器因不能判断处理恶意请求而瘫痪,造成拒绝服务。以上就是墨者安全认为现阶段出现过的DDOS攻击种类,当然也有可能不是那么全面,DDOS攻击的种类复杂而且也不断的在衍变,目前的防御也是随着攻击方式再增强。
DDoS攻击
• 分布式拒绝服务(DDoS:Distributed Denial of Service Attack)攻击是通过大规模互联网流量淹没目标服务器或其周边基础设施,以破坏目标服务器、服务或网络正常流量的恶意行为
• DDoS 攻击利用多台受损计算机系统作为攻击流量来源以达到攻击效果。利用的机器可以包括计算机,也可以包括其他联网资源(如 IoT 设备)
• 攻击者利用受控主机发送大量的网络数据包,占满攻击目标的带宽,使得正常请求无法达到及时有效的响应
• DNS 响应的数据包比查询的数据包大,攻击者发送的DNS查询数据包大小一般为 60 字节左右,而查询返回的数据包的大小通常在3000字节以上,因此放大倍数能达到50倍以上,放大效果惊人
• 主要通过对系统维护的连接资源进行消耗,使其无法正常连接,以达到拒绝服务的目的,此类攻击主要是因为TCP 安全性设计缺陷引起的
• 目标计算机响应每个连接请求,然后等待握手中的最后一步,但这一步确永远不会发生,因此在此过程中耗尽目标的资源
• 消耗应用资源攻击通过向应用提交大量消耗资源的请求,以达到拒绝服务的目的
• 这种类型的攻击较简单的实现可以使用相同范围的攻击 IP 地址、referrer 和用户代理访问一个 URL;复杂版本可能使用大量攻击性 IP 地址,并使用随机 referrer 和用户代理来针对随机网址
• LOTC是一个最受欢迎的DOS攻击工具。 这个工具曾经被流行的黑客集团匿名者用于对许多大公司的网络攻击
• 它可以通过使用单个用户执行 DOS 攻击小型服务器,工具非常易于使用,即便你是一个初学者。 这个工具执行DOS攻击通过发送UDP,TCP或HTTP请求到受害者服务器。你只需要知道服务器的IP地址或URL,其他的就交给这个工具吧
• XOIC是另一个不错的DOS攻击工具。它根据用户选择的端口与协议执行DOS攻击任何服务器。XOIC开发者还声称XOIC比LOIC在很多方面更强大
• 一般来说,该工具有三种攻击模式,第一个被称为测试模式,是非常基本的; 第二个是正常的DOS攻击模式; 最后一个是带有HTTP / TCP / UDP / ICMP消息的DOS攻击模式
• 对付小型网站来说,这是一个很有效的DDOS工具, 但是从来没有尝试的要小心点,你可能最终会撞自己的网站的服务器
• HULK是另一个不错的DOS攻击工具,这个工具使用某些其他技术来避免通过攻击来检测,它有一个已知的用户代理列表,且使用的是随机请求
• 输入 URL ,点击 Lock on,设置 Method 模式(比如 HTTP),设置速度等其他参数
• 点击 IMMA CHARING MAH LAZER ,开始攻击
• 打开被攻击的站点,发现此时已经打不开
1、查看流量设备,发现攻击者使用僵尸网络在某时间段内发起了DDoS攻击
2、进一步对网络数据包进行抓包分析,发现攻击者使用 HTTP 请求功能向服务器发起多次请求,服务器返回多个响应文件,造成网络负载过高
3、对服务器访问日志进行排查
1、配置防火墙策略,屏蔽异常访问的IP地址
2、调整防护设备策略,在不影响业务的情况下限制 HTTP Range 形式访问
3、如果流量远远超出出口带宽,建议联系运营商进行流量清洗
1、攻击前的防御阶段
2、攻击时的缓解阶段
3、攻击后的追溯总结阶段
• 尽量避免将非业务必需的端口暴露在公网上,避免与业务无关的请求和访问
• 对服务器进行安全加固,包括操作系统即服务软件,减少可能被攻击的点
• 优化网络架构,保证系统的弹性和冗余,防止单点故障发生
• 对服务器性能进行测试,评估正常业务下能承受的带宽,保证带宽有余量
• 对现有架构进行压力测试,评估当前业务吞吐处理能力
• 使用全流量监控设备(如天眼)对全网中存在的威胁进行监控分析,实时关注告警
• 根据当前技术架构、人员、历史攻击情况等,完善应急响应技术预案
0条大神的评论