freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

windows簡單防火墻的設(shè)計與實現(xiàn)—免費畢業(yè)設(shè)計論文-在線瀏覽

2025-02-01 11:26本頁面
  

【正文】 來越明顯。人們總是在網(wǎng)絡(luò)安全問題發(fā)生帶來嚴重后果后,才意識到網(wǎng)絡(luò)安全的重要。 國內(nèi)外研究現(xiàn)狀 自從 1986 年美國 Digital 公司在 Inter 上安裝了全球第一個商用防火墻系統(tǒng),提出了防火墻概念后,防火墻技術(shù)得到了飛速的發(fā)展。目前的防火墻產(chǎn)品主要有堡壘主機、包過濾路由器、應(yīng)用層網(wǎng)關(guān) (代理服務(wù)器 )以及電路層網(wǎng)關(guān)、屏蔽主機防火墻、雙宿主機等類型。雖然從理論上看 ,防火墻處于網(wǎng)絡(luò)安全的最底層 ,負責網(wǎng)絡(luò)間的安全認證與傳輸 ,但隨著網(wǎng)絡(luò)安全技術(shù)的整體發(fā)展和網(wǎng)絡(luò)應(yīng)用的不斷變化 ,現(xiàn)代防火墻技術(shù)已經(jīng)逐步走向網(wǎng)絡(luò)層之外的其他安全層次 ,不僅要完成傳統(tǒng)防火墻的過濾任務(wù) ,同時還能為各種網(wǎng)絡(luò)應(yīng)用提供相應(yīng)的安全服務(wù)。 雖然防火墻是目前保護網(wǎng)絡(luò)免遭黑客襲擊的有效手段,但也有明顯不足:無法防范通過防火墻以外的其它途徑的攻擊,不能防止來自內(nèi)部變節(jié)者和不經(jīng)心的用戶們帶來的威脅,也不能完全防止傳送已感染病毒的軟件或文件,以及無法防范數(shù)據(jù)驅(qū)動型的攻擊。因此,他們防外不防內(nèi),難以實現(xiàn)對企業(yè)內(nèi)部局域網(wǎng)內(nèi)主機之間的安全通信,也不能 很好的解決每一個撥號用戶所在主機的安全問題,而大多數(shù)個人上網(wǎng)之時,并沒有置身于得到防護的安全網(wǎng)絡(luò)內(nèi)部。各種 Windows 漏洞不斷被公布,對主機的攻擊也越來越多。如假冒 IP 包對通信雙方進行欺騙;對主機大量發(fā)送 IP 數(shù)據(jù)包進行轟炸攻擊,使之崩潰;以及藍屏攻擊等。 本課題的研究方法 本設(shè)計是 使用 Win2020 DDK 中提供的 FilterHook Driver 來實現(xiàn)數(shù)據(jù)包的過濾 。 過濾鉤子驅(qū)動程序完成 一個過濾鉤子回調(diào)函數(shù)并在系統(tǒng)提供的 IP 過濾驅(qū)動程序中注冊這個回調(diào)函數(shù)。 當有數(shù)據(jù)包需要通過時, IP 過濾驅(qū)動程序 會調(diào) 用這個過濾鉤子以決定怎樣處理到達和輸 出的包。人們 享受 著互連網(wǎng)帶來的種種方便,同時也 面臨 著 Inter的開放帶來的關(guān)于數(shù)據(jù)安全的新挑戰(zhàn)和新危險:企事業(yè)單位商業(yè)機密的泄露,個人隱私以及私秘信息的竊取。 防火墻是指設(shè)置在不同網(wǎng)絡(luò)或者網(wǎng)絡(luò)安全域之間的一系列部件的組合。用戶可以根據(jù)自己的情況來設(shè)置訪問規(guī)則實現(xiàn)對所有訪問的控制,用來達到對安全的保證。它有效地監(jiān)控了內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)之間的所有活動,其基本目的是阻止未被邀請的客戶進入內(nèi)部網(wǎng)絡(luò),保證了內(nèi)部網(wǎng)絡(luò)的安全。防火墻的工作就是把這些信息讀取出來,再根據(jù)用戶自定義的規(guī)則來進行過濾。 ,如果合法,代理服務(wù)器向一臺客戶機取回所需的信息在轉(zhuǎn)發(fā)給客戶。代理服務(wù)器只允許有代理的服務(wù)通過,而其他所有服務(wù)都完全被封鎖住。另外代理服務(wù)還可以過濾協(xié)議,如可以過濾 FTP 連接,拒絕使用 FTP put(放置)命令,以保證用戶不能將文件寫到匿名服務(wù)器。網(wǎng)絡(luò)地址轉(zhuǎn)換服務(wù)可以屏蔽內(nèi)部網(wǎng)絡(luò)的 IP 地址,使網(wǎng)絡(luò)結(jié)構(gòu)對外部來講是不可見的。通信時,內(nèi)部客戶首先和應(yīng)用程序網(wǎng)關(guān)建立連接,應(yīng)用程序網(wǎng)關(guān)確定這個連接是否被允許,如果允許的話再和目的計算機建立連接。應(yīng)用程序網(wǎng)關(guān)會監(jiān)視所有的傳輸,根據(jù)規(guī)則決定是否轉(zhuǎn)發(fā)他們。 防火墻的局限 性 雖然防火墻按照我們的要求嚴格地把守著網(wǎng)絡(luò)安全的大門,但它也不是萬能的,也存在著一些局限性。 例如,如果允許從受保護的網(wǎng)絡(luò)內(nèi)部向外撥號,一些用戶就可能形成與 Inter的直接連接。 它更不可能防止靠欺騙來獲得某些可以破壞安全的信息的社會工程的攻擊。 Visual C++不僅僅是一個編譯器, 它是一個全面的應(yīng)用程序開發(fā)環(huán)境,使用它你 可以 充分利用具有面向?qū)ο筇匦缘?C++來開發(fā)出專業(yè)級的 Windows應(yīng)用程序 。此外, Visual C++還融合了大量的開發(fā)工具,特別是與Inter 相關(guān)的開發(fā)支持。到目前為止,絕大多數(shù) Windows 應(yīng)用程序都是用 Visual C++ , Visual C++ Windows 環(huán)境下進行大型軟件開發(fā)的首選。 MFC 在整個 Windows 家族中都是兼容的,也就是說,無論是 、Windows95 還是 Windows NT,所使用的 MFC 是兼容的。 MFC 也會得到擴展,添加新的特性, 變得更加容易建立應(yīng)用程序。因此用 MFC 編寫的程序要比用 C 語言編寫的程序小得多。必要時,可以直接調(diào)用標準 C 函數(shù),因為 MFC 不修改也不隱藏 Windows 程序的基本結(jié)構(gòu)。 MFC 中包含了上成千上萬行正 第 4 頁 共 20 頁 確、優(yōu)化和功能強大的 Windows 代碼。從這點上講 , MFC 極大地加快了 程序開發(fā)速度。如果數(shù)據(jù)包的攔截沒有實現(xiàn),那么分析、過濾等就是空談。但后來發(fā)現(xiàn)其主要功能在于獨立于主機協(xié) 議(如 TCP/IP) 而發(fā)送 和 接收原始數(shù)據(jù)。因此,把它用于開發(fā)個人防火墻將會比較困難。而利用驅(qū)動程序來攔截數(shù)據(jù)包,雖然功能很強大,但實現(xiàn)起來比較困難。 設(shè)計方案 本設(shè)計分成兩大模塊:數(shù)據(jù)過濾鉤子驅(qū)動模塊和 用戶操作界面 程序模塊。主要有以下五個步驟: ① 建立內(nèi)核模式驅(qū)動 FilterHook Drive; ② 取得指向 IP Filter Driver 的指針; IP 過濾驅(qū)動程序 網(wǎng)絡(luò)適配器驅(qū)動程序 網(wǎng)絡(luò)適配器 用戶界面程序 過濾鉤子驅(qū)動程序 第 5 頁 共 20 頁 ③ 利用步驟 2 得到的指針,發(fā)送特殊的 IRP 來安裝過濾函數(shù); ④ 過濾數(shù)據(jù); ⑤ 結(jié)束過濾,撤消過濾函數(shù)。它負責管理用戶定義的過濾規(guī)則,與數(shù)據(jù)過濾 鉤子 驅(qū)動模塊進行通信。其實 FilterHook Drive 并不是一種新的網(wǎng)絡(luò)驅(qū)動類型,它 僅僅是 IP Filter Driver(包括Windows2020 和以后版本)在功能上的擴展 。就也就決定了它只能用于 TCP/IP 協(xié)議,而對 IPX/SPX、NetBEUI 等其他協(xié)議無能為力。 顧名思義就是 IP 過濾驅(qū)動,對應(yīng) 系統(tǒng)目錄下 文件。在MSDN 中有關(guān)于這方面內(nèi)容的簡短說明,位于 filterhook driver reference 章節(jié)中。回調(diào)函數(shù)是這類驅(qū)程的主體部分。 所注冊的過濾鉤子是用 PacketFilterExtensionPtr 數(shù)據(jù)類型定義的。 在圖 2 中說明了過濾鉤子驅(qū)動程序的流程結(jié)構(gòu),這就給我們提供了攔截網(wǎng)絡(luò)數(shù)據(jù)包的基本思路。 第 6 頁 共 20 頁 圖 2 .過濾器鉤子驅(qū)動程序流程示意圖 過濾鉤子驅(qū) 動的實現(xiàn) 創(chuàng)建內(nèi)核模式驅(qū)動 首先過濾器鉤子驅(qū)動程序設(shè)置過濾器鉤子回調(diào)函數(shù),它是這類驅(qū)動程序的主體,通過系統(tǒng)提供的 IP 過濾器驅(qū)動注冊這些過濾器鉤子回調(diào)函數(shù),隨后, IP 過濾器驅(qū)動就可以使用 過濾 器鉤 子決 定如何 處理 傳入 或傳 出的數(shù) 據(jù)包 .所 注冊 的過濾 鉤子 是用PacketFilterExtensionPtr 數(shù)據(jù)類型定義的。 PacketHearder 參數(shù)指向的數(shù)據(jù)通常定義為 IPHearder 結(jié)構(gòu),它提供了封包的詳細信息。 //版本號和頭長度 UCHAR ipTOS。 //封包 總長度,即整個 IP 報的長度 USHORT ipID。 //標志 UCHAR ipTTL。 //協(xié)議,其中 TCP( 6)、 UDP( 17)、 ICMP( 1) USHORT ipChecksum。 //源 IP 地址 TDI IP 層 NDIS 過濾鉤子 第 7 頁 共 20 頁 ULONG ipDestination。 Packet 參數(shù)指向去掉 IP 頭之后的數(shù)據(jù)報,開頭是一個 TCP 頭、 UDP 頭、 ICMP 頭,這都需要根據(jù) IP 頭的 ipProtocol 域確定。 //源端口 USHORT destinationPort。 //seq 序號 ULONG acknowledgeeNumber。 //數(shù)據(jù)指針 UCHAR flags。 //窗口大小 USHORT checksum。 //緊急指針 }TCPHeader; UDP 頭: Typedef stuct_UDPHeader { USHORT sourcePort。 //目的端口號 USHORT len。 //校驗和 }UDPHearder。 由于過濾器驅(qū)動程序不是提供 過濾器鉤子入口點的名稱,所以開發(fā)人員可以自由選擇過濾器鉤子名稱 。 過濾器鉤子對傳入和傳出的數(shù)據(jù)包做一些特殊處理動作 。其次,在過濾器鉤子檢測完數(shù)據(jù)包后,回復(fù)響應(yīng)代碼 PF_FORWARD,PF_DROP 或 PF_PASS給 IP 過濾器驅(qū)動,通知 IP 過濾器驅(qū)動如何處理數(shù)據(jù)包 。 PF_FORWARD 表示 IP 過濾器驅(qū)動 程序立即把數(shù)據(jù)包轉(zhuǎn)發(fā)到 IP 協(xié)議棧中,如果該數(shù)據(jù)包是本機需要的數(shù)據(jù)包, IP 協(xié)議將其轉(zhuǎn)發(fā)給上層協(xié)議處理,否則,路由功能被打開,IP 將路由該數(shù)據(jù)包. 設(shè)置和 清除過濾鉤子 在 DriverEntry 函數(shù)中定義了驅(qū)動初始化和卸載的部分。過濾器鉤子有可能清除先前注冊的鉤子回調(diào)。在這次調(diào)用中,過濾器鉤子驅(qū)動傳遞了指向緩沖區(qū)(含有 IP 過濾器驅(qū)動的名字字符串)的指針、數(shù)值(表示可以同時對提供的 IP 過濾器驅(qū)動進行讀、寫訪問)以及容納返回的文件和設(shè)備對象緩沖區(qū)的指針。 //指定設(shè)備對象名稱 IN ACCESS_MASK DesireAccess。 //返回相應(yīng)文件對象指針 OUT PDEVICE_OBJECT *DeviceObject//返回相應(yīng)設(shè)備對象指針 )。 PIRP IoBuildDeviceIoControlRequest( IN ULONG IoControlCode, IN PDEVICE_OBJECT DeviceObject, 第 9 頁 共 20 頁 IN PVOID InputBuffer OPTIONAL, IN ULONG InputBuffer Length, OUT PVOID OutputBuffer OPTIONAL, IN ULONG OutputBufferLength, IN BOOLEAN InternalDeviceIoControl, IN PKEVENT Event, OUT PIO_STATUS_BLOCJ IoStatusBlock )。為了設(shè)置過濾器鉤子 ,這個結(jié)構(gòu)包含有設(shè)置過濾器鉤子回調(diào)函數(shù)地址的信息。借助 I/O 堆棧位置(根據(jù)已提供的參數(shù)設(shè)置),這次調(diào)用過程給 IRP 返回指針。 為了把 IRP 提交給 IP 過濾器驅(qū)動,過濾鉤子驅(qū)動調(diào)用 LoCallDriver 函數(shù)。 過濾器驅(qū)動清除它的過濾鉤子,是通過先前注 冊過濾鉤子的口來實現(xiàn)的,因此過濾鉤子驅(qū)動應(yīng)該保存指向 IP 過濾器驅(qū)動的文件和設(shè)備對象的指針,也就是說,只有在過濾器鉤子驅(qū)動從 IP 過濾器驅(qū)動清除它的過濾器鉤子以后,過濾器鉤子驅(qū)動程序才能調(diào)用ObDereferenceObject 函數(shù)減小 IP 過濾器驅(qū)動的文件和設(shè)備對象的指針引用計數(shù)。 }PF_SET_EXTENSION_HOOK_INFO,*PPF_SET_EXTENSION_HOOK_INFO。 過濾器鉤子的 I/O 控制 當應(yīng)用程序或者上層驅(qū)動程序通過向過濾器鉤子驅(qū)動程序發(fā)送 I/O 控制請求建立過濾器鉤子時 , 驅(qū)動程序自動會響應(yīng)函數(shù)代 碼為 IRP_MJ_DEVICE_CONTROL的 Dispatch例程 。 驅(qū)動開發(fā)人員需要定義和公布所有的 I/O 控制請求信息和過濾器鉤子運行時所處理的 第 10 頁 共 20 頁 類型 , 應(yīng)用程序和上層驅(qū)動程序就能夠用已經(jīng)公布的 I/O 控制請求建立過濾器鉤子 。 一旦當前的 I/O 控制請求完成后 , 設(shè)備控制例程調(diào)用 IoCompleteRequest 函數(shù)并且傳遞其操作狀態(tài) , 這個狀態(tài)已經(jīng)返回給先前發(fā)送請求的應(yīng)用程序或高層驅(qū)動程序 。 過濾函數(shù)實現(xiàn) 過 濾列表是將多個過濾規(guī)則連在一起的鏈表,在這定義一個 CFilterList 結(jié)構(gòu)來描述,在結(jié)構(gòu)中給每個過濾規(guī)則添加了指向下一個規(guī)則的 pNext 指針,這樣就把多個過濾規(guī)則連在一起形成過濾列表,我們只需要記錄首地址就可以管理所有過濾規(guī)則。 Stuct CFilterList {CIPFILTER ipf。 //指向下一個的指針 } Struct CFliterList* g_pHeader=NULL。具體功能實現(xiàn)由自定義函數(shù) AddFilterToList來實現(xiàn)。清除過濾規(guī)則列表由自定義函數(shù) ClearFilterList 來實現(xiàn)。系統(tǒng)將根據(jù)對比過濾規(guī)則 鏈表里的規(guī)則來決定如何處理封包。程序在初始化時加載過 濾鉤子驅(qū)動,當用戶單擊開始按鈕時向驅(qū)動發(fā)送 START_IP_HOOK 安裝過濾鉤子,單擊停止按鈕時發(fā)送STOP_IP_HOOK 控制代碼清除過濾鉤子。 是否 符合 UDP 規(guī)則 是否 符合 ICMP 規(guī)則 處理 ICMP 規(guī)則 取下一條規(guī)則 Y 是否 符合 IP 規(guī)則 拷貝 packet 的內(nèi)容到共享內(nèi)存區(qū) 處理 IP 規(guī)則 取下一條規(guī) 則 Y N N 是否 符合 TCP 規(guī)則 處理 TCP 規(guī)則
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1