常见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攻击手段极其防御方式 总结几种常见的安全算法 ...
随机推荐
- 详解DevExpress.LookUpEdit控件实现自动搜索定位功能(转)
转载自csdn博客 爱拼才会赢 的博客 地址是详解DevExpress.LookUpEdit控件实现自动搜索定位功能(转)
- 全面改造升级内部OA系统
项目功能集团的OA办公系统,分别是销售管理系统.财务付款系统.原料采购系统.成品采购系统.担保系统和库房管理系统业务现状成品采购系统.库房管理系统.销售管理系统是Access开发的C/S系统,采用本地 ...
- C# DataTable常用方法总结
https://blog.csdn.net/wangzhen209/article/details/51743118
- 图片全屏轮播插件poposlides
jQuery轻量级全屏自适应焦点图插件poposlides 在线演示本地下载
- Daily Build[called heart beat]
###Daily Build->Object File&Binary File->Deploymened on release server->BVT Automation. ...
- 应运而生! 双11当天处理数据5PB—HiStore助力打造全球最大列存储数据库
阿里巴巴电商业务中历史数据存储与查询相关业务, 大量采用基于列存储技术的HiStore数据库,双11当天HiStore引擎处理数据记录超过6万亿条.原始存储数据量超过5PB.从单日数据处理量上看,该系 ...
- 京东专业“卖”队友,魅族手环将亮相1206魅蓝note新品发布会
京东一直是国内顶级的数码产品自营销售渠道,但是,正因为庞大的数据体系和平台特殊性,经常会帮我们发现一些“好玩的”保密性较高的东西,譬如价格.信息.谍照等.而在最新上线的京东超级品牌日活动页面上,专业“ ...
- 【真·干货】MySQL 索引及优化实战
热烈推荐:超多IT资源,尽在798资源网 声明:本文为转载文章,为防止丢失所以做此备份. 本文来自公众号:GitChat精品课 原文地址:https://mp.weixin.qq.com/s/6V7h ...
- vue的计算属性get和set
1.计算属性是用来存储数据,但具有以下几个特点: a.数据可以进行逻辑处理操作. b.对计算属性中的数据进行监视. 2.计算属性和普通属性的区别: a.计算属性是基于它的依赖进行更新的,只有在相关依赖 ...
- Jquery 根据HTML内容选择元素
选择所有包含 "is" 的 元素: $("p:contains(is)")