两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種攔截應(yīng)用程序行為的方法及終端與流程

文檔序號:11865187閱讀:292來源:國知局
一種攔截應(yīng)用程序行為的方法及終端與流程

本發(fā)明涉及電子技術(shù)領(lǐng)域,尤其涉及一種攔截應(yīng)用程序行為的方法及終端。



背景技術(shù):

當進程中的線程創(chuàng)建或關(guān)閉一個窗口時,會查找線程是否存在鉤子函數(shù),當存在鉤子函數(shù)時,則進行調(diào)用鉤子函數(shù)并執(zhí)行。

目前,系統(tǒng)提供了RegisterUserApiHook函數(shù),終端可以通過RegisterUserApiHook函數(shù)在系統(tǒng)中注冊一個全局鉤子,當指定的一些消息被系統(tǒng)中任何應(yīng)用程序所處理時,這個鉤子就被調(diào)用。因此,惡意程序為了避免被查殺,惡意程序可以通過RegisterUserApiHook函數(shù)注冊全局鉤子來阻止安全軟件的檢測,從而使得惡意程序通過安全軟件檢測并對終端的任意進程進行破壞,影響用戶正常使用終端。



技術(shù)實現(xiàn)要素:

本發(fā)明實施例所要解決的技術(shù)問題在于,提供一種攔截應(yīng)用程序行為的方法及終端??杀苊鈵阂獬绦蜻M行注冊鉤子對終端系統(tǒng)造成破壞,提高終端安全性。

為了解決上述技術(shù)問題,本發(fā)明實施例提供了一種攔截應(yīng)用程序行為的方法,包括:

監(jiān)測應(yīng)用程序是否進行注冊全局鉤子;

當監(jiān)測到所述應(yīng)用程序進行注冊所述全局鉤子時,判斷所述應(yīng)用程序進行注冊全局鉤子的行為是否為惡意行為;

當確定所述應(yīng)用程序進行注冊全局鉤子的行為為惡意行為時,對所述應(yīng)用程序進行注冊全局鉤子的行為進行攔截。

其中,其特征在于,所述判斷所述應(yīng)用程序進行注冊全局鉤子的行為是否為惡意行為包括:

獲取所述應(yīng)用程序進行注冊所述全局鉤子的進程信息,根據(jù)所述進程信息進行判斷所述應(yīng)用程序進行注冊全局鉤子的行為是否為惡意行為。

其中,所述進程信息包括進程路徑;

所述根據(jù)所述進程信息進行判斷所述應(yīng)用程序進行注冊全局鉤子的行為是否為惡意行為包括:

根據(jù)所述進程路徑確定進行注冊的應(yīng)用程序;

對所述應(yīng)用程序進行安全檢測,判斷所述應(yīng)用程序是否為惡意應(yīng)用程序;

當確定所述應(yīng)用程序為惡意應(yīng)用程序時,確定所述應(yīng)用程序進行注冊全局鉤子的行為為惡意行為。

其中,所述根據(jù)所述進程信息進行判斷所述應(yīng)用程序進行注冊全局鉤子的行為是否為惡意行為包括:

根據(jù)所述進程信息確定進程文件;

計算所述進程文件的特征碼;

判斷所述特征碼是否與預(yù)置的特征碼相匹配;

當確定所述特征碼與預(yù)置的特征碼相匹配時,確定所述應(yīng)用程序進行注冊全局鉤子的行為為惡意行為。

其中,所述全局鉤子用于攔截界面窗口消息的鉤子函數(shù)。

本發(fā)明實施例提供了一種終端,包括:

監(jiān)測單元,用于監(jiān)測應(yīng)用程序是否進行注冊全局鉤子;

判斷單元,用于當所述監(jiān)測單元監(jiān)測到所述應(yīng)用程序進行注冊所述全局鉤子時,判斷所述應(yīng)用程序進行注冊全局鉤子的行為是否為惡意行為;

攔截單元,用于當所述判斷單元判斷所述應(yīng)用程序進行注冊全局鉤子的行為為惡意行為時,對所述應(yīng)用程序進行注冊全局鉤子的行為進行攔截。

