本發(fā)明涉及信息安全領(lǐng)域,特別涉及一種報文防攻擊方法及裝置。
背景技術(shù):
在WLAN(Wireless Local Area Networks,無線局域網(wǎng)),如果在完成對終端的Portal認證之前,終端的多種工具軟件發(fā)出大量請求進行網(wǎng)頁腳本攻擊,會對WLAN內(nèi)的BRAS(Broadband Remote Access Server,寬帶接入服務(wù)器)設(shè)備造成報文沖擊,影響其他終端的正常使用。
目前,寬帶接入服務(wù)器BRAS設(shè)備采用的portal(入口)防攻擊方法包括TCP(Transmission Control Protocol,傳輸控制協(xié)議)報文限速以及HTTP(Hyper Text Transfer Protocol,超文本傳輸協(xié)議)報文限速,將TCP報文以及HTTP報文發(fā)往CPU進行識別,從而丟棄符合portal攻擊報文特征的TCP報文以及HTTP報文。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例公開了一種報文防攻擊方法及裝置,以避免大量攻擊報文占用通道資源與CPU資源,影響正常用戶的正常報文進行重定向,進而影響正常用戶進行后續(xù)的認證。具體方案如下:
一方面,本發(fā)明實施例提供了一種報文防攻擊方法,應用于寬帶接入服務(wù)器BRAS的轉(zhuǎn)發(fā)芯片,方法包括:轉(zhuǎn)發(fā)芯片接收第一建立聯(lián)機報文;轉(zhuǎn)發(fā)芯片確定第一建立聯(lián)機報文的源地址未通過認證且第一建立聯(lián)機報文的目的地址屬于未認證用戶不允許訪問的地址范圍且第一建立聯(lián)機報文的TCP端口號對應超文本傳輸協(xié)議;轉(zhuǎn)發(fā)芯片生成并發(fā)送代答建立聯(lián)機確認報文。
另一方面,本發(fā)明實施例提供了一種報文防攻擊裝置,應用于寬帶接入服務(wù)器BRAS的轉(zhuǎn)發(fā)芯片,裝置包括:接收模塊,用于接收第一建立聯(lián)機報文;解析模塊,用于確定第一建立聯(lián)機報文的源地址未通過認證且第一建立聯(lián)機報文的目的地址屬于未認證用戶不允許訪問的地址范圍且第一建立聯(lián)機報文的 TCP端口對應超文本傳輸協(xié)議,則生成代答建立聯(lián)機確認報文;發(fā)送模塊,用于發(fā)送代答建立聯(lián)機確認報文。
本發(fā)明實施例中,BRAS設(shè)備的轉(zhuǎn)發(fā)芯片通過解析收到的SYN報文,如果收到的SYN報文來自未認證用戶,且需要訪問不允許訪問的地址并建立用于HTTP的TCP連接,BRAS設(shè)備的轉(zhuǎn)發(fā)芯片則認為符合攻擊報文的特征,直接發(fā)送建立聯(lián)機確認報文,(SYN ACK,Synchronous acknowledgement)報文,避免將符合攻擊報文特征的SYN報文建立HTTP的TCP連接以及避免將攻擊報文特征的SYN報文發(fā)往處理單元,例如CPU,而導致的處理單元的報文處理資源被占用。當然,實施本發(fā)明的任一產(chǎn)品或方法必不一定需要同時達到以上所述的所有優(yōu)點。
附圖說明
圖1為本發(fā)明實施例提供的一種報文防攻擊方法的流程示意圖;
圖2為本發(fā)明實施例提供的寬帶接入服務(wù)器的報文防攻擊處理方式的示意圖;
圖3為本發(fā)明實施例提供的寬帶接入服務(wù)器的另一報文防攻擊處理方式的示意圖;
圖4為本發(fā)明實施例提供的寬帶接入服務(wù)器的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例提供了一種報文防攻擊方法,應用于WLAN的BRAS設(shè)備的轉(zhuǎn)發(fā)芯片,如圖1所示該方法包括:
步驟S101,轉(zhuǎn)發(fā)芯片接收建立聯(lián)機(SYN,Synchronous)報文;
步驟S102,轉(zhuǎn)發(fā)芯片確定建立聯(lián)機報文的源地址未通過認證且建立聯(lián)機報 文的目的地址屬于未認證用戶不允許訪問的地址范圍且建立聯(lián)機報文的TCP端口對應HTTP超文本傳輸協(xié)議;
步驟S103,轉(zhuǎn)發(fā)芯片生成并發(fā)送代答建立聯(lián)機確認報文。
圖1所示實施例中,BRAS設(shè)備的轉(zhuǎn)發(fā)芯片通過解析收到的SYN報文,如果收到的SYN報文來自未認證用戶,且需要訪問不允許訪問的地址并建立用于HTTP的TCP連接,BRAS設(shè)備的轉(zhuǎn)發(fā)芯片則認為符合攻擊報文的特征,直接發(fā)送建立聯(lián)機確認報文,(SYN ACK,Synchronous acknowledgement)報文,避免將符合攻擊報文特征的SYN報文建立HTTP的TCP連接以及避免將攻擊報文特征的SYN報文發(fā)往處理單元,例如CPU,而導致的處理單元的報文處理資源被占用。
如圖2所示,本發(fā)明實施例提供的BRAS設(shè)備的轉(zhuǎn)發(fā)芯片的報文防攻擊處理方式如下:
客戶端21在完成Portal認證之前,向BRAS設(shè)備22發(fā)送SYN報文(即第一建立聯(lián)機報文)。
BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片確定該SYN報文的源IP地址或源MAC(Media Access Control,媒體訪問控制)地址不屬于已認證用戶的地址信息,且SYN報文的目的IP地址屬于未認證用戶不允許訪問的IP地址范圍且SYN報文的TCP端口號=80,即該SYN報文用于建立HTTP的TCP連接。
BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片生成建立聯(lián)機確認SYN ACK報文。其中,BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片生成SYN ACK報文的方式與已有的CPU生成SYN ACK報文的方式大致相同。
BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片將SYN報文的源MAC地址,源IP地址以及源TCP端口號,設(shè)置為SYN ACK報文的目的MAC地址,目的IP地址以及目的TCP端口號;將SYN報文的目的MAC地址,目的IP地址以及目的TCP端口號設(shè)置為SYN ACK報文的源MAC地址,源IP地址以及源TCP端口號;封裝本地序列號(sequence number)字段,將SYN報文的序列號封裝在SYN ACK報文的(acknowledgement number)字段等。
BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片代替CPU生成的SYN ACK報文在本實施例內(nèi)屬于代答SYN ACK報文。
客戶端21收到SYN ACK報文,建立HTTP協(xié)議的TCP連接。此時,需要強調(diào)的是,客戶端21認為與BRAS設(shè)備22之間建立了TCP連接,而BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片未將SYN報文發(fā)送到CPU進行處理,BRAS設(shè)備22的CPU并未與客戶端21建立真正的HTTP協(xié)議的TCP連接,由于BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片未將SYN報文發(fā)送到CPU進行處理,減少了BRAS設(shè)備22的非必要TCP連接。
客戶端21向BRAS設(shè)備22發(fā)送ACK(Acknowledgement)報文。BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片接收ACK報文,并解析該ACK報文。
BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片確定收到的ACK報文的源IP地址或源MAC地址不屬于已認證用戶的地址信息,且ACK報文的目的IP地址屬于未認證用戶不允許訪問的IP地址范圍且ACK報文的TCP端口號=80,即該ACK報文用于建立HTTP(超文本傳輸協(xié)議)的TCP連接。
BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片丟棄收到的ACK報文。
BRAS設(shè)備22不需要與未認證的用戶建立HTTP協(xié)議的TCP連接,BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片丟棄收到的ACK報文,減少對于BRAS設(shè)備22的CPU處理資源的占用。
客戶端21認為建立了HTTP協(xié)議的TCP連接,發(fā)送請求URL頁面的HTTP請求報文。BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片確定HTTP請求報文的源IP地址/源MAC地址屬于未認證用戶,生成包含用于Portal認證的重定向地址的重定向報文。BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片生成重定向報文的方式與已有的CPU生成重定向報文的方式大致相同。
BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片將HTTP請求報文的源MAC地址,源IP地址以及源TCP端口號,設(shè)置為重定向報文的目的MAC地址,目的IP地址以及目的TCP端口號;將HTTP請求報文的目的MAC地址,目的IP地址以及目的TCP端口號設(shè)置為重定向報文的源MAC地址,源IP地址以及源TCP端口號;設(shè)置標識TCP連接中介的FIN字段,設(shè)置響應代碼(response code)字段為302,用于代表重定向報文等等。BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片代替CPU生成的重定向報文 在本發(fā)明實施例內(nèi)為代答重定向報文。客戶端21收到重定向報文,訪問重定向報文內(nèi)的重定向地址,執(zhí)行Portal認證。
如圖3所示,本發(fā)明實施例提供的BRAS設(shè)備報文防攻擊處理方式如下:
客戶端22是已通過Portal認證,Portal服務(wù)器將客戶端22的IP地址或MAC地址作為已認證用戶的地址信息發(fā)送至BRAS設(shè)備22。BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片記錄這些已通過認證的用戶(客戶端)的地址信息及其允許訪問的地址范圍。
客戶端22向BRAS設(shè)備22發(fā)送SYN報文。
BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片確定SYN報文的源IP地址或源MAC地址屬于已認證用戶的地址信息,且SYN報文的目的IP地址屬于認證用戶允許訪問的IP地址范圍且SYN報文的TCP端口號=80,即該SYN報文用于建立HTTP協(xié)議的TCP連接。
BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片將收到SYN報文發(fā)往CPU。BRAS設(shè)備22的CPU生成SYN ACK報文的方式(與已有的CPU生成SYN ACK報文的方式大致相同)。BRAS設(shè)備22的CPU將生成SYN ACK報文發(fā)送給轉(zhuǎn)發(fā)芯片,再由轉(zhuǎn)發(fā)芯片發(fā)送CPU生成的SYN ACK報文。
客戶端22收到SYN ACK報文,建立HTTP協(xié)議的TCP連接,向BRAS設(shè)備22發(fā)送ACK報文。BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片接收ACK報文,解析ACK報文。
BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片確定收到的ACK報文的源IP地址或源MAC地址屬于已認證用戶的地址信息,且ACK報文的目的IP地址屬于認證用戶允許訪問的IP地址范圍且ACK報文的TCP端口號=80,即該ACK報文用于建立HTTP協(xié)議的TCP連接。
BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片將收到的ACK報文發(fā)往CPU,CPU建立HTTP協(xié)議的TCP連接。由于BRAS設(shè)備22與通過Portal認證的用戶建立的HTTP協(xié)議TCP連接,實現(xiàn)了報文防攻擊的目的。
BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片收到HTTP請求報文;BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片確定該HTTP請求報文的源地址屬于已認證用戶(即通過Portal認證的用戶); BRAS設(shè)備22的轉(zhuǎn)發(fā)芯片向CPU發(fā)送該HTTP請求報文。
本發(fā)明實施例,BRAS設(shè)備通過轉(zhuǎn)發(fā)芯片識別攻擊報文特征,代答建立HTTP協(xié)議的TCP連接的建立聯(lián)機確認報文以及代答通知未認證用戶繼續(xù)執(zhí)行Portal認證的重定向報文,減少了不必要的TCP連接,節(jié)約了TCP連接資源,減少了發(fā)往BRAS設(shè)備CPU處理的報文,避免了大量攻擊報文占用通道資源與CPU資源,影響正常用戶的正常報文進行重定向,進而影響正常用戶進行后續(xù)的認證的情況。
圖4為本發(fā)明實施例寬帶接入服務(wù)器BRAS 400的示意圖。圖4中,BRAS 400包括轉(zhuǎn)發(fā)裝置410,處理單元420以及存儲單元430。其中轉(zhuǎn)發(fā)裝置410的報文防攻擊裝置包括:接收模塊411,解析模塊412以及發(fā)送模塊413。
接收模塊411,用于接收第一建立聯(lián)機報文;解析模塊412,用于確定第一建立聯(lián)機報文的源地址未通過認證且第一建立聯(lián)機報文的目的地址屬于未認證用戶不允許訪問的地址范圍且第一建立聯(lián)機報文的TCP端口對應超文本傳輸協(xié)議,則生成代答建立聯(lián)機確認報文;發(fā)送模塊413,用于發(fā)送代答建立聯(lián)機確認報文。
具體的,接收模塊411,還用于接收第一確認報文;解析模塊412,還用于轉(zhuǎn)發(fā)芯片解析第一確認報文的源地址,目的地址以及TCP端口;確定第一確認報文的源地址屬于未認證用戶且確認報文的目的地址屬于未認證用戶不允許訪問的地址范圍且確認報文的TCP端口對應超文本傳輸協(xié)議,則丟棄第一確認報文。
具體的,接收模塊411,還用于接收第一超文本傳輸協(xié)議請求報文;解析模塊412,還用于確定第一超文本傳輸協(xié)議請求報文的源地址屬于未認證用戶,則生成代答重定向報文;其中,代答重定向報文包含用于Portal認證的重定向地址;發(fā)送模塊413,還用于發(fā)送代答重定向報文。
具體的,接收模塊411,還用于接收第二建立聯(lián)機報文,第二確認報文以及第二超文本傳輸協(xié)議請求報文;解析模塊412,還用于確定第二建立聯(lián)機報文的源地址通過認證且第一建立聯(lián)機報文的目的地址屬于已認證用戶允許訪問的地址范圍且建立聯(lián)機報文的TCP端口對應超文本傳輸協(xié)議;還用于確定第二確認報文的源地址屬于已認證用戶且第二確認報文的目的地址屬于已認證用戶允許 訪問的地址范圍且第二確認報文的TCP端口對應超文本傳輸協(xié)議;還用于確定第二超文本傳輸協(xié)議請求報文的源地址屬于已認證用戶;發(fā)送模塊413,還用于向處理單元發(fā)送第二建立聯(lián)機報文,第二確認報文以及第二超文本傳輸協(xié)議請求報文。
對于裝置實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。