常见DDOS攻击原理和防御
常见的DDOS攻击主要分为流量型攻击和cc攻击:
流量型攻击主要通过发送大量的非法报文侵占正常业务带宽
包括SYN Flood/ SYN-ACK Flood /ACK Flood/ FIN/RST Flood
cc攻击的原理是通过模拟多个用户访问目标网站的动态页面,制造大量的后台数据库查询动作,消耗目标CPU资源,造成拒绝服务。CC攻击是针对网站的页面进行攻击
流量型攻击原理:
首先回顾一下tcp三次握手和四次挥手的过程,客户端向服务端发送SYN,服务端回应SYN+ACK,客户端再次回应ACK建立起连接,然后互相发送数据,客户端数据发送完后,客户端会向服务端发送FIN请求关闭连接,客户端回应ACK进行确认,等到服务端把数据发送完成后同样发送FIN进行关闭,其实这其中的每一个环节都有可能被攻击者利用发起攻击。
ACK Flood:


SYN是三次握手的第一个环节,攻击者发送 SYN,当服务器返回ACK后,攻击者不进行回应,攻击者就对服务器发送非常大量SYN,每一个都没法完成三次握手,这些tcp连接处于挂起状态,耗尽CPU和内存,正常用户来的时候无法提供服务,服务器收不到再确认的话,还会重复发送ACK给攻击者。这样更会浪费服务器的资源
SYN-ACK Flood:


SYN-ACK报文出现在第二次握手中,是用来确认第一次握手的。一方收到SYN-ACK报文后,首先会判断该报文是不是属于三次握手范畴之内的报文。如果都没有进行第一次握手就直接收到了第二次握手的报文,那么就会向对方发送RST报文,告知对方其发来报文有误,不能建立连接。SYN-ACK Flood攻击正是利用了这一点,攻击者向目标服务器发送大量的SYN-ACK报文,这些报文都属于凭空出现的第二次握手报文,服务器忙于回复RST报文,导致资源耗尽,无法响应正常的请求
ACK Flood:


ACK Flood攻击是在TCP连接建立之后,所有的数据传输TCP报文都是带有ACK标志位的,服务器在接收到一个带有ACK标志位的数据包的时候,需要检查该数据包所表示的四元组是否存在,如果在检查中发现该数据包不合法就会回应RST包告诉对方此端口不存在。服务器要做两个动作:查表、回应ACK/RST。攻击者发送大量的ACK包,服务器忙于处理这些非法数据包导致资源耗尽,无法响应正常的请求。
FIN Flood:


正常用户和服务器连接时,攻击者发送一个伪造的FIN包给服务端,这个伪造的FIN包源地址是正常用户的地址,服务端收到后就会断开与正常用户的连接,随后正常用户发送的数据服务器会认为是网络错误而忽略掉
RST Flood:

RST flood 与 FIN flood 攻击类似,攻击者发送一个伪造的RST包给服务端,服务端就会直接断开与正常用户的连接
UDP Flood:

UDP FLOOD 攻击是基于udp协议,UDP 是一种无连接的协议,不需建立连接来传输数据。Udp flood攻击在短时间那模拟随机的源端口地址向随机的目的端口发送大量的udp包,服务器要处理判断是否是正常的udp包,如果不是正常的udp包,服务器要进行回应处理,造成服务器不能处理其他udp的请求
反射放大攻击:

反射放大攻击原理利用一些协议的请求数据包和响应数据包比例不平衡的特点,就是响应包大于请求包,攻击者通过伪造受害者的 IP 地址、向开放性的服务器发送构造的请求报文,开放服务器会将大量的响应数据包发送受害者 IP,,间接形成 DDoS 攻击,如dns reflect flood /snmp reflect flood/ ntp reflect flood
cc攻击: challenge collapsar 抗击黑洞

cc攻击的原理是通过模拟多个用户访问目标网站的动态页面,制造大量的后台数据库查询动作,消耗目标CPU资源,造成拒绝服务。CC攻击是针对网站的页面进行攻击.
防御原理:

