SDN架構下網絡安全協議的認證機制研究與探索
「文章通過對網絡安全協議原理的描述,明確安全協議的目標就是保證在協議執行完成時得以實現其安全屬性,并以ARP協議欺騙攻擊及其協議缺陷為例展開分析。針對ARP欺騙攻擊的特征,結合相關的技術手段,如利用區塊鏈技術的去中心化、防篡改、可追蹤溯源等特征,使用區塊鏈技術對通信數據實現加密功能。運用SDN(軟件定義網絡)技術,嘗試著從全局視角,運用虛擬化技術分析局域網絡中網絡設備的流量狀況,最終實現控制網絡流量和虛擬網絡設備的目的,從而避免攻擊,使網絡管控變得更加智能。(2023-2-25)」
關鍵詞:安全協議;ARP攻擊;SDN;區塊鏈
中圖分類號:TP309.1,TP309.7 文獻標識碼:A
Abstract: Through the description of the principle of network security protocol, the purpose of the security protocol is to ensure that the security attributes are realized when the protocol is executed. The ARP spoofing attack and its protocol defects are analyzed as an example. Combine relevant technical means, such as decentralization using block chain technology, anti-tampering, traceability and other advantages, use block chain technology to implement encryption function for communication data, and use SDN (software-defined network) technology to try From a global perspective, using virtualization technology to analyze the traffic status of network devices in the local area network, and finally achieve the purpose of controlling network traffic and virtual network devices, thereby avoiding attacks and making network management and control more intelligent.
Key words: security protocol; ARP attack; SDN; blockchain
1 引言
隨著信息化技術水平的高速發展,人們在獲取信息、日常交流中,都離不開網絡載體,如金融、交通、教育、企事業等重要基礎設施對網絡的依賴性越來越強,信息安全對于社會和經濟生活的影響也越來越大。目前,已經從最初的個體隱私與機密性問題上升到國家戰略性層面,而網絡安全協議是解決網絡安全問題最直接、最有效的手段之一,它可以解決源端認證和目標認證、消息完整性、匿名通信、抗DDoS、抗抵賴、授權等一系列重要安全問題。安全協議是建立在密碼算法基礎上的一種高互通協議,它運行在計算機網絡或分布式系統中,為安全需求的各方提供一系列步驟,借助密碼算法來達到密鑰分發、身份認證以及安全地實現網絡通信或電子交易等目的。
2 安全協議概述
從實現安全通信協議的目的出發,可以看出有多種方式保證通信雙方主體的安全,如密鑰交換協議。常見的密鑰交換協議如Diffle-Hellman協議、MOV協議等,多采用參與通信的多個實體間共享密鑰(可以是對稱密鑰或公鑰密鑰)的方式對通信數據進行加密。還有認證協議,該類協議通過對數據源及目的源實施身份認證以及信息完整性認證,如Schnorr協議、Okamoto協議等,可防范通信實體間發生的假冒、篡改、否認等安全事件。進一步發展為“認證+密鑰交換”協議,如Kerboros協議、X.509協議等。還有安全通信協議,此類協議可以保證網絡信息的安全交換,常見的協議有PPTP/L2PP協議、IPSec協議及SSL/TLS協議等。
大多數安全協議中只有少數幾個消息傳遞,但是其中的每一個消息都經過巧妙設計,消息之間存在著相互制約、相互作用。在安全協議中往往使用多種不同的密碼算法,協議設計者對最初協議運行環境的安全需求估計不足,從而采用不當的技術,這些都會導致設計出的安全協議存在安全漏洞與缺陷,并引發入侵者對協議進行各類攻擊行為,從而破壞協議的安全性。
從安全協議系統模型的角度分析,在規模較大的分布式網絡環境中,如果將協議及其所處的環境視為一個系統的話,本文的安全協議所面臨的最大問題,是網絡通信系統環境本身是不安全的,一般包括發送和接收信息的若干誠實主體和攻擊者存在,還有用于管理通信消息時需要發送和接收的規則。但是,通信協議合法的已知消息存放在知識集KS(Knowledge Set)中,攻擊者通過對消息進行級聯、分離、加密和解密操作處理,避免數據被截獲、篡改、重寫、刪除或插入的可能,并將此類消息放入KS中。
系統中所有主體(含誠實主體和攻擊者)都會使用KS中的消息進行信息交換,從而引發欺騙攻擊。被動攻擊者可以在線竊聽通信中的敏感信息,主動攻擊者可截獲通信中數據包對其任意的修改,甚至也可偽裝誠實主體與真實主體進行非法數據通信。加密算法可以有效地阻止主動入侵攻擊,因為在攻擊者不知道密鑰的前提下,對密文信息稍加改動就會導致解密的失敗,此時攻擊者只能做的是阻止消息或延時送達目的地。 眾所周知,安全協議的目標就是保證安全屬性在協議執行完成時得及實現,而評估一個安全協議是否安全的依據,就是需要達到的安全屬性是否受到攻擊者破壞。安全屬性主要有機密性、完整性、認證性、不可否認性等。
作為信息安全領域中幾個基本安全屬性之一的認證( Authentication),實現了一個實體〔通常稱為驗證者( Verifier)〕B對另一個實體〔通常稱為聲稱者( Claimant〕A聲稱的某種屬性驗證。認證分為消息認證( Message Authentication)和實體認證(Entity Authentication)。前者的認證是驗證消息的某種聲稱屬性,而后者的認證是驗證聲稱者所聲稱的身份。兩種認證并非對立的概念,本質上身份也可視為一種消息,因此身份認證可視為消息認證,而協議中也可以使用消息認證機制來實現實體認證。
消息認證要確認消息是從規定數據源發出的,而且需要保證消息的完整性,以使信息系統能防止對消息的假冒、篡改、插入、刪除等攻擊,通常使用的技術為數字簽名( Digital Signature)。實體認證的目標是使聲稱者的身份被確認,因此實體認證具有實時性,一般需通過實體認證協議來實現。
3 ARP協議及欺騙攻擊的原理
一個安全的身份認證協議至少應滿足兩個條件。
。1)證明者A能向驗證者B證明他的確是A。
。2)在證明者A向驗證者B證明他的身份之后,驗證者B不能獲得關于A的任何有用的信息使得他能模仿A向第三方證明他是A。
這兩個條件是說明證明者A能向驗證者B以電子證明的方式證明他的身份,并且沒有向B泄露他的認證信息。目前,已設計出許多滿足這兩個條件的身份認證協議,而傳統TCP/IP體系結構中ARP協議,卻是缺少身份認證機制的協議之一。地址解析協議( Address Resolution Protocol,ARP)的基本功能就是通過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行。在局域網中,網絡中實際傳輸的是“幀”,幀里面有目標主機的MAC地址。這個目標MAC地址是通過地址解析協議獲得的。
兩臺主機想要直接通信,必須知道目標主機的MAC地址,而在TCP/IP協議中,網絡層和傳輸層只關心目標主機的IP地址,這樣就導致在以太網結構中使用IP協議時,數據鏈路層的以太網協議連接到上層(網絡層)IP協議提供的數據中,只包含目的主機的IP地址。需要根據目的主機的IP地址獲取其對應的MAC地址,而ARP協議就是負責把網絡層的IP地址轉化為數據鏈路層中的網卡物理地址[2](MAC地址)。
假設主機A曾經和主機B進行過通信,主機A就會在ARP緩存表中記錄下主機B的IP地址和其對應的MAC地址。通常ARP緩存表都有更新機制,當有主機通知其他主機其MAC地址更新時,會向其它主機發送ARP更新信息,以便這些主機及時更新其ARP緩存表。每臺主機在收到ARP數據包時都會更新自己的ARP緩存表。
ARP欺騙攻擊的原理就是通過發送欺騙性的ARP數據包,致使接收者收到欺騙性的ARP數據包后,更新其ARP緩存表,從而建立錯誤的IP地址與MAC地址的對應關系。在設計ARP協議時沒有充分考慮其數據包來源的真實性認證,卻以局域網中的互聯設備信任為基礎來實現的。由于源主機尋找目標MAC地址時會在網絡中廣播發送 ARP 請求報文,不檢測自身設備是否發送過請求報文的合法性,只要收到ARP協議請求報文就應答,并更新本地主機ARP 地址緩存表。如有攻擊者不斷發送錯誤的MAC地址請求報文,就會出現地址沖突、數據包擁塞,導致網絡環境中斷網現象的發生。
而針對ARP欺騙攻擊的防范研究者提出很多解決方案[3]。如MAC地址與IP地址雙向綁定方案,此方案根據 ARP欺騙原理而采取的防范措施,是指在內網的計算機上把路由器(網關) IP地址和MAC地址做一次綁定,同時在路由器或網關上將內網主機的IP地址和MAC地址也綁定一次,對ARP欺騙的雙方設備,都具有限制及約束的作用。但是,這僅限小規模的網絡環境中,如果移動設備更換位置或重啟計算機綁定就會失效。
還有很多具有網管性能的交換機具有MAC地址學習功能,采用的是“自學習”完成端口和地址的對應關系后,再關閉此項功能,之后對端口及對應的 MAC地址靜態綁定,避免攻擊者實施ARP 欺騙攻擊篡改地址。如果具有欺騙性的ARP報文先行被交換機學習到,就會出現更大的隱患。針對網絡中主機或服務器常采用ARP 個人防火墻,這只能保障本地主機的安全,仍然會受網絡中假網關的影響,不是從網絡宏觀的角度加以考量。 綜合以上ARP 攻擊防范方案的分析,需要綜合考慮三點。
。1)保證網絡環境中終端設備(主機或服務器)連接的路由器網關地址的綁定。
。2)路由器或網關設備中的IP地址及MAC地址唯一而不被修改。
。3)保障網絡中主機的信息認證安全,采用何種技術手段對ARP欺騙攻擊行為進行了深入的研究,提出一套安全管控的解決方案[4]。
4 基于區塊鏈技術的ARP欺騙攻擊防御方法
區塊鏈技術是近年來應用各領域的去中心化分布式記賬系統,具有可防篡改、可追蹤溯源等優勢特征,應用于信息安全領域,可用于數據防護、接入控制、授權及身份認證。訪問控制單點化在有信息中心的網絡環境中,無論是物理網絡還是虛擬網絡最終都是由訪問控制節點對網關、隔離設備或防火墻等管控。但是,對于基礎設備一旦被攻破,網絡核心設備也會面臨攻擊威脅。
通過前面的ARP欺騙攻擊原理的分析,區塊鏈技術是通信節點上無需互信任的分布式系統,可以解決ARP協議在設備通信中無認證性。區塊鏈技術可以實現基于去中心化信任的點對點交易、協作,為網絡安全協議的提供新的范式,在網絡空間安全領域具有一定的參考作用。利用區塊鏈技術思想,設計了改進區塊鏈交易索引表結構,通過數字簽名機制防范篡改MAC地址,使用散列算法對通信數據加密來保證數據安全性及完整性,目標主機獲取的MAC地址與區塊鏈存儲值唯一準確。 現有方案常采用IP-MAC 靜態綁定的方式來防御ARP攻擊。但是,在局域網環境中無法保證網絡系統中的IP地址保持不變,如發生變化時需要逐個更改已綁定的 IP-MAC對應關系,因此增加需要網絡管理工作量。在ARP工作過程中,通信雙方主體運用區塊鏈中公開密鑰加密機制,各自節點生成密鑰對,在發送方使用自身私鑰進行數字簽名保證交易發起方身份,通信數據中將公鑰及簽名一起發送,各接收方節點通過發送方的公鑰驗證后把交易信息加入具體區塊中,然后通過礦工節點實施挖礦操作,挖礦過程是根據事先設定的工作難度,尋找滿足條件的隨機數,并將其首部放入區塊nonce字段中。
在此區塊中會對每一區塊頭部作SHA256加密運算從而得到相對應的散列值,同時區塊頭中也包含其父區塊的散列值、時間戳交易記錄信息,可以使用“鍵值對”方式存儲交易信息數據,每條交易用來表示ARP響應返回后的核心信息。其中,包括請求主機的IP地址、MAC地址及交易的發起時間,交易號用于唯一標識一個交易,在交易中的MAC地址與時間戳作散列運算得到,并將主機IP地址與MAC地址綁定在交易中,當其父區塊內容發生改變時當前子塊散列值也會改變,同時又會引起其子孫區塊的散列值變,這一機制可以保證存儲數據的一致性和安全性。
為提高查詢效率,在區塊鏈基礎上形成索引表,當網絡中主機信息發生變動時,并同步更新區塊鏈表索引表中的存儲值,表中有IP地址和MAC地址兩個部分,當局域網內某節點信息發生變化時,向系統發起新交易,通過驗證后將交易加入區塊中,挖礦后網絡內其他節點同步區塊信息,更新區塊索引表數據保證表內存儲的一直是網絡內主機的IP地址的最新值。
5 軟件定義網絡架構下ARP防欺騙攻擊的應用
軟件定義網絡(Software Defined Network,SDN)是一種最新提出的網絡架構模式,是將網絡真實環境利用虛擬化技術的一種實現方式。其核心技術 Open Flow框架通過將網絡設備控制平面部分與數據面部分分隔開來,從而實現網絡流量控制的目的,使網絡管控變得更加智能。局域網絡環境中由網絡設備組成,如路由器、交換機和多種中介層(如防火墻)及多種復雜的通信協議完成通信功能。需要網絡管理者必須從高階策略轉到低階設定命令,在業務需求部署上線后,如事業需求發生變化時,要重新修改相關的網絡設備(如路由器、交換機和防火墻)上的配置,網絡的穩定與性能也要滿足相應的業務需求,關鍵是要體現設備管理靈活性和敏捷性?梢,及時更新網絡管理和效能尤為重要,實際上這是非常煩瑣的事情。
在此背景下,可程序化網絡管理的思想被提出來。使用SDN技術所做的是將網絡設備的管控權分離出來,無須再依賴底層的網絡設備(如路由器、交換機和防火墻等),從而屏蔽了來自底層網絡設備的差異。其控制權也是完全開放的,用戶可以自行決定任何想實現的網絡路由和傳輸規則及策略,從而將網絡設備更加靈活和智能。
運用SDN技術可解決現有網絡環境框架下,實現對訪問控制、流量分析、網絡監控、IP 地址欺騙等問題提出了一種解決方案。讓網絡管理者從全局視角了解所處網絡環境的實時流量狀況,當底層網絡設備出現異常時,可以及時部署相應的安全策略,確保網絡正常運行,提高網絡管理效率。SDN 技術將物理硬件架構與應用程序分隔開來,開發者無需考慮底層網絡設備之間的差異,只關注開發軟件功能即可,從而降低了開發門檻和難度,縮短了開發周期。與傳統以太網方案相比,SDN 在安全機制設計、異常檢測、惡意攻擊防護方面有很大的優勢,是實現未來網絡的流量監控、智能管理的可行性方案。
使用SDN技術改造網絡環境后,不必對網絡中的每個結點的網絡設備進行反復配置,在SDN網絡中的設備是自動化連通的,只需在使用時將事先定義好網絡規則應用即可。SDN使用全局網絡視圖,快速且高水平地查看網絡的所有區域,來解決網絡中的ARP欺騙攻擊行為,在受到攻擊時進行檢測并對其快速響應。在SDN架構中,根據主機系統的IP地址、MAC地址以及網絡結點與交換機連接的端口信息,來維護每一個網絡設備信息的關系表。
同時,此關系表還要做到及時更新,如果主機設置為靜態IP地址,那么設備信息映射表就會比較簡單,在使用控制器自身轉發表的建立之后,控制器產生所有主機MAC地址和主機IP地址對應關系的列表。當一臺主機發送數據包的時候,控制器就記錄它的IP地址及MAC地址。檢查是否存在ARP欺騙攻擊,將己經記錄的IP地址和MAC地址對進行比較。使用此種網絡模式,可以集中處理ARP(地址解析協議)報文,應答地址解析請求,從而抑制廣播流量。
6 結束語
本文通過對網絡安全協議的描述,以ARP協議及欺騙攻擊原理進行分析。針對當前對ARP協議欺騙攻擊原理的分析,提出一種基于在SDN全局視圖下管理局域網絡環境的網關設備、交換機設備,同時在此環境中引入區塊鏈技術,通過改進區塊鏈索引表結構,主動記錄ARP通信過程的數據,如源主機及目的主機兩者的IP地址和MAC 地址。同時,在局域網環境里,保證IP地址發生改變時,及時更新局域網內設備之前綁定的 IP-MAC 值的對應關系,通過分析也可以結合區塊鏈來避免防篡改。
基金項目:
1.2018年江蘇省“青藍工程”中青年學術帶頭人資助項目項目(項目編號:2018JYTSZXX15));
2.2018-2019年全國高等院校計算機基礎教育研究會研究資助項目(項目編號:2018-AFCEC-326)。
參考文獻
[1] 陳軍,孫義博,岳婷.基于Linux的ARP檢測與防御系統[J].網絡空間安全,2018,9(01):51-55.
[2] 郭征,吳向前,劉勝全.針對校園網ARP攻擊的主動防護方案[J].計算機工程,2011,37(05):181-183.
[3] 馮登國.安全協議—理論與實踐[M].北京:清華大學出版社,2011.21-23
[4] 劉曉霞.ARP攻擊與防護措施及解決方案[J].信息通信, 2016(02):73-74.
[5] 徐書欣,趙景.ARP欺騙攻擊與防御策略探究[J].現代電子技術,2018,41(08):78-82.
[6] 秦豐林,段海新,郭汝廷.ARP欺騙的監測與防范技術綜述[J].計算機應用研究,2009,26(01):30-33.
[7] 黃韜,劉江,魏亮,等.軟件定義網絡核心原理與應用實踐[M].北京:人民郵電出版社,2014:9-10.
[8] Blaze M,Feigenbaum J, Lacy J. Decentralized trust management[C].The 17th Symposium on Security and Privacy,1996: 164-173
[9] 蘭巨龍.江逸茗,胡宇翔,劉文芬,等.網絡安全傳輸與管控技術[M].北京:人民郵電出版社,2018.16-30
[10] 王小峰.信任管理的策略表示與量化模型研究[D].長沙:國防科學技術大學,2009.50-51.
(當暢)
中圖分類號:TP309.1,TP309.7 文獻標識碼:A
Abstract: Through the description of the principle of network security protocol, the purpose of the security protocol is to ensure that the security attributes are realized when the protocol is executed. The ARP spoofing attack and its protocol defects are analyzed as an example. Combine relevant technical means, such as decentralization using block chain technology, anti-tampering, traceability and other advantages, use block chain technology to implement encryption function for communication data, and use SDN (software-defined network) technology to try From a global perspective, using virtualization technology to analyze the traffic status of network devices in the local area network, and finally achieve the purpose of controlling network traffic and virtual network devices, thereby avoiding attacks and making network management and control more intelligent.
Key words: security protocol; ARP attack; SDN; blockchain
1 引言
隨著信息化技術水平的高速發展,人們在獲取信息、日常交流中,都離不開網絡載體,如金融、交通、教育、企事業等重要基礎設施對網絡的依賴性越來越強,信息安全對于社會和經濟生活的影響也越來越大。目前,已經從最初的個體隱私與機密性問題上升到國家戰略性層面,而網絡安全協議是解決網絡安全問題最直接、最有效的手段之一,它可以解決源端認證和目標認證、消息完整性、匿名通信、抗DDoS、抗抵賴、授權等一系列重要安全問題。安全協議是建立在密碼算法基礎上的一種高互通協議,它運行在計算機網絡或分布式系統中,為安全需求的各方提供一系列步驟,借助密碼算法來達到密鑰分發、身份認證以及安全地實現網絡通信或電子交易等目的。
2 安全協議概述
從實現安全通信協議的目的出發,可以看出有多種方式保證通信雙方主體的安全,如密鑰交換協議。常見的密鑰交換協議如Diffle-Hellman協議、MOV協議等,多采用參與通信的多個實體間共享密鑰(可以是對稱密鑰或公鑰密鑰)的方式對通信數據進行加密。還有認證協議,該類協議通過對數據源及目的源實施身份認證以及信息完整性認證,如Schnorr協議、Okamoto協議等,可防范通信實體間發生的假冒、篡改、否認等安全事件。進一步發展為“認證+密鑰交換”協議,如Kerboros協議、X.509協議等。還有安全通信協議,此類協議可以保證網絡信息的安全交換,常見的協議有PPTP/L2PP協議、IPSec協議及SSL/TLS協議等。
大多數安全協議中只有少數幾個消息傳遞,但是其中的每一個消息都經過巧妙設計,消息之間存在著相互制約、相互作用。在安全協議中往往使用多種不同的密碼算法,協議設計者對最初協議運行環境的安全需求估計不足,從而采用不當的技術,這些都會導致設計出的安全協議存在安全漏洞與缺陷,并引發入侵者對協議進行各類攻擊行為,從而破壞協議的安全性。
從安全協議系統模型的角度分析,在規模較大的分布式網絡環境中,如果將協議及其所處的環境視為一個系統的話,本文的安全協議所面臨的最大問題,是網絡通信系統環境本身是不安全的,一般包括發送和接收信息的若干誠實主體和攻擊者存在,還有用于管理通信消息時需要發送和接收的規則。但是,通信協議合法的已知消息存放在知識集KS(Knowledge Set)中,攻擊者通過對消息進行級聯、分離、加密和解密操作處理,避免數據被截獲、篡改、重寫、刪除或插入的可能,并將此類消息放入KS中。
系統中所有主體(含誠實主體和攻擊者)都會使用KS中的消息進行信息交換,從而引發欺騙攻擊。被動攻擊者可以在線竊聽通信中的敏感信息,主動攻擊者可截獲通信中數據包對其任意的修改,甚至也可偽裝誠實主體與真實主體進行非法數據通信。加密算法可以有效地阻止主動入侵攻擊,因為在攻擊者不知道密鑰的前提下,對密文信息稍加改動就會導致解密的失敗,此時攻擊者只能做的是阻止消息或延時送達目的地。 眾所周知,安全協議的目標就是保證安全屬性在協議執行完成時得及實現,而評估一個安全協議是否安全的依據,就是需要達到的安全屬性是否受到攻擊者破壞。安全屬性主要有機密性、完整性、認證性、不可否認性等。
作為信息安全領域中幾個基本安全屬性之一的認證( Authentication),實現了一個實體〔通常稱為驗證者( Verifier)〕B對另一個實體〔通常稱為聲稱者( Claimant〕A聲稱的某種屬性驗證。認證分為消息認證( Message Authentication)和實體認證(Entity Authentication)。前者的認證是驗證消息的某種聲稱屬性,而后者的認證是驗證聲稱者所聲稱的身份。兩種認證并非對立的概念,本質上身份也可視為一種消息,因此身份認證可視為消息認證,而協議中也可以使用消息認證機制來實現實體認證。
消息認證要確認消息是從規定數據源發出的,而且需要保證消息的完整性,以使信息系統能防止對消息的假冒、篡改、插入、刪除等攻擊,通常使用的技術為數字簽名( Digital Signature)。實體認證的目標是使聲稱者的身份被確認,因此實體認證具有實時性,一般需通過實體認證協議來實現。
3 ARP協議及欺騙攻擊的原理
一個安全的身份認證協議至少應滿足兩個條件。
。1)證明者A能向驗證者B證明他的確是A。
。2)在證明者A向驗證者B證明他的身份之后,驗證者B不能獲得關于A的任何有用的信息使得他能模仿A向第三方證明他是A。
這兩個條件是說明證明者A能向驗證者B以電子證明的方式證明他的身份,并且沒有向B泄露他的認證信息。目前,已設計出許多滿足這兩個條件的身份認證協議,而傳統TCP/IP體系結構中ARP協議,卻是缺少身份認證機制的協議之一。地址解析協議( Address Resolution Protocol,ARP)的基本功能就是通過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行。在局域網中,網絡中實際傳輸的是“幀”,幀里面有目標主機的MAC地址。這個目標MAC地址是通過地址解析協議獲得的。
兩臺主機想要直接通信,必須知道目標主機的MAC地址,而在TCP/IP協議中,網絡層和傳輸層只關心目標主機的IP地址,這樣就導致在以太網結構中使用IP協議時,數據鏈路層的以太網協議連接到上層(網絡層)IP協議提供的數據中,只包含目的主機的IP地址。需要根據目的主機的IP地址獲取其對應的MAC地址,而ARP協議就是負責把網絡層的IP地址轉化為數據鏈路層中的網卡物理地址[2](MAC地址)。
假設主機A曾經和主機B進行過通信,主機A就會在ARP緩存表中記錄下主機B的IP地址和其對應的MAC地址。通常ARP緩存表都有更新機制,當有主機通知其他主機其MAC地址更新時,會向其它主機發送ARP更新信息,以便這些主機及時更新其ARP緩存表。每臺主機在收到ARP數據包時都會更新自己的ARP緩存表。
ARP欺騙攻擊的原理就是通過發送欺騙性的ARP數據包,致使接收者收到欺騙性的ARP數據包后,更新其ARP緩存表,從而建立錯誤的IP地址與MAC地址的對應關系。在設計ARP協議時沒有充分考慮其數據包來源的真實性認證,卻以局域網中的互聯設備信任為基礎來實現的。由于源主機尋找目標MAC地址時會在網絡中廣播發送 ARP 請求報文,不檢測自身設備是否發送過請求報文的合法性,只要收到ARP協議請求報文就應答,并更新本地主機ARP 地址緩存表。如有攻擊者不斷發送錯誤的MAC地址請求報文,就會出現地址沖突、數據包擁塞,導致網絡環境中斷網現象的發生。
而針對ARP欺騙攻擊的防范研究者提出很多解決方案[3]。如MAC地址與IP地址雙向綁定方案,此方案根據 ARP欺騙原理而采取的防范措施,是指在內網的計算機上把路由器(網關) IP地址和MAC地址做一次綁定,同時在路由器或網關上將內網主機的IP地址和MAC地址也綁定一次,對ARP欺騙的雙方設備,都具有限制及約束的作用。但是,這僅限小規模的網絡環境中,如果移動設備更換位置或重啟計算機綁定就會失效。
還有很多具有網管性能的交換機具有MAC地址學習功能,采用的是“自學習”完成端口和地址的對應關系后,再關閉此項功能,之后對端口及對應的 MAC地址靜態綁定,避免攻擊者實施ARP 欺騙攻擊篡改地址。如果具有欺騙性的ARP報文先行被交換機學習到,就會出現更大的隱患。針對網絡中主機或服務器常采用ARP 個人防火墻,這只能保障本地主機的安全,仍然會受網絡中假網關的影響,不是從網絡宏觀的角度加以考量。 綜合以上ARP 攻擊防范方案的分析,需要綜合考慮三點。
。1)保證網絡環境中終端設備(主機或服務器)連接的路由器網關地址的綁定。
。2)路由器或網關設備中的IP地址及MAC地址唯一而不被修改。
。3)保障網絡中主機的信息認證安全,采用何種技術手段對ARP欺騙攻擊行為進行了深入的研究,提出一套安全管控的解決方案[4]。
4 基于區塊鏈技術的ARP欺騙攻擊防御方法
區塊鏈技術是近年來應用各領域的去中心化分布式記賬系統,具有可防篡改、可追蹤溯源等優勢特征,應用于信息安全領域,可用于數據防護、接入控制、授權及身份認證。訪問控制單點化在有信息中心的網絡環境中,無論是物理網絡還是虛擬網絡最終都是由訪問控制節點對網關、隔離設備或防火墻等管控。但是,對于基礎設備一旦被攻破,網絡核心設備也會面臨攻擊威脅。
通過前面的ARP欺騙攻擊原理的分析,區塊鏈技術是通信節點上無需互信任的分布式系統,可以解決ARP協議在設備通信中無認證性。區塊鏈技術可以實現基于去中心化信任的點對點交易、協作,為網絡安全協議的提供新的范式,在網絡空間安全領域具有一定的參考作用。利用區塊鏈技術思想,設計了改進區塊鏈交易索引表結構,通過數字簽名機制防范篡改MAC地址,使用散列算法對通信數據加密來保證數據安全性及完整性,目標主機獲取的MAC地址與區塊鏈存儲值唯一準確。 現有方案常采用IP-MAC 靜態綁定的方式來防御ARP攻擊。但是,在局域網環境中無法保證網絡系統中的IP地址保持不變,如發生變化時需要逐個更改已綁定的 IP-MAC對應關系,因此增加需要網絡管理工作量。在ARP工作過程中,通信雙方主體運用區塊鏈中公開密鑰加密機制,各自節點生成密鑰對,在發送方使用自身私鑰進行數字簽名保證交易發起方身份,通信數據中將公鑰及簽名一起發送,各接收方節點通過發送方的公鑰驗證后把交易信息加入具體區塊中,然后通過礦工節點實施挖礦操作,挖礦過程是根據事先設定的工作難度,尋找滿足條件的隨機數,并將其首部放入區塊nonce字段中。
在此區塊中會對每一區塊頭部作SHA256加密運算從而得到相對應的散列值,同時區塊頭中也包含其父區塊的散列值、時間戳交易記錄信息,可以使用“鍵值對”方式存儲交易信息數據,每條交易用來表示ARP響應返回后的核心信息。其中,包括請求主機的IP地址、MAC地址及交易的發起時間,交易號用于唯一標識一個交易,在交易中的MAC地址與時間戳作散列運算得到,并將主機IP地址與MAC地址綁定在交易中,當其父區塊內容發生改變時當前子塊散列值也會改變,同時又會引起其子孫區塊的散列值變,這一機制可以保證存儲數據的一致性和安全性。
為提高查詢效率,在區塊鏈基礎上形成索引表,當網絡中主機信息發生變動時,并同步更新區塊鏈表索引表中的存儲值,表中有IP地址和MAC地址兩個部分,當局域網內某節點信息發生變化時,向系統發起新交易,通過驗證后將交易加入區塊中,挖礦后網絡內其他節點同步區塊信息,更新區塊索引表數據保證表內存儲的一直是網絡內主機的IP地址的最新值。
5 軟件定義網絡架構下ARP防欺騙攻擊的應用
軟件定義網絡(Software Defined Network,SDN)是一種最新提出的網絡架構模式,是將網絡真實環境利用虛擬化技術的一種實現方式。其核心技術 Open Flow框架通過將網絡設備控制平面部分與數據面部分分隔開來,從而實現網絡流量控制的目的,使網絡管控變得更加智能。局域網絡環境中由網絡設備組成,如路由器、交換機和多種中介層(如防火墻)及多種復雜的通信協議完成通信功能。需要網絡管理者必須從高階策略轉到低階設定命令,在業務需求部署上線后,如事業需求發生變化時,要重新修改相關的網絡設備(如路由器、交換機和防火墻)上的配置,網絡的穩定與性能也要滿足相應的業務需求,關鍵是要體現設備管理靈活性和敏捷性?梢,及時更新網絡管理和效能尤為重要,實際上這是非常煩瑣的事情。
在此背景下,可程序化網絡管理的思想被提出來。使用SDN技術所做的是將網絡設備的管控權分離出來,無須再依賴底層的網絡設備(如路由器、交換機和防火墻等),從而屏蔽了來自底層網絡設備的差異。其控制權也是完全開放的,用戶可以自行決定任何想實現的網絡路由和傳輸規則及策略,從而將網絡設備更加靈活和智能。
運用SDN技術可解決現有網絡環境框架下,實現對訪問控制、流量分析、網絡監控、IP 地址欺騙等問題提出了一種解決方案。讓網絡管理者從全局視角了解所處網絡環境的實時流量狀況,當底層網絡設備出現異常時,可以及時部署相應的安全策略,確保網絡正常運行,提高網絡管理效率。SDN 技術將物理硬件架構與應用程序分隔開來,開發者無需考慮底層網絡設備之間的差異,只關注開發軟件功能即可,從而降低了開發門檻和難度,縮短了開發周期。與傳統以太網方案相比,SDN 在安全機制設計、異常檢測、惡意攻擊防護方面有很大的優勢,是實現未來網絡的流量監控、智能管理的可行性方案。
使用SDN技術改造網絡環境后,不必對網絡中的每個結點的網絡設備進行反復配置,在SDN網絡中的設備是自動化連通的,只需在使用時將事先定義好網絡規則應用即可。SDN使用全局網絡視圖,快速且高水平地查看網絡的所有區域,來解決網絡中的ARP欺騙攻擊行為,在受到攻擊時進行檢測并對其快速響應。在SDN架構中,根據主機系統的IP地址、MAC地址以及網絡結點與交換機連接的端口信息,來維護每一個網絡設備信息的關系表。
同時,此關系表還要做到及時更新,如果主機設置為靜態IP地址,那么設備信息映射表就會比較簡單,在使用控制器自身轉發表的建立之后,控制器產生所有主機MAC地址和主機IP地址對應關系的列表。當一臺主機發送數據包的時候,控制器就記錄它的IP地址及MAC地址。檢查是否存在ARP欺騙攻擊,將己經記錄的IP地址和MAC地址對進行比較。使用此種網絡模式,可以集中處理ARP(地址解析協議)報文,應答地址解析請求,從而抑制廣播流量。
6 結束語
本文通過對網絡安全協議的描述,以ARP協議及欺騙攻擊原理進行分析。針對當前對ARP協議欺騙攻擊原理的分析,提出一種基于在SDN全局視圖下管理局域網絡環境的網關設備、交換機設備,同時在此環境中引入區塊鏈技術,通過改進區塊鏈索引表結構,主動記錄ARP通信過程的數據,如源主機及目的主機兩者的IP地址和MAC 地址。同時,在局域網環境里,保證IP地址發生改變時,及時更新局域網內設備之前綁定的 IP-MAC 值的對應關系,通過分析也可以結合區塊鏈來避免防篡改。
基金項目:
1.2018年江蘇省“青藍工程”中青年學術帶頭人資助項目項目(項目編號:2018JYTSZXX15));
2.2018-2019年全國高等院校計算機基礎教育研究會研究資助項目(項目編號:2018-AFCEC-326)。
參考文獻
[1] 陳軍,孫義博,岳婷.基于Linux的ARP檢測與防御系統[J].網絡空間安全,2018,9(01):51-55.
[2] 郭征,吳向前,劉勝全.針對校園網ARP攻擊的主動防護方案[J].計算機工程,2011,37(05):181-183.
[3] 馮登國.安全協議—理論與實踐[M].北京:清華大學出版社,2011.21-23
[4] 劉曉霞.ARP攻擊與防護措施及解決方案[J].信息通信, 2016(02):73-74.
[5] 徐書欣,趙景.ARP欺騙攻擊與防御策略探究[J].現代電子技術,2018,41(08):78-82.
[6] 秦豐林,段海新,郭汝廷.ARP欺騙的監測與防范技術綜述[J].計算機應用研究,2009,26(01):30-33.
[7] 黃韜,劉江,魏亮,等.軟件定義網絡核心原理與應用實踐[M].北京:人民郵電出版社,2014:9-10.
[8] Blaze M,Feigenbaum J, Lacy J. Decentralized trust management[C].The 17th Symposium on Security and Privacy,1996: 164-173
[9] 蘭巨龍.江逸茗,胡宇翔,劉文芬,等.網絡安全傳輸與管控技術[M].北京:人民郵電出版社,2018.16-30
[10] 王小峰.信任管理的策略表示與量化模型研究[D].長沙:國防科學技術大學,2009.50-51.
(當暢)