亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種實(shí)時(shí)防護(hù)中檢測(cè)進(jìn)程創(chuàng)建的方法及系統(tǒng)的制作方法

文檔序號(hào):6336818閱讀:473來(lái)源:國(guó)知局
專利名稱:一種實(shí)時(shí)防護(hù)中檢測(cè)進(jìn)程創(chuàng)建的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及進(jìn)程創(chuàng)建的檢測(cè)技術(shù),尤其涉及一種實(shí)時(shí)防護(hù)中檢測(cè)進(jìn)程創(chuàng)建的方法 及系統(tǒng)。
背景技術(shù)
目前,各種實(shí)時(shí)防護(hù)類(lèi)軟件都會(huì)監(jiān)控進(jìn)程的創(chuàng)建,所應(yīng)用的場(chǎng)景有兩種一、記錄 進(jìn)程ID和進(jìn)程路徑等相關(guān)信息,用于之后主動(dòng)防御進(jìn)行事件攔截時(shí)可以很容易的根據(jù)進(jìn) 程ID找到進(jìn)程的相關(guān)信息;二、在進(jìn)程創(chuàng)建時(shí)用于應(yīng)用層對(duì)進(jìn)程的執(zhí)行環(huán)境、系統(tǒng)內(nèi)存等 進(jìn)行掃描檢測(cè),當(dāng)經(jīng)檢測(cè)確認(rèn)進(jìn)程安全時(shí)才允許進(jìn)程繼續(xù)執(zhí)行,否則將會(huì)阻止進(jìn)程的啟動(dòng)。 針對(duì)第二種應(yīng)用場(chǎng)景而言,現(xiàn)有技術(shù)中一般都是在進(jìn)程被創(chuàng)建時(shí)由驅(qū)動(dòng)程序通知應(yīng)用層進(jìn) 行掃描檢測(cè),在驅(qū)動(dòng)程序等待應(yīng)用層的檢測(cè)結(jié)果的這段時(shí)間內(nèi),會(huì)中斷創(chuàng)建者進(jìn)程的繼續(xù) 執(zhí)行,當(dāng)應(yīng)用層將檢測(cè)結(jié)果通知驅(qū)動(dòng)程序或等待超時(shí)發(fā)生時(shí),才繼續(xù)創(chuàng)建者進(jìn)程的執(zhí)行。采用現(xiàn)有技術(shù)所存在的缺點(diǎn)是在驅(qū)動(dòng)程序等待應(yīng)用層檢測(cè)結(jié)果的這段時(shí)間內(nèi), 由于需中斷創(chuàng)建者進(jìn)程的執(zhí)行,而作為所有用戶進(jìn)程創(chuàng)建者的創(chuàng)建者進(jìn)程是所有用戶進(jìn)程 的父進(jìn)程,因此,作為父進(jìn)程的創(chuàng)建者進(jìn)程一旦被中斷執(zhí)行,會(huì)導(dǎo)致其所控制進(jìn)程的一系列 連鎖反應(yīng),比如容易出現(xiàn)桌面花屏、無(wú)法再新建進(jìn)程等問(wèn)題。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種實(shí)時(shí)防護(hù)中檢測(cè)進(jìn)程創(chuàng)建的方法及系 統(tǒng),無(wú)需中斷創(chuàng)建者進(jìn)程,也能實(shí)現(xiàn)對(duì)新建進(jìn)程的檢測(cè)。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種實(shí)時(shí)防護(hù)中檢測(cè)進(jìn)程創(chuàng)建的方法,該方法包括新建進(jìn)程后,驅(qū)動(dòng)程序?qū)?yīng)用 層進(jìn)行檢測(cè)時(shí)所需要的新建進(jìn)程的相關(guān)信息上報(bào)給應(yīng)用層,通知應(yīng)用層進(jìn)行掃描檢測(cè);在 應(yīng)用層根據(jù)所述新建進(jìn)程的相關(guān)信息進(jìn)行掃描檢測(cè)時(shí)將所述新建進(jìn)程掛起。其中,該方法還包括所述應(yīng)用層將檢測(cè)結(jié)果返回所述驅(qū)動(dòng)程序,當(dāng)所述檢測(cè)結(jié)果 為安全時(shí),所述驅(qū)動(dòng)程序?qū)⑺鲂陆ㄟM(jìn)程恢復(fù)。其中,進(jìn)行所述上報(bào)前,該方法還包括所述驅(qū)動(dòng)程序加載時(shí)注冊(cè)進(jìn)程創(chuàng)建的回調(diào) 通知函數(shù),每當(dāng)新進(jìn)程創(chuàng)建時(shí)會(huì)調(diào)用已注冊(cè)的所述進(jìn)程創(chuàng)建的回調(diào)通知函數(shù)。其中,將所述新建進(jìn)程掛起后,該方法還包括退出所述進(jìn)程創(chuàng)建的回調(diào)通知函 數(shù)。其中,將所述新建進(jìn)程掛起具體包括所述驅(qū)動(dòng)程序通過(guò)調(diào)用Windows內(nèi)核未導(dǎo) 出的用于新建進(jìn)程掛起的應(yīng)用編程接口(API),將所述新建進(jìn)程掛起。其中,將所述新建進(jìn)程恢復(fù)具體包括所述驅(qū)動(dòng)程序通過(guò)調(diào)用Windows內(nèi)核未導(dǎo) 出的用于新建進(jìn)程恢復(fù)的API,將之前被掛起的新建進(jìn)程重新恢復(fù),并繼續(xù)執(zhí)行所述新建進(jìn)程。一種實(shí)時(shí)防護(hù)中檢測(cè)進(jìn)程創(chuàng)建的系統(tǒng),該系統(tǒng)包括上報(bào)單元、檢測(cè)單元、進(jìn)程掛起單元;其中,所述上報(bào)單元,用于新建進(jìn)程后,驅(qū)動(dòng)程序?qū)?yīng)用層進(jìn)行檢測(cè)時(shí)所需要的新建進(jìn) 程的相關(guān)信息上報(bào)給應(yīng)用層,通知應(yīng)用層進(jìn)行掃描檢測(cè);所述檢測(cè)單元,用于應(yīng)用層根據(jù)所述新建進(jìn)程的相關(guān)信息進(jìn)行掃描檢測(cè);所述進(jìn)程掛起單元,用于在應(yīng)用層進(jìn)行掃描檢測(cè)時(shí),所述驅(qū)動(dòng)程序?qū)⑺鲂陆ㄟM(jìn) 程掛起。其中,該系統(tǒng)還包括進(jìn)程恢復(fù)單元,用于所述應(yīng)用層將檢測(cè)結(jié)果返回所述驅(qū)動(dòng)程 序,當(dāng)所述檢測(cè)結(jié)果為安全時(shí),所述驅(qū)動(dòng)程序?qū)⑺鲂陆ㄟM(jìn)程恢復(fù)。其中,所述進(jìn)程掛起單元,進(jìn)一步用于所述驅(qū)動(dòng)程序通過(guò)調(diào)用Windows內(nèi)核未導(dǎo) 出的用于新建進(jìn)程掛起的API,將所述新建進(jìn)程掛起。其中,所述進(jìn)程恢復(fù)單元,進(jìn)一步用于所述驅(qū)動(dòng)程序通過(guò)調(diào)用Windows內(nèi)核未導(dǎo) 出的用于新建進(jìn)程恢復(fù)的API,將之前被掛起的新建進(jìn)程重新恢復(fù),并繼續(xù)執(zhí)行所述新建進(jìn)程。本發(fā)明新建進(jìn)程后,驅(qū)動(dòng)程序?qū)?yīng)用層進(jìn)行檢測(cè)時(shí)所需要的新建進(jìn)程的相關(guān)信息 上報(bào)給應(yīng)用層,通知應(yīng)用層進(jìn)行掃描檢測(cè);在應(yīng)用層根據(jù)新建進(jìn)程的相關(guān)信息進(jìn)行掃描檢 測(cè)時(shí)將新建進(jìn)程掛起。采用本發(fā)明,由于是將新建進(jìn)程掛起,而不是一直等待直到應(yīng)用層返回檢測(cè)結(jié)果, 因此,不像現(xiàn)有技術(shù)需在等待的這段時(shí)間中斷創(chuàng)建者進(jìn)程的執(zhí)行,而是在新建進(jìn)程掛起的 這段時(shí)間內(nèi)可以確保創(chuàng)建者進(jìn)程的繼續(xù)執(zhí)行。從而,無(wú)需中斷創(chuàng)建者進(jìn)程,也能實(shí)現(xiàn)對(duì)新建 進(jìn)程的檢測(cè)。


