黃展鵬 蒙煒龍 吳俊璋 韋杰帥
【摘 要】TCP/IP協(xié)議安全分析仿真平臺主要由數(shù)據(jù)報文捕獲與解析、數(shù)據(jù)報文構造與發(fā)送、DNS服務器、DHCP服務器等模塊構成。本平臺使用的是真實可控的網(wǎng)絡環(huán)境,捕獲網(wǎng)絡流量并對數(shù)據(jù)報文進行解析,能按需求構造報文并發(fā)送,實現(xiàn)網(wǎng)絡協(xié)議安全分析。
【關鍵詞】協(xié)議安全;實驗教學
中圖分類號: TP393.08文獻標識碼: A文章編號: 2095-2457(2019)32-0121-002
DOI:10.19694/j.cnki.issn2095-2457.2019.32.055
Design of TCP/IP Protocol Security Analysis and Simulation Platform
HUANG Zhan-peng MENG Wei-long WU Jun-zhang WEI Jie-shuai
(Department of Computer Science and Information security
【Abstract】TCP/IP protocol security analysis and simulation platform consists of four modules: data packet capturing and analysis, data message constructing and transiting, DNS server and DHCP server. The platform is used in the real network environment, to capture and analyze the real network traffic, and can construct data packets needed and send them to the real network environment, to achieve the real network attack and scanning probe, helping learning network protocol security technology.
【Key words】Protocol Security; Experimental Teaching
0 引言
網(wǎng)絡安全是計算機領域要解決的重要問題之一,對于計算機專業(yè)的學生或者在信息安全領域工作的人員而言,在真實的網(wǎng)絡環(huán)境下,學習常用的網(wǎng)絡攻擊和檢測手段是十分有意義的。
本平臺設計包括數(shù)據(jù)報文捕獲與解析、構造與發(fā)送、DNS服務器和DHCP服務器共四個模塊。數(shù)據(jù)報文捕獲與解析、構造與發(fā)送模塊使用基于Winpcap,包括以數(shù)據(jù)報文的捕獲、解析、內(nèi)核過濾與接收技術為基礎,根據(jù)用戶的學習需求,提供了數(shù)據(jù)報文的捕獲和詳細分析功能和數(shù)據(jù)報文構造傳輸功能。用戶可以分析捕獲的數(shù)據(jù)報文,或根據(jù)自己需求填寫數(shù)據(jù)報文的字段并發(fā)送到目標主機中。本平臺的DNS服務器和DHCP服務器則是使用Qt下的QtNetwork模塊來實現(xiàn),為學習者提供了研究常見的攻擊DNS服務器和DHCP服務器手段的環(huán)境。
1 TCP/IP協(xié)議安全分析平臺設計
本平臺由兩個自主封裝庫和五個程序組成,分別是網(wǎng)絡工具庫、界面工具庫、啟動界面程序、數(shù)據(jù)報文捕獲與解析程序、數(shù)據(jù)報文構造與發(fā)送程序、DNS服務器和DHCP服務器。
1.1 網(wǎng)絡工具庫設計
網(wǎng)絡工具庫主要是實現(xiàn)WinPcap的面向對象封裝版本、結構格式轉換函數(shù)、網(wǎng)絡協(xié)議格式首部定義和數(shù)據(jù)報文構造的函數(shù)。
在WinPcap的面向對象封裝版本中,通過定義一個網(wǎng)卡對象,可以十分簡單地打開一張網(wǎng)卡并獲取它的相關信息(如MAC地址,IP地址,子網(wǎng)掩碼和網(wǎng)關等),還能捕獲經(jīng)過這張網(wǎng)卡的所有網(wǎng)絡數(shù)據(jù)報文或通過這張網(wǎng)卡對外發(fā)送網(wǎng)絡數(shù)據(jù)報文。除此之外,還能定義一個堆文件對象,將捕獲到的數(shù)據(jù)報文記錄到堆文件中保存或者從堆文件中讀取已保存的數(shù)據(jù)報文進行相關操作。
結構格式轉換函數(shù)主要是為了方便將網(wǎng)絡中傳輸?shù)腎P地址或MAC地址結構轉換為用戶可讀的字符串形式,或者從字符串形式轉換成網(wǎng)絡中傳輸?shù)腎P地址或MAC地址結構。
網(wǎng)絡協(xié)議首部定義和數(shù)據(jù)報文構造的函數(shù)實現(xiàn)主要是方便分析網(wǎng)絡數(shù)據(jù)報文時存儲數(shù)據(jù),還有在編寫數(shù)據(jù)報文構造與發(fā)送程序、DNS服務器和DHCP服務器時,要求能快速地構造所需協(xié)議的數(shù)據(jù)報文。
1.2 界面工具庫設計
對于一個具有圖形化界面的軟件而言,美觀的界面是吸引用戶使用的一個重要的手段,界面工具庫主要用來設置整個應用程序的界面的風格使應用程序整體看起來扁平化。界面工具庫還會設計一些程序經(jīng)常用到的對話框,如警告提示對話框、錯誤提示對話框和確認對話框等等。由于本平臺的程序比較多,因此需要設計一個啟動界面方便用戶快速啟動平臺的程序。該啟動界面相當于是整個平臺的一個入口,只允許本程序只有一個實例在操作系統(tǒng)中運行。
1.3 數(shù)據(jù)報文捕獲與解析模塊設計
數(shù)據(jù)報文捕獲是整個平臺的最重要的程序之一,在主機上流動的網(wǎng)絡數(shù)據(jù)報文將會以列表和圖表的形式顯示在這個程序上。用戶在捕獲前可以設置過濾條件,只捕獲自己想要的數(shù)據(jù)報文。用戶還可以查看某一數(shù)據(jù)報文的詳細字段信息,分析所處的網(wǎng)絡環(huán)境的情況。本程序還將用狀態(tài)欄顯示當前網(wǎng)卡的MAC地址、IP地址、子網(wǎng)掩碼、網(wǎng)關和網(wǎng)速,更好地協(xié)助用戶分析網(wǎng)絡環(huán)境的狀況。
為了保證捕獲過程不會影響到應用程序界面對用戶的及時響應,將開啟一個線程來捕獲數(shù)據(jù)報文,并且為了詳細解析數(shù)據(jù)報文該線程還要將數(shù)據(jù)報文寫到堆文件中保存。此外實時流量地監(jiān)控也應該在線程中執(zhí)行。
1.4 數(shù)據(jù)報文構造與發(fā)送模塊設計
數(shù)據(jù)報文構造與發(fā)送也是整個平臺的重要程序之一,用戶可以使用本程序進行數(shù)據(jù)報文的半自動化的構造并發(fā)送到用戶定義的地址,實現(xiàn)ARP欺騙、PING、UDP數(shù)據(jù)傳輸和TCP SYN掃描等常見的網(wǎng)絡攻擊和掃描探測。
此外,為了讓用戶了解整個局域網(wǎng)的網(wǎng)絡狀況,將會局域網(wǎng)主機探測和端口掃描,給用戶提供數(shù)據(jù)包的發(fā)送對象和方便用戶填寫數(shù)據(jù)報文相關參數(shù)。與數(shù)據(jù)報文捕獲程序類似,本程序也會有一個狀態(tài)欄顯示當前所使用網(wǎng)卡的MAC地址、IP地址、子網(wǎng)掩碼和網(wǎng)關。
由于發(fā)送數(shù)據(jù)報文的數(shù)量往往需要循環(huán)發(fā)送,為了避免應用程序界面卡死,所有發(fā)送數(shù)據(jù)報文的操作都將在線程中進行。
1.5 DNS服務器設計
DNS服務器主要功能就是將發(fā)送到服務器上的DNS請求進行解析,服務器將會把請求的內(nèi)容(如:域名)在用戶自己配置的HOST文件中查找對應的記錄。如果找到,則將結果返回給請求者,如果沒有,則不進行回應。
DNS服務器主要由DNS解析構造和DNS配置兩大部分組成。DNS服務器先配置好本地HOST文件,然后開始監(jiān)聽本地主機的53端口,將收到全部數(shù)據(jù)報文轉交給DNS解析構造模塊處理,如果能解析成功,則將解析結果返回給請求者。
1.6 DHCP服務器設計
DHCP服務器主要是一個偽裝的服務器,用戶需要知道局域網(wǎng)有哪些可用的地址,然后簡單配置DHCP服務器,DHCP服務器啟動后會對局域網(wǎng)已存在的DHCP服務器進行泛洪攻擊,讓其他DHCP服務器IP地址資源耗盡,這樣新加入局域網(wǎng)的主機就只能獲取本DHCP服務器提供的假冒IP地址和相關網(wǎng)絡信息,從而控制被攻擊者的網(wǎng)絡。
DHCP主要由DHCP解析,DHCP構造,DHCP泛洪和DHCP假冒四個部分組成。本DHCP服務器會監(jiān)聽所有經(jīng)過操作系統(tǒng)67和68端口的所有數(shù)據(jù)包。分析數(shù)據(jù)包是DHCP報文類型。如果是局域網(wǎng)內(nèi)主機請求DHCP服務器分配IP地址的DHCP請求報文,則進行DHCP欺騙攻擊。如果是局域網(wǎng)內(nèi)其他DHCP服務器回復給某臺主機的DHCP回復報文,則對那臺DHCP服務器進行DHCP泛洪攻擊。
2 平臺在實驗教學中的應用
本平臺能讓用戶在可控范圍內(nèi)使用真實的網(wǎng)絡環(huán)境,獲取真實的網(wǎng)絡數(shù)據(jù),開展真實的網(wǎng)絡攻擊與掃描探測,部署基本功能完備DNS服務器和DHCP服務器。用戶在使用本平臺學習的時候,能更加直觀真實的觀察網(wǎng)絡數(shù)據(jù)的流動和數(shù)據(jù)報文詳細信息,更直觀地面對各種網(wǎng)絡攻擊,學習網(wǎng)絡攻擊的特征。
3 結語
TCP/IP協(xié)議是Internet的網(wǎng)絡基礎,而其核心不可能在短期內(nèi)進行重新設計和部署實施,無法從根本上改變目前網(wǎng)絡面臨嚴重安全威脅的狀況。只有通過研究、學習常見攻擊的原理,才能給出相應防范策略,通過部署一些監(jiān)測、預防與安全加固措施,增強網(wǎng)絡對已知攻擊的抵御能力。
本平臺所捕獲的數(shù)據(jù)報文真實,解析數(shù)據(jù)報文析詳細,構造數(shù)據(jù)報文完整,傳輸數(shù)據(jù)報文準確,偽造的DNS服務器和DHCP服務器基本功能齊全,能完整地展現(xiàn)發(fā)生在局域網(wǎng)內(nèi)的常發(fā)生的網(wǎng)絡問題,用戶可以在可控范圍內(nèi)學習各種網(wǎng)絡攻擊與掃描探測方法,并自主研究如何防范網(wǎng)絡攻擊或屏蔽惡意地掃描監(jiān)測。
【參考文獻】
[1]呂雪峰,等.網(wǎng)絡分析技術揭秘[M].北京:機械工業(yè)出版社,2012.
[2]LawrenceBerkeley.TCP/IP詳解卷2:實現(xiàn)[M].北京:人民郵電出版社,2016.
[3]霍亞飛.Qt Creator快速入門[M].北京:北京航空航天大學出版社,2014.