亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種攔截應用程序行為的方法及終端與流程

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

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



背景技術:

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

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



技術實現要素:

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

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

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

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

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

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

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

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

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

根據所述進程路徑確定進行注冊的應用程序;

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

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

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

根據所述進程信息確定進程文件;

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

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

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

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

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

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

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

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

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

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

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

所述判斷單元包括:

第一確定子單元,用于根據所述進程路徑確定進行注冊的應用程序;

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

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

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

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

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

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

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

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

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

附圖說明

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

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

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

具體實施方式

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

所述判斷單元200包括:

第一確定子單元,用于根據所述進程路徑確定進行注冊的應用程序;

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

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

所述判斷單元200包括:

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

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

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

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

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

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

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

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

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1