一種基于Windows進程的系統(tǒng)性保護方法及裝置的制造方法
【技術(shù)領域】
[0001]本發(fā)明涉及網(wǎng)絡安全技術(shù)領域,特別涉及一種Windows進程的系統(tǒng)性保護方法及
目.ο
【背景技術(shù)】
[0002]Windows操作系統(tǒng)現(xiàn)在是計算機以及服務器等設備上普遍應用的操作系統(tǒng),隨著社會的發(fā)展,用戶對計算機及服務器上業(yè)務的穩(wěn)定性和安全性要求越來越高,其中,業(yè)務處理的進程是整個業(yè)務系統(tǒng)的核心,如果業(yè)務處理的進程因受到攻擊而出現(xiàn)終止或被破壞,那用戶則不能對業(yè)務進行訪問。Windows進程包括無窗口的內(nèi)核進程和有窗口的GUI進程。
[0003]目前,Windows進程的保護方法,對于無窗口的內(nèi)核進程主要通過DLL注入和API攔截來讓程序調(diào)用偽API函數(shù),進程被結(jié)束時會調(diào)用Terminate Process函數(shù),過濾這個函數(shù),如果是需要保護的進程就返回一個無效的值,從而可以達到保護當前Windows進程的效果;對于有窗口的⑶I進程,只需攔截WM_CL0SE消息。
[0004]可見,現(xiàn)有技術(shù)針對Windows操作系統(tǒng)的兩種進程,采取分別保護的形式,而且只對Terminate Process函數(shù)和WM_CL0SE消息兩種終止當前進程的非法進程進行攔截或改寫,對于通過代碼注入(創(chuàng)建遠程線程)等關(guān)閉或破壞當前Windows進程的非法進程則不能進行攔截,因而Windows進程保護的可靠性較低。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種Windows進程的系統(tǒng)性保護方法及裝置,能夠提升Windows進程保護的可靠性。
[0006]本發(fā)明提供了一種Windows進程的系統(tǒng)性保護方法,包括:
[0007]加載內(nèi)核進程保護模塊和內(nèi)核規(guī)則管理模塊;
[0008]將進程保護規(guī)則寫入所述內(nèi)核規(guī)則管理模塊;
[0009]將應用窗口消息保護模塊注入所述進程保護規(guī)則中要求保護的GUI進程中;
[0010]根據(jù)所述進程保護規(guī)則,對進入所述內(nèi)核進程保護模塊或應用窗口消息保護模塊的訪問進程或窗口消息進行判斷;
[0011 ] 根據(jù)判斷結(jié)果,對所述訪問進程或窗口消息進行處理。
[0012]優(yōu)選地,
[0013]所述內(nèi)核進程保護模塊和內(nèi)核規(guī)則管理模塊包括:通過內(nèi)核驅(qū)動的方式實現(xiàn),在初次安裝之后,隨操作系統(tǒng)運行自動運行;
[0014]所述窗口消息保護模塊通過Windows標準動態(tài)庫的方式實現(xiàn),與被注入的所述⑶I進程一同運行。
[0015]優(yōu)選地,所述進程保護規(guī)則包括:
[0016]定義訪問進程對內(nèi)核進程進行訪問的規(guī)則,所述訪問進程包括對內(nèi)核進程進行終止、寫入內(nèi)核進程內(nèi)存地址空間、在內(nèi)核進程中創(chuàng)建遠程線程,如果所述訪問進程的訪問行為是正常的訪問過程,則該訪問進程為允許,如果所述訪問進程是對內(nèi)核進程進行非法關(guān)閉或破壞,則該訪問進程為不允許;
[0017]定義需要保護的GUI進程及對GUI進程進行運行的規(guī)則,如果對所述GUI進程訪問的窗口消息為非法終止或退出的破壞消息,則該窗口消息為不允許,否則為允許。
[0018]優(yōu)選地,所述將進程保護規(guī)則寫入所述內(nèi)核規(guī)則管理模塊包括:
[0019]在首次寫入時,將所述進程保護規(guī)則分別寫入內(nèi)存和硬盤,內(nèi)存上的進程保護規(guī)則寫在所述內(nèi)核規(guī)則管理模塊內(nèi),硬盤上的進程保護規(guī)則永久保存在硬盤上,當Windows系統(tǒng)重新啟動時,從硬盤上讀取所述進程保護規(guī)則,并將其重新寫入所述內(nèi)核規(guī)則管理模塊。
[0020]優(yōu)選地,所述根據(jù)判斷結(jié)果,對所述訪問進程或窗口消息進行處理包括:
[0021]根據(jù)判斷結(jié)果,如果所述訪問進程的訪問行為或所述窗口消息的運行行為不被允許,則阻止所述訪問進程或丟棄所述窗口消息,如果所述訪問進程的訪問行為或所述窗口消息的運行行為被允許,則所述訪問進程或窗口消息繼續(xù)向下傳遞。
[0022]優(yōu)選地,在所述加載內(nèi)核進程保護模塊和內(nèi)核規(guī)則管理模塊之前進一步包括:
[0023]安裝主服務進程模塊,所述主服務進程模塊通過Windows應用程序的方式實現(xiàn);用戶通過向所述主服務進程模塊發(fā)送命令,所述主服務進程模塊判斷所述命令類型,如果所述命令是退出命令,則卸載所述內(nèi)核進程保護模塊、內(nèi)核規(guī)則管理模塊和應用窗口消息保護模塊,然后所述主服務進程模塊也退出運行,如果命令是對所述進程保護規(guī)則進行管理的命令,則從所述命令參數(shù)中獲取輸入進程保護規(guī)則的類型和內(nèi)容,然后將新的進程保護規(guī)則寫入內(nèi)核規(guī)則管理模塊和硬盤,重新把所述應用窗口消息保護模塊注入到最新規(guī)則中要求保護的所述GUI進程中。
[0024]本發(fā)明提供了一種Windows進程的系統(tǒng)性保護裝置,包括:
[0025]加載單元,用于加載內(nèi)核進程保護模塊和內(nèi)核規(guī)則管理模塊;
[0026]寫入單元,用于將進程保護規(guī)則寫入所述內(nèi)核規(guī)則管理模塊;
[0027]注入單元,用于將應用窗口消息保護模塊注入所述進程保護規(guī)則中要求保護的GUI進程中;
[0028]判斷單元,用于根據(jù)所述進程保護規(guī)則,對進入所述內(nèi)核進程保護模塊或應用窗口消息保護模塊的訪問進程或窗口消息進行判斷;
[0029]處理單元,用于根據(jù)判斷結(jié)果,對所述訪問進程或窗口消息進行處理。
[0030]優(yōu)選地,
[0031]所述寫入單元,用于利用所述主服務進程模塊,在首次寫入時,將所述進程保護規(guī)則分別寫入內(nèi)存和硬盤,內(nèi)存上的進程保護規(guī)則寫在所述內(nèi)核規(guī)則管理模塊內(nèi),硬盤上的進程保護規(guī)則永久保存在硬盤上,當Windows系統(tǒng)重新啟動時,所述主服務進程模塊從硬盤上讀取所述進程保護規(guī)則,并將其重新寫入所述內(nèi)核規(guī)則管理模塊;
[0032]和/ 或,
[0033]所述處理裝置,用于根據(jù)判斷結(jié)果,如果所述訪問進程的訪問行為或所述窗口消息的運行行為不被允許,則阻止所述訪問進程或丟棄所述窗口消息,如果所述訪問進程的訪問行為或所述窗口消息的運行行為被允許,則所述訪問進程或窗口消息繼續(xù)向下傳遞。
[0034]優(yōu)選地,該裝置進一步包括:
[0035]安裝單元,用于安裝主服務進程模塊,所述主服務進程模塊通過Windows應用程序的方式實現(xiàn);
[0036]卸載單元,用于用戶通過向所述主服務進程模塊發(fā)送命令,所述主服務進程模塊判斷所述命令類型,如果所述命令是退出命令,那就卸載所述所有模塊,然后所述主服務進程模塊也退出運行;
[0037]管理單元:用于用戶通過向所述主服務進程模塊發(fā)送命令,所述主服務進程模塊判斷所述命令類型,如果命令是針對所述進程保護規(guī)則管理命令,則從所述命令參數(shù)中獲取輸入進程保護規(guī)則的類型和內(nèi)容,然后將新的進程保護規(guī)則寫入內(nèi)核規(guī)則管理模塊和硬盤,重新把所述應用窗口消息保護模塊注入到最新規(guī)則中要求保護的所述GUI進程中。
[0038]優(yōu)選地,所述卸載單元、管理單元、加載單元、寫入單元、注入單元均布置于所述主服務進程模塊內(nèi)。
[0039]本發(fā)明實施例提供了一種Windows進程的系統(tǒng)性保護方法及裝置,通過加載內(nèi)核進程保護模塊和內(nèi)核規(guī)則管理模塊,將進程保護規(guī)則寫入內(nèi)核規(guī)則管理模塊,并將應用窗口消息保護模塊注入進程保護規(guī)則中要求保護的GUI進程中,當有訪問進程或窗口消息訪問內(nèi)核進程或GUI進程時,訪問進程或窗口消息首先對應進入內(nèi)核進程保護模塊或應用窗口消息保護模塊,內(nèi)核進程保護模塊或應用窗口消息保護模塊發(fā)出請求,由內(nèi)核規(guī)則管理模塊對訪問進程或窗口消息進行判斷,內(nèi)核進程保護模塊或應用窗口消息保護模塊根據(jù)判斷結(jié)果對問進程或窗口消息做出相應的處理。由用戶定義進程保護規(guī)則,能夠更加的有效過濾對內(nèi)核進程和GUI進程進行非法終止、破壞的訪問進程和窗口消息,從而提升Windows進程保護的可靠性。
【附圖說明】
[0040]圖1是本發(fā)明實施例提供的一種Windows進程的系統(tǒng)性保護方法流程圖;
[0041]圖2是本發(fā)明另一個實施例提供的一種Windows進程的系統(tǒng)性保護方法流程圖;
[0042]圖3是本發(fā)明一個實施例中提供的主服務進程模塊對各個模塊關(guān)閉或?qū)M程保護規(guī)則進行管理的流程圖;
[0043]圖4是