国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

關于MAC地址與IP地址綁定策略
2007-04-30   中國信息安全網

1 引言

對“IP地址盜用”的解決方案絕大多數都是采取MAC與IP地址綁定策略,這種做法是十分危險的,本文將就這個問題進行探討。在這里需要聲明的是,本文是處于對對MAC與IP地址綁定策略安全的憂慮,不帶有任何黑客性質。

1.1 為什么要綁定MAC與IP 地址

影響網絡安全的因素很多,IP地址盜用或地址欺騙就是其中一個常見且危害極大的因素?,F實中,許多網絡應用是基于IP的,比如流量統(tǒng)計、賬號控制等都將IP地址作為標志用戶的一個重要的參數。如果有人盜用了合法地址并偽裝成合法用戶,網絡上傳輸的數據就可能被破壞、竊聽,甚至盜用,造成無法彌補的損失。

盜用外部網絡的IP地址比較困難,因為路由器等網絡互連設備一般都會設置通過各個端口的IP地址范圍,不屬于該IP地址范圍的報文將無法通過這些互連設備。但如果盜用的是Ethernet內部合法用戶的IP地址,這種網絡互連設備顯然無能為力了?!暗栏咭怀撸Ц咭徽伞?,對于Ethernet內部的IP地址被盜用,當然也有相應的解決辦法。綁定MAC地址與IP地址就是防止內部IP盜用的一個常用的、簡單的、有效的措施。

1.2 MAC與IP 地址綁定原理

IP地址的修改非常容易,而MAC地址存儲在網卡的EEPROM中,而且網卡的MAC地址是唯一確定的。因此,為了防止內部人員進行非法IP盜用(例如盜用權限更高人員的IP地址,以獲得權限外的信息),可以將內部網絡的IP地址與MAC地址綁定,盜用者即使修改了IP地址,也因MAC地址不匹配而盜用失?。憾矣捎诰W卡MAC地址的唯一確定性,可以根據MAC地址查出使用該MAC地址的網卡,進而查出非法盜用者。

目前,很多單位的內部網絡,尤其是學校校園網都采用了MAC地址與IP地址的綁定技術。許多防火墻(硬件防火墻和軟件防火墻)為了防止網絡內部的IP地址被盜用,也都內置了MAC地址與IP地址的綁定功能。

從表面上看來,綁定MAC地址和IP地址可以防止內部IP地址被盜用,但實際上由于各層協議以及網卡驅動等實現技術,MAC地址與IP地址的綁定存在很大的缺陷,并不能真正防止內部IP地址被盜用。

2 破解MAC與IP地址綁定策略

2.1 IP地址和MAC地址簡介

現行的TCP/IP網絡是一個四層協議結構,從下往上依次為鏈路層、網絡層、傳輸層和應用層。

Ethernet協議是鏈路層協議,使用的地址是MAC地址。MAC地址是Ethernet網卡在Ethernet中的硬件標志,網卡生產時將其存于網卡的EEPROM中。網卡的MAC地址各不相同,MAC地址可以唯一標志一塊網卡。在Ethernet上傳輸的每個報文都含有發(fā)送該報文的網卡的MAC地址。

Ethernet根據Ethernet報文頭中的源MAC地址和目的MAC來識別報文的發(fā)送端和接收端。IP協議應用于網絡層,使用的地址為IP地址。使用IP協議進行通訊,每個IP報文頭中必須含有源IP和目的IP地址,用以標志該IP報文的發(fā)送端和接收端。在Ethernet上使用IP協議傳輸報文時,IP報文作為Ethernet報文的數據。IP地址對于Ethernet交換機或處理器是透明的。用戶可以根據實際網絡的需要為網卡配置一個或多個IP地址。MAC地址和IP地址之間并不存在一一對應的關系。

MAC地址存儲在網卡的EEPROM中并且唯一確定,但網卡驅動在發(fā)送Ethernet報文時,并不從EEPROM中讀取MAC地址,而是在內存中來建立一塊緩存區(qū),Ethernet報文從中讀取源MAC地址。而且,用戶可以通過操作系統(tǒng)修改實際發(fā)送的Ethernet報文中的源MAC地址。既然MAC地址可以修改,那么MAC地址與IP地址的綁定也就失去了它原有的意義。

