摘要:該文通過對目前高校校園網廣泛存在的ARP欺騙技術的分析,提出一種針對ARP欺騙的應對解決方案。
關鍵詞:ARP欺騙;IP路由;協議;拒絕服務
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2009)24-6869-02
ARP即地址解析協議(Address Resolution Protocol)是局域網中最基本也是最重要的一種協議,局域網使用ARP是將IP地址轉化為物理地址(MAC)的一種協議。ARP工作在TCP/IP協議的鏈路層,將網絡層(IP層,也就是相當于ISO OSI的第三層)地址解析為數據鏈路層(MAC層,也就是相當于ISOOSI的第二層)的MAC地址。它靠維持在內存中保存的一張表(ARP 表)來支持MAC地址和IP地址之間的對應關系。
1 ARP的工作原理
在TCP/IP參考模型中,IP地址只是主機在網絡中的邏輯地址,若將網絡層中傳輸的數據報交給目的主機,必須知道該目的主機的物理地址(MAC地址),這是因為二層的以太網交換設備并不能識別32位的IP地址,而是以48位的物理地址(MAC地址)傳輸以太網幀的;因此IP地址與MAC地址之間就必須存在一種對應關系,并且計算機中應當存放這種對應關系的轉換表,同時能夠進行動態更新,而ARP協議就很好地解決了這些問題。
ARP協議的基本功能就是通過目的設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行。當一個網絡設備和另一個網絡設備進行數據通信時,它首先把目的設備的IP地址與自己的子網掩碼進行“與”操作,來判斷目的設備與自己是否位于同一網段內。如果目的設備與自己在同一網段內,并且源設備沒有獲得與目的設備IP地址相對應的MAC地址信息,則源設備以第二層廣播的形式(目標MAC地址為全1)發送ARP請求報文,在ARP請求報文中包含了源設備與目的設備的IP地址。同一網段中的所有其他設備都可以收到并分析這個ARP請求報文,如果某設備發現報文中的目標IP地址與自己的IP地址相同,則它向源設備發回ARP響應報文,通過該報文使源設備獲得目的設備的MAC地址信息。如果目標設備與源設備不在同一網段,則源設備首先把IP分組發向自己的缺省網關(Default Gateway),由缺省網關對該分組進行轉發。如果源設備沒有關于缺省網關的MAC信息,則它同樣通過ARP協議獲取缺省網關的MAC地址信息。
2 ARP的欺騙攻擊原理
在局域網中,通過ARP協議來完成IP地址轉換為第二層物理地址(即MAC地址)的。ARP協議對網絡安全具有重要的意義。通過偽造IP地址和MAC地址實現ARP欺騙,能夠在網絡中產生大量的ARP通信量使網絡阻塞。在局域網中,網絡中實際傳輸的是“幀”,幀里面是有目標主機的MAC地址的。在以太網中,一個主機要和另一個主機進行直接通信,必須要知道目標主機的MAC地址。但這個目標MAC地址是如何獲得的呢?它就是通過地址解析協議獲得的。所謂“地址解析”就是主機在發送幀前將目標IP地址轉換成目標MAC地址的過程。ARP協議的基本功能就是通過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行。每臺安裝有TCP/IP協議的電腦里都有一個ARP緩存表,表里的IP地址與MAC地址是一一對應的,如表1所示。
主機A(192.168.16.1)向主機B(192.168.16.2)發送數據時,主機A會在自己的ARP緩存表中尋找是否有目標IP 地址。如果找到了,也就知道了目標MAC地址,直接把目標MAC 地址寫入幀里面發送就可以了;如果在ARP緩存表中沒有找到相對應的IP地址,主機A就會在網絡上發送一個廣播,目標MAC地址是“FF.FF.FF.FF.FF.FF”,這表示向同一網段內的所有主機發出這樣的詢問:“192.168.16.2 的MAC 地址是什么?”網絡上其他主機并不響應ARP詢問,只有主機B接收到這個幀時,才向主機A 做出這樣的回應:“192.168.16.2 的MAC地址是bb-bb-bb-bb-bb-bb”。這樣,主機A就知道了主機B的MAC地址,它就可以向主機B發送信息了。同時它還更新了自己的ARP緩存表,下次再向主機B發送信息時,直接從ARP緩存表里查找就可以了。
ARP緩存表采用了老化機制,在一段時間內如果表中的某一行沒有使用,就會被刪除,這樣可以大大減少ARP緩存表的長度,加快查詢速度。從上面可以看出,ARP協議的基礎就是信任局域網內所有的人,那么就很容易實現在以太網上的ARP欺騙。對目標A 進行欺騙,A去Ping主機C卻發送到了dd-dd-dd-dd-dd-dd那里。如果進行欺騙的時候,把C的MAC地址騙為dd-dd-dd-dd-dd-dd,于是A發送到C上的數據包都變成發送給D的了。A對這個變化一點都沒有意識到,但是接下來的事情就讓A產生了懷疑。因為A和C連接不上了。D對接收到A發送給C的數據包可沒有轉交給C。D可以進行ARP重定向。打開D的IP轉發功能,A發送過來的數據包,轉發給C,好比一個路由器一樣。不過,假如D發送ICMP 重定向的話就中斷了整個計劃。D直接進行整個包的修改轉發,捕獲到A發送給C的數據包,全部進行修改后再轉發給C,而C接收到的數據包完全認為是從A發送來的。不過,C發送的數據包又直接傳遞給A,倘若再次進行對C的ARP欺騙。現在D就完全成為A 與C的中間橋梁了,對于A和C之間的通訊就了如指掌。
3 ARP欺騙攻擊應對策略
根據目前國內高校已經普遍使用的比較成熟的802.1x認證模式,可以提出如下的綜合治理方案:
1) 合理的分配IP地址,使用完善的網絡IP-MAC管理系統,做好IP地址登記注冊和靜態的MAC->IP對應表。對于校園網而言,教師、學生和各部門甚至包括生活區所使用計算機的IP分配一定要清晰,并要嚴格規定不得任意更改IP地址。
2) 網管交換機端綁定。在校園的核心交換機上綁定用戶主機的IP地址和網卡的MAC地址,同時在邊緣交換機上將用戶計算機網卡的MAC地址和交換機端口綁定的雙重安全綁定方式。
① IP和MAC地址的綁定,在核心交換機上將所有局域網絡用戶的IP地址與其網卡MAC地址——對應進行全部綁定。這樣可以極大程度上避免非法用戶使用ARP欺騙或盜用合法用戶的IP地址進行流量的盜取。
② MAC地址與交換機端口的綁定,根據局域網絡用戶所在的區域、樓體和用戶房間所對應的交換機端口號,將用戶計算機網卡的MAC地址和交換機端口綁定。此方案可以防止非法用戶隨意接入網絡端口上網。網絡用戶如果擅自改動本機網卡的MAC地址,該機器的網絡訪問將因其MAC地址被交換機認定為非法而無法上網,也就不會對局域網造成影響。
3) 采用VLAN技術隔離交換機端口。局域網的網絡管理員可根據本單位網絡的拓撲結構,規劃出若干個VLAN,并登記好這些VLAN。一旦管理員發現有用戶在惡意利用ARP欺騙攻擊網絡,或合法用戶受病毒ARP病毒感染而影響網絡時,網絡管理員可利用技術手段首先查找到該用戶所在的交換機端口,然后將該端口劃—個單獨的VLAN將該用戶與其它用戶進行物理隔離,從而避免對其它網絡用戶的影響。也可以將交換機端口Disable掉來屏蔽該用戶對網絡造成影響,達到安全防范的目的。
4) 在交換設備上,使用可防御ARP攻擊的交換機(如思科等多功能交換機),建立動態的IP+MAC+PORT的對應表和綁定關系,實時控制ARP流量,建立DHCP嗅探匹配表等。合理劃分VLAN,進行端口隔離,徹底杜絕在交換環境中實施的MAC/CAM攻擊、DHCP攻擊、地址欺騙等。
5) 對于網絡用戶要提高防范意識,及時安裝并更新殺毒軟件和防火墻,加強對于電腦病毒危害性的認識。
4 小結
由于ARP協議本身的特點,導致針對ARP的攻擊容易實施而難于防范。通過文中對ARP協議的工作原理,探討了ARP協議從IP地址到MAC地址解析過程中的安全性,給出了網段內和跨網段ARP欺騙的實現過程,提出了幾種常規可行的解決方案,經過多種方案配合使用,就可以最大限度的杜絕ARP欺騙攻擊的出現,保證校園內正常的計算機辦公與教學。
參考文獻:
[1] 謝希仁.計算機網絡[M].4版.大連:大連理工大學出版社,2004.
[2] 李小強,張朝輝.校園網ARP欺騙的防御[J].中國教育信息化,2009,3.
[3] 劉濤,陳寶國.ARP漏洞分析及防范[J].實踐與經驗,2008(6).
[4] 徐非.AKP協議的網絡安全性研究[J].上海電力學院學報,2006,24(2).
[5] 金濤.公眾網絡環境中的ARP欺騙攻擊與防范方法[D].上海交通大學碩士學位論文,2007.