国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)方法及裝置制造方法

      文檔序號(hào):6640391閱讀:220來源:國(guó)知局
      一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)方法及裝置制造方法
      【專利摘要】本發(fā)明提供了一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)方法及裝置,本申請(qǐng)利用軟件分析當(dāng)前窗口所包含的多個(gè)控件,并在多個(gè)控件中篩選出關(guān)鍵控件,及關(guān)鍵控件的位置坐標(biāo)和關(guān)鍵屬性,并自動(dòng)在位置坐標(biāo)處執(zhí)行關(guān)鍵屬性的輸入操作,整個(gè)過程自動(dòng)完成無需人工參與,從而降低了人工成本,并且僅對(duì)多個(gè)控件中較為重要的關(guān)鍵控件執(zhí)行輸入操作,對(duì)作用不大的其余控件,則不執(zhí)行輸入操作,因此大大提高了檢測(cè)效率。
      【專利說明】一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)方法及裝置

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及自動(dòng)化【技術(shù)領(lǐng)域】,尤其涉及一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)方法及裝置。

      【背景技術(shù)】
      [0002]Android平臺(tái)中惡意代碼的泛濫使得一些檢測(cè)技術(shù)也逐漸提出,目前主要的檢測(cè)技術(shù)是從靜態(tài)分析和動(dòng)態(tài)分析兩個(gè)方面開展的。Android平臺(tái)的動(dòng)態(tài)分析依賴于在真實(shí)環(huán)境或者模擬器環(huán)境中提交正?;蛘弋惓?shù)據(jù),觀察程序?qū)?shù)據(jù)的處理機(jī)制與流程,同時(shí)監(jiān)控程序運(yùn)行時(shí)日志的輸出信息,觀察是否輸出了敏感信息。
      [0003]在動(dòng)態(tài)分析的過程中,程序的運(yùn)行依賴于用戶的輸入,對(duì)于不同的用戶輸入,一般會(huì)有不同的執(zhí)行路徑,也就是說用戶的操作流程決定著程序的流程。尤其對(duì)惡意程序來說,其惡意行為可能需要用戶的輸入才能觸發(fā),否則和正常程序或許是一樣的,因此一個(gè)好的輸入對(duì)動(dòng)態(tài)檢測(cè)也有著事半功倍的作用。
      [0004]目前的動(dòng)態(tài)檢測(cè)技術(shù)中的輸入操作一般采用模擬技術(shù)進(jìn)行,主要有三種方法:一是自動(dòng)代碼訓(xùn)練的方法,二是通過偽隨機(jī)的方式來產(chǎn)生輸入事件,第三個(gè)就是人工參與的方法來進(jìn)行人機(jī)交互從而達(dá)到控制程序行為的方法。單純從效果上講第三種的效果最好,但在實(shí)際操作中會(huì)增加大量的人工成本;第二種比較盲目,一切輸入都是隨機(jī)的;第一種的優(yōu)劣則在第二種和第三種之間,效率雖然高于偽隨機(jī)輸入但仍不夠完善,精度又比不過人工參與的輸入。
      [0005]為了改善現(xiàn)有技術(shù)的不足,需要一種自動(dòng)化輸入的動(dòng)態(tài)檢測(cè)方法,提高了 Android程序動(dòng)態(tài)檢測(cè)的效率。


      【發(fā)明內(nèi)容】

      [0006]本發(fā)明提供了一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)方法及裝置,以便提高Android程序動(dòng)態(tài)檢測(cè)的效率。
      [0007]為了實(shí)現(xiàn)上述目的,本發(fā)明提供了以下技術(shù)手段:
      [0008]一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)方法,包括:
      [0009]運(yùn)行已安裝的可疑應(yīng)用程序并獲取當(dāng)前活動(dòng)窗口的布局信息,所述布局信息包括多個(gè)控件的控件信息及多個(gè)控件之間的包含關(guān)系,每個(gè)控件信息包含控件類型、控件位置坐標(biāo)和控件屬性;
      [0010]按多個(gè)控件之間的包含關(guān)系生成與所述布局信息對(duì)應(yīng)的布局樹,所述布局樹中每個(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)一個(gè)控件;
      [0011]將所述布局樹中多個(gè)控件的控件類型分別與預(yù)設(shè)配置文件中關(guān)鍵控件類型進(jìn)行匹配、篩選出關(guān)鍵控件組,并獲取關(guān)鍵控件組中每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和關(guān)鍵屬性;
      [0012]依據(jù)每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和所述關(guān)鍵屬性執(zhí)行輸入操作。
      [0013]優(yōu)選的,在依據(jù)每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和所述關(guān)鍵屬性執(zhí)行輸入操作之前還包括:
      [0014]當(dāng)所述布局樹生成失敗或無效時(shí),對(duì)所述當(dāng)前活動(dòng)窗口截圖獲得當(dāng)前圖像;
      [0015]對(duì)所述當(dāng)前圖像進(jìn)行H0G特征提取、獲取多個(gè)特征向量;
      [0016]將多個(gè)特征向量逐個(gè)輸入至預(yù)設(shè)SVM分類器,所述預(yù)設(shè)SVM分類器逐個(gè)判斷所述特征向量是否為Button控件類型的特征向量,若是則確定該特征向量為關(guān)鍵特征向量,若否則確定該特征向量為非關(guān)鍵特征向量;
      [0017]經(jīng)所述預(yù)設(shè)SVM分類器分類后確定關(guān)鍵特征向量組,并在當(dāng)前圖像上獲得關(guān)鍵特征向量組的關(guān)鍵位置坐標(biāo),將Button控件的屬性作為關(guān)鍵屬性。
      [0018]優(yōu)選的,構(gòu)建預(yù)設(shè)SVM分類器的過程包括:
      [0019]獲取若干個(gè)布局樹生成失敗或無效的訓(xùn)練圖像;
      [0020]對(duì)所述訓(xùn)練圖像進(jìn)行預(yù)處理后進(jìn)行H0G特征提取,獲得訓(xùn)練特征向量;
      [0021]訓(xùn)練SVM分類器的參數(shù),達(dá)到SVM分類器能區(qū)分訓(xùn)練特征向量為Button控件類型或非Button控件類型;
      [0022]將訓(xùn)練完成的SVM分類器作為預(yù)設(shè)SVM分類器。
      [0023]優(yōu)選的,所述依據(jù)每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和所述關(guān)鍵屬性執(zhí)行輸入操作包括:
      [0024]將當(dāng)前活動(dòng)窗口對(duì)應(yīng)的多個(gè)關(guān)鍵控件作為分類樹的第一根節(jié)點(diǎn)、第二根節(jié)點(diǎn)……第a子節(jié)點(diǎn),a為當(dāng)前活動(dòng)窗口對(duì)應(yīng)的關(guān)鍵控件個(gè)數(shù);
      [0025]選取第一根節(jié)點(diǎn)對(duì)應(yīng)的關(guān)鍵控件,在關(guān)鍵控件對(duì)應(yīng)的關(guān)鍵位置坐標(biāo)處執(zhí)行與該關(guān)鍵控件的關(guān)鍵屬性對(duì)應(yīng)的輸入操作,系統(tǒng)輸出第二活動(dòng)窗口,按權(quán)利要求1所述的方法獲取第二活動(dòng)窗口的多個(gè)關(guān)鍵控件,及每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和關(guān)鍵屬性,將第二活動(dòng)窗口的多個(gè)關(guān)鍵控件作為第一根節(jié)點(diǎn)的第一子節(jié)點(diǎn)、第二子節(jié)點(diǎn)……第b子節(jié)點(diǎn),b為第二活動(dòng)窗口對(duì)應(yīng)的關(guān)鍵控件個(gè)數(shù);
      [0026]選取第一根節(jié)點(diǎn)的第一子節(jié)點(diǎn)對(duì)應(yīng)的關(guān)鍵控件,在關(guān)鍵控件對(duì)應(yīng)的關(guān)鍵位置坐標(biāo)處執(zhí)行與該關(guān)鍵控件的關(guān)鍵屬性對(duì)應(yīng)的輸入操作,系統(tǒng)輸出第三活動(dòng)窗口,按上述方法構(gòu)建分類樹直到第N活動(dòng)窗口與第N-1活動(dòng)窗口一致為止,然后從下至上依次遍歷第N-1活動(dòng)窗口、第N-2活動(dòng)窗口……第二活動(dòng)窗口的所有子節(jié)點(diǎn)執(zhí)行關(guān)鍵控件的輸入操作;
      [0027]按第一根節(jié)點(diǎn)的方式遍歷第二根節(jié)點(diǎn)、第三根節(jié)點(diǎn)……第a根節(jié)點(diǎn)執(zhí)行關(guān)鍵控件的輸入操作。
      [0028]優(yōu)選的,在依據(jù)每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和所述關(guān)鍵屬性執(zhí)行輸入操作之后還包括:
      [0029]生成并輸出動(dòng)態(tài)檢測(cè)的日志;
      [0030]對(duì)所述日志進(jìn)行分析判斷所述可疑應(yīng)用程序是否為惡意軟件。
      [0031]一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)裝置,包括:
      [0032]獲取信息單元,用于運(yùn)行已安裝的可疑應(yīng)用程序并獲取當(dāng)前活動(dòng)窗口的布局信息,所述布局信息包括多個(gè)控件的控件信息及多個(gè)控件之間的包含關(guān)系,每個(gè)控件信息包含控件類型、控件位置坐標(biāo)和控件屬性;
      [0033]生成單兀,用于按多個(gè)控件之間的包含關(guān)系生成與所述布局信息對(duì)應(yīng)的布局樹,所述布局樹中每個(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)一個(gè)控件;
      [0034]篩選單元,用于將所述布局樹中多個(gè)控件的控件類型分別與預(yù)設(shè)配置文件中關(guān)鍵控件類型進(jìn)行匹配、篩選出關(guān)鍵控件組,并獲取關(guān)鍵控件組中每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和關(guān)鍵屬性;
      [0035]輸入單元,用于依據(jù)每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和所述關(guān)鍵屬性執(zhí)行輸入操作。
      [0036]優(yōu)選的,還包括:
      [0037]獲取控件單元,用于當(dāng)所述布局樹生成失敗或無效時(shí),對(duì)所述當(dāng)前活動(dòng)窗口截圖獲得當(dāng)前圖像;對(duì)所述當(dāng)前圖像進(jìn)行H0G特征提取、獲取多個(gè)特征向量;將多個(gè)特征向量逐個(gè)輸入至預(yù)設(shè)SVM分類器,所述預(yù)設(shè)SVM分類器逐個(gè)判斷所述特征向量是否為Button控件類型的特征向量,若是則確定該特征向量為關(guān)鍵特征向量,若否則確定該特征向量為非關(guān)鍵特征向量;經(jīng)所述預(yù)設(shè)SVM分類器分類后確定關(guān)鍵特征向量組,并在當(dāng)前圖像上獲得關(guān)鍵特征向量組的關(guān)鍵位置坐標(biāo),將Button控件的屬性作為關(guān)鍵屬性。
      [0038]優(yōu)選的,還包括:
      [0039]構(gòu)建單元,用于獲取若干個(gè)布局樹生成失敗或無效的訓(xùn)練圖像;對(duì)所述訓(xùn)練圖像進(jìn)行預(yù)處理后進(jìn)行H0G特征提取,獲得訓(xùn)練特征向量;訓(xùn)練SVM分類器的參數(shù),達(dá)到SVM分類器能區(qū)分訓(xùn)練特征向量為Button控件類型或非Button控件類型;將訓(xùn)練完成的SVM分類器作為預(yù)設(shè)SVM分類器。
      [0040]優(yōu)選的,還包括:
      [0041]日志生成單元,生成并輸出動(dòng)態(tài)檢測(cè)的日志;對(duì)所述日志進(jìn)行分析判斷所述可疑應(yīng)用程序是否為惡意軟件。
      [0042]優(yōu)選的,所述關(guān)鍵控件類型包括:
      [0043]Button 類型、Image Button 類型和 / 或 EditText 類型。
      [0044]本發(fā)明提供了一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)方法及裝置,本申請(qǐng)利用軟件分析當(dāng)前窗口所包含的多個(gè)控件,并在多個(gè)控件中篩選出關(guān)鍵控件,及關(guān)鍵控件的位置坐標(biāo)和關(guān)鍵屬性,并自動(dòng)在位置坐標(biāo)處執(zhí)行關(guān)鍵屬性的輸入操作,整個(gè)過程自動(dòng)完成無需人工參與,從而降低了人工成本,并且僅對(duì)多個(gè)控件中較為重要的關(guān)鍵控件執(zhí)行輸入操作,對(duì)作用不大的其余控件,則不執(zhí)行輸入操作,因此大大提高了檢測(cè)效率。

      【專利附圖】

      【附圖說明】
      [0045]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0046]圖1為本發(fā)明實(shí)施例公開的一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)方法的流程圖;
      [0047]圖2為本發(fā)明實(shí)施例公開的又一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)方法的流程圖;
      [0048]圖3為本發(fā)明實(shí)施例公開的又一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)方法的流程圖;
      [0049]圖4為本發(fā)明實(shí)施例公開的又一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)方法的流程圖;
      [0050]圖5為本發(fā)明實(shí)施例公開的一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)方法中關(guān)鍵控件的示意圖;
      [0051]圖6為本發(fā)明實(shí)施例公開的一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)裝置的結(jié)構(gòu)示意圖;
      [0052]圖7為本發(fā)明實(shí)施例公開的又一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)裝置的結(jié)構(gòu)示意圖。

      【具體實(shí)施方式】
      [0053]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
      [0054]如圖1所示,本發(fā)明提供了一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)方法,包括:
      [0055]步驟S101:運(yùn)行已安裝的可疑應(yīng)用程序并獲取當(dāng)前活動(dòng)窗口的布局信息,所述布局信息包括多個(gè)控件的控件信息及多個(gè)控件之間的包含關(guān)系,每個(gè)控件信息包含控件類型、控件位置坐標(biāo)和控件屬性;
      [0056]當(dāng)應(yīng)用程序進(jìn)行靜態(tài)分析后存在可疑的惡意行為,則將可疑應(yīng)用程序進(jìn)行動(dòng)態(tài)的分析,動(dòng)態(tài)分析即將可疑應(yīng)用程序在安卓沙盒系統(tǒng)中安裝并運(yùn)行,盡最大可能執(zhí)行輸入操作,盡最大可能觸發(fā)惡意程序執(zhí)行。
      [0057]每個(gè)應(yīng)用程序均有不同的活動(dòng)窗口,活動(dòng)窗口上有不同的輸入按鍵、輸入圖像、可編輯輸入文本等輸入特性的控件,此外還有一些顯示控件及發(fā)聲控件,其中一些控件對(duì)應(yīng)用程序有著較為重要的影響,例如按鍵,另外一些控件對(duì)應(yīng)用程序影響不大,所以在動(dòng)態(tài)分析時(shí)可以忽略,以便提高動(dòng)態(tài)分析的效率。
      [0058]Android系統(tǒng)中每一個(gè)Activity組件都會(huì)關(guān)聯(lián)一個(gè)窗口對(duì)象,每一個(gè)窗口對(duì)象內(nèi)部又包含一個(gè)View對(duì)象,View對(duì)象用來描述應(yīng)用程序窗口的視圖,用來實(shí)現(xiàn)Π內(nèi)容和布局的,所以窗口對(duì)象包含布局信息,可以通過當(dāng)前活動(dòng)窗口直接獲得布局信息。
      [0059]布局信息為當(dāng)前窗口中所包含的所有控件、所有控件的控件信息以及所有控件相互之間的包含和被包含關(guān)系,即一個(gè)控件包含多個(gè)控件,又被其他控件包含,通過控件之間的關(guān)系可以清楚各個(gè)控件的包含和被包含關(guān)系。
      [0060]每個(gè)控件的控件信息中均有控件的位置坐標(biāo),用以表示控件在當(dāng)前活動(dòng)窗口的位置;控件類型,用以表示控件的類型是Button類型、EditText類型或其他類型;控件屬性,控件屬性與控件類型相關(guān)聯(lián),例如Button類型的屬性則為點(diǎn)擊,EditText類型的屬性則為輸入可編輯的文本。
      [0061]下面以Test, apk 為例進(jìn)行說明,Test, apk 中有三個(gè) Activity (MainA、MainB、MainC)組成,每個(gè)Activity又有著不同的布局,將Test, apk安裝到安卓沙盒系統(tǒng)當(dāng)中并運(yùn)行,首先進(jìn)入到MainA界面當(dāng)中,獲取到的窗口對(duì)象為當(dāng)前MainA顯示的窗口,并提取MainA的布局信息。
      [0062]步驟S102:按多個(gè)控件之間的包含關(guān)系生成與所述布局信息對(duì)應(yīng)的布局樹,所述布局樹中每個(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)一個(gè)控件;
      [0063]布局信息中具有多個(gè)控件之間的包含和被包含關(guān)系,按照布局信息生成對(duì)應(yīng)的布局樹,每一個(gè)控件對(duì)應(yīng)一個(gè)子節(jié)點(diǎn),若一個(gè)Μ控件包含多個(gè)N控件,則Μ為布局樹的父節(jié)點(diǎn),N個(gè)控件為父節(jié)點(diǎn)的子節(jié)點(diǎn),Μ同時(shí)還被其他節(jié)點(diǎn)包含,則Μ節(jié)點(diǎn)是其他節(jié)點(diǎn)的子節(jié)點(diǎn),通過這種包含和被包含的關(guān)系構(gòu)建布局樹。
      [0064]在MainA界面中,當(dāng)前活動(dòng)窗口的布局為一個(gè)RelativeLayout內(nèi)垂直排列三個(gè)Button按鈕,則當(dāng)前生成的布局樹的根節(jié)點(diǎn)為RelativeLayout,而三個(gè)Button對(duì)應(yīng)根節(jié)點(diǎn)的三個(gè)葉子節(jié)點(diǎn)。
      [0065]步驟S103:將所述布局樹中多個(gè)控件的控件類型分別與預(yù)設(shè)配置文件中關(guān)鍵控件類型進(jìn)行匹配、篩選出關(guān)鍵控件組,并獲取關(guān)鍵控件組中每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和關(guān)鍵屬性;
      [0066]在本發(fā)明執(zhí)行之前需要預(yù)先構(gòu)建預(yù)設(shè)配置文件,預(yù)設(shè)配置文件中包括若干個(gè)關(guān)鍵控件的類型,這些關(guān)鍵控件的類型為布局樹中具有明顯輸入特性的葉子節(jié)點(diǎn)控件,且技術(shù)人員確定對(duì)應(yīng)用程序影響較大的控件類型,因此在布局樹中篩選出關(guān)鍵控件,其余控件則可不考慮。
      [0067]具體的,逐個(gè)將將布局樹中多個(gè)控件的控件類型與預(yù)設(shè)配置文件的關(guān)鍵控件類型進(jìn)行對(duì)比,若預(yù)設(shè)配置文件的關(guān)鍵控件類型中包含布局樹中某個(gè)控件類型,則說明布局樹中該控件類型為關(guān)鍵控件,列入關(guān)鍵控件之列;若預(yù)設(shè)配置文件的關(guān)鍵控件類型中不包含布局樹的某個(gè)控件類型,則說明布局樹中改控件類型為非關(guān)鍵控件,則可忽略對(duì)該控件類型,不對(duì)該控件類型執(zhí)行后續(xù)操作,以便提高動(dòng)態(tài)測(cè)試的效率。
      [0068]預(yù)設(shè)配置文件是關(guān)鍵控件的過濾策略,由于在不同類型的應(yīng)用程序中,關(guān)鍵控件的類型也并不一致,因此通過對(duì)其進(jìn)行配置可以有效的提高控件輸入的準(zhǔn)確度。關(guān)鍵控件的配置采用配置文件形式對(duì)關(guān)鍵控件的過濾策略進(jìn)行描述,指定關(guān)鍵控件類型。在Test,apk中配置為關(guān)鍵控件的類型有:Button類型、ImageButton類型以及EditText類型。
      [0069]在MainA中,布局樹三個(gè)子節(jié)點(diǎn)為Button類型、Button類型為具有明顯輸入特性類型,因此為關(guān)鍵控件類型,因此布局樹中三個(gè)子節(jié)點(diǎn)均為關(guān)鍵控件,對(duì)應(yīng)根節(jié)點(diǎn)的三個(gè)葉子節(jié)點(diǎn)。
      [0070]步驟S104:依據(jù)每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和所述關(guān)鍵屬性執(zhí)行輸入操作。
      [0071]在確定關(guān)鍵控件之后,在布局樹中獲得與關(guān)鍵控件對(duì)應(yīng)的控件信息,即關(guān)鍵控件屬性和關(guān)鍵位置坐標(biāo),關(guān)鍵位置坐標(biāo)用于表明控件在當(dāng)前活動(dòng)窗口的位置,關(guān)鍵控件屬性用以表明該關(guān)鍵控件的輸入操作類型,然后在關(guān)鍵控件位置處按關(guān)鍵控件屬性執(zhí)行對(duì)應(yīng)的輸入操作。
      [0072]例如:在MainA中布局樹三個(gè)子節(jié)點(diǎn)為Button類型,均為關(guān)鍵控件,關(guān)鍵控件的屬性為點(diǎn)擊,然后分別在當(dāng)前活動(dòng)窗口中獲得三個(gè)Button按鍵的位置坐標(biāo),然后依次在三個(gè)Button按鍵位置坐標(biāo)處執(zhí)行點(diǎn)擊操作,以代表執(zhí)行了相應(yīng)的輸入操作。
      [0073]在執(zhí)行完成每條輸入操作后便生成并輸出動(dòng)態(tài)檢測(cè)的日志;以便技術(shù)人員對(duì)所述日志進(jìn)行分析判斷所述可疑應(yīng)用程序是否為惡意軟件。
      [0074]本發(fā)明提供了一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)方法,本申請(qǐng)利用軟件分析當(dāng)前窗口所包含的多個(gè)控件,并在多個(gè)控件中篩選出關(guān)鍵控件,及關(guān)鍵控件的位置坐標(biāo)和關(guān)鍵屬性,并自動(dòng)在位置坐標(biāo)處執(zhí)行關(guān)鍵屬性的輸入操作,整個(gè)過程自動(dòng)完成無需人工參與,降低了人工成本,并且僅對(duì)多個(gè)控件中較為重要的關(guān)鍵控件執(zhí)行輸入操作,對(duì)作用不大的其余控件,則不執(zhí)行輸入操作,因此大大提高了檢測(cè)效率。
      [0075]但有一些應(yīng)用程序無法生成布局樹、或者生成的布局樹無效,無法執(zhí)行后續(xù)操作,因此對(duì)于這一類應(yīng)用程序,采用下述方法來獲得關(guān)鍵控件,如圖2所示,本發(fā)明提供了一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)方法,包括:
      [0076]步驟S201:運(yùn)行已安裝的可疑應(yīng)用程序并獲取當(dāng)前活動(dòng)窗口的布局信息,所述布局信息包括多個(gè)控件的控件信息及多個(gè)控件之間的包含關(guān)系,每個(gè)控件信息包含控件類型、控件位置坐標(biāo)和控件屬性;
      [0077]步驟S202:按多個(gè)控件之間的包含關(guān)系生成與所述布局信息對(duì)應(yīng)的布局樹,所述布局樹中每個(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)一個(gè)控件;
      [0078]步驟S203:判斷布局樹是否生成失敗或無效,若是則進(jìn)入步驟S204,否進(jìn)入步驟S207 ;
      [0079]步驟S204:當(dāng)所述布局樹生成失敗或無效時(shí),對(duì)所述當(dāng)前活動(dòng)窗口截圖獲得當(dāng)前圖像;對(duì)所述當(dāng)前圖像進(jìn)行HOG特征提取、獲取多個(gè)特征向量;
      [0080]方向梯度直方圖(Histogram of Oriented Gradient,HOG)在一副圖像中,局部目標(biāo)的表象和形狀能夠被梯度或邊緣的方向密度分布很好地描述,本質(zhì)為梯度的統(tǒng)計(jì)信息,而梯度主要存在于邊緣的地方。
      [0081]當(dāng)所述布局樹生成失敗時(shí)采用HOG特征提取+SVM分類器的方法獲得關(guān)鍵控件,首先需要訓(xùn)練SVM分類器,由于控件的復(fù)雜性和多變性,這里關(guān)鍵控件的識(shí)別主要針對(duì)有規(guī)則輪廓特征的Button類型,即SVM分類器只能判定當(dāng)前圖像的特征向量是否為Button類型,若是則確定該特征向量為關(guān)鍵控件,若否則確定該特征向量為非關(guān)鍵控件。
      [0082]步驟S205:將多個(gè)特征向量逐個(gè)輸入至預(yù)設(shè)SVM分類器,所述預(yù)設(shè)SVM分類器逐個(gè)判斷所述特征向量是否為Button控件類型的特征向量,若是則確定該特征向量為關(guān)鍵特征向量,若否則確定該特征向量為非關(guān)鍵特征向量;
      [0083]在多個(gè)特征向量中選取一個(gè)特征向量作為目標(biāo)特征向量,將所述目標(biāo)特征向量輸入至預(yù)設(shè)SVM分類器,所述預(yù)設(shè)SVM分類器判斷所述目標(biāo)特征向量是否為Button控件類型的特征向量,若是則輸出所述目標(biāo)特征向量為關(guān)鍵特征向量,若否則輸出所述,目標(biāo)特征向量為非關(guān)鍵特征向量。
      [0084]步驟S206:經(jīng)所述預(yù)設(shè)SVM分類器分類后確定關(guān)鍵特征向量組,并在當(dāng)前圖像上獲得關(guān)鍵特征向量組的關(guān)鍵位置坐標(biāo),將Button控件的屬性作為關(guān)鍵屬性,進(jìn)入步驟S208。
      [0085]在當(dāng)前圖像的多個(gè)特征向量中確定關(guān)鍵特征向量后,將關(guān)鍵特征向量對(duì)應(yīng)的控件作為關(guān)鍵控件,并獲取關(guān)鍵控件的位置坐標(biāo),由于關(guān)鍵控件中只有將Button類型的控件,因此將的Button類型的點(diǎn)擊屬性作為關(guān)鍵控件的屬性。
      [0086]步驟S207:將所述布局樹中多個(gè)控件的控件類型分別與預(yù)設(shè)配置文件中關(guān)鍵控件類型進(jìn)行匹配、篩選出關(guān)鍵控件組,并獲取關(guān)鍵控件組中每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和關(guān)鍵屬性;
      [0087]步驟S208:依據(jù)每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和所述關(guān)鍵屬性執(zhí)行輸入操作。
      [0088]下面以MainB為例對(duì)識(shí)別過程進(jìn)行說明,MainB在進(jìn)行關(guān)鍵控件信息提取時(shí)無法生成有效的布局樹,則首先對(duì)MainB的活動(dòng)窗口進(jìn)行截屏處理,得到當(dāng)前活動(dòng)窗口的截圖,然后進(jìn)行預(yù)處理并提取HOG特征向量,然后加載已經(jīng)訓(xùn)練好的SVM分類器進(jìn)行識(shí)別,得到識(shí)別結(jié)果,即是否為Button類型的關(guān)鍵控件。
      [0089]下面介紹本發(fā)明構(gòu)建預(yù)設(shè)SVM分類器的過程,如圖3所示,包括以下步驟:
      [0090]步驟S301:獲取若干個(gè)布局樹生成失敗或無效的訓(xùn)練圖像;
      [0091]步驟S302:對(duì)所述訓(xùn)練圖像進(jìn)行預(yù)處理后進(jìn)行HOG特征提取,獲得訓(xùn)練特征向量;
      [0092]步驟S303:訓(xùn)練SVM分類器的參數(shù),達(dá)到SVM分類器能區(qū)分訓(xùn)練特征向量為Button控件類型或非Button控件類型;
      [0093]步驟S304:將訓(xùn)練完成的SVM分類器作為預(yù)設(shè)SVM分類器。
      [0094]由于控件的復(fù)雜性和多變性,這里關(guān)鍵控件的識(shí)別主要針對(duì)有規(guī)則輪廓特征的Button類型,運(yùn)行N(N>50)個(gè)無法建立有效布局樹的應(yīng)用程序并進(jìn)行截圖,提取訓(xùn)練樣本,訓(xùn)練樣本包括正樣本和負(fù)樣本,然后進(jìn)行裁剪和預(yù)處理,分別對(duì)所有訓(xùn)練樣本進(jìn)行HOG特征提取,將HOG特征輸入到SVM中進(jìn)行訓(xùn)練,得到較佳的訓(xùn)練參數(shù),能夠?qū)⒂?xùn)練樣本分為Button類型和非Button類型。
      [0095]下面介紹步驟S104或步驟S208的詳細(xì)操作過程,如圖4所示包括以下內(nèi)容:
      [0096]步驟S401:將當(dāng)前活動(dòng)窗口對(duì)應(yīng)的多個(gè)關(guān)鍵控件作為分類樹的第一根節(jié)點(diǎn)、第二根節(jié)點(diǎn)……第a子節(jié)點(diǎn),a為當(dāng)前活動(dòng)窗口對(duì)應(yīng)的關(guān)鍵控件個(gè)數(shù);
      [0097]步驟S402:對(duì)當(dāng)前活動(dòng)窗口的第一根節(jié)點(diǎn)對(duì)應(yīng)的關(guān)鍵控件執(zhí)行輸入操作;
      [0098]即選取第一根節(jié)點(diǎn)對(duì)應(yīng)的關(guān)鍵控件,在關(guān)鍵控件對(duì)應(yīng)的關(guān)鍵位置坐標(biāo)處執(zhí)行與該關(guān)鍵控件的關(guān)鍵屬性對(duì)應(yīng)的輸入操作,系統(tǒng)輸出第二活動(dòng)窗口,如圖5所示,當(dāng)前活動(dòng)窗口經(jīng)過關(guān)鍵控件提取之后得到多個(gè)關(guān)鍵控件,經(jīng)多個(gè)關(guān)鍵控件作為分類樹的根節(jié)點(diǎn),分別用A1、A2……Aa表示,a為當(dāng)前活動(dòng)窗口對(duì)應(yīng)的關(guān)鍵控件個(gè)數(shù);每個(gè)根節(jié)點(diǎn)均對(duì)應(yīng)一個(gè)關(guān)鍵控件,選擇第一根節(jié)點(diǎn)的關(guān)鍵控件執(zhí)行輸入操作后,便會(huì)出現(xiàn)第二活動(dòng)窗口。
      [0099]按圖1所述的方法獲取第二活動(dòng)窗口的多個(gè)關(guān)鍵控件,及每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和關(guān)鍵屬性,將第二活動(dòng)窗口的多個(gè)關(guān)鍵控件作為第一根節(jié)點(diǎn)的第一子節(jié)點(diǎn)、第二子節(jié)點(diǎn)……第b子節(jié)點(diǎn),b為第二活動(dòng)窗口對(duì)應(yīng)的關(guān)鍵控件個(gè)數(shù);
      [0100]步驟S403:對(duì)第二活動(dòng)窗口的第一根節(jié)點(diǎn)執(zhí)行輸入操作,依次類推直到第N活動(dòng)窗口 ;
      [0101]選取第二活動(dòng)窗口的第一根節(jié)點(diǎn)對(duì)應(yīng)的關(guān)鍵控件,即第一根節(jié)點(diǎn)的第一子節(jié)點(diǎn)對(duì)應(yīng)的關(guān)鍵控件,在關(guān)鍵控件對(duì)應(yīng)的關(guān)鍵位置坐標(biāo)處執(zhí)行與該關(guān)鍵控件的關(guān)鍵屬性對(duì)應(yīng)的輸入操作,系統(tǒng)輸出第三活動(dòng)窗口,按圖1或圖2所述的方法構(gòu)建圖5所示的分類樹,直到第N活動(dòng)窗口與第N-1活動(dòng)窗口一致為止,然后從下至上依次遍歷第N-1活動(dòng)窗口、第N-2活動(dòng)窗口……第二活動(dòng)窗口的所有子節(jié)點(diǎn)執(zhí)行關(guān)鍵控件的輸入操作;
      [0102]在第二活動(dòng)窗口上按圖2所述的步驟重新進(jìn)行提取多個(gè)關(guān)鍵控件,并命名為B1、B2……Bb,b為第二活動(dòng)窗口對(duì)應(yīng)的關(guān)鍵控件個(gè)數(shù),然后重新構(gòu)建分類樹,將B1、B2……Bb共b個(gè)節(jié)點(diǎn)作為第一根節(jié)點(diǎn)Al的子節(jié)點(diǎn),然后繼續(xù)對(duì)BI節(jié)點(diǎn)對(duì)應(yīng)的控件執(zhí)行輸入操作,得到第三活動(dòng)窗口。
      [0103]在得到第三活動(dòng)窗口后依然按照上述方法獲得第三活動(dòng)窗口對(duì)應(yīng)的關(guān)鍵控件,并命名為Cl、C2……Ce,C為第三活動(dòng)窗口對(duì)應(yīng)的關(guān)鍵控件個(gè)數(shù),然后在輸入Cl的關(guān)鍵控件的輸入操作,依次類推,獲得第N-1活動(dòng)窗口,對(duì)第N-1窗口按照上述方法獲得關(guān)鍵控件,依次命名為Z1、Z2……Zim,對(duì)Zl節(jié)點(diǎn)對(duì)應(yīng)的關(guān)鍵控件執(zhí)行輸入操作得到第N活動(dòng)窗口,當(dāng)?shù)贜活動(dòng)窗口與第N-1活動(dòng)窗口一致,或者第N活動(dòng)窗口中無關(guān)鍵控件或者第N活動(dòng)活動(dòng)窗口不再隨用戶輸入而變化,則認(rèn)為此時(shí)由第一根節(jié)點(diǎn)開始的此條路徑已經(jīng)執(zhí)行完畢。
      [0104]步驟S404:從下向上依次回溯遍歷完所有節(jié)點(diǎn);
      [0105]具體的,從依次遍歷N-1窗口的剩余關(guān)鍵控件Z2、Z3……Z1^1,然后再遍歷N_1窗口的剩余關(guān)鍵控件,依次類推直到遍歷第二活動(dòng)窗口的B2、B3……Bb的活動(dòng)控件,至此第一根節(jié)點(diǎn)的所有節(jié)點(diǎn)遍歷完成,然后再按照同樣的方法遍歷第二根節(jié)點(diǎn)的關(guān)鍵控件、第三根節(jié)點(diǎn)的關(guān)鍵控件直到第a根節(jié)點(diǎn)的關(guān)鍵控件,從而完成所有根節(jié)點(diǎn)的關(guān)鍵控件輸入。
      [0106]綜上,本申請(qǐng)為提取到的關(guān)鍵控件信息后執(zhí)行不同的輸入動(dòng)作的模擬包括觸摸、按鍵等,同時(shí)隨機(jī)進(jìn)行系統(tǒng)動(dòng)作的觸發(fā)輸入,包括系統(tǒng)來電信號(hào)、系統(tǒng)短信接收信號(hào)、網(wǎng)絡(luò)狀態(tài)變化信號(hào)、地址位置變化信號(hào)等等,這里關(guān)鍵控件信息決定著輸入動(dòng)作的類型,如已獲取到關(guān)鍵控件的位置、可點(diǎn)擊狀態(tài),則模擬執(zhí)行控件觸摸動(dòng)作,執(zhí)行完一次輸入動(dòng)作后,重復(fù)進(jìn)行過程圖1所述的過程,直到輸入動(dòng)作對(duì)應(yīng)用無顯著影響為止,以此來最大可能的觸發(fā)惡意程序的執(zhí)行。
      [0107]步驟S404:按第一根節(jié)點(diǎn)的方式遍歷第二根節(jié)點(diǎn)、第三根節(jié)點(diǎn)......第a根節(jié)點(diǎn)執(zhí)行關(guān)鍵控件的輸入操作。
      [0108]如圖6所示,本發(fā)明還提供了一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)裝置,包括:
      [0109]獲取信息單元61,用于運(yùn)行已安裝的可疑應(yīng)用程序并獲取當(dāng)前活動(dòng)窗口的布局信息,所述布局信息包括多個(gè)控件的控件信息及多個(gè)控件之間的包含關(guān)系,每個(gè)控件信息包含控件類型、控件位置坐標(biāo)和控件屬性;
      [0110]生成單兀62,用于按多個(gè)控件之間的包含關(guān)系生成與所述布局信息對(duì)應(yīng)的布局樹,所述布局樹中每個(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)一個(gè)控件;
      [0111]篩選單元63,用于將所述布局樹中多個(gè)控件的控件類型分別與預(yù)設(shè)配置文件中關(guān)鍵控件類型進(jìn)行匹配、篩選出關(guān)鍵控件組,并獲取關(guān)鍵控件組中每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和關(guān)鍵屬性;
      [0112]輸入單元64,用于依據(jù)每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和所述關(guān)鍵屬性執(zhí)行輸入操作。
      [0113]如圖7所示,本發(fā)明提供的一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)裝置還包括:
      [0114]獲取控件單元65,用于當(dāng)所述布局樹生成失敗或無效時(shí),對(duì)所述當(dāng)前活動(dòng)窗口截圖獲得當(dāng)前圖像;對(duì)所述當(dāng)前圖像進(jìn)行HOG特征提取、獲取多個(gè)特征向量;將多個(gè)特征向量逐個(gè)輸入至預(yù)設(shè)SVM分類器,所述預(yù)設(shè)SVM分類器逐個(gè)判斷所述特征向量是否為Button控件類型的特征向量,若是則確定該特征向量為關(guān)鍵特征向量,若否則確定該特征向量為非關(guān)鍵特征向量;經(jīng)所述預(yù)設(shè)SVM分類器分類后確定關(guān)鍵特征向量組,并在當(dāng)前圖像上獲得關(guān)鍵特征向量組的關(guān)鍵位置坐標(biāo),將Button控件的屬性作為關(guān)鍵屬性。
      [0115]構(gòu)建單元66,用于獲取若干個(gè)布局樹生成失敗或無效的訓(xùn)練圖像;對(duì)所述訓(xùn)練圖像進(jìn)行預(yù)處理后進(jìn)行HOG特征提取,獲得訓(xùn)練特征向量;訓(xùn)練SVM分類器的參數(shù),達(dá)到SVM分類器能區(qū)分訓(xùn)練特征向量為Button控件類型或非Button控件類型;將訓(xùn)練完成的SVM分類器作為預(yù)設(shè)SVM分類器。
      [0116]日志生成單元67,生成并輸出動(dòng)態(tài)檢測(cè)的日志;對(duì)所述日志進(jìn)行分析判斷所述可疑應(yīng)用程序是否為惡意軟件。
      [0117]所述關(guān)鍵控件類型包括:
      [0118]Button 類型、Image Button 類型和 / 或 EditText 類型。
      [0119]本發(fā)明提供了一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)裝置,本申請(qǐng)利用軟件分析當(dāng)前窗口所包含的多個(gè)控件,并在多個(gè)控件中篩選出關(guān)鍵控件,及關(guān)鍵控件的位置坐標(biāo)和關(guān)鍵屬性,并自動(dòng)在位置坐標(biāo)處執(zhí)行關(guān)鍵屬性的輸入操作,整個(gè)過程自動(dòng)完成無需人工參與,從而降低了人工成本,并且僅對(duì)多個(gè)控件中較為重要的關(guān)鍵控件執(zhí)行輸入操作,對(duì)作用不大的其余控件,則不執(zhí)行輸入操作,因此大大提高了檢測(cè)效率。
      [0120]本實(shí)施例方法所述的功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算設(shè)備可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明實(shí)施例對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,移動(dòng)計(jì)算設(shè)備或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
      [0121]本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似部分互相參見即可。
      [0122]對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。
      【權(quán)利要求】
      1.一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)方法,其特征在于,包括: 運(yùn)行已安裝的可疑應(yīng)用程序并獲取當(dāng)前活動(dòng)窗口的布局信息,所述布局信息包括多個(gè)控件的控件信息及多個(gè)控件之間的包含關(guān)系,每個(gè)控件信息包含控件類型、控件位置坐標(biāo)和控件屬性; 按多個(gè)控件之間的包含關(guān)系生成與所述布局信息對(duì)應(yīng)的布局樹,所述布局樹中每個(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)一個(gè)控件; 將所述布局樹中多個(gè)控件的控件類型分別與預(yù)設(shè)配置文件中關(guān)鍵控件類型進(jìn)行匹配、篩選出關(guān)鍵控件組,并獲取關(guān)鍵控件組中每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和關(guān)鍵屬性; 依據(jù)每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和所述關(guān)鍵屬性執(zhí)行輸入操作。
      2.如權(quán)利要求1所述的方法,其特征在于,在依據(jù)每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和所述關(guān)鍵屬性執(zhí)行輸入操作之前還包括: 當(dāng)所述布局樹生成失敗或無效時(shí),對(duì)所述當(dāng)前活動(dòng)窗口截圖獲得當(dāng)前圖像; 對(duì)所述當(dāng)前圖像進(jìn)行HOG特征提取、獲取多個(gè)特征向量; 將多個(gè)特征向量逐個(gè)輸入至預(yù)設(shè)SVM分類器,所述預(yù)設(shè)SVM分類器逐個(gè)判斷所述特征向量是否為Button控件類型的特征向量,若是則確定該特征向量為關(guān)鍵特征向量,若否則確定該特征向量為非關(guān)鍵特征向量; 經(jīng)所述預(yù)設(shè)SVM分類器分類后確定關(guān)鍵特征向量組,并在當(dāng)前圖像上獲得關(guān)鍵特征向量組的關(guān)鍵位置坐標(biāo),將Button控件的屬性作為關(guān)鍵屬性。
      3.如權(quán)利要求2所述的方法,其特征在于,構(gòu)建預(yù)設(shè)SVM分類器的過程包括: 獲取若干個(gè)布局樹生成失敗或無效的訓(xùn)練圖像; 對(duì)所述訓(xùn)練圖像進(jìn)行預(yù)處理后進(jìn)行HOG特征提取,獲得訓(xùn)練特征向量; 訓(xùn)練SVM分類器的參數(shù),達(dá)到SVM分類器能區(qū)分訓(xùn)練特征向量為Button控件類型或非Button控件類型; 將訓(xùn)練完成的SVM分類器作為預(yù)設(shè)SVM分類器。
      4.如權(quán)利要求1或2所述的方法,其特征在于,所述依據(jù)每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和所述關(guān)鍵屬性執(zhí)行輸入操作包括: 將當(dāng)前活動(dòng)窗口對(duì)應(yīng)的多個(gè)關(guān)鍵控件作為分類樹的第一根節(jié)點(diǎn)、第二根節(jié)點(diǎn)……第a子節(jié)點(diǎn),a為當(dāng)前活動(dòng)窗口對(duì)應(yīng)的關(guān)鍵控件個(gè)數(shù); 選取第一根節(jié)點(diǎn)對(duì)應(yīng)的關(guān)鍵控件,在關(guān)鍵控件對(duì)應(yīng)的關(guān)鍵位置坐標(biāo)處執(zhí)行與該關(guān)鍵控件的關(guān)鍵屬性對(duì)應(yīng)的輸入操作,系統(tǒng)輸出第二活動(dòng)窗口,按權(quán)利要求1所述的方法獲取第二活動(dòng)窗口的多個(gè)關(guān)鍵控件,及每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和關(guān)鍵屬性,將第二活動(dòng)窗口的多個(gè)關(guān)鍵控件作為第一根節(jié)點(diǎn)的第一子節(jié)點(diǎn)、第二子節(jié)點(diǎn)……第b子節(jié)點(diǎn),b為第二活動(dòng)窗口對(duì)應(yīng)的關(guān)鍵控件個(gè)數(shù); 選取第一根節(jié)點(diǎn)的第一子節(jié)點(diǎn)對(duì)應(yīng)的關(guān)鍵控件,在關(guān)鍵控件對(duì)應(yīng)的關(guān)鍵位置坐標(biāo)處執(zhí)行與該關(guān)鍵控件的關(guān)鍵屬性對(duì)應(yīng)的輸入操作,系統(tǒng)輸出第三活動(dòng)窗口,按上述方法構(gòu)建分類樹直到第N活動(dòng)窗口與第N-1活動(dòng)窗口一致為止,然后從下至上依次遍歷第N-1活動(dòng)窗口、第N-2活動(dòng)窗口……第二活動(dòng)窗口的所有子節(jié)點(diǎn)執(zhí)行關(guān)鍵控件的輸入操作; 按第一根節(jié)點(diǎn)的方式遍歷第二根節(jié)點(diǎn)、第三根節(jié)點(diǎn)……第a根節(jié)點(diǎn)執(zhí)行關(guān)鍵控件的輸入操作。
      5.如權(quán)利要求4所述的方法,其特征在于,在依據(jù)每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和所述關(guān)鍵屬性執(zhí)行輸入操作之后還包括: 生成并輸出動(dòng)態(tài)檢測(cè)的日志; 對(duì)所述日志進(jìn)行分析判斷所述可疑應(yīng)用程序是否為惡意軟件。
      6.一種應(yīng)用程序的自動(dòng)化動(dòng)態(tài)檢測(cè)裝置,其特征在于,包括: 獲取信息單元,用于運(yùn)行已安裝的可疑應(yīng)用程序并獲取當(dāng)前活動(dòng)窗口的布局信息,所述布局信息包括多個(gè)控件的控件信息及多個(gè)控件之間的包含關(guān)系,每個(gè)控件信息包含控件類型、控件位置坐標(biāo)和控件屬性; 生成單兀,用于按多個(gè)控件之間的包含關(guān)系生成與所述布局信息對(duì)應(yīng)的布局樹,所述布局樹中每個(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)一個(gè)控件; 篩選單元,用于將所述布局樹中多個(gè)控件的控件類型分別與預(yù)設(shè)配置文件中關(guān)鍵控件類型進(jìn)行匹配、篩選出關(guān)鍵控件組,并獲取關(guān)鍵控件組中每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和關(guān)鍵屬性; 輸入單元,用于依據(jù)每個(gè)關(guān)鍵控件的關(guān)鍵位置坐標(biāo)和所述關(guān)鍵屬性執(zhí)行輸入操作。
      7.如權(quán)利要求6所述的裝置,其特征在于,還包括: 獲取控件單元,用于當(dāng)所述布局樹生成失敗或無效時(shí),對(duì)所述當(dāng)前活動(dòng)窗口截圖獲得當(dāng)前圖像;對(duì)所述當(dāng)前圖像進(jìn)行HOG特征提取、獲取多個(gè)特征向量;將多個(gè)特征向量逐個(gè)輸入至預(yù)設(shè)SVM分類器,所述預(yù)設(shè)SVM分類器逐個(gè)判斷所述特征向量是否為Button控件類型的特征向量,若是則確定該特征向量為關(guān)鍵特征向量,若否則確定該特征向量為非關(guān)鍵特征向量;經(jīng)所述預(yù)設(shè)SVM分類器分類后確定關(guān)鍵特征向量組,并在當(dāng)前圖像上獲得關(guān)鍵特征向量組的關(guān)鍵位置坐標(biāo),將Button控件的屬性作為關(guān)鍵屬性。
      8.如權(quán)利要求7所述的裝置,其特征在于,還包括: 構(gòu)建單元,用于獲取若干個(gè)布局樹生成失敗或無效的訓(xùn)練圖像;對(duì)所述訓(xùn)練圖像進(jìn)行預(yù)處理后進(jìn)行HOG特征提取,獲得訓(xùn)練特征向量;訓(xùn)練SVM分類器的參數(shù),達(dá)到SVM分類器能區(qū)分訓(xùn)練特征向量為Button控件類型或非Button控件類型;將訓(xùn)練完成的SVM分類器作為預(yù)設(shè)SVM分類器。
      9.如權(quán)利要求8所述的裝置,其特征在于,還包括: 日志生成單元,生成并輸出動(dòng)態(tài)檢測(cè)的日志;對(duì)所述日志進(jìn)行分析判斷所述可疑應(yīng)用程序是否為惡意軟件。
      10.如權(quán)利要求6所述的裝置,其特征在于,所述關(guān)鍵控件類型包括: Button 類型、Image Button 類型和 / 或 EditText 類型。
      【文檔編號(hào)】G06F21/56GK104462979SQ201410836820
      【公開日】2015年3月25日 申請(qǐng)日期:2014年12月26日 優(yōu)先權(quán)日:2014年12月26日
      【發(fā)明者】馬亞飛, 孫卓, 李新國(guó) 申請(qǐng)人:深圳數(shù)字電視國(guó)家工程實(shí)驗(yàn)室股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1