專利名稱:一種使用tcam進(jìn)行arp防御的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及ー種在包含有TCAM硬件組件的網(wǎng)絡(luò)芯片(以下簡稱目標(biāo)芯片)中的使用TCAM進(jìn)行ARP防御的方法。屬于網(wǎng)絡(luò)安全技術(shù)領(lǐng)域。
背景技術(shù):
網(wǎng)絡(luò)已經(jīng)成為人們?cè)谌粘I?、工作中的ー個(gè)重要組成部分,人們通過網(wǎng)絡(luò)來完成購物、理財(cái)?shù)然顒?dòng)。因此,人們對(duì)網(wǎng)絡(luò)的安全問題也越來越重視,網(wǎng)絡(luò)中存在著許多非法的攻擊行為,ARP就是其中最常見的ー種攻擊行為,許多交換機(jī)廠商針對(duì)ARP攻擊行為,開發(fā)了許多防御功能,但是效率方面都不盡人意且影響到網(wǎng)絡(luò)設(shè)備的處理性能。在傳統(tǒng)的網(wǎng)絡(luò)設(shè)備中,一般都使用軟件在CPU處理來完成整個(gè)ARP防御過程,而ARP防御策略中最重要的就是ARP表項(xiàng)的查找,軟件使用的是傳統(tǒng)的表項(xiàng)查找方法,主要有線型查找法、ニ叉樹查找法、哈希表查找等,共同特點(diǎn)是查找速度受CPU及軟件算法限制。這樣的ARP防御模式 對(duì)CPU的消耗較大,同時(shí)軟件的處理速度較慢,在防御ARP的時(shí)候可能會(huì)因?yàn)镃PU使用率過高導(dǎo)致設(shè)備的崩潰,無法正常轉(zhuǎn)發(fā)。因此,我們需要ー種能快速查找,并將CPU影響降到最低的方法,保證設(shè)備的正常轉(zhuǎn)發(fā)。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服上述不足,提供ー種使用TCAM進(jìn)行ARP防御的方法,能夠使網(wǎng)絡(luò)設(shè)備降低CPU使用率,實(shí)現(xiàn)線速ARP防御。本發(fā)明的目的是這樣實(shí)現(xiàn)的ー種使用TCAM來進(jìn)行ARP防御的方法,所述方法包括以下步驟
步驟一、在目標(biāo)芯片的TCAM中生成TCAM規(guī)則,生成TCAM規(guī)則的方式有兩種
a、(一)根據(jù)所需防御特征確定對(duì)應(yīng)ARP綁定條目內(nèi)容;(ニ)同時(shí)生成靜態(tài)綁定表,如果失敗則重新構(gòu)建ARP綁定條目內(nèi)容;(三)構(gòu)建成功,在TCAM中會(huì)建立對(duì)應(yīng)ARP防御匹配項(xiàng)生成TCAM規(guī)則;(四)如果沒有制定ARP防御匹配項(xiàng),則TCAM中規(guī)則為空。b、經(jīng)CPU處理判斷為非法的ARP報(bào)文生成TCAM規(guī)則,非法ARP報(bào)文包括ARP欺騙及ARP攻擊,生成的TCAM規(guī)則即動(dòng)態(tài)TCAM黑名單;
步驟ニ、目標(biāo)芯片帶有一至多個(gè)網(wǎng)絡(luò)接ロ模塊,當(dāng)網(wǎng)絡(luò)設(shè)備的任意接ロ模塊接收到ARP報(bào)文時(shí),都將根據(jù)TCAM規(guī)則在TCAM中對(duì)ARP報(bào)文進(jìn)行匹配;
步驟三、若匹配成功,則檢查該報(bào)文屬于動(dòng)態(tài)TCAM黑名單還是ARP防御匹配項(xiàng),如果屬于動(dòng)態(tài)TCAM黑名單,則丟棄該報(bào)文;如果屬于ARP防御匹配項(xiàng),則正常轉(zhuǎn)發(fā);若TCAM規(guī)則為空或匹配失敗,則將該報(bào)文重定向到CPU進(jìn)行規(guī)則后續(xù)處理。所述步驟一中的ARP綁定條目及動(dòng)態(tài)TCAM黑名單包含進(jìn)入接ロ、IP和MAC信息。所述步驟ニ中對(duì)ARP報(bào)文進(jìn)行匹配是指模塊接ロ接收ARP報(bào)文,并對(duì)其進(jìn)行分析,提取ARP報(bào)文的P0RT、IP、MAC,然后將此信息內(nèi)容和TCAM中對(duì)應(yīng)內(nèi)容進(jìn)行匹配,若完全符合TCAM匹配項(xiàng),則為匹配成功,依據(jù)判斷進(jìn)行正常轉(zhuǎn)發(fā)還是丟棄。
所述步驟三中ARP報(bào)文重定向到CPU處理包括以下步驟(一)重定向的ARP報(bào)文先將在靜態(tài)綁定表中查找是否存在PORT、IP、MAC相同的ARP綁定條目信息,若存在其中PORT、IP、MAC不完全相同的信息并且PORT不是匯聚端ロ的,則將被判斷為ARP欺騙,并且該條ARP欺騙報(bào)文將被加入到動(dòng)態(tài)TCAM黑名單生成TCAM規(guī)則中并且設(shè)置老化時(shí)間,同時(shí)丟棄該ARP報(bào)文;(ニ)重定向的ARP報(bào)文在ARP靜態(tài)綁定表中未發(fā)現(xiàn)相同的PORT或IP或MAC信息,則將會(huì)判斷是否在動(dòng)態(tài)表中存在,即是否已經(jīng)動(dòng)態(tài)學(xué)習(xí)該條ARP報(bào)文。若沒有則自動(dòng)學(xué)習(xí)該條ARP報(bào)文并將其添加到動(dòng)態(tài)學(xué)習(xí)表中,同時(shí)監(jiān)測在指定時(shí)間I秒內(nèi)相同的動(dòng)態(tài)ARP報(bào)文是否超過30條,若超過,則將判斷為ARP攻擊,丟棄掉該條ARP報(bào)文,同時(shí)將該條ARP報(bào)文動(dòng)態(tài)的添加到動(dòng)態(tài)TCAM黑名單生成TCAM規(guī)則中并且設(shè)置老化時(shí)間。在老化時(shí)間內(nèi)再次接收到匹配TCAM黑名單的ARP報(bào)文時(shí),會(huì)由TCAM過濾直接丟棄,并重置老化時(shí)間,在老化時(shí)間內(nèi)沒有接收到匹配TCAM黑名單的ARP報(bào)文則會(huì)動(dòng)態(tài)的將該條ARP報(bào)文從TCAM中刪除。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是
本發(fā)明是使用TCAM技術(shù)則將大部分的功能通過硬件來完成,TCAM是ー種三態(tài)內(nèi)容尋·址存儲(chǔ)器,具有查找速度快、操作簡單的優(yōu)點(diǎn),使用TCAM來進(jìn)行查找時(shí),整個(gè)表項(xiàng)空間的所有數(shù)據(jù)在同一時(shí)刻被查詢,查找速度不受表項(xiàng)空間數(shù)據(jù)大小影響,每個(gè)時(shí)鐘周期完成一次查找,查詢相當(dāng)快,這樣在進(jìn)行ARP防御的時(shí)候就會(huì)將防御功能對(duì)CPU的影響降到最低,保證設(shè)備的正常轉(zhuǎn)發(fā)。
圖I是建立TCAM規(guī)則過程;
圖2是ARP報(bào)文的處理過程;
圖3是TCAM規(guī)則在TCAM中對(duì)ARP報(bào)文進(jìn)行匹配過程。
具體實(shí)施例方式參見圖1,本發(fā)明涉及ー種使用TCAM進(jìn)行ARP防御的方法,所述方法包括以下步驟
步驟一、在目標(biāo)芯片的TCAM中生成TCAM規(guī)則,生成TCAM規(guī)則的方式有兩種
a、(一)根據(jù)所需防御特征確定對(duì)應(yīng)ARP綁定條目內(nèi)容;(ニ)同時(shí)生成靜態(tài)綁定表,如果失敗則重新構(gòu)建ARP綁定條目內(nèi)容;(三)構(gòu)建成功,在TCAM中會(huì)建立對(duì)應(yīng)ARP防御匹配項(xiàng)生成TCAM規(guī)則;(四)如果沒有制定ARP防御匹配項(xiàng),則TCAM中規(guī)則為空。b、經(jīng)CPU處理判斷為非法的ARP報(bào)文生成TCAM規(guī)則,非法ARP報(bào)文包括ARP欺騙及ARP攻擊,生成的TCAM規(guī)則即動(dòng)態(tài)TCAM黑名單;
如圖2所示ARP報(bào)文的處理過程
步驟ニ .目標(biāo)芯片帶有一至多個(gè)網(wǎng)絡(luò)接ロ模塊(PORT),當(dāng)網(wǎng)絡(luò)設(shè)備的任意接ロ模塊接收到ARP報(bào)文時(shí),都將根據(jù)TCAM規(guī)則在TCAM中對(duì)ARP報(bào)文進(jìn)行匹配,這里的TCAM規(guī)則可能是用戶認(rèn)為設(shè)定的或者由系統(tǒng)軟件自動(dòng)生成的規(guī)則;
步驟三.若匹配成功,則檢查該報(bào)文屬于動(dòng)態(tài)TCAM黑名單還是ARP防御匹配項(xiàng),如果屬于動(dòng)態(tài)TCAM黑名單,則丟棄該報(bào)文;如果屬于ARP防御匹配項(xiàng),則正常轉(zhuǎn)發(fā);若TCAM規(guī)則為空或匹配失敗,則將該報(bào)文重定向到CPU進(jìn)行規(guī)則后續(xù)處理。圖3所示TCAM規(guī)則在TCAM中對(duì)ARP報(bào)文進(jìn)行匹配過程
模塊接ロ接收ARP報(bào)文,并對(duì)其進(jìn)行分析,提取ARP報(bào)文的PORT、IP、MAC,然后將此信息內(nèi)容和TCAM中對(duì)應(yīng)內(nèi)容進(jìn)行匹配,若完全符合TCAM匹配項(xiàng),則為匹配成功,依據(jù)判斷進(jìn)行正常轉(zhuǎn)發(fā)還是丟棄。其中,步驟一中ARP綁定條目及動(dòng)態(tài)TCAM黑名單包含進(jìn)入接ロ(PORT)、IP、MAC信息。圖2所示,ARP報(bào)文重定向到CPU處理包括以下步驟(一)重定向的ARP報(bào)文先在靜態(tài)綁定表中查找是否存在PORT、IP、MAC相同的ARP綁定條目信息,若存在PORT、IP、MAC不完全相同的信息并且PORT不是匯聚端ロ的,則將被判斷為ARP欺騙,并且該條ARP欺騙 報(bào)文將被加入到動(dòng)態(tài)TCAM黑名單生成TCAM規(guī)則中并且設(shè)置老化時(shí)間,同時(shí)丟棄該ARP報(bào)文;(ニ)重定向的ARP報(bào)文在ARP靜態(tài)綁定表中未發(fā)現(xiàn)相同的PORT或IP或MAC信息,則將會(huì)判斷是否在動(dòng)態(tài)表中存在,即是否已經(jīng)動(dòng)態(tài)學(xué)習(xí)該條ARP報(bào)文。若沒有則自動(dòng)學(xué)習(xí)該條ARP報(bào)文并將其添加到動(dòng)態(tài)學(xué)習(xí)表中,同時(shí)監(jiān)測在指定時(shí)間I秒內(nèi)相同的動(dòng)態(tài)ARP報(bào)文是否超過30條,若超過,則將判斷為ARP攻擊,丟棄掉該條ARP報(bào)文,同時(shí)將該條ARP報(bào)文動(dòng)態(tài)的添加到動(dòng)態(tài)TCAM黑名單生成TCAM規(guī)則中并且設(shè)置老化時(shí)間。在老化時(shí)間內(nèi)再次接收到匹配TCAM黑名單的ARP報(bào)文時(shí),會(huì)由TCAM過濾直接丟棄,并重置老化時(shí)間。在老化時(shí)間內(nèi)沒有接收到匹配TCAM黑名單的ARP報(bào)文則會(huì)動(dòng)態(tài)的將該條ARP報(bào)文從TCAM中刪除。
權(quán)利要求
1.ー種使用TCAM來進(jìn)行ARP防御的方法,其特征在于,所述方法包括以下步驟 步驟一、在目標(biāo)芯片的TCAM中生成TCAM規(guī)則,生成TCAM規(guī)則的方式有兩種 a、(一)根據(jù)所需防御特征確定對(duì)應(yīng)ARP綁定條目內(nèi)容;(ニ)同時(shí)生成靜態(tài)綁定表,如果失敗則重新構(gòu)建ARP綁定條目內(nèi)容;(三)構(gòu)建成功,在TCAM中會(huì)建立對(duì)應(yīng)ARP防御匹配項(xiàng)生成TCAM規(guī)則;(四)如果沒有制定ARP防御匹配項(xiàng),則TCAM中規(guī)則為空。
2.b、經(jīng)CPU處理判斷為非法的ARP報(bào)文生成TCAM規(guī)則,非法ARP報(bào)文包括ARP欺騙及ARP攻擊,生成的TCAM規(guī)則即動(dòng)態(tài)TCAM黑名單; 步驟ニ、目標(biāo)芯片帶有一至多個(gè)網(wǎng)絡(luò)接ロ模塊,當(dāng)網(wǎng)絡(luò)設(shè)備的任意接ロ模塊接收到ARP報(bào)文時(shí),都將根據(jù)TCAM規(guī)則在TCAM中對(duì)ARP報(bào)文進(jìn)行匹配; 步驟三、若匹配成功,則檢查該報(bào)文屬于動(dòng)態(tài)TCAM黑名單還是ARP防御匹配項(xiàng),如果屬于動(dòng)態(tài)TCAM黑名單,則丟棄該報(bào)文;如果屬于ARP防御匹配項(xiàng),則正常轉(zhuǎn)發(fā);若TCAM規(guī)則為空或匹配失敗,則將該報(bào)文重定向到CPU進(jìn)行規(guī)則后續(xù)處理。
3.如權(quán)利要求I所述的ー種使用TCAM來進(jìn)行ARP防御的方法,其特征在于,所述步驟一中的ARP綁定條目及動(dòng)態(tài)TCAM黑名單包含進(jìn)入接ロ、IP和MAC信息。
4.如權(quán)利要求I所述的ー種使用TCAM來進(jìn)行ARP防御的方法,其特征在于,所述步驟ニ中對(duì)ARP報(bào)文進(jìn)行匹配是指模塊接ロ接收ARP報(bào)文,并對(duì)其進(jìn)行分析,提取ARP報(bào)文的PORT、IP、MAC,然后將此信息內(nèi)容和TCAM中對(duì)應(yīng)內(nèi)容進(jìn)行匹配,若完全符合TCAM匹配項(xiàng),則為匹配成功,依據(jù)判斷進(jìn)行正常轉(zhuǎn)發(fā)還是丟棄。
5.如權(quán)利要求I所述的ー種使用TCAM來進(jìn)行ARP防御的方法,其特征在于,所述步驟三中ARP報(bào)文重定向到CPU處理包括以下步驟(一)重定向的ARP報(bào)文先將在靜態(tài)綁定表中查找是否存在PORT、IP,MAC相同的ARP綁定條目信息,若存在其中PORT、IP,MAC不完全相同的信息并且PORT不是匯聚端ロ的,則將被判斷為ARP欺騙,并且該條ARP欺騙報(bào)文將被加入到動(dòng)態(tài)TCAM黑名單生成TCAM規(guī)則中并且設(shè)置老化時(shí)間,同時(shí)丟棄該ARP報(bào)文;(ニ)重定向的ARP報(bào)文在ARP靜態(tài)綁定表中未發(fā)現(xiàn)相同的PORT或IP或MAC信息,則將會(huì)判斷是否在動(dòng)態(tài)表中存在,即是否已經(jīng)動(dòng)態(tài)學(xué)習(xí)該條ARP報(bào)文。
6.若沒有則自動(dòng)學(xué)習(xí)該條ARP報(bào)文并將其添加到動(dòng)態(tài)學(xué)習(xí)表中,同時(shí)監(jiān)測在指定時(shí)間I秒內(nèi)相同的動(dòng)態(tài)ARP報(bào)文是否超過30條,若超過,則將判斷為ARP攻擊,丟棄掉該條ARP報(bào)文,同時(shí)將該條ARP報(bào)文動(dòng)態(tài)的添加到動(dòng)態(tài)TCAM黑名單生成TCAM規(guī)則中并且設(shè)置老化時(shí)間。
7.在老化時(shí)間內(nèi)再次接收到匹配TCAM黑名單的ARP報(bào)文時(shí),會(huì)由TCAM過濾直接丟棄,并重置老化時(shí)間,在老化時(shí)間內(nèi)沒有接收到匹配TCAM黑名單的ARP報(bào)文則會(huì)動(dòng)態(tài)的將該條ARP報(bào)文從TCAM中刪除。
全文摘要
本發(fā)明涉及一種使用TCAM進(jìn)行ARP防御的方法,主要是使用TCAM對(duì)含有特征信息的ARP數(shù)據(jù)包進(jìn)行匹配,來提高網(wǎng)絡(luò)設(shè)備對(duì)ARP欺騙及攻擊行為的檢測處理速度,同時(shí)可減輕網(wǎng)絡(luò)設(shè)備CPU負(fù)擔(dān),加強(qiáng)網(wǎng)絡(luò)設(shè)備的安全防御功能。本發(fā)明是使用TCAM技術(shù)則將大部分的功能通過硬件來完成,TCAM是一種三態(tài)內(nèi)容尋址存儲(chǔ)器,具有查找速度快、操作簡單的優(yōu)點(diǎn),使用TCAM來進(jìn)行查找時(shí),整個(gè)表項(xiàng)空間的所有數(shù)據(jù)在同一時(shí)刻被查詢,查找速度不受表項(xiàng)空間數(shù)據(jù)大小影響,每個(gè)時(shí)鐘周期完成一次查找,查詢相當(dāng)快,這樣在進(jìn)行ARP防御的時(shí)候就會(huì)將防御功能對(duì)CPU的影響降到最低,保證設(shè)備的正常轉(zhuǎn)發(fā)。
文檔編號(hào)H04L29/06GK102843362SQ20121027988
公開日2012年12月26日 申請(qǐng)日期2012年8月8日 優(yōu)先權(quán)日2012年8月8日
發(fā)明者劉濤, 冉宇暉, 陳靜, 潘月紅, 丁賢根, 胡建鶴 申請(qǐng)人:江蘇華麗網(wǎng)絡(luò)工程有限公司