首页
社区
课程
招聘
[原创]通过一次演习,产生的对DOS的思考。
发表于: 2021-4-24 21:46 1402

[原创]通过一次演习,产生的对DOS的思考。

2021-4-24 21:46
1402

此篇文章,意在通过记录这次HW事件,然后事后针对突发情况,产生思考,然后查阅相关资料,对知识进行一次总结,很多内容来源于一些原文,我觉得写得不错,比我好,若有不足之处,敬请谅解。

一. 事件记录

在攻防的过程中,我使用的是IPS(具体型号,厂商,不便告知)。通过这台入侵防御系统,可以实现对流经数据和流量的监控,进而可以深度分析,最后达到主动防御的效果。当大量的数据流经时,CPU和内存将会消耗相应的资源来处理这次事件。简言之,数据量越多,CPU和内存消耗越高。最后当CPU和内存的消耗超过一定阈值时,设备会发出告警,这时需要人工来采取相应的策略来解决问题。

1
2
3
问题的来源:在护网的后期,CPU和内存多次出现100%的高峰,但是设备没有告警。对此,我开始产生思考。
a.为什么没有产生告警?
b.设备又是怎样来处理dos事件的?以及市面上,其他厂商是如何解决的?

对于第一个问题,我通过和后台工程师交流了一下,原因是:设备获取数据的方式,是在5分钟内,随机获取一个值,然后通过这个值与阈值进行对比,然后判断是否发出警告。可以这样解释,前端的图像,是对整个时间段的CPU消耗的数据呈现,假设,当前CPU消耗最高到80%,阈值设定为20%,那么我们看到的画面是80%的高峰,但是从中随机获取一个值,15%,低于阈值,所以也就不会报警。

 

这样的设计,对于客户来说,需要改进;对于厂商,这样的设计,也有一定的道理。对此,不在今天的话题范围内。

对于第二个问题,设备的处理方式是,首先检查数据的接口信息,判断是否存在丢包;然后关闭系统的一些不必要的端口和应用,联系后台处理;最后可以bypass,不对数据进行拦截。

 

这样的处理方式,在业界属于比较普遍的现象。同时,也反映出,当前dos攻击的防御存在很大的限制,并且也说明IPS存在一定的瓶颈(数据流量的瓶颈,此问题,我已了解,后面会在总结中,说明这一切)。至于其他厂商如何解决的,这是今天的重点。

二.ddos相关理论的介绍(借鉴阿里云)

相关知识链接:
DOS——腾讯云
DOS——阿里云
ddos,全称是分布式拒绝服务(distributed denial of service,简称ddos)将多台计算机联合起来作为攻击平台,通过远程连接利用恶意程序,对一个或多个目标发起ddos攻击,消耗目标服务器性能或网络带宽,从而造成服务器无法正常地提供服务。

1. 攻击原理

通常,攻击者使用一个非法账号将DDoS主控程序安装在一台计算机上,并在网络上的多台计算机上安装代理程序。在所设定的时间内,主控程序与大量代理程序进行通讯,代理程序收到指令时对目标发动攻击,主控程序甚至能在几秒钟内激活成百上千次代理程序的运行。

2.DDOS 攻击地危害

  • 重大经济损失
    在遭受DDOS攻击时,源站服务可能无法提供服务,导致用户无法正常访问业务,从而造成损失。
  • 数据泄露
    黑客在对服务器进行DDOS攻击时,可能会趁机窃取业务地核心数据。
  • 恶意竞争
    部分行业存在恶意竞争,竞争对手可能会通过DDOS攻击恶意攻击服务,从而在行业竞争中获得优势。

3.DDOS攻击类型

