1.一種惡意線程檢測方法,其特征在于,包括:
獲取中轉(zhuǎn)指針的地址,得到第一地址;所述中轉(zhuǎn)指針為線程在用戶層和內(nèi)核層間轉(zhuǎn)換時的中轉(zhuǎn)站;
預(yù)設(shè)第一函數(shù);所述第一函數(shù)用于檢測惡意線程和初始化線程;
獲取所述第一函數(shù)的入口地址,得到第二地址;
設(shè)置所述中轉(zhuǎn)指針的地址為所述第二地址;
設(shè)置所述第一函數(shù)的函數(shù)指針指向所述第一地址。
2.根據(jù)權(quán)利要求1所述的一種惡意線程檢測方法,其特征在于,所述檢測惡意線程具體為:
獲取所述中轉(zhuǎn)指針中存儲的線程地址;
獲取安全的地址空間;
判斷所述線程地址是否在所述地址空間的范圍內(nèi),若是,則初始化線程,否則,返回錯誤信息。
3.根據(jù)權(quán)利要求1所述的一種惡意線程檢測方法,其特征在于,所述檢測惡意線程具體為:
獲取所述中轉(zhuǎn)指針中存儲的線程地址;
獲取系統(tǒng)函數(shù)的索引;
根據(jù)所述系統(tǒng)函數(shù)的索引和線程地址識別出線程所要執(zhí)行的操作,得到當(dāng)前操作名;
獲取危險操作表;所述危險操作表中存儲對創(chuàng)建所述線程的進(jìn)程會造成損害的操作的名稱;
在所述危險操作表中搜索是否存在所述當(dāng)前操作名,若是,則返回錯誤信息,否則,初始化線程。
4.根據(jù)權(quán)利要求2或3所述的一種惡意線程檢測方法,其特征在于,所述返回錯誤信息之前,還包括:
存儲所述線程地址至黑名單;所述黑名單用于保存已識別的惡意線程的地址。
5.根據(jù)權(quán)利要求1所述的一種惡意線程檢測方法,其特征在于,所述檢測惡意線程具體為:
獲取所述中轉(zhuǎn)指針中存儲的線程地址;
獲取黑名單;所述黑名單用于保存已識別的惡意線程的地址;
在所述黑名單中搜索是否存在所述線程地址,若存在,則返回錯誤信息,否則,初始化線程。
6.一種惡意線程檢測系統(tǒng),其特征在于,包括:
第一獲取模塊,用于獲取中轉(zhuǎn)指針的地址,得到第一地址;所述中轉(zhuǎn)指針為線程在用戶層和內(nèi)核層間轉(zhuǎn)換時的中轉(zhuǎn)站;
預(yù)設(shè)模塊,用于預(yù)設(shè)第一函數(shù);所述第一函數(shù)用于檢測惡意線程和初始化線程;
第二獲取模塊,用于獲取所述第一函數(shù)的入口地址,得到第二地址;
第一設(shè)置模塊,用于設(shè)置所述中轉(zhuǎn)指針的地址為所述第二地址;
第二設(shè)置模塊,用于設(shè)置所述第一函數(shù)的函數(shù)指針指向所述第一地址。
7.根據(jù)權(quán)利要求6所述的一種惡意線程檢測系統(tǒng),其特征在于,還包括:
第三獲取模塊,用于獲取所述中轉(zhuǎn)指針中存儲的線程地址;
第四獲取模塊,用于獲取安全的地址空間;
第一判斷模塊,用于判斷所述線程地址是否在所述地址空間的范圍內(nèi),若是,則初始化線程,否則,返回錯誤信息。
8.根據(jù)權(quán)利要求6所述的一種惡意線程檢測系統(tǒng),其特征在于,還包括:
第五獲取模塊,用于獲取所述中轉(zhuǎn)指針中存儲的線程地址;
第六獲取模塊,用于獲取系統(tǒng)函數(shù)的索引;
識別模塊,用于根據(jù)所述系統(tǒng)函數(shù)的索引和線程地址識別出線程所要執(zhí)行的操作,得到當(dāng)前操作名;
第七獲取模塊,用于獲取危險操作表;所述危險操作表中存儲對創(chuàng)建所述線程的進(jìn)程會造成損害的操作的名稱;
第一搜索模塊,用于在所述危險操作表中搜索是否存在所述當(dāng)前操作名,若是,則返回錯誤信息,否則,初始化線程。
9.根據(jù)權(quán)利要求6所述的一種惡意線程檢測系統(tǒng),其特征在于,還包括:
存儲模塊,用于存儲所述線程地址至黑名單;所述黑名單用于保存已識別的惡意線程的地址。
10.根據(jù)權(quán)利要求6所述的一種惡意線程檢測系統(tǒng),其特征在于,還包括:
第八獲取模塊,用于獲取所述中轉(zhuǎn)指針中存儲的線程地址;
第九獲取模塊,用于獲取黑名單;所述黑名單用于保存已識別的惡意線程的地址;
第二搜索模塊,用于在所述黑名單中搜索是否存在所述線程地址,若存在,則返回錯誤信息,否則,初始化線程。