常见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攻击手段极其防御方式 总结几种常见的安全算法 ...
随机推荐
- Npgsql使用入门(三)【批量导入数据】
Program.cs代码: class Program { static void Main(string[] args) { var test = new PgBulkCopyHelper<S ...
- 整体刷新和局部刷新frameset窗口
在项目中,经常会遇到页面分割,最常见的系统或网站的主界面.主页面分为,上面系统简介.下面作者简介.左边系统功能菜单.右边则是菜单真正展示的界面. 遇到这种这种分割页面,大家首先想到是frameset, ...
- js中获取浏览器和屏幕高度
Javascript: IE中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高 ...
- MFC知识点总结
一:消息1.什么是消息?消息是驱动windows系统运行的基础.从计算机的角度来看,消息就是一个整数. (1)一个无符号整数,是消息值: (2)消息附带的WPARAM和LPARAM类型的参 ...
- LINUX的signal
linux的信号来源 1.由一个进程发给另一个进程(或本身) 2.内核发给进程 信号的特征 异步的,分为可靠信号和不可靠信号. 进程收到信号时怎么处理 1.执行信号处理程序 2.如果收到信号时处在一个 ...
- (转)基于MVC4+EasyUI的Web开发框架形成之旅--基类控制器CRUD的操作
http://www.cnblogs.com/wuhuacong/p/3352016.html 在上一篇随笔中,我对Web开发框架的总体界面进行了介绍,其中并提到了我的<Web开发框架>的 ...
- BZOJ1150 [CTSC2007] 数据备份Backup 贪心_堆_神题
Description 你在一家 IT 公司为大型写字楼或办公楼(offices)的计算机数据做备份.然而数据备份的工作是枯燥乏味 的,因此你想设计一个系统让不同的办公楼彼此之间互相备份,而你则坐在家 ...
- win10 1809磁盘占用总是100%
快过年了,提前请假回家,装几台电脑公司备用.有个电脑装完系统开机很慢,开机完成之后电脑响应也很慢,于是打开任务管理器发现磁盘中用率一直是100%,然而程序读取数据的速度并不高. 解决思路: 关闭win ...
- C#使用 ComboBox 控件
Combox控件是一个下拉选择的控件,再做上位机的时候会经常用到,这里记录一下我是怎么用. 1.拉出一个combox控件 2.控件属性选为不可编辑,可编辑的话,你选择下拉框的内容后可以改下拉框里的内容 ...
- redis 在 Linux 和 Windows 上的安装配置
最近需要在服务器上安装 redis,虽然只是一个小事情,但这个过程中也遇到了不少的问题,所以做一个总结,也希望能给到其他人一些帮助. 本文记录了 linux 系统和 windows 系统的 redis ...