畸形报文:畸形报文主要包括Frag Flood、Smurf、Stream Flood、Land Flood、IP畸形报文、TCP畸形报文、UDP畸形报文等。畸形报文攻击指通过向目标系统发送有缺陷的IP报文,使得目标系统在处理这样的报文时出现崩溃,从而达到拒绝服务的攻击目的。
传输层DDOS攻击:传输层DDoS攻击主要包括Syn Flood、Ack Flood、UDP Flood、ICMP Flood、RstFlood等。以Syn Flood攻击为例,它利用了TCP协议的三次握手机制,当服务端接收到一个Syn请求时,服务端必须使用一个监听队列将该连接保存一定时间。因此,通过向服务端不停发送Syn请求,但不响应Syn+Ack报文,从而消耗服务端的资源。当监听队列被占满时,服务端将无法响应正常用户的请求,达到拒绝服务攻击的目的。
DNS DDOS攻击:DNS DDoS攻击主要包括DNS Request Flood、DNS Response Flood、虚假源+真实源DNS Query Flood、权威服务器攻击和Local服务器攻击等。以DNS Query Flood攻击为例,其本质上执行的是真实的Query请求,属于正常业务行为。但如果多台傀儡机同时发起海量的域名查询请求,服务端无法响应正常的Query请求,从而导致拒绝服务。
Web应用层DDoS攻击:Web应用层攻击主要是指HTTP Get Flood、HTTP Post Flood、CC等攻击。通常应用层攻击完全模拟用户请求,类似于各种搜索引擎和爬虫一样,这些攻击行为和正常的业务并没有严格的边界,难以辨别。
Web服务中一些资源消耗较大的事务和页面。例如,Web应用中的分页和分表,如果控制页面的参数过大,频繁的翻页将会占用较多的Web服务资源。尤其在高并发频繁调用的情况下,类似这样的事务就成了早期CC攻击的目标。
由于现在的攻击大都是混合型的,因此模拟用户行为的频繁操作都可以被认为是CC攻击。例如,各种刷票软件对网站的访问,从某种程度上来说就是CC攻击。
CC攻击瞄准的是Web应用的后端业务,除了导致拒绝服务外,还会直接影响Web应用的功能和性能,包括Web响应时间、数据库服务、磁盘读写等。
连接型DDoS攻击:连接型DDoS攻击主要是指TCP慢速连接攻击、连接耗尽攻击、Loic、Hoic、Slowloris、 Pyloris、Xoic等慢速攻击。以Slowloris攻击为例,其攻击目标是Web服务器的并发上限。当Web服务器的连接并发数达到上限后,Web服务即无法接受新的请求。Web服务接收到新的HTTP请求时,建立新的连接来处理请求,并在处理完成后关闭这个连接。如果该连接一直处于连接状态,收到新的HTTP请求时则需要建立新的连接进行处理。而当所有连接都处于连接状态时,Web将无法处理任何新的请求。

4. 如何判断业务是否已遭受DDOS攻击

出现以下情况时,您的业务可能已遭受DDoS攻击:

  • 网络和设备正常的情况下,服务器突然出现连接断开、访问卡顿、用户掉线等情况。
  • 服务器CPU或内存占用率出现明显增长。
  • 网络出方向或入方向流量出现明显增长。
  • 您的业务网站或应用程序突然出现大量的未知访问。
  • 登录服务器失败或者登录过慢。

三.DDOS相关黑产介绍

1. DDOS的发展

相关文档链接:攻击态势报告
通过阿里云栖社区报告《2019年上半年DDOS攻击态势报告》,这篇文档,详细介绍了这些年来DDOS的发展过程。其中核心部分是:
相比过去,目前的主要表现是

  • TB级攻击已经到来;
  • 得益于各机构对Memcached反射源的治理,目前Memcached反射放大攻击整体呈现下降趋势。
  • 应用层攻击对抗。攻击者通过变化多种攻击特征加大攻击量,企图绕过防御规则,压垮防护设备性能。针对百万级连接耗尽型攻击,企业需要根据攻击量进行快速隔离防护,并根据攻击量防护动态快速扩容,不让单一节点性能成为防御瓶颈
  • 伪装成正常应用的恶意APP已让海量移动设备成为新一代肉鸡。

2. 关于DDOS的黑灰产

