專利名稱:一種基于硬件的核心路由器tcp連接狀態(tài)維護模塊設計方案的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及核心路由器的TCP連接狀態(tài)維護模塊,該發(fā)明的作用是避免網(wǎng)絡設備 受到惡意攻擊。
背景技術(shù):
在實際運行的網(wǎng)絡中,核心路由器起到非常關(guān)鍵的作用,其穩(wěn)定與否直接影響到 骨干網(wǎng)絡業(yè)務運行的可靠性。核心路由器通常會運行BGP路由協(xié)議,不可避免的要打開某 些TCP端口,這些開放的TCP端口的安全性,就顯得至關(guān)重要。由于TCP協(xié)議是面向連接的, 其需要維護狀態(tài)的特點引發(fā)的基于TCP狀態(tài)的攻擊,這類攻擊是TCP協(xié)議自身無法解決的, 也是核心路由器必須解決的問題。當前的核心路由器進行TCP連接狀態(tài)維護,通常是采用CPU+RAM的方式實現(xiàn),即 TCP狀態(tài)表被存儲于核心路由器的RAM中,建立和維護工作是由核心路由器的CPU來完成 的。在核心路由器中處理一個新的TCP連接如圖1所示,其具體處理過程是如下數(shù)據(jù)包通過接口模塊進入IP包入處理模塊,經(jīng)路由處理引擎匹配,當擊中直連路 由后,經(jīng)大容量存儲管理和調(diào)度模塊后,轉(zhuǎn)發(fā)至交換接口模塊,數(shù)據(jù)包經(jīng)高速背板上交給主 控板CPU處理,主控板CPU按TCP連接建立的報文處理流程建立連接后,形成TCP狀態(tài)列表, 此TCP狀態(tài)列表被存儲于RAM空間中,由CPU維護。由于TCP協(xié)議是面向連接的,存在狀態(tài)維護的需求,其狀態(tài)列表需要足夠RAM和 CPU資源存儲和處理,而在路由器體系結(jié)構(gòu)的設計時,上述兩種資源是有限的。因此路由器 在受到惡意攻擊時,如收到超過CPU處理能力或超過RAM存儲能力的大量TCP連接請求, 會影響路由器的正常工作。嚴重時可能引起受攻擊路由器TCP/IP協(xié)議棧溢出,導致路由器 死機;較輕的情況也可能導致路由器路由協(xié)議的異常中斷,路由不穩(wěn)定,進而影響整個骨干 網(wǎng)絡的穩(wěn)定性。
發(fā)明內(nèi)容
本發(fā)明涉及一種新的基于硬件的核心路由器TCP連接狀態(tài)維護模塊設計方案,該 方案所要解決的技術(shù)問題是在核心路由器中使用基于硬件的TCP數(shù)據(jù)包的過濾機制,區(qū)分 出惡意攻擊數(shù)據(jù)包和正常的數(shù)據(jù)包,將正常的TCP協(xié)議報文上交,將惡意的攻擊報文過濾 掉,從而保護核心路由器免受惡意數(shù)據(jù)包的攻擊。發(fā)生基于TCP狀態(tài)特點的攻擊時,攻擊IP包的目的地址是路由器的直連接口地址 或者Loopback接口地址,在分布式路由器體系結(jié)構(gòu)中,數(shù)據(jù)包需要上交給路由器維護協(xié)議 棧的CPU處理。為避免此類攻擊造成嚴重的影響,目前如圖2所示的分布式路由器結(jié)構(gòu)采用的方 法是,在大容量存儲管理和調(diào)度模塊中處理上交數(shù)據(jù)包時,會限制上交數(shù)據(jù)包的速度,單位 時間內(nèi)超出一定數(shù)量的上交數(shù)據(jù)包將被丟棄。但此保護措施,只能保護本路由器在受到攻擊時,不會因攻擊而耗竭主控板的CPU和存儲空間資源。達到閥值后,路由器無法區(qū)分正常 的TCP請求和惡意的TCP攻擊,會將所有后續(xù)收到的數(shù)據(jù)包全部丟棄,導致路由器拒絕所有 新的TCP連接請求,直到攻擊停止,并釋放出新的存儲空間。本發(fā)明在核心路由器的分布式處理硬件體系結(jié)構(gòu)中的線卡板上,增加TCP狀態(tài)處 理模塊如圖2所示。通過該模塊對TCP協(xié)議報文進行狀態(tài)管理,區(qū)分正常的TCP協(xié)議報文 和惡意的TCP攻擊,將正常的TCP協(xié)議報文上交,將惡意的攻擊報文過濾掉,從而避免核心 路由器受到惡意攻擊。
圖1普通路由器結(jié)構(gòu)(沒有TCP狀態(tài)維護模塊)圖2增加了 TCP狀態(tài)維護模塊的路由器結(jié)構(gòu)圖3TCP狀態(tài)維護模塊的工作過程
具體實施例方式以下對本發(fā)明的原理和特征進行描述,所舉實例只用于解釋本發(fā)明,并非用于限 定本發(fā)明的范圍。實施示例建立BGP鄰居時需要管理員手工配置的物理接口地址和鄰居地址。從網(wǎng)絡管理的 角度可以假定,直連路由器之間和管理地址區(qū)間是不會發(fā)生惡意攻擊行為的。不與路由器 直連的地址,即網(wǎng)絡中可達的所有非直連地址,并且與路由器沒有任何協(xié)議的鄰居關(guān)系的 地址,由于其用戶的信任是無法確定的,定義為“非受信IP”。在路由器配置文件中將179端口設置為對受信IP開放的端口,對“非受信IP”是 不開放的。當掃描發(fā)生時,非法的數(shù)據(jù)包被TCP狀態(tài)維護模塊直接丟棄,不會上交給CPU進 行處理。
權(quán)利要求
一種基于硬件的核心路由器TCP連接狀態(tài)維護模塊設計方案(在后面的敘述中簡稱為TCP狀態(tài)維護模塊),其特征在于,包括該模塊的的原理、處理內(nèi)容和工作過程。
2.據(jù)權(quán)利要求1所述的TCP狀態(tài)維護模塊,其特征在于,該模塊是用FPGA硬件芯片作 為載體來實現(xiàn)的,在核心路由器的分布式處理硬件體系結(jié)構(gòu)中的線卡板上,增加TCP連接 狀態(tài)維護模塊,該模塊的作用是對TCP協(xié)議報文進行狀態(tài)管理,區(qū)分正常的TCP協(xié)議報文和 惡意的TCP攻擊報文,將正常的TCP協(xié)議報文上交,將惡意的攻擊報文過濾掉。
3.據(jù)權(quán)利要求1至2所述的TCP連接狀態(tài)維護模塊,其特征在于,該模塊控制機制包括 閥值設置和Log處理,其中閥值設置用于控制單位時間內(nèi)收到同樣TCP數(shù)據(jù)報文數(shù)量,在系 統(tǒng)初始化或配置時完成,閥值的功能是當收到符合條件的TCP數(shù)據(jù)報文的數(shù)量超過閥值時 即認為發(fā)生了對路由器的攻擊行為;Log處理用于將攻擊行為的TCP報文打上Log標識,記 入Log中。
4.據(jù)權(quán)利要求1至3所述的TCP連接狀態(tài)維護模塊,其特征在于,當核心路由器收到 的IP包擊中路由器直連路由后,核心路由器將上交此數(shù)據(jù)包,進入TCP狀態(tài)維護模塊,進入 該模塊后首先判斷數(shù)據(jù)包的源IP是否是“受信IP” ;“受信IP”的判斷是路由器完成的,方 法是將路由器的配置文件和TCP狀態(tài)模塊之間建立關(guān)聯(lián),從路由器配置文件中取得直連的 地址網(wǎng)段范圍和鄰接關(guān)系路由器的地址。在此范圍內(nèi)的IP將被認為是“受信IP“,其他IP 被認為是“非受信IP”。
5.據(jù)權(quán)利要求1至3所述的TCP連接狀態(tài)維護模塊,其特征在于,完成權(quán)利4所述“受 信IP”去判定后,判定路由器的開放的端口的狀態(tài),及所對應的IP地址范圍;路由器的端口 狀態(tài)是通過路由器配置文件獲得的。
6.據(jù)權(quán)利要求1至3所述的TCP連接狀態(tài)維護模塊,其特征在于,完成權(quán)利4-5所述的 受信IP和端口去判定后,對TCP協(xié)議的狀態(tài)進行檢查;若是已經(jīng)完成TCP “三次握手”連接 的數(shù)據(jù)報文,則根據(jù)TCP sequence進行檢查;若TCP狀態(tài)為SYN SEND的報文請求建立新的 連接,則確認為一個可疑的TCP請求。
7.據(jù)權(quán)利要求1至3所述的TCP連接狀態(tài)維護模塊,其特征在于,完成權(quán)利6所述的 TCP協(xié)議的狀態(tài)檢查后,使用TCP滑動窗口機制來比對TCP sequence號,如果是正確順序的 TCP報文則上交CPU ;如果sequence號不在TCP窗口范圍之內(nèi),則確認為一個可疑的TCP請 求;此時采用“后退機制”,暫時不上交此正確的報文,令其TCP Timer超時,若是合法請求 會再次重傳,待收到第二個正確的sequence后再上交至CPU,否則認為是非法TCP請求。
8.據(jù)權(quán)利要求1至3所述的TCP連接狀態(tài)維護模塊,特征在于,完成權(quán)利4-7所述的處 理后,如果在定時器時間內(nèi),收到的數(shù)據(jù)包數(shù)量超過閥值,且數(shù)據(jù)包中有任意項與TCP狀態(tài) 模塊中的記錄的某項相同,即觸發(fā)了對攻擊的判斷規(guī)則,則認為檢測到了攻擊,將該數(shù)據(jù)包 直接丟棄;若未觸發(fā)判斷規(guī)則,則TCP狀態(tài)模塊代替CPU做SYN+ACK應答。
9.據(jù)權(quán)利要求1至3所述的TCP連接狀態(tài)維護模塊,特征在于,完成權(quán)利4-8,若未收 到ACK報文,則說明此源地址為偽造地址,此連接請求為攻擊行為,將該數(shù)據(jù)包丟棄;若收 到相應的ACK報文,則連接建立完成,判定該連接請求是一個正常的TCP請求。由TCP狀態(tài) 模塊再生成與原請求相同的SYN報文,偽造原連接請求向CPU申請建立TCP連接,代替原請 求方完成“三次握手”的工作。
10.據(jù)權(quán)利要求1至3所述的TCP連接狀態(tài)維護模塊,特征在于,完成權(quán)利4-10所述的處理后,更新TCP狀態(tài)連接表,在后續(xù)報文到達后, 經(jīng)狀態(tài)判斷無誤則直接上交給CPU。
全文摘要
本發(fā)明涉及一種新的基于硬件的核心路由器TCP連接狀態(tài)維護模塊設計方案,包括該模塊的原理、處理內(nèi)容和工作過程。核心路由器的TCP協(xié)議狀態(tài)維護是關(guān)系到核心路由器安全的一個重要因素。本發(fā)明的基于硬件技術(shù)的核心路由器TCP連接狀態(tài)維護模塊設計方案可以有效地的減少因TCP狀態(tài)維護問題而導致的對核心路由器的惡意攻擊,有效地保護核心路由器的CPU和存儲空間資源,防止因攻擊而導致的TCP/IP協(xié)議棧的溢出、堆棧崩潰,路由器死機等情況,從而大大改善核心路由器運行的穩(wěn)定性。
文檔編號H04L29/06GK101989985SQ20101050118
公開日2011年3月23日 申請日期2010年10月9日 優(yōu)先權(quán)日2010年10月9日
發(fā)明者孫踐知, 戴明利, 贠冰, 陳丹, 韓忠明 申請人:北京工商大學