DDoS-网络安全世界里的暗黑杀手

今天和大家谈谈网络安全世界里的暗黑杀手——DDoS。我们常常说编程的世界是一个江湖,有圣殿,有神,有前辈,有高手,有各种武器,还有各种复杂的鄙视链,但是更多时候,这些都是隐喻和类比。但是到了安全领域,这些隐喻就不再是虚拟的,而是真实的残酷的江湖。在互联网的安全世界里,你会看到行走在网际暗黑领域的白衣少年和黑衣剑客,他们背双肩挎、携电脑包,走位飘忽,宛若一个孤独的侠客行走在网路之间,或攻或防,遇到楼舍密室,要么跳跃穿行,要么潜入一窥究竟。

早年的黑客更多崇尚自由、创新和冒险,他们做酷的东西,立志成为伟大的程序员,写出匪夷所思的代码,入侵系统更多是为了警示对方和彰显自己的 Hack 技术。随着互联网技术逐步渗透到人们的衣食住行中,入侵系统已经可以让黑客获取巨大的利益,于是地下黑产应运而生。从那以后,网络的守护者白帽子和暗黑世界的黑客就开始了永无休止的争斗和攻防。

在此期间,给互联网世界造成巨大损失的攻击之一就是 DDoS。

DDoS 又称为分布式拒绝服务,全称是 Distributed Denial of Service。DDoS 就是利用合理的请求造成资源过载,导致服务不可用。比如你是个程序员,在经历了各种上线失败、弱智需求和白痴老板之后,你终于像李宗盛一样看破人生,你对自己说,这帮搞 IT 的也就那么回事,劳资不和你们玩了。于是你开了个花店,每天浇花读书陪伴父母,没准还能遇到白色领口的姑娘……你幻想着温暖的夕阳和美好的爱情故事,这时候你以前得罪的一个产品经理知道了这个消息,于是他雇佣一大批伪顾客堵在你的店铺门口,聊天唠嗑磕瓜子,不买花也不走开,从开门到打烊。你再也不能为真正的用户提供服务了,于是你的花店倒闭了……

DDoS清洗,为什么要走一条属于自己的路


DDoS攻击是互联网上臭名昭著的一种网络攻击形式,大约在上个世纪90年代出现,至今活跃已经近20年,20年来DDoS攻击的手法层出不穷,据调查,目前已知的DDoS攻击种类在400种以上,而可获取的各种DDoS工具更是达到4000多种,DDoS攻击给互联网的发展带来了沉重的负担。

在DDoS攻击危害互联网的同时,不少安全专家也在不断研究DDoS攻击的防御方法。国内最早出现的DDoS防御产品约在2002年,此后攻防双方此消彼长,进行着无休无止的对抗,不少安全厂商都推出了自己的DDoS防御产品和服务。

DDoS攻击的手法很多,比如SYN flood,Ack flood,udp food,icmp flood,针对应用层的还有CC攻击,SSL flood,DNS flood,近几年反射攻击很火,出现了比如 NTP flood,SSDP flood等反射攻击形式。

技术人员在长期跟DDoS对抗中也曾踩过坑,走过弯路。但在这个过程中,也积累了很多对抗经验。

早期的时候市面上有不少的DDoS产品,这些产品本身已经做的非常成熟。2012年,我们尝试引进外部清洗产品进入集团防御体系。经过几次实战,发现总是有些不尽人意的地方,我们开始积极的跟厂商进行沟通,反馈一些需求,实际上,厂商也积极的响应,但是由于理解业务特点和研发模式的差异,随着云计算和电商业务的发展,这些需求越来越无法满足。

我们相关团队在实战中发现,DDoS防御产品的核心是检测技术和清洗技术,而检测技术的核心有在于对于业务深刻的理解,才能快速精准判断出是否真的发生了攻击,清洗技术相对于检测来讲,不同的业务场景下要求粒度不一样。从安全厂商处采购的硬件防火墙类设备主要的应用场景是运营商和IDC,这类业务的清洗算法往往比较粗放。直接拿到阿里的场景来用,对于一些细粒度的场景支持就会需要做很多的工作才能完成。

