主機(jī)防火墻設(shè)計(jì)技術(shù)及Tdifw源代碼分析

出版時(shí)間:2012-11  出版社:清華大學(xué)出版社  作者:伍紅兵,胡勇強(qiáng),俞海英 著  頁數(shù):399  
Tag標(biāo)簽:無  

內(nèi)容概要

  《主機(jī)防火墻設(shè)計(jì)技術(shù)及Tdifw源代碼分析》以開源項(xiàng)目Tdifw為素材,詳細(xì)分析了主機(jī)防火墻設(shè)計(jì)技術(shù)及實(shí)現(xiàn)?!  吨鳈C(jī)防火墻設(shè)計(jì)技術(shù)及Tdifw源代碼分析》的目的是幫助讀者學(xué)習(xí)和掌握防火墻設(shè)計(jì)技術(shù)與實(shí)現(xiàn)方法。主機(jī)防火墻一般采用“服務(wù)十驅(qū)動(dòng)”的系統(tǒng)構(gòu)架,能夠控制哪個(gè)用戶運(yùn)行的哪個(gè)進(jìn)程能夠訪問哪個(gè)遠(yuǎn)程主機(jī)的哪個(gè)端口。相應(yīng)地,主機(jī)防火墻開發(fā)者首先需要具備Windows安全模型、服務(wù)應(yīng)用程序設(shè)計(jì)、內(nèi)核驅(qū)動(dòng)程序設(shè)計(jì)、網(wǎng)絡(luò)體系結(jié)構(gòu)等方面的知識(shí),然后需要掌握如何運(yùn)用這些技術(shù)開發(fā)主機(jī)防火墻。圍繞這些內(nèi)容,《主機(jī)防火墻設(shè)計(jì)技術(shù)及Tdifw源代碼分析》分為以下幾個(gè)部分:Windows安全模型;服務(wù)與事件日志;內(nèi)核驅(qū)動(dòng)程序設(shè)計(jì);Windows網(wǎng)絡(luò)體系結(jié)構(gòu);Tdifw防火墻設(shè)計(jì)技術(shù)與源代碼分析?! ”緯m合大專院校計(jì)算機(jī)專業(yè)的學(xué)生、Windows程序員、Windows內(nèi)核程序員、信息安全領(lǐng)域的程序員以及對(duì)Windows防火墻設(shè)計(jì)感興趣的編程愛好者使用。  閱讀本書需要有C語言、Windows操作系統(tǒng)和計(jì)算機(jī)網(wǎng)絡(luò)的基礎(chǔ)知識(shí)。

書籍目錄

