(原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
历史回顾
1. 2000年2月的“电子珍珠港事件”,正是互联网史上这样噩梦的集中时刻。2月7日、8日、9日连续三天,黑客对美国包括雅虎、亚马逊、国家贴现经纪公司网站、洛杉矶时报网站等各大网站发起集中攻击,直接造成了10多亿美元的损失。号称世界上最安全的网站——雅虎——是其中最不幸的一位。由于2月正是一年中网上购物最活跃的时候,雅虎的主要收入来自网上广告,在关闭的三小时内本该有1亿个页面被访问,黑客攻击直接造成雅虎至少数百万美元的损失。到现在为止,美国司法部和联邦调查局仍未掌握有关“电子珍珠港事件”的线索,不知道谁是袭击事件的幕后指使、有多少台计算机卷入,袭击原因和地址。但美国联邦调查局宣称——这些幕后黑手将被判5年至10年的监禁,并要求以25万美元或者受害者损失的双倍罚款。那次攻击使用的正是下面要讲到SYN Flood攻击。
2. 2006年9月12日晚上11时37分,百度发表声明,称其在12日下午遭受了有史以来最大的不明身份黑客攻击,百度搜索服务因此在全国各地出现近30分钟的故障。黑客Trail使用的正是下面要讲到的DRDOS攻击。
什么是DOS
DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络 带宽攻击和连通性攻击。带宽攻击指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致合法的用户请求就无法通过。连通性攻击指用大量的 连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。
什么是DDOS
分 布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS攻击,从而成倍地提高拒绝服务攻击的威 力。通常,攻击者使用一个偷窃帐号将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理程序通讯,代理程序已经被安装在 Internet上的许多计算机上。代理程序收到指令时就发动攻击。利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行。
什么是DRDOS
分 布式拒绝服务攻击(Distributed Reflection Denial Of Servie Attack),简称DRDOS,是新一代的DDOS攻击。当入侵者利用带有请求的SYN数据包对网络路由器进行洪水攻击。这些数据包带有虚假的IP地 址,这些地址都是XXX网站的。这样以来,路由器以为这些 SYN数据包是从XXX网站发送过来的,所以它们便对它们发送SYN/ACK数据包作为三次握手过程的第二步。恶意的数据包就反射到XXX网站的主机上 后,就形成了洪水攻击。
常用手段
常见的DDoS攻击手段有SYN Flood、Ping of Death、ACK Flood、UDP Flood、ICMP Flood、TCP Flood、Connections Flood、Script Flood、Proxy Flood等。
SYN Flood
据统计,在所有黑客攻击事件中,SYN攻击是最常见又最容易被利用的一种攻击手法。相信很多人还记得2000年YAHOO网站遭受的攻击事例,当时黑客利用的就是简单而有效的SYN攻击,有些网络蠕虫病毒配合SYN攻击造成更大的破坏。
TCP握手协议
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。(TCP three-way handshake)
2. 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
3. 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:
未连接队列: 在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到 SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包,删除该条目,服 务器进入ESTABLISHED状态。
Backlog参数:表示未连接队列的最大容纳数目。
SYN-ACK 重传次数 服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。
半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。
SYN攻击原理
从 上图可看到,服务器接收到连接请求(syn=j),将此信息加入未连接队列,并发送请求包给客户(syn=k,ack=j+1),此时进入 SYN_RECV状态。当服务器未收到客户端的确认包时,重发请求包,一直到超时,才将此条目从未连接队列删除。配合IP欺骗,SYN攻击能达到很好的效 果,通常,客户端在短时间内伪造大量不存在的IP 地址,向服务器不断地发送syn包,服务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长 时间占用未连接队列,正常的SYN请求被丢弃,目标系统运行缓慢,严重者引起网络堵塞甚至系统瘫痪。
如何发现SYN攻击
最简单的方法,使用netstat命令查看是否有很多TCP连接的状态为SYN_RECV 。如:下面的可判定该服务器正在收到SYN攻击。
tcp 0 0 10.11.11.11:23 124.173.152.8:25882 SYN_RECV -
tcp 0 0 10.11.11.11:23 236.15.133.204:2577 SYN_RECV -
tcp 0 0 10.11.11.11:23 127.160.6.129:51748 SYN_RECV -
tcp 0 0 10.11.11.11:23 222.220.13.25:47393 SYN_RECV -
tcp 0 0 10.11.11.11:23 212.200.204.182:60427 SYN_RECV -
tcp 0 0 10.11.11.11:23 232.115.18.38:278 SYN_RECV -
tcp 0 0 10.11.11.11:23 239.116.95.96:5122 SYN_RECV -
tcp 0 0 10.11.11.11:23 236.219.139.207:49162 SYN_RECV -
...
Ping of Death
所谓Ping of Death,就是利用一些尺寸超大的ICMP报文对系统进行的一种攻击。IP报文的长度字段为16位,这表明一个IP报文的最大长度为65535。对于 ICMP 回应请求报文,如果数据长度大于65507,就会使ICMP数据+IP头长度(20)+ICMP头长度(8)> 65535。对于有些路由器或系统,在接收到一个这样的报文后,由于处理不当,会造成系统崩溃、死机或重启。
实际上从早先版本的Windows上就可以运行 Ping of Death。在命令行下只需键入:“ping -l 65550 攻击目标”即可。Windows还有一个漏洞就是它不但在收到这种无效数据时会崩溃,而且还可以在偶然的情况下生成这种数据。Windows的较新版本防 止您发送这些数据。
如何防御拒绝服务攻击
监控骨干网络设备,减少骨干网主机的漏洞
- 关闭不必要的服务。
- 限制同时打开的Syn半连接数目。
- 缩短Syn半连接的time out 时间。
- 及时更新系统补丁。
合理配置路由器及防火墙,实现IDS和防火墙的联动
加强网络管理,建立合理的应对策略
转载于:https://www.cnblogs.com/coderzh/archive/2008/09/17/1292808.html
(原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)相关推荐
- DOS DDOS DRDOS原理
DoS是Denial of Service的简写就是拒绝服务,而DDoS就是Distributed Denial of Service的简写就是分布式拒绝服务,而DRDoS就是Distributed ...
- 几种常见的攻击方式扫盲(一)——NTP反射放大
1.什么是NTP服务? NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议 在计算机的世界里,时间非常地重要,例如对于火箭发射这种科研活动,对 ...
- 从攻击方式分类ddos
ddos攻击2 导读: 分别从 带宽消耗攻击.设备资源消耗攻击.畸形报文攻击.应用资源反射攻击. 慢攻击 几种攻击方式分类并介绍常见的ddos攻击. 带宽消耗攻击 TCP Flood.UDP Fl ...
- 托攻击的多种攻击方式-----WZW托攻击学习日记(五)
这一次,介绍几种托攻击模型.托攻击是什么? 托攻击就是恶意用户或竞争对手公司可能试图在用户-项目矩阵中插入假的个人资料,以影响预测的评级或降低系统的性能. 接博客<托攻击检测基础知识-----W ...
- 利用kali进行DOS/DDOS攻击(局域网内)(DHCP原理 ARP原理)
1.什么是DOS/DDOS攻击? DOS:拒绝服务攻击(Deny Of Service) DDOS:DDOS攻击(Distributed denial of service attack) 一般来说D ...
- 【安全牛学习笔记】拒绝服务***工具
拒绝服务***工具 Nmap - grep dos /usr/share/nmap/scripts/script.db | cut -d "\"" -f 2 root@K ...
- linux系统服务器可能被攻击的几种攻击方式
linux系统随着Linux企业应用的扩展,有大量的网络服务器使用Linux操作系统.Linux服务器的安全性能受到越来越多的关注,这里根据Linux服务器受到攻击的深度以级别形式列出,并提出不同的解 ...
- php攻击方式及防御方法,Syn Flood 攻击 及其一般防御方法
防火墙通知受到Syn Flood攻击,并解释说: A SYN Flood is an attempt to consume memory and resources. A Normal TCP/IP ...
- 服务器被攻击 常见的服务器攻击方式有哪些
现在很多网站的服务器都被攻击过,这会给网站带来很大损失,所以应该采取一些防御措施.下面就带大家来看看怎样防止服务器被攻击,常见的服务器攻击方式有哪些. 怎样防止服务器被攻击 1.关闭端口, ...
最新文章
- Maven安装和配置环境变量
- Linux下shell脚本实战之批量新建用户
- CentOS7使用ISO镜像文件作为离线Yum源
- [BUUCTF-pwn]——ciscn_2019_n_8
- JavaSE-21 字符编码简介
- 数据库-优化-检查慢日志是否开启
- chrome前端开发工具_精通Chrome开发人员工具:更高级别的前端开发技术
- 系统相机裁剪比例_拍照时图片比例怎么选?比构图还要提前一步的摄影攻略要做好...
- day08面向对象-内部类、异常
- docx文档怎么排列图片_打开.docx文件的6种方法分享:docx文件怎么打开?
- 基于单片机的公交车系统
- 面向对象设计——系统动态模型设计(1,交互模型)
- android版本9是什么,安兔兔:81.9%的用户升级到了Android 9,你的手机是什么版本呢?...
- Android Base64解码失败问题
- 传奇修改完怪物血量后服务器不变,传奇怪物的血量调整方法(图文)
- 漫画:什么是服务熔断
- axios请求拦截器 和 响应拦截器
- 南邮-NCTF2022 WRITE UP
- 告诉你什么是挖洞最清奇的脑回路
- 《魔灵保卫者》服务端架构及实现
热门文章
- 中国冶金工业节能减排行业十四五发展方向及投资战略决策建议报告2021-2027年
- python递归函数1到n求和_python递归法求解累加和
- DirectX12 - Command List(命令列表)
- SDL基本原理及使用实战
- Lucene查询语法
- Lucene 计算对象大小
- 计算两个日期之间的日期差。输入:第一行为一个整数T,表示有T组数据,每行三个整数year, month, day 分别代表年,月,日。输出:每组输出一个整数,表示从2012年3月12到给出的日期共几天
- 2022年全球及中国刹车片行业头部企业市场占有率及排名调研报告
- 谨以此文督促自己好好学习
- 3种常用的文件上传方式