其中,所述判斷單元具體用于:

獲取所述應(yīng)用程序進行注冊所述全局鉤子的進程信息,根據(jù)所述進程信息進行判斷所述應(yīng)用程序進行注冊全局鉤子的行為是否為惡意行為。

其中,所述進程信息包括進程路徑;

所述判斷單元包括:

第一確定子單元,用于根據(jù)所述進程路徑確定進行注冊的應(yīng)用程序;

第一判斷子單元,用于對所述應(yīng)用程序進行安全檢測,判斷所述應(yīng)用程序是否為惡意應(yīng)用程序;

第二確定子單元,用于當所述判斷子單元判斷所述應(yīng)用程序為惡意應(yīng)用程序時,確定所述應(yīng)用程序進行注冊全局鉤子的行為為惡意行為。

其中,所述判斷單元包括:

第三確定子單元,用于根據(jù)所述進程信息確定進程文件;

計算子單元,用于計算所述進程文件的特征碼;

第二判斷子單元,用于判斷所述特征碼是否與預(yù)置的特征碼相匹配;

第三確定子單元,用于當所述第二判斷子單元判斷所述特征碼與預(yù)置的特征碼相匹配時,確定所述應(yīng)用程序進行注冊全局鉤子的行為為惡意行為。

其中,所述全局鉤子用于攔截界面窗口消息的鉤子函數(shù)。

在本發(fā)明實施例中,終端可監(jiān)測應(yīng)用程序是否進行注冊全局鉤子,當監(jiān)測到所述應(yīng)用程序進行注冊所述全局鉤子時,判斷所述應(yīng)用程序進行注冊全局鉤子是否為惡意行為,當確定所述應(yīng)用程序進行注冊全局鉤子的行為為惡意行為時,對所述應(yīng)用程序進行注冊全局鉤子的行為進行攔截,這可使得終端可及時對惡意注冊全局鉤子的行為進行攔截,提高終端的安全性。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本發(fā)明實施例提供的一種攔截應(yīng)用程序行為的方法的第一實施例流程示意圖;

圖2是本發(fā)明實施例提供的一種終端的第一實施例結(jié)構(gòu)圖。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

本發(fā)明實施例中的執(zhí)行主體可以為終端,所描述的終端可包括:電腦、平板電腦、筆記本等智能終端,上述終端僅是舉例,而非窮舉,包含但不限于上述終端。

參見圖1,是本發(fā)明實施例提供的一種攔截應(yīng)用程序行為的方法第一實施例流程示意圖。本發(fā)明實施例的一種攔截應(yīng)用程序行為的方法包括如下步驟:

S100,監(jiān)測應(yīng)用程序是否進行注冊全局鉤子。

在本發(fā)明實施例中,鉤子是一段用以處理系統(tǒng)消息的程序,通過系統(tǒng)調(diào)用,把它掛入系統(tǒng)。鉤子可以截獲并處理相應(yīng)的消息,每當特定的消息發(fā)出,在到達目的程序之前,鉤子先行截獲該消息,得到對此消息的控制權(quán)。此時鉤子可以對截獲的消息進行加工處理,甚至可以強制結(jié)束消息的傳遞。

在本發(fā)明實施例中,全局鉤子是系統(tǒng)鉤子的一種,當指定的一些消息被系統(tǒng)中任何應(yīng)用程序所處理時,這個鉤子就被調(diào)用,其中,全局鉤子包括一個DLL(Dynamic Link Library,動態(tài)鏈接庫)文件和一個回調(diào)函數(shù)。在具體應(yīng)用中,全局鉤子可以是用于攔截界面窗口消息的鉤子函數(shù),如user32.dll全局鉤子,由于user32.dll是系統(tǒng)的基礎(chǔ)DLL,大部分進程均加載user32.dll,這使得所有加載user32.dll的進程就都會在啟動時加載這個user32.dll全局鉤子。

