DDOS攻防与追踪.docx
- 文档编号:23797701
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:16
- 大小:226.46KB
DDOS攻防与追踪.docx
《DDOS攻防与追踪.docx》由会员分享,可在线阅读,更多相关《DDOS攻防与追踪.docx(16页珍藏版)》请在冰豆网上搜索。
DDOS攻防与追踪
DDOS攻防与追踪
一、什么是DDOS?
1、阻断服务(DOS---DenialofService)
在探讨DDoS之前我们需要先对DoS有所了解,DoS泛指入侵者试图妨碍正常使用者使用网络上的服务。
由于网络的频宽、网络设备和服务器主机等处理的能力都有其限制,因此当黑客产生过量的网络封包使得设备处理不及,即可让正常的使用者无法正常使用该服务。
例如黑客用大量封包攻击一般频宽相对小得多的拨接或ADSL使用者,则受害者就会发现他要连的网站连不上或是反应十分缓慢。
2、分布式阻断服务(DDOS---DistributedDenialofService)
DDoS则是DoS的特例,黑客利用多台机器同时攻击来达到妨碍正常使用者使用服务的目的。
黑客预先入侵大量主机以后,在被害主机上安装DDoS攻击程序控制被害主机对攻击目标展开攻击;有些DDoS工具采用多层次的架构,甚至可以一次控制高达上千台电脑展开攻击,利用这样的方式可以有效产生极大的网络流量以瘫痪攻击目标。
早在2000年就发生过针对Yahoo,eBay,B和CNN等知名网站的DDoS攻击,阻止了合法的网络流量长达数个小时。
DDoS攻击程序的分类,可以依照几种方式分类,以自动化程度可分为手动、半自动与自动攻击。
早期的DDoS攻击程序多半属于手动攻击,黑客手动寻找可入侵的计算机入侵并植入攻击程序,再下指令攻击目标;半自动的攻击程序则多半具有handler控制攻击用的agent程序,黑客散布自动化的入侵工具植入agent程序,然后使用handler控制所有agents对目标发动DDoS攻击;自动攻击更进一步自动化整个攻击程序,将攻击的目标、时间和方式都事先写在攻击程序里,黑客散布攻击程序以后就会自动扫描可入侵的主机植入agent并在预定的时间对指定目标发起攻击,例如近期的W32/Blaster网虫即属于此类。
若以攻击的弱点分类则可以分为协议攻击和暴力攻击两种。
协议攻击是指黑客利用某个网络协议设计上的弱点或执行上的bug消耗大量资源,例如TCPSYN攻击、对认证伺服器的攻击等;暴力攻击则是黑客使用大量正常的联机消耗被害目标的资源,由于黑客会准备多台主机发起DDoS攻击目标,只要单位时间内攻击方发出的网络流量高于目标所能处理速度,即可消耗掉目标的处理能力而使得正常的使用者无法使用服务。
若以攻击频率区分则可分成持续攻击和变动频率攻击两种。
持续攻击是当攻击指令下达以后,攻击主机就全力持续攻击,因此会瞬间产生大量流量阻断目标的服务,也因此很容易被侦测到;变动频率攻击则较为谨慎,攻击的频率可能从慢速渐渐增加或频率高低变化,利用这样的方式延缓攻击被侦测的时间。
二、DDOS攻击的现状与趋势
1、现状:
.大分布型的高强度攻击
.产生随机源IP地址
.数据包结构位的随机性
.协议缺陷与系统处理缺陷
.使用多种协议及多种形势
2、趋势:
(1)加强DDOS的攻击强度
混合攻击:
例:
Syn—cookie等防御在CPU的消耗方面
.Syn包在cookie表中的检查
.查询ACK标志包对应的cookie表
Syn、ACKflood;
对Syn—cookie的探测
SYNcookie就是用一个cookie来响应TCPSYN请求的TCP实现,根据上面的描述,在正常的TCP实现中,当S接收到一个SYN数据(Data)包,他返回一个SYN-ACK包来应答,然后进入TCP-SYN-RECV(半开放连接)状态来等待最后返回的ACK包。
S用一个数据(Data)空间来描述所有未决的连接,然而不能是这一个数据(Data)空间的大小是有限的,所以攻击者将塞满这一个空间。
在TCPSYNCOOKIE的执行过程当中,当S接收到一个SYN包的时候,他返回一个SYN-ACK包,这一个数据(Data)包的ACK序列号是经过加密的,也就是说,他由源地址,端口(Port)源次序,目标地址,目标端口(Port)和一个加密种子计算得出,然后S释放所有的状态.如果一个ACK包从C返回,S将重新计算他来判断他是不是因为上个SYN-ACK的返回包。
如果这样,S就可以直接或者是间接进入TCP连接状态并打开连接.这样,S就可以避免守侯半开放连接了。
(2)提高发包速率,减少checksum的计算量;
攻击包预产生法(如图1),
(2)无指纹可识别
ipheader.id=SYSIdent.id+random;
ipheader.ttl=SYSIdent.TTL+random(10);
tcpheader.th_win=SYSIdent.window;
tcpheader.seq!
=random();
tcpheader.sport!
=rand(65535);
……
三、防御方法现状
•数据包过滤(包括特征分析)
•随机丢包
•SYN-Cookie,SYN-Cache等
•被动消极忽略
•主动发送RST
•其他方法(动态DNS等)
•拔网线
(1)抗拒绝服务设计(如图2)
SynCookies
•Kernel/drivers/char/random.c
•Cookie:
MD5(sec1,saddr,sport,daddr,dport,sec1)
+theirsequencenumber
+(count*2^24)
+MD5(sec2,saddr,sport,daddr,dport,count,sec2)%2^24)
Wherecountincreaseseveryminuteby1.
(2)IDS对SYNFlood的检测
•现在的基于SYNs+TIME的特征;
•真的没有问题么?
–正常SYN的高流量问题
–调整TIME问题
•RSTs+TIME是解决办法么?
(3)路由器上的防御
•Access-list访问控制列表
access-list101denyip192.168.0.00.0.255.255any
•Rate-limit流量限制(bps)
rate-limitoutput5120005600064000conform-action
transmitexceed-actiondrop
•请参考相关资料
(4)路由器的Intercept模式
•开启该功能:
iptcpinterceptlistaccess-
list-number
•Watch和intercept(默认)模式。
•设置模式命令:
iptcpinterceptmode
{intercept|watch}
•Watch模式下,路由器允许SYN直接达到服务
器。
如果该会话在30秒(默认)内没有建立,
就向服务器发送RST清除该连接。
•Intercept模式下,TCP连接请求达到目标主机
之前,路由器拦截所有TCP请求,并代表服务
器建立客户机的连接,并代表客户机建立与服
务器的连接,当两个连接都成功实现,路由器
就将两个连接进行透明的合并。
3、从DDoS攻击下存活
那么当遭受DDoS攻击的时候要如何设法存活并继续提供正常服务呢?
由先前的介绍可以知道,若黑客攻击规模远高于你的网络频宽、设备或主机所能处理的能力,其实是很难以抵抗攻击的,但仍然有一些方法可以减轻攻击所造成的影响。
首先是调查攻击来源,由于黑客经由入侵机器进行攻击,因此你可能无法查出黑客是由哪里发动攻击,我们必须一步一步从被攻击目标往回推,先调查攻击是由管辖网络的哪些边界路由器进来,上一步是外界哪台路由器,连络这些路由器的管理者(可能是某个ISP或电信公司)并寻求他们协助阻挡或查出攻击来源,而在他们处理之前可以进行哪些处理呢?
如果被攻击的目标只是单一ip,那么试图改个ip并更改其DNSmapping或许可以避开攻击,这是最快速而有效的方式;但是攻击的目的就是要使正常使用者无法使用服务,更改ip的方式虽然避开攻击,以另一角度来看黑客也达到了他的目的。
此外,如果攻击的手法较为单纯,可以由产生的流量找出其规则,那么利用路由器的ACLs(AccessControlLists)或防火墙规则也许可以阻挡,若可以发现流量都是来自同一来源或核心路由器,可以考虑暂时将那边的流量挡起来,当然这还是有可能将正常和异常的流量都一并挡掉,但至少其它来源可以得到正常的服务,这有时是不得已的牺牲。
如果行有余力,则可以考虑增加机器或频宽作为被攻击的缓冲之用,但这只是治标不治本的做法。
最重要的是必须立即着手调查并与相关单位协调解决。
4、预防DDoS攻击
DDoS必须透过网络上各个团体和使用者的共同合作,制定更严格的网络标准来解决。
每台网络设备或主机都需要随时更新其系统漏洞、关闭不需要的服务、安装必要的防毒和防火墙软件、随时注意系统安全,避免被黑客和自动化的DDoS程序植入攻击程序,以免成为黑客攻击的帮凶。
有些DDoS会伪装攻击来源,假造封包的来源ip,使人难以追查,这个部份可以透过设定路由器的过滤功能来防止,只要网域内的封包来源是其网域以外的ip,就应该直接丢弃此封包而不应该再送出去,如果网管设备都支持这项功能,网管人员都能够正确设定过滤掉假造的封包,也可以大量减少调查和追踪的时间。
网域之间保持联络是很重要的,如此才能有效早期预警和防治DDoS攻击,有些ISP会在一些网络节点上放置感应器侦测突然的巨大流量,以提早警告和隔绝DDoS的受害区域,降低顾客的受害程度。
四、基础的数据包特征分析
•从攻击代码中获得数据包的固定值,包括window、sourceport、seq或id等,比如mstream:
win=htons(16384);teardrop:
id=htons(242)
•Land攻击的源IP与目的IP一样;
•PingofDeath分片ICMP包,重组的包大于65535,通常为65538;
•……
目前的特征分析缺陷
•局限于对某种特定攻击或者工具;
•太依赖于攻击程序中的固定值;
•对于随机数则无法特征化;
•无法普遍标识攻击流;
(1)基于统计的特征分析
•Statistic-BasedFingerprintIdentification
•InsideXFocus’sDDOSResearchProject
•用某种Hash标志数据包。
对正常的数据流量进行记录统计,得出正常的特征A,这些特征以数据包数量间关系的分布。
在攻击发起的一段时间内,再次统计得到一个新的流量特征B
•从分布曲线对比,获得B在A上的突变特征C;
•通过将具有突变特征C的数据过滤,来减少攻
击的损失,尽可能地保证最大化的正常访问。
(2)基于的假设
•攻击发起的数据包与统计没有关系
•攻击发起的包程序化
•攻击者发送足够多的数据包
•攻击没有造成网络通路上的堵塞
(3)突变特征的产生
(4)对于TTL值的分析
•系统默认的TTL值为255、128、64、32。
•通常的路由Hop为10-20
•正常的TTL范围:
235~245、108~118、44~54、12~22
•TFN3K的TTL算法:
ih->ttl=getrandom(200,255)
TTL的范围为:
(MAX)180~245;(MIN)190~235
•通过TTL值即可过滤最大84.6%的攻击包
•Mstream的TTL计算方法:
packet.ip.ip_ttl=255;
•单一的TTL值255意味着TTL的统计分析能出现突变,对定位攻击源的位置也有一定帮助。
(5)难度与缺陷
•统计分布分析花销问题
•只能尽可能地弱化攻击
•将影响一部分正常数据包
•不可特征化问题
•过滤操作问题
五、源追踪Traceback
•Traceback简介
•LinkTesing
•ControlledFlooding
•ICMPMessage
•MarkingPacketTraceback
(1)Traceback简介
•目的
–杜绝攻击数据包的源头
–攻击取证与诱捕
•难度
–随机伪造IP地址
–源头只是傀儡
–目前协议和硬件的局限
–路径重构的花销
LinkTesting
•Hop-By-Hop
•利用Cisco路由器
–实例介绍
•Cisco的IPSourceTracker
XFOCUS.ORGFREEISALL!
27
ControlledFlooding
•实际上就是制造flood攻击,通过观察路由器的状态来判断攻击路径。
首先应该有一张上游的路径图,当受到攻击的时候,可以从victim的上级路由器开始依照路径图对上游的路由器进行控制的flood,因为这些数据包同攻击者发起的数据包同时共享了路由器,因此增加了路由器丢包的可能性。
通过这种沿路径图不断向上进行,就能够接近攻击发起的源头。
ItraceWorkingGroup(IETF)
•目前进度为:
draft-ietf-itrace-02-ICMPTracebackMessages.txt
•路由器以一定概率发送ICMPTraceback消息。
•ICMPTracebackMessages重构攻击路径
ICMPTraceback的缺陷
•在1/20000概率下增加0.1%的包
•ICMP包很可能被过滤掉
•一些路由器没有inputdebugging功能
•伪造ICMPTraceback问题
•路由器的贫穷与富裕问题
PacketMarkingTraceback
•NodeAppend
•NodeSampling
•EdgeSampling
•Compressededgefragmentsampling
附加节点算法(NodeAppend)
•把每一个节点地址附加在数据包的末尾,表明这是从哪里传入的。
•缺点:
–对于高速路由器来说将增加负担
–可能导致不必要的分片,或者因为MTU而破坏
–协议中保留空间可能导致攻击者伪造内容
节点取样算法(NodeSampling)
•在路径中的一个节点取样,让一个样本来代替整个路径。
•当接收到一个数据包,每个路由器就以概率p,选择性地将地址写到节点地址区间内。
•Victim通过一系列样本重构攻击路径
•可以通过每个节点的相关数推理得到路径次序。
•由于路由器被成序列地安排在一起,而且数据包被路由器标记的概率有一个概率基数,那么距离victim越近的路由器被标记的概率就会越小。
•每个路由器的概率基数是p那么,经过d级路由标记的概率就是p(1-p)的d-1次方
•算法:
MarkingprocedureatrouterR:
foreachpacketw
letxbearandomnumberfrom[0...1)
ifx writeRintow.node Pathreconstructionprocedureatvitimv: letNodeTblbeatableoftuples(node,count) foreachpacketwfromattacker z: =lookupw.nodeinNodeTbl ifz! =NULLthen incrementz.count else inserttuple(w.node,1)inNodeTbl sortNodeTblbycount extractpacth(Ri...Rj)fromorderednodefiledsinNodeTbl •缺陷 –改变IP头,并添加32bits的节点空间 –需要重新计算checksum –从有用的的取样中推理得出整个路由是一个相当慢的过程,如果d=15,p=0.51,那么接收方至少需要接收到42000个数据包才可得到一个标记取样。 要确保正确率在95%以上,那么,还需要是这个数字的7倍。 –完全不适合分布式攻击 边缘取样(EdgeSampling) •在数据包中保留两个地址空间,用来标记路由开始点(start)和终止点(end),并且用一个区间来表示距离(distance),用它来表示一个样本到victim的距离。 •当一个路由器决定标记数据包的时候,它把自己的地址填充到start,把distance域填0。 如果distance域已经是0了,就表示这个数据包已经被前一个路由器标记过。 在这种情况下,路由器就把自己的地址填入end域。 如果路由器不标记数据包,那么就始终在distance域中加1。 •算法: MarkingprocedureatrouterR: Foreachpacketw letxbearandomnumberfrom[0,1] ifx writeRintow.startand0intow.distance else ifw.distance=0then writeRintow.end incrementw.distance Pathreconstructionprocedureatvitimv: LetGbeatreewithrootv letedgesinGbetuples(start,end,distance) foreachpacketwfromattacker ifw.distance=0then insertedge(w.start,v,0)intoG else insertedge(w.start,w.end,w.distance)intoG removeanyedge(x,y,d)withd! =distancefromxtovinG extractpath(Ri,...Rj)byenumeratingacycliepathsinG •上面的算法表示边缘取样回溯IP过程。 因为接收样本的可能性是与它同Victim的距离成几何递减的,对于一个有d级远的路由器来说,期望值就是1/[p(1-p)的(d-1)次方] •要求从Victim能重新构建d深度路径的数据包数X,表达式是: E(x) •缺陷 –在边缘取样算法中每个IP包需要多72bit空间; –在包后面附加额外的数据花费昂贵,并且不一定有足够的空间来附加这些数据; 对IP地址进行XOR运算(如图4) 将边界标记细分(如图5) 边界标记的重组判断(如图6) 重载IP头的identification域 •当前统计表明只有0.25%被分片; •重载IP头部的identification域; –3bit的offset(可允许8次分片) –5bit的distance可以允许31级路由 –8bit的边缘分片 缺陷 •向后兼容性问题; •分布式攻击问题; •路径确认问题; 与Traceback交叉的技术简介 •Centerback •Pushback 六、DDOS监控技术 •反向散射分析(分布被动取样监控)如图7: •假设源地址是完全随机产生的,也没有任何选择性。 这些源地址就覆盖所有的IP地址范围,如果攻击者发送了m个攻击包,那么整个网络上的主机接收到Victim的回应包概率就是m/232 •如果监视n个单独的IP,那么监视到攻击的期望值就是: E(X)=nm/232 •在一个足够大的IP范围内做监控,那么就能够有效地对这些DOS攻击作采样分析。 DDOS监控未来的研究 •监控与数据采样; •数据统计分析; •付之实施吧! DDOSProject •对DDOS现状的分析; •DDOS攻击的分析; •DDOS防御与追踪研究; •Statistic-BasedFingerprintIdentification •反向散射分析(监控);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DDOS 攻防 追踪
![提示](https://static.bdocx.com/images/bang_tan.gif)