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

正文內(nèi)容

windows簡(jiǎn)單防火墻的設(shè)計(jì)與實(shí)現(xiàn)—計(jì)算機(jī)畢業(yè)設(shè)計(jì)-在線瀏覽

2025-02-01 10:37本頁(yè)面
  

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