Arp雙向主動防御方法
【技術領域】
[0001]本發(fā)明涉及局域網(wǎng)中ARP攻擊防御技術領域,特別涉及一種ARP雙向主動防御方法。
【背景技術】
[0002]在現(xiàn)有技術中,局域網(wǎng)中的ARP攻擊問題一直難以得到根本解決,原因在于目前多種ARP防范措施都有各自的局限性。雙綁措施防范能力有限,管理太麻煩;ARP個人防火墻不能保證獲取的網(wǎng)關一定正確,而且無法防御對網(wǎng)關的攻擊;VLAN和交換機端口綁定沒有對網(wǎng)關的任何保護,不管如何細分VLAN,網(wǎng)關一旦被攻擊,照樣會造成全網(wǎng)上網(wǎng)的掉線和癱瘓,而且管理死板成本高;PPPoE方式下局域網(wǎng)間無法互訪,這是逃避了 ARP攻擊而非解決。
【發(fā)明內容】
[0003]本發(fā)明的目的在于提供一種ARP雙向主動防御方法,該方法不僅能夠有效防護主機與網(wǎng)關的安全,而且易于實現(xiàn),實施成本低。
[0004]為實現(xiàn)上述目的,本發(fā)明的技術方案是:一種ARP雙向主動防御方法,包括設有網(wǎng)關端防護模塊的網(wǎng)關服務器和設有主機端防護模塊的主機,所述網(wǎng)關服務器和主機按如下步驟進行ARP攻擊防御:
(1)主機主動獲取網(wǎng)關MAC并綁定,然后通過加載內核模塊對進入本機的ARP數(shù)據(jù)包進行過濾;
(2)網(wǎng)關服務器抽取DHCP確認包中主機的信息并儲存,同時限制主機只能以DHCP方式獲取IP,并通過實時ARP流量分析,將單位時間內ARP請求包和應答包數(shù)量超過設定值的情況判定為異常流量,然后進行日志記錄;
(3)主機通過過濾各種異常ARP數(shù)據(jù)包,使內核態(tài)獲取用戶態(tài)輸入的IP和MAC,并綁定ARP緩存表,防御多種ARP攻擊。
[0005]進一步的,所述主機通過發(fā)送ARP請求包然后分析接收到的ARP回復包的方法,獲取指定IP的網(wǎng)關MAC。
[0006]進一步的,主機按如下方法對ARP數(shù)據(jù)包進行過濾:
(101)主機為協(xié)議棧的ARP協(xié)議定義鉤子函數(shù):ARP接收包過濾函數(shù)和ARP發(fā)送包過濾函數(shù),所述ARP接收包過濾函數(shù)和ARP發(fā)送包過濾函數(shù)在ARP數(shù)據(jù)包流過協(xié)議棧被調用;
(102)在內核模塊對ARP接收包過濾函數(shù)和ARP發(fā)送包過濾函數(shù)進行注冊,并分別掛接一個處理函數(shù);
(103)當本機收到ARP數(shù)據(jù)包,ARP數(shù)據(jù)包被傳遞到ARP接收包過濾函數(shù)時,內核調用掛接在ARP接收包過濾函數(shù)上的處理函數(shù),對ARP數(shù)據(jù)包進行處理;當本機發(fā)送ARP數(shù)據(jù)包,ARP數(shù)據(jù)包被傳遞到ARP發(fā)送包過濾函數(shù)時,內核調用掛接在ARP發(fā)送包過濾函數(shù)上的處理函數(shù),對ARP數(shù)據(jù)包進行過濾。
[0007]進一步的,當受保護主機接收到來自遠端主機的ARP請求包時,向遠端主機發(fā)送一個ARP請求包,若受保護主機無法接收來自遠端主機的回復包,則判定遠端主機的IP存在ARP欺騙攻擊;當受保護主機沒有事先發(fā)起對遠端主機IP的ARP請求包,卻收到來自遠端主機的回復包,則直接過濾并用攻擊標志通知用戶;當一個欺騙主機A持續(xù)向受保護主機發(fā)送多個回復包,試圖欺騙受保護主機自己是合法主機B,此時受保護主機正好向合法主機B發(fā)送一個ARP請求包,則受保護主機將收到合法主機B的一個應答包和欺騙主機A的多個回復包,用信息標志通知用戶;用戶進程若收到的是帶有攻擊標志的消息,則顯示并做好記錄,若收到的是帶有信息標志的消息,則提取消息中的IP信息,主動獲取對應的MAC,則其即為網(wǎng)關MAC。
[0008]相較于現(xiàn)有技術,本發(fā)明的有益效果是:
(I)網(wǎng)關端的防護覆蓋整個局域網(wǎng),能對虛假ARP數(shù)據(jù)包進行過濾,同時網(wǎng)關也成為局域網(wǎng)信息中心,可為主機提供ARP信息查詢。
[0009](2)主機端即使在已經(jīng)遭受攻擊時開啟防護依然有效,實時保護本機緩存表安全。
[0010](3)針對中間人欺騙攻擊的雙向欺騙特點,在主機端對無請求回復包、重復回復包、虛假回復包進行過濾,破壞雙向欺騙的實現(xiàn)。
[0011](4)結合內核態(tài)和用戶態(tài)交互,實時保護本機ARP緩存。
[0012](5)解決現(xiàn)有防火墻不斷發(fā)包給網(wǎng)關,加重網(wǎng)絡負擔的問題。
[0013](6)不依賴高端交換機的功能,節(jié)約成本。
[0014](7)友好的用戶交互界面,使用方便。
【附圖說明】
[0015]圖1是本發(fā)明實施例實施的結構示意圖。
[0016]圖2是本發(fā)明實施例對ARP數(shù)據(jù)包進行過濾的流程圖。
【具體實施方式】
[0017]下面結合附圖及具體實施例對本發(fā)明作進一步的詳細說明。
[0018]本發(fā)明ARP雙向主動防御方法,如圖1所示,包括設有網(wǎng)關端防護模塊的網(wǎng)關服務器和設有主機端防護模塊的主機,所述網(wǎng)關服務器和主機按如下步驟進行ARP攻擊防御:
(1)主機主動獲取網(wǎng)關MAC(物理地址)并綁定,然后通過加載內核模塊對進入本機的ARP數(shù)據(jù)包進行過濾;
(2)網(wǎng)關服務器抽取DHCPACK包(DHCP確認包,用于獲得主機的真實IP和MAC信息)中主機的信息并儲存,同時限制主機只能以DHCP方式獲取IP,并通過實時ARP流量分析,將單位時間內ARP請求包和應答包數(shù)量超過設定值的情況判定為異常流量,然后進行日志記錄;
(3)主機通過過濾各種異常ARP數(shù)據(jù)包,使內核態(tài)獲取用戶態(tài)輸入的IP-MAC(IP和MAC, 一個局域網(wǎng)內一個IP對應一個獨一無二的MAC地址,用戶輸入真實可信的IP和MAC,在內核態(tài)中對此IP-MAC信任,不進行攔截),并綁定ARP緩存表,防御多種ARP攻擊。
[0019]所述主機通過發(fā)送ARP請求包然后分析接收到的ARP回復包的方法,獲取指定IP的網(wǎng)關MAC。
[0020]如圖2所示,主機按如下方法對ARP數(shù)據(jù)包進行過濾:
(101)主機為協(xié)議棧的ARP協(xié)議定義鉤子函數(shù)NF_ARP_IN(ARP接收包過濾函數(shù),所有接收到的ARP包都要經(jīng)過該ARP接收包過濾函數(shù)的處理)和NF_ARP_OUT (ARP發(fā)送包過濾函數(shù),所有發(fā)送的ARP包都要經(jīng)過該ARP發(fā)送包過濾函數(shù)的處理),所述鉤子函數(shù)NF_ARP_IN和NF_ARP_OUT在ARP數(shù)據(jù)包流過協(xié)議棧被調用;
(102)在內核模塊對NF_ARP_IN和NF_ARP_OUT鉤子進行注冊,并分別掛接一個處理函數(shù);
(103)當本機收到ARP數(shù)據(jù)包,ARP數(shù)據(jù)包被傳遞到NF_ARP_IN鉤子時,內核調用掛接在NF_ARP_IN鉤子上的處理函數(shù),對ARP數(shù)據(jù)包進行處理;當本機發(fā)送ARP數(shù)據(jù)包,ARP數(shù)據(jù)包被傳遞到NF_ARP_OUT鉤子時,內核調用掛接在NF_ARP_OUT鉤子上的處理函數(shù),對ARP數(shù)據(jù)包進行過濾。
[0021]當受保護主機接收到來自遠端主機的ARP請求包時,向遠端主機發(fā)送一個ARP請求包,若受保護主機無法接收來自遠端主機的回復包,則判定遠端主機的IP存在ARP欺騙攻擊;當受保護主機沒有事先發(fā)起對遠端主機IP的ARP請求包,卻收到來自遠端主機的回復包,則直接過濾并用ATTACK_FLAG標志(攻擊標志)通知用戶;當一個欺騙主機A持續(xù)向受保護主機發(fā)送多個回復包,試圖欺騙受保護主機自己是合法主機B,此時受保護主機正好向合法主機B發(fā)送一個ARP請求包,則受保護主機將收到合法主機B的一個應答包和欺騙主機A的多個回復包,用INFORM_FLAG標志(信息標志)通知用戶;用戶進程若收到的是帶有ATTACK_FLAG標志的消息,則顯示并做好記錄,若收到的是帶有INFORM_FLAG標志的消息,則提取消息中的IP信息,主動獲取對應的MAC,則其即為網(wǎng)關MAC。
[0022]以上是本發(fā)明的較佳實施例,凡依本發(fā)明技術方案所作的改變,所產生的功能作用未超出本發(fā)明技術方案的范圍時,均屬于本發(fā)明的保護范圍。
【主權項】
1.一種ARP雙向主動防御方法,其特征在于,包括設有網(wǎng)關端防護模塊的網(wǎng)關服務器和設有主機端防護模塊的主機,所述網(wǎng)關服務器和主機按如下步驟進行ARP攻擊防御: (I)主機主動獲取網(wǎng)關MAC并綁定,然后通過加載內核模塊對進入本機的ARP數(shù)據(jù)包進行過濾; (2)網(wǎng)關服務器抽取DHCP確認包中主機的信息并儲存,同時限制主機只能以DHCP方式獲取IP,并通過實時ARP流量分析,將單位時間內ARP請求包和應答包數(shù)量超過設定值的情況判定為異常流量,然后進行日志記錄; (3)主機通過過濾各種異常ARP數(shù)據(jù)包,使內核態(tài)獲取用戶態(tài)輸入的IP和MAC,并綁定ARP緩存表,防御多種ARP攻擊。
2.根據(jù)權利要求1所述的ARP雙向主動防御方法,其特征在于,所述主機通過發(fā)送ARP請求包然后分析接收到的ARP回復包的方法,獲取指定IP的網(wǎng)關MAC。
3.根據(jù)權利要求2所述的ARP雙向主動防御方法,其特征在于,主機按如下方法對ARP數(shù)據(jù)包進行過濾: (101)主機為協(xié)議棧的ARP協(xié)議定義鉤子函數(shù):用于處理接收到的ARP包的ARP接收包過濾函數(shù)和用于處理發(fā)送的ARP包的ARP發(fā)送包過濾函數(shù),所述ARP接收包過濾函數(shù)和ARP發(fā)送包過濾函數(shù)在ARP數(shù)據(jù)包流過協(xié)議棧被調用; (102)在內核模塊對ARP接收包過濾函數(shù)和ARP發(fā)送包過濾函數(shù)進行注冊,并分別掛接一個處理函數(shù); (103)當本機收到ARP數(shù)據(jù)包,ARP數(shù)據(jù)包被傳遞到ARP接收包過濾函數(shù)時,內核調用掛接在ARP接收包過濾函數(shù)上的處理函數(shù),對ARP數(shù)據(jù)包進行處理;當本機發(fā)送ARP數(shù)據(jù)包,ARP數(shù)據(jù)包被傳遞到ARP發(fā)送包過濾函數(shù)時,內核調用掛接在ARP發(fā)送包過濾函數(shù)上的處理函數(shù),對ARP數(shù)據(jù)包進行過濾。
4.根據(jù)權利要求2所述的ARP雙向主動防御方法,其特征在于,當受保護主機接收到來自遠端主機的ARP請求包時,向遠端主機發(fā)送一個ARP請求包,若受保護主機無法接收來自遠端主機的回復包,則判定遠端主機的IP存在ARP欺騙攻擊;當受保護主機沒有事先發(fā)起對遠端主機IP的ARP請求包,卻收到來自遠端主機的回復包,則直接過濾并用攻擊標志通知用戶;當一個欺騙主機A持續(xù)向受保護主機發(fā)送多個回復包,試圖欺騙受保護主機自己是合法主機B,此時受保護主機正好向合法主機B發(fā)送一個ARP請求包,則受保護主機將收到合法主機B的一個應答包和欺騙主機A的多個回復包,用信息標志通知用戶;用戶進程若收到的是帶有攻擊標志的消息,則顯示并做好記錄,若收到的是帶有信息標志的消息,則提取消息中的IP信息,主動獲取對應的MAC,則其即為網(wǎng)關MAC。
【專利摘要】本發(fā)明涉及一種ARP雙向主動防御方法,包括設有網(wǎng)關端防護模塊的網(wǎng)關服務器和設有主機端防護模塊的主機,所述網(wǎng)關服務器和主機按如下步驟進行ARP攻擊防御:(1)主機主動獲取網(wǎng)關MAC并綁定,然后通過加載內核模塊對進入本機的ARP數(shù)據(jù)包進行過濾;(2)網(wǎng)關服務器抽取DHCP確認包中主機的信息并儲存,同時限制主機只能以DHCP方式獲取IP,并通過實時ARP流量分析,對網(wǎng)內異常情況進行分析檢測并進行日志記錄;(3)主機通過過濾各種異常ARP數(shù)據(jù)包以及內核態(tài)和用戶態(tài)的交互,防御多種ARP攻擊。該方法不僅能夠有效防護主機與網(wǎng)關的安全,而且易于實現(xiàn),實施成本低。
【IPC分類】H04L29-06
【公開號】CN104796423
【申請?zhí)枴緾N201510205157
【發(fā)明人】王 琦, 黃可臻, 劉坤朋
【申請人】福建六壬網(wǎng)安股份有限公司
【公開日】2015年7月22日
【申請日】2015年4月28日