盾的检测技术

DDoS攻击一般是由于流量的突增造成,但是流量的突增一般有几种可能:

(1)业务出现常规性的波峰和波谷,跟业务本周周期性的增长有关,如上午高峰,整点高峰,节假日高峰等

(2)业务出现某些特定的活动,如广告投放,促销,打折等活动上线

(3)恶意的攻击造成。

即使是有经验的运维人员,在用肉眼去观测流量曲线的时候,也很难看出流量的突增是由于攻击造成还是业务的增长造成,如下图,是一次整点活动的投放,此时的业务增长是符合预期的。

再看这个图,则是在平稳的业务过程中出现了一次较大的攻击。

在过去,很多防火墙对于DDoS攻击的检测一般是基于一个预先设定的流量阈值,超过一定的阈值,则会产生告警事件,做的细一些的可能会针对不同的流量特征设置不同的告警曲线,这样当某种攻击突然出现的时候,比如SYN flood,此时网络中SYN的报文会超过阈值,说明发生了SYN flood攻击。

但是当网络中的报文速率本身是这条曲线的时候,曲线自身就一直在震荡,在这样的曲线上如何检测异常?如何根据阈值检测攻击?真正的攻击又是哪一个点?

这个攻击几乎肉眼无法分辨。如果不是那个时间点真的出了攻击,也很难从曲线上找出来。要放大了才能看出来。

所有上述的攻击,人的肉眼可以发现出来,基本上都是因为人在观察曲线的时候对于曲线的平滑和不平滑的交界处非常敏感。攻击检测算法第一位的需求是要把人肉眼可以观察出来的波动,锯齿,突刺都检测出来。

除了上面的这些检测方法之外,还有一类,就是从整体上看历史流量情况,然后根据这个时刻的流量峰值来判断。

这种方法对历史流量进行学习,生成业务访问的流量模型,并将业务当前流量和模型作比较,出现明显偏差时就判断为DDoS攻击。这种方法对于流量比较稳定的业务比较有效。但是在我们实际的互联网业务中,发现检测效果非常的低,特别是云计算环境,每天的业务都不一样,因此检测效率较低。

看起来,要实现一个高精度的检测系统,无外乎几个条件:

1、采集目标IP的网络流量

2、对关注的指标进行存储,并描绘成曲线

3、对曲线进行攻击检测,在必要的时候告警通知运维人员

如果要对其进行量化的话则主要是两个指标:

1、误报率:在所有产生的告警中,有多少代表了真正的攻击

2、敏感度:在所有真正的攻击中,有多少被检测系统发现

盾的防御技术

盾的清洗系统Aliguard通过异常流量限速,动态规则过滤,以及特征学习和识别等技术,可以实现多层次安全防护, 精确过滤各种网络层和应用层的攻击和恶意流量。

如上图所示,Aliguard内置清洗策略中心,实时分析攻击类型和最佳清洗策略,实现精准清洗。AliBeaver 预警时会告知Aliguard初始的攻击类型,Aliguard根据攻击类型定义清洗策略,牵引流量经过采样分析特征,网络层清洗和应用层清洗后,Aliguard会对流量做统计和日志分析,反馈清洗效果,进一步调整清洗策略。

DDoS的清洗技术在不少的文章都谈到过,Aliguard的防御算法不同于以往部署在运营商和IDC的方式,由于离业务更近,防御的体量更大,云计算中有上百万的用户,阿里自身的业务遍布电商、金融、多媒体、云计算、游戏等,在防御的时候每种业务每个区域都需要有不同的策略。同时,由于应用覆盖TCP/UDP/HTTP/HTTPS/DNS等复杂协议场景,对于策略的管理和应用的学习也会比传统的技术更加细粒度。