近期最大的新闻就是美国电信网络遭遇DDoS攻击,全国网络几乎瘫痪,网络、电话、短信均已无法正常使用。这也是源于DDoS在进行攻击时,可以对源IP地址进行伪造,对攻击进行检测是非常困难的,因此这种攻击方式也成为了非常难以防范的攻击,所以政府、事业单位官网都很难避免。
闹得比较热的,是任天堂事件。,2TB的文件泄露,Resetera网站用户Atheerios密切关注了此次事件,推测黑客是通过攻击BroadOn的服务器,一家和任天堂合作的公司服务器。黑客拿到了Wii主机的所有源代码、数据表、设计框图,几乎都是公司机密文件,这一事,直接影响了任天堂游戏布局。
此前,世界上最大比特币交易所Mt.Gox,承担着超过全球3/4的比特币交易。2013年,这个交易所被盗85万个比特币,市值达4.6亿美元。紧接着不到一年这家交易所就宣布破产了。完美演绎钱来钱走,全靠黑客的一副键盘的神话。

四.阿里云是如何防范DDOS(云盾)

当网络流量超过清洗阈值的时候,阿里云开始对攻击流量进行清洗,并尽可能保障业务的正常可用;清洗的过程是,将流量从原始网络路径中重定向到清洗设备上,通过清洗设备对该IP的流量成分进行正常和异常判断,丢弃异常流量,并对最终到达服务器的流量实施限流,减轻攻击对服务器造成的损害,但是流量中正常的部分可能造成损失。当网络流量超过最大的防御能力时,则会触发黑洞机制,服务器的外网访问将被暂时屏蔽。

1. 清洗能力

云盾充分利用其全球清洗中心的能力,采用分布式技术将DDOS攻击流量自动牵引至距离攻击源最近的清洗中心进行清洗,同时具备多机房自动容灾的能力。
图片描述
面临DDOS攻击越来越复杂的环境,云盾高防产品通过四点来御敌。

  • 近源清洗:与运营商合作建立防护生态圈,在源头上进行清洗,近攻击点的第一层防护;
  • 流量封禁:可按区域或协议进行自定义封禁,或根据僵尸网络威胁情报进行自动封禁,近攻击点的第二层防护;
  • 智能四层防护:自动学习正常业务流量并建立模型,攻击流量无所遁形;
  • 智能WEB防护:智能识别攻击报文特征,精准匹配过滤攻击流量。
    图片描述

    2. 数据可视化

    完整的记录下攻击的日志,一方面可以进行快速有效的实时分析,进一步改进防护效果;另一方面也便于后续取证和溯源,变被动防守为主动防守。
    目前,云盾高防依托于日志服务提供网站业务全量日志的实时采集、秒级查询和深度分析,实现DDoS攻击防护数据化、透明化和可视化。实时展示被保护网站的总体运营状况和被访问状况,包括有效请求状况、流量趋势、CC攻击分布、PV/UV趋势、访问者分布、流量线路分布等数据,帮助用户在遭遇DDoS攻击时完整地记录下详细日志,并对关键业务或攻击进行深入分析。

五. 腾讯云如何防御DDOS攻击(网盾)

腾讯应对DDOS的解决方案是,使用高仿IP,高仿CDN——SCDN等。通过这样的高防服务器,简单说,就是以盾制攻。
腾讯安全联合实验室,从多个方面提供防护DDos的解决方案。包含IP 画像、行为分析、Cookie 挑战、等多维算法,拥有领先的DDoS识别清晰能力,可以做到99.995%+的清洗成功率,并不断快速进化算法,以应对不停变更的攻击。腾讯安全采用高防IP的方式,隐藏业务真实IP,在攻击流量和业务流量同时到达时,客户把腾讯云高防IP作为业务IP,将攻击流量引流至腾讯高防机房,清洗后回源到客户源站。且腾讯高防包可做到用户业务零变更秒级接入高防,不影响任何原有的业务。

1.DDOS高防包

这种高防包,具有两个显著的特点:高带宽和流量牵引。高带宽往往是企业用户重视的因素之一,因为DoS等攻击会占用大量资源,只有带宽充足时这种攻击才不会有很大的影响。而另外一个特点就是流量牵引,在租用高防服务器后,IDC运营商会对流量攻击的防御有一个硬防范围,在这个范围内高防服务器的牵引系统会对进入服务器的流量进行识别,只要攻击流量没有超过保护的范围,都不会影响用户的网站。高防服务器的防御标准要在100G以上。
另外高防包,支持多类型防护、防护对象可切换、安全防护策略、封堵自助解除、防护统计报表等。

