??? 摘? 要: 對中小企業(yè)的網(wǎng)絡(luò)管理現(xiàn)狀進行分析,針對地址盜用問題,探討了發(fā)生原因和防盜機理,提出了對應(yīng)的解決方案。通過監(jiān)聽基于以太網(wǎng)技術(shù)的局域網(wǎng)上傳送的數(shù)據(jù)幀,實時過濾并分析ARP數(shù)據(jù)包,得到上網(wǎng)計算機的IP-MAC地址對照表,找出非法上網(wǎng)的用戶,實現(xiàn)警告和上網(wǎng)限制。利用SoPC技術(shù)設(shè)計了一臺體積小、使用靈活、低價、高效的嵌入式IP地址防盜監(jiān)控儀,給出了軟硬件設(shè)計方案,利用嵌入式系統(tǒng)調(diào)試通過,在實際網(wǎng)絡(luò)環(huán)境中完成測試,性能穩(wěn)定可靠。?
??? 關(guān)鍵詞: 局域網(wǎng); 地址盜用; MAC; SoPC
?
??? 很多中小型企業(yè)在網(wǎng)絡(luò)安全方面的投入很少,通常僅依靠帶簡單防火墻功能的寬帶路由器設(shè)備,這雖然能夠防止外部黑客的入侵,但對處在防火墻內(nèi)部的員工或訪客造成的安全問題沒有任何作用。由于安全意識的缺失,在網(wǎng)絡(luò)布線工程完成之后,就很少投入人力物力,很少配備專職的網(wǎng)絡(luò)管理員,因此很容易出現(xiàn)各式各樣的網(wǎng)絡(luò)安全事件。最常見的問題是網(wǎng)絡(luò)IP地址盜用問題。?
??? 本文給出一種利用SoPC(System-on-a-Programmable-Chip)技術(shù)實現(xiàn)的、面向中小網(wǎng)絡(luò)、低價位、可靠的嵌入式IP地址防盜監(jiān)控方案。從管理學(xué)層面對網(wǎng)內(nèi)IP地址的管理進行探討;在技術(shù)層面研究網(wǎng)絡(luò)協(xié)議,分析發(fā)生原理,找出IP地址盜用問題的原因和表現(xiàn)形式,從而找出根治辦法,在實現(xiàn)層面對開放源代碼的嵌入式操作系統(tǒng)進行深入分析和裁剪,利用嵌入式系統(tǒng)開發(fā)技術(shù),實現(xiàn)基于嵌入式硬件的網(wǎng)絡(luò)監(jiān)控,能顯著降低企業(yè)中兼職網(wǎng)管的工作量,確保網(wǎng)絡(luò)正常使用。?
1 地址防盜機理?
1.1 地址盜用分析?
??? 經(jīng)過對企業(yè)網(wǎng)絡(luò)跟蹤監(jiān)控發(fā)現(xiàn),地址盜用的用戶,除Legitimate(合法的)用戶以外,還有3種類型的惡意用戶:Masquerader(偽裝者)、Misfeasor(違法者)和Clandestined User(秘密活動者)[1]。?
??? (1) Masquerader:此類人可能是為了逃避網(wǎng)絡(luò)計費,事先收集到別的用戶地址,用IP地址盜用的辦法,將網(wǎng)絡(luò)流量計費轉(zhuǎn)嫁到他人身上。?
??? (2) Misfeasor:此類人一般是合法用戶,由于重裝系統(tǒng)等因素重新設(shè)定IP地址,但是輸入錯誤或是忘記自己的合法地址而胡亂設(shè)置。近兩年ARP類病毒或木馬也造成類似的網(wǎng)絡(luò)故障。?
??? (3) Clandestined User:此類人可能是無上網(wǎng)權(quán)限的人或外來人員,為了某種目的,隱藏自己的身份或企圖冒充合法用戶身份來逃避追蹤。?
1.2 對策分析?
??? 為了解決這些問題,大型網(wǎng)絡(luò)一般采用可網(wǎng)管型交換機進行地址綁定,更好的方式是用認(rèn)證計費系統(tǒng),但硬件改造投資比較大,不適合小規(guī)模網(wǎng)絡(luò)。中小型企業(yè)網(wǎng)中更多的是依靠兼職網(wǎng)管人工操作,工作量非常大。故采用嵌入式技術(shù)開發(fā)廉價的網(wǎng)絡(luò)地址監(jiān)控系統(tǒng),以實現(xiàn)實時監(jiān)控和自動化響應(yīng)與處理。?
??? 對網(wǎng)絡(luò)進行全天候監(jiān)控,將網(wǎng)絡(luò)上所有ARP廣播信息截獲,提取信息生成IP-MAC二元組對照表。對當(dāng)前網(wǎng)段所有未用IP地址也生成特殊的IP-MAC二元組,即MAC字段設(shè)為000000000001這種非法的值。該表經(jīng)由網(wǎng)管員確認(rèn)后,作為合法用戶表。如果網(wǎng)管員無暇處理時,自動對某一時間段的數(shù)據(jù)利用概率統(tǒng)計算法生成該表。?
??? 對于Masquerader和Misfeasor:對照合法用戶列表,只需發(fā)現(xiàn)ARP廣播包中IP-MAC二元組不相符合,就表明有盜用的嫌疑。如果此用戶是Legitimate,會自行重復(fù)修改IP地址,不斷試驗,此時發(fā)送一個ARP-Relay包,告知該IP已經(jīng)使用,則對方的PC機會提示“IP地址重復(fù)”并自動禁用網(wǎng)卡的TCP/IP棧。系統(tǒng)自動記錄盜用次數(shù),如果發(fā)現(xiàn)超過設(shè)定次數(shù),最終封閉MAC地址,并產(chǎn)生Alert消息,由網(wǎng)管員通過行政手段處理。ARP類病毒或木馬,一種是盜用網(wǎng)關(guān)設(shè)備的地址,攔截用戶發(fā)送的數(shù)據(jù);一種是盜用用戶的IP從中截獲數(shù)據(jù)。還有些蠕蟲病毒為了加快傳播,會發(fā)送虛假的IP數(shù)據(jù)包,處理方法同上。?
??? 對于Clandestined User:通常先利用可上網(wǎng)的電腦來探測網(wǎng)絡(luò),找出合法IP及對應(yīng)的MAC地址,通過修改網(wǎng)卡的Flash芯片或者修改注冊表,獲得合法地址,繼而進行秘密活動。這是最復(fù)雜的情況,即使合法用戶和盜用者同時開機,也不會出現(xiàn)IP沖突的提示。但對于可網(wǎng)管型的交換機內(nèi)部維護的FDB(Forwarding Database)地址表中,相應(yīng)的MAC地址對應(yīng)的端口就會經(jīng)常變化,據(jù)此就能予以辨別,隨后詳細(xì)記錄日志,并發(fā)送警報信息通知管理員處理。這樣就需要監(jiān)控器能讀取FDB表,才能得知是否有相同的MAC從不同端口進入,進而關(guān)閉該端口,隔離破壞者。?
1.3 封鎖方法?
??? 為了封鎖用戶上網(wǎng),一般需要可網(wǎng)管交換機的配合。一般中小企業(yè)的核心交換機通常都是可網(wǎng)管型的,但是配置交換機需要專業(yè)人士,本設(shè)備可以實現(xiàn)自動配置,降低了對網(wǎng)管的技術(shù)要求。與交換機交互設(shè)置的常見方案為采用SNMP協(xié)議,但由于編程復(fù)雜,且很多交換機廠商并沒有嚴(yán)格遵循SNMP協(xié)議,故很難實現(xiàn)。本設(shè)備采用另外一種方法,就是模擬管理員手工配置交換機的過程,先利用Telnet協(xié)議登錄交換機,輸入用戶名和密碼,再輸入超級管理員密碼,發(fā)送配置指令。例如要禁止MAC地址為000c.2927.fe4d的計算機,在港灣的交換機上輸入命令:?
??? C:telnet xxx.xxx.xxxx.xxx(核心交換機IP)?
??? Login:admin 輸入用戶名和密碼?
??? Password:?
??? Harbour>en? 進入特權(quán)模式,輸入超極管理員密碼?
2 系統(tǒng)功能設(shè)計?
2.1 功能?
??? (1) IP沖突檢測與處理:判斷IP的合法性,再對檢測出的非法IP依據(jù)既定的處理方式進行處理,從而有效防止局域網(wǎng)內(nèi)的IP沖突和盜用。?
??? (2) 計算機聯(lián)網(wǎng)信息統(tǒng)計:適時分析網(wǎng)內(nèi)計算機的活動狀況,把在線狀態(tài)、活動時間等作為日志信息保存。為網(wǎng)絡(luò)管理員提供材料作為IP地址管理與分析的依據(jù)。?
??? (3) 服務(wù)器通信:系統(tǒng)設(shè)置了NTP和FTP兩個服務(wù)器。NTP時間服務(wù)器部署在局域網(wǎng)內(nèi),做為本系統(tǒng)時間同步的時鐘源;FTP服務(wù)器用于保存系統(tǒng)日志文件,并存有系統(tǒng)使用的配置文件信息以及合法IP-MAC地址信息。?
??? (4) 時間同步:時間同步是從局域網(wǎng)內(nèi)的NTP時間服務(wù)器獲取當(dāng)前標(biāo)準(zhǔn)時間,從而可以為本系統(tǒng)提供時間校準(zhǔn)與維護。?
硬件實現(xiàn)的基本功能如表1所示,軟件實現(xiàn)的基本功能如表2所示。?
?
?
?
2.2 開發(fā)平臺?
??? 本開發(fā)平臺可選用SoPC技術(shù)[2]、單片機(MCU)和ARM嵌入式系統(tǒng)。由于單片機對TCP/IP協(xié)議棧支持很差,而ARM雖處理能力強,但有些大材小用,因此最終采用SoPC技術(shù)實現(xiàn)。在Altera DE2上進行原型設(shè)計與開發(fā)測試,最終使用HardCopy系列器件實現(xiàn)產(chǎn)品化。?
2.3 系統(tǒng)使用方法?
??? 根據(jù)TCP/IP棧中ARP協(xié)議原理,計算機在開始通信前都會發(fā)出廣播包,告知本機使用的IP地址信息,并獲取網(wǎng)管及各個服務(wù)器的IP-MAC信息。因此與其他網(wǎng)絡(luò)監(jiān)控或入侵檢測系統(tǒng)不同,所安裝的網(wǎng)絡(luò)無需改造,也不用增加TAP(網(wǎng)絡(luò)分接器)或集線器等設(shè)備,接到核心交換機的任意端口即可。?
3? 硬件系統(tǒng)設(shè)計?
??? 本系統(tǒng)以嵌入式處理器NiosII[4]為核心,設(shè)計了顯示系統(tǒng)、存儲系統(tǒng)、鍵盤控制系統(tǒng)、網(wǎng)絡(luò)數(shù)據(jù)接口。系統(tǒng)框圖如圖1所示。?
?
?
??? 為了完成監(jiān)視和控制功能,還需要利用網(wǎng)絡(luò)中的網(wǎng)管專用機提供FTP服務(wù)器完成日志的備份和配置信息的更新,并利用因特網(wǎng)上的NTP網(wǎng)絡(luò)時間服務(wù)器進行自動校時服務(wù)。?
??? 系統(tǒng)硬件在SoPC Builder上設(shè)計,采用的IP軟核清單如表3所示。?
?
?
4 軟件系統(tǒng)設(shè)計?
4.1操作系統(tǒng)選型?
??? 嵌入式操作系統(tǒng)有μcLinux、μC/OSII[3]、eCos。每個操作系統(tǒng)各有特色,從移植的難易程度、內(nèi)核的大小、實時性等因素出發(fā),選擇μC/OSII。NiosII IDE中嵌入了μC/OSII,可以快速地為NiosII處理器建立RTOS應(yīng)用。這個內(nèi)核是可移植、可固化、可裁剪,具有搶占式的實時多任務(wù)功能的操作系統(tǒng)。?
4.2 TCP/IP協(xié)議棧選型?
??? 支持TCP/IP協(xié)議棧的主要有μIP、TinyTcp、μC/IP、lwIP幾種,每一種都有其特點與使用范圍。lwIP是開源的輕量型協(xié)議棧,沒有操作系統(tǒng)針對性,通過系統(tǒng)模擬層將協(xié)議棧中與平臺相關(guān)的代碼抽象出來,具有靈活可移植性,并且lwIP網(wǎng)絡(luò)應(yīng)用開發(fā)提供了API接口,極大的方便了應(yīng)用開發(fā)。由于本系統(tǒng)開發(fā)中選用的操作系統(tǒng)是μC/OS,且Nios II IDE支持lwIP協(xié)議棧,使得移植更方便,所以選用lwIP。?
4.3 應(yīng)用軟件功能設(shè)計?
??? 應(yīng)用軟件是建立在操作系統(tǒng)基礎(chǔ)上的軟件系統(tǒng),得益于μC/OSII良好的實時多進程的優(yōu)點,能夠同時完成人機交互、數(shù)據(jù)處理等主要工作。最核心的功能模塊是IP沖突檢測與處理模塊,主要完成對ARP包的解析、判斷是否合法、記錄日志等工作。另一個模塊是包發(fā)送模塊,它是主動方式運作,能夠掃描整個網(wǎng)絡(luò),強制更新ARP表,對照合法的IP-MAC地址列表找出盜用者,還可以對盜用IP地址的人發(fā)出警告,阻止其上網(wǎng),還可以探測并記錄各主機的開機或關(guān)機狀態(tài)。?
4.4 文件系統(tǒng)選型?
??? 本系統(tǒng)采用SD卡存儲數(shù)據(jù),在其上建立文件存取時,首先要建立文件系統(tǒng)。表4是三種類型數(shù)據(jù)文件所需的文件操作、保密要求及其空間占用情況。?
?
?
??? Altera公司雖提供了Zip File System,但它在存儲介質(zhì)、存儲量以及寫入操作方面已經(jīng)不能滿足要求;而SD卡的可拔插性和FAT/FAT32的通用性,使建立在SD卡上的FAT/FAT32并不具有很強的保密性,同時在寫入數(shù)據(jù)到文件之前需要查表,不能滿足高速的要求,而且實現(xiàn)文件系統(tǒng)的建立也需要一定的代碼量;NTFS雖然具有保密性,但其存取速度同樣不能滿足要求,實現(xiàn)起來則更為復(fù)雜。基于以上原因,本系統(tǒng)在實現(xiàn)了基本的SD卡讀取操作后,對SD卡存取空間進行了劃分,實現(xiàn)了一個簡單、高效同時具有保密性的自定義文件系統(tǒng)。對分區(qū)數(shù)據(jù)的讀寫操作是通過對SD卡驅(qū)動的直接讀寫操作進行簡單封裝實現(xiàn)的,同時數(shù)據(jù)的存儲無需查表等額外操作,因此具有高效性。分區(qū)數(shù)據(jù)的記錄則是將需要存儲的數(shù)據(jù)放入程序內(nèi)部的數(shù)據(jù)結(jié)構(gòu)后寫入SD卡來存儲的,具有一定的保密性。?
4.5 網(wǎng)絡(luò)服務(wù)規(guī)劃?
??? 本設(shè)備可以作為手持式設(shè)備臨時地調(diào)試監(jiān)控,也可以固定在機柜中進行長期觀察。為了方便網(wǎng)絡(luò)管理員的操作,提供了Telnet遠程操作功能,可以自動將系統(tǒng)日志、警報信息等上傳至網(wǎng)管專用機上,還能自動下載最新的配置文件進行設(shè)置,并且,為了生成規(guī)范的日志,還提供了自動校時功能。這些功能依次對應(yīng)Telnet服務(wù)模塊、FTP服務(wù)模塊、NTP服務(wù)模塊。?
4.6 軟件流程圖?
??? 應(yīng)用軟件中最重要的模塊是IP沖突檢測與處理的實現(xiàn)。IP沖突檢測是在捕獲ARP包的基礎(chǔ)上對ARP包中的源IP和源MAC進行分析,從而判斷該數(shù)據(jù)包的IP地址是否產(chǎn)生了沖突或者是非法的IP地址。其中檢測通過包的主分析進程完成,其流程圖如圖2所示。處理操作通過包發(fā)送進程完成,其流程如圖3所示。?
?
?
?
??? 基于SoPC技術(shù),利用QuartusII開發(fā)軟件,在以Nios II為核心的嵌入式系統(tǒng)設(shè)計平臺上進行設(shè)計,能靈活、快捷地完成系統(tǒng)設(shè)計開發(fā)。該設(shè)備使用方便、靈活、高效價格低廉,可作手持式臨時調(diào)試監(jiān)控,也可長期固定實現(xiàn)網(wǎng)絡(luò)監(jiān)視和IP盜用處理,非常適合于中小企業(yè)網(wǎng)。?
參考文獻?
[1] ANDERSON J P. Computer security threat monitoring and surveillance[R]. James P Anderson Co, Fort Washington,Pennsylvania, 1980. ?
[2]?潘松.SOPC技術(shù)實用教程.北京:清華大學(xué)出版社,2005.?
[3]?JEAN J,LABROSSE著. 嵌入式實時操作系統(tǒng)μC/OS-II(第2版),邵貝貝譯.北京:北京航空航天大學(xué)出版社,2003.?
[4] 彭澄廉.挑戰(zhàn)SOC——基于NIOS的SOPC設(shè)計與實現(xiàn),北京:清華大學(xué)出版社,2004.