拿SYN Flood的防御来说:

SYN Flood攻击是通过伪造一个源地址的SYN报文,发送给受害主机,受害主机回复SYN-ACK报文给这些地址后,不会收到ACK报文,导致受害主机保持了大量的半连接,直到超时。这些半连接可以耗尽主机资源,使受害主机无法建立正常TCP连接,从而达到攻击的目的。

业界防御比较有名的SYN cookie算法,有些防火墙厂商甚至基于session来做。

其基本原理如下:

1、Anti-DDoS设备接收到SYN报文,发送SYN-ACK探测报文到SYN报文中的源IP地址。

Anti-DDoS设备通过校验接收到的对探测报文的响应报文的真实性来确认源IP地址的真实性,以防止虚假源攻击。

2、如果没有响应报文,则表示之前的SYN报文为攻击,Anti-DDoS设备不会将该SYN报文发给被防护服务器,有效终止了攻击。

3、如果有响应报文,Anti-DDoS设备验证响应报文是否为真实的报文,如果真实,则表示该源IP地址通过源认证,Anti-DDoS设备将该源IP地址加入白名单,在白名单老化前,从此源IP地址发出的SYN报文都直接被Anti-DDoS设备转发。白名单老化时间可配置。

4、未匹配白名单的源IP地址发出的SYN报文则继续被探测。

在一般的机房环境下,SYN cookie算法是非常好的防御算法,能有效的抵御SYN flood的攻击,但是在云计算环境下面,SYN cookie的机制确会带来很多新的问题。如

1、 session的问题,因为大部分防火墙是基于seesion来实现,所以自身会在大流量SYN flood的时候出现瓶颈,有的时候攻击被把业务打死,却把防火墙打死了

2、 防御算法的成本,SYN cookie算法会大量的反向探测SYN ack报文确认源IP的真实性,

算法的设计者是不会考虑成本的,但是用算法的人却需求,有的时候10G的SYN flood打过来,缺要产生10 G的SYN ack报文反弹回去,众所周知,在很多厂家下,out带宽比In带宽贵

3、 还有,SYN cookie由于会产生多次的三次握手,在处理大规模集群的时候,由于每次的tcp会话不可能分在同一台机器上,所以有可能会产生多次认证的问题。