2. 核心

其实这一部分有很多,这里不便写多,给大家一个链接
DOS——腾讯云
这里提到了DDOS攻击和防护的本质是攻防双方资源的对抗,一方面不断囤积大量资源具备超大流量输出,一方要不断建设能够抗住超大流量的带宽;当然对于一些顶级的,就涉及到技术对抗。
在腾讯云的宙斯盾发展过程中,提到了几个比较经典的场景。

  • SYN FLOOD
    这种属于资源消耗型的。这种攻击主要是产生虚假的TCP连接消耗目标服务器CPU。防护的方案是采用性能强大的防护设备代替服务器去进行TCP连接,把虚假连接硬杠住,然后用syncookie算法,或者相应策略,开启防护。
  • UPD FLOOD
    这类通过大流量阻塞机房的带宽。防护的方案是:丢掉非业务端口或者特定格式的UPD。同时也可以对这些攻击源头进行溯源,将这些IP纳入黑名单。并且运营商也可以在它们这一层面,进行清洗,对伪造源的IP地址的数据包进行治理。
  • DNS FLOOD
    通过各种协议(DNS、SNMP、LDAP、SSDP、NTP、Memcached、IPMI),以小博大,整合起来的流量也是很大。防护方案:按照相应的协议特征,或者来源/目的端口过滤掉即可。
  • 协议模拟
    采取小流量UDP FLOOD攻击业务端口,当流量在一定区间的时候,可以阻塞业务端口,该端口对应的游戏房间会崩溃。防护方案:升级策略,针对业务端口仅允许符合该游戏协议格式的UDP包通过。如果攻击者,模拟正常的游戏协议,则可以采取检测IP状态和校验token的方法。

六.流量清洗

这里应该是我们学习的重点,确切说,是我学习的重点。

1. 流量清洗的原理

当流量被运送到DDOS防护清洗中心时,通过流量清洗技术,将正常流量和恶意流量区分开,正常的流量回注客户网站。
那么问题来了,对于恶意流量如何处理的?
将恶意流量区分成基础架构攻击流量或者应用层攻击流量。通过特征和向量不断划分,最后采用相应的专属技术来处理。