在本發(fā)明實施例中,終端可提供NtUserRegisterUserApiHook函數(shù),NtUserRegisterUserApiHook函數(shù)可用來注冊全局鉤子,如注冊user32.dll全局鉤子。因此,終端可監(jiān)控NtUserRegisterUserApiHook函數(shù),當監(jiān)測到NtUserRegisterUserApiHook函數(shù)被調(diào)用進行注冊全局鉤子時,終端可確定監(jiān)測到應(yīng)用程序進行注冊全局鉤子。

S101,當監(jiān)測到所述應(yīng)用程序進行注冊所述全局鉤子時,判斷所述應(yīng)用程序進行注冊全局鉤子的行為是否為惡意行為。

在本發(fā)明實施例中,當終端監(jiān)測到應(yīng)用程序進行注冊全局鉤子時,終端可獲取應(yīng)用程序進行注冊全局鉤子的進程信息,根據(jù)進程信息進行判斷應(yīng)用程序進行注冊全局鉤子的行為是否為惡意行為。其中,進程信息可以包括進程路徑。則終端根據(jù)進程信息進行判斷應(yīng)用程序進行注冊全局鉤子的行為是否為惡意行為可以是:終端可根據(jù)進程路徑確定進行注冊的應(yīng)用程序,從而終端可調(diào)用安全殺毒應(yīng)用程序?qū)ζ溥M行安全檢測。其中,安全殺毒應(yīng)用程序在具體的應(yīng)用程序中可如毒霸應(yīng)用程序,360安全衛(wèi)士等安全應(yīng)用程序。當安全殺毒應(yīng)用程序判斷其為危險文件或為未知文件時,則終端可確定應(yīng)用程序為惡意應(yīng)用程序,當安全殺毒應(yīng)用程序判斷其安全文件時,終端可確定應(yīng)用程序不是惡意應(yīng)用程序。當終端確定應(yīng)用程序為惡意應(yīng)用程序時,終端可確定應(yīng)用程序進行注冊全局鉤子的行為惡意行為。

進一步的,終端根據(jù)進程信息進行判斷應(yīng)用程序進行注冊全局鉤子的行為是否為惡意行為還可以是:終端根據(jù)進程信息確定進程文件,其中,進程文件可以是進行注冊的應(yīng)用程序;終端計算進程文件的特征碼,判斷特征碼是否與預(yù)置的特征碼相匹配,當確定特征碼與預(yù)置的特征碼相匹配時,終端可確定應(yīng)用程序進行注冊全局鉤子的行為為惡意行為。其中,特征碼可以是MD5(Message Digest Algorithm MD5,消息摘要算法第五版)特征碼或哈希值等,終端可以預(yù)置特征碼庫,該特征碼庫用于記錄惡意文件的特征碼,因此,終端可將獲取到的特征碼在預(yù)置的特征碼庫中進行匹配,當獲取到有與其一致的特征碼時,終端可確定應(yīng)用程序進行注冊全局鉤子的行為為惡意行為。

S102,當確定所述應(yīng)用程序進行注冊全局鉤子為惡意行為時,對所述應(yīng)用程序進行注冊全局鉤子的行為進行攔截。

在本發(fā)明實施例中,當終端確定應(yīng)用程序進行注冊全局鉤子的行為為惡意行為時,終端可對應(yīng)用程序進行注冊全局鉤子的行為進行攔截。如結(jié)束注冊全局鉤子的操作,或拒絕執(zhí)行進行注冊全局鉤子的行為。

在本發(fā)明實施例中,當確定應(yīng)用程序進行注冊全局鉤子不是惡意行為時,終端可調(diào)用NtUserRegisterUserApiHook函數(shù)進行注冊全局鉤子。

在本發(fā)明實施例中,終端可監(jiān)測應(yīng)用程序是否進行注冊全局鉤子,當監(jiān)測到應(yīng)用程序進行注冊所述全局鉤子時,判斷所述應(yīng)用程序進行注冊全局鉤子是否為惡意行為,當確定所述應(yīng)用程序進行注冊全局鉤子的行為為惡意行為時,對所述應(yīng)用程序進行注冊全局鉤子的行為進行攔截,這可使得終端可及時對惡意注冊全局鉤子的行為進行攔截,提高終端的安全性。

參見圖2,是本發(fā)明實施例提供的一種終端的第一實施例結(jié)構(gòu)圖。本發(fā)明實施例的一種終端包括:

監(jiān)測單元100,用于監(jiān)測應(yīng)用程序是否進行注冊全局鉤子。

判斷單元200,用于當所述監(jiān)測單元監(jiān)測到所述應(yīng)用程序進行注冊所述全局鉤子時,判斷所述應(yīng)用程序進行注冊全局鉤子的行為是否為惡意行為。

攔截單元300,用于當所述判斷單元判斷所述應(yīng)用程序進行注冊全局鉤子的行為為惡意行為時,對所述應(yīng)用程序進行注冊全局鉤子的行為進行攔截。

在本發(fā)明實施例中,鉤子是一段用以處理系統(tǒng)消息的程序,通過系統(tǒng)調(diào)用,把它掛入系統(tǒng)。鉤子可以截獲并處理相應(yīng)的消息,每當特定的消息發(fā)出,在到達目的程序之前,鉤子先行截獲該消息,得到對此消息的控制權(quán)。此時鉤子可以對截獲的消息進行加工處理,甚至可以強制結(jié)束消息的傳遞。

在本發(fā)明實施例中,全局鉤子是系統(tǒng)鉤子的一種,當指定的一些消息被系統(tǒng)中任何應(yīng)用程序所處理時,這個鉤子就被調(diào)用,其中,全局鉤子包括一個DLL(Dynamic Link Library,動態(tài)鏈接庫)文件和一個回調(diào)函數(shù)。在具體應(yīng)用中,全局鉤子可以是用于攔截界面窗口消息的鉤子函數(shù),如user32.dll全局鉤子,由于user32.dll是系統(tǒng)的基礎(chǔ)DLL,大部分進程均加載user32.dll,這使得所有加載user32.dll的進程就都會在啟動時加載這個user32.dll全局鉤子。

在本發(fā)明實施例中,終端可提供NtUserRegisterUserApiHook函數(shù),NtUserRegisterUserApiHook函數(shù)可用來注冊全局鉤子,如注冊user32.dll全局鉤子。因此,監(jiān)測單元100可監(jiān)控NtUserRegisterUserApiHook函數(shù),當監(jiān)測到NtUserRegisterUserApiHook函數(shù)被調(diào)用進行注冊全局鉤子時,監(jiān)測單元100可確定監(jiān)測到應(yīng)用程序進行注冊全局鉤子。

在本發(fā)明實施例中,當監(jiān)測單元100監(jiān)測到應(yīng)用程序進行注冊全局鉤子時,判斷單元200可獲取應(yīng)用程序進行注冊全局鉤子的進程信息,根據(jù)進程信息進行判斷應(yīng)用程序進行注冊全局鉤子的行為是否為惡意行為。其中,進程信息可以包括進程路徑。則判斷單元200根據(jù)進程信息進行判斷應(yīng)用程序進行注冊全局鉤子的行為是否為惡意行為可以是:判斷單元200可根據(jù)進程路徑確定進行注冊的應(yīng)用程序,從而判斷單元200可調(diào)用安全殺毒應(yīng)用程序?qū)ζ溥M行安全檢測。其中,安全殺毒應(yīng)用程序在具體的應(yīng)用程序中可如毒霸應(yīng)用程序,360安全衛(wèi)士等安全應(yīng)用程序。當安全殺毒應(yīng)用程序判斷其為危險文件或為未知文件時,則判斷單元200可確定應(yīng)用程序為惡意應(yīng)用程序,當安全殺毒應(yīng)用程序判斷其安全文件時,判斷單元200可確定應(yīng)用程序不是惡意應(yīng)用程序。當判斷單元200確定應(yīng)用程序為惡意應(yīng)用程序時,判斷單元200可確定應(yīng)用程序進行注冊全局鉤子的行為惡意行為。

