處理ack洪泛攻擊的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)通信技術(shù)領(lǐng)域,尤其涉及一種處理ACK洪泛攻擊的方法和裝置。
【背景技術(shù)】
[0002]目前,網(wǎng)絡(luò)設(shè)備經(jīng)常會(huì)受到分布式拒絕服務(wù)(DistributedDenial of Service,DDoS)攻擊。在DDoS攻擊中,多個(gè)攻擊源同時(shí)利用合理的服務(wù)請(qǐng)求來(lái)占用同一臺(tái)網(wǎng)絡(luò)設(shè)備過(guò)多的服務(wù)資源,從而使該網(wǎng)絡(luò)設(shè)備無(wú)法處理合法用戶的指令。其中,傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議(Transmiss1n Control Protoco I/Internet Protocol,TCP/IP)被網(wǎng)絡(luò)設(shè)備廣泛使用。根據(jù)TCP/IP協(xié)議,在連接建立和數(shù)據(jù)傳輸?shù)倪^(guò)程中,網(wǎng)絡(luò)設(shè)備都會(huì)收到用于不同服務(wù)請(qǐng)求的ACK報(bào)文。因此,ACK洪泛攻擊是DDoS攻擊的常用形式。在ACK洪泛攻擊中,多個(gè)攻擊源可以同時(shí)向網(wǎng)絡(luò)設(shè)備發(fā)送大量的ACK報(bào)文,從而使該網(wǎng)絡(luò)設(shè)備無(wú)法響應(yīng)正常的ACK報(bào)文。
[0003]為了保護(hù)網(wǎng)絡(luò)設(shè)備,通常在檢測(cè)到ACK洪泛攻擊后,將該網(wǎng)絡(luò)設(shè)備接收的所有ACK報(bào)文轉(zhuǎn)發(fā)給預(yù)先設(shè)置的防御設(shè)備,由防御設(shè)備對(duì)ACK報(bào)文進(jìn)行處理。防御設(shè)備在處理ACK洪泛攻擊時(shí),主要采用丟棄方式和觸發(fā)重傳方式。
[0004]在丟棄方式中,防御設(shè)備不對(duì)合法用戶進(jìn)行識(shí)別,直接將所有ACK報(bào)文直接丟棄。在丟棄用于攻擊的ACK報(bào)文的同時(shí),也將合法用戶的ACK報(bào)文全部丟棄,造成合法用戶與網(wǎng)絡(luò)設(shè)備的連接斷開。合法用戶需要通過(guò)手動(dòng)方式重新與網(wǎng)絡(luò)設(shè)備建立連接,影響合法用戶的網(wǎng)絡(luò)體驗(yàn)。
[0005]在觸發(fā)重傳方式中,防御設(shè)備從某個(gè)終端第一次收到ACK報(bào)文后,記錄接收該ACK報(bào)文的時(shí)間并將該ACK報(bào)文丟棄,后續(xù)又從該終端接收到ACK報(bào)文時(shí),判斷兩次接收ACK報(bào)文的時(shí)間間隔是否合理,當(dāng)時(shí)間間隔合理時(shí),確定該發(fā)送方為合法用戶。由于不同的操作系統(tǒng)的需求不同,該時(shí)間間隔的設(shè)置也比較復(fù)雜。為了防止ACK洪泛攻擊,該時(shí)間間隔通常設(shè)置為2-5秒,造成很多合法用戶在這個(gè)時(shí)間段內(nèi)發(fā)送的ACK報(bào)文被丟棄,合法用戶的服務(wù)請(qǐng)求被中斷,影響正常用戶的網(wǎng)絡(luò)體驗(yàn)。另外,根據(jù)TCP/IP協(xié)議,終端在發(fā)出ACK報(bào)文后,即使沒(méi)有收到反饋,也會(huì)繼續(xù)在預(yù)設(shè)的TCP窗口范圍內(nèi)傳輸盡可能多的數(shù)據(jù)報(bào)文。在觸發(fā)重傳方式中,這些數(shù)據(jù)報(bào)文都將被丟棄,直到該終端再次發(fā)送ACK報(bào)文并被確定為合法用戶,從而浪費(fèi)更多的網(wǎng)絡(luò)資源。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實(shí)施例提供了一種處理ACK洪泛攻擊的方法和裝置,能夠在處理ACK洪泛攻擊時(shí),及時(shí)地分辨出合法用戶,提高合法用戶的網(wǎng)絡(luò)體驗(yàn),避免大量合法用戶的報(bào)文被丟棄,節(jié)約網(wǎng)絡(luò)資源。
[0007]本發(fā)明實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0008]一種處理ACK洪泛攻擊的方法,包括:
[0009]防御設(shè)備從終端接收到第一ACK報(bào)文后,存儲(chǔ)所述第一ACK報(bào)文的信息;
[0010]所述防御設(shè)備向所述終端發(fā)送用于指示重傳的ACK報(bào)文;
[0011]所述防御設(shè)備根據(jù)所述第一ACK報(bào)文的信息,確定接收到的第二ACK報(bào)文是否與所述第一 ACK報(bào)文匹配;
[0012]當(dāng)接收到的所述第二ACK報(bào)文與所述第一 ACK報(bào)文匹配,所述防御設(shè)備確定所述終端為合法用戶;并將所述第二 ACK報(bào)文發(fā)送給所述防御設(shè)備對(duì)應(yīng)的網(wǎng)絡(luò)設(shè)備;
[0013]當(dāng)接收到來(lái)自所述合法用戶的第三ACK報(bào)文時(shí),將所述第三ACK報(bào)文發(fā)送給所述防御設(shè)備對(duì)應(yīng)的網(wǎng)絡(luò)設(shè)備。
[0014]一種處理ACK洪泛攻擊的裝置,包括:
[0015]確定模塊,用于從終端接收到第一ACK報(bào)文后,發(fā)送存儲(chǔ)指令給存儲(chǔ)模塊,發(fā)送重傳指令給發(fā)送模塊;根據(jù)所述第一ACK報(bào)文的信息,確定接收的第二ACK報(bào)文是否與所述第一ACK報(bào)文匹配;當(dāng)接收到的所述第二ACK報(bào)文與所述第一ACK報(bào)文匹配,確定所述終端為合法用戶,并將所述第二ACK報(bào)文發(fā)送給所述發(fā)送模塊;當(dāng)接收到來(lái)自所述合法用戶的第三ACK報(bào)文時(shí),將所述第三ACK報(bào)文發(fā)送給所述發(fā)送模塊;
[0016]所述發(fā)送模塊用于根據(jù)所述確定模塊的重傳指令,向所述終端發(fā)送用于指示重傳的ACK報(bào)文;將來(lái)自所述確定模塊的所述第二 ACK報(bào)文和所述第三ACK報(bào)文發(fā)送給所述裝置對(duì)應(yīng)的網(wǎng)絡(luò)設(shè)備;
[0017]所述存儲(chǔ)模塊用于根據(jù)所述確定模塊的存儲(chǔ)指令,存儲(chǔ)所述第一ACK報(bào)文的信息。
[0018]根據(jù)本發(fā)明實(shí)施例提供的處理ACK洪泛攻擊的方法和裝置,防御設(shè)備在收到終端的ACK報(bào)文后,主動(dòng)發(fā)送ACK報(bào)文給終端,并根據(jù)該終端的反饋,迅速地識(shí)別出合法用戶,免合法用戶的網(wǎng)絡(luò)服務(wù)中斷,提高了合法用戶的網(wǎng)絡(luò)體驗(yàn)。另外,由于防御設(shè)備識(shí)別合法用戶的時(shí)間很短,無(wú)需丟棄大量合法用戶發(fā)送的ACK報(bào)文,從而節(jié)約了網(wǎng)絡(luò)資源,減少了 ACK洪泛對(duì)正常用戶的影響。
【附圖說(shuō)明】
[0019]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0020]圖1為本發(fā)明實(shí)施例提供的處理ACK洪泛攻擊的方法的流程圖。
[0021 ]圖2為本發(fā)明實(shí)施例提供的處理ACK洪泛攻擊的方法的流程圖。
[0022]圖3為本發(fā)明實(shí)施例提供的處理ACK洪泛攻擊的方法的流程圖。
[0023]圖4為本發(fā)明實(shí)施例提供的處理ACK洪泛攻擊的裝置的結(jié)構(gòu)的示意圖。
[0024]圖5為本發(fā)明實(shí)施例提供的處理ACK洪泛攻擊的裝置的結(jié)構(gòu)的示意圖。
【具體實(shí)施方式】
[0025]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0026]圖1為本發(fā)明實(shí)施例提供的處理ACK洪泛攻擊的方法的流程圖。在本發(fā)明實(shí)施例中,預(yù)先為網(wǎng)絡(luò)設(shè)備,如服務(wù)器等配置用于處理ACK洪泛攻擊的防御設(shè)備。如圖1所示,該方法包括如下步驟。
[0027]步驟11,防御設(shè)備從終端接收到第一ACK報(bào)文后,存儲(chǔ)第一 ACK報(bào)文的信息。
[0028]在本發(fā)明實(shí)施例中,防御設(shè)備首次從某個(gè)終端接收到ACK報(bào)文,即第一ACK報(bào)文后,存儲(chǔ)該第一 ACK報(bào)文的信息。
[0029]在本發(fā)明實(shí)施例中,第一ACK報(bào)文的信息可以是第一ACK報(bào)文的標(biāo)識(shí)信息。根據(jù)該標(biāo)識(shí)信息,可以唯一確定第一ACK報(bào)文。在本發(fā)明實(shí)施例中,第一ACK報(bào)文的信息可以包括第一ACK報(bào)文的標(biāo)識(shí)信息和接收第一ACK報(bào)文的時(shí)間。其中,標(biāo)識(shí)信息可以是五元組信息;或者是五元組信息和序列號(hào)(SEQ)。
[0030]步驟12,防御設(shè)備向該終端發(fā)送用于指示重傳的ACK報(bào)文。
[0031]在本發(fā)明實(shí)施例中,用于指示重傳的ACK報(bào)文可以為攜帶有該第一ACK報(bào)文的SEQ的ACK報(bào)文。
[0032]根據(jù)TCP/IP協(xié)議,接收到來(lái)自發(fā)送方的ACK報(bào)文X后,接收方反饋的ACK報(bào)文Y中應(yīng)攜帶ACK報(bào)文X的SEQ+載荷。如果接收方反饋的ACK報(bào)文Y中只攜帶了 ACK報(bào)文X的SEQ,則表示接收方已經(jīng)丟棄了該ACK報(bào)文X,發(fā)送方在接收到來(lái)自接收方的ACK報(bào)文Y后,會(huì)重新發(fā)送該ACK報(bào)文X。因此,在本發(fā)明實(shí)施例中,防御設(shè)備將攜帶有第一ACK報(bào)文SEQ的ACK報(bào)文作為指示終端重新發(fā)送第一 ACK報(bào)文。
[0033]在本發(fā)明實(shí)施例中,該用于指示重傳的ACK報(bào)文可以為使能了SACK選項(xiàng)的ACK報(bào)文。
[0034]根據(jù)TCP/IP協(xié)議,接收方可以通過(guò)使能SACK選項(xiàng),告知發(fā)送方哪些報(bào)文段丟失,從而使發(fā)送方重新發(fā)送丟失的報(bào)文段。在本發(fā)明實(shí)施例中,防御設(shè)備可以通過(guò)使能SACK選項(xiàng),告知終端第一 ACK報(bào)文為需要重傳的報(bào)文,從而使終端重新發(fā)送第一 ACK報(bào)文。
[0035]在實(shí)際應(yīng)用中,防御設(shè)備還可以采用其