2. 流量清洗如何防御DDOS攻击

  • DDOS流量检测技术
    通过用户流量模型的学习,通过分组分析和人为用户流量统计,自动形成用户流量模型的基线。基于该基线检测装置,可以实时监测用户的业务流。当检测到用户流量异常时,检测设备将攻击报告给专用业务管理平台。通过异常流量限速和静态漏洞攻击特征检测、动态规则过滤和指纹识别技术,实现多级安全防护。
  • DDOS流量牵引技术
    当用户的服务器受到了DDOS攻击时,利用所述中继或所述转接协议,首先在所述城域网中的用户业务路径上与多个核心设备建立连接。当发生攻击时,流量清洗中心通过BGP协议向核心路由器发出通知,更新核心路由器上的路由表条目,动态拖动所有核心设备上受攻击服务器的流量到流量中心进行清洗。

    七. DDOS 攻击对抗中的AI实践

    在DDOS对抗过程中,加入AI算法,不仅可以“降本”,还可以“增效”。通过针对不同的攻击特点,进行精细化的分析,并结合多元化AI算法实现效率最大化。“一对一”定制模型,保证模型对特定攻击的识别准确性;AI模型良好的泛化能力又可以实现“一对多”的效果,即同时具备识别多种攻击的能力。

    1. AI实践(参考宙斯盾)

    处理流程:待检测数据进入AI引擎后,数据被分析并提取出特征,随后,特征经过预处理并输入模型训练模块,训练好的模型在正式启用前会经过一系列的迭代优化,直至模型收敛。最后,使用稳定的模型对待检测的数据进行结果输出。

    2. 难点

    平衡检测模型存在的“漏报”及“误报”问题。
    如何解决:丰富的训练样本;根据DDOS攻击特性,提取多维特征,训练若干个个体学习器。

    3.数据预处理

    采集到的数据要进行降噪处理和插值平滑,包括过滤网络混杂流量、过滤DDoS攻击流量等。根据误差理论,要有效地剔除偶然误差,一般要测量10次以上。

    4. 集成学习

    组合多个弱分类器以期得到一个更好更全面的强分类器。集成学习潜在的思想是即便某一个弱分类器得到了错误的预测,其他的弱分类器也可以将错误纠正回来,以达到博采众长的目的,从而具有更好的模型泛化能力,有效降低误报。针对DDOS攻击特性分析提取业务流量的特定维度特性,基于多维特征训练若干个个体学习器,并借助集成学习算法得到一个更好更全面的强学习器。
    在流量模型的自学习过程中,用户可以自定义学习周期,周期越长越能反映用户的流量分布。提取训练的特征不限于:周期内的流量数据包、IP/端口分布统计、连接数等。基于多维特征训练若干个个体学习器,结合用户的流量参数,最总生成一个用户实际流量拟合最好的训练模型。
    对于个体学习器,如何融合到一起。可以考虑Bagging和Boosting算法。
    图片描述
    基于AI的防护方案通过海量的旁路数据训练深度学习模型,模型训练成熟后就具有自动判断正常和异常的能力。在防护过程中,防护系统保持与AI模型通信:防护系统负责采集数据,并发送到AI模型,模型判断数据的合法性,并把结果发送到防护系统,防护系统根据模型的判断结果可以对攻击源进行拉黑等处理,从而实现对DDoS的有效防护。
    图片描述
    防护测针对不同攻击场景的差异性定制化AI模型,并充分利用不同AI算法的处理优势实现识别率的最大化。下图是卷积神经算法。
    图片描述
    比如,针对HTTPS CC,AI的防护方案是:基于卷积神经网络的HTTPS CC攻击的不解密识别方案应运而生,其核心思想是业务与攻击在SSL握手阶段行为习惯不一致。模型通过对多维度协议特征与行为特征进行学习,实现在不解密情况下,对HTTPS攻击流量的识别。本方案无需解密流量,大大节省开销,在多场景均可适用,具备良好的移植性。同时,从大数据中学习丰富多样的行为模式并延伸出泛化能力,相较传统的行为模式分析,不局限于已知行为模式,具备更高的灵活性和更强的判断能力。

八.总结

对于DDOS的防护,来至阿里云安全专家的建议:企业不应该再对“限速+黑名单就能一招制敌”抱有幻想,而应该采用更为纵深、智能的防护手段:
1.丰富攻击流量识别的维度,将每个请求实时的解析出多维度的检测单元;
2.防护策略的执行需要与多维度的识别相匹配,需要有精细、灵活、丰富的访问控制单元,让各个维度有机组合,层层过滤攻击流量;
3.机器智能替代人工排查,提升响应速度,降低业务中断时间。
——IPS——
关于IPS的本身缺陷
1.单点故障问题
解决方案:采用主主、主备的模型。
2.流量瓶颈问题
解决方案:轮询的polling技术,环形的队列数据结构设计,多个虚拟CPU,各自负责各个的任务。


[课程]FART 脱壳王!加量不加价!FART作者讲授!

最后于 2022-2-4 21:26 被kanxue编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (4)
雪    币: 200
活跃值: (88)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
hvv是不允许红队ddos的吧
2021-4-25 10:48
0
雪    币: 1859
活跃值: (2230)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
看到这个部分了
2021-4-25 18:22
0
雪    币: 204
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
打DDoS是要扣分的。另外,IPS在设计上也不是用来清洗DDoS流量的,虽然有的厂商给它设计了这个功能,但是其实并不适合。
2021-4-29 17:34
0
雪    币: 1859
活跃值: (2230)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5
是的,确实不是打DDOS,只是我当时想到的,然后不断向这方面思考。
2021-5-3 19:45
0
游客
登录 | 注册 方可回帖
返回
//