圖1為本發(fā)明方法實(shí)施例的實(shí)現(xiàn)流程示意圖;圖2為本發(fā)明系統(tǒng)實(shí)施例的組成結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明的基本思想是新建進(jìn)程后,驅(qū)動(dòng)程序?qū)?yīng)用層進(jìn)行檢測(cè)時(shí)所需要的新建 進(jìn)程的相關(guān)信息上報(bào)給應(yīng)用層,通知應(yīng)用層進(jìn)行掃描檢測(cè);在應(yīng)用層根據(jù)新建進(jìn)程的相關(guān) 信息進(jìn)行掃描檢測(cè)時(shí)將新建進(jìn)程掛起。為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下舉實(shí)施例并參照附圖,對(duì) 本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。以下將現(xiàn)有技術(shù)和本發(fā)明進(jìn)行對(duì)比闡述,以更好地體現(xiàn)本發(fā)明相對(duì)于現(xiàn)有技術(shù)的 優(yōu)點(diǎn)。就現(xiàn)有技術(shù)而言,目前在實(shí)時(shí)防護(hù)中,通常都會(huì)通過(guò)驅(qū)動(dòng)程序先向Windows內(nèi)核 注冊(cè)進(jìn)程創(chuàng)建的回調(diào)通知函數(shù),從而每當(dāng)有新進(jìn)程創(chuàng)建時(shí),Windows內(nèi)核就會(huì)通知已注冊(cè)的 該進(jìn)程創(chuàng)建的回調(diào)通知函數(shù),使得監(jiān)控程序有機(jī)會(huì)檢測(cè)新創(chuàng)建的進(jìn)程。當(dāng)驅(qū)動(dòng)程序收到進(jìn) 程創(chuàng)建通知時(shí),把新建進(jìn)程的一些信息,如進(jìn)程ID、路徑等上報(bào)給應(yīng)用層進(jìn)行掃描,以執(zhí)行 安全檢測(cè),在驅(qū)動(dòng)程序等待應(yīng)用層的檢測(cè)結(jié)果的這段時(shí)間內(nèi),會(huì)中斷創(chuàng)建者進(jìn)程的繼續(xù)執(zhí) 行;應(yīng)用層收到驅(qū)動(dòng)程序上報(bào)的這些信息后,根據(jù)自身的規(guī)則對(duì)系統(tǒng)內(nèi)存環(huán)境、新建進(jìn)程的目錄等進(jìn)行掃描檢測(cè),確認(rèn)安全或危險(xiǎn)后,將檢測(cè)結(jié)果告知驅(qū)動(dòng)程序,驅(qū)動(dòng)程序停止等待, 繼續(xù)執(zhí)行之前中斷的創(chuàng)建者進(jìn)程,根據(jù)應(yīng)用層的檢查結(jié)果放行或殺死新建進(jìn)程,即當(dāng)檢查 結(jié)果為安全時(shí),放行新建進(jìn)程,允許新建進(jìn)程的啟動(dòng);當(dāng)檢查結(jié)果為危險(xiǎn)時(shí),殺死新建進(jìn)程, 阻止新建進(jìn)程的啟動(dòng)。由于Windows系統(tǒng)中所有用戶進(jìn)程的創(chuàng)建者都是它的父進(jìn)程,也就是說(shuō)創(chuàng)建者進(jìn) 程是作為父進(jìn)程存在的,該進(jìn)程創(chuàng)建的回調(diào)通知函數(shù)也是在父進(jìn)程創(chuàng)建子進(jìn)程的過(guò)程中被 調(diào)用的,因此,在該進(jìn)程創(chuàng)建的回調(diào)通知函數(shù)中的一切動(dòng)作都是發(fā)生在父進(jìn)程的線程執(zhí)行 環(huán)境中。綜上所述,可以看到現(xiàn)有技術(shù)中進(jìn)程創(chuàng)建的檢測(cè)方案存在以下幾個(gè)很明顯的缺點(diǎn)。1、由于進(jìn)程創(chuàng)建的回調(diào)通知函數(shù),其調(diào)用者是新建進(jìn)程的父進(jìn)程,因此,在進(jìn)程創(chuàng) 建的回調(diào)通知函數(shù)里等待應(yīng)用層的檢查結(jié)果會(huì)導(dǎo)致父進(jìn)程被卡住,如果父進(jìn)程是Windows Explorer或者是其他的界面進(jìn)程,則在檢測(cè)新建進(jìn)程的這段時(shí)間內(nèi)移動(dòng)或刷新窗口都會(huì)導(dǎo) 致很明顯的屏幕變花,體驗(yàn)很差。更為重要的是,如果父進(jìn)程尤其是Windows Explorer被 卡住,用戶將不能在桌面上進(jìn)行任何操作,windows自身也無(wú)法進(jìn)行消息通知,必須等到應(yīng) 用層檢查結(jié)束之后才能繼續(xù),嚴(yán)重降低了系統(tǒng)性能。2、由于進(jìn)程創(chuàng)建的回調(diào)通知函數(shù)保存在Windows內(nèi)核的一個(gè)數(shù)據(jù)結(jié)構(gòu)中, Windows內(nèi)核在訪問(wèn)進(jìn)程創(chuàng)建的回調(diào)通知函數(shù)之前會(huì)申請(qǐng)加鎖進(jìn)行保護(hù),因此,如果在進(jìn)程 創(chuàng)建的回調(diào)通知函數(shù)里等待應(yīng)用層的檢查結(jié)果,這個(gè)數(shù)據(jù)結(jié)構(gòu)將會(huì)長(zhǎng)時(shí)間處于加鎖狀態(tài), 如果此時(shí)再有新建進(jìn)程啟動(dòng),系統(tǒng)將會(huì)因?yàn)樯暾?qǐng)不到對(duì)該數(shù)據(jù)結(jié)構(gòu)訪問(wèn)的鎖而無(wú)法立即啟 動(dòng)新建進(jìn)程,導(dǎo)致系統(tǒng)卡死,需要直到等待結(jié)束、退出進(jìn)程創(chuàng)建的回調(diào)通知函數(shù),鎖被釋放 了新建進(jìn)程才能得以成功創(chuàng)建。區(qū)別于現(xiàn)有技術(shù)需在驅(qū)動(dòng)程序等待應(yīng)用層檢測(cè)結(jié)果的這段時(shí)間內(nèi)中斷創(chuàng)建者進(jìn) 程的執(zhí)行,本發(fā)明由于無(wú)需等待,因此也就無(wú)需中斷創(chuàng)建者進(jìn)程的執(zhí)行。從而在無(wú)需中斷 創(chuàng)建者進(jìn)程執(zhí)行的前提下也能實(shí)現(xiàn)對(duì)新建進(jìn)程的檢測(cè),進(jìn)而根據(jù)檢測(cè)結(jié)果對(duì)新建進(jìn)程進(jìn)行 放行或攔截,能有效的避免屏幕變花、無(wú)法再新建進(jìn)程導(dǎo)致系統(tǒng)卡死的問(wèn)題。本發(fā)明是在 進(jìn)程創(chuàng)建的回調(diào)通知函數(shù)里不進(jìn)行等待操作,而是驅(qū)動(dòng)程序把新進(jìn)程的信息上報(bào)給應(yīng)用層 后,通過(guò)驅(qū)動(dòng)程序調(diào)用Windows內(nèi)核未導(dǎo)出的一個(gè)應(yīng)用編程接口(API)將新建進(jìn)程暫時(shí)掛 起(Suspend),然后就可以退出進(jìn)程創(chuàng)建的回調(diào)通知函數(shù)了,不發(fā)生等待操作能夠避免發(fā)生 不必要的線程切換,不中斷當(dāng)前的指令流,絲毫不會(huì)影響到系統(tǒng)的總體性能和界面表現(xiàn)。當(dāng) 應(yīng)用層檢測(cè)完成把檢測(cè)結(jié)果通知驅(qū)動(dòng)程序之后,如果該進(jìn)程的創(chuàng)建是安全的,則驅(qū)動(dòng)程序 再通過(guò)調(diào)用Windows內(nèi)核未導(dǎo)出的另一個(gè)API將剛剛被掛起的新建進(jìn)程恢復(fù)(Resume),使 得它得以繼續(xù)執(zhí)行;如果是危險(xiǎn)的,就直接殺掉進(jìn)程。這里需要指出的是由于在將新建進(jìn) 程暫時(shí)掛起時(shí),此時(shí)新建進(jìn)程還未得以執(zhí)行,因此,此時(shí)把新建進(jìn)程掛起是安全的,不會(huì)影 響到新建進(jìn)程的任何內(nèi)部邏輯。新建進(jìn)程被掛起后,其父進(jìn)程的執(zhí)行也不會(huì)受到影響而得 以繼續(xù)執(zhí)行。也就是說(shuō),本發(fā)明由于無(wú)需等待而是采用掛起的方式,因此也就無(wú)需中斷作為 父進(jìn)程的創(chuàng)建者進(jìn)程的執(zhí)行。以下對(duì)本發(fā)明進(jìn)行具體闡述。一種實(shí)時(shí)防護(hù)中檢測(cè)進(jìn)程創(chuàng)建的方法,該方法主要包括以下內(nèi)容
一、驅(qū)動(dòng)程序?qū)?yīng)用層進(jìn)行檢測(cè)時(shí)所需要的新建進(jìn)程的相關(guān)信息,上報(bào)給應(yīng)用層, 通知應(yīng)用層進(jìn)行掃描檢測(cè)。這里,驅(qū)動(dòng)程序是根據(jù)進(jìn)程ID得到進(jìn)程的Windows內(nèi)核對(duì)象指針,從而得到應(yīng)用 層檢測(cè)所需要的新建進(jìn)程的相關(guān)信息并上報(bào)給應(yīng)用層。這里,上報(bào)前還包括驅(qū)動(dòng)程序加載時(shí)注冊(cè)進(jìn)程創(chuàng)建的回調(diào)通知函數(shù),每當(dāng)新進(jìn)程 創(chuàng)建時(shí)會(huì)調(diào)用已注冊(cè)的該進(jìn)程創(chuàng)建的回調(diào)通知函數(shù)。二、驅(qū)動(dòng)程序調(diào)用Windows內(nèi)核未導(dǎo)出的用于新建進(jìn)程掛起的API。這里,調(diào)用時(shí)需先獲知該用于新建進(jìn)程掛起的API的調(diào)用地址,之后根據(jù)調(diào)用地 址調(diào)用該用于新建進(jìn)程掛起的API。這里,該用于新建進(jìn)程掛起的API可以命名為NtSuspendProcess。這里,由于該用于新建進(jìn)程掛起的API在系統(tǒng)服務(wù)分發(fā)表中存在對(duì)應(yīng)的索引ID, 因此,根據(jù)索引ID可以得到該用于新建進(jìn)程掛起的API的調(diào)用地址。也就是說(shuō),可以根據(jù) 該用于新建進(jìn)程掛起的API在系統(tǒng)服務(wù)分發(fā)表的索引ID找到其對(duì)應(yīng)的調(diào)用地址。三、驅(qū)動(dòng)程序采用該用于新建進(jìn)程掛起的API,將新建進(jìn)程掛起。這里,將新建進(jìn)程掛起后,就可以退出進(jìn)程創(chuàng)建的回調(diào)通知函數(shù),而無(wú)需像現(xiàn)有技 術(shù)那樣在進(jìn)程創(chuàng)建的回調(diào)通知函數(shù)一直等待直至應(yīng)用層返回檢測(cè)結(jié)果。這里,因?yàn)檫@時(shí)新建進(jìn)程還未得以執(zhí)行,因此這個(gè)時(shí)候把新建進(jìn)程掛起是安全的, 不會(huì)影響到新建進(jìn)程的任何內(nèi)部邏輯。新建進(jìn)程被掛起后,其父進(jìn)程的執(zhí)行也未受影響而 得以繼續(xù)執(zhí)行,從而不會(huì)出現(xiàn)系統(tǒng)或界面被卡住等情況。四、應(yīng)用層根據(jù)新建進(jìn)程的相關(guān)信息進(jìn)行掃描檢測(cè),應(yīng)用層檢測(cè)完畢把檢測(cè)結(jié)果 通知驅(qū)動(dòng)程序。這里,應(yīng)用層收到驅(qū)動(dòng)程序上報(bào)的新建進(jìn)程的相關(guān)信息后,根據(jù)規(guī)則進(jìn)行安全檢 測(cè),比如系統(tǒng)內(nèi)存檢查、工作目錄掃描等。其中,所述新建進(jìn)程的相關(guān)信息包括路徑、進(jìn)程ID
^fn 息。五、驅(qū)動(dòng)程序根據(jù)檢測(cè)結(jié)果執(zhí)行放行或攔截新建進(jìn)程啟動(dòng)的操作。這里,如果檢測(cè)結(jié)果是安全的,則驅(qū)動(dòng)程序再通過(guò)調(diào)用Windows內(nèi)核未導(dǎo)出的用 于新建進(jìn)程恢復(fù)的API,將之前被掛起的新建進(jìn)程重新恢復(fù),并使新建進(jìn)程得以繼續(xù)執(zhí)行; 如果檢測(cè)結(jié)果是危險(xiǎn)的,則驅(qū)動(dòng)程序直接殺死這個(gè)新建進(jìn)程,即執(zhí)行攔截新建進(jìn)程啟動(dòng)的 操作。這里,調(diào)用時(shí)需先獲知該用于新建進(jìn)程恢復(fù)的API的調(diào)用地址,之后根據(jù)調(diào)用地 址調(diào)用用于新建進(jìn)程恢復(fù)的API。這里,該用于新建進(jìn)程恢復(fù)的API可以命名為NtResumeProcess。這里,由于該用于新建進(jìn)程恢復(fù)的API在系統(tǒng)服務(wù)分發(fā)表中存在對(duì)應(yīng)的索引ID, 因此,根據(jù)索引ID可以得到該用于新建進(jìn)程恢復(fù)的API的調(diào)用地址。也就是說(shuō),可以根據(jù) 該用于新建進(jìn)程恢復(fù)的API在系統(tǒng)服務(wù)分發(fā)表的索引ID找到其對(duì)應(yīng)的調(diào)用地址。方法實(shí)施例本實(shí)施例為一個(gè)新建進(jìn)程后對(duì)該新建進(jìn)程進(jìn)行檢測(cè)的實(shí)例。如圖1所示,本實(shí)施例包括以下步驟步驟101、判斷是否能獲取到新建進(jìn)程的相關(guān)信息,如果是,則將新建進(jìn)程的相關(guān) 信息上報(bào)給應(yīng)用層,執(zhí)行步驟102 ;否則,執(zhí)行步驟106。
這里,是根據(jù)進(jìn)程ID取得進(jìn)程的Windows內(nèi)核對(duì)象,從而獲取新建進(jìn)程的相關(guān)信 息并上報(bào)給應(yīng)用層。如果沒(méi)有成功獲取到新建進(jìn)程的相關(guān)信息,則對(duì)新建進(jìn)程放行,不做檢 測(cè)。步驟102、判斷是否獲取到未導(dǎo)出API函數(shù)NtSuspendProcess的調(diào)用地址,如果 是,則執(zhí)行步驟103 ;否則,執(zhí)行步驟106。這里,是根據(jù)該API函數(shù)NtSuspendProcess在系統(tǒng)服務(wù)分發(fā)表的索引號(hào)找到其對(duì) 應(yīng)的函數(shù)地址。步驟103 采用NtSuspendProcess掛起新建進(jìn)程。這里,由于是采用NtSuspendProcess掛起新建進(jìn)程,而不是進(jìn)行等待操作,因此, 不影響新建進(jìn)程的父進(jìn)程的繼續(xù)執(zhí)行。步驟104 應(yīng)用層將根據(jù)新建進(jìn)程的相關(guān)信息獲得的檢測(cè)結(jié)果通知驅(qū)動(dòng)程序。這里,應(yīng)用層獲取新建進(jìn)程的相關(guān)信息后,根據(jù)配置的規(guī)則對(duì)新建進(jìn)程進(jìn)行檢測(cè), 把檢測(cè)結(jié)果通知給驅(qū)動(dòng)程序。步驟105 驅(qū)動(dòng)程序根據(jù)檢測(cè)結(jié)果判斷是否對(duì)新建進(jìn)程做出放行處理,如果是,則 執(zhí)行步驟106 ;否則,對(duì)新建進(jìn)程進(jìn)行攔截。這里,根據(jù)應(yīng)用層的檢測(cè)結(jié)果,驅(qū)動(dòng)程序執(zhí)行恢復(fù)新建進(jìn)程的操作;或者,執(zhí)行殺 死新建進(jìn)程的攔截操作。步驟106、新建進(jìn)程繼續(xù)執(zhí)行。一種實(shí)時(shí)防護(hù)中檢測(cè)進(jìn)程創(chuàng)建的系統(tǒng),該系統(tǒng)包括位于驅(qū)動(dòng)程序側(cè)的上報(bào)單元、 位于應(yīng)用層側(cè)的檢測(cè)單元、位于驅(qū)動(dòng)程序側(cè)的進(jìn)程掛起單元。其中,上報(bào)單元用于新建進(jìn)程 后,驅(qū)動(dòng)程序?qū)?yīng)用層進(jìn)行檢測(cè)時(shí)所需要的新建進(jìn)程的相關(guān)信息上報(bào)給應(yīng)用層,通知應(yīng)用 層進(jìn)行掃描檢測(cè)。檢測(cè)單元用于應(yīng)用層根據(jù)所述新建進(jìn)程的相關(guān)信息進(jìn)行掃描檢測(cè)。進(jìn)程 掛起單元用于在應(yīng)用層進(jìn)行掃描檢測(cè)時(shí),所述驅(qū)動(dòng)程序?qū)⑺鲂陆ㄟM(jìn)程掛起。這里,該系統(tǒng)還包括位于驅(qū)動(dòng)程序側(cè)的進(jìn)程恢復(fù)單元,進(jìn)程恢復(fù)單元用于應(yīng)用層 將檢測(cè)結(jié)果返回驅(qū)動(dòng)程序,當(dāng)檢測(cè)結(jié)果為安全時(shí),驅(qū)動(dòng)程序?qū)⑿陆ㄟM(jìn)程恢復(fù)。這里,進(jìn)程掛起單元進(jìn)一步用于驅(qū)動(dòng)程序通過(guò)調(diào)用Windows內(nèi)核未導(dǎo)出的用于新 建進(jìn)程掛起的API,將新建進(jìn)程掛起。這里,進(jìn)程恢復(fù)單元進(jìn)一步用于驅(qū)動(dòng)程序通過(guò)調(diào)用Windows內(nèi)核未導(dǎo)出的用于新 建進(jìn)程恢復(fù)的API,將之前被掛起的新建進(jìn)程重新恢復(fù),并繼續(xù)執(zhí)行新建進(jìn)程。系統(tǒng)實(shí)施例本實(shí)施例為本發(fā)明系統(tǒng)的一個(gè)優(yōu)選實(shí)施例,如圖2所示,該系統(tǒng)包 括驅(qū)動(dòng)程序側(cè)相連的上報(bào)單元、進(jìn)程掛起單元及進(jìn)程恢復(fù)單元,還包括應(yīng)用層側(cè)的檢測(cè)單 元。其中,上報(bào)單元用于新建進(jìn)程后,驅(qū)動(dòng)程序?qū)?yīng)用層進(jìn)行檢測(cè)時(shí)所需要的新建進(jìn)程的 相關(guān)信息上報(bào)給應(yīng)用層,通知應(yīng)用層進(jìn)行掃描檢測(cè);檢測(cè)單元用于應(yīng)用層根據(jù)新建進(jìn)程的 相關(guān)信息進(jìn)行掃描檢測(cè)。進(jìn)程掛起單元用于在應(yīng)用層進(jìn)行掃描檢測(cè)時(shí),驅(qū)動(dòng)程序通過(guò)調(diào)用 Windows內(nèi)核未導(dǎo)出的用于新建進(jìn)程掛起的API,將新建進(jìn)程掛起。進(jìn)程恢復(fù)單元用于應(yīng)用 層將檢測(cè)結(jié)果返回驅(qū)動(dòng)程序,當(dāng)檢測(cè)結(jié)果為安全時(shí),驅(qū)動(dòng)程序通過(guò)調(diào)用Windows內(nèi)核未導(dǎo) 出的用于新建進(jìn)程恢復(fù)的API,將之前被掛起的新建進(jìn)程重新恢復(fù),并繼續(xù)執(zhí)行新建進(jìn)程。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種實(shí)時(shí)防護(hù)中檢測(cè)進(jìn)程創(chuàng)建的方法,其特征在于,該方法包括新建進(jìn)程后,驅(qū)動(dòng) 程序?qū)?yīng)用層進(jìn)行檢測(cè)時(shí)所需要的新建進(jìn)程的相關(guān)信息上報(bào)給應(yīng)用層,通知應(yīng)用層進(jìn)行掃 描檢測(cè);在應(yīng)用層根據(jù)所述新建進(jìn)程的相關(guān)信息進(jìn)行掃描檢測(cè)時(shí)將所述新建進(jìn)程掛起。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法還包括所述應(yīng)用層將檢測(cè)結(jié)果返 回所述驅(qū)動(dòng)程序,當(dāng)所述檢測(cè)結(jié)果為安全時(shí),所述驅(qū)動(dòng)程序?qū)⑺鲂陆ㄟM(jìn)程恢復(fù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,進(jìn)行所述上報(bào)前,該方法還包括所述驅(qū) 動(dòng)程序加載時(shí)注冊(cè)進(jìn)程創(chuàng)建的回調(diào)通知函數(shù),每當(dāng)新進(jìn)程創(chuàng)建時(shí)會(huì)調(diào)用已注冊(cè)的所述進(jìn)程 創(chuàng)建的回調(diào)通知函數(shù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,將所述新建進(jìn)程掛起后,該方法還包括 退出所述進(jìn)程創(chuàng)建的回調(diào)通知函數(shù)。
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,將所述新建進(jìn)程掛起具體 包括所述驅(qū)動(dòng)程序通過(guò)調(diào)用Windows內(nèi)核未導(dǎo)出的用于新建進(jìn)程掛起的應(yīng)用編程接口 (API),將所述新建進(jìn)程掛起。
6.根據(jù)權(quán)利要求2至4中任一項(xiàng)所述的方法,其特征在于,將所述新建進(jìn)程恢復(fù)具體包 括所述驅(qū)動(dòng)程序通過(guò)調(diào)用Windows內(nèi)核未導(dǎo)出的用于新建進(jìn)程恢復(fù)的API,將之前被掛起 的新建進(jìn)程重新恢復(fù),并繼續(xù)執(zhí)行所述新建進(jìn)程。
7.一種實(shí)時(shí)防護(hù)中檢測(cè)進(jìn)程創(chuàng)建的系統(tǒng),其特征在于,該系統(tǒng)包括上報(bào)單元、檢測(cè)單 元、進(jìn)程掛起單元;其中,所述上報(bào)單元,用于新建進(jìn)程后,驅(qū)動(dòng)程序?qū)?yīng)用層進(jìn)行檢測(cè)時(shí)所需要的新建進(jìn)程的 相關(guān)信息上報(bào)給應(yīng)用層,通知應(yīng)用層進(jìn)行掃描檢測(cè);所述檢測(cè)單元,用于應(yīng)用層根據(jù)所述新建進(jìn)程的相關(guān)信息進(jìn)行掃描檢測(cè);所述進(jìn)程掛起單元,用于在應(yīng)用層進(jìn)行掃描檢測(cè)時(shí),所述驅(qū)動(dòng)程序?qū)⑺鲂陆ㄟM(jìn)程掛起。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,該系統(tǒng)還包括進(jìn)程恢復(fù)單元,用于所述 應(yīng)用層將檢測(cè)結(jié)果返回所述驅(qū)動(dòng)程序,當(dāng)所述檢測(cè)結(jié)果為安全時(shí),所述驅(qū)動(dòng)程序?qū)⑺鲂?建進(jìn)程恢復(fù)。
9.根據(jù)權(quán)利要求7或8所述的系統(tǒng),其特征在于,所述進(jìn)程掛起單元,進(jìn)一步用于所述 驅(qū)動(dòng)程序通過(guò)調(diào)用Windows內(nèi)核未導(dǎo)出的用于新建進(jìn)程掛起的API,將所述新建進(jìn)程掛起。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述進(jìn)程恢復(fù)單元,進(jìn)一步用于所述驅(qū) 動(dòng)程序通過(guò)調(diào)用Windows內(nèi)核未導(dǎo)出的用于新建進(jìn)程恢復(fù)的API,將之前被掛起的新建進(jìn) 程重新恢復(fù),并繼續(xù)執(zhí)行所述新建進(jìn)程。
全文摘要
本發(fā)明公開(kāi)了一種實(shí)時(shí)防護(hù)中檢測(cè)進(jìn)程創(chuàng)建的方法,新建進(jìn)程后,驅(qū)動(dòng)程序?qū)?yīng)用層進(jìn)行檢測(cè)時(shí)所需要的新建進(jìn)程的相關(guān)信息上報(bào)給應(yīng)用層,通知應(yīng)用層進(jìn)行掃描檢測(cè);在應(yīng)用層根據(jù)新建進(jìn)程的相關(guān)信息進(jìn)行掃描檢測(cè)時(shí)將新建進(jìn)程掛起。本發(fā)明還公開(kāi)了一種實(shí)時(shí)防護(hù)中檢測(cè)進(jìn)程創(chuàng)建的系統(tǒng),系統(tǒng)中的進(jìn)程掛起單元用于在應(yīng)用層進(jìn)行掃描檢測(cè)時(shí),驅(qū)動(dòng)程序?qū)⑿陆ㄟM(jìn)程掛起。采用本發(fā)明的方法及系統(tǒng),無(wú)需中斷創(chuàng)建者進(jìn)程,也能實(shí)現(xiàn)對(duì)新建進(jìn)程的檢測(cè)。
文檔編號(hào)G06F21/22GK102081720SQ20101056033
公開(kāi)日2011年6月1日 申請(qǐng)日期2010年11月18日 優(yōu)先權(quán)日2010年11月18日
發(fā)明者劉桂澤 申請(qǐng)人:騰訊科技(深圳)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
<nobr id="phwme"><noframes id="phwme"><small id="phwme"></small>
<nobr id="phwme"><ul id="phwme"><dd id="phwme"></dd></ul></nobr>
<nobr id="phwme"><ul id="phwme"><tfoot id="phwme"></tfoot></ul></nobr><small id="phwme"><sub id="phwme"><dd id="phwme"></dd></sub></small>