2.2 破解方案

下圖是破解試驗的結構示意圖。其內部服務器和外部服務器都提供Web服務,防火墻中實現了MAC地址和IP地址的綁定。報文中的源MAC地址與1P地址對如果無法與防火墻中設置的MAC地址與1P地址對匹配,將無法通過防火墻。主機2和內部服務器都是內部網絡中的合法機器;主機1是為了做實驗而新加入的機器。安裝的操作系統(tǒng)是W2000企業(yè)版,網卡是3Com的。

試驗需要修改主機1中網卡的MAC和IP地址為被盜用設備的MAC和IP地址。首先,在控制面板中選擇“網絡和撥號連接”,選中對應的網卡并點擊鼠標右鍵,選擇屬性,在屬性頁的“常規(guī)”頁中點擊“配置”按鈕。在配置屬性頁中選擇“高級”,再在“屬性”欄中選擇“Network Address”,在“值”欄中選中輸人框,然后在輸人框中輸人被盜用設備的MAC地址,MAC地址就修改成功了。

然后再將IP地址配置成被盜用設備的IP地址。盜用內部客戶機IP地址:將主機1的MAC地址和IP地址分別修改為主機2的MAC地址和IP地址。主機1可以訪問外部服務器,能夠順利地通過防火墻,訪問權限與主機2沒有分別。而且,與此同時主機2也可以正常地訪問外部服務器,完全不受主機1的影響。無論是主機2還是防火墻都察覺不到主機1的存在。主機1

如果訪問內部服務器,根本無需通過防火墻,更是暢通無阻了。

盜用內部服務器IP地址:將主機1的MAC地址和U地址修改為內部服務器的MAC地址和IP地址。主機1也提供Web服務。為了使效果更明顯,主機1上提供的Web服務內容與內部服務器提供的內容不同。

因為在實際的實驗中主機1與主機2連在同一個HUB上,主機2的訪問請求總是先被主機1響應,主機2期望訪問的是內部服務器,得到的卻總是主機1提供的內容。更一般地,主機2如果試圖訪問內部服務器,獲得的到底是主機1提供的內容還是內部服務器提供的內容具有隨機性,要看它的訪問請求首先被誰響應,在后面的分析中我們將進一步對此進行闡述。

盜用服務器的MAC和IP危害可能更大,如果主機1提供的Web內容和內部服務器中的內容一樣,那么主機2將無法識別它訪問的到底是哪個機器;如果Web內容中要求輸人賬號、密碼等信息,那么這些信息對于主機1來說則是一覽無遺了。

3 破解成功的原因

上面的實驗驗證了綁定MAC地址與IP地址的確存在很大的缺陷,無法有效地防止內部IP地址被盜用。接下來,將從理論上對該缺陷進行詳細的分析。

缺陷存在的前提是網卡的混雜接收模式,所謂混雜接收模式是指網卡可以接收網絡上傳輸的所有報文,無論其目的MAC地址是否為該網卡的MAC地址。正是由于網卡支持混雜模式,才使網卡驅動程序支持MAC地址的修改成為可能;否則,就算修改了MAC地址,但是網卡根本無法接收相應地址的報文,該網卡就變得只能發(fā)送,無法接收,通信也就無法正常進行了。

MAC地址可以被盜用的直接原因是網卡驅動程序發(fā)送Ethernet報文的實現機制。Ethernet報文中的源MAC地址是驅動程序負責填寫的,但驅動程序并不從網卡的EEPROM中讀取MAC,而是在內存中建立一個MAC地址緩存區(qū)。網卡初始化的時候將EEPROM中的內容讀入到該緩存區(qū)。如果將該緩存區(qū)中的內容修改為用戶設置的MAC地址,以后發(fā)出去的Ethernet報文的源地址就是修改后的MAC地址了。

如果僅僅是修改MAC地址,地址盜用并不見得能夠得逞。Ethernet是基于廣播的,Ethernet網卡都能監(jiān)聽到局域網中傳輸的所有報文,但是網卡只接收那些目的地址與自己的MAC地址相匹配的Ethernet報文。如果有兩臺具有相同MAC地址的主機分別發(fā)出訪問請求,而這兩個訪問請求的響應報文對于這兩臺主機都是匹配的,那么這兩臺主機就不只接收到自己需要的內容,而且還會接收到目的為另外一臺同MAC主機的內容。