進一步的,判斷單元200根據(jù)進程信息進行判斷應(yīng)用程序進行注冊全局鉤子的行為是否為惡意行為還可以是:判斷單元200根據(jù)進程信息確定進程文件,其中,進程文件可以是進行注冊的應(yīng)用程序;終端計算進程文件的特征碼,判斷特征碼是否與預(yù)置的特征碼相匹配,當判斷單元200確定特征碼與預(yù)置的特征碼相匹配時,判斷單元200可確定應(yīng)用程序進行注冊全局鉤子的行為為惡意行為。其中,特征碼可以是MD5(Message Digest Algorithm MD5,消息摘要算法第五版)特征碼或哈希值等,終端可以預(yù)置特征碼庫,該特征碼庫用于記錄惡意文件的特征碼,因此,判斷單元200可將獲取到的特征碼在預(yù)置的特征碼庫中進行匹配,當獲取到有與其一致的特征碼時,判斷單元200可確定應(yīng)用程序進行注冊全局鉤子的行為為惡意行為。

在本發(fā)明實施例中,當判斷單元200確定應(yīng)用程序進行注冊全局鉤子的行為為惡意行為時,攔截單元300可對應(yīng)用程序進行注冊全局鉤子的行為進行攔截。如攔截單元300結(jié)束注冊全局鉤子的操作,或攔截單元300拒絕執(zhí)行進行注冊全局鉤子的行為。

在本發(fā)明實施例中,當判斷單元200確定應(yīng)用程序進行注冊全局鉤子不是惡意行為時,終端可調(diào)用NtUserRegisterUserApiHook函數(shù)進行注冊全局鉤子。

其中,所述判斷單元200具體用于:

獲取所述應(yīng)用程序進行注冊所述全局鉤子的進程信息,根據(jù)所述進程信息進行判斷所述應(yīng)用程序進行注冊全局鉤子的行為是否為惡意行為。

所述進程信息包括進程路徑;

所述判斷單元200包括:

第一確定子單元,用于根據(jù)所述進程路徑確定進行注冊的應(yīng)用程序;

第一判斷子單元,用于對所述應(yīng)用程序進行安全檢測,判斷所述應(yīng)用程序是否為惡意應(yīng)用程序;

第二確定子單元,用于當所述判斷子單元判斷所述應(yīng)用程序為惡意應(yīng)用程序時,確定所述應(yīng)用程序進行注冊全局鉤子的行為為惡意行為。

所述判斷單元200包括:

第三確定子單元,用于根據(jù)所述進程信息確定進程文件;

計算子單元,用于計算所述進程文件的特征碼;

第二判斷子單元,用于判斷所述特征碼是否與預(yù)置的特征碼相匹配;

第三確定子單元,用于當所述第二判斷子單元判斷所述特征碼與預(yù)置的特征碼相匹配時,確定所述應(yīng)用程序進行注冊全局鉤子的行為為惡意行為。

其中,可以理解的是,本實施例的終端中的單元的各功能模塊的功能可根據(jù)上述方法實施例中的方法具體實現(xiàn),其具體實現(xiàn)過程可以參照上述方法實施例的相關(guān)描述,此處不再進行贅述。

在本發(fā)明實施例中,終端可監(jiān)測應(yīng)用程序是否進行注冊全局鉤子,當監(jiān)測到應(yīng)用程序進行注冊所述全局鉤子時,判斷所述應(yīng)用程序進行注冊全局鉤子是否為惡意行為,當確定所述應(yīng)用程序進行注冊全局鉤子的行為為惡意行為時,對所述應(yīng)用程序進行注冊全局鉤子的行為進行攔截,這可使得終端可及時對惡意注冊全局鉤子的行為進行攔截,提高終端的安全性。

本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。

以上所揭露的僅為本發(fā)明較佳實施例而已,當然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
万年县| 隆子县| 依安县| 原阳县| 浦城县| 灵宝市| 平乡县| 银川市| 章丘市| 广丰县| 江津市| 万盛区| 南陵县| 桂东县| 丰镇市| 泉州市| 古丈县| 麦盖提县| 资源县| 乌拉特后旗| 大兴区| 惠州市| 万全县| 宝坻区| 宁化县| 聂拉木县| 玉环县| 东平县| 呼玛县| 田阳县| 新乡县| 扎赉特旗| 岚皋县| 长宁区| 离岛区| 永修县| 嘉峪关市| 南昌县| 筠连县| 西充县| 涿鹿县|