第1章Windows安全模型 1.1受保護(hù)的對(duì)象 1.2對(duì)象安全模型 1.3安全標(biāo)識(shí)符 1.4訪問令牌 1.4.1模仿 1.4.2受限制的令牌 1.5安全描述符 1.5.1 ACL分配 1.5.2訪問控制檢查 1.6賬戶權(quán)限和特權(quán) 1.6.1賬戶權(quán)限 1.6.2賬戶特權(quán) 1.7 Windows安全性組件 1.8一個(gè)不容易理解的問題 1.8.1登錄會(huì)話 1.8.2會(huì)話 1.8.3窗口站和桌面 1.8.4小結(jié) 第2章服務(wù)與事件日志 2.1 Windows服務(wù)概覽 2.1.1服務(wù)相關(guān)組件 2.1.2服務(wù)相關(guān)注冊(cè)表項(xiàng) 2.2服務(wù)程序工作原理 2.2.1進(jìn)程人口函數(shù) 2.2.2服務(wù)入口函數(shù) 2.2.3服務(wù)控制處理器 2.2.4控制碼和狀態(tài)報(bào)告 2.3服務(wù)控制程序 2.3.1打開SCM  2.3.2安裝服務(wù) 2.3.3刪除服務(wù) 2.3.4啟動(dòng)與控制服務(wù) 2.3.5重新配置服務(wù) 2.3.6鎖定SCM數(shù)據(jù)庫 2.4服務(wù)調(diào)試 2.5事件日志 2.5.1報(bào)告事件 2.5.2消息文件 2.5.3事件日志體系結(jié)構(gòu)和開發(fā)流程 2.5.4創(chuàng)建消息文件 2.5.5編譯消息 2.5.6資源文件 2.6 Windows服務(wù)舉例——ServiceFramework  2.6.1安裝服務(wù)InstallService 2.6.2服務(wù)程序MyService 2.6.3客戶端程序MyClient 第3章 內(nèi)核驅(qū)動(dòng)程序設(shè)計(jì) 3.1基本驅(qū)動(dòng)程序示例 3.1.1基本的NT驅(qū)動(dòng)BaseNT 3.1.2基本的WDM驅(qū)動(dòng) 3.2設(shè)備驅(qū)動(dòng)程序基本概念 3.2.1系統(tǒng)I/O組件 3.2.2驅(qū)動(dòng)程序基本結(jié)構(gòu)與工作模型 3.2.3驅(qū)動(dòng)程序分類 3.2.4 WDM驅(qū)動(dòng)程序與設(shè)備棧 3.2.5設(shè)備棧的建立 3.2.6 IRP在設(shè)備棧中的傳遞 3.2.7分層的驅(qū)動(dòng)程序 3.2.8注冊(cè)表中的驅(qū)動(dòng)程序信息 3.2.9設(shè)備枚舉 3.2.10驅(qū)動(dòng)程序加載順序 3.3關(guān)鍵數(shù)據(jù)結(jié)構(gòu) 3.3.1驅(qū)動(dòng)對(duì)象 3.3.2設(shè)備對(duì)象 3.3.3文件對(duì)象 3.3.4 I/O請(qǐng)求包IRP  3.3.5 I/O棧單元 3.4驅(qū)動(dòng)程序編譯 3.4.1使用WDK的編譯環(huán)境編譯驅(qū)動(dòng)程序 3.4.2使用Visual Studio編譯驅(qū)動(dòng)程序 3.5驅(qū)動(dòng)程序調(diào)試 3.5.1調(diào)試環(huán)境設(shè)置 3.5.2結(jié)合WRK對(duì)項(xiàng)目調(diào)試 3.6驅(qū)動(dòng)程序安裝 3.6.1設(shè)備安裝組件 3.6.2 PNP設(shè)備安裝舉例 3.6.3 INF文件 3.7 Toaster示例分析 3.7.1 目錄和文件說明 3.7.2編譯方法 3.7.3驅(qū)動(dòng)安裝 3.7.4運(yùn)行示例 3.7.5過濾驅(qū)動(dòng) 3.7.6設(shè)備棧 第4章Windows網(wǎng)絡(luò)體系結(jié)構(gòu) 4.1 網(wǎng)絡(luò)API 4.2 WinSock 4.2.1 SPI 4.3傳輸驅(qū)動(dòng)程序接口TDI 4.4網(wǎng)絡(luò)驅(qū)動(dòng)程序接口規(guī)范NDIS 4.5 Windows平臺(tái)下的防火墻方案 4.5.1用戶級(jí)的實(shí)現(xiàn)方法 4.5.2核心級(jí)的實(shí)現(xiàn)方法 4.5.3各種攔截方案比較 4.6對(duì)傳輸驅(qū)動(dòng)接口TDI的詳細(xì)討論 4.6.1傳輸驅(qū)動(dòng)程序接口(TDI) 4.6.2 TDI設(shè)備對(duì)象 4.6.3 TDI文件對(duì)象 4.6.4 TDI傳輸驅(qū)動(dòng)程序例程 4.6.5 TDI內(nèi)核模式客戶交互 4.6.6 TDI請(qǐng)求及事件 第5章Tdifw防火墻設(shè)計(jì)技術(shù)與源代碼分析 5.1 Tdifw安裝與使用 5.1.1 Tdifw體系結(jié)構(gòu) 5.1.2系統(tǒng)文件說明 5.1.3安裝 5.1.4配置文件Tdifw.conf 5.2分析環(huán)境構(gòu)建 5.2.1 Tdifw移植到Visual Studio 2010要點(diǎn) 5.2.2 Tdifw項(xiàng)目調(diào)試 5.2.3增加輸出錯(cuò)誤信息的可讀性 5.3 Tdifw安裝程序tdi_install.C  5.3.1 Tdifw過濾驅(qū)動(dòng)在系統(tǒng)中的位置 5.3.2 install.exe使用方法 5.3.3 tdi_install.c注釋 5.4 SVC項(xiàng)目  5.4.1 SVC項(xiàng)目中的內(nèi)存泄露檢測(cè)——CRT調(diào)試堆 5.4.2 main.C文件 5.4.3 SVC項(xiàng)目的錯(cuò)誤信息輸出 5.4.4 Tdifw服務(wù)線程service_main 5.4.5 start函數(shù) 5.4.6 stop函數(shù) 5.4.7加載配置文件 5.4.8服務(wù)程序響應(yīng)驅(qū)動(dòng)程序請(qǐng)求 5.4.9處理驅(qū)動(dòng)程序請(qǐng)求 5.4.10其他函數(shù)的解釋 5.4.11 Tdifw服務(wù)中的消息文件 5.5 drv驅(qū)動(dòng)項(xiàng)目 5.5.1 drv項(xiàng)目中的內(nèi)存泄露檢測(cè) 5.5.2驅(qū)動(dòng)入口DriverEntry 5.5.3 ot—init  5.5.4 filter_init 5.5.5 conn_state_init 5.5.6 c_n_a_device 5.5.7 OnUnload 5.5.8 d_n_d_device 5.5.9分發(fā)例程DeviceDispatch 5.5.10 tdi_create 5.5.11 tdi_dispatch_complete 5.5.12處理IRP_MJ_INTERNAL_DEVICE_CONTROL請(qǐng)求的函數(shù) 參考文獻(xiàn)