按理說,兩臺主機因為接收了多余的報文后,都應該無法正常工作,盜用馬上就會被察覺,盜用也就無法繼續(xù)了;但是,在實驗中地址被盜用之后,各臺實驗設備都可以互不干擾的正常工作。這又是什么原因呢?答案應該歸結于上層使用的協議。

目前,網絡中最常用的協議是TCP/IP協議,網絡應用程序一般都是運行在TCP或者UDP之上。例如,實驗中Web服務器采用的HTTP協議就是基于TCP的。在TCP或者UDP中,標志通信雙方的不僅僅是IP地址,還包括端口號。在一般的應用中,用戶端的端口號并不是預先設置的,而是協議根據一定的規(guī)則生成的,具有隨機性。像上面利用IE來訪問Web服務器就是這樣。UDP或者TCP的端口號為16位二進制數,兩個16位的隨機數字相等的幾率非常小,恰好相等又談何容易?兩臺主機雖然MAC地址和IP地址相同,但是應用端口號不同,接收到的多余數據由于在TCP/UDP層找不到匹配的端口號,被當成無用的數據簡單地丟棄了,而TCP/UDP層的處理對于用戶層來說是透明的;所以用戶可以“正確無誤”地正常使用相應的服務,而不受地址盜用的干擾。

當然,某些應用程序的用戶端口號可能是用戶或者應用程序自己設置的,而不是交給協議來隨機的生成。那么,結果又會如何呢?例如,在兩臺MAC地址和IP地址都相同的主機上,啟動了兩個端口相同的應用程序,這兩個應用是不是就無法正常工作了呢?其實不盡然。

如果下層使用的是UDP協議,兩個應用將互相干擾無法正常工作。如果使用的是TCP協議,結果就不一樣了。因為TCP是面向連接的,為了實現重發(fā)機制,保證數據的正確傳輸,TCP引入了報文序列號和接收窗口的概念。在上述的端口號匹配的報文中,只有那些序列號的偏差屬于接收窗口之內的報文才會被接收,否則,會被認為是過期報文而丟棄。TCP協議中的報文的序列號有32位,每個應用程序發(fā)送的第一個報文的序列號是嚴格按照隨機的原則產生的,以后每個報文的序列號依次加1。

窗口的大小有16位,也就是說窗口最大可以是216,而序列號的范圍是232,主機期望接收的TCP數據的序列號正好也處于對方的接收范圍之內的概率為1/216,可謂小之又小。 TCP的序列號本來是為了實現報文的正確傳輸,現在卻成了地址盜用的幫兇。

4 解決MAC與IP地址綁定被破解的方法

解決MAC與IP地址綁定被破解的方法很多,,主要以下幾種。

交換機端口、MAC地址和IP地址三者綁定的方法;代理服務與防火墻相結合的方法;用PPPoE協議進行用戶認證的方法;基于目錄服務策略的方法;統(tǒng)一身份認證與計費軟件相結合的方法等。在這里筆者尤其推薦最后一種方法,這種方法是將校園網辦公自動化系統(tǒng)和網絡計費軟件結合在一起而實現的,這在校園網信息化建設的今天具有很強的實踐性。

熱詞搜索:

上一篇:解決局域網IP地址非法使用的問題
下一篇:戴爾加盟微軟-Novell聯盟 使用Linux

分享到: 收藏
主站蜘蛛池模板: 汉阴县| 弋阳县| 施甸县| 建湖县| 阳江市| 昂仁县| 和静县| 都安| 曲沃县| 澳门| 文安县| 郧西县| 体育| 客服| 洪雅县| 甘南县| 长春市| 湘潭县| 定南县| 襄垣县| 平阳县| 高唐县| 巧家县| 苍南县| 班玛县| 衢州市| 林西县| 英吉沙县| 桑日县| 武平县| 武强县| 富民县| 喀喇沁旗| 突泉县| 兴化市| 横山县| 江口县| 龙南县| 洛隆县| 周宁县| 渭源县|