14 SYN Flood的攻击,SYN Flood..........通过IDP的部署,可以保证TCP连接的正常建立,以此来防范那些恶意的半连接。回到开篇咱们举的那个例子,如果在酒店和客户之间有一个中间机构,该机构限定客户的响应时间,如果超过一定时间没有响应,则通知酒店取消预定,或者该机构作为酒店代理,只有收到款后才跟酒店建立业务关系,这样酒店就可以避免恶意的预定,正常运营。IDP设备就是在攻击者和服务器之间充当这样的一个中间机构。针对上述中间机构的两种处理方式,IDP设备也有两种工作模式:被动模式和主动模式。
IDP的被动工作模式,是指其并不参与到客户机目标服务器之间连接的建立,但是其会维护一个连接建立的时间表,它监控整个连接建立过程,如果客户机超过一定时间没有回复ACK报文,那么IDP就向目标服务器发送一个RESET报文,取消该连接。一般而言手工方式防护DDoS主要通过两种形式
Marking procedure at router R: let R' = BitIntereave(R, Hash(R)) let k be the number of none-overlappling fragments in R' for each packet w let x be a random number from [0..1) if xlet o be a random integer from [0..k-1] let f be the fragment of R' at offset o write f into w.frag write 0 into w.distance wirte o into w.offset else if w.distance=0 then let f be the fragment of R' at offset w.offset write f?w.frag into w.frag increment w.distance
Path reconstruction procedure at victim v:
let FragTbl be a table of tuples(frag,offset,distance) let G be a tree with root v let edges in G be tuples(start,end,distance) let maxd:=0 let last:=v for each packet w from attacker FragTbl.Insert(w.frag,w.offset,w.distance) if w.distance>maxd then maxd:=w.distance for d:=0 to maxd for all ordered combinations of fragments at distance d construct edge z if d!=0 then z:= z?last if Hash(EvenBits(z))=OddBits(z) then insert edge(z,EvenBits(z),d) into G last:=EvenBits(z); remove any edge(x,y,d) with d!=distance from x to v in G extract path(Ri..Rj) by enumerating acyclic paths in G