以上这些,没有把算法真正用到业务的时候,是不可能感知这种痛苦的。当然在处理DDoS的清洗算法上,不仅仅是针对tcp业务做过很多上述问题的考虑,针对dns/cdn/cc攻击等场景,都有了很多业务上的调整,而这些,才是Aliguard真正的生命力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Welcome to DarkShell.DDOS website     DarkShell((DDOS)集群防火墙压力测试系统)是一款由DarkShell工作室独立开发的标准的网络压力测试软件、集DDOSWEB、ISS连接测试于一身的集群压力测试软件,可广泛应用于机房、路由、软、硬件防火墙测试,机房带宽测试,服务器负载上限测试,WEB应用测试等,具有相当的产品特性,涵盖了各种同类产品软件的功能有过而无不及,该软件来自IT技术界一流的DarkShell工作室开发,是专门针对大众化设计研发的具有创新思想和专有技术的新型网络压力测试软件。集合了市面上所有压力测试软件的优点,取得了革命性突破。可让您面对各种安全威胁防范于未然.稳操胜券! 服务端的特性:     IOCP完成端口、兼容和稳定性优越、占用CPU和内存资源极少、启动方式多样、无壳20K体积、防误报能力强等,压缩后10K体积更诱人。服务端纯SDK打造,无MFC类,体积小巧,方便免杀,采用Shell Code特殊方式注入,无DLL穿越防火墙自动探测系统是否支持raw发包 提升攻击效率30%,注册服务启动,安全稳定。客户端使用IOCP完成端口上线,无上线限制,具有高效率,高发包率,不死锁等特点。支持插入SVCHOST/IE浏览器/EXP等多种进程,无DLL完全穿透防火墙,安装杀软无提示,隐蔽性极强,特征码少,免杀更方便。 自由上线模式:     专用上线、FTP上线、动态域名上线等方式完全让用户自由选择,无任何限制!HTTP上线域名后缀名可以是任意文件名和后缀名。 压力测试功能:     常规模式(SYN、UDP、TCP、ACK、IGMP、ICMP、DNS、M2游戏引擎)、WEB模式(Get协议、变异CC、无限CC、分布式循环CC、循环下载)、破防模式、游戏服务器测试模式等,以及强大的自定义模式.支持16进制于ASCII码互转。支持多模式同时进行压力测试,独有的UDP攻击,采用新型的内核技术,发送数据包不经过缓存区直接对目标发送,且仅占CPU%5左右,自动探测系统是否支持raw发包提升攻击效率30%,安全稳攻击速度一流。为企业IDC提高自身防护做到最高效率。 集群压力测试: 集群管理在线主机,给在线主机指派指定任务,可针对目标IP进行集群攻击,单独目标攻击,循环遍历目标攻击,自动循环遍历查找有效攻击数据包,专门针对高防特防机房进行压力测试,威力强大,用前请谨慎。 DNS压力测试: DNS专用测试模式,可针对单独独立域名DNS进行压力测试,以达到删除指定域名目的,也可选择针对整台DNS服务器进行压力测试,最终导致DNS服务器瘫痪,无法解析域名。 反射压力测试: 利用之前的drdos,经过反复测试,优化,利用百度,谷歌等大型企业服务网络进行欺诈,伪造源地址,让其它大型企业的服务网络进行对目标的IP地址进行大流量攻击,达到秒杀目标服务器IP的目的。 传奇假人攻击: 穿破目前一切防假人攻击脚本,利用最新技术,进行M2引擎注册假人上线,耗尽服务器资源,达到封杀目的。 Linux优势: 免费版本只支持路由内核、Ubuntu、admin等,独立开发的Linux穿盾CC模式,SYN稳定发包100%,无自启动,需Root权限发包。 批量操作功能:     同时对多台被控制端进行远程批量下载,批量关机,批量重启,批量打开指定网页等功能操作。被控制端自动更新、当发送此命令时,被控制端会自动到控制台下载新的被控制端程序,更新自己。主机暂借功能、可以把自己的在线被控端暂时借给好友,当被控端重起后被控端则自动转换回您之前的上线地址,可保证暂借后的被控端不会有借无还.自动返还。 VIP版本功能: VIP版本的功能包含所有免费版本的功能,VIP版本与免费版本不是同一个iocp,VIP版本的iocp更稳定更快速。 Linux优势: Linux支持路由内核、2.6、3.1等普通内核,路由内核支持路由三大内核、Ubuntu、admin等,独立开发的Linux穿盾CC模式,SYN稳定发包100%,自启动,无需Root权限上线即可发包。 VIP版本攻击代码实时更新,通过服务器获取最新攻击代码,无需更换服务端即可享受最新攻击代码的优势,云端DDOS,云数据,云获取,云攻击,云更新,开辟新业界篇章,经典在继续。 2014经典力作,DarkShell一切攻击数据包均从云端获取,例如对指定服务器IP发送数据无效时,服务端会从云端读取另一段数据包,对其目标发送,如果有效,则进行大规模DDOS压力测试,如若无效则继续遍历数据包,查找相应数据进行发送,任何高防机器将被秒杀,独家绕过杀软,如被杀,服务端将自动从云端获取最新数据进行自身升级更新,省去更新免杀时用户需要自行批量更新的繁琐。 客服售后服务:     远程辅助,简单操作、灵活运用智能自动更新、24小时在线客服,接受任何反馈建议并及时采纳.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网络安全服务

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值