程標(biāo)識與合法操作集合的對應(yīng)關(guān)系中獲取該應(yīng)用服務(wù)進(jìn)程對應(yīng)的合法操作集合。
[0065]步驟205:如果該應(yīng)用服務(wù)進(jìn)程對應(yīng)的合法操作集合中不包括待執(zhí)行的操作,則確定待執(zhí)行的操作為惡意操作,執(zhí)行步驟206。
[0066]其中,應(yīng)用服務(wù)進(jìn)程可能存在漏洞,黑客可以利用該漏洞控制應(yīng)用服務(wù)進(jìn)程執(zhí)行除該應(yīng)用服務(wù)進(jìn)程對應(yīng)的合法操作以外的其他操作,以獲得自身所需要的利益,該其他操作即為惡意操作,需要對其進(jìn)行阻止。所以當(dāng)待執(zhí)行的操作不在該應(yīng)用服務(wù)進(jìn)程對應(yīng)的合法操作集合中,則可以確定待執(zhí)行的操作為惡意操作。
[0067]例如,假設(shè)該應(yīng)用服務(wù)進(jìn)程對應(yīng)的合法操作集合中只包括讀寫web根目錄下的文件。如果該應(yīng)用服務(wù)進(jìn)程存在漏洞,黑客可以通過該漏洞控制應(yīng)用服務(wù)進(jìn)程讀寫非web根目錄下的文件,即在步驟203中確定出該應(yīng)用服務(wù)進(jìn)程待執(zhí)行的操作為讀寫非web根目錄下的文件,而該應(yīng)用服務(wù)進(jìn)程對應(yīng)的合法操作集合中不包括待執(zhí)行的操作,所以可以確定待執(zhí)行的操作為惡意操作。
[0068]再如,假設(shè)該應(yīng)用服務(wù)對應(yīng)的合法操作集合中不包括派生新進(jìn)程的操作。如果該應(yīng)用服務(wù)進(jìn)程存在漏洞,黑客可以通過該漏洞控制應(yīng)用服務(wù)進(jìn)程派生新進(jìn)程,即在步驟203中獲取的待執(zhí)行的操作為派生新進(jìn)程,所以可以確定待執(zhí)行的操作為惡意操作。
[0069]步驟206:阻止該應(yīng)用服務(wù)進(jìn)程執(zhí)行待執(zhí)行的操作。
[0070]具體地,通過調(diào)用的第一函數(shù)向該應(yīng)用服務(wù)進(jìn)程返回錯誤響應(yīng),而應(yīng)用服務(wù)進(jìn)程接收該錯誤響應(yīng)后無法繼續(xù)執(zhí)行操作,從而達(dá)到阻止該應(yīng)用服務(wù)進(jìn)程執(zhí)行待執(zhí)行的操作的目的。
[0071]其中,如果待執(zhí)行的操作不是惡意操作,則通過調(diào)用的第一函數(shù)從系統(tǒng)動態(tài)鏈接庫中調(diào)用該調(diào)用的第一函數(shù)對應(yīng)的第二函數(shù),向該應(yīng)用服務(wù)進(jìn)程返回調(diào)用的第二函數(shù)。應(yīng)用服務(wù)進(jìn)程向調(diào)用的第二函數(shù)傳入調(diào)用參數(shù),運行調(diào)用的第二函數(shù),根據(jù)該調(diào)用參數(shù)并通過調(diào)用的第二函數(shù)執(zhí)行待執(zhí)行的操作,以為用戶提供服務(wù)。
[0072]在本發(fā)明實施例中,通過第一動態(tài)鏈接庫獲取應(yīng)用服務(wù)進(jìn)程需要調(diào)用的第一函數(shù)和調(diào)用參數(shù),根據(jù)該第一函數(shù)和調(diào)用參數(shù)確定應(yīng)用服務(wù)進(jìn)程待執(zhí)行的操作,由于事先定義了應(yīng)用服務(wù)進(jìn)程對應(yīng)的合法操作集合,如果該合法操作集合中不包括待執(zhí)行的操作,則可以確定出待執(zhí)行的操作為惡意操作,避免檢測不出惡意操作,并對該惡意操作進(jìn)行阻止,提高了服務(wù)器的安全性。另外,在應(yīng)用服務(wù)進(jìn)程執(zhí)行操作之前進(jìn)行惡意操作的檢測,從而能實時檢測出惡意操作,做到實時阻斷的目的。以及,只對應(yīng)用服務(wù)進(jìn)程進(jìn)行安全檢測,不會響應(yīng)服務(wù)器的系統(tǒng)應(yīng)用的正常運行。
[0073]實施例3
[0074]參見圖3,本發(fā)明實施例提供了一種阻止惡意操作的裝置,包括:
[0075]控制模塊301,用于控制應(yīng)用服務(wù)進(jìn)程從第一動態(tài)鏈接庫中調(diào)用待調(diào)用的函數(shù)標(biāo)識對應(yīng)的第一函數(shù),第一動態(tài)鏈接庫包括系統(tǒng)動態(tài)鏈接庫中的每個第二函數(shù)對應(yīng)第一函數(shù);
[0076]獲取模塊302,用于通過調(diào)用的第一函數(shù)獲取應(yīng)用服務(wù)進(jìn)程傳入給調(diào)用的第一函數(shù)的調(diào)用參數(shù);
[0077]確定模塊303,用于根據(jù)調(diào)用的第一函數(shù)和該調(diào)用參數(shù),確定應(yīng)用服務(wù)進(jìn)程待執(zhí)行的操作是否為惡意操作;
[0078]阻止模塊304,用于如果是惡意操作,則阻止應(yīng)用服務(wù)進(jìn)程執(zhí)行待執(zhí)行的操作。
[0079]優(yōu)選的,確定模塊303包括:
[0080]第一確定單元,用于根據(jù)調(diào)用的第一函數(shù)和該調(diào)用參數(shù),確定應(yīng)用服務(wù)進(jìn)程待執(zhí)行的操作;
[0081]第二確定單元,用于如果應(yīng)用服務(wù)進(jìn)程對應(yīng)的合法操作集合中不包括待執(zhí)行的操作,則確定待執(zhí)行的操作為惡意操作。
[0082]優(yōu)選的,控制模塊301,用于通過預(yù)加載配置文件控制應(yīng)用服務(wù)進(jìn)程從第一動態(tài)鏈接庫中調(diào)用待調(diào)用的函數(shù)標(biāo)識對應(yīng)的第一函數(shù),預(yù)加載配置文件用于存儲第一動態(tài)鏈接庫的地址。
[0083]進(jìn)一步地,該裝置還包括:
[0084]修改模塊,用于將預(yù)加載配置文件中存儲的系統(tǒng)動態(tài)鏈接庫的地址修改為第一動態(tài)鏈接庫的地址。
[0085]優(yōu)選的,阻止模塊304,用于通過調(diào)用的第一函數(shù)向應(yīng)用服務(wù)進(jìn)程返回錯誤響應(yīng),以實現(xiàn)阻止應(yīng)用服務(wù)進(jìn)程執(zhí)行待執(zhí)行的操作。
[0086]進(jìn)一步地,該裝置還包括:
[0087]調(diào)用模塊,用于如果不是惡意操作,則通過調(diào)用的第一函數(shù)從系統(tǒng)動態(tài)鏈接庫調(diào)用調(diào)用的第一函數(shù)對應(yīng)的第二函數(shù),向應(yīng)用服務(wù)進(jìn)程返回調(diào)用的第二函數(shù),以使應(yīng)用服務(wù)進(jìn)程根據(jù)調(diào)用的第二函數(shù)執(zhí)行待執(zhí)行的操作。
[0088]在本發(fā)明實施例中,通過第一動態(tài)鏈接庫獲取應(yīng)用服務(wù)進(jìn)程需要調(diào)用的第一函數(shù)和調(diào)用參數(shù),根據(jù)該第一函數(shù)和調(diào)用參數(shù)確定應(yīng)用服務(wù)進(jìn)程待執(zhí)行的操作,由于事先定義了應(yīng)用服務(wù)進(jìn)程對應(yīng)的合法操作集合,如果該合法操作集合中不包括待執(zhí)行的操作,則可以確定出待執(zhí)行的操作為惡意操作,避免檢測不出惡意操作,并對該惡意操作進(jìn)行阻止,提高了服務(wù)器的安全性。另外,在應(yīng)用服務(wù)進(jìn)程執(zhí)行操作之前進(jìn)行惡意操作的檢測,從而能實時檢測出惡意操作,做到實時阻斷的目的。以及,只對應(yīng)用服務(wù)進(jìn)程進(jìn)行安全檢測,不會響應(yīng)服務(wù)器的系統(tǒng)應(yīng)用的正常運行。
[0089]實施例4
[0090]圖4是本發(fā)明實施例提供的服務(wù)器的結(jié)構(gòu)示意圖。服務(wù)器1900可因配置或性能不同而產(chǎn)生比較大的差異,可以包括一個或一個以上中央處理器(central processingunits, CPU) 1922 (例如,一個或一個以上處理器)和存儲器1932,一個或一個以上存儲應(yīng)用程序1942或數(shù)據(jù)1944的存儲介質(zhì)1930 (例如一個或一個以上海量存儲設(shè)備)。其中,存儲器1932和存儲介質(zhì)1930可以是短暫存儲或持久存儲。存儲在存儲介質(zhì)1930的程序可以包括一個或一個以上模塊(圖示沒標(biāo)出),每個模塊可以包括對服務(wù)器中的一系列指令操作。更進(jìn)一步地,中央處理器1922可以設(shè)置為與存儲介質(zhì)1930通信,在服務(wù)器1900上執(zhí)行存儲介質(zhì)1930中的一系列指令操作。
[0091]服務(wù)器1900還可以包括一個或一個以上電源1926,一個或一個以上有線或無線網(wǎng)絡(luò)接口 1950,一個或一個以上輸入輸出接口 1958,一個或一個以上鍵盤1956,和/或,一個或一個以上操作系統(tǒng) 1941,例如 Windows ServerTM, Mac OS XTM,UnixTM,LinuxTM,F(xiàn)reeBSDTM 等等。
[0092]服務(wù)器1900可以包括有存儲器,以及一個或者一個以上的程序,其中一個或者一個以上程序存儲于存儲器中,且經(jīng)配置以由一個或者一個以上處理器執(zhí)行所述一個或者一個以上程序包含用于進(jìn)行以下操作的指令:
[0093]控制應(yīng)用服務(wù)進(jìn)程從第一動態(tài)鏈接庫中調(diào)用待調(diào)用的函數(shù)標(biāo)識對應(yīng)的第一函數(shù),所述第一動態(tài)鏈接庫包括所述系統(tǒng)動態(tài)鏈接庫中的每個第二函數(shù)對應(yīng)第一函數(shù);
[0094]通過所述調(diào)用的第一函數(shù)獲取所述應(yīng)用服務(wù)進(jìn)程傳入給所述調(diào)用的第一函數(shù)的調(diào)用參數(shù);
[0095]根據(jù)所述調(diào)用的第一函數(shù)和所述調(diào)用參數(shù),確定所述應(yīng)用服務(wù)進(jìn)程待執(zhí)行的操作是否為惡意操作;
[0096]如果是惡意操作,則阻止所述應(yīng)用服務(wù)進(jìn)程執(zhí)行所述待執(zhí)行的操作。
[0097]優(yōu)選的,所述根據(jù)所述調(diào)用的第一函數(shù)和所述調(diào)用參數(shù),確定