DDOS攻防与追踪.docx

上传人:b****7 文档编号:23797701 上传时间:2023-05-20 格式:DOCX 页数:16 大小:226.46KB
下载 相关 举报
DDOS攻防与追踪.docx_第1页
第1页 / 共16页
DDOS攻防与追踪.docx_第2页
第2页 / 共16页
DDOS攻防与追踪.docx_第3页
第3页 / 共16页
DDOS攻防与追踪.docx_第4页
第4页 / 共16页
DDOS攻防与追踪.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

DDOS攻防与追踪.docx

《DDOS攻防与追踪.docx》由会员分享,可在线阅读,更多相关《DDOS攻防与追踪.docx(16页珍藏版)》请在冰豆网上搜索。

DDOS攻防与追踪.docx

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

•反向散射分析(监控);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1