DDOS攻防与追踪

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

DDOS攻防与追踪Refdom12/21/2002XFOCUS.ORGFREEISALL!2内容介绍•DDOS攻击•DDOS防御技术•数据包特征识别技术研究•源追踪(Traceback)技术•DDOS监控技术XFOCUS.ORGFREEISALL!3一、DDOS攻击现状与趋势•大分布型的高强度攻击•产生随机源IP地址•数据包结构位的随机性•协议缺陷与系统处理缺陷•使用多种协议及多种形式XFOCUS.ORGFREEISALL!4加强DDOS的强度•混合的攻击例:Syn-cookie等防御在CPU消耗方面:•Syn包在Cookie表中的检查•查询ACK标志包对应的Cookie表SYN、ACKflood;对Syn-cookie的探测XFOCUS.ORGFREEISALL!5加强DDOS的强度•提高发包速率,减小checksum的计算量;攻击包预产生法CreatPacket()LinkListLoadPacket()Send()XFOCUS.ORGFREEISALL!6加强DDOS的强度•无指纹可识别;ipheader.id=SYSIdent.id+random;ipheader.ttl=SYSIdent.TTL+random(10);tcpheader.th_win=SYSIdent.window;tcpheader.seq!=random();tcpheader.sport!=rand(65535);……XFOCUS.ORGFREEISALL!7二、防御方法现状•数据包过滤(包括特征分析)•随机丢包•SYN-Cookie,SYN-Cache等•被动消极忽略•主动发送RST•其他方法(动态DNS等)•拔网线JXFOCUS.ORGFREEISALL!8抗拒绝服务设计•简单结构(Syn-Cookie)哈希表Intel网卡Net抗拒绝服务部分受保护部分DMAXFOCUS.ORGFREEISALL!9SynCookies•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.XFOCUS.ORGFREEISALL!10IDS对SYNFlood的检测•现在的基于SYNs+TIME的特征;•真的没有问题么?–正常SYN的高流量问题–调整TIME问题•RSTs+TIME是解决办法么?XFOCUS.ORGFREEISALL!11路由器上的防御•Access-list访问控制列表access-list101denyip192.168.0.00.0.255.255any•Rate-limit流量限制(bps)rate-limitoutput5120005600064000conform-actiontransmitexceed-actiondrop•请参考相关资料XFOCUS.ORGFREEISALL!12路由器的Intercept模式•开启该功能:iptcpinterceptlistaccess-list-number•Watch和intercept(默认)模式。•设置模式命令:iptcpinterceptmode{intercept|watch}XFOCUS.ORGFREEISALL!13路由器的Intercept模式•Watch模式下,路由器允许SYN直接达到服务器。如果该会话在30秒(默认)内没有建立,就向服务器发送RST清除该连接。•Intercept模式下,TCP连接请求达到目标主机之前,路由器拦截所有TCP请求,并代表服务器建立客户机的连接,并代表客户机建立与服务器的连接,当两个连接都成功实现,路由器就将两个连接进行透明的合并。XFOCUS.ORGFREEISALL!14三、基础的数据包特征分析•从攻击代码中获得数据包的固定值,包括window、sourceport、seq或id等,比如mstream:win=htons(16384);teardrop:id=htons(242)•Land攻击的源IP与目的IP一样;•PingofDeath分片ICMP包,重组的包大于65535,通常为65538;•……XFOCUS.ORGFREEISALL!15目前的特征分析缺陷•局限于对某种特定攻击或者工具;•太依赖于攻击程序中的固定值;•对于随机数则无法特征化;•无法普遍标识攻击流;XFOCUS.ORGFREEISALL!16v基于统计的特征分析•Statistic-BasedFingerprintIdentification•InsideXFocus’sDDOSResearchProject•用某种Hash标志数据包。对正常的数据流量进行记录统计,得出正常的特征A,这些特征以数据包数量间关系的分布。在攻击发起的一段时间内,再次统计得到一个新的流量特征B•从分布曲线对比,获得B在A上的突变特征C;•通过将具有突变特征C的数据过滤,来减少攻击的损失,尽可能地保证最大化的正常访问。XFOCUS.ORGFREEISALL!17基于的假设•攻击发起的数据包与统计没有关系•攻击发起的包程序化•攻击者发送足够多的数据包•攻击没有造成网络通路上的堵塞XFOCUS.ORGFREEISALL!18突变特征的产生XFOCUS.ORGFREEISALL!19对于TTL值的分析•系统默认的TTL值为255、128、64、32。•通常的路由Hop为10-20•正常的TTL范围:235~245、108~118、44~54、12~22XFOCUS.ORGFREEISALL!20对TTL值的分析•TFN3K的TTL算法:ih-ttl=getrandom(200,255)TTL的范围为:(MAX)180~245;(MIN)190~235•通过TTL值即可过滤最大84.6%的攻击包XFOCUS.ORGFREEISALL!21对TTL值的分析•Mstream的TTL计算方法:packet.ip.ip_ttl=255;•单一的TTL值255意味着TTL的统计分析能出现突变,对定位攻击源的位置也有一定帮助。XFOCUS.ORGFREEISALL!22难度与缺陷•统计分布分析花销问题•只能尽可能地弱化攻击•将影响一部分正常数据包•不可特征化问题•过滤操作问题XFOCUS.ORGFREEISALL!23仍进行中的研究……•用SEQ序号分析•Hash函数研究XFOCUS.ORGFREEISALL!24四、源追踪Traceback•Traceback简介•LinkTesing•ControlledFlooding•ICMPMessage•MarkingPacketTracebackXFOCUS.ORGFREEISALL!25Traceback简介•目的–杜绝攻击数据包的源头–攻击取证与诱捕•难度–随机伪造IP地址–源头只是傀儡–目前协议和硬件的局限–路径重构的花销XFOCUS.ORGFREEISALL!26LinkTesting•Hop-By-Hop•利用Cisco路由器–实例介绍•Cisco的IPSourceTrackerXFOCUS.ORGFREEISALL!27ControlledFlooding•实际上就是制造flood攻击,通过观察路由器的状态来判断攻击路径。首先应该有一张上游的路径图,当受到攻击的时候,可以从victim的上级路由器开始依照路径图对上游的路由器进行控制的flood,因为这些数据包同攻击者发起的数据包同时共享了路由器,因此增加了路由器丢包的可能性。通过这种沿路径图不断向上进行,就能够接近攻击发起的源头。XFOCUS.ORGFREEISALL!28ItraceWorkingGroup(IETF)•目前进度为:draft-ietf-itrace-02-ICMPTracebackMessages.txt•路由器以一定概率发送ICMPTraceback消息。•ICMPTracebackMessages重构攻击路径XFOCUS.ORGFREEISALL!29ICMPTraceback的缺陷•在1/20000概率下增加0.1%的包•ICMP包很可能被过滤掉•一些路由器没有inputdebugging功能•伪造ICMPTraceback问题•路由器的贫穷与富裕问题XFOCUS.ORGFREEISALL!30PacketMarkingTraceback•NodeAppend•NodeSampling•EdgeSampling•CompressededgefragmentsamplingXFOCUS.ORGFREEISALL!31附加节点算法(NodeAppend)•把每一个节点地址附加在数据包的末尾,表明这是从哪里传入的。•缺点:–对于高速路由器来说将增加负担–可能导致不必要的分片,或者因为MTU而破坏–协议中保留空间可能导致攻击者伪造内容XFOCUS.ORGFREEISALL!32节点取样算法(NodeSampling)•在路径中的一个节点取样,让一个样本来代替整个路径。•当接收到一个数据包,每个路由器就以概率p,选择性地将地址写到节点地址区间内。•Victim通过一系列样本重构攻击路径XFOCUS.ORGFREEISALL!33节点取样算法(NodeSampling)•可以通过每个节点的相关数推理得到路径次序。•由于路由器被成序列地安排在一起,而且数据包被路由器标记的概率有一个概率基数,那么距离victim越近的路由器被标记的概率就会越小。•每个路由器的概率基数是p那么,经过d级路由标记的概率就是p(1-p)d-1XFOCUS.ORGFREEISALL!34节点取样算法(NodeSampling)•算法:MarkingprocedureatrouterR:foreachpacketwletxbearandomnumberfrom[0...1)ifxpthen,writeRintow.nodeXFOCUS.ORGFREEISALL!35节点取样算法(NodeSampling)Pathreconstructionprocedureatvitimv:letNodeTblbeatableoftuples(node,count)foreachpacketwfromattackerz:=lookupw.nodeinNodeTblifz!=NULLthenincrementz.countelseinserttuple(w.node,1)inNodeTblsortNodeTblbycountextractpacth(Ri...Rj)fromorderednodefiledsinNodeTblXFOCUS.ORGFREEISALL!36节点取样算法(NodeSampling)•缺陷–改变IP头,并添加32bits的节点空间–需要重新计算checksum–从有用的的取样中推理得出整个路由是一个相当慢的过程,如果d=15,p=0.51,那么接收方至少需要接收到42000个数据包才可得到一个标记取样。要确保正确率在95%以上,那么,还需要是这个数字的7倍。–完全不适合分布式攻击XFOCUS.ORGFREEISALL!37边缘取样(EdgeSampling)•在数据包中保留两个地址空间,用来标记路由开始点(start)和终止点(end),并且用一个区间来表示距离(distance),用它来表示一个样本到victim的距离。•当一个路由器决定标记数据包的时候,它把自己的地址填充到start,把distance域填0。如果distance域已经是0了,就表示这个数据包已经被前一个路由器标记过。在这种情况下,路由器就把自己的地址填入end域。如果路由器不标记数据包,那么就始终在distance域中加1。XFOCUS.ORGFREEISALL!38边缘取样(EdgeSamp

1 / 54
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功