本發(fā)明涉及計算機領(lǐng)域,具體而言,涉及一種防攻擊數(shù)據(jù)傳輸方法及裝置。
背景技術(shù):
目前,在現(xiàn)有技術(shù)中,常見的通信攻擊方式包括以下兩種:
1、SYN攻擊,攻擊原理如下:SYN攻擊屬于DOS攻擊的一種,它利用TCP協(xié)議缺陷,通過發(fā)送大量的半連接請求,耗費CPU和內(nèi)存資源。SYN攻擊除了能影響主機外,還可以危害路由器、防火墻等網(wǎng)絡(luò)系統(tǒng),事實上SYN攻擊并不管目標是什么系統(tǒng),只要這些系統(tǒng)打開TCP服務(wù)就可以實施。服務(wù)器接收到連接請求(syn=j(luò)),將此信息加入未連接隊列,并發(fā)送請求包給客戶(syn=k,ack=j(luò)+1),此時進入SYN_RECV狀態(tài)。當(dāng)服務(wù)器未收到客戶端的確認包時,重發(fā)請求包,一直到超時,才將此條目從未連接隊列刪除。配合IP欺騙,SYN攻擊能達到很好的效果,通常,客戶端在短時間內(nèi)偽造大量不存在的IP地址,向服務(wù)器不斷地發(fā)送syn包,服務(wù)器回復(fù)確認包,并等待客戶的確認,由于源地址是不存在的,服務(wù)器需要不斷的重發(fā)直至超時,這些偽造的SYN包將長時間占用未連接隊列,正常的SYN請求被丟棄,目標系統(tǒng)運行緩慢,嚴重者引起網(wǎng)絡(luò)堵塞甚至系統(tǒng)癱瘓。
2、ACK攻擊,攻擊原理如下:在TCP連接建立之后,所有的數(shù)據(jù)傳輸TCP報文都是帶有ACK標志位的,主機在接收到一個帶有ACK標志位的數(shù)據(jù)包的時候,需要檢查該數(shù)據(jù)包所表示的連接四元組是否存在,如果存在則檢查該數(shù)據(jù)包所表示的狀態(tài)是否合法,然后再向應(yīng)用層傳遞該數(shù)據(jù)包。如果在檢查中發(fā)現(xiàn)該數(shù)據(jù)包不合法,例如該數(shù)據(jù)包所指向的目的端口在本機并未開放,則主機操作系統(tǒng)協(xié)議棧會回應(yīng)RST包告訴對方此端口不存在。通常狀態(tài)檢測防火墻所做的事情與此類似,只不過防火墻只攔截非法的數(shù)據(jù)包,而不主動回應(yīng)。
對比主機以及防火墻在接收到ACK報文和SYN報文時所做動作的復(fù)雜程度,顯然ACK報文帶來的負載要小得多。所以在實際環(huán)境中,只有當(dāng)攻擊程序每秒鐘發(fā)送ACK報文的速率達到一定的程度,才能使主機和防火墻的負載有大的變化。當(dāng)發(fā)包速率很大的時候,主機操作系統(tǒng)將耗費大量的精力接收報文、判斷狀態(tài),同時要主動回應(yīng)RST報文,正常的數(shù)據(jù)包就可能無法得到及時的處理。這時候客戶端(以IE為例)的表現(xiàn) 就是訪問頁面反應(yīng)很慢,丟包率較高。但是狀態(tài)檢測的防火墻通過判斷ACK報文的狀態(tài)是否合法,借助其強大的硬件能力可以較為有效的過濾攻擊報文。當(dāng)然如果攻擊流量非常大,由于需要維護很大的連接狀態(tài)表同時要檢查數(shù)量巨大的ACK報文的狀態(tài),防火墻也會不堪重負導(dǎo)致全網(wǎng)癱瘓。
為了解決上述問題,目前常用的處理方式是:寬帶流量清洗。通過寬帶流量清洗的方式,以減輕來自于攻擊流量對網(wǎng)絡(luò)和服務(wù)器造成的壓力。其中,寬帶流量清洗解決方案主要分為三個步驟:第一步,利用專用的檢測設(shè)備對用戶業(yè)務(wù)流量進行分析監(jiān)控。第二步,當(dāng)服務(wù)器遭受到攻擊時,檢測設(shè)備上報給專用的業(yè)務(wù)管理平臺生成清洗任務(wù),將用戶流量牽引到流量清洗中心;第三步,流量清洗中心對牽引過來的用戶流量進行清洗,并將清洗后的用戶合法流量回注到服務(wù)器。
但是在現(xiàn)有的清洗方案中,由于通訊協(xié)議各有不同,均采用流量清洗的方式來御防攻擊,則很有可能會造成誤傷,即將正常的數(shù)據(jù)流量當(dāng)成攻擊流量進行過濾。針對上述的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
根據(jù)本發(fā)明實施例的一個方面,提供了一種防攻擊數(shù)據(jù)傳輸方法,包括:獲取待傳輸?shù)耐ㄐ艆f(xié)議報文;對上述通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理,生成處理信息;將上述處理信息保存在上述通信協(xié)議報文在上述報文頭部中的擴展位上,得到轉(zhuǎn)換后的通信協(xié)議報文,其中,上述通信協(xié)議報文的上述報文頭部包括上述信息位和上述擴展位;發(fā)送上述轉(zhuǎn)換后的通信協(xié)議報文至接收設(shè)備
可選地,對上述通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理包括以下至少之一:調(diào)整上述信息位上的數(shù)據(jù)的順序;或者對上述信息位上的數(shù)據(jù)進行整體或局部的壓縮,并填充字符到壓縮后的空閑位置;或者對上述信息位上的數(shù)據(jù)進行整體或局部的加密;或者對上述信息位上的數(shù)據(jù)進行整體或局部的簽名。
可選地,在對上述通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理之前,還包括:將上述通信協(xié)議報文中位于上述報文頭部的部分字節(jié)設(shè)置為上述擴展位。
可選地,將上述通信協(xié)議報文中位于報文頭部的部分字節(jié)設(shè)置為擴展位包括:將上述報文頭部中的序列號和/或確認號中的部分字節(jié)設(shè)置為上述擴展位。
可選地,在發(fā)送上述轉(zhuǎn)換后的通信協(xié)議報文至接收設(shè)備之前,還包括:判斷當(dāng)前上述通信協(xié)議報文的數(shù)據(jù)流量是否大于預(yù)定閾值;若上述數(shù)據(jù)流量大于上述預(yù)定閾值, 則在到達上述接收設(shè)備之前的傳輸鏈路中配置網(wǎng)關(guān)型網(wǎng)絡(luò)設(shè)備,以使上述網(wǎng)關(guān)型網(wǎng)絡(luò)設(shè)備代理上述接收設(shè)備將上述轉(zhuǎn)換后的通信協(xié)議報文轉(zhuǎn)發(fā)給第三方設(shè)備處理。
可選地,對上述通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理的裝置包括以下至少之一:網(wǎng)卡驅(qū)動、虛擬網(wǎng)卡或本地網(wǎng)關(guān)。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種防攻擊數(shù)據(jù)傳輸方法,包括:接收經(jīng)防攻擊預(yù)處理后得到的轉(zhuǎn)換后的通信協(xié)議報文;根據(jù)上述轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的擴展位所指示的上述防攻擊預(yù)處理的處理信息解析上述轉(zhuǎn)換后的通信協(xié)議報文;獲取上述轉(zhuǎn)換后的通信協(xié)議報文中位于上述報文頭部的信息位上的數(shù)據(jù),其中,上述通信協(xié)議報文的上述報文頭部包括上述信息位和上述擴展位。
可選地,根據(jù)上述轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的擴展位所指示的上述防攻擊預(yù)處理的處理信息解析上述轉(zhuǎn)換后的通信協(xié)議報文的裝置包括以下至少之一:網(wǎng)卡驅(qū)動、虛擬網(wǎng)卡或本地網(wǎng)關(guān)。
根據(jù)本發(fā)明實施例的又一方面,還提供了一種防攻擊數(shù)據(jù)傳輸裝置,位于發(fā)送設(shè)備中,上述裝置包括:獲取單元,用于獲取待傳輸?shù)耐ㄐ艆f(xié)議報文;防攻擊預(yù)處理單元,用于對上述通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理,生成處理信息;保存單元,用于將上述處理信息保存在上述通信協(xié)議報文在上述報文頭部中的擴展位上,得到轉(zhuǎn)換后的通信協(xié)議報文,其中,上述通信協(xié)議報文的上述報文頭部包括上述信息位和上述擴展位;發(fā)送單元,用于發(fā)送上述轉(zhuǎn)換后的通信協(xié)議報文至接收設(shè)備。
可選地,上述防攻擊預(yù)處理單元包括以下至少之一:調(diào)整模塊,用于調(diào)整上述信息位上的數(shù)據(jù)的順序;或者壓縮模塊,用于對上述信息位上的數(shù)據(jù)進行整體或局部的壓縮,并填充字符到壓縮后的空閑位置;或者加密模塊,用于對上述信息位上的數(shù)據(jù)進行整體或局部的加密;或者簽名模塊,用于對上述信息位上的數(shù)據(jù)進行整體或局部的簽名。
可選地,上述裝置還包括:設(shè)置單元,用于在對上述通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理之前,將上述通信協(xié)議報文中位于上述報文頭部的部分字節(jié)設(shè)置為上述擴展位。
可選地,上述設(shè)置單元包括:設(shè)置模塊,用于將上述報文頭部中的序列號和/或確認號中的部分字節(jié)設(shè)置為上述擴展位。
可選地,上述裝置還包括:判斷單元,用于在發(fā)送上述轉(zhuǎn)換后的通信協(xié)議報文至接收設(shè)備之前判斷當(dāng)前上述通信協(xié)議報文的數(shù)據(jù)流量是否大于預(yù)定閾值;配置單元, 用于在上述數(shù)據(jù)流量大于上述預(yù)定閾值時,在到達上述接收設(shè)備之前的傳輸鏈路中配置網(wǎng)關(guān)型網(wǎng)絡(luò)設(shè)備,以使上述網(wǎng)關(guān)型網(wǎng)絡(luò)設(shè)備代理上述接收設(shè)備將上述轉(zhuǎn)換后的通信協(xié)議報文轉(zhuǎn)發(fā)給第三方設(shè)備處理。
可選地,上述防攻擊預(yù)處理單元包括以下至少之一:網(wǎng)卡驅(qū)動、虛擬網(wǎng)卡或本地網(wǎng)關(guān)。
根據(jù)本發(fā)明實施例的又一方面,還提供了一種防攻擊數(shù)據(jù)傳輸裝置,位于接收設(shè)備中,上述裝置包括:接收單元,用于接收經(jīng)防攻擊預(yù)處理后得到的轉(zhuǎn)換后的通信協(xié)議報文;解析單元,用于根據(jù)上述轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的擴展位所指示的上述防攻擊預(yù)處理的處理信息解析上述轉(zhuǎn)換后的通信協(xié)議報文;獲取單元,用于獲取上述轉(zhuǎn)換后的通信協(xié)議報文中位于上述報文頭部的信息位上的數(shù)據(jù),其中,上述通信協(xié)議報文的上述報文頭部包括上述信息位和上述擴展位。
可選地,上述解析單元包括以下至少之一:網(wǎng)卡驅(qū)動、虛擬網(wǎng)卡或本地網(wǎng)關(guān)。
在本發(fā)明實施例中,通過在發(fā)送設(shè)備上直接對待傳輸?shù)耐ㄐ艆f(xié)議報文信息位上的數(shù)據(jù)進行防攻擊預(yù)處理,并將防攻擊預(yù)處理的處理信息存儲在原有的通信協(xié)議報文中新設(shè)置的擴展位上,進一步,將轉(zhuǎn)換后的通信協(xié)議報文發(fā)送至接收設(shè)備。也就是說,發(fā)送設(shè)備通過向接收設(shè)備發(fā)送對報文頭部的信息位上的數(shù)據(jù)進行過防攻擊預(yù)處理的通信協(xié)議報文,以實現(xiàn)將正常數(shù)據(jù)流量與異常數(shù)據(jù)流量進行區(qū)分,便于接收設(shè)備獲取通過正確解析得到的通信協(xié)議報文,并過濾掉無法正確解析的異常報文,從而在不影響正常通信的情況下,達到準確御防通信過程中出現(xiàn)的攻擊行為的目的,進而避免現(xiàn)有的防攻擊方式所導(dǎo)致的誤傷正常傳輸?shù)臄?shù)據(jù)流量的問題。
進一步,在本實施例中,僅對報文頭部中的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理,以實現(xiàn)對傳輸鏈路的透明化,避免轉(zhuǎn)換后的通信協(xié)議報文被破譯,進一步提高數(shù)據(jù)傳輸過程中的安全性。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本申請實施例的一種可選的防攻擊的數(shù)據(jù)傳輸方法的流程圖;
圖2是根據(jù)本申請實施例的一種可可選的防攻擊的數(shù)據(jù)傳輸方法的應(yīng)用場景示意圖;
圖3是根據(jù)本申請實施例的一種可選的防攻擊的數(shù)據(jù)傳輸方法的示意圖;
圖4是根據(jù)本申請實施例的另一種可選的防攻擊的數(shù)據(jù)傳輸方法的示意圖;
圖5是根據(jù)本申請實施例的又一種可選的防攻擊的數(shù)據(jù)傳輸方法的示意圖;
圖6是根據(jù)本申請實施例的又一種可選的防攻擊的數(shù)據(jù)傳輸方法的示意圖;
圖7是根據(jù)本申請實施例的又一種可選的防攻擊的數(shù)據(jù)傳輸方法的流程圖;
圖8是根據(jù)本申請實施例的一種可選的防攻擊的數(shù)據(jù)傳輸裝置的示意圖;以及
圖9是根據(jù)本申請實施例的另一種可選的防攻擊的數(shù)據(jù)傳輸裝置的示意圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本申請保護的范圍。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤4送?,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
實施例1
根據(jù)本申請實施例,提供了一種防攻擊數(shù)據(jù)傳輸方法的實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1是根據(jù)本申請實施例的防攻擊數(shù)據(jù)傳輸方法,如圖1所示,該方法包括如下步驟:
S102,獲取待傳輸?shù)耐ㄐ艆f(xié)議報文;
S104,對通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理,生成處理信息;
S106,將處理信息保存在通信協(xié)議報文在報文頭部中的擴展位上,得到轉(zhuǎn)換后的通信協(xié)議報文,其中,通信協(xié)議報文的報文頭部包括信息位和擴展位;
S108,發(fā)送轉(zhuǎn)換后的通信協(xié)議報文至接收設(shè)備。
可選地,在本實施例中,上述防攻擊數(shù)據(jù)傳輸方法可以但不限于應(yīng)用于如圖2所示的應(yīng)用環(huán)境中,作為發(fā)送設(shè)備的終端202按照預(yù)定的通信協(xié)議通過網(wǎng)絡(luò)204與作為接收設(shè)備的服務(wù)器206進行通信,其中,上述網(wǎng)絡(luò)可以包括但不限于:局域網(wǎng)、城域網(wǎng)或廣域網(wǎng),上述終端可以包括但不限于手機、PC機、筆記本或平板電腦。上述僅是一種示例,本實施例對此不做任何限定。
需要說明的是,上述發(fā)送設(shè)備可以但不限于網(wǎng)絡(luò)中可以采集數(shù)據(jù)的采集設(shè)備,例如,路由器,可以通過NET FLOW協(xié)議采集待傳輸?shù)耐ㄐ艆f(xié)議報文。
具體而言,作為發(fā)送設(shè)備的終端202在獲取待傳輸?shù)耐ㄐ艆f(xié)議報文后,將對通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理,并生成對應(yīng)的處理信息,將上述處理信息保存在通信協(xié)議報文在報文頭部中的擴展位上,以得到轉(zhuǎn)換后的通信協(xié)議報文,進一步,將轉(zhuǎn)換后的通信協(xié)議報文發(fā)送至作為接收設(shè)備的服務(wù)器206。
需要說明的是,在本申請實施例中,通過在發(fā)送設(shè)備上直接對待傳輸?shù)耐ㄐ艆f(xié)議報文信息位上的數(shù)據(jù)進行防攻擊預(yù)處理,并將防攻擊預(yù)處理的處理信息存儲在原有的通信協(xié)議報文中新設(shè)置的擴展位上,其中,上述防攻擊預(yù)處理的操作為發(fā)送設(shè)備和接收設(shè)備雙方約定對報文頭部信息位上的數(shù)據(jù)執(zhí)行的操作,來達到御防通信過程中出現(xiàn)的攻擊行為的目的。也就是說,發(fā)送設(shè)備對數(shù)據(jù)進行與接收設(shè)備約定的防攻擊預(yù)處理后,接收設(shè)備可以直接按照約定解析,若可以解析出數(shù)據(jù),即為正常的數(shù)據(jù)流量,若無法正常解析,則可以判定為異常數(shù)據(jù)流量,則可以直接通過丟棄來來御防該異常數(shù)據(jù)流量對應(yīng)的攻擊行為。進而實現(xiàn)在發(fā)送設(shè)備按照通信協(xié)議與接收設(shè)備進行通信的過程中,在不影響正常通信的情況下,提高數(shù)據(jù)傳輸?shù)陌踩耘c準確性,避免現(xiàn)有的防攻擊方式所導(dǎo)致的誤傷正常傳輸?shù)臄?shù)據(jù)流量的問題。
可選地,在本實施例中,上述通信協(xié)議報文可以但不限于傳輸控制協(xié)議(TCP,Transmission Control Protocol),其中,TCP協(xié)議報文的數(shù)據(jù)格式可以如下:
TCP協(xié)議報文的數(shù)據(jù)格式:
由上述內(nèi)容可知,TCP協(xié)議報文中的前20個字節(jié)是固定的,后面有4N字節(jié)是根據(jù)需要而增加的選項。其中,頭部長度、URG、ACK、RST、SYN、FIN、窗口尺寸、TCP校驗和與緊急指針均是TCP協(xié)議報文中包含重要信息的信息位。
在本實施例中,不同于現(xiàn)有技術(shù)中對整個TCP協(xié)議報文進行防攻擊保護,而是采用對報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理保護,從而便于接收設(shè)備在接收到該TCP協(xié)議報文時,可以不通過寬帶流量清洗的方式對所有的數(shù)據(jù)流量進行清洗過濾,以避免將正常數(shù)據(jù)流量當(dāng)作異常數(shù)據(jù)流量被誤殺的問題。使接收設(shè)備通過判斷是否可以按照約定的方式解析對應(yīng)信息位上的數(shù)據(jù),來實現(xiàn)直接過濾攻擊端偽造的通信協(xié)議報文,進一步提高在數(shù)據(jù)傳輸過程中,御防攻擊行為的準確性。其中,轉(zhuǎn)換后的通信協(xié)議報文的報文格式如下:
轉(zhuǎn)換后的通信協(xié)議報文的報文格式:
可選地,在本實施例中,上述通信協(xié)議報文中的擴展位可以但不限于在原有的通信協(xié)議報文中新增的擴展位,也就是說,在不增加報文長度的情況下,將部分位置設(shè)置為用于存放防攻擊預(yù)處理的處理信息的擴展位。從而實現(xiàn)在不增加報文負載開銷的情況下,保證數(shù)據(jù)傳輸?shù)陌踩浴?/p>
可選地,在本實施例中,上述防攻擊預(yù)處理可以包括但不限于以下至少一種操作:
1)調(diào)整信息位上的數(shù)據(jù)的順序;或者
2)對信息位上的數(shù)據(jù)進行整體或局部的壓縮,并填充字符到壓縮后的空閑位置;或者
3)對信息位上的數(shù)據(jù)進行整體或局部的加密;或者
4)對信息位上的數(shù)據(jù)進行整體或局部的簽名。
需要說明的是,上述信息位的整體用于指所有信息位上的數(shù)據(jù),信息位的局部用于指部分信息位中的數(shù)據(jù)。此外,上述填充字符可以但不限于無實際意義的字符,也可以但不限于作為其他信息的擴展位。本實施例中對此不作任何限定。
可選地,在本實施例中,在發(fā)送轉(zhuǎn)換后的通信協(xié)議報文至接收設(shè)備之前,還包括:S1,部署網(wǎng)絡(luò)設(shè)備。也就是說,根據(jù)實際傳輸?shù)臄?shù)據(jù)流量布局網(wǎng)絡(luò)中的網(wǎng)絡(luò)設(shè)備。
可選地,在本實施例中,當(dāng)數(shù)據(jù)流量大于預(yù)定閾值,則在發(fā)送設(shè)備與接收設(shè)備之間設(shè)置網(wǎng)關(guān)型網(wǎng)絡(luò)設(shè)備,以便于該網(wǎng)絡(luò)設(shè)備將部分數(shù)據(jù)流量轉(zhuǎn)發(fā)到第三方接收設(shè)備,以避免原有的接收設(shè)備出現(xiàn)過載,從而達到減輕設(shè)備負載,避免接收設(shè)備由于過載出現(xiàn)系統(tǒng)崩潰的問題。
可選地,在本實施例中,當(dāng)數(shù)據(jù)流量小于等于預(yù)定閾值,則可以直接通過在發(fā)送側(cè)設(shè)置以下至少一種裝置來執(zhí)行對待傳輸?shù)耐ㄐ艆f(xié)議報文的防攻擊預(yù)處理:網(wǎng)卡驅(qū)動、虛擬網(wǎng)卡或本地網(wǎng)關(guān)。
通過本申請?zhí)峁┑膶嵤├ㄟ^在發(fā)送設(shè)備上直接對待傳輸?shù)耐ㄐ艆f(xié)議報文信息位上的數(shù)據(jù)進行防攻擊預(yù)處理,并將防攻擊預(yù)處理的處理信息存儲在原有的通信協(xié)議報文中新設(shè)置的擴展位上,進一步,將轉(zhuǎn)換后的通信協(xié)議報文發(fā)送至接收設(shè)備。也就是說,發(fā)送設(shè)備通過向接收設(shè)備發(fā)送對報文頭部的信息位上的數(shù)據(jù)進行過防攻擊預(yù)處理的通信協(xié)議報文,以實現(xiàn)將正常數(shù)據(jù)流量與異常數(shù)據(jù)流量進行區(qū)分,便于接收設(shè)備獲取通過正確解析得到的通信協(xié)議報文,并過濾掉無法正確解析的異常報文,從而在不影響正常通信的情況下,達到準確御防通信過程中出現(xiàn)的攻擊行為的目的,進而避免現(xiàn)有的防攻擊方式所導(dǎo)致的誤傷正常傳輸?shù)臄?shù)據(jù)流量的問題。進一步,在本實施例中,僅對報文頭部中的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理,而并沒有針對全部通信協(xié)議報文中的數(shù)據(jù),以實現(xiàn)對傳輸鏈路的透明化,避免轉(zhuǎn)換后的通信協(xié)議報文被破譯,進一步提高數(shù)據(jù)傳輸過程中的安全性。
作為一種可選的方案,對通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理包括以下至少之一:
1)調(diào)整信息位上的數(shù)據(jù)的順序;或者
具體結(jié)合以下示例進行說明,TCP協(xié)議報文中位于報文頭部的信息位包括頭部長度、URG、ACK、RST、SYN、FIN、窗口尺寸、TCP校驗和與緊急指針。在本實施例中,在對上述信息位上的數(shù)據(jù)進行防攻擊預(yù)處理時,可以對數(shù)據(jù)的順序進行相應(yīng)調(diào)整,以保證在TCP協(xié)議報文正常的封裝、傳輸?shù)倪^程中,達到對TCP協(xié)議報文進行防攻擊預(yù)處理的目的。
例如,轉(zhuǎn)換后的TCP協(xié)議報文的數(shù)據(jù)格式可以如下:
由上述內(nèi)容可知,本示例中,通過調(diào)整URG、RST和SYN的順序,改變其在通信協(xié)議報文中公知的位置關(guān)系,從而實現(xiàn)針對第三方設(shè)備的防護,避免第三方設(shè)備產(chǎn)生的攻擊。
2)對信息位上的數(shù)據(jù)進行整體或局部的壓縮,并填充字符到壓縮后的空閑位置;或者
具體結(jié)合以下示例進行說明,TCP協(xié)議報文中位于報文頭部的信息位包括頭部長度、URG、ACK、RST、SYN、FIN、窗口尺寸、TCP校驗和與緊急指針。在本實施例中,在對上述信息位上的數(shù)據(jù)進行防攻擊預(yù)處理時,可以對信息位上的數(shù)據(jù)進行整體或局部的壓縮,以保證在TCP協(xié)議報文正常的封裝、傳輸?shù)倪^程中,達到對TCP協(xié)議報文進行防攻擊預(yù)處理的目的。
例如,轉(zhuǎn)換后的TCP協(xié)議報文的數(shù)據(jù)格式可以如下:
由上述內(nèi)容可知,本示例中,通過對TCP校驗和進行局部壓縮,例如,由16位壓縮到10位,并將壓縮后的空閑位置填充一定字符,以改變TCP校驗和在通信協(xié)議報文中公知的位置關(guān)系,從而實現(xiàn)針對第三方設(shè)備的防護,避免第三方設(shè)備產(chǎn)生的攻擊。
可選地,在本實施例中,還可以對上述信息位中的數(shù)據(jù)按比例進行整體壓縮,壓縮方式同上述局部壓縮,本實施例在此不再贅述。
3)對信息位上的數(shù)據(jù)進行整體或局部的加密;或者
可選地,在本實施例中,可以對信息位上的全部數(shù)據(jù)進行整體加密,也可以僅對信息位中部分預(yù)定位置上的數(shù)據(jù)進行局部加密,本示例對加密的方式不做任何限定。
4)對信息位上的數(shù)據(jù)進行整體或局部的簽名。
可選地,在本實施例中,上述簽名是指:只有信息的發(fā)送者才能產(chǎn)生的別人無法偽造的一段數(shù)字串,這段數(shù)字串同時也是對信息的發(fā)送者發(fā)送信息真實性的一個有效證明。
可選地,在本實施例中,可以對信息位上的全部數(shù)據(jù)進行整體簽名認證,也可以僅對信息位中部分預(yù)定位置上的數(shù)據(jù)進行局部簽名認證,本示例對簽名的方式不做任何限定。
通過本申請?zhí)峁┑膶嵤├?,通過上述至少一種方式對通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理的操作,通過對報文頭部的數(shù)據(jù)進行預(yù)處理,進一步提高了待傳輸?shù)耐ㄐ艆f(xié)議報文的安全性,從而避免第三方設(shè)備在破譯上述預(yù)處理的操作后發(fā)起攻擊;進一步,還可以使接收設(shè)備按照與預(yù)處理的操作對應(yīng)的方式解析接收到的轉(zhuǎn)換后的通訊協(xié)議報文,正確識別出正常數(shù)據(jù)流量和異常數(shù)據(jù)流量,克服現(xiàn)有技術(shù)中出現(xiàn)的誤差問題。
作為一種可選的方案,在對通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理之前,還包括:
S1,將通信協(xié)議報文中位于報文頭部的部分字節(jié)設(shè)置為擴展位。
可選地,在本實施例中,將通信協(xié)議報文中位于報文頭部的部分字節(jié)設(shè)置為擴展位包括:S12,將報文頭部中的序列號和/或確認號中的部分字節(jié)設(shè)置為擴展位。
可選地,在本實施例中,基于TCP協(xié)議報文實施上述防攻擊數(shù)據(jù)傳輸方法,考慮到IP轉(zhuǎn)發(fā)的特性和TCP協(xié)議的特點,本實施例中通過在TCP協(xié)議報文的報文頭部將原有的部分字段設(shè)置為擴展位,以實現(xiàn)不增加報文負載開銷的情況下(即不增加報文長 度),實現(xiàn)對待傳輸?shù)腡CP協(xié)議報文的預(yù)處理,以保證TCP協(xié)議在傳輸過程中的兼容性和一致性。
需要說明的是,在TCP協(xié)議報文,序列號和確認號都是32Bit的。這兩個序號的作用是標識上一次傳輸?shù)膱笪牡拈L度??紤]現(xiàn)有網(wǎng)絡(luò)傳輸環(huán)境,在以太網(wǎng)情況下,單個報文最大長度是8192字節(jié)(Jumbo幀長度)。而32Bit可以表示2^32=4G字節(jié),因此這部分數(shù)據(jù)是有可利用余地的。例如,將其中28Bit作為序列號,各保留4Bit用作擴展位,那么就可以將這8Bit用于標識上述預(yù)處理的處理信息。利用這部分擴展位,對報文頭部的信息位上的數(shù)據(jù)進行簽名、TCP頭部重組、模糊、加密等至少一種預(yù)處理的操作,并將轉(zhuǎn)換后的TCP通信協(xié)議報文發(fā)送至接收設(shè)備。
通過本申請?zhí)峁┑膶嵤├?,通過在原有的通信協(xié)議報文中設(shè)置擴展位,以實現(xiàn)利用擴展位記錄對報文頭部的信息位上的數(shù)據(jù)進行的預(yù)處理的操作,以便于接收設(shè)備按照約定正確解析出對應(yīng)的數(shù)據(jù),從而實現(xiàn)對正常數(shù)據(jù)流量和異常數(shù)據(jù)流量的準確區(qū)分,克服現(xiàn)有技術(shù)中存在的誤傷正常傳輸?shù)臄?shù)據(jù)流量的問題。
作為一種可選的方案,在發(fā)送轉(zhuǎn)換后的通信協(xié)議報文至接收設(shè)備之前,還包括:
S1,判斷當(dāng)前通信協(xié)議報文的數(shù)據(jù)流量是否大于預(yù)定閾值;
S2,若數(shù)據(jù)流量大于預(yù)定閾值,則在到達接收設(shè)備之前的傳輸鏈路中配置網(wǎng)關(guān)型網(wǎng)絡(luò)設(shè)備,以使網(wǎng)關(guān)型網(wǎng)絡(luò)設(shè)備代理接收設(shè)備將轉(zhuǎn)換后的通信協(xié)議報文轉(zhuǎn)發(fā)給第三方設(shè)備處理。
可選地,在本實施例中,當(dāng)數(shù)據(jù)流量大于預(yù)定閾值,則在發(fā)送設(shè)備與接收設(shè)備之間設(shè)置網(wǎng)關(guān)型網(wǎng)絡(luò)設(shè)備,以便于該網(wǎng)絡(luò)設(shè)備將部分數(shù)據(jù)流量轉(zhuǎn)發(fā)到第三方接收設(shè)備,以避免原有的接收設(shè)備出現(xiàn)過載,從而達到減輕設(shè)備負載,避免接收設(shè)備由于過載出現(xiàn)系統(tǒng)崩潰的問題。其中,上述預(yù)定閾值可以但不限于根據(jù)接收設(shè)備的處理負荷確定。
具體結(jié)合以下示例進行說明,以TCP協(xié)議報文為例,如圖3所示,在終端202向服務(wù)器206發(fā)送TCP協(xié)議報文之前,作為發(fā)送設(shè)備的終端202可以根據(jù)當(dāng)前的網(wǎng)絡(luò)流量判斷作為接收設(shè)備的服務(wù)器206是否可以正常處理。例如,假設(shè)預(yù)定閾值為100M,當(dāng)前數(shù)據(jù)流量為120M,則作為發(fā)送設(shè)備的終端202在比較后判斷出數(shù)據(jù)流量大于預(yù)定閾值,則將在網(wǎng)絡(luò)中部署網(wǎng)關(guān)型網(wǎng)絡(luò)設(shè)備302,以使網(wǎng)關(guān)型網(wǎng)絡(luò)設(shè)備302將多出的20M數(shù)據(jù)流量轉(zhuǎn)發(fā)至第三方設(shè)備,以避免接收設(shè)備由于過載出現(xiàn)系統(tǒng)崩潰的問題。
通過本申請?zhí)峁┑膶嵤├?,通過預(yù)先比較當(dāng)前通信協(xié)議報文的數(shù)據(jù)流量與預(yù)定閾值的大小關(guān)系,以便于判斷是否在傳輸鏈路中設(shè)置網(wǎng)關(guān)型網(wǎng)絡(luò)設(shè)備,從而實現(xiàn)在防攻擊的過程中,避免接收設(shè)備由于過載出現(xiàn)系統(tǒng)崩潰的問題。
作為一種可選的方案,對通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理的裝置包括以下至少之一:網(wǎng)卡驅(qū)動、虛擬網(wǎng)卡或本地網(wǎng)關(guān)。
具體結(jié)合以下示例進行說明:
作為一種可選的實施方式,如圖4所示,以TCP協(xié)議報文為例,在作為發(fā)送設(shè)備的終端上設(shè)有TCP客戶端402,在作為接收設(shè)備的服務(wù)器上設(shè)有TCP服務(wù)端404。在本實施例中,在TCP客戶端設(shè)置網(wǎng)卡驅(qū)動406-1,作為防攻擊裝置,以實現(xiàn)對上述防攻擊傳輸方法中的預(yù)處理的操作;在TCP服務(wù)端設(shè)置網(wǎng)卡驅(qū)動406-2,作為防攻擊檢測裝置.以實現(xiàn)對上述防攻擊傳輸方法中的解析操作。
需要說明的是,在本實施例中,TCP客戶端還是正常的使用物理網(wǎng)卡通信。只是網(wǎng)卡驅(qū)動會檢測通信的目的地,如果發(fā)現(xiàn)是和外部TCP協(xié)議防攻擊檢測裝置通信,就會將數(shù)據(jù)報文按照事先設(shè)定好的格式進行處理,反之則原樣發(fā)送給目的地。
作為另一種可選的實施方式,如圖5所示,以TCP協(xié)議報文為例,在作為發(fā)送設(shè)備的終端上設(shè)有TCP客戶端402,在作為接收設(shè)備的服務(wù)器上設(shè)有TCP服務(wù)端404。在本實施例中,在TCP客戶端設(shè)置虛擬網(wǎng)卡502-1,作為防攻擊裝置,以實現(xiàn)對上述防攻擊傳輸方法中的預(yù)處理的操作;在TCP服務(wù)端設(shè)置虛擬網(wǎng)卡502-2,作為防攻擊檢測裝置.以實現(xiàn)對上述防攻擊傳輸方法中的解析操作。
需要說明的是,在本實施例中,這種類型比較像一個鏈接隧道。TCP客戶端只要往指定網(wǎng)卡發(fā)送數(shù)據(jù)即可。在具體操作上不感知物理鏈路變化,所有和外部TCP協(xié)議防攻擊檢測裝置的通信由虛擬網(wǎng)卡代理。
作為又一種可選的實施方式,如圖6所示,以TCP協(xié)議報文為例,在作為發(fā)送設(shè)備的終端上設(shè)有TCP客戶端,在作為接收設(shè)備的服務(wù)器上設(shè)有TCP服務(wù)端。在本實施例中,在TCP客戶端設(shè)置本地網(wǎng)關(guān)602-1,作為防攻擊裝置,以實現(xiàn)對上述防攻擊傳輸方法中的預(yù)處理的操作;在TCP服務(wù)端設(shè)置本地網(wǎng)關(guān)602-2,作為防攻擊檢測裝置.以實現(xiàn)對上述防攻擊傳輸方法中的解析操作。
需要說明的是,在本實施例中,這種場景下TCP客戶端只需要和本地網(wǎng)關(guān)建立通信關(guān)系即可。由本地網(wǎng)關(guān)負責(zé)和外部TCP協(xié)議防攻擊檢測裝置通信即可。
通過本申請?zhí)峁┑膶嵤├?,通過不同的裝置實現(xiàn)上述防攻擊數(shù)據(jù)傳輸,以實現(xiàn)防攻擊控制的多樣化。
實施例2
根據(jù)本申請實施例,提供了一種防攻擊數(shù)據(jù)傳輸方法的實施例,需要說明的是, 在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖7是根據(jù)本申請實施例的防攻擊數(shù)據(jù)傳輸方法,如圖7所示,該方法包括如下步驟:
S702,接收經(jīng)防攻擊預(yù)處理后得到的轉(zhuǎn)換后的通信協(xié)議報文;
S704,根據(jù)轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的擴展位所指示的防攻擊預(yù)處理的處理信息解析轉(zhuǎn)換后的通信協(xié)議報文;
S706,獲取轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù),其中,通信協(xié)議報文的報文頭部包括信息位和擴展位。
可選地,在本實施例中,上述防攻擊數(shù)據(jù)傳輸方法可以但不限于應(yīng)用于如圖2所示的應(yīng)用環(huán)境中,作為發(fā)送設(shè)備的終端202按照預(yù)定的通信協(xié)議通過網(wǎng)絡(luò)204與作為接收設(shè)備的服務(wù)器206進行通信,其中,上述網(wǎng)絡(luò)可以包括但不限于:局域網(wǎng)、城域網(wǎng)或廣域網(wǎng),上述終端可以包括但不限于手機、PC機、筆記本或平板電腦。上述僅是一種示例,本實施例對此不做任何限定。
需要說明的是,上述接收設(shè)備也可以但不限于為路由器。通過在路由器中安裝預(yù)定程序?qū)崿F(xiàn)對接收到的轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的擴展位所指示的防攻擊預(yù)處理的處理信息進行解析,以得到轉(zhuǎn)換后的通信協(xié)議報文。
具體而言,作為接收設(shè)備的服務(wù)器206接收經(jīng)防攻擊預(yù)處理后得到的轉(zhuǎn)換后的通信協(xié)議報文;進一步,根據(jù)轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的擴展位所指示的防攻擊預(yù)處理的處理信息解析轉(zhuǎn)換后的通信協(xié)議報文,以獲取轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù),其中,通信協(xié)議報文的報文頭部包括信息位和擴展位。
需要說明的是,在本申請實施例中,通過在發(fā)送設(shè)備上直接對待傳輸?shù)耐ㄐ艆f(xié)議報文信息位上的數(shù)據(jù)進行防攻擊預(yù)處理,并將防攻擊預(yù)處理的處理信息存儲在原有的通信協(xié)議報文中新設(shè)置的擴展位上,以使接收設(shè)備可以按照雙方約定解析并獲取報文頭部信息位上的數(shù)據(jù),若可以正確解析出數(shù)據(jù),即為正常的數(shù)據(jù)流量,若無法正確解析,則可以判定為異常數(shù)據(jù)流量,則可以直接通過丟棄來來御防該異常數(shù)據(jù)流量對應(yīng)的攻擊行為。進而實現(xiàn)在發(fā)送設(shè)備按照通信協(xié)議與接收設(shè)備進行通信的過程中,在不影響正常通信的情況下,提高數(shù)據(jù)傳輸?shù)陌踩耘c準確性,避免現(xiàn)有的防攻擊方式所導(dǎo)致的誤傷正常傳輸?shù)臄?shù)據(jù)流量的問題。
可選地,在本實施例中,上述通信協(xié)議報文可以但不限于傳輸控制協(xié)議(TCP,Transmission Control Protocol),其中,TCP協(xié)議報文的數(shù)據(jù)格式可以如下:
TCP協(xié)議報文的數(shù)據(jù)格式:
由上述內(nèi)容可知,TCP協(xié)議報文中的前20個字節(jié)是固定的,后面有4N字節(jié)是根據(jù)需要而增加的選項。其中,頭部長度、URG、ACK、RST、SYN、FIN、窗口尺寸、TCP校驗和與緊急指針均是TCP協(xié)議報文中包含重要信息的信息位。
在本實施例中,不同于現(xiàn)有技術(shù)中對整個TCP協(xié)議報文進行防攻擊保護,而是采用對報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理保護,從而便于接收設(shè)備在接收到該TCP協(xié)議報文時,可以不通過寬帶流量清洗的方式對所有的數(shù)據(jù)流量進行清洗過濾,以避免將正常數(shù)據(jù)流量當(dāng)作異常數(shù)據(jù)流量被誤殺的問題。使接收設(shè)備通過判斷是否可以按照約定的方式解析對應(yīng)信息位上的數(shù)據(jù),來實現(xiàn)直接過濾攻擊端偽造的通信協(xié)議報文,進一步提高在數(shù)據(jù)傳輸過程中,御防攻擊行為的準確性。其中,轉(zhuǎn)換后的通信協(xié)議報文的報文格式如下:
轉(zhuǎn)換后的通信協(xié)議報文的報文格式:
可選地,在本實施例中,上述通信協(xié)議報文中的擴展位可以但不限于在原有的通信協(xié)議報文中新增的擴展位,也就是說,在不增加報文長度的情況下,將部分位置設(shè)置為用于存放防攻擊預(yù)處理的處理信息的擴展位。從而實現(xiàn)在不增加報文負載開銷的情況下,保證數(shù)據(jù)傳輸?shù)陌踩浴?/p>
可選地,在本實施例中,上述防攻擊預(yù)處理可以包括但不限于以下至少一種操作:
1)調(diào)整信息位上的數(shù)據(jù)的順序;或者
2)對信息位上的數(shù)據(jù)進行整體或局部的壓縮,并填充字符到壓縮后的空閑位置;或者
3)對信息位上的數(shù)據(jù)進行整體或局部的加密;或者
4)對信息位上的數(shù)據(jù)進行整體或局部的簽名。
需要說明的是,上述信息位的整體用于指所有信息位上的數(shù)據(jù),信息位的局部用于指部分信息位中的數(shù)據(jù)。此外,上述填充字符可以但不限于無實際意義的字符,也可以但不限于作為其他信息的擴展位。本實施例中對此不作任何限定。
可選地,在本實施例中,在發(fā)送轉(zhuǎn)換后的通信協(xié)議報文至接收設(shè)備之前,還包括:S1,部署網(wǎng)絡(luò)設(shè)備。也就是說,根據(jù)實際傳輸?shù)臄?shù)據(jù)流量布局網(wǎng)絡(luò)中的網(wǎng)絡(luò)設(shè)備。
可選地,在本實施例中,當(dāng)數(shù)據(jù)流量大于預(yù)定閾值,則在發(fā)送設(shè)備與接收設(shè)備之間設(shè)置網(wǎng)關(guān)型網(wǎng)絡(luò)設(shè)備,以便于該網(wǎng)絡(luò)設(shè)備將部分數(shù)據(jù)流量轉(zhuǎn)發(fā)到第三方接收設(shè)備,以避免原有的接收設(shè)備出現(xiàn)過載,從而達到減輕設(shè)備負載,避免接收設(shè)備由于過載出現(xiàn)系統(tǒng)崩潰的問題。
可選地,在本實施例中,當(dāng)數(shù)據(jù)流量小于等于預(yù)定閾值,則可以直接通過在發(fā)送側(cè)設(shè)置以下至少一種裝置來執(zhí)行對待傳輸?shù)耐ㄐ艆f(xié)議報文的防攻擊預(yù)處理:網(wǎng)卡驅(qū)動、虛擬網(wǎng)卡或本地網(wǎng)關(guān)。
通過本申請?zhí)峁┑膶嵤├?,作為接收設(shè)備的服務(wù)器206接收經(jīng)防攻擊預(yù)處理后得到的轉(zhuǎn)換后的通信協(xié)議報文;進一步,根據(jù)轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的擴展位所指示的防攻擊預(yù)處理的處理信息解析轉(zhuǎn)換后的通信協(xié)議報文,以獲取轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù),其中,通信協(xié)議報文的報文頭部包括信息位和擴展位。也就是說,接收設(shè)備通過對接收到的通信協(xié)議報文的報文頭部的信息位上的數(shù)據(jù)進行解析,并對正確解析出的正常數(shù)據(jù)流量進行處理,過濾掉異常數(shù)據(jù)流量,以實現(xiàn)將正常數(shù)據(jù)流量與異常數(shù)據(jù)流量進行區(qū)分,便于接收設(shè)備獲取通過正確解析得到的通信協(xié)議報文,并過濾掉無法正確解析的異常報文,從而在不影響正常通信的情況下,達到準確御防通信過程中出現(xiàn)的攻擊行為的目的,進而避免現(xiàn)有的防攻擊方式所導(dǎo)致的誤傷正常傳輸?shù)臄?shù)據(jù)流量的問題。
作為一種可選的方案,根據(jù)轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的擴展位所指示的防攻擊預(yù)處理的處理信息解析轉(zhuǎn)換后的通信協(xié)議報文的裝置包括以下至少之一: 網(wǎng)卡驅(qū)動、虛擬網(wǎng)卡或本地網(wǎng)關(guān)。
具體結(jié)合以下示例進行說明:
作為一種可選的實施方式,如圖4所示,以TCP協(xié)議報文為例,在作為發(fā)送設(shè)備的終端上設(shè)有TCP客戶端402,在作為接收設(shè)備的服務(wù)器上設(shè)有TCP服務(wù)端404。在本實施例中,在TCP客戶端設(shè)置網(wǎng)卡驅(qū)動406-1,作為防攻擊裝置,以實現(xiàn)對上述防攻擊傳輸方法中的預(yù)處理的操作;在TCP服務(wù)端設(shè)置網(wǎng)卡驅(qū)動406-2,作為防攻擊檢測裝置.以實現(xiàn)對上述防攻擊傳輸方法中的解析操作。
需要說明的是,在本實施例中,TCP客戶端還是正常的使用物理網(wǎng)卡通信。只是網(wǎng)卡驅(qū)動會檢測通信的目的地,如果發(fā)現(xiàn)是和外部TCP協(xié)議防攻擊檢測裝置通信,就會將數(shù)據(jù)報文按照事先設(shè)定好的格式進行處理,反之則原樣發(fā)送給目的地。
作為另一種可選的實施方式,如圖5所示,以TCP協(xié)議報文為例,在作為發(fā)送設(shè)備的終端上設(shè)有TCP客戶端402,在作為接收設(shè)備的服務(wù)器上設(shè)有TCP服務(wù)端404。在本實施例中,在TCP客戶端設(shè)置虛擬網(wǎng)卡502-1,作為防攻擊裝置,以實現(xiàn)對上述防攻擊傳輸方法中的預(yù)處理的操作;在TCP服務(wù)端設(shè)置虛擬網(wǎng)卡502-2,作為防攻擊檢測裝置.以實現(xiàn)對上述防攻擊傳輸方法中的解析操作。
需要說明的是,在本實施例中,這種類型比較像一個鏈接隧道。TCP客戶端只要往指定網(wǎng)卡發(fā)送數(shù)據(jù)即可。在具體操作上不感知物理鏈路變化,所有和外部TCP協(xié)議防攻擊檢測裝置的通信由虛擬網(wǎng)卡代理。
作為又一種可選的實施方式,如圖6所示,以TCP協(xié)議報文為例,在作為發(fā)送設(shè)備的終端上設(shè)有TCP客戶端,在作為接收設(shè)備的服務(wù)器上設(shè)有TCP服務(wù)端。在本實施例中,在TCP客戶端設(shè)置本地網(wǎng)關(guān)602-1,作為防攻擊裝置,以實現(xiàn)對上述防攻擊傳輸方法中的預(yù)處理的操作;在TCP服務(wù)端設(shè)置本地網(wǎng)關(guān)602-2,作為防攻擊檢測裝置.以實現(xiàn)對上述防攻擊傳輸方法中的解析操作。
需要說明的是,在本實施例中,這種場景下TCP客戶端只需要和本地網(wǎng)關(guān)建立通信關(guān)系即可。由本地網(wǎng)關(guān)負責(zé)和外部TCP協(xié)議防攻擊檢測裝置通信即可。
通過本申請?zhí)峁┑膶嵤├ㄟ^不同的裝置實現(xiàn)上述防攻擊數(shù)據(jù)傳輸,以實現(xiàn)防攻擊控制的多樣化。
實施例3
根據(jù)本申請實施例,提供了一種防攻擊數(shù)據(jù)傳輸裝置的實施例,該裝置位于發(fā)送設(shè)備中,如圖8所示,該裝置包括:
1)獲取單元802,用于獲取待傳輸?shù)耐ㄐ艆f(xié)議報文;
2)防攻擊預(yù)處理單元804,用于對通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理,生成處理信息;
3)保存單元806,用于將處理信息保存在通信協(xié)議報文在報文頭部中的擴展位上,得到轉(zhuǎn)換后的通信協(xié)議報文,其中,通信協(xié)議報文的報文頭部包括信息位和擴展位;
4)發(fā)送單元808,用于發(fā)送轉(zhuǎn)換后的通信協(xié)議報文至接收設(shè)備。
可選地,在本實施例中,上述防攻擊數(shù)據(jù)傳輸裝置可以但不限于應(yīng)用于如圖2所示的應(yīng)用環(huán)境中,作為發(fā)送設(shè)備的終端202按照預(yù)定的通信協(xié)議通過網(wǎng)絡(luò)204與作為接收設(shè)備的服務(wù)器206進行通信,其中,上述網(wǎng)絡(luò)可以包括但不限于:局域網(wǎng)、城域網(wǎng)或廣域網(wǎng),上述終端可以包括但不限于手機、PC機、筆記本或平板電腦。上述僅是一種示例,本實施例對此不做任何限定。
需要說明的是,上述發(fā)送設(shè)備可以但不限于網(wǎng)絡(luò)中可以采集數(shù)據(jù)的采集設(shè)備,例如,路由器,可以通過NET FLOW協(xié)議采集待傳輸?shù)耐ㄐ艆f(xié)議報文。
具體而言,作為發(fā)送設(shè)備的終端202在獲取待傳輸?shù)耐ㄐ艆f(xié)議報文后,將對通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理,并生成對應(yīng)的處理信息,將上述處理信息保存在通信協(xié)議報文在報文頭部中的擴展位上,以得到轉(zhuǎn)換后的通信協(xié)議報文,進一步,將轉(zhuǎn)換后的通信協(xié)議報文發(fā)送至作為接收設(shè)備的服務(wù)器206。
需要說明的是,在本申請實施例中,通過在發(fā)送設(shè)備上直接對待傳輸?shù)耐ㄐ艆f(xié)議報文信息位上的數(shù)據(jù)進行防攻擊預(yù)處理,并將防攻擊預(yù)處理的處理信息存儲在原有的通信協(xié)議報文中新設(shè)置的擴展位上,其中,上述防攻擊預(yù)處理的操作為發(fā)送設(shè)備和接收設(shè)備雙方約定對報文頭部信息位上的數(shù)據(jù)執(zhí)行的操作,來達到御防通信過程中出現(xiàn)的攻擊行為的目的。也就是說,發(fā)送設(shè)備對數(shù)據(jù)進行與接收設(shè)備約定的防攻擊預(yù)處理后,接收設(shè)備可以直接按照約定解析,若可以解析出數(shù)據(jù),即為正常的數(shù)據(jù)流量,若無法正常解析,則可以判定為異常數(shù)據(jù)流量,則可以直接通過丟棄來來御防該異常數(shù)據(jù)流量對應(yīng)的攻擊行為。進而實現(xiàn)在發(fā)送設(shè)備按照通信協(xié)議與接收設(shè)備進行通信的過程中,在不影響正常通信的情況下,提高數(shù)據(jù)傳輸?shù)陌踩耘c準確性,避免現(xiàn)有的防攻擊方式所導(dǎo)致的誤傷正常傳輸?shù)臄?shù)據(jù)流量的問題。
可選地,在本實施例中,上述通信協(xié)議報文可以但不限于傳輸控制協(xié)議(TCP,Transmission Control Protocol),其中,TCP協(xié)議報文的數(shù)據(jù)格式可以如下:
TCP協(xié)議報文的數(shù)據(jù)格式:
由上述內(nèi)容可知,TCP協(xié)議報文中的前20個字節(jié)是固定的,后面有4N字節(jié)是根據(jù)需要而增加的選項。其中,頭部長度、URG、ACK、RST、SYN、FIN、窗口尺寸、TCP校驗和與緊急指針均是TCP協(xié)議報文中包含重要信息的信息位。
在本實施例中,不同于現(xiàn)有技術(shù)中對整個TCP協(xié)議報文進行防攻擊保護,而是采用對報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理保護,從而便于接收設(shè)備在接收到該TCP協(xié)議報文時,可以不通過寬帶流量清洗的方式對所有的數(shù)據(jù)流量進行清洗過濾,以避免將正常數(shù)據(jù)流量當(dāng)作異常數(shù)據(jù)流量被誤殺的問題。使接收設(shè)備通過判斷是否可以按照約定的方式解析對應(yīng)信息位上的數(shù)據(jù),來實現(xiàn)直接過濾攻擊端偽造的通信協(xié)議報文,進一步提高在數(shù)據(jù)傳輸過程中,御防攻擊行為的準確性。其中,轉(zhuǎn)換后的通信協(xié)議報文的報文格式如下:
轉(zhuǎn)換后的通信協(xié)議報文的報文格式:
可選地,在本實施例中,上述通信協(xié)議報文中的擴展位可以但不限于在原有的通信協(xié)議報文中新增的擴展位,也就是說,在不增加報文長度的情況下,將部分位置設(shè)置為用于存放防攻擊預(yù)處理的處理信息的擴展位。從而實現(xiàn)在不增加報文負載開銷的情況下,保證數(shù)據(jù)傳輸?shù)陌踩浴?/p>
可選地,在本實施例中,上述防攻擊預(yù)處理可以包括但不限于以下至少一種操作:
1)調(diào)整信息位上的數(shù)據(jù)的順序;或者
2)對信息位上的數(shù)據(jù)進行整體或局部的壓縮,并填充字符到壓縮后的空閑位置;或者
3)對信息位上的數(shù)據(jù)進行整體或局部的加密;或者
4)對信息位上的數(shù)據(jù)進行整體或局部的簽名。
需要說明的是,上述信息位的整體用于指所有信息位上的數(shù)據(jù),信息位的局部用于指部分信息位中的數(shù)據(jù)。此外,上述填充字符可以但不限于無實際意義的字符,也可以但不限于作為其他信息的擴展位。本實施例中對此不作任何限定。
可選地,在本實施例中,在發(fā)送轉(zhuǎn)換后的通信協(xié)議報文至接收設(shè)備之前,還包括:S1,部署網(wǎng)絡(luò)設(shè)備。也就是說,根據(jù)實際傳輸?shù)臄?shù)據(jù)流量布局網(wǎng)絡(luò)中的網(wǎng)絡(luò)設(shè)備。
可選地,在本實施例中,當(dāng)數(shù)據(jù)流量大于預(yù)定閾值,則在發(fā)送設(shè)備與接收設(shè)備之間設(shè)置網(wǎng)關(guān)型網(wǎng)絡(luò)設(shè)備,以便于該網(wǎng)絡(luò)設(shè)備將部分數(shù)據(jù)流量轉(zhuǎn)發(fā)到第三方接收設(shè)備,以避免原有的接收設(shè)備出現(xiàn)過載,從而達到減輕設(shè)備負載,避免接收設(shè)備由于過載出現(xiàn)系統(tǒng)崩潰的問題。
可選地,在本實施例中,當(dāng)數(shù)據(jù)流量小于等于預(yù)定閾值,則可以直接通過在發(fā)送側(cè)設(shè)置以下至少一種裝置來執(zhí)行對待傳輸?shù)耐ㄐ艆f(xié)議報文的防攻擊預(yù)處理:網(wǎng)卡驅(qū)動、虛擬網(wǎng)卡或本地網(wǎng)關(guān)。
通過本申請?zhí)峁┑膶嵤├?,通過在發(fā)送設(shè)備上直接對待傳輸?shù)耐ㄐ艆f(xié)議報文信息位上的數(shù)據(jù)進行防攻擊預(yù)處理,并將防攻擊預(yù)處理的處理信息存儲在原有的通信協(xié)議報文中新設(shè)置的擴展位上,進一步,將轉(zhuǎn)換后的通信協(xié)議報文發(fā)送至接收設(shè)備。也就是說,發(fā)送設(shè)備通過向接收設(shè)備發(fā)送對報文頭部的信息位上的數(shù)據(jù)進行過防攻擊預(yù)處理的通信協(xié)議報文,以實現(xiàn)將正常數(shù)據(jù)流量與異常數(shù)據(jù)流量進行區(qū)分,便于接收設(shè)備獲取通過正確解析得到的通信協(xié)議報文,并過濾掉無法正確解析的異常報文,從而在不影響正常通信的情況下,達到準確御防通信過程中出現(xiàn)的攻擊行為的目的,進而避免現(xiàn)有的防攻擊方式所導(dǎo)致的誤傷正常傳輸?shù)臄?shù)據(jù)流量的問題。進一步,在本實施例中,僅對報文頭部中的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理,而并沒有針對全部通信協(xié)議報文中的數(shù)據(jù),以實現(xiàn)對傳輸鏈路的透明化,避免轉(zhuǎn)換后的通信協(xié)議報文被破譯,進一步提高數(shù)據(jù)傳輸過程中的安全性。
作為一種可選的方案,防攻擊預(yù)處理單元804包括以下至少之一:
1)調(diào)整模塊,用于調(diào)整信息位上的數(shù)據(jù)的順序;或者
具體結(jié)合以下示例進行說明,TCP協(xié)議報文中位于報文頭部的信息位包括頭部長 度、URG、ACK、RST、SYN、FIN、窗口尺寸、TCP校驗和與緊急指針。在本實施例中,在對上述信息位上的數(shù)據(jù)進行防攻擊預(yù)處理時,可以對數(shù)據(jù)的順序進行相應(yīng)調(diào)整,以保證在TCP協(xié)議報文正常的封裝、傳輸?shù)倪^程中,達到對TCP協(xié)議報文進行防攻擊預(yù)處理的目的。
例如,轉(zhuǎn)換后的TCP協(xié)議報文的數(shù)據(jù)格式可以如下:
由上述內(nèi)容可知,本示例中,通過調(diào)整URG、RST和SYN的順序,改變其在通信協(xié)議報文中公知的位置關(guān)系,從而實現(xiàn)針對第三方設(shè)備的防護,避免第三方設(shè)備產(chǎn)生的攻擊。
2)壓縮模塊,用于對信息位上的數(shù)據(jù)進行整體或局部的壓縮,并填充字符到壓縮后的空閑位置;或者
具體結(jié)合以下示例進行說明,TCP協(xié)議報文中位于報文頭部的信息位包括頭部長度、URG、ACK、RST、SYN、FIN、窗口尺寸、TCP校驗和與緊急指針。在本實施例中,在對上述信息位上的數(shù)據(jù)進行防攻擊預(yù)處理時,可以對信息位上的數(shù)據(jù)進行整體或局部的壓縮,以保證在TCP協(xié)議報文正常的封裝、傳輸?shù)倪^程中,達到對TCP協(xié)議報文進行防攻擊預(yù)處理的目的。
例如,轉(zhuǎn)換后的TCP協(xié)議報文的數(shù)據(jù)格式可以如下:
由上述內(nèi)容可知,本示例中,通過對TCP校驗和進行局部壓縮,例如,由16位壓 縮到10位,并將壓縮后的空閑位置填充一定字符,以改變TCP校驗和在通信協(xié)議報文中公知的位置關(guān)系,從而實現(xiàn)針對第三方設(shè)備的防護,避免第三方設(shè)備產(chǎn)生的攻擊。
可選地,在本實施例中,還可以對上述信息位中的數(shù)據(jù)按比例進行整體壓縮,壓縮方式同上述局部壓縮,本實施例在此不再贅述。
3)加密模塊,用于對信息位上的數(shù)據(jù)進行整體或局部的加密;或者
可選地,在本實施例中,可以對信息位上的全部數(shù)據(jù)進行整體加密,也可以僅對信息位中部分預(yù)定位置上的數(shù)據(jù)進行局部加密,本示例對加密的方式不做任何限定。
4)簽名模塊,用于對信息位上的數(shù)據(jù)進行整體或局部的簽名。
可選地,在本實施例中,上述簽名是指:只有信息的發(fā)送者才能產(chǎn)生的別人無法偽造的一段數(shù)字串,這段數(shù)字串同時也是對信息的發(fā)送者發(fā)送信息真實性的一個有效證明。
可選地,在本實施例中,可以對信息位上的全部數(shù)據(jù)進行整體簽名認證,也可以僅對信息位中部分預(yù)定位置上的數(shù)據(jù)進行局部簽名認證,本示例對簽名的方式不做任何限定。
通過本申請?zhí)峁┑膶嵤├ㄟ^上述至少一種方式對通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理的操作,通過對報文頭部的數(shù)據(jù)進行預(yù)處理,進一步提高了待傳輸?shù)耐ㄐ艆f(xié)議報文的安全性,從而避免第三方設(shè)備在破譯上述預(yù)處理的操作后發(fā)起攻擊;進一步,還可以使接收設(shè)備按照與預(yù)處理的操作對應(yīng)的方式解析接收到的轉(zhuǎn)換后的通訊協(xié)議報文,正確識別出正常數(shù)據(jù)流量和異常數(shù)據(jù)流量,克服現(xiàn)有技術(shù)中出現(xiàn)的誤差問題。
作為一種可選的方案,上述裝置還包括:
1)設(shè)置單元,用于在對通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理之前,將通信協(xié)議報文中位于報文頭部的部分字節(jié)設(shè)置為擴展位。
可選地,在本實施例中,設(shè)置單元包括:
1)設(shè)置模塊,用于將報文頭部中的序列號和/或確認號中的部分字節(jié)設(shè)置為擴展位。
可選地,在本實施例中,基于TCP協(xié)議報文實施上述防攻擊數(shù)據(jù)傳輸裝置,考慮到IP轉(zhuǎn)發(fā)的特性和TCP協(xié)議的特點,本實施例中通過在TCP協(xié)議報文的報文頭部將原有的部分字段設(shè)置為擴展位,以實現(xiàn)不增加報文負載開銷的情況下(即不增加報文長 度),實現(xiàn)對待傳輸?shù)腡CP協(xié)議報文的預(yù)處理,以保證TCP協(xié)議在傳輸過程中的兼容性和一致性。
需要說明的是,在TCP協(xié)議報文,序列號和確認號都是32Bit的。這兩個序號的作用是標識上一次傳輸?shù)膱笪牡拈L度。考慮現(xiàn)有網(wǎng)絡(luò)傳輸環(huán)境,在以太網(wǎng)情況下,單個報文最大長度是8192字節(jié)(Jumbo幀長度)。而32Bit可以表示2^32=4G字節(jié),因此這部分數(shù)據(jù)是有可利用余地的。例如,將其中28Bit作為序列號,各保留4Bit用作擴展位,那么就可以將這8Bit用于標識上述預(yù)處理的處理信息。利用這部分擴展位,對報文頭部的信息位上的數(shù)據(jù)進行簽名、TCP頭部重組、模糊、加密等至少一種預(yù)處理的操作,并將轉(zhuǎn)換后的TCP通信協(xié)議報文發(fā)送至接收設(shè)備。
通過本申請?zhí)峁┑膶嵤├?,通過在原有的通信協(xié)議報文中設(shè)置擴展位,以實現(xiàn)利用擴展位記錄對報文頭部的信息位上的數(shù)據(jù)進行的預(yù)處理的操作,以便于接收設(shè)備按照約定正確解析出對應(yīng)的數(shù)據(jù),從而實現(xiàn)對正常數(shù)據(jù)流量和異常數(shù)據(jù)流量的準確區(qū)分,克服現(xiàn)有技術(shù)中存在的誤傷正常傳輸?shù)臄?shù)據(jù)流量的問題。
作為一種可選的方案,上述裝置還包括:
1)判斷單元,用于在發(fā)送轉(zhuǎn)換后的通信協(xié)議報文至接收設(shè)備之前判斷當(dāng)前通信協(xié)議報文的數(shù)據(jù)流量是否大于預(yù)定閾值;
2)配置單元,用于在數(shù)據(jù)流量大于預(yù)定閾值時,在到達接收設(shè)備之前的傳輸鏈路中配置網(wǎng)關(guān)型網(wǎng)絡(luò)設(shè)備,以使網(wǎng)關(guān)型網(wǎng)絡(luò)設(shè)備代理接收設(shè)備將轉(zhuǎn)換后的通信協(xié)議報文轉(zhuǎn)發(fā)給第三方設(shè)備處理。
可選地,在本實施例中,當(dāng)數(shù)據(jù)流量大于預(yù)定閾值,則在發(fā)送設(shè)備與接收設(shè)備之間設(shè)置網(wǎng)關(guān)型網(wǎng)絡(luò)設(shè)備,以便于該網(wǎng)絡(luò)設(shè)備將部分數(shù)據(jù)流量轉(zhuǎn)發(fā)到第三方接收設(shè)備,以避免原有的接收設(shè)備出現(xiàn)過載,從而達到減輕設(shè)備負載,避免接收設(shè)備由于過載出現(xiàn)系統(tǒng)崩潰的問題。其中,上述預(yù)定閾值可以但不限于根據(jù)接收設(shè)備的處理負荷確定。
具體結(jié)合以下示例進行說明,以TCP協(xié)議報文為例,如圖3所示,在終端202向服務(wù)器206發(fā)送TCP協(xié)議報文之前,作為發(fā)送設(shè)備的終端202可以根據(jù)當(dāng)前的網(wǎng)絡(luò)流量判斷作為接收設(shè)備的服務(wù)器206是否可以正常處理。例如,假設(shè)預(yù)定閾值為100M,當(dāng)前數(shù)據(jù)流量為120M,則作為發(fā)送設(shè)備的終端202在比較后判斷出數(shù)據(jù)流量大于預(yù)定閾值,則將在網(wǎng)絡(luò)中部署網(wǎng)關(guān)型網(wǎng)絡(luò)設(shè)備302,以使網(wǎng)關(guān)型網(wǎng)絡(luò)設(shè)備302將多出的20M數(shù)據(jù)流量轉(zhuǎn)發(fā)至第三方設(shè)備,以避免接收設(shè)備由于過載出現(xiàn)系統(tǒng)崩潰的問題。
通過本申請?zhí)峁┑膶嵤├?,通過預(yù)先比較當(dāng)前通信協(xié)議報文的數(shù)據(jù)流量與預(yù)定閾值的大小關(guān)系,以便于判斷是否在傳輸鏈路中設(shè)置網(wǎng)關(guān)型網(wǎng)絡(luò)設(shè)備,從而實現(xiàn)在防攻 擊的過程中,避免接收設(shè)備由于過載出現(xiàn)系統(tǒng)崩潰的問題。
作為一種可選的方案,防攻擊預(yù)處理單元包括以下至少之一:網(wǎng)卡驅(qū)動、虛擬網(wǎng)卡或本地網(wǎng)關(guān)。
具體結(jié)合以下示例進行說明:
作為一種可選的實施方式,如圖4所示,以TCP協(xié)議報文為例,在作為發(fā)送設(shè)備的終端上設(shè)有TCP客戶端402,在作為接收設(shè)備的服務(wù)器上設(shè)有TCP服務(wù)端404。在本實施例中,在TCP客戶端設(shè)置網(wǎng)卡驅(qū)動406-1,作為防攻擊裝置,以實現(xiàn)對上述防攻擊傳輸裝置中的預(yù)處理的操作;在TCP服務(wù)端設(shè)置網(wǎng)卡驅(qū)動406-2,作為防攻擊檢測裝置.以實現(xiàn)對上述防攻擊傳輸裝置中的解析操作。
需要說明的是,在本實施例中,TCP客戶端還是正常的使用物理網(wǎng)卡通信。只是網(wǎng)卡驅(qū)動會檢測通信的目的地,如果發(fā)現(xiàn)是和外部TCP協(xié)議防攻擊檢測裝置通信,就會將數(shù)據(jù)報文按照事先設(shè)定好的格式進行處理,反之則原樣發(fā)送給目的地。
作為另一種可選的實施方式,如圖5所示,以TCP協(xié)議報文為例,在作為發(fā)送設(shè)備的終端上設(shè)有TCP客戶端402,在作為接收設(shè)備的服務(wù)器上設(shè)有TCP服務(wù)端404。在本實施例中,在TCP客戶端設(shè)置虛擬網(wǎng)卡502-1,作為防攻擊裝置,以實現(xiàn)對上述防攻擊傳輸裝置中的預(yù)處理的操作;在TCP服務(wù)端設(shè)置虛擬網(wǎng)卡502-2,作為防攻擊檢測裝置.以實現(xiàn)對上述防攻擊傳輸裝置中的解析操作。
需要說明的是,在本實施例中,這種類型比較像一個鏈接隧道。TCP客戶端只要往指定網(wǎng)卡發(fā)送數(shù)據(jù)即可。在具體操作上不感知物理鏈路變化,所有和外部TCP協(xié)議防攻擊檢測裝置的通信由虛擬網(wǎng)卡代理。
作為又一種可選的實施方式,如圖6所示,以TCP協(xié)議報文為例,在作為發(fā)送設(shè)備的終端上設(shè)有TCP客戶端,在作為接收設(shè)備的服務(wù)器上設(shè)有TCP服務(wù)端。在本實施例中,在TCP客戶端設(shè)置本地網(wǎng)關(guān)602-1,作為防攻擊裝置,以實現(xiàn)對上述防攻擊傳輸裝置中的預(yù)處理的操作;在TCP服務(wù)端設(shè)置本地網(wǎng)關(guān)602-2,作為防攻擊檢測裝置.以實現(xiàn)對上述防攻擊傳輸裝置中的解析操作。
需要說明的是,在本實施例中,這種場景下TCP客戶端只需要和本地網(wǎng)關(guān)建立通信關(guān)系即可。由本地網(wǎng)關(guān)負責(zé)和外部TCP協(xié)議防攻擊檢測裝置通信即可。
通過本申請?zhí)峁┑膶嵤├?,通過不同的裝置實現(xiàn)上述防攻擊數(shù)據(jù)傳輸,以實現(xiàn)防攻擊控制的多樣化。
實施例4
根據(jù)本申請實施例,提供了一種防攻擊數(shù)據(jù)傳輸裝置的實施例,該裝置位于接收設(shè)備中,如圖9所示,該裝置包括:
1)接收單元902,用于接收經(jīng)防攻擊預(yù)處理后得到的轉(zhuǎn)換后的通信協(xié)議報文;
2)解析單元904,用于根據(jù)轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的擴展位所指示的防攻擊預(yù)處理的處理信息解析轉(zhuǎn)換后的通信協(xié)議報文;
3)獲取單元906,用于獲取轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù),其中,通信協(xié)議報文的報文頭部包括信息位和擴展位。
可選地,在本實施例中,上述防攻擊數(shù)據(jù)傳輸裝置可以但不限于應(yīng)用于如圖2所示的應(yīng)用環(huán)境中,作為發(fā)送設(shè)備的終端202按照預(yù)定的通信協(xié)議通過網(wǎng)絡(luò)204與作為接收設(shè)備的服務(wù)器206進行通信,其中,上述網(wǎng)絡(luò)可以包括但不限于:局域網(wǎng)、城域網(wǎng)或廣域網(wǎng),上述終端可以包括但不限于手機、PC機、筆記本或平板電腦。上述僅是一種示例,本實施例對此不做任何限定。
需要說明的是,上述接收設(shè)備也可以但不限于為路由器。通過在路由器中安裝預(yù)定程序?qū)崿F(xiàn)對接收到的轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的擴展位所指示的防攻擊預(yù)處理的處理信息進行解析,以得到轉(zhuǎn)換后的通信協(xié)議報文。
具體而言,作為接收設(shè)備的服務(wù)器206接收經(jīng)防攻擊預(yù)處理后得到的轉(zhuǎn)換后的通信協(xié)議報文;進一步,根據(jù)轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的擴展位所指示的防攻擊預(yù)處理的處理信息解析轉(zhuǎn)換后的通信協(xié)議報文,以獲取轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù),其中,通信協(xié)議報文的報文頭部包括信息位和擴展位。
需要說明的是,在本申請實施例中,通過在發(fā)送設(shè)備上直接對待傳輸?shù)耐ㄐ艆f(xié)議報文信息位上的數(shù)據(jù)進行防攻擊預(yù)處理,并將防攻擊預(yù)處理的處理信息存儲在原有的通信協(xié)議報文中新設(shè)置的擴展位上,以使接收設(shè)備可以按照雙方約定解析并獲取報文頭部信息位上的數(shù)據(jù),若可以正確解析出數(shù)據(jù),即為正常的數(shù)據(jù)流量,若無法正確解析,則可以判定為異常數(shù)據(jù)流量,則可以直接通過丟棄來來御防該異常數(shù)據(jù)流量對應(yīng)的攻擊行為。進而實現(xiàn)在發(fā)送設(shè)備按照通信協(xié)議與接收設(shè)備進行通信的過程中,在不影響正常通信的情況下,提高數(shù)據(jù)傳輸?shù)陌踩耘c準確性,避免現(xiàn)有的防攻擊方式所導(dǎo)致的誤傷正常傳輸?shù)臄?shù)據(jù)流量的問題。
可選地,在本實施例中,上述通信協(xié)議報文可以但不限于傳輸控制協(xié)議(TCP,Transmission Control Protocol),其中,TCP協(xié)議報文的數(shù)據(jù)格式可以如下:
TCP協(xié)議報文的數(shù)據(jù)格式:
由上述內(nèi)容可知,TCP協(xié)議報文中的前20個字節(jié)是固定的,后面有4N字節(jié)是根據(jù)需要而增加的選項。其中,頭部長度、URG、ACK、RST、SYN、FIN、窗口尺寸、TCP校驗和與緊急指針均是TCP協(xié)議報文中包含重要信息的信息位。
在本實施例中,不同于現(xiàn)有技術(shù)中對整個TCP協(xié)議報文進行防攻擊保護,而是采用對報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理保護,從而便于接收設(shè)備在接收到該TCP協(xié)議報文時,可以不通過寬帶流量清洗的方式對所有的數(shù)據(jù)流量進行清洗過濾,以避免將正常數(shù)據(jù)流量當(dāng)作異常數(shù)據(jù)流量被誤殺的問題。使接收設(shè)備通過判斷是否可以按照約定的方式解析對應(yīng)信息位上的數(shù)據(jù),來實現(xiàn)直接過濾攻擊端偽造的通信協(xié)議報文,進一步提高在數(shù)據(jù)傳輸過程中,御防攻擊行為的準確性。其中,轉(zhuǎn)換后的通信協(xié)議報文的報文格式如下:
轉(zhuǎn)換后的通信協(xié)議報文的報文格式:
可選地,在本實施例中,上述通信協(xié)議報文中的擴展位可以但不限于在原有的通信協(xié)議報文中新增的擴展位,也就是說,在不增加報文長度的情況下,將部分位置設(shè)置為用于存放防攻擊預(yù)處理的處理信息的擴展位。從而實現(xiàn)在不增加報文負載開銷的情況下,保證數(shù)據(jù)傳輸?shù)陌踩浴?/p>
可選地,在本實施例中,上述防攻擊預(yù)處理可以包括但不限于以下至少一種操作:
1)調(diào)整信息位上的數(shù)據(jù)的順序;或者
2)對信息位上的數(shù)據(jù)進行整體或局部的壓縮,并填充字符到壓縮后的空閑位置;或者
3)對信息位上的數(shù)據(jù)進行整體或局部的加密;或者
4)對信息位上的數(shù)據(jù)進行整體或局部的簽名。
需要說明的是,上述信息位的整體用于指所有信息位上的數(shù)據(jù),信息位的局部用于指部分信息位中的數(shù)據(jù)。此外,上述填充字符可以但不限于無實際意義的字符,也可以但不限于作為其他信息的擴展位。本實施例中對此不作任何限定。
可選地,在本實施例中,在發(fā)送轉(zhuǎn)換后的通信協(xié)議報文至接收設(shè)備之前,還包括:S1,部署網(wǎng)絡(luò)設(shè)備。也就是說,根據(jù)實際傳輸?shù)臄?shù)據(jù)流量布局網(wǎng)絡(luò)中的網(wǎng)絡(luò)設(shè)備。
可選地,在本實施例中,當(dāng)數(shù)據(jù)流量大于預(yù)定閾值,則在發(fā)送設(shè)備與接收設(shè)備之間設(shè)置網(wǎng)關(guān)型網(wǎng)絡(luò)設(shè)備,以便于該網(wǎng)絡(luò)設(shè)備將部分數(shù)據(jù)流量轉(zhuǎn)發(fā)到第三方接收設(shè)備,以避免原有的接收設(shè)備出現(xiàn)過載,從而達到減輕設(shè)備負載,避免接收設(shè)備由于過載出現(xiàn)系統(tǒng)崩潰的問題。
可選地,在本實施例中,當(dāng)數(shù)據(jù)流量小于等于預(yù)定閾值,則可以直接通過在發(fā)送側(cè)設(shè)置以下至少一種裝置來執(zhí)行對待傳輸?shù)耐ㄐ艆f(xié)議報文的防攻擊預(yù)處理:網(wǎng)卡驅(qū)動、虛擬網(wǎng)卡或本地網(wǎng)關(guān)。
通過本申請?zhí)峁┑膶嵤├?,作為接收設(shè)備的服務(wù)器206接收經(jīng)防攻擊預(yù)處理后得到的轉(zhuǎn)換后的通信協(xié)議報文;進一步,根據(jù)轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的擴展位所指示的防攻擊預(yù)處理的處理信息解析轉(zhuǎn)換后的通信協(xié)議報文,以獲取轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù),其中,通信協(xié)議報文的報文頭部包括信息位和擴展位。也就是說,接收設(shè)備通過對接收到的通信協(xié)議報文的報文頭部的信息位上的數(shù)據(jù)進行解析,并對正確解析出的正常數(shù)據(jù)流量進行處理,過濾掉異常數(shù)據(jù)流量,以實現(xiàn)將正常數(shù)據(jù)流量與異常數(shù)據(jù)流量進行區(qū)分,便于接收設(shè)備獲取通過正確解析得到的通信協(xié)議報文,并過濾掉無法正確解析的異常報文,從而在不影響正常通信的情況下,達到準確御防通信過程中出現(xiàn)的攻擊行為的目的,進而避免現(xiàn)有的防攻擊方式所導(dǎo)致的誤傷正常傳輸?shù)臄?shù)據(jù)流量的問題。
作為一種可選的方案,解析單元904包括以下至少之一:網(wǎng)卡驅(qū)動、虛擬網(wǎng)卡或本地網(wǎng)關(guān)。
具體結(jié)合以下示例進行說明:
作為一種可選的實施方式,如圖4所示,以TCP協(xié)議報文為例,在作為發(fā)送設(shè)備 的終端上設(shè)有TCP客戶端402,在作為接收設(shè)備的服務(wù)器上設(shè)有TCP服務(wù)端404。在本實施例中,在TCP客戶端設(shè)置網(wǎng)卡驅(qū)動406-1,作為防攻擊裝置,以實現(xiàn)對上述防攻擊傳輸裝置中的預(yù)處理的操作;在TCP服務(wù)端設(shè)置網(wǎng)卡驅(qū)動406-2,作為防攻擊檢測裝置.以實現(xiàn)對上述防攻擊傳輸裝置中的解析操作。
需要說明的是,在本實施例中,TCP客戶端還是正常的使用物理網(wǎng)卡通信。只是網(wǎng)卡驅(qū)動會檢測通信的目的地,如果發(fā)現(xiàn)是和外部TCP協(xié)議防攻擊檢測裝置通信,就會將數(shù)據(jù)報文按照事先設(shè)定好的格式進行處理,反之則原樣發(fā)送給目的地。
作為另一種可選的實施方式,如圖5所示,以TCP協(xié)議報文為例,在作為發(fā)送設(shè)備的終端上設(shè)有TCP客戶端402,在作為接收設(shè)備的服務(wù)器上設(shè)有TCP服務(wù)端404。在本實施例中,在TCP客戶端設(shè)置虛擬網(wǎng)卡502-1,作為防攻擊裝置,以實現(xiàn)對上述防攻擊傳輸裝置中的預(yù)處理的操作;在TCP服務(wù)端設(shè)置虛擬網(wǎng)卡502-2,作為防攻擊檢測裝置.以實現(xiàn)對上述防攻擊傳輸裝置中的解析操作。
需要說明的是,在本實施例中,這種類型比較像一個鏈接隧道。TCP客戶端只要往指定網(wǎng)卡發(fā)送數(shù)據(jù)即可。在具體操作上不感知物理鏈路變化,所有和外部TCP協(xié)議防攻擊檢測裝置的通信由虛擬網(wǎng)卡代理。
作為又一種可選的實施方式,如圖6所示,以TCP協(xié)議報文為例,在作為發(fā)送設(shè)備的終端上設(shè)有TCP客戶端,在作為接收設(shè)備的服務(wù)器上設(shè)有TCP服務(wù)端。在本實施例中,在TCP客戶端設(shè)置本地網(wǎng)關(guān)602-1,作為防攻擊裝置,以實現(xiàn)對上述防攻擊傳輸裝置中的預(yù)處理的操作;在TCP服務(wù)端設(shè)置本地網(wǎng)關(guān)602-2,作為防攻擊檢測裝置.以實現(xiàn)對上述防攻擊傳輸裝置中的解析操作。
需要說明的是,在本實施例中,這種場景下TCP客戶端只需要和本地網(wǎng)關(guān)建立通信關(guān)系即可。由本地網(wǎng)關(guān)負責(zé)和外部TCP協(xié)議防攻擊檢測裝置通信即可。
通過本申請?zhí)峁┑膶嵤├?,通過不同的裝置實現(xiàn)上述防攻擊數(shù)據(jù)傳輸,以實現(xiàn)防攻擊控制的多樣化。
實施例5
本申請的實施例可以提供一種計算機終端,該計算機終端可以是計算機終端群中的任意一個計算機終端設(shè)備??蛇x地,在本實施例中,上述計算機終端也可以替換為移動終端等終端設(shè)備。
可選地,在本實施例中,上述計算機終端可以位于計算機網(wǎng)絡(luò)的多個網(wǎng)絡(luò)設(shè)備中的至少一個網(wǎng)絡(luò)設(shè)備。
在本實施例中,上述計算機終端可以執(zhí)行應(yīng)用程序的漏洞檢測方法中以下步驟的程序代碼:
S1,獲取待傳輸?shù)耐ㄐ艆f(xié)議報文;
S2,對通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理,生成處理信息;
S3,將處理信息保存在通信協(xié)議報文在報文頭部中的擴展位上,得到轉(zhuǎn)換后的通信協(xié)議報文,其中,通信協(xié)議報文的報文頭部包括信息位和擴展位;
S4,發(fā)送轉(zhuǎn)換后的通信協(xié)議報文至接收設(shè)備。
本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令終端設(shè)備相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:閃存盤、只讀存儲器(Read-Only Memory,ROM)、隨機存取器(Random Access Memory,RAM)、磁盤或光盤等。
實施例6
本申請的實施例可以提供一種計算機服務(wù)器,該計算機服務(wù)器可以是計算機服務(wù)器群中的任意一個計算機服務(wù)器設(shè)備。
可選地,在本實施例中,上述計算機服務(wù)器可以位于計算機網(wǎng)絡(luò)的多個網(wǎng)絡(luò)設(shè)備中的至少一個網(wǎng)絡(luò)設(shè)備。
在本實施例中,上述計算機終端可以執(zhí)行應(yīng)用程序的漏洞檢測方法中以下步驟的程序代碼:
S1,接收經(jīng)防攻擊預(yù)處理后得到的轉(zhuǎn)換后的通信協(xié)議報文;
S2,根據(jù)轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的擴展位所指示的防攻擊預(yù)處理的處理信息解析轉(zhuǎn)換后的通信協(xié)議報文;
S3,獲取轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù),其中,通信協(xié)議報文的報文頭部包括信息位和擴展位。
本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令終端設(shè)備相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:閃存盤、只讀存儲器(Read-Only Memory,ROM)、隨機存取器(Random Access Memory,RAM)、磁盤或光盤等。
實施例7
本申請的實施例還提供了一種存儲介質(zhì)??蛇x地,在本實施例中,上述存儲介質(zhì)可以用于保存上述實施例一所提供的防攻擊數(shù)據(jù)傳輸方法所執(zhí)行的程序代碼。
可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
S1,獲取待傳輸?shù)耐ㄐ艆f(xié)議報文;
S2,對通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù)進行防攻擊預(yù)處理,生成處理信息;
S2,將處理信息保存在通信協(xié)議報文在報文頭部中的擴展位上,得到轉(zhuǎn)換后的通信協(xié)議報文,其中,通信協(xié)議報文的報文頭部包括信息位和擴展位;
S4,發(fā)送轉(zhuǎn)換后的通信協(xié)議報文至接收設(shè)備。
可選地,在本實施例中,上述存儲介質(zhì)可以包括但不限于:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
可選地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示例,本實施例在此不再贅述。
實施例8
本申請的實施例還提供了一種存儲介質(zhì)??蛇x地,在本實施例中,上述存儲介質(zhì)可以用于保存上述實施例一所提供的防攻擊數(shù)據(jù)傳輸方法所執(zhí)行的程序代碼。
可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
S1,接收經(jīng)防攻擊預(yù)處理后得到的轉(zhuǎn)換后的通信協(xié)議報文;
S2,根據(jù)轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的擴展位所指示的防攻擊預(yù)處理的處理信息解析轉(zhuǎn)換后的通信協(xié)議報文;
S3,獲取轉(zhuǎn)換后的通信協(xié)議報文中位于報文頭部的信息位上的數(shù)據(jù),其中,通信協(xié)議報文的報文頭部包括信息位和擴展位。
可選地,在本實施例中,上述存儲介質(zhì)可以包括但不限于:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
可選地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示 例,本實施例在此不再贅述。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
在本發(fā)明的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可為個人計算機、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。