一種檢測第三方應用的方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種檢測第三方應用的方法及裝置,用于實現對第三方應用的安全檢測。所述方法包括:在虛擬機中運行第三方應用;對第三方應用進行模擬操作;記錄第三方應用針對模擬操作發(fā)生的行為;根據第三方應用發(fā)生的行為,確定第三方應用是否安全。
【專利說明】一種檢測第三方應用的方法及裝置
【技術領域】
[0001]本發(fā)明涉及計算機及通信【技術領域】,尤其涉及一種檢測第三方應用的方法及裝置。
【背景技術】
[0002]軟件包括很多種,有一類軟件的作用是修改其它軟件的參數,或者模擬用戶對其它軟件的操作。為了描述方便,本發(fā)明中將這類軟件稱為第三方應用。第三方應用對其它軟件的修改或操作,是用戶所期望的,滿足了用戶的需求,有一定的市場價值。
[0003]同時,第三方應用的這種修改或操作功能,也可能帶來安全隱患,例如泄露用戶隱私或破壞其它軟件(不限于被修改的軟件)的安全。
[0004]本申請的發(fā)明人發(fā)現,第三方應用通常為個人或小團隊開發(fā),所以不僅其宣傳的功能是否有效沒有保證,而且安全性也沒有保證。用戶可以通過安裝殺毒軟件來保證設備的安全性,但是第三方應用經常使用一些偏門的計算機編程技術,極容易觸發(fā)現有殺毒軟件的自動鑒定,容易誤殺。而第三方應用真正存在一定的安全隱患時,殺毒軟件又很少能準確發(fā)現。
[0005]綜上,本申請的發(fā)明人認為如何及時發(fā)現第三方應用的安全性問題是亟待解決的問題。
【發(fā)明內容】
[0006]本發(fā)明實施例提供一種檢測第三方應用的方法及裝置,用于實現對第三方應用的安全檢測。
[0007]一種檢測第三方應用的方法,包括以下步驟:
[0008]在虛擬機中運行第三方應用;
[0009]對第三方應用進行模擬操作;
[0010]記錄第三方應用針對模擬操作發(fā)生的行為;
[0011]根據第三方應用發(fā)生的行為,確定第三方應用是否安全。
[0012]本實施例中在虛擬機中運行第三方應用可以減少對其它應用的影響。通過對第三方應用模擬用戶的操作,來檢測第三方應用的行為是否安全??梢詸z測出第三方應用是否正常運行,實現相應的功能,還可以檢測出第三方應用的行為相對于用戶是否安全。本實施例對第三方應用的檢測更有針對性,更準確。
[0013]所述對第三方應用進行模擬操作,包括:遍歷第三方應用中的操作對象,對操作對象逐一進行模擬操作。
[0014]本實施例中先遍歷操作對象,再對操作對象逐一進行模擬操作,可減少遺漏模擬操作,使得檢測更全面、準確。
[0015]操作對象包括按鈕、輸入框和選擇框中的一項或多項。
[0016]本實施例中的操作對象包括用戶所有可能的操作對象,使得檢測更全面、準確。[0017]所述方法還包括:在虛擬機中模擬第三方應用對應的目標應用。
[0018]本實施例為了更全面而準確的檢測第三方應用,在虛擬機中模擬第三方應用對應的目標應用。
[0019]所述在虛擬機中模擬第三方應用對應的目標應用,包括:在虛擬機中運行第三方應用時,第三方應用需訪問的目標應用中的對象。
[0020]本實施例中,在虛擬機中運行第三方應用時,第三方應用需訪問的目標應用中的對象??梢圆贿\行目標應用的其它對象,減輕了設備處理負荷,也提高了檢測效率。
[0021]第三方應用所需訪問的對象包括:注冊表、安裝文件、進程和窗口中的一項或多項。
[0022]本實施例中提供第三方應用所需的對象,可以不提供目標應用中的其它用于實現目標應用功能的對象,滿足第三方應用的運行條件即可,減輕了設備處理負荷,也提高了檢測效率。
[0023]記錄的行為包括:發(fā)送的網絡數據包、釋放的文件、刪除的文件、修改的文件、創(chuàng)建的進程、刪除的進程和注入的進程中的一項或多項。
[0024]本實施例幾乎記錄了第三方應用的所有行為,以便檢測更全面準確。
[0025]所述根據第三方應用發(fā)生的行為,確定第三方應用是否安全,包括:
[0026]將第三方應用發(fā)生的行為與預設的黑規(guī)則進行匹配,在匹配一致時,確定第三方應用不安全,在匹配不一致時,確定第三方應用安全;和/或
[0027]將第三方應用發(fā)生的行為與預設的白規(guī)則進行匹配,在匹配一致時,確定第三方應用安全,在匹配不一致時,確定第三方應用不安全。
[0028]本實施例通過黑規(guī)則檢測第三方應用是否有不安全的行為,以及通過白規(guī)則檢測第三方應用是否實現了應有的行為,從而較全面準確的檢測了第三方應用。
[0029]所述將第三方應用發(fā)生的行為與預設的黑規(guī)則和/或白規(guī)則進行匹配,包括:
[0030]從第三方應用發(fā)生的行為中識別出與黑規(guī)則和/或白規(guī)則有關的字段;
[0031]判斷識別出的字段的內容是否滿足黑規(guī)則和/或白規(guī)則。
[0032]本實施例對行為的詳細分析來判斷是否滿足黑規(guī)則和/或白規(guī)則,使檢測更準確。
[0033]黑規(guī)則至少包括下列規(guī)則之一:
[0034]與預設的進程名稱匹配一致;
[0035]存在一個樣本創(chuàng)建有多個進程;
[0036]向非目標應用對應的服務器發(fā)送數據包。
[0037]本實施例提供了幾種黑規(guī)則,可實現一般殺毒軟件無法識別的不安全行為。
[0038]第三方應用包括外掛應用。
[0039]本實施例尤其適用于外掛應用。
[0040]一種檢測第三方應用的裝置,包括:
[0041]運行模塊,用于在虛擬機中運行第三方應用;
[0042]操作模塊,用于對第三方應用進行模擬操作;
[0043]記錄模塊,用于記錄第三方應用針對模擬操作發(fā)生的行為;
[0044]檢測模塊,用于根據第三方應用發(fā)生的行為,確定第三方應用是否安全。[0045]操作模塊遍歷第三方應用中的操作對象,對操作對象逐一進行模擬操作。
[0046]運行模塊還用于在虛擬機中模擬第三方應用對應的目標應用。
[0047]運行模塊在虛擬機中運行第三方應用時,第三方應用需訪問的目標應用中的對象。
[0048]檢測模塊將第三方應用發(fā)生的行為與預設的黑規(guī)則進行匹配,在匹配一致時,確定第三方應用不安全,在匹配不一致時,確定第三方應用安全;和/或,將第三方應用發(fā)生的行為與預設的白規(guī)則進行匹配,在匹配一致時,確定第三方應用安全,在匹配不一致時,確定第三方應用不安全。
[0049]所述檢測模塊從第三方應用發(fā)生的行為中識別出與黑規(guī)則和/或白規(guī)則有關的字段;判斷識別出的字段的內容是否滿足黑規(guī)則和/或白規(guī)則。
[0050]黑規(guī)則至少包括下列規(guī)則之一:
[0051]與預設的進程名稱匹配一致;
[0052]存在一個樣本創(chuàng)建有多個進程;
[0053]向非目標應用對應的服務器發(fā)送數據包。
[0054]第三方應用包括外掛應用。
[0055]本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。
[0056]下面通過附圖和實施例,對本發(fā)明的技術方案做進一步的詳細描述。
【專利附圖】
【附圖說明】
[0057]附圖用來提供對本發(fā)明的進一步理解,并且構成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構成對本發(fā)明的限制。在附圖中:
[0058]圖1為本發(fā)明實施例中檢測第三方應用的方法的主要流程圖;
[0059]圖2為本發(fā)明實施例中操作界面的第一種示意圖;
[0060]圖3為本發(fā)明實施例中操作界面的第二種示意圖;
[0061]圖4為本發(fā)明實施例中操作界面的第三種示意圖;
[0062]圖5為本發(fā)明實施例中行為內容的第一種示意圖;
[0063]圖6為本發(fā)明實施例中操作界面的第四種示意圖;
[0064]圖7為本發(fā)明實施例中行為內容的第二種示意圖;
[0065]圖8為本發(fā)明實施例中行為內容的第三種示意圖;
[0066]圖9為本發(fā)明實施例中檢測第三方應用的方法的詳細流程圖;
[0067]圖10為本發(fā)明實施例中操作界面的第五種示意圖;
[0068]圖11為本發(fā)明實施例中操作界面的第六種示意圖;
[0069]圖12為本發(fā)明實施例中裝置的結構圖。
【具體實施方式】
[0070]以下結合附圖對本發(fā)明的優(yōu)選實施例進行說明,應當理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。[0071 ] 本實施例中在虛擬機中運行第三方應用,若第三方應用出現安全問題,可以減少對其它應用的影響。通過對第三方應用模擬用戶的操作,來檢測第三方應用的行為是否安全??梢詸z測出第三方應用是否正常運行,實現相應的功能,還可以檢測出第三方應用的行為相對于用戶是否安全。本實施例對第三方應用的檢測更有針對性,更準確。
[0072]本實施例中應用程序是指為了完成某項或某幾項特定任務而被開發(fā)運行于操作系統(tǒng)之上的計算機程序。第三方應用是指修改計算機游戲應用的程序數據或者模擬人操作計算機游戲應用的一種應用程序。為了描述方便,本實施例中將完成某項或某幾項特定任務而被開發(fā)運行于操作系統(tǒng)之上的計算機程序稱為目標應用,將依附于該目標應用的應用程序稱為第三方應用。本實施例中第三方應用可以是外掛應用等,目標應用不限于游戲應用。
[0073]參見圖1所示,本實施例中檢測第三方應用的方法的主要流程如下:
[0074]步驟101:在虛擬機中運行第三方應用。
[0075]步驟102:對第三方應用進行模擬操作。
[0076]步驟103:記錄第三方應用針對模擬操作發(fā)生的行為。
[0077]步驟104:根據第三方應用發(fā)生的行為,確定第三方應用是否安全。
[0078]本實施例中在虛擬機中運行第三方應用,可以減少對現實操作系統(tǒng)和應用的干擾和影響,一旦第三方應用進行了不安全的行為,也不會影響到操作系統(tǒng)和其它應用,保證了安全性。
[0079]在步驟102中,可以有多種具體實現方式,例如,遍歷第三方應用中的操作對象,對操作對象逐一進行模擬操作。操作對象至少包括按鈕、輸入框和選擇框中的一項或多項。在運行第三方應用后,可按照程序的運行順序遍歷第三方應用的當前操作界面中所有可能的操作,參見圖2所示,通過遍歷過程可知圖2中有“確定”和“取消”兩個按鈕,可以先模擬點擊“確定”按鈕,記錄下此時第三方應用發(fā)生的行為,如果此時第三方應用的行為之一是彈出下一個操作界面(參見圖3所示),則可以有至少兩種實現方式,如方式Al和方式A2。
[0080]方式Al:點擊“確定”按鈕之后,針對彈出的下一個操作界面進行遍歷,確定下一個操作界面中的操作對象,并對下一個操作界面中的操作對象進行模擬操作。例如通過遍歷可知圖3中存在“打開輔助”按鈕,則模擬點擊“打開輔助”按鈕,記錄點擊“打開輔助”按鈕后第三方應用發(fā)生的行為。該過程相當于是樹形結構的深度遍歷,在模擬操作到最后一個操作界面的一個操作對象時,返回到最后一個操作界面的下一個操作對象,直到最后一個操作界面中的操作對象均進行了模擬操作之后,再返回到最后一個操作界面的上一個操作界面,對上一個操作界面中未進行模擬操作的一個操作對象進行模擬操作,以此類推,直到第三方應用中的所有操作對象均進行模擬操作。
[0081]方式A2:點擊“確定”按鈕之后,彈出的下一個操作界面,此時暫時不對下一個操作界面進行遍歷,而是返回到“確定”按鈕所在的操作界面,根據之前的遍歷結果可知該操作界面中還有“取消”按鈕未進行模擬操作,則模擬點擊“取消”按鈕,記錄模擬點擊“取消”按鈕后第三方應用發(fā)生的行為。模擬點擊“取消”按鈕后,可能會退出當前操作界面或者退出第三方應用,則下一步需要重新進入當前操作界面,模擬點擊“確定”按鈕,以進入下一個操作界面,如圖3所示。然后對圖3所示的操作界面進行遍歷操作,并重復上述過程。該過程相當于是樹形結構的廣度遍歷。從根節(jié)點逐層遍歷到葉子節(jié)點。[0082]為了檢測全面,本實施例中對遍歷到的按鈕均進行模擬操作,即使該按鈕的屬性為不可見。
[0083]前面以點擊按鈕為例介紹了模擬操作的過程。模擬操作還可以有填寫輸入框和點擊選擇框等。在對輸入框進行模擬操作的過程中,可以有兩種實現方式,如方式BI和方式B2。方式B1:在遍歷過程中識別出輸入框,然后按照一般的閱讀順序或程序的運行順序,在輸入框的上方或左側查找標簽,根據標簽信息確定輸入框中應輸入的內容。如圖4所示,遍歷到輸入框401,則查找輸入框401左側的標簽402,根據標簽402的標簽信息(如帳號)從預設的配置文件中查找對應的信息以輸入到輸入框401中。配置文件中的信息如表1所示。對于帳號和密碼,如果是檢測第三方應用是否有盜取用戶帳號,則這里輸入一個帳號和密碼即可,該帳號和密碼可以是模擬的不真實的帳號和密碼,也可以是真實有效的帳號和密碼。如果還需要檢測第三方應用是否實現了修改目標應用的功能,則這里可輸入真實有效的帳號和密碼。
[0084]表1
[0085]
【權利要求】
1.一種檢測第三方應用的方法,其特征在于,包括以下步驟: 在虛擬機中運行第三方應用; 對第三方應用進行模擬操作; 記錄第三方應用針對模擬操作發(fā)生的行為; 根據第三方應用發(fā)生的行為,確定第三方應用是否安全。
2.如權利要求1所述的方法,其特征在于,所述對第三方應用進行模擬操作,包括:遍歷第三方應用中的操作對象,對操作對象逐一進行模擬操作。
3.如權利要求2所述的方法,其特征在于,操作對象包括按鈕、輸入框和選擇框中的一項或多項。
4.如權利要求1所述的方法,其特征在于,所述方法還包括:在虛擬機中模擬第三方應用對應的目標應用。
5.如權利要求4所述的方法,其特征在于,所述在虛擬機中模擬第三方應用對應的目標應用,包括:在虛擬機中運行第三方應用時,第三方應用需訪問的目標應用中的對象。
6.如權利要求5所述的方法,其特征在于,第三方應用所需訪問的對象包括:注冊表、安裝文件、進程和窗口中的一項或多項。
7.如權利要求1所述的方法,其特征在于,記錄的行為包括:發(fā)送的網絡數據包、釋放的文件、刪除的文件、修改的文件、創(chuàng)建的進程、刪除的進程和注入的進程中的一項或多項。
8.根如權利要求1所述的方法,其特征在于,所述根據第三方應用發(fā)生的行為,確定第三方應用是否安全,包括: 將第三方應用發(fā)生的行為與預設的黑規(guī)則進行匹配,在匹配一致時,確定第三方應用不安全,在匹配不一致時,確定第三方應用安全;和/或 將第三方應用發(fā)生的行為與預設的白規(guī)則進行匹配,在匹配一致時,確定第三方應用安全,在匹配不一致時,確定第三方應用不安全。
9.根如權利要求8所述的方法,其特征在于,所述將第三方應用發(fā)生的行為與預設的黑規(guī)則和/或白規(guī)則進行匹配,包括: 從第三方應用發(fā)生的行為中識別出與黑規(guī)則和/或白規(guī)則有關的字段; 判斷識別出的字段的內容是否滿足黑規(guī)則和/或白規(guī)則。
10.根如權利要求8所述的方法,其特征在于,黑規(guī)則至少包括下列規(guī)則之一: 與預設的進程名稱匹配一致; 存在一個樣本創(chuàng)建有多個進程; 向非目標應用對應的服務器發(fā)送數據包。
11.根如權利要求1所述的方法,其特征在于,第三方應用包括外掛應用。
12.—種檢測第三方應用的裝置,其特征在于,包括: 運行模塊,用于在虛擬機中運行第三方應用; 操作模塊,用于對第三方應用進行模擬操作; 記錄模塊,用于記錄第三方應用針對模擬操作發(fā)生的行為; 檢測模塊,用于根據第三方應用發(fā)生的行為,確定第三方應用是否安全。
13.如權利要求12所述的裝置,其特征在于,操作模塊遍歷第三方應用中的操作對象,對操作對象逐一進行模擬操作。
14.如權利要求12所述的裝置,其特征在于,運行模塊還用于在虛擬機中模擬第三方應用對應的目標應用。
15.如權利要求14所述的裝置,其特征在于,運行模塊在虛擬機中運行第三方應用時,第三方應用需訪問的目標應用中的對象。
16.根如權利要求12所述的裝置,其特征在于,檢測模塊將第三方應用發(fā)生的行為與預設的黑規(guī)則進行匹配,在匹配一致時,確定第三方應用不安全,在匹配不一致時,確定第三方應用安全;和/或,將第三方應用發(fā)生的行為與預設的白規(guī)則進行匹配,在匹配一致時,確定第三方應用安全,在匹配不一致時,確定第三方應用不安全。
17.根如權利要求16所述的裝置,其特征在于,所述檢測模塊從第三方應用發(fā)生的行為中識別出與黑規(guī)則和/或白規(guī)則有關的字段;判斷識別出的字段的內容是否滿足黑規(guī)則和/或白規(guī)則。
18.根如權利要求16所述的裝置,其特征在于,黑規(guī)則至少包括下列規(guī)則之一: 與預設的進程名稱匹配一致; 存在一個樣本創(chuàng)建有多個進程; 向非目標應用對應的服務器發(fā)送數據包。
19.根如權利要求12所 述的裝置,其特征在于,第三方應用包括外掛應用。
【文檔編號】G06F21/53GK103902886SQ201410077011
【公開日】2014年7月2日 申請日期:2014年3月4日 優(yōu)先權日:2014年3月4日
【發(fā)明者】陳文俊, 姚輝, 劉桂峰 申請人:珠海市君天電子科技有限公司