匿名通信 Windows 客戶端的設計與實現
訪問【WRITE-BUG數字空間】_[內附完整源碼和文檔]
本課題基于 U-TRI 匿名通信系統,設計一個 Windows 匿名通信客戶端。該客戶端在匿名通信系統中扮演了重要角色,實現了兩個重要功能:第一,實現匿名通信協議,攔截/修改主機流量,與匿名通信網絡設備共同防止網絡中的流量嗅探;第二,采用 WFP 標記驅動作為攔截/修改流量的內核,防止本地流量嗅探。
摘要
目前許多企業(yè)網絡面臨著流量嗅探的安全威脅。不法分子通過技術手段,攔截、分析網絡中的流量。為了防止惡意流量嗅探,可以使用匿名通信技術,將流量中的 MAC 地址、IP 地址、TCP/UDP 端口號進行偽造。匿名通信系統要求在主機上部署匿名通信客戶端,用于實現匿名通信協議,同時防止本地惡意軟件進行原始流量嗅探。
本課題基于 U-TRI 匿名通信系統,設計一個 Windows 匿名通信客戶端。該客戶端在匿名通信系統中扮演了重要角色,實現了兩個重要功能:第一,實現匿名通信協議,攔截/修改主機流量,與匿名通信網絡設備共同防止網絡中的流量嗅探;第二,采用 WFP 標記驅動作為攔截/修改流量的內核,防止本地流量嗅探。該客戶端包括三個部分:用于處理核心攔截/修改業(yè)務邏輯的匿名通信驅動程序、用于配合驅動程序工作的打開網卡混雜模式工具和為簡化軟件部署/移除流程而設計的客戶端安裝/卸載工具。經系統測試,該客戶端通過了功能測試,并達到性能基本要求。
本文首先介紹了選題的背景、意義和相關技術;其次分析了系統需求,并根據需求對 Windows 匿名通信客戶端進行設計與實現;再次對客戶端進行功能測試和性能測試;最后總結了本課題的工作,并提出了存在的問題和對進一步完善的展望。
關鍵詞?匿名通信 反嗅探 網絡驅動
1 引言
1.1 選題背景和意義
1.1.1 選題背景
流量嗅探問題是企業(yè)網絡面臨的重要安全威脅之一。不法分子利用流量嗅探技術,劫持網絡中的流量,再通過流量分析的方法,從被劫持流量中提取敏感數據,從而達到竊取敏感數據的目的。
從技術上來說,目前企業(yè)面臨的網絡嗅探問題,主要有兩個方面:在網絡設備上的流量嗅探和在主機本地的流量嗅探。網絡設備上的流量嗅探指的是:不法分子利用漏洞等途徑,入侵在企業(yè)網絡中運行的網絡設備(例如交換機、路由器等),對網絡設備進行流量劫持,從而達到竊取敏感信息、注入惡意數據等目的。由于網絡環(huán)境復雜、網絡設備數量繁多,在網絡設備上完全避免流量劫持是一個非常困難的事情。主機本地的流量嗅探指的是:不法分子利用植入木馬、惡意軟件等途徑,入侵接入企業(yè)網絡的終端設備,對終端設備進行本地流量劫持,從而實現流量嗅探的目的。相對于復雜繁多的網絡設備,接入網絡的終端更加難以集中管理、保護;所以,避免主機遭受本地流量嗅探勢在必行。
1.1.2 選題意義
為了減少流量嗅探給企業(yè)帶來的損失,Yulong Wang 等人設計了 U-TRI 匿名通信系統,防范不法分子進行惡意嗅探,從而提升企業(yè)網絡的安全性。[1]?該系統利用 SDN 技術,為交換機重新設計一套特殊的數據包轉發(fā)規(guī)則。終端設備根據這套特殊的規(guī)則,偽造發(fā)包的 MAC 地址、IP 地址、TCP/UDP 端口號,并將收包的 MAC 地址、IP 地址、TCP/UDP 端口號還原成真實的地址、端口號;網絡設備也基于同樣的規(guī)則,根據數據幀的 MAC 地址進行轉發(fā),確保能把數據幀正確發(fā)送到目的主機上。這套轉發(fā)規(guī)則,通過主機的 MAC 地址、IP 地址、TCP/UDP 端口號的轉換,隱藏了通信端點的信息,防止不法分子直接從流量中提取;通過定時更新轉換規(guī)則,增加不法分子利用流量統計方法還原通信端點信息的難度?;谶@套轉發(fā)規(guī)則,U-TRI 匿名通信系統隱藏了網絡中通信的主機信息,避免不法分子從網絡流量中竊取敏感數據。
U-TRI 匿名通信系統包含兩個部分:網絡設備程序和主機客戶端。網絡設備程序安裝在企業(yè)網絡中的交換機上,根據 U-TRI 系統定時隨機生成的規(guī)則進行數據包轉發(fā)。而主機客戶端則扮演了更重要的角色:一方面,通過攔截/修改主機上的原始流量,根據轉發(fā)規(guī)則,對原始流量的 MAC 地址、IP 地址、TCP/UDP 端口號進行轉換;另一方面,利用網絡安全技術,阻止惡意軟件進行本地流量劫持。所以,在整個匿名通信過程中,主機客戶端的設計與實現至關重要。
Windows 操作系統是微軟公司最早在 1985 年推出的圖形界面 PC 操作系統,最新版本為 Windows 10。目前,Windows 操作系統有著大量的企業(yè)、個人用戶,已成為了主流的 PC 操作系統。(截至 2018 年 4 月,Windows 的市場占有率已達到了 88%)[2]?所以,在安裝了 Windows 操作系統的主機上設計與實現匿名通信客戶端,具有較大的商業(yè)價值。
1.2 課題任務
針對企業(yè)面臨的流量嗅探問題,本課題基于 U-TRI 匿名通信系統,設計匿名通信 Windows 客戶端。匿名通信 Windows 客戶端主要從兩方面防范流量嗅探:一方面,在部署了匿名通信系統的企業(yè)網絡中,接入網絡的主機上部署匿名通信客戶端,實現原始流量的 MAC 地址、IP 地址、TCP/UDP 端口號轉換,防止網絡上的惡意流量嗅探,從而提高企業(yè)網絡的安全性;另一方面,針對 Windows 操作系統平臺下的本地流量嗅探工具,以及 Windows 操作系統網絡架構,設計匿名通信客戶端,防止主機上惡意軟件對網卡流量的嗅探,進一步確保網絡的安全性。
本課題設計的客戶端將實現以下功能:
攔截/修改網絡通信流量,實現匿名通信協議:修改原始流量中發(fā)送數據包的 MAC 地址、IP 地址、TCP/UDP 端口號,偽造為用于網絡設備轉發(fā)的 MAC 地址、IP 地址、TCP/UDP 端口號;修改接收數據包的 MAC 地址、IP 地址、TCP/UDP 端口號,還原為對端主機發(fā)送修改前的 MAC 地址、IP 地址、TCP/UDP 端口號,并傳給上層應用程序。并使得上述過程對上層應用程序透明,即兩個通信端點主機上的上層應用程序利用原始的 MAC 地址、IP 地址、TCP/UDP 端口號通信。當安裝了客戶端的 Windows 主機接入匿名通信網絡時,可以正常通信;沒有安裝客戶端的主機接入匿名通信網絡后,由于沒有進行 MAC 地址、IP 地址、TCP/UDP 端口號轉換,發(fā)出的數據包不能被網絡設備識別,無法與網絡中的其他主機通信。
防止流量嗅探工具監(jiān)聽原始流量:針對 Windows 平臺下主流的流量嗅探工具,調研他們的工作原理,設計一個能防止流量嗅探工具對網卡原始流量嗅探的技術方案。
在企業(yè)網絡中,部署了匿名通信軟件的網絡設備和部署了匿名通信客戶端的主機,協同工作,構成完整的匿名通信系統。
1.3 論文章節(jié)安排
本文分為七章:第一章是引言,主要介紹了本課題的選題背景、選題意義,并詳細描述了課題的任務和要求。第二章是相關技術介紹,首先介紹了 Windows 網絡驅動架構和 Windows TCP/IP 協議棧實現,其次分別重點介紹了 WFP 和 NDIS 技術,最后分析了 Windows 主流的流量嗅探工具的實現原理。第三章是系統需求分析,主要分析了 Windows 匿名通信客戶端的四大需求,包括匿名通信需求、反流量嗅探需求、非功能性需求和性能需求。第四章是系統總體設計,首先結合了相關技術和需求分析進行技術選型,然后針對初步選擇的技術方向設計系統架構。第五章是系統詳細設計,主要針對系統總體設計中提到的三個核心部分進行詳細設計與實現,包括匿名通信驅動程序設計與實現、打開網卡混雜模式工具設計與實現和客戶端安裝/卸載工具設計與實現。第六章是系統測試,首先描述了系統測試的方法和測試環(huán)境,再分別描述系統的功能測試和性能測試。第七章是結束語,首先總結了針對本課題開展的相關工作,其次提出現階段仍然存在的問題,最后針對這些問題提出進一步完善的方案。



