1.一種防止系統(tǒng)被惡意關(guān)閉的方法,其特征在于,包括:
監(jiān)聽進程對操作系統(tǒng)中產(chǎn)生系統(tǒng)錯誤函數(shù)進行調(diào)用的事件;
根據(jù)監(jiān)聽到的所述事件,獲取所述進程傳送的錯誤報告選項參數(shù);
判斷所述錯誤報告選項參數(shù)是否為表示產(chǎn)生錯誤并關(guān)閉系統(tǒng)的參數(shù);
若所述錯誤報告選項參數(shù)為表示產(chǎn)生錯誤并關(guān)閉系統(tǒng)的參數(shù),則獲取所述進程路徑;
根據(jù)所述進程路徑,判斷所述進程是否是惡意進程;
若所述進程是惡意進程,則拒絕產(chǎn)生系統(tǒng)錯誤。
2.如權(quán)利要求1所述的防止系統(tǒng)被惡意關(guān)閉的方法,其特征在于,所述系統(tǒng)為Windows操作系統(tǒng);所述產(chǎn)生系統(tǒng)錯誤函數(shù)為操作系統(tǒng)內(nèi)核層的NtRaiseHardError函數(shù);
在監(jiān)聽進程對操作系統(tǒng)中產(chǎn)生系統(tǒng)錯誤函數(shù)進行調(diào)用的事件之前,所述方法還包括:預(yù)先設(shè)置掛鉤操作系統(tǒng)中產(chǎn)生系統(tǒng)錯誤函數(shù)的鉤子函數(shù);
所述監(jiān)聽進程對操作系統(tǒng)中產(chǎn)生系統(tǒng)錯誤函數(shù)進行調(diào)用的事件,包括:通過所述鉤子函數(shù)監(jiān)聽進程對操作系統(tǒng)中產(chǎn)生系統(tǒng)錯誤函數(shù)進行調(diào)用的事件。
3.如權(quán)利要求2所述的防止系統(tǒng)被惡意關(guān)閉的方法,其特征在于,
所述拒絕產(chǎn)生系統(tǒng)錯誤,包括:
通過所述鉤子函數(shù)向所述進程返回拒絕消息;或者
所述鉤子函數(shù)拒絕調(diào)用產(chǎn)生系統(tǒng)錯誤函數(shù),以拒絕產(chǎn)生系統(tǒng)錯誤。
4.如權(quán)利要求2所述的防止系統(tǒng)被惡意關(guān)閉的方法,其特征在于,所述判斷所述錯誤報告選項參數(shù)是否為表示產(chǎn)生錯誤并關(guān)閉系統(tǒng)的參數(shù),包括:
判斷所述錯誤報告選項參數(shù)是否為6,是則確定所述錯誤報告選項參數(shù)為表示產(chǎn)生錯誤并關(guān)閉系統(tǒng)的參數(shù),否則確定所述錯誤報告選項參數(shù)不是表示產(chǎn)生錯誤并關(guān)閉系統(tǒng)的參數(shù)。
5.如權(quán)利要求2所述的防止系統(tǒng)被惡意關(guān)閉的方法,其特征在于,在根據(jù)所述進程路徑,判斷所述進程是否是惡意進程之后,還包括:
若所述進程不是惡意進程,則調(diào)用產(chǎn)生系統(tǒng)錯誤函數(shù),以產(chǎn)生系統(tǒng)錯誤;
在判斷所述錯誤報告選項參數(shù)是否為表示產(chǎn)生錯誤并關(guān)閉系統(tǒng)的參數(shù)之后,還包括:
若所述錯誤報告選項參數(shù)不是表示產(chǎn)生錯誤并關(guān)閉系統(tǒng)的參數(shù),則跳至執(zhí)行調(diào)用產(chǎn)生系統(tǒng)錯誤函數(shù)的步驟。
6.如權(quán)利要求1所述的防止系統(tǒng)被惡意關(guān)閉的方法,其特征在于,所述根據(jù)所述進程路徑,判斷所述進程是否是惡意進程,包括:
根據(jù)預(yù)先設(shè)置的特征值算法,獲取所述進程路徑對應(yīng)文件的特征值;
判斷預(yù)先設(shè)置的特征庫中,是否記錄有所述進程路徑對應(yīng)文件的特征值;
若預(yù)先設(shè)置的特征庫中記錄有所述進程路徑對應(yīng)文件的特征值,則確定所述進程為惡意進程;若預(yù)先設(shè)置的特征庫中沒有記錄所述進程路徑對應(yīng)文件的特征值,則確定所述進程不是惡意進程;
其中,所述預(yù)先設(shè)置的特征庫中記錄有已知惡意進程路徑對應(yīng)文件的特征值。
7.如權(quán)利要求6所述的防止系統(tǒng)被惡意關(guān)閉的方法,其特征在于,所述預(yù)先設(shè)置的特征值算法為:
求取進程路徑的計算消息摘要算法值或哈希值作為進程路徑對應(yīng)文件的特征值,或者
從進程路徑中獲取文件版本號作為進程路徑對應(yīng)文件的特征值。
8.如權(quán)利要求6或7所述的防止系統(tǒng)被惡意關(guān)閉的方法,其特征在于,在所述判斷預(yù)先設(shè)置的特征庫中,是否記錄有所述進程路徑對應(yīng)文件的特征值之前,還包括:
統(tǒng)計已知惡意進程路徑;
根據(jù)預(yù)先設(shè)置的特征值算法,獲取所述已知惡意進程路徑對應(yīng)文件的特征值;
將已知惡意進程路徑的特征值存儲在特征庫中。
9.一種防止系統(tǒng)被惡意關(guān)閉的裝置,其特征在于,包括:
監(jiān)聽模塊,用于監(jiān)聽進程對操作系統(tǒng)中產(chǎn)生系統(tǒng)錯誤函數(shù)進行調(diào)用的事件;
錯誤報告獲取模塊,用于根據(jù)所述監(jiān)聽模塊監(jiān)聽到的事件,獲取所述進程傳送的錯誤報告選項參數(shù);
第一判斷模塊,用于判斷所述錯誤報告獲取模塊獲取的所述錯誤報告選項參數(shù)是否為表示產(chǎn)生錯誤并關(guān)閉系統(tǒng)的參數(shù);
進程獲取模塊,用于在所述第一判斷模塊判斷出所述錯誤報告選項參數(shù)為表示產(chǎn)生錯誤并關(guān)閉系統(tǒng)的參數(shù)時,獲取所述進程路徑;
第二判斷模塊,用于根據(jù)所述進程獲取模塊獲取到的所述進程路徑,判斷所述進程是否是惡意進程;
拒絕模塊,用于在所述第二判斷模塊判斷出所述進程是惡意進程時,拒絕產(chǎn)生系統(tǒng)錯誤。
10.根據(jù)權(quán)利要求9所述的防止系統(tǒng)被惡意關(guān)閉的裝置,其特征在于,所述操作系統(tǒng)為Windows操作系統(tǒng)時,所述監(jiān)聽模塊中預(yù)先設(shè)置有掛鉤操作系統(tǒng)內(nèi)核層的NtRaiseHardError函數(shù)的鉤子函數(shù),所述監(jiān)聽模塊通過所述鉤子函數(shù)監(jiān)聽進程對操作系統(tǒng)中產(chǎn)生系統(tǒng)錯誤函數(shù)進行調(diào)用的事件。