一種路由器及其防arp攻擊的方法【
技術領域:
】[0001]本發(fā)明涉及網(wǎng)絡安全領域,尤指一種路由器及其防ARP攻擊的方法?!?br>背景技術:
】[0002]隨著互聯(lián)網(wǎng)技術的高速發(fā)展,網(wǎng)絡安全已經(jīng)變得越來越重要,有很多敏感信息,難免會吸引某些人的攻擊,像網(wǎng)吧這種場所,總有一些不法分子常常竊取正常上網(wǎng)用戶的個人信息,如網(wǎng)上銀行密碼、論壇賬號密碼等。局域網(wǎng)ARP攻擊就是常見的一種方式,為了保證用戶的合法利益,需要首先從局域網(wǎng)就阻止這些非法操作。[0003]ARP攻擊就是局域網(wǎng)攻擊者通過偽造IP地址和MAC地址(物理地址)實現(xiàn)ARP欺騙,攻擊主機只要持續(xù)不斷的發(fā)出偽造的ARP響應包就能使目標主機更改自己ARP緩存中的MAC-1P條目,造成目標主機誤認為攻擊者的MAC地址和IP地址就是信任的網(wǎng)絡地址,從而將數(shù)據(jù)發(fā)往攻擊者偽造的地址,這樣攻擊主機就能竊取目標主機的機密信息(通過第三方工具解析)。ARP攻擊通常發(fā)生在大型局域網(wǎng)內(nèi),比如校園網(wǎng)、網(wǎng)吧等場所。[0004]當前預防ARP攻擊的方案主要是在路由模式下進行的。一種方式是利用路由器在路由模式下DHCPserver分配給接入路由器的終端設備IP地址,另一種方式是路由器管理人員靜態(tài)配置MAC地址和IP地址,這種方式需要終端用戶在計算機上靜態(tài)配置IP地址及其網(wǎng)關等信息,然后利用linux自帶的arp命令或是arptables命令實施終端設備的MAC地址和IP地址綁定。但是,arp命令、arptables命令及其附屬命令只能在linux用戶空間使用。尤其是當路由器工作在橋模式下的時候,路由器本身沒有設置DHCPserver來分配IP地址,而是需要從上一級路由器或是第三方DHCPserver分配IP地址,不能由路由器直接獲得IP地址,進而也就無法通過路由器有效防止ARP的攻擊?!?br/>發(fā)明內(nèi)容】[0005]本發(fā)明的目的是提供一種路由器及其防ARP攻擊的方法,能夠有效防止ARP的攻擊。[0006]本發(fā)明提供的技術方案如下:[0007]本發(fā)明提供了一種路由器防ARP攻擊的方法,其包括步驟:[0008]接收ARP報文;[0009]解析接收的所述ARP報文中的MAC地址和IP地址;[0010]將所述解析得到的MAC地址和IP地址同預先存儲的名單鏈表比對,并判斷所述解析得到的MAC地址和IP地址是否為攻擊地址;如果為攻擊地址,則丟棄所述ARP報文;如果不是攻擊地址,則放行所述ARP報文。[0011]優(yōu)選地,所述預先存儲的名單鏈表為白名單鏈表;[0012]所述判斷所述解析得到的MAC地址和IP地址是否為攻擊地址進一步包括:[0013]判斷所述解析得到的MAC地址和IP地址是否與所述白名單鏈表中的一對MAC地址和IP地址一致,當一致時,判斷所述解析得到的MAC地址和IP地址不是攻擊地址,并放行所述ARP報文;當不一致時,判斷所述解析得到的MAC地址和IP地址是攻擊地址,并丟棄所述ARP報文。[0014]優(yōu)選地,所述預先存儲的名單鏈表為黑名單鏈表;[0015]所述判斷所述解析得到的MAC地址和IP地址是否為攻擊地址進一步包括:[0016]判斷所述解析得到的MAC地址和IP地址是否與所述黑名單鏈表中的一對MAC地址和IP地址一致,當一致時,判斷所述解析得到的MAC地址和IP地址是攻擊地址,并丟棄所述ARP報文;當不一致時,判斷所述解析得到的MAC地址和IP地址不是攻擊地址,并放行所述ARP報文。[0017]優(yōu)選地,當監(jiān)測到任一終端在預設時間內(nèi)并未作出響應后,從所述預先存儲的名單鏈表中刪除該終端所對應的MAC地址和IP地址。[0018]優(yōu)選地,在所述接收ARP報文的步驟之前,還包括步驟:[0019]創(chuàng)建并存儲所述名單鏈表。[0020]優(yōu)選地,在所述創(chuàng)建并存儲所述名單鏈表的步驟之后,還包括步驟:[0021]接收DHCP報文;[0022]解析所述DHCP報文中的MAC地址和IP地址;[0023]將所述解析得到的DHCP報文中的MAC地址和IP地址同預先存儲的所述名單鏈表比對,并判斷所述解析得到的DHCP報文中的MAC地址和IP地址是否為攻擊地址;如果為攻擊地址,則丟棄所述DHCP報文;如果不是攻擊地址,則放行所述DHCP報文。[0024]優(yōu)選地,在所述創(chuàng)建并存儲所述名單鏈表的步驟之后,還包括步驟:[0025]接收DHCP報文;[0026]人工配置DHCP報文中的MAC地址和IP地址;[0027]將所述DHCP報文中的MAC地址和IP地址同預先存儲的所述名單鏈表比對,并判斷所述DHCP報文中的MAC地址和IP地址是否為攻擊地址;如果為攻擊地址,則丟棄所述DHCP報文;如果不是攻擊地址,則放行所述DHCP報文。[0028]進一步優(yōu)選地,創(chuàng)建的所述名單鏈表為白名單鏈表;[0029]所述判斷所述DHCP報文中的MAC地址和IP地址是否為攻擊地址進一步包括:[0030]判斷所述DHCP報文中的MAC地址和IP地址是否與所述白名單鏈表中的一對MAC地址和IP地址一致,當一致時,判斷所述DHCP報文中的MAC地址和IP地址是攻擊地址,并丟棄所述DHCP報文;當不一致時,判斷所述DHCP報文中的MAC地址和IP地址不是攻擊地址,將該MAC地址和IP地址存入所述白名單鏈表中,并放行所述DHCP報文。[0031]進一步優(yōu)選地,所述路由器防ARP攻擊的方法應用于路由器橋模式下的內(nèi)核netfilter。[0032]進一步優(yōu)選地,在所述創(chuàng)建并存儲所述名單鏈表步驟之前,還包括步驟:[0033]注冊內(nèi)核鉤子函數(shù)。[0034]本發(fā)明還提供了一種路由器,其應用如前述的路由器防ARP攻擊的方法,所述路由器包括:[0035]第一獲取模塊,其用于接收ARP報文;[0036]第一解析模塊,其用于解析ARP報文中的MAC地址和IP地址;[0037]存儲模塊,其用于預先存儲名單鏈表;[0038]第一比對模塊,其用于將所述解析得到的MAC地址和IP地址同預先存儲的所述名單鏈表比對;[0039]控制模塊,其用于判斷所述解析得到的MAC地址和IP地址是否為攻擊地址;如果為攻擊地址,則控制丟棄所述ARP報文;如果不是攻擊地址,則控制放行所述ARP報文。[0040]優(yōu)選地,所述的路由器還包括:[0041]創(chuàng)建模塊,其用于創(chuàng)建所述名單鏈表。[0042]進一步優(yōu)選地,所述的路由器還包括:[0043]第二獲取模塊,其用于接收DHCP報文;[0044]第二解析模塊,其用于解析DHCP報文中的MAC地址和IP地址;[0045]第二比對模塊,其用于將所述解析得到的DHCP報文中的MAC地址和IP地址同預先存儲的所述名單鏈表比對;[0046]所述控制模塊進一步用于判斷所述解析得到的DHCP報文中的MAC地址和IP地址是否為攻擊地址;如果為攻擊地址,則控制丟棄所述DHCP報文;如果不是攻擊地址,則控制放行所述DHCP報文。[0047]進一步優(yōu)選地,所述的路由器還包括:[0048]第三獲取模塊,其用于接收DHCP報文;[0049]第三比對模塊,其用于將人工配置的DHCP報文中的MAC地址和IP地址同預先存儲的所述名單鏈表比對;[0050]所述控制模塊進一步用于判斷所述人工配置的DHCP報文中的MAC地址和IP地址是否為攻擊地址;如果為攻擊地址,則控制丟棄所述DHCP報文;如果不是攻擊地址,則控制放行所述DHCP報文。[0051]進一步優(yōu)選地,所述的路由器還包括:[0052]注冊模塊,其用于注冊內(nèi)核鉤子函數(shù)。[0053]通過本發(fā)明提供的路由器及其防ARP攻擊的方法,能夠帶來以下至少一種有益效果:[0054]1、本發(fā)明能夠?qū)邮盏腁RP報文解析其所包含的MAC地址和IP地址,并同預先存儲的名單鏈表(地址名單鏈表)比對,以判斷所述的MAC地址和IP地址是否為攻擊地址。當為攻擊地址時,丟棄所述ARP報文;如果不是攻擊地址,則放行所述ARP報文。這樣,就通過對地址的判斷實現(xiàn)對ARP報文是否為欺騙報文的判斷。[0055]2、前述的預先存儲的名單鏈表是通過對DHCP報文的不斷處理所創(chuàng)建的名單鏈表??梢栽谂袛郉HCP報文中的MAC地址和IP地址為新地址時,將該地址添加至所述的名單鏈表。隨著對更多DHCP報文的處理,名單鏈表中的地址也在不斷的更新。通過這樣的方法,可以持續(xù)且動態(tài)的創(chuàng)建名單鏈表,進而也能夠?qū)RP報文中的MAC地址和IP地址做出更實時和準確的判斷。[0056]3、本發(fā)明可以主要應用于無法通過路由器直接分配IP地址的路由器橋模式。在路由器橋模式下,通過在內(nèi)核netfiIter下注冊內(nèi)核鉤子函數(shù),以實現(xiàn)對DHCP報文的抓取,并解析和判斷DHCP報文中的MAC地址和IP地址。將安全的DHCP報文中的MAC地址和IP地址持續(xù)的添加至一名單鏈表,并將該名單鏈表作為判斷ARP報文是否為欺騙報文的依據(jù)。通過這種方法,有效解決了在路由器橋模式下防止ARP攻擊的問題。當前第1頁1 2 3 4 5