章節(jié)摘錄

版權(quán)頁:   插圖:   2.6.2 服務(wù)程序MyService 服務(wù)程序只是一個(gè)框架,沒有完成什么有意義的工作,需要理解框架的結(jié)構(gòu),知道如果要增加有意義的工作應(yīng)該在什么位置增加代碼。 代碼主要流程為: (1)定義服務(wù)表項(xiàng)SERVICE_TABLE_ENTRY; (2)調(diào)用StartServiceCtrlDispatcher函數(shù)啟動(dòng)服務(wù)線程; (3)服務(wù)線程入口函數(shù)service_main注冊(cè)服務(wù)控制處理器函數(shù)service_ctrl,然后調(diào)用服務(wù)的主體函數(shù)ServiceSpecific; (4)ServiceSpecific函數(shù)完成服務(wù)的主要工作: 加載自定義的注冊(cè)表項(xiàng)中的配置信息; 創(chuàng)建命名管道以準(zhǔn)備與客戶端程序通信; 啟動(dòng)線程PipeThread專門用于通過命名管道與客戶端程序通信; 啟動(dòng)一個(gè)while循環(huán),完成服務(wù)的主體工作,本例只是完成一些測(cè)試工作:將一些信息寫入自定義的文本格式的日志文件中、將一些信息寫入標(biāo)準(zhǔn)的Windows事件日志中。 (5)service_ctrl函數(shù)接收SCM的控制請(qǐng)求,其中最重要的工作是處理SERVICECONTROL_STOP控制請(qǐng)求、停止服務(wù),停止的方法很簡(jiǎn)單,將控制服務(wù)是否停止的全局變量g_shutDown設(shè)為TRUE,ServiceSpecific函數(shù)中的while循環(huán)會(huì)判斷該全局變量以決定是否退出循環(huán),一旦退出循環(huán),ServiceSpecific函數(shù)就會(huì)返回,接著service_main函數(shù)也會(huì)返回,服務(wù)線程終止,最后StartServiceCtrlDispatcher函數(shù)也結(jié)束,主線程終止,從而整個(gè)服務(wù)也就停止了。 (6)在以上過程中適當(dāng)?shù)牡胤秸{(diào)用ReportStatusToSCMgr函數(shù)報(bào)告服務(wù)的運(yùn)行狀態(tài)。 下面對(duì)其中的重要函數(shù)做一個(gè)說明。 1.main()函數(shù) 這是服務(wù)應(yīng)用程序的主線程入口函數(shù),一般情況下由SCM負(fù)責(zé)加載。主要工作就是定義服務(wù)表項(xiàng)SERVICE_TABLE_ENTRY,然后調(diào)用StartServiceCtrlDispatcher函數(shù)啟動(dòng)服務(wù)線程。其中加了一個(gè)調(diào)試功能,如果在命令行直接輸入: 則程序由系統(tǒng)的SHELL加載,而不是由SCM加載,也不會(huì)調(diào)用StartSerViceCtrlDispatcher函數(shù),而是直接調(diào)用服務(wù)的主體函數(shù)ServiceSpecific: 從而整個(gè)程序就像一個(gè)普通的控制臺(tái)程序,在ServiceSpecific函數(shù)中設(shè)置斷點(diǎn),可以調(diào)試服務(wù)的主體功能。

編輯推薦

《主機(jī)防火墻設(shè)計(jì)技術(shù)及Tdifw源代碼分析》適合大專院校計(jì)算機(jī)專業(yè)的學(xué)生、Windows程序員、Windows內(nèi)核程序員、信息安全領(lǐng)域的程序員以及對(duì)Windows防火墻設(shè)計(jì)感興趣的編程愛好者使用。

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    主機(jī)防火墻設(shè)計(jì)技術(shù)及Tdifw源代碼分析 PDF格式下載


用戶評(píng)論 (總計(jì)3條)

 
 

  •   書寫的還可以,但書中所涉及的示例代碼交代了所在目錄,可既沒有光盤,有沒有交代可以在那里下載,只能自己跟著寫,稍微有點(diǎn)麻煩。
  •   老公喜歡的書,對(duì)于工作很有關(guān)系!
  •   就是源碼分的太散,差不多得全書看完才能寫出防火墻。不過總體來說還可以。有一半講了基礎(chǔ)知識(shí),后面就是實(shí)例的源碼了。
 

250萬本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7