專利名稱:防止源地址欺騙攻擊的方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種防止源地址欺騙攻擊的方法及設(shè)備。
背景技術(shù):
源地址欺騙攻擊是攻擊者通過發(fā)送帶有偽造源地址的報文對網(wǎng)絡(luò)設(shè)備進行攻擊 的一種方式。對于使用基于IP地址驗證的設(shè)備來說,此攻擊方法可以導(dǎo)致未被授權(quán)用戶以 他人身份獲得訪問系統(tǒng)的權(quán)限,甚至是以管理員權(quán)限來訪問,即使響應(yīng)報文不能達到攻擊 者,同樣也會造成對被攻擊對象的破壞。如圖1所示,攻擊方設(shè)備Router A上偽造源地址為 2. 2. 2. 1/8的報文,向服務(wù)器Router B發(fā)起請求,Router B響應(yīng)請求時根據(jù)該報文的源地 址2. 2. 2. 1/8向設(shè)備C發(fā)送報文。這種非法報文對Router B和Router C都造成了攻擊。為了避免源地址欺騙攻擊,現(xiàn)有技術(shù)中采用URPF(Unicast Reverse PathForwarding,單播反向路徑轉(zhuǎn)發(fā))技術(shù)用于防止基于源地址欺騙的網(wǎng)絡(luò)攻擊行為。當(dāng) 設(shè)備根據(jù)URPF技術(shù)判斷報文非法時,丟棄報文。URPF技術(shù)獲取報文的源地址和入接口,以 源地址為目的地址,在轉(zhuǎn)發(fā)表中查找該目的地址對應(yīng)的出接口是否與入接口匹配。如果不 匹配則認為源地址是偽裝的(非法),丟棄該報文。當(dāng)目的地址對應(yīng)的出接口與入接口不匹 配時,URPF技術(shù)還可以判斷該入接口是否匹配ACL(Access Control List,接入控制列表); 如果ACL匹配成功,則報文繼續(xù)進行正常的轉(zhuǎn)發(fā)(此類報文稱為被抑制丟棄的報文);如果 ACL匹配失敗,則報文為非法報文并被丟棄。通過這種方式URPF就能有效地防范網(wǎng)絡(luò)中通 過修改源地址而進行的惡意攻擊行為的發(fā)生。如果所有路由都是對稱的,即報文往返路徑一致時,使用現(xiàn)有的URPF技術(shù)防止源 地址欺騙攻擊是沒有問題的。但是,當(dāng)往返路徑不一致時,現(xiàn)有的URPF技術(shù)防止源地址欺 騙攻擊將會錯誤的丟棄報文,導(dǎo)致網(wǎng)絡(luò)不通。例如圖2所示網(wǎng)絡(luò),假設(shè)所有路由器的所有接 口都啟動了 URPF功能,PCl到PC2的報文,去的路徑為PATHl =Rl-> R3- > R4- > R5- > R2, 返回路徑為PATH2 :R2- > R8- > R7- > R6- > Rl,即Rl上去往PC2的路由為從Eth0/1 (接 口 0/1)轉(zhuǎn)發(fā)。如果Rl從R6接收到來自PC2的報文,Rl以報文的源IP地址為目的IP地 址查找轉(zhuǎn)發(fā)表得到的出接口為Eth0/1,與報文的入接口 EthO/2不同,因此Rl判斷報文為 偽造源地址報文,丟棄該報文。隨著網(wǎng)絡(luò)應(yīng)用的發(fā)展,這種非對稱路由的情況越來越多,因 此,如何避免使用URPF技術(shù)防止源地址欺騙攻擊導(dǎo)致的錯誤丟棄報文,成為一個亟待解決 的問題。
發(fā)明內(nèi)容
本發(fā)明提供了一種防止源地址欺騙攻擊的方法及設(shè)備,避免了使用URPF技術(shù)防 止源地址欺騙攻擊導(dǎo)致的錯誤丟棄報文。本發(fā)明提供了一種防止源地址欺騙攻擊的方法,應(yīng)用于使用單播反向路徑轉(zhuǎn)發(fā) URPF技術(shù)防止源地址欺騙攻擊的設(shè)備,該方法包括設(shè)備對接收到的報文進行URPF檢查,當(dāng)檢查結(jié)果為合法時,轉(zhuǎn)發(fā)所述報文,當(dāng)檢查結(jié)果為非法時,在設(shè)備的路由原始數(shù)據(jù)庫內(nèi)查找與所述報文的源IP地址對應(yīng)的路由;當(dāng)查找到的路由中任一路由的出接口與所述報文的入接口一致時,根據(jù)所述報文 的目的IP地址轉(zhuǎn)發(fā)所述報文;當(dāng)沒有查找到對應(yīng)的路由、或者查找到的所有路由的出接口與所述入接口不一致 時,丟棄所述報文。當(dāng)查找到的路由中任一路由的出接口與所述報文的入接口一致時,還包括設(shè)置 轉(zhuǎn)發(fā)規(guī)則以使所述報文的URPF檢查結(jié)果為合法。所述設(shè)置轉(zhuǎn)發(fā)規(guī)則以使所述報文根據(jù)URPF技術(shù)判斷為合法包括在接入控制列 表ACL中設(shè)置所述入接口與所述源IP地址的對應(yīng)關(guān)系;或者在所述轉(zhuǎn)發(fā)表中設(shè)置所述源 IP地址與所述入接口的對應(yīng)關(guān)系,并設(shè)置所述入接口的優(yōu)先級低于所述源IP地址原始對 應(yīng)的出接口的優(yōu)先級。當(dāng)查找到的路由中任一路由的出接口與所述報文的入接口一致時,還包括通知 下游設(shè)備所述報文合法。所述通知下游設(shè)備所述報文合法包括在所述報文的擴展頭中攜帶報文合法標(biāo)識 并向下游設(shè)備轉(zhuǎn)發(fā)所述報文;或者在空報文的擴展頭中攜帶所述源IP地址和報文合法標(biāo) 識向下游設(shè)備發(fā)送。還包括當(dāng)所述設(shè)備接收上游設(shè)備發(fā)送的報文合法的通知后,根據(jù)該通知轉(zhuǎn)發(fā)對 應(yīng)的報文并設(shè)置轉(zhuǎn)發(fā)規(guī)則以使所述對應(yīng)的報文的URPF檢查結(jié)果為合法。所述設(shè)置轉(zhuǎn)發(fā)規(guī)則以使所述報文根據(jù)URPF技術(shù)判斷為合法之后,還包括獲取所 述入接口和所述源IP地址在所述路由原始數(shù)據(jù)庫內(nèi)對應(yīng)的路由索引,存儲所述路由索引 與所述入接口和所述源IP地址的對應(yīng)關(guān)系;當(dāng)所述入接口和所述源IP地址在所述路由原始數(shù)據(jù)庫內(nèi)對應(yīng)的路由被刪除時, 根據(jù)該被刪除路由的路由索引查找對應(yīng)的IP地址和接口,刪除在ACL或者所述轉(zhuǎn)發(fā)表中存 儲的所述入接口與所述源IP地址的對應(yīng)關(guān)系。當(dāng)所述入接口與所述源IP地址在所述路由原始數(shù)據(jù)庫內(nèi)對應(yīng)的路由被刪除時, 還包括根據(jù)該被刪除路由的路由索引查找對應(yīng)的IP地址,通知下游設(shè)備刪除以查找到的 IP地址為源IP地址的報文所對應(yīng)的轉(zhuǎn)發(fā)規(guī)則。一種防止源地址欺騙攻擊的設(shè)備,使用單播反向路徑轉(zhuǎn)發(fā)URPF技術(shù)防止源地址 欺騙攻擊,該設(shè)備包括檢查單元,用于對所述設(shè)備接收到的報文進行URPF檢查;查找單元,與所述檢查單元連接,用于當(dāng)所述檢查單元的檢查結(jié)果為所述報文非 法時,在設(shè)備的路由原始數(shù)據(jù)庫內(nèi)查找與所述報文的源IP地址對應(yīng)的路由;轉(zhuǎn)發(fā)單元,與所述檢查單元和查找單元連接,用于當(dāng)所述檢查單元的檢查結(jié)果為 所述報文合法時,轉(zhuǎn)發(fā)所述報文;當(dāng)所述查找單元查找到的路由中任一路由的出接口與所 述報文的入接口一致時,根據(jù)所述報文的目的IP地址轉(zhuǎn)發(fā)所述報文;丟棄單元,與所述查找單元連接,用于當(dāng)所述查找單元沒有查找到對應(yīng)的路由、或 者查找到的所有路由的出接口與所述入接口不一致時,丟棄所述報文。還包括設(shè)置單元,與所述查找單元連接,用于當(dāng)所述查找單元查找到的路由中任 一路由的出接口與所述報文的入接口一致時,設(shè)置轉(zhuǎn)發(fā)規(guī)則以使所述報文的URPF檢查結(jié)果為合法。所述設(shè)置單元具體用于在接入控制列表ACL中設(shè)置所述入接口與所述源IP地址的對應(yīng)關(guān)系;或者在所述 轉(zhuǎn)發(fā)表中設(shè)置所述源IP地址與所述入接口的對應(yīng)關(guān)系,并設(shè)置所述入接口的優(yōu)先級低于 所述源IP地址原始對應(yīng)的接口的優(yōu)先級。所述轉(zhuǎn)發(fā)單元還用于通知下游設(shè)備所述報文合法。所述轉(zhuǎn)發(fā)單元具體用于在所述報文的擴展頭中攜帶報文合法標(biāo)識并向下游設(shè)備 轉(zhuǎn)發(fā)所述報文;或者在空報文的擴展頭中攜帶所述源IP地址和報文合法標(biāo)識向下游設(shè)備 發(fā)送。還包括接收單元,用于接收上游設(shè)備發(fā)送的報文以及報文合法的通知;所述轉(zhuǎn)發(fā)單元,與所述接收單元連接,用于根據(jù)所述通知獲知報文為合法報文時 轉(zhuǎn)發(fā)所述報文;所述設(shè)置單元,與所述接收單元連接,用于設(shè)置轉(zhuǎn)發(fā)規(guī)則以使所述報文的URPF檢 查結(jié)果為合法。還包括存儲單元,與所述設(shè)置單元連接,用于獲取所述入接口和所述源IP地址在所述路 由原始數(shù)據(jù)庫內(nèi)對應(yīng)的路由索引,存儲所述路由索引與所述入接口和所述源IP地址的對 應(yīng)關(guān)系;刪除單元,與所述存儲單元和設(shè)置單元連接,用于當(dāng)所述入接口和所述源IP地址 在所述路由原始數(shù)據(jù)庫內(nèi)對應(yīng)的路由被刪除時,根據(jù)該被刪除路由的路由索引查找對應(yīng)的 IP地址和接口,刪除在ACL或者所述轉(zhuǎn)發(fā)表中存儲的所述入接口與所述源IP地址的對應(yīng)關(guān)系。還包括發(fā)送單元,與所述存儲單元連接,用于根據(jù)所述存儲單元存儲的被刪除路 由的路由索引查找對應(yīng)的IP地址,向下游設(shè)備發(fā)送通知,通知下游設(shè)備刪除以查找到的IP 地址為源IP地址的報文所對應(yīng)的轉(zhuǎn)發(fā)規(guī)則。與現(xiàn)有技術(shù)相比,本發(fā)明至少具有以下優(yōu)點當(dāng)設(shè)備對接收到的報文的URPF檢查結(jié)果為非法時,通過在路由原始數(shù)據(jù)庫內(nèi)查 找與報文源IP地址對應(yīng)的路由,進而對報文的合法性進行進一步判斷,對于URPF檢查結(jié)果 為非法、但路由原始數(shù)據(jù)庫內(nèi)有對應(yīng)路由的報文進行正常轉(zhuǎn)發(fā),避免了對報文的錯誤丟棄。
圖1是現(xiàn)有技術(shù)中源地址欺騙攻擊示意圖;圖2是現(xiàn)有技術(shù)中使用URPF技術(shù)防止源地址欺騙攻擊的網(wǎng)絡(luò)場景示意圖;圖3是本發(fā)明實施例一提供的防止源地址欺騙攻擊的方法的流程示意圖;圖4是本發(fā)明實施例二提供的防止源地址欺騙攻擊的方法的流程示意圖;圖5-6是本發(fā)明實施例三提供的防止源地址欺騙攻擊的設(shè)備的結(jié)構(gòu)示意圖。
具體實施例方式為了清楚地說明本發(fā)明提供的防止源地址欺騙攻擊的方法,下面結(jié)合不同實施例對該方法進行詳細介紹。實施例一本發(fā)明實施例一提供一種防止源地址欺騙攻擊的方法,設(shè)備使用URPF技術(shù)防止 源地址欺騙攻擊,設(shè)備對接收到的報文進行URPF檢查,當(dāng)檢查結(jié)果為合法時,轉(zhuǎn)發(fā)所述報 文,當(dāng)檢查結(jié)果為非法時,如圖3所示,該方法包括以下步驟步驟301,在設(shè)備的路由原始數(shù)據(jù)庫內(nèi)查找與報文的源IP地址對應(yīng)的路由;如果 查找到的路由中任一路由的出接口與報文的入接口一致,執(zhí)行步驟302 ;如果沒有查找到 對應(yīng)的路由、或者查找到的所有路由的出接口與報文的入接口不一致,執(zhí)行步驟303。設(shè)備在進行路由學(xué)習(xí)時,對于到達同一 IP地址的路由可以學(xué)習(xí)到多條,此時設(shè)備 會從多條路由中選擇一條最優(yōu)的路由添加到轉(zhuǎn)發(fā)表中,設(shè)備學(xué)習(xí)到的其他路由存儲在路由 原始數(shù)據(jù)庫內(nèi)。本發(fā)明實施例中,考慮到路由原始數(shù)據(jù)庫內(nèi)存儲的路由是正常學(xué)習(xí)得到的, 因此在設(shè)備根據(jù)URPF技術(shù)判斷報文為非法時,進一步通過路由原始數(shù)據(jù)庫存儲的路由判 斷報文是否合法。需要說明的是,路由原始數(shù)據(jù)庫對存儲的路由可以進行老化與更新,該老化過程 具體可以為設(shè)置路由存儲的時間閾值,某條路由存儲的時間到達該閾值時即被清除。步驟302,根據(jù)所述報文的目的IP地址轉(zhuǎn)發(fā)所述報文。設(shè)備在轉(zhuǎn)發(fā)表中查找與報文的目的IP地址對應(yīng)的路由,根據(jù)該路由進行報文轉(zhuǎn) 發(fā)。 步驟303,丟棄所述報文。結(jié)合圖2所示,使用本實施例提供的方法后,如果Rl從R6接收到來自PC2的報 文,Rl以報文的源IP地址為目的IP地址查找轉(zhuǎn)發(fā)表得到的出接口為EthO/Ι,與報文的入 接口 EthO/2不同,則Rl從其路由原始數(shù)據(jù)庫內(nèi)查找是否存在與報文的源IP地址和接口 EthO/2對應(yīng)的路由。根據(jù)圖2中的網(wǎng)絡(luò)拓撲可以獲知,Rl在進行路由學(xué)習(xí)時可以從R3和 R6分別學(xué)習(xí)源IP地址為PC2的IP地址的路由,即針對PC2的IP地址學(xué)習(xí)到兩條路由,其 中Rl從R3學(xué)習(xí)到路由的優(yōu)先級更高,所以Rl在轉(zhuǎn)發(fā)表中添加從R3學(xué)習(xí)到的路由(出接口 為EthO/Ι),但在路由原始數(shù)據(jù)庫內(nèi)繼續(xù)存儲Rl從R6學(xué)習(xí)到的路由(出接口為EthO/2)。 因此,Rl可以在路由原始數(shù)據(jù)庫內(nèi)查找到PC2的IP地址對應(yīng)的從R6學(xué)習(xí)到的路由,且該路 由的出接口為EthO/2,與報文的入接口相同,則Rl判斷報文正常,進而根據(jù)報文的目的IP 地址轉(zhuǎn)發(fā)報文。需要說明的是,當(dāng)查找到的接口與報文的入接口一致,設(shè)備向下游設(shè)備轉(zhuǎn)發(fā)該報 文時,可以為報文添加逐跳擴展頭,該擴展頭中攜帶報文合法標(biāo)識。接收到攜帶該擴展頭的 報文后,設(shè)備不需要再判斷報文的合法性,直接根據(jù)報文的目的IP地址查找轉(zhuǎn)發(fā)表進行報 文轉(zhuǎn)發(fā)。實施例二本發(fā)明實施例二提供一種防止源地址欺騙攻擊的方法,在實施例一的基礎(chǔ)上,為 了避免設(shè)備對同一數(shù)據(jù)流的報文重復(fù)查找路由原始數(shù)據(jù)庫,當(dāng)設(shè)備在路由原始數(shù)據(jù)庫查找 到的路由中任一路由的出接口與報文的入接口一致時,設(shè)備還存儲查找到的IP地址與接 口的對應(yīng)關(guān)系。下面以圖2中R7為例說明本實施例提供的方法,假定R7在路由學(xué)習(xí)時可以從R8 7和R6分別學(xué)習(xí)到PC2的IP地址A,R7判斷來自R6的路由的優(yōu)先級高,在轉(zhuǎn)發(fā)表中存儲地 址A與EthO/1的對應(yīng)關(guān)系,但在路由原始數(shù)據(jù)庫內(nèi)存儲從R8學(xué)習(xí)的到達PC2的路由,該路 由的出接口為EthO/2,如圖4所示,該方法包括以下步驟步驟401,R7接收R8發(fā)送的源IP地址為地址A的報文,在路由原始數(shù)據(jù)庫查找到 存在路由的出接口 EthO/2與報文的入接口一致,R7設(shè)置轉(zhuǎn)發(fā)規(guī)則以使源IP地址為地址A 的報文根據(jù)URPF技術(shù)判斷為合法。其中,設(shè)置轉(zhuǎn)發(fā)規(guī)則以使報文根據(jù)URPF技術(shù)判斷為合法包括在ACL或者轉(zhuǎn)發(fā)表 中存儲接口 EthO/2與地址A的對應(yīng)關(guān)系。具體的,R7可以在ACL中設(shè)置入接口 EthO/2與 地址A的對應(yīng)關(guān)系。本發(fā)明實施例中,R7在第一次轉(zhuǎn)發(fā)R8發(fā)送的源IP地址為A的報文 后,后續(xù)依然根據(jù)URPF技術(shù)判斷接收到的報文是否合法。當(dāng)R7在轉(zhuǎn)發(fā)表中查找到的地址 A對應(yīng)的接口 EthO/Ι與報文的入接口 EthO/2不一致時,R7在ACL中查找到地址A與入接 口 EthO/2匹配,即允許入接口 EthO/2上源IP地址為地址A的報文通過,根據(jù)報文的目的 IP地址轉(zhuǎn)發(fā)報文。R7也可以在轉(zhuǎn)發(fā)表中設(shè)置地址A與報文的入接口 EthO/2的對應(yīng)關(guān)系,并設(shè)置該入 接口 EthO/2的優(yōu)先級低于地址A原始對應(yīng)的接口 EthO/Ι的優(yōu)先級。R7后續(xù)接收到源IP 地址為地址A的報文后,根據(jù)地址A在轉(zhuǎn)發(fā)表中找到對應(yīng)的接口有地址A原始對應(yīng)的接口 EthO/Ι和報文的入接口 EthO/2,Rl判斷報文為合法,進一步根據(jù)報文的目的IP地址進行 報文轉(zhuǎn)發(fā)。其中,R7在ACL和轉(zhuǎn)發(fā)表中設(shè)置地址A與報文的入接口 EthO/2的對應(yīng)關(guān)系時, 為了保證后續(xù)與該報文同數(shù)據(jù)流的報文正常轉(zhuǎn)發(fā),可以設(shè)置該報文的五元組或七元組信息 等于入接口 EthO/2的對應(yīng)關(guān)系,具體實現(xiàn)方式本發(fā)明不做限制。當(dāng)Rl接收到目的IP地址為地址A的報文時,Rl查找轉(zhuǎn)發(fā)表,由于接口 EthO/2的 優(yōu)先級低于接口 EthO/Ι的優(yōu)先級,因此,Rl通過接口 EthO/Ι轉(zhuǎn)發(fā)報文。步驟402,R7通過轉(zhuǎn)發(fā)報文和/或空報文通知下游設(shè)備地址A為源IP地址的報文 合法,下游設(shè)備設(shè)置轉(zhuǎn)發(fā)規(guī)則使得以地址A為源IP地址的報文根據(jù)URPF技術(shù)判斷為合法。具體的,R7通過轉(zhuǎn)發(fā)報文通知下游設(shè)備地址A為源IP地址的報文合法時,需要在 該轉(zhuǎn)發(fā)報文的擴展頭內(nèi)攜帶報文合法標(biāo)識,R7通過空報文通知下游設(shè)備地址A為源IP地 址的報文合法時,需要在該轉(zhuǎn)發(fā)報文的擴展頭內(nèi)攜帶報文合法標(biāo)識和報文源IP地址A。R7可以通過轉(zhuǎn)發(fā)報文和空報文中的其中一種或者兩種通知下游設(shè)備地址A為源 IP地址的報文合法。R7的下游設(shè)備(例如R6和Rl)接收到轉(zhuǎn)發(fā)報文后,判斷報文合法, 根據(jù)報文的目的IP地址轉(zhuǎn)發(fā)報文。R7的下游設(shè)備接收到空報文后,存儲其中的源IP地址 A和接收到該空報文的接口的對應(yīng)關(guān)系,后續(xù)通過該接口接收到地址A為源IP地址的報文 后,R7的下游設(shè)備判斷報文合法,根據(jù)報文的目的IP地址進行報文轉(zhuǎn)發(fā)。R7的下游設(shè)備還可以設(shè)置轉(zhuǎn)發(fā)規(guī)則使得以地址A為源IP地址的報文根據(jù)URPF技 術(shù)判斷為合法。該轉(zhuǎn)發(fā)規(guī)則的設(shè)置方式同R7相似,可以存儲地址A與接口 EthO/2的對應(yīng)關(guān) 系。具體的,同步驟401類似,R7的下游設(shè)備也可以在ACL或者轉(zhuǎn)發(fā)表中存儲接口 EthO/2 與地址A的對應(yīng)關(guān)系,具體方式可以參考步驟401。步驟403,Rl接收R6發(fā)送的來自PC2的報文,刪除報文的擴展頭,根據(jù)報文的目的 IP地址向PCl轉(zhuǎn)發(fā)該報文。步驟404,當(dāng)R7的路由原始數(shù)據(jù)庫內(nèi)地址A與接口 EthO/2對應(yīng)的路由被清除時,R7刪除在ACL或轉(zhuǎn)發(fā)表中存儲的地址A與接口 EthO/2的對應(yīng)關(guān)系,并通知R7的下游設(shè)備 刪除以地址A為源IP地址的報文對應(yīng)的轉(zhuǎn)發(fā)規(guī)則。具體的,本發(fā)明實施例中,R7在ACL或轉(zhuǎn)發(fā)表中存儲的地址A與接口 EthO/2的對 應(yīng)關(guān)系后,R7還獲取接口 EthO/2和地址A在路由原始數(shù)據(jù)庫內(nèi)對應(yīng)的路由索引,建立數(shù)據(jù) 流表存儲該路由索引與EthO/2和地址A的對應(yīng)關(guān)系。當(dāng)路由原始數(shù)據(jù)庫內(nèi)地址A與接口 EthO/2對應(yīng)的路由被清除時,R7根據(jù)該路由的路由索引在數(shù)據(jù)流表查找對應(yīng)的表項,得到 EthO/2和地址A的對應(yīng)關(guān)系,進而刪除ACL或轉(zhuǎn)發(fā)表中存儲的地址A與接口 EthO/2的對應(yīng) 關(guān)系。該數(shù)據(jù)流表內(nèi)可以僅存儲路由索引與入接口(EthO/2)和源IP地址(PC2的IP地 址)的對應(yīng)關(guān)系,還可以存儲目的IP地址(PCl的IP地址)和目的接口(EthO/Ι)的對應(yīng)關(guān) 系,例如表1所示的數(shù)據(jù)流表,其中存儲了源IP地址(PC2的IP地址)、報文入接口 EthO/2、 目的IP地址(PCl的IP地址)、目的接口 EthO/Ι以及路由索引的對應(yīng)關(guān)系。表 權(quán)利要求
一種防止源地址欺騙攻擊的方法,應(yīng)用于使用單播反向路徑轉(zhuǎn)發(fā)URPF技術(shù)防止源地址欺騙攻擊的設(shè)備,其特征在于,包括設(shè)備對接收到的報文進行URPF檢查,當(dāng)檢查結(jié)果為合法時,轉(zhuǎn)發(fā)所述報文,當(dāng)檢查結(jié)果為非法時,在設(shè)備的路由原始數(shù)據(jù)庫內(nèi)查找與所述報文的源IP地址對應(yīng)的路由;當(dāng)查找到的路由中任一路由的出接口與所述報文的入接口一致時,根據(jù)所述報文的目的IP地址轉(zhuǎn)發(fā)所述報文;當(dāng)沒有查找到對應(yīng)的路由、或者查找到的所有路由的出接口與所述入接口不一致時,丟棄所述報文。
2.如權(quán)利要求1所述的方法,其特征在于,當(dāng)查找到的路由中任一路由的出接口與所 述報文的入接口一致時,還包括設(shè)置轉(zhuǎn)發(fā)規(guī)則以使所述報文的URPF檢查結(jié)果為合法。
3.如權(quán)利要求2所述的方法,其特征在于,所述設(shè)置轉(zhuǎn)發(fā)規(guī)則以使所述報文根據(jù)URPF 技術(shù)判斷為合法包括在接入控制列表ACL中設(shè)置所述入接口與所述源IP地址的對應(yīng)關(guān) 系;或者在所述轉(zhuǎn)發(fā)表中設(shè)置所述源IP地址與所述入接口的對應(yīng)關(guān)系,并設(shè)置所述入接口 的優(yōu)先級低于所述源IP地址原始對應(yīng)的出接口的優(yōu)先級。
4.如權(quán)利要求1所述的方法,其特征在于,當(dāng)查找到的路由中任一路由的出接口與所 述報文的入接口一致時,還包括通知下游設(shè)備所述報文合法。
5.如權(quán)利要求4所述的方法,其特征在于,所述通知下游設(shè)備所述報文合法包括在所 述報文的擴展頭中攜帶報文合法標(biāo)識并向下游設(shè)備轉(zhuǎn)發(fā)所述報文;或者在空報文的擴展頭 中攜帶所述源IP地址和報文合法標(biāo)識向下游設(shè)備發(fā)送。
6.如權(quán)利要求1所述的方法,其特征在于,還包括當(dāng)所述設(shè)備接收上游設(shè)備發(fā)送的報 文合法的通知后,根據(jù)該通知轉(zhuǎn)發(fā)對應(yīng)的報文并設(shè)置轉(zhuǎn)發(fā)規(guī)則以使所述對應(yīng)的報文的URPF 檢查結(jié)果為合法。
7.如權(quán)利要求3所述的方法,其特征在于,所述設(shè)置轉(zhuǎn)發(fā)規(guī)則以使所述報文根據(jù)URPF 技術(shù)判斷為合法之后,還包括獲取所述入接口和所述源IP地址在所述路由原始數(shù)據(jù)庫內(nèi) 對應(yīng)的路由索引,存儲所述路由索引與所述入接口和所述源IP地址的對應(yīng)關(guān)系;當(dāng)所述入接口和所述源IP地址在所述路由原始數(shù)據(jù)庫內(nèi)對應(yīng)的路由被刪除時,根據(jù) 該被刪除路由的路由索引查找對應(yīng)的IP地址和接口,刪除在ACL或者所述轉(zhuǎn)發(fā)表中存儲的 所述入接口與所述源IP地址的對應(yīng)關(guān)系。
8.如權(quán)利要求7所述的方法,其特征在于,當(dāng)所述入接口與所述源IP地址在所述路由 原始數(shù)據(jù)庫內(nèi)對應(yīng)的路由被刪除時,還包括根據(jù)該被刪除路由的路由索引查找對應(yīng)的IP 地址,通知下游設(shè)備刪除以查找到的IP地址為源IP地址的報文所對應(yīng)的轉(zhuǎn)發(fā)規(guī)則。
9.一種防止源地址欺騙攻擊的設(shè)備,使用單播反向路徑轉(zhuǎn)發(fā)URPF技術(shù)防止源地址欺 騙攻擊,其特征在于,該設(shè)備包括檢查單元,用于對所述設(shè)備接收到的報文進行URPF檢查;查找單元,與所述檢查單元連接,用于當(dāng)所述檢查單元的檢查結(jié)果為所述報文非法時, 在設(shè)備的路由原始數(shù)據(jù)庫內(nèi)查找與所述報文的源IP地址對應(yīng)的路由;轉(zhuǎn)發(fā)單元,與所述檢查單元和查找單元連接,用于當(dāng)所述檢查單元的檢查結(jié)果為所述 報文合法時,轉(zhuǎn)發(fā)所述報文;當(dāng)所述查找單元查找到的路由中任一路由的出接口與所述報 文的入接口一致時,根據(jù)所述報文的目的IP地址轉(zhuǎn)發(fā)所述報文;丟棄單元,與所述查找單元連接,用于當(dāng)所述查找單元沒有查找到對應(yīng)的路由、或者查 找到的所有路由的出接口與所述入接口不一致時,丟棄所述報文。
10.如權(quán)利要求9所述的設(shè)備,其特征在于,還包括設(shè)置單元,與所述查找單元連接,用 于當(dāng)所述查找單元查找到的路由中任一路由的出接口與所述報文的入接口一致時,設(shè)置轉(zhuǎn) 發(fā)規(guī)則以使所述報文的URPF檢查結(jié)果為合法。
11.如權(quán)利要求10所述的設(shè)備,其特征在于,所述設(shè)置單元具體用于在接入控制列表ACL中設(shè)置所述入接口與所述源IP地址的對應(yīng)關(guān)系;或者在所述轉(zhuǎn)發(fā) 表中設(shè)置所述源IP地址與所述入接口的對應(yīng)關(guān)系,并設(shè)置所述入接口的優(yōu)先級低于所述 源IP地址原始對應(yīng)的接口的優(yōu)先級。
12.如權(quán)利要求9所述的設(shè)備,其特征在于,所述轉(zhuǎn)發(fā)單元還用于通知下游設(shè)備所述 報文合法。
13.如權(quán)利要求12所述的設(shè)備,其特征在于,所述轉(zhuǎn)發(fā)單元具體用于在所述報文的擴 展頭中攜帶報文合法標(biāo)識并向下游設(shè)備轉(zhuǎn)發(fā)所述報文;或者在空報文的擴展頭中攜帶所述 源IP地址和報文合法標(biāo)識向下游設(shè)備發(fā)送。
14.如權(quán)利要求9所述的設(shè)備,其特征在于,還包括接收單元,用于接收上游設(shè)備發(fā)送的報文以及報文合法的通知;所述轉(zhuǎn)發(fā)單元,與所述接收單元連接,用于根據(jù)所述通知獲知報文為合法報文時轉(zhuǎn)發(fā) 所述報文;所述設(shè)置單元,與所述接收單元連接,用于設(shè)置轉(zhuǎn)發(fā)規(guī)則以使所述報文的URPF檢查結(jié) 果為合法。
15.如權(quán)利要求11所述的設(shè)備,其特征在于,還包括存儲單元,與所述設(shè)置單元連接,用于獲取所述入接口和所述源IP地址在所述路由原 始數(shù)據(jù)庫內(nèi)對應(yīng)的路由索引,存儲所述路由索引與所述入接口和所述源IP地址的對應(yīng)關(guān) 系;刪除單元,與所述存儲單元和設(shè)置單元連接,用于當(dāng)所述入接口和所述源IP地址在所 述路由原始數(shù)據(jù)庫內(nèi)對應(yīng)的路由被刪除時,根據(jù)該被刪除路由的路由索引查找對應(yīng)的IP 地址和接口,刪除在ACL或者所述轉(zhuǎn)發(fā)表中存儲的所述入接口與所述源IP地址的對應(yīng)關(guān)系。
16.如權(quán)利要求15所述的設(shè)備,其特征在于,還包括發(fā)送單元,與所述存儲單元連接, 用于根據(jù)所述存儲單元存儲的被刪除路由的路由索引查找對應(yīng)的IP地址,向下游設(shè)備發(fā) 送通知,通知下游設(shè)備刪除以查找到的IP地址為源IP地址的報文所對應(yīng)的轉(zhuǎn)發(fā)規(guī)則。
全文摘要
本發(fā)明公開了一種防止源地址欺騙攻擊的方法和設(shè)備,該方法包括設(shè)備對接收到的報文進行URPF檢查,當(dāng)檢查結(jié)果為合法時,轉(zhuǎn)發(fā)所述報文,當(dāng)檢查結(jié)果為非法時,在設(shè)備的路由原始數(shù)據(jù)庫內(nèi)查找與所述報文的源IP地址對應(yīng)的路由;當(dāng)查找到的路由中任一路由的出接口與所述報文的入接口一致時,根據(jù)所述報文的目的IP地址轉(zhuǎn)發(fā)所述報文;當(dāng)沒有查找到對應(yīng)的路由、或者查找到的所有路由的出接口與所述入接口不一致時,丟棄所述報文。本發(fā)明避免了使用URPF技術(shù)防止源地址欺騙攻擊導(dǎo)致的錯誤丟棄報文。
文檔編號H04L12/56GK101945117SQ20101029484
公開日2011年1月12日 申請日期2010年9月28日 優(yōu)先權(quán)日2010年9月28日
發(fā)明者林濤 申請人:杭州華三通信技術(shù)有限公司