DDos攻击竟然这么恐怖,它的原理是什么?
DDOS的定义
分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。通常该攻击方式利用目标系统网络服务功能缺陷或者直接消耗其系统资源,使得该目标系统无法提供正常的服务。
攻击的方式
网络层DDos攻击
(1)SYN flood攻击
SYN flood攻击主要利用了TCP三次握手过程中的bug,我们知道TCP三次握手过程是要建立连接的双方发送SYN,SYN+ACK,ACK数据包,而当攻击方随意构造源ip去发送SYN包时,服务器返回的SYN+ACK就不能得到应答(因为ip是随意构造的),此时服务器就会尝试重新发送,并且会有至少30s的等待时间,导致资源饱和服务不可用,此攻击属于慢型dos攻击。
(2)UDP flood攻击
由于udp是一种无连接的协议,因此攻击者可以伪造大量的源IP地址去发送udp包,此种攻击属于大流量攻击。正常应用情况下,UDP包双向流量会基本相等,因此在消耗对方资源的时候也在消耗自己的资源。
(3)ICMP flood攻击
此攻击属于大流量攻击,其原理就是不断发送不正常的ICMP包(所谓不正常就是ICMP包内容很大),导致目标带宽被占用,但其本身资源也会被消耗。并且目前很多服务器都是禁ping的(在防火墙在可以屏蔽icmp包),因此这种方式已经落伍。
应用层DDos攻击
(1)CC攻击(Challenge Collapasar)
CC攻击的原理,就是针对消耗资源比较大的页面不断发起不正常的请求,导致资源耗尽。因此在发送CC攻击前,我们需要寻找加载比较慢,消耗资源比较多的网页,比如需要查询数据库的页面、读写硬盘文件的等。通过cc攻击,使用爬虫对某些加载需要消耗大量资源的页面发起http请求。
(2)HTTP POST DOS
原理是在发送HTTP POST包时,指定一个非常大的Content-Length值,然后以极低的速度发包,保持连接不断,导致服务饱和不可用。
DDoS攻击通过大量的请求占用大量网络资源,以达到瘫痪网络的目的。攻击方式可分为以下几种:
通过使网络过载来干扰甚至阻断正常的网络通讯;
通过向服务器提交大量请求,使服务器超负荷;
阻断某一用户访问服务器;
阻断某服务与特定系统或个人的通讯。
攻击的现象
出现DDOS攻击时,往往会有以下特征:
被攻击主机上有大量等待的TCP连接;
网络中充斥着大量的无用的数据包;
源地址为假 制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯;
利用受害主机提供的传输协议上的缺陷反复高速的发出特定的服务请求,使主机无法处理所有正常请求;
严重时会造成系统死机。
Ddos攻击的危害
DDOS采取的攻击手段就是分布式的攻击方式,在攻击的模式改变了传统的点对点的攻击模式,使攻击方式出现了没有规律的情况,而且在进行攻击的时候,通常使用的也是常见的协议和服务,这样只是从协议和服务的类型上是很难对攻击进行区分的。
在进行攻击的时候,攻击数据包都是经过伪装的,在源IP
地址上也是进行伪造的,这样就很难对攻击进行地址的确定,在查找方面也是很难的。这样就导致了分布式拒绝服务攻击在检验方法上是很难做到的。
DDos防御
尽可能对系统加载最新补丁,并采取有效的合规性配置,降低漏洞利用风险;
采取合适的安全域划分,配置防火墙、入侵检测和防范系统,减缓攻击;
采用分布式组网、负载均衡、提升系统容量等可靠性措施,增强总体服务能力。
发动DDOS攻击的主要攻击来源是分布在世界各地的僵尸网络。
僵尸网络定义
僵尸网络(Botnet)是互联网上受到黑客集中控制的一群计算机,往往被黑客用来发起大规模的网络攻击,如分布式拒绝服务攻击(DDoS)、海量垃圾邮件等。
需要发动攻击时,攻击者通过中心服务器发送预先定义好的控制指令,让被感染主机执行恶意行为,如发起DDos攻击、窃取主机敏感信息、更新升级恶意程序等。
僵尸网络的类型
Botnet根据分类标准的不同,可以有多许多种分类。
按程序种类
Agobot/Phatbot/Forbot/XtremBot。这可能是最出名的僵尸工具。防病毒厂商Spphos列出了超过500种已知的不同版本的Agobot(Sophos 病毒分析),这个数目也在稳步增长。僵尸工具本身使用跨平台的C++写成。
Agobot最新可获得的版本代码清晰并且有很好的抽象设计,以模块化的方式组合,添加命令或者其他漏洞的扫描器及攻击功能非常简单,并提供像文件和进程隐藏的Rootkit。
能力在攻陷主机中隐藏自己。在获取该样本后对它进行逆向工程是比较困难的,因为它包含了监测调试器(Softice和O11Dbg)和虚拟机(VMware 和Virtual PC)的功能。
SDBot/RBot/UrBot/SpyBot/。这个家族的恶意软件目前是最活跃的bot程序软件,SDBot由C语言写成。它提供了和Agobot 一样的功能特征,但是命令集没那么大,实现也没那么复杂。它是基于IRC协议的一类bot程序。
GT-Bots是基于当前比较流行的IRC客户端程序mIRC编写的,GT是(GlobalThreat)的缩写。这类僵尸工具用脚本和其他二进制文件开启一个mIRC聊天客户端,但会隐藏原mIRC窗口。通过执行mIRC脚本连接到指定的服务器频道上,等待恶意命令。这类bot程序由于捆绑了mIRC程序,所以体积会比较大,往往会大于1MB。
按控制方式
RC Botnet。
是指控制和通信方式为利用IRC协议的Botnet,形成这类Botnet的主要bot程序有spybot、GTbot和SDbot,目前绝大多数Botnet属于这一类别。
AOL Botnet。
与IRCBot类似,AOL为美国在线提供的一种即时通信服务,这类Botnet是依托这种即时通信服务形成的网络而建立的,被感染主机登录到固定的服务器上接收控制命令。AIM-Canbot和Fizzer就采用了AOL Instant Messager实现对Bot的控制。
P2P Botnet。
这类Botnet中使用的bot程序本身包含了P2P的客户端,可以连入采用了Gnutella技术(一种开放源码的文件共享技术)的服务器,利用WASTE文件共享协议进行相互通信。由于这种协议分布式地进行连接,就使得每一个僵尸主机可以很方便地找到其他的僵尸主机并进行通信,而当有一些bot被查杀时,并不会影响到Botnet的生存,所以这类的Botnet具有不存在单点失效但实现相对复杂的特点。Agobot和Phatbot采用了P2P的方式。
重大历史事件
历史上有名ddos的攻击事件很多,涉及行业包括政治,经济,军事等各个行业,下面列举一下2016年比较有名的几起DDOS事件。
暴雪DDoS攻击
LizardSquad组织对暴雪公司战网服务器发起DDoS攻击,包括《星际争霸2》、《魔兽世界》、《暗黑破坏神3》在内的重要游戏作品离线宕机,玩家无法登陆。名为“Poodle Corp”黑客组织也曾针对暴雪发起多次DDoS攻击。
攻击不仅导致战网服务器离线,平台多款游戏均受到影响,包括《守望先锋》,《魔兽世界》、《暗黑3》以及《炉石传说》等,甚至连主机平台的玩家也遇到了登陆困难的问题。
珠宝店遭遇25000个摄像头组成的僵尸网络攻击
一家普通的珠宝在线销售网站遭到了黑客的攻击,美国安全公司Sucuri在对这一事件进行调查时发现,该珠宝店的销售网站当时遭到了泛洪攻击,在每秒钟35000次的HTTP请求(垃圾请求)之下,该网站便无法再提供正常的服务。
当时,Sucuri公司的安全研究人员曾尝试阻止这次网络攻击,但是这一僵尸网络却进一步提升了垃圾请求的发送频率,随后该网络每秒会向该商店的销售网站发送超过50000次垃圾HTTP请求。
安全研究人员对此次攻击中的数据包来源进行分析后发现,这些垃圾请求全部来源于联网的监控摄像头,25000个摄像头组成僵尸网络发起DDoS攻击,成为已知最大的CCTV(闭路电视摄像头)僵尸网络。
Anonymous组织发起的“Operation OpIcarus”攻击
Anonymous(匿名者)麾下的BannedOffline、Ghost Squad Hackers(幽灵黑客小队)等黑客小组,针对全球范围内的多家银行网站,发动了短期性网络攻击,Anonymous将此次攻击行动称为:“Operation OpIcarus”。
此次选定的攻击目标包括约旦国家央行、韩国国家央行、摩纳哥央行以及一些设立在摩纳哥的企业银行网站等,随后黑客们对其实施了一系列的DDoS攻击。这次攻击导致约旦、韩国以及摩纳哥等央行网络系统陷入了半小时的瘫痪状态,使其无法进行正常工作,而黑山国家银行网络系统则被迫关闭,停止服务。
精准的NS1攻击
DNS和流量管理供应商NS1(ns1.com)遭遇了历时10天的针对性大规模DDoS攻击,它通过执行上游流量过滤和使用基于行为的规则屏蔽了大部分攻击流量。
攻击者没有使用流行的DNS放大攻击,而是向NS1的域名服务器发送编程生成的DNS查询请求,攻击流量达到了每秒5000万到6000万 数据包,数据包表面上看起来是真正的查询请求,但它想要解析的是不存在于NS1客户网络的主机名。攻击源头也在东欧、俄罗斯、中国和美国的不同僵尸网络中轮换。
五家俄罗斯银行遭遇DDoS攻击
俄罗斯五家主流大型银行遭遇长达两天的DDoS攻击。来自30个国家2.4万台计算机构成的僵尸网络持续不间断发动强大的DDOS攻击。
卡巴斯基实验室提供的分析表明,超过50%的僵尸网络位于以色列、台湾、印度和美国。每波攻击持续至少一个小时,最长的不间断持续超过12个小时。攻击的强度达到每秒发送66万次请求。卡巴斯基实验室还指出,有些银行反复遭受被攻击。
Mirai僵尸网络攻击KrebsonSecurity
Mirai是一个十万数量级别的僵尸网络,由互联网上的物联网设备(网络摄像头等)构成,8月开始构建,9月出现高潮。攻击者通过猜测设备的默认用户名和口令控制系统,将其纳入到Botnet中,在需要的时候执行各种恶意操作,包括发起DDoS攻击,对互联网造成巨大的威胁。
安全研究机构KrebsonSecurity也遭遇Mirai攻击,当时被认为是有史以来最大的一次网络攻击之一。然而没过多久,法国主机服务供应商OVH也遭到了两次攻击,罪魁祸首依然是Mirai。据悉,KrebsonSecurity被攻击时流量达到了665GB,而OVH被攻击时总流量则超过了1TB。
美国大半个互联网下线事件
说起DDOS攻击就不得不提Dyn事件。10月21日,提供动态DNS服务的Dyn
DNS遭到了大规模DDoS攻击,攻击主要影响其位于美国东区的服务。
此次攻击导致许多使用DynDNS服务的网站遭遇访问问题,其中包括GitHub、Twitter、Airbnb、Reddit、Freshbooks、Heroku、SoundCloud,、Spotify 和Shopify。攻击导致这些网站一度瘫痪,Twitter甚至出现了近24小时0访问的局面。
推荐阅读
>>>【必备干货】网工入门必会桥接教程,外网+GNS3+Vmware
网工界市场认可度极高的华为认证,你考了吗?
拿下华为HCIE认证之后,你可以:
跨越90%企业的招聘硬门槛
增加70%就业机会
拿下BAT全国TOP100大厂敲门砖
体系化得到网络技术硬实力
技术大佬年薪可达30w+
资源放送
2021新版华为思科双厂商认证18集小白入门到进阶实战课,扫描下方二维码,即可观看:
DDos攻击竟然这么恐怖,它的原理是什么?的更多相关文章
- 敌情篇 ——DDoS攻击原理
敌情篇 ——DDoS攻击原理 DDoS攻击基础 DDoS(Distributed Denial of Service,分布式拒绝服务)攻击的主要目的是让指定目标无法提供正常服务,甚至从互联网上消失,是 ...
- JavaScript实现DDoS攻击原理,以及保护措施。
DDos介绍 最普遍的攻击是对网站进行分布式拒绝服务(DDoS)攻击.在一个典型的DDoS攻击中,攻击者通过发送大量的数据到服务器,占用服务资源.从而达到阻止其他用户的访问. 如果黑客使用JavaSc ...
- DDOS攻击原理及防护方法论
从 07年的爱沙尼亚DDOS信息战,到今年广西南宁30个网吧遭受到DDOS勒索,再到新浪网遭受DDOS攻击无法提供对外服务500多分钟. DDOS愈演愈烈,攻击事件明显增多,攻击流量也明显增大,形 ...
- 反射型 DDoS 攻击的原理和防范措施
随着僵尸网络的兴起,同时由于攻击方法简单.影响较大.难以追查等特点,分布式拒绝服务攻击(DDoS,Distributed Denial of Service)得到快速壮大和日益泛滥. 成千上万主机组成 ...
- UDP反射DDoS攻击原理和防范
东南大学:UDP反射DDoS攻击原理和防范 2015-04-17 中国教育网络 李刚 丁伟 反射攻击的防范措施 上述协议安装后由于有关服务默认处于开启状态,是其被利用的一个重要因素.因此,防范可以从配 ...
- 浅谈JavaScript DDOS 攻击原理与防御
前言 DDoS(又名"分布式拒绝服务")攻击历史由来已久,但却被黑客广泛应用.我们可以这样定义典型的DDoS攻击:攻击者指使大量主机向服务器发送数据,直到超出处理能力进而无暇处理正 ...
- DDoS 攻击与防御:从原理到实践
本文来自 网易云社区 . 可怕的 DDoS 出于打击报复.敲诈勒索.政治需要等各种原因,加上攻击成本越来越低.效果特别明显等趋势,DDoS 攻击已经演变成全球性的网络安全威胁. 危害 根据卡巴斯基 2 ...
- DDoS 攻击与防御:从原理到实践(下)
欢迎访问网易云社区,了解更多网易技术产品运营经验. DDoS 攻击与防护实践 DDoS 攻击的实现方式主要有如下两种: 自建 DDoS 平台 现在有开源的 DDoS 平台源代码,只要有足够机器和带宽资 ...
- 浅谈拒绝服务攻击的原理与防御(4):新型DDOS攻击 – Websocket和临时透镜
0×01 前言 前几天我已经分别发了三篇关于DDOS攻击相关的文章,我也是第一次在freebuf上发表这种文章,没想到有那么多人点击我真的很开心,前几天我为大家介绍的DDOS攻击的方法和原理都是已经出 ...
随机推荐
- Spring系列13:bean的生命周期
本文内容 bean的完整的生命周期 生命周期回调接口 Aware接口详解 Spring Bean的生命周期 面试热题:请描述下Spring的生命周期? 4大生命周期 从源码角度来说,简单分为4大阶段: ...
- 什么是Native方法 (转)
一个Native Method就是一个java调用非java代码的接口(NDK也跟这有关吗?(疑问)一个Native Method由非java语言实现 在定义一个native method时,并不提供 ...
- nginx实现跨域访问并支持(GET, POST,PUT,DELETE, OPTIONS)
最近有同事提出在使用客户端跨域访问的时候,发现服务器对option请求返回了403,后来查看了网络添加了一段配置,发现option服务返回204了,但是后续的put操作也直接返回了204导致无法使用图 ...
- @property基本概念
1.什么是@property @property是编译器的指令 什么是编译器的指令 ? 编译器指令就是用来告诉编译器要做什么! @property会让编译器做什么呢? @property 用在声明文件 ...
- 聊天泡泡(仿微信)By-H罗
在做私信时,聊天泡泡仿着QQ做时,聊天泡泡底图有露出,不怎么好看,微信的就比较好看,当时就因为那2行纠结了好久 - (void)viewDidLoad { [super viewDidLoad]; / ...
- Python—列表元组和字典
Python-列表元组和字典 列表 元组 字典 列表: 列表是Python中的一种数据结构,他可以存储不同类型的数据.尽量存储同一种类型 列表索引是从0开始的,我们可以通过索引来访问列表的值. 列表的 ...
- traceback.print_exc()的用法
Python使用traceback.print_exc()来代替print e 来输出详细的异常信息 [python] view plain copy try: 1/0 except Except ...
- Note - 千年食谱颂
其实是兔子收集的各种下饭操作与名菜食谱.( 零·策略篇 多校 NOIP 2021.11.05: 这个真的是,我每次打毛毛虫剖分都是 rush 状态 qwq.像这种 已知代码难度大.不便于调试的 ...
- .Net Core AOP之IResultFilter
一.简介 在.net core 中Filter分为以下六大类: 1.AuthorizeAttribute(权限验证) 2.IResourceFilter(资源缓存) 3.IActionFilter(执 ...
- 攻防世界Web_easytornado
题目: 解题思路: 题目就三个txt文本文件 , 由python_template_injection这篇随笔中了解到tornado也是python web应用程序模板的一种,应该也是考查模板注入. ...