1.首包丢弃:丢弃第一个SYN报文看是否重传来判断客户端的真实性 ,比如syn ack攻击
2. 源认证:向客服端响应错误报文,根据客服端的反应判断客户端的真实性
3.会话检查,检查报文是否命中会话,如果没有命中直接丢弃,如果命中继续检查报文的序号,不正确的也是丢弃掉
4.特征过滤:报文长度或内容一样的报文数量超出阈值判定为udp攻击,直接丢弃
5.限速,超过设定的阈值之后,通知引流或者加入黑名单
6.在一定的周期内,请求访问量过大,超过了阈值,清洗设备通过返回验证码或者JS代码的方式。这种防护方式的依据是,攻击者利用工具模拟大量http 请求,正常户通过浏览器访问,利用工具发送的请求一般不会解析服务端返回数据,更不会解析JS之类的代码。当服务单返回一段特殊JavaScript代码,正常用户的浏览器会处理并正常跳转不影响使用,而攻击程序会攻击到空处。
常见DDOS攻击原理和防御的更多相关文章
- 浅谈JavaScript DDOS 攻击原理与防御
前言 DDoS(又名"分布式拒绝服务")攻击历史由来已久,但却被黑客广泛应用.我们可以这样定义典型的DDoS攻击:攻击者指使大量主机向服务器发送数据,直到超出处理能力进而无暇处理正 ...
- 浅谈JS DDoS攻击原理与防御
分布式拒绝服务攻击(DDoS)攻击是一种针对网站发起的最古老最普遍的攻击.Nick Sullivan是网站加速和安全服务提供商CloudFlare的一名系统工程师.近日,他撰文介绍了攻击者如何利用恶意 ...
- 敌情篇 ——DDoS攻击原理
敌情篇 ——DDoS攻击原理 DDoS攻击基础 DDoS(Distributed Denial of Service,分布式拒绝服务)攻击的主要目的是让指定目标无法提供正常服务,甚至从互联网上消失,是 ...
- 常见DDoS攻击
导航: 这里将一个案例事项按照流程进行了整合,这样观察起来比较清晰.部分资料来自于Cloudflare 1.DDoS介绍 2.常用DDoS攻击 3.DDoS防护方式以及产品 4.Cloudflare ...
- 简单总结几种常见web攻击手段及其防御方式
web攻击手段有几种,本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS XSS 概念 全称是跨站脚本攻击(Cross Site Scr ...
- 简单地总结几种常见web攻击手段及其防御方式
web攻击手段有几种,本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS XSS 概念 全称是跨站脚本攻击(Cross Site Scr ...
- UDP反射DDoS攻击原理和防范
东南大学:UDP反射DDoS攻击原理和防范 2015-04-17 中国教育网络 李刚 丁伟 反射攻击的防范措施 上述协议安装后由于有关服务默认处于开启状态,是其被利用的一个重要因素.因此,防范可以从配 ...
- 几种常见web攻击手段及其防御方式
XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS web安全系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 XSS 概念 全称是跨站脚本攻击(Cross ...
- 总结几种常见web攻击手段及其防御方式
本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS web安全系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 ...
随机推荐
- 10) 十分钟学会android--app数据保存三种方式
虽然可以在onPause()时保存一些信息以免用户的使用进度被丢失,但大多数Android app仍然是需执行保存数据的动作.大多数较好的apps都需要保存用户的设置信息,而且有一些apps必须维护大 ...
- Dependency Injection in ASP.NET MVC
原文引自http://www.dotnetcurry.com/ShowArticle.aspx?ID=786 1.传统三层结构,相邻两层之间交互: 2.如果使用EntityFramework则View ...
- R 连接DB2数据库,并制作词图
#写在前面的话:此教程主要是用R连接了DB2数据库,并进行文本分析,制作了词图 #教程为markdown编写 ---title: "网站留言分析"output: html_docu ...
- Nginx配置Q&A
隐藏响应头 How can remove Nginx from http response header? - Stack Overflow more_set_headers 'Server: my- ...
- RedHat/CentOS 手动挂载磁盘
#创建挂载目录mkdir /mnt/sdamkdir /mnt/sdbmkdir /mnt/sdcmkdir /mnt/sddmkdir /mnt/sdemkdir /mnt/sdfmkdir /mn ...
- Linux强行踢用户
首先who执行查看有几个终端在链接使用系统.如要踢出tty2 方法1: pkill -9 -t tty2 方法2: fuser -k /dev/tty2 fuser 指令 用途 使用文件或文件结构识别 ...
- 基于ACE的TAO开发---一个简单的入门实例-----VS2008(一)
万事开头难,不管做什么事最开始总是最困难的,一旦上手了就好了. 这也是我自己学习corba编程的一点经验和心得.下面的例子主要是保证读者跟着走能立马看到效果. 1.机器上的TAO是实现已经装好的开发版 ...
- 三维重建:Kinect几何映射-SDK景深数据处理
此文大量使用XML,非C类的代码,看看图即可. 原文链接:Kinect for Windows SDK开发入门(五):景深数据处理 3. 对物体进行测量 像上篇文章中对深度值测量原理进行讨论的那样,像 ...
- xshell登录centos7很慢解决办法
使用xshell登录到centos系统虚拟机,可以登录上去,但是认证速度特别慢. 因为在登录时,需要反向解析dns,因此,修改linux配置文件,vi /etc/ssh/sshd_config,将其注 ...
- 洛谷P3807 【模板】卢卡斯定理_组合数学模板
Code: #include<cstdio> using namespace std; typedef long long LL; const int maxn=1000000+2; LL ...