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

正文內(nèi)容

基于行為監(jiān)控的木馬查殺技術(shù)設(shè)計(jì)方案-資料下載頁(yè)

2025-05-03 22:35本頁(yè)面
  

【正文】 定義中出現(xiàn)的順序不同。,使其與非托管程序的約定相同。CharSet參數(shù)指定了數(shù)據(jù)結(jié)構(gòu)中字符串的編碼方式,可為Unicode或ANSI。,字符串的內(nèi)存布局也有所不同,因此需要使用MarshalAs屬性進(jìn)行標(biāo)記。UnmanagedType指定了字符串的類(lèi)型,,其大小由SizeConst決定。 關(guān)于行為合法性的判斷盜號(hào)木馬不是等應(yīng)用程序的一部分,因此盜號(hào)木馬與應(yīng)用程序必定運(yùn)行于兩個(gè)不同的進(jìn)程或木馬需要將其代碼遠(yuǎn)程注入到目標(biāo)進(jìn)程。對(duì)于遠(yuǎn)程線(xiàn)程注入,本軟件的重點(diǎn)進(jìn)程保護(hù)功能可以阻止對(duì)含有用戶(hù)重要信息的進(jìn)程進(jìn)行注入。若木馬未使用遠(yuǎn)程線(xiàn)程注入技術(shù),則木馬對(duì)目標(biāo)進(jìn)程的操作必定是跨進(jìn)程的。因此,本軟件所監(jiān)控的函數(shù)調(diào)用,若是進(jìn)程內(nèi)的操作,則允許執(zhí)行,這樣可以避免對(duì)大部分系統(tǒng)合法調(diào)用的攔截,給用戶(hù)過(guò)多的提示。系統(tǒng)消息過(guò)濾與注冊(cè)表監(jiān)控功能也只過(guò)濾部分關(guān)鍵的消息與注冊(cè)表鍵,如只過(guò)濾跨進(jìn)程發(fā)送的WM_GETTEXT消息而允許其它消息發(fā)送。經(jīng)過(guò)上述判斷,已可以識(shí)別大部分合法調(diào)用,對(duì)于小部分系統(tǒng)跨進(jìn)程操作,本軟件通過(guò)在行為規(guī)則庫(kù)中的規(guī)則進(jìn)行判斷。行為規(guī)則庫(kù)中的規(guī)則并非完全固定不變的,用戶(hù)可以根據(jù)自己的情況進(jìn)行自定義,提高行為合法性判斷的準(zhǔn)確性。 借助I/O管理器訪(fǎng)問(wèn)內(nèi)核數(shù)據(jù)與功能LPC機(jī)制實(shí)現(xiàn)了核心態(tài)程序與用戶(hù)態(tài)程序間通訊的一種方式,使用LPC時(shí),只能將用戶(hù)態(tài)程序作為服務(wù)端,核心態(tài)程序作為客戶(hù)端。此種方式對(duì)實(shí)現(xiàn)核心態(tài)程序調(diào)用用戶(hù)態(tài)程序的功能很容易,但實(shí)現(xiàn)反方向的調(diào)用卻相對(duì)困難。因此,本程序借助I/O管理器來(lái)解決這個(gè)問(wèn)題。在用戶(hù)態(tài)程序調(diào)用I/O函數(shù)(如:ReadFile、WriteFile、DeviceIoControl等)對(duì)文件進(jìn)行操作時(shí),I/O管理器將操作打包成I/O請(qǐng)求包(IRP)發(fā)送給磁盤(pán)驅(qū)動(dòng)程序,磁盤(pán)驅(qū)動(dòng)程序完成操作后,將結(jié)果返回。類(lèi)似的,我們也可以讓用戶(hù)態(tài)程序調(diào)用I/O函數(shù),但在我們的驅(qū)動(dòng)程序中,不操作硬件,只完成我們需要的功能,再將結(jié)果返回,以此實(shí)現(xiàn)用戶(hù)態(tài)程序?qū)诵膽B(tài)程序功能的調(diào)用。I/O函數(shù)需要有操作對(duì)象,這樣I/O管理器才能將I/O請(qǐng)求包發(fā)送至正確的驅(qū)動(dòng)程序,因此,驅(qū)動(dòng)程序需要?jiǎng)?chuàng)建一個(gè)設(shè)備對(duì)象來(lái)接收用戶(hù)態(tài)程序的請(qǐng)求。IoCreateDevice創(chuàng)建一個(gè)設(shè)備對(duì)象,其定義如下:NTSTATUS IoCreateDevice( IN PDRIVER_OBJECT DriverObject, IN ULONG DeviceExtensionSize, IN PUNICODE_STRING DeviceName OPTIONAL, IN DEVICE_TYPE DeviceType, IN ULONG DeviceCharacteristics, IN BOOLEAN Exclusive, OUT PDEVICE_OBJECT *DeviceObject )。DriverObject:驅(qū)動(dòng)對(duì)象的指針DeviceName:要?jiǎng)?chuàng)建設(shè)備的名稱(chēng)(為指向UNICODE_STRING結(jié)構(gòu)的指針)DevIceType:要?jiǎng)?chuàng)建設(shè)備的類(lèi)型DeviceCharacteristics:設(shè)備的特性DeviceObject:返回設(shè)備對(duì)象的指針本程序創(chuàng)建的設(shè)備名為“\Device\GlobalHook”,創(chuàng)建成功后,可在WinObj中觀察到此設(shè)備。圖 Win32 API不能訪(fǎng)問(wèn)全部的命名空間,只能訪(fǎng)問(wèn)命名空間中的\??\部分,因此還需要在\??\中創(chuàng)建一個(gè)符號(hào)鏈接,鏈接到該設(shè)備。IoCreateSymbolLink函數(shù)的定義如下:NTSTATUS IoCreateSymbolicLink( IN PUNICODE_STRING SymbolicLinkName, IN PUNICODE_STRING DeviceName )。SymbolicLinkName:符號(hào)鏈接名DeviceName:設(shè)備名創(chuàng)建完成后,我們需要通過(guò)修改DRIVER_OBJECT結(jié)構(gòu)設(shè)置一些重要的回調(diào)函數(shù)來(lái)處理用戶(hù)態(tài)程序的請(qǐng)求。成員名對(duì)應(yīng)的請(qǐng)求[IRP_MJ_CREATE*(sizeof PVOID)]CreateFile[IRP_MJ_WRITE*(sizeof PVOID)]WriteFile[IRP_MJ_CLOSE*(sizeof PVOID)]CloseHandle[IRP_MJ_DEVICEIOCONTROL*(sizeof PVOID)]DeviceIoControl 重要的請(qǐng)求處理函數(shù)至此,設(shè)備對(duì)象已創(chuàng)建完成,用戶(hù)態(tài)程序可以使用CreateFile獲取設(shè)備對(duì)象的句柄并使用I/O函數(shù)與其進(jìn)行通訊。 枚舉全局鉤子本程序使用DeviceIoControl這一I/O函數(shù)進(jìn)行通訊,因此枚舉全局鉤子等相應(yīng)代碼位于其對(duì)應(yīng)的請(qǐng)求處理函數(shù)DrvDeviceControl中。獲取全局鉤子的途徑如圖 :THREADINFO結(jié)構(gòu)TebTlsArrayAlertableStackBase……KTHREAD結(jié)構(gòu)Win32Threadptlppipctirpdesk……pDeskInfopvDesktopBasepvDesktopLimitspwndShell……DESKTOPINFO結(jié)構(gòu)aphkStart[16]鉤子1鉤子2鉤子NWH_MSGFILTER型鉤子鏈……鉤子1鉤子2鉤子NWH_JOURNALRECORD型鉤子鏈……………………圖 通過(guò)KTHREAD結(jié)構(gòu)、THREADINFO結(jié)構(gòu)依次找到DESKTOPINFO結(jié)構(gòu),DESKTOPINFO結(jié)構(gòu)的aphkStart數(shù)組為各類(lèi)型全局鉤子首個(gè)元素的指針,其索引與類(lèi)型對(duì)應(yīng)。Windows中的全局鉤子鏈為單向鏈表,每個(gè)鉤子使用Hook結(jié)構(gòu)進(jìn)行表示,Hook結(jié)構(gòu)的定義如下:Hook STRUCT h HANDLE ? 。鉤子句柄 cLockObj DWORD ? pti PVOID ? 。設(shè)置鉤子的線(xiàn)程(THREADINFO結(jié)構(gòu)的指針) rpdesk PVOID ? 。PDESTOP pSelf PVOID ? 。KPBYTE phkNext PVOID ? 。下一個(gè)鉤子的指針 iHook WORD ? 。鉤子類(lèi)型(WH_XXX) offPfn DWORD ? 。鉤子的消息處理函數(shù)地址 flags WORD ? 。鉤子標(biāo)志(如鉤子是否已銷(xiāo)毀等) ihmod WORD ? ptiHooked PVOID ? 。鉤子所監(jiān)視的線(xiàn)程(THREADINFO結(jié)鉤的指針) rpdesk PVOID ? Hook ENDS通過(guò)pti成員可以獲取鉤子設(shè)置者的信息,h表示鉤子的句柄,通過(guò)UnhookWindowsHookEx可以刪除該鉤子。 枚舉類(lèi)型的本地化.NET的PropertyGrid控件提供了一個(gè)修改對(duì)象屬性的界面,本程序也使用該控件實(shí)現(xiàn)對(duì)行為規(guī)則的修改,但由于枚舉類(lèi)型不包含任何本地化信息,因此在PropertyGrid控件中默認(rèn)以其英文名稱(chēng)顯示出來(lái)。本節(jié)講述了通過(guò)向枚舉類(lèi)型添加自定義標(biāo)記與構(gòu)建轉(zhuǎn)換類(lèi),使其在PropertyGrid控件中能以中文顯示出來(lái),實(shí)現(xiàn)本地化。圖 默認(rèn)情況下,屬性的名稱(chēng)直接以定義中的英文名顯示,若想自定義為中文,以及顯示描述信息,就需要添加各種屬性來(lái)實(shí)現(xiàn)。[(typeof(), typeof()), (文件名), (常規(guī))]public string FileName{get { return strFileName。 } set { strFileName = value。 }} ,如FileNameEditor。在顯示枚舉值時(shí),我們也希望能像屬性一樣自定義其顯示名稱(chēng),但DisplayName屬性并不能使用在枚舉值上,因此,我們需要自己為枚舉值定義一個(gè)屬性。 [AttributeUsage()] public class EnumValueDisplayNameAttribute : Attribute { private string strDisplayName。 public EnumValueDisplayNameAttribute(string DisplayName) { strDisplayName = DisplayName。 } public string ValueDisplayName { get { return strDisplayName。} } }首先,應(yīng)該創(chuàng)建一個(gè)屬性類(lèi)。屬性類(lèi)應(yīng)直接或間接的繼承自Attribute。AttributeUsage的AttributeTargets標(biāo)記了該屬性類(lèi)的使用范圍,如屬性、方法或事件等。此處是用在枚舉值上。在屬性類(lèi)的構(gòu)造函數(shù)中,應(yīng)收集要保存的信息。同時(shí)屬性類(lèi)也應(yīng)有相信的屬性對(duì)這些信息進(jìn)行訪(fǎng)問(wèn)。 創(chuàng)建完屬性類(lèi)后,便可以將屬性應(yīng)用到枚舉值上。 internal enum RulePermit { [EnumValueDisplayName(提示)]Tip, [EnumValueDisplayName(允許)]Allow, [EnumValueDisplayName(禁止)]Forbid }在PropertyGrid顯示枚舉值時(shí),需要在枚舉值與字符串間轉(zhuǎn)換,因此還需要自定義枚舉轉(zhuǎn)換類(lèi)。,只對(duì)ConvertTo與ConvertFrom函數(shù)進(jìn)行重載。,返回相應(yīng)的字符串,工作過(guò)程如圖 :檢查輸入類(lèi)型是否為枚舉類(lèi)型執(zhí)行默認(rèn)轉(zhuǎn)換()從標(biāo)記類(lèi)中讀取相應(yīng)字符串并返回遍歷枚舉值并檢測(cè)是否包含標(biāo)記類(lèi)是否否是圖 ConvertTo方法的工作流程ConvertFrom方法根據(jù)指定的字符串,在EnumValueDisplayName中查找并返回相應(yīng)的枚舉值,其工作流程與ConvertTo相似。最后,只需將該轉(zhuǎn)換類(lèi)應(yīng)用到相應(yīng)屬性上,PropertyGrid在處理枚舉值時(shí)即可自動(dòng)顯示我們通過(guò)EnumValueDisplayName自定義的字符串。 [(行為), (結(jié)束其他進(jìn)程), //此處將類(lèi)型轉(zhuǎn)換類(lèi)指定為EnumConverterWithValueName (typeof(EnumConverterWithValueName))] public RulePermit TerminateProcess { get { return blnTerminateProcess。 } set { blnTerminateProcess = value。 } } 3 本軟件的優(yōu)勢(shì)本軟件的行為監(jiān)控完全通過(guò)直接修改系統(tǒng)內(nèi)核實(shí)現(xiàn),有別于傳統(tǒng)的通過(guò)系統(tǒng)提供的回調(diào)函數(shù)實(shí)現(xiàn),具有更廣的監(jiān)控范圍、更準(zhǔn)的信息獲取、更靈敏的反應(yīng)速度等特性,同時(shí)自我保護(hù)功能特點(diǎn)也使得軟件本身更加安全、可靠。 更廣的監(jiān)控范圍傳統(tǒng)的行為監(jiān)控方法是通過(guò)調(diào)用Windows提供的通知函數(shù)(函數(shù)名通常為xxxNotifyChangeyyy)設(shè)置回調(diào)函數(shù)對(duì)某些操作進(jìn)行監(jiān)控。這種方法有很大的局限,若Windows沒(méi)有提供相應(yīng)的通知函數(shù),就無(wú)法監(jiān)控。Windows僅提供了兩個(gè)通知函數(shù)RegNotifyChangeKeyValue、FindFirstChangeNotification用以監(jiān)控注冊(cè)表與文件系統(tǒng),因此使用此種方法的行為監(jiān)控軟件也只能監(jiān)控這兩種行為。這也是為什么我們?cè)诨ヂ?lián)網(wǎng)上搜索注冊(cè)表監(jiān)控程序或文件系統(tǒng)監(jiān)控程序時(shí)可以得到很多的搜索結(jié)果,而在搜索對(duì)其他行為的監(jiān)控程序時(shí),結(jié)果卻寥寥無(wú)幾。例如,用百度搜索“注冊(cè)表監(jiān)控”,我們可以搜索到1,820,000篇有關(guān)網(wǎng)頁(yè),而如果搜索“結(jié)束進(jìn)程監(jiān)控”,得到的搜索結(jié)果大多為“進(jìn)程結(jié)束”,很少有符合“結(jié)束進(jìn)程監(jiān)控”搜索條件的網(wǎng)頁(yè)。而本軟件通過(guò)修改系統(tǒng)內(nèi)核,不受限于Windows,提供對(duì)全局鉤子設(shè)置、遠(yuǎn)程線(xiàn)程注入等行為的監(jiān)控,而且可以在以后的版本中隨時(shí)加入對(duì)其他行為的監(jiān)控。 更準(zhǔn)的信息獲取Windows提供的通知函數(shù)僅能在某個(gè)進(jìn)程進(jìn)行特定操作時(shí)通知監(jiān)控軟件該行為發(fā)生了,卻沒(méi)有提供與各種行為發(fā)出者的信息,因此,將通知函數(shù)作為行為監(jiān)控基礎(chǔ)的軟件也就不能提供與行為發(fā)出者有關(guān)的各種信息。MJRegWatcher即是這樣一款注冊(cè)表監(jiān)控軟件,在修改注冊(cè)表后,軟件能給出相應(yīng)提示,但沒(méi)有提供有關(guān)操作的發(fā)出者等信息。圖 MJRegWatcher給出的注冊(cè)表修改提示本軟件在檢測(cè)各種行為的同時(shí),能同時(shí)獲取操作的發(fā)出者、操作對(duì)象等有關(guān)信息,為用戶(hù)識(shí)別和清理木馬提供有用信息。圖 、目標(biāo)、處理等信息 更靈敏的反應(yīng)速度不論的通過(guò)用戶(hù)命令進(jìn)行掃描還是定期進(jìn)行掃描來(lái)檢測(cè)木馬,都不能在木馬入侵的第一時(shí)間發(fā)現(xiàn)木馬。當(dāng)進(jìn)行掃描時(shí),木馬可能已經(jīng)運(yùn)行了一段時(shí)間并造成了損失。同時(shí),定期的后臺(tái)掃描也會(huì)消耗一定的系統(tǒng)資源,降低系統(tǒng)的運(yùn)行速度。本軟件使用行為監(jiān)控作為檢測(cè)基礎(chǔ),木馬進(jìn)行函數(shù)調(diào)用時(shí)會(huì)自動(dòng)的觸發(fā)行為驗(yàn)證步驟,因此能立即作出反應(yīng),不會(huì)出現(xiàn)漏檢,也不會(huì)像后臺(tái)掃描那樣占用過(guò)多的系統(tǒng)資源。 自我保護(hù)功能作為一款防木馬軟件,首先是
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1