SYN Flood攻击的基本原理及防御.docx
《SYN Flood攻击的基本原理及防御.docx》由会员分享,可在线阅读,更多相关《SYN Flood攻击的基本原理及防御.docx(20页珍藏版)》请在三一办公上搜索。
1、SYNF100d攻击的基本原理及防卫文章来泡:第部分SYNFkXXI的珞本朦理SYNFHXl是的坡流行的DOS(拒绝服务攻击)与DDOS分布式拒绝服务攻击)的方式之一,这是一栉利用TCP赤仪缺陷,发送大M伪造的TCP连接孱求,从而使得被攻击方资源耗尽(CPU满负荷成内存不足)的攻击方式.9白这总攻击的基本“,还是*从TCP卸Ht立的过正Ia先说IBl道,T(P与IDp不周,它是若于建畏的,也IK是置,为了在务和客户之内传送TcP敷.4先皿一仙电,Hcp,TSH的行加馆是慈祥的,Ir先.如I(客户Ii)发送T含SYN标记的TCPit文,SYNR同步(Synchronic),内步报文会指明客户运用
2、的口以及P建校的初始序号I其次步,务在收“客户的S、IR文后,将返回一个SYN+ACK的锻文,我示客户的求被接受.同时TCP序号W-.ACK(Acknov.ll8.阿国就出在TCP连接的三次握手中,议川户向It务青发送JSYN报支屈R然也机火拉峻.俄久旧务器“发出SYN+ACK应答泰文后是无法收到户篇的ACK报文的馀:次握手无法完成),这种状况卜服务雅端一般公圾试(再次发送SYN+ACK给客户竭)井等待段时间后丢弃这个未完成的连掖,这段时间的K收我们称为SYNTUnCo5.收来说这个时间是分科的酸小皴(大约为50秒分钟),个用户出现异样与JBUK务器的一个观程等恃I分仲并不是什么IH大的问信.
3、但假如有-4延息的攻击籽大At隈拟这种状况,班务器端将为维护个特别大的半江接列表而消耗特别多的济湖-数以万计的中途.即使是渝沽的保存并遍历也会消耗特别?的CPU时间和内存.何况还要不Si对这个列中的【P进行SYNMCK的呱试.力实上胃如服务器的TCP,IP栈不然很大.堆终的结梁往往是推栈溢出明酒即使服务;S湍的系统足舔强大.咽务然端也将tJ处理攻击伪造的TCP连接W求而无箕理昧客户的正常恳求(终白叁户福的正然思求比率特别之小),此时从正常客户的角度沓来,服务器失去响A.这种状况我们移作I限务器上受到了SYNFloal攻击-4*三十二位珀认号.f4+.4fT*+T4.+.4f*+.*f+6444
4、I四位IlAPRSFIIftSfI六位保宙位IRICIslSIYIIl卜六位窗口大小II长度IIGIKIHfTINlNlI+.4.+.+T+.+.4T.+.J4+.+-M.+.+.+十六位校收和I十六lit依指的I+Tf选项(若芍)数据(若有)图:TCP汴窜陪构依据TCP报文格大,我们定义个拮构TcP_HEADERM去存放TCP泞部:typedefMroctCPbdJ1.SHORliij:l6snslUSHORTikdpon;力16位目的端口UiUtgnedM(h_cq;32位序列5unsignedimth.ack;32位)认号unsignedCtKirlilenvs:M位甘前长度+6位保愤字
5、中的4位unsignedcharth.flag;/2位保用字+6位标记位1.SHORTUiwin:16位窗UA:小USHORTth.sm;16位校验和1.SHORlUiuxp;16位策念BdKwl移域)TCP_HEADER;通过以正确的数据填充这个咕构并将TcP_HEADER.thbg赋值为2(:选射的OooOa我们饯制造个SYN的TCP报文,通过大Iit发送这个报文可以实现SYNR1XXl的效果,但是为了进行IP欺妫从而JSAlcl.也为了会诲服务必的SYNCgkie枚ff还须要Itft时IP首部进行携作I012345678901234567890123456789012I板本I长度I八位服
6、务类型I十六位怠长收I十六位标识I标记I十三位片伸移II八位生存时间I八位协议I十六位首部校咬和II三十二位源IP地址II三十二位目的Ip地址I44.+f4+*.44*4*4f*4*.4f4Tv.4.+4I选项(若有)If.-*.f4*44+*4*4f*-*+T-+*4+I数据I.44.4.4-.4v.4.4.-4-.-4H-*-4-*.-4-.-.4-ra三ip首都结构同样定义一个IPH1.ADhR来存放IP行部cypcdcfMmcl_iphdr(unsignedcharh_vcrkn;/4位首滞长度4IP版本号UfKignedchark:M位服务类里TOSunsignedshorttoul
7、.lcn:/16位总长度(字节unsignedHXKtdenl;/16位标识unsignedsbo11frag-und-flags:3位标记位Uititgnedchartlk/据位生存时间TT1.unsignedcharroo:8位.ffr设号(TCPUDP或其他)unsignedslxtcevksun:16(?IPft田;校雅和unsignediMsource!P;32(iIP地址unsignedtfde%UP:7/32位H的JP地址.HEADER;然后通过JkickRaw=WSASgkUAplNET.SOCKRAW.lPPR(yi1)cksum+=4bllcr4+;size-=Sizcof
8、(USHORT):iflsizc)Cksum+=*(UCHAR*)Uffcr;VkXUm二(cksumI6*(cksum&Oxf!10;CkMJm=(cksmI6);return(USHORTKYkXumX)这个济数并没有经过任何的优化,由于校验和函数是TeFlP出取中被讽Mitt为自致之一,所以帙设来,在实现TCPyIP模时,公依据操件系统对校找和函数边行优化。TCP讨部检验和与DP首都校验和的计算方法相同.在程序中运用同一个函数来计算.须要用点的是,由于TCP首部中不包含海地址马n标地址等信且,为了保适TCP校验的花攻性,在进行TCP校检和的计算时.须要叱加个TCP伪泞部的校验机定义如下I
9、struct(unsignedInnjesaddr;德地始unsignedlangdaddr;HW的地址ch;Irmbz;“H1.空charpeel;I办议类熨unsignedshortIcpl;OTcP长度)pdjcadcr;然后我。带这两个字段复制到同一个援冲区SendBuf中并计算TCP校验和:nnyScikiBuf.&PSjlC3改,NZoORPS1.hCaden);mcmq)yiSendBuf*xizcoRp!,&lcp_he;iderizcof(tcp_hcinicr)KICPjICadC1.IhJUin:CbCCkMIMUSHORT*FScndBufszcofpsd_hc3der
10、)*sizcofticp-he3der):ilffIP校!和的时帙不须要包括TCP伪首部:mcmcpySendBuf.&iPJKiMkr,4ZCOniP-header):ne11cy(SelIdBUHizeoRip_he3der)&lcp_header.、iza”(lq)_hedd;ip_hCadCrebCCkWm=CbCCksUmUUSHORT*)SendBuf,sizcof(ip-bcodcr)sizcof(tcp-bcadcr)k再将计算过校验和的IP苜部与TCP首部复制到同一个暧冲区中就可以干腌发送r:mcnpyiSendBuftAip_hcadCT,sizf(ip_hcudcr;Md
11、kKSckRaw:xlBufk3lMddrjzeuf(DcMAddr):闪为整个TCP报文中的全前部分祐是我们自己写入的(操作系统不会妣任何干涉),所以我们可以在IP汴部中故?I的机的滋IP地址,恨如伪造的源IP地址的坨有人运用,他在接收到根分SS的SYN+ACK报文府会发送个RST报文(标记位为OO(X)Ol00).通如收务潜指不免要等待个无效的理接,可是假如这个伪造IP井汉“冲沱/1:住何的主机匕小IMHr忖设备去通知主机该连接触无效的(这正是TCP协议的WWV,在机将不断皿试H到SYN11EeHit时向后才能丢弁这个无效的T连接.所以为攻击者运用主机分布很稀疏的IP地址段进行伪装IP的S
12、YNFlood攻J;时,服务得主机承受的负荷公相当的高,依据测试.台Plll55OMHz*l28MBH00Mb的机运用经过初步优化的SYNFloodw印序可以以16.0(包/秒的速度发送TCPSYN报文.这样的攻击力己经足以拖垮人部分WEB职务;K/.略微动动依舫我们就会发觉,想对SYNF100dCr程序进行优化是很冏洁的,从程序构架束Yb攻击时循环内的代码I:要是进行校S和计尊号屐冲仅的埴充.般的思路是极高校防和计算的速5我苴至见过川Ir筑代旧铜马的校验和函数.卡实上.存另外一个变通的方法可以轻桧实现优化而又不须要高深的编程技巧和教学学问,(的耳说吧,我数学比较整:P),我们奴探讨了两个不同
13、派地址的TCPSYN报文后发觉,两个报文的大窸分字段相同比如目的地址,协议衿等),只有海地址和校!和不同(假如为了命藏.源惴口也可以行改攵,但足并不影响我打口法优化的思路).假如我们M先计口好大城的源地校验和的对应关系农(假如耳他的字段行演变也可以加入这个去).等计R完毕/攻击程序糠只须要小纯的组合理冲区并发送500或占总连接数的10%以上),可以认定.这个系统(或主机)追到了SYNFlcxxi攻击.遭到SYNFlood攻击E.首先要锹的是取证.通过NaSlaI-n-ptcpXeaUh.R记录目前全部TCP连接状毒足必Q的.做加夕嗔探58.或%T卬DUmP之类的工具.记求TCPSYN报文的企前
14、细微环IY也右助T以后连任和防I1.很妥记录的字段有:源地址、IP首都中的标识、TCP昔IIC中的扉列号、TT1.攻等,这些信息虽燃很可能是攻击者伪造的,但是用来分析攻击?!的心理犹密和攻击程序也不无彷助,特殊是TT1.值.假如大It的攻击包好像来自不同的IP但是TT1.值如树同.我的往往能推断出攻击者与我们之间的路lSHi.至少也可以通过过滤待定rn.值的投文降低被攻击系统的负荷(在:这种状况下til位5攻击报文不同的用户就可以复原正常访问)前面色经提到可以通过瑞如SYNTimeout时间和设皆SYNCookie来进行SYN或ib及护.对于WinKX)O系统.汪可以H过修改注册衣降低SYNF
15、kIOd的危A.在:注璐表中作如下改动:n.打开rcgiit.找到HKEY_1.oCA1._MACHlNES、ZcmCuiwntContmlScCScrViCCSVRPiPParamcicc增加一个SynAU3dd11hxl的键依类里为REG_DVORD.取值器用足(2.这个的确定/系统受到SYN攻击时玄行的爱护措施,包括削减系统SYN-ACK的求试的次SC等,欺认仅是0没有任何爱护措施,举荐设况是2增加一个TCPMaxH;IHOPen的设值.类型为REt1.DWORD.取Ui范根此IaMhIH.这个位处系统允许同时打开的华旌接,默认状况下WlN2KPRO和SERVER是100,ADVANCE
16、DSERVER5.这个值很晚螳定,取决于服务!ftTCP负荷的状况和可能受到的攻击理吱,详细的21须要经过试发才能确定。增加一个TwMinHaIw)2RMed的说(fi.类里为REG_DWORD.取位范所此MMJXFFtF.UiA状况下WIN2KPRO和SERVER是80.ADVANCEDSERVER足400,这个位确定在什么状况下系统会打开SYN攻击爱护,我们来分析*Win2000的SYN攻击爱护机犯正常状况卜Win2K时TCP连接的.次畀手仃一个常现的设置,包括SYNTimeUt时间.SYN-ACK的,H试次数和SYN报文从路由器到系统用到Winsock的5时等.这个常规设置是计对系统性僮
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SYN Flood攻击的基本原理及防御 Flood 攻击 基本原理 防御

链接地址:https://www.31ppt.com/p-7189412.html