近幾年來(lái),蜂窩式和無(wú)線通信技術(shù)迅猛發(fā)展。無(wú)線服務(wù)供應(yīng)商現(xiàn)在提供大量特征和服務(wù),所述特征和服務(wù)向其用戶提供對(duì)信息、資源及通信的前所未有的等級(jí)的存取。為了與這些改進(jìn)保持同步,家用電子裝置(例如,蜂窩式電話、手表、頭戴式耳機(jī)、遠(yuǎn)程控件等)變得前所未有的強(qiáng)大和復(fù)雜,且現(xiàn)在家用電子裝置通常包括大功率處理器、大型存儲(chǔ)器和允許在它們的裝置上執(zhí)行復(fù)雜和強(qiáng)大軟件應(yīng)用程序的其它資源。另外,這些裝置允許它們的用戶從應(yīng)用程序下載服務(wù)器(例如,App Store、Store、play等)或互聯(lián)網(wǎng)下載和執(zhí)行多種軟件應(yīng)用程序。
由于這些和其它改進(jìn),越來(lái)越多的移動(dòng)和無(wú)線裝置用戶現(xiàn)在使用它們的裝置來(lái)存儲(chǔ)敏感信息(例如,信用卡信息、聯(lián)系人等)和/或完成安全性非常重要的任務(wù)。舉例來(lái)說(shuō),移動(dòng)裝置用戶頻繁地使用他們的裝置來(lái)購(gòu)買(mǎi)貨物、發(fā)送和接收敏感通信、支付賬單、管理銀行賬戶并且進(jìn)行其它涉密交易。由于這些趨勢(shì),移動(dòng)裝置迅速變?yōu)閻阂廛浖途W(wǎng)絡(luò)攻擊的下一個(gè)前線。因而,更好的保護(hù)資源受限制的計(jì)算裝置(例如,移動(dòng)和無(wú)線裝置)的新的且改進(jìn)的安全解決方案將有利于消費(fèi)者。
技術(shù)實(shí)現(xiàn)要素:
各種實(shí)施例包括使用行為分析或機(jī)器學(xué)習(xí)技術(shù)以評(píng)估在計(jì)算裝置上運(yùn)行的兩個(gè)或大于兩個(gè)軟件應(yīng)用程序的共同行為的方法。所述方法可以包括分析計(jì)算裝置中的行為,方法是在計(jì)算裝置的處理器中監(jiān)測(cè)多個(gè)軟件應(yīng)用程序的活動(dòng)、收集用于多個(gè)軟件應(yīng)用程序中的每一個(gè)的監(jiān)測(cè)活動(dòng)的行為信息、基于所收集的行為信息產(chǎn)生行為向量、將所產(chǎn)生的行為向量應(yīng)用于分類器模型以產(chǎn)生分析信息并且使用分析信息來(lái)評(píng)估多個(gè)軟件應(yīng)用程序的共同行為。
在一個(gè)實(shí)施例中,基于所收集的行為信息產(chǎn)生行為向量可以包括產(chǎn)生表征多個(gè)軟件應(yīng)用程序的共同行為的信息結(jié)構(gòu)。在另一實(shí)施例中,基于所收集的行為信息產(chǎn)生行為向量可以包括產(chǎn)生表征多個(gè)軟件應(yīng)用程序之間的關(guān)系的信息結(jié)構(gòu)。在另一實(shí)施例中,監(jiān)測(cè)多個(gè)軟件應(yīng)用程序的活動(dòng)可以包括監(jiān)測(cè)多個(gè)軟件應(yīng)用程序之間的交互,且使用分析信息以評(píng)估多個(gè)軟件應(yīng)用程序的共同行為可以包括識(shí)別應(yīng)當(dāng)作為一組一起評(píng)估的兩個(gè)或大于兩個(gè)軟件應(yīng)用程序。
在另一實(shí)施例中,所述方法可以包括監(jiān)測(cè)所識(shí)別的兩個(gè)或大于兩個(gè)軟件應(yīng)用程序的額外活動(dòng)以收集額外的行為信息、基于所收集的額外的行為信息產(chǎn)生表征所識(shí)別的兩個(gè)或大于兩個(gè)軟件應(yīng)用程序的共同行為的共同行為向量、將所產(chǎn)生的共同行為向量應(yīng)用于分類器模型以產(chǎn)生額外的分析信息并且使用額外的分析信息以確定所識(shí)別的兩個(gè)或大于兩個(gè)軟件應(yīng)用程序的共同行為是否是非良性的。在另一實(shí)施例中,所述方法可以包括將各自表征所識(shí)別的兩個(gè)或大于兩個(gè)軟件應(yīng)用程序的行為的行為向量應(yīng)用于分類器模型以產(chǎn)生額外的分析信息、聚集針對(duì)每個(gè)行為向量產(chǎn)生的額外的分析信息并且使用分析結(jié)果來(lái)確定所識(shí)別的兩個(gè)或大于兩個(gè)軟件應(yīng)用程序的共同行為是否是非良性的。
在另一實(shí)施例中,將所產(chǎn)生的行為向量應(yīng)用于分類器模型以產(chǎn)生分析信息可以包括將所產(chǎn)生的行為向量應(yīng)用于多應(yīng)用程序分類器模型。在另一實(shí)施例中,基于所收集的行為信息產(chǎn)生行為向量可以包括產(chǎn)生每個(gè)表征多個(gè)軟件應(yīng)用程序中的一個(gè)的行為的多個(gè)行為向量,且將所產(chǎn)生的行為向量應(yīng)用于多應(yīng)用程序分類器模型可以包括將行為向量中的每一個(gè)應(yīng)用于多應(yīng)用程序分類器模型以產(chǎn)生分析信息。
在另一實(shí)施例中,將所產(chǎn)生的行為向量應(yīng)用于多應(yīng)用程序分類器模型可以包括評(píng)估包含于多應(yīng)用程序分類器模型中的每個(gè)測(cè)試條件、在多應(yīng)用程序分類器模型中計(jì)算評(píng)估測(cè)試條件的每個(gè)結(jié)果的加權(quán)平均值以及基于加權(quán)平均值確定共同行為是否是非良性的。在另一實(shí)施例中,使用分析信息以對(duì)多個(gè)軟件應(yīng)用程序的共同行為進(jìn)行分類可以包括對(duì)監(jiān)測(cè)的多個(gè)軟件應(yīng)用程序進(jìn)行分類、解析多個(gè)軟件應(yīng)用程序的每個(gè)類別并且產(chǎn)生多個(gè)軟件應(yīng)用程序的每個(gè)類別的性能編號(hào)。
其它實(shí)施例可以包括具有配置有處理器可執(zhí)行指令以執(zhí)行操作的處理器的計(jì)算裝置,所述操作包括監(jiān)測(cè)多個(gè)軟件應(yīng)用程序的活動(dòng)、收集用于多個(gè)軟件應(yīng)用程序中的每一個(gè)的所監(jiān)測(cè)的活動(dòng)的行為信息、基于所收集的行為信息產(chǎn)生行為向量、將所產(chǎn)生的行為向量應(yīng)用于分類器模型以產(chǎn)生分析信息并且使用分析信息來(lái)評(píng)估多個(gè)軟件應(yīng)用程序的共同行為。
在一個(gè)實(shí)施例中,處理器可以配置有處理器可執(zhí)行指令以執(zhí)行操作使得基于所收集的行為信息產(chǎn)生行為向量可以包括產(chǎn)生表征多個(gè)軟件應(yīng)用程序的共同行為的信息結(jié)構(gòu)。在另一實(shí)施例中,處理器可以配置有處理器可執(zhí)行指令以執(zhí)行操作使得基于所收集的行為信息產(chǎn)生行為向量可以包括產(chǎn)生表征多個(gè)軟件應(yīng)用程序之間的關(guān)系的信息結(jié)構(gòu)。在另一實(shí)施例中,處理器可以配置有處理器可執(zhí)行指令以執(zhí)行操作使得監(jiān)測(cè)多個(gè)軟件應(yīng)用程序的活動(dòng)可以包括監(jiān)測(cè)多個(gè)軟件應(yīng)用程序之間的相互作用,并且使得使用分析信息來(lái)評(píng)估多個(gè)軟件應(yīng)用程序的共同行為可以包括識(shí)別應(yīng)當(dāng)作為一組一起評(píng)估的兩個(gè)或大于兩個(gè)軟件應(yīng)用程序。
在另一實(shí)施例中,處理器可以配置有處理器可執(zhí)行指令以執(zhí)行操作,所述操作進(jìn)一步包括監(jiān)測(cè)所識(shí)別的兩個(gè)或大于兩個(gè)軟件應(yīng)用程序的額外活動(dòng)以收集額外的行為信息、基于所收集的額外的行為信息產(chǎn)生表征所識(shí)別的兩個(gè)或大于兩個(gè)軟件應(yīng)用程序的共同行為的共同行為向量、將所產(chǎn)生的共同行為向量應(yīng)用于分類器模型以產(chǎn)生額外的分析信息,并且使用額外的分析信息以確定所識(shí)別的兩個(gè)或大于兩個(gè)軟件應(yīng)用程序的共同行為是否是非良性的。
在另一實(shí)施例中,處理器可以配置有處理器可執(zhí)行指令以執(zhí)行操作,所述操作進(jìn)一步包括將每個(gè)表征所識(shí)別的兩個(gè)或大于兩個(gè)軟件應(yīng)用程序的行為的行為向量應(yīng)用于分類器模型以產(chǎn)生額外的分析信息、聚集針對(duì)每個(gè)行為向量產(chǎn)生的額外的分析信息,并且使用分析結(jié)果以確定所識(shí)別的兩個(gè)或大于兩個(gè)軟件應(yīng)用程序的共同行為是否是非良性的。在另一實(shí)施例中,處理器可以配置有處理器可執(zhí)行指令以執(zhí)行操作使得將所產(chǎn)生的行為向量應(yīng)用于分類器模型以產(chǎn)生分析信息可以包括將所產(chǎn)生的行為向量應(yīng)用于多應(yīng)用程序分類器模型。
在另一實(shí)施例中,處理器可以配置有處理器可執(zhí)行指令以執(zhí)行操作使得基于所收集的行為信息產(chǎn)生行為向量可以包括產(chǎn)生各自表征多個(gè)軟件應(yīng)用程序中的一個(gè)的行為的多個(gè)行為向量,并且使得將所產(chǎn)生的行為向量應(yīng)用于多應(yīng)用程序分類器模型可以包括將行為向量中的每一個(gè)應(yīng)用于多應(yīng)用程序分類器模型以產(chǎn)生分析信息。
在另一實(shí)施例中,處理器可以配置有處理器可執(zhí)行指令以執(zhí)行操作使得將所產(chǎn)生的行為向量應(yīng)用于多應(yīng)用程序分類器模型可以包括評(píng)估包含于多應(yīng)用程序分類器模型中的每個(gè)測(cè)試條件、計(jì)算在多應(yīng)用程序分類器模型中的評(píng)估測(cè)試條件的每個(gè)結(jié)果的加權(quán)平均值,并且基于加權(quán)平均值確定共同行為是否是非良性的。
在另一實(shí)施例中,處理器可以配置有處理器可執(zhí)行指令以執(zhí)行操作使得使用分析信息對(duì)多個(gè)軟件應(yīng)用程序的共同行為進(jìn)行分類可以包括對(duì)所監(jiān)測(cè)的多個(gè)軟件應(yīng)用程序進(jìn)行分類、解析多個(gè)軟件應(yīng)用程序的每個(gè)類別,并且產(chǎn)生多個(gè)軟件應(yīng)用程序的每個(gè)類別的性能編號(hào)。
在另一實(shí)施例中,計(jì)算裝置可以包括經(jīng)配置以在硬件層級(jí)處監(jiān)測(cè)計(jì)算裝置存儲(chǔ)器和硬件事件的使用并且輸出所收集的行為信息到處理器的行為觀測(cè)器硬件模塊。在此類實(shí)施例中,處理器可以配置有處理器可執(zhí)行指令以執(zhí)行操作使得監(jiān)測(cè)多個(gè)軟件應(yīng)用程序的活動(dòng)包括從行為觀測(cè)器硬件模塊接收所收集的行為信息。
其它實(shí)施例可以包括非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)媒體,所述非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)媒體具有存儲(chǔ)在其上的處理器可執(zhí)行軟件指令,所述指令經(jīng)配置以使得計(jì)算裝置處理器執(zhí)行上文所述方面方法的操作。其它實(shí)施例可以包括具有用于上文所述方面方法的操作的執(zhí)行功能的裝置的計(jì)算裝置。
附圖說(shuō)明
并入本文中并且構(gòu)成本說(shuō)明書(shū)的一部分的附圖說(shuō)明了本發(fā)明的示意性方面,并且連同上文給出的總體描述和下文給出的具體描述一起用來(lái)闡釋本發(fā)明的特征。
圖1是適用于實(shí)施各種實(shí)施例的實(shí)例芯片上系統(tǒng)的架構(gòu)圖式。
圖2是說(shuō)明在一個(gè)實(shí)施例移動(dòng)裝置中的實(shí)例邏輯組件和信息流的框圖,所述實(shí)施例移動(dòng)裝置經(jīng)配置以確定特定移動(dòng)裝置行為是否是良性或非良性的。
圖3是根據(jù)一個(gè)實(shí)施例說(shuō)明評(píng)估兩個(gè)或大于兩個(gè)軟件應(yīng)用程序的共同行為的方法的過(guò)程流程圖。
圖4是根據(jù)一個(gè)實(shí)施例說(shuō)明確定兩個(gè)或大于兩個(gè)軟件應(yīng)用程序之間的相互關(guān)系的方法的過(guò)程流程圖。
圖5是根據(jù)一個(gè)實(shí)施例說(shuō)明確定兩個(gè)或大于兩個(gè)軟件應(yīng)用程序的共同行為是否是非良性的方法的過(guò)程流程圖。
圖6是根據(jù)另一實(shí)施例說(shuō)明確定兩個(gè)或大于兩個(gè)軟件應(yīng)用程序的共同行為是否是非良性的方法的過(guò)程流程圖。
圖7是說(shuō)明在移動(dòng)裝置中產(chǎn)生基于應(yīng)用程序或精益分類器模型的另一實(shí)施例移動(dòng)裝置方法的過(guò)程流程圖。
圖8是可以由實(shí)施例服務(wù)器處理器產(chǎn)生且由裝置處理器使用以產(chǎn)生精益分類器模型的實(shí)例增強(qiáng)決策柱的說(shuō)明。
圖9是根據(jù)一個(gè)實(shí)施例說(shuō)明在經(jīng)配置以執(zhí)行動(dòng)態(tài)且自適應(yīng)觀察的觀測(cè)器模塊中的實(shí)例邏輯組件和信息流的框圖。
圖10是根據(jù)另一實(shí)施例說(shuō)明在實(shí)施觀測(cè)器后臺(tái)程序的計(jì)算系統(tǒng)中的邏輯組件和信息流的框圖。
圖11是說(shuō)明用于在移動(dòng)裝置上執(zhí)行自適應(yīng)觀察的實(shí)施例方法的過(guò)程流程圖。
圖12是適合在一個(gè)實(shí)施例中使用的移動(dòng)裝置的組件框圖。
圖13是適合在一個(gè)實(shí)施例中使用的服務(wù)器裝置的組件框圖。
具體實(shí)施方式
將參看附圖詳細(xì)描述各種實(shí)施例。在可能的情況下,將在整個(gè)圖式中使用相同參考標(biāo)號(hào)來(lái)指代相同或相似部分。對(duì)特定實(shí)例和實(shí)施方案作出的參考是出于說(shuō)明性目的,且并不希望限制本發(fā)明或權(quán)利要求書(shū)的范圍。
在概述中,各種實(shí)施例包括方法和經(jīng)配置以實(shí)施方法的計(jì)算裝置,所述方法使用行為分析和機(jī)器學(xué)習(xí)技術(shù)以評(píng)估在計(jì)算裝置上操作的兩個(gè)或大于兩個(gè)軟件應(yīng)用程序的共同行為。舉例來(lái)說(shuō),在一個(gè)實(shí)施例中,計(jì)算裝置可以經(jīng)配置以監(jiān)測(cè)在裝置上操作的軟件應(yīng)用程序的活動(dòng)、從監(jiān)測(cè)活動(dòng)收集行為信息、基于所收集的行為信息產(chǎn)生行為向量、將行為向量應(yīng)用于分類器模型以產(chǎn)生分析信息、使用分析信息以識(shí)別軟件應(yīng)用程序之間的關(guān)系、基于所識(shí)別的關(guān)系識(shí)別應(yīng)當(dāng)作為一組一起評(píng)估的軟件應(yīng)用程序、聚集所識(shí)別的軟件應(yīng)用程序的分析結(jié)果,并且使用所聚集的分析結(jié)果來(lái)確定軟件應(yīng)用程序的共同行為是否是良性或非良性的。這些操作通過(guò)使得裝置能夠快速且有效地識(shí)別和響應(yīng)于各種條件或行為而改進(jìn)了計(jì)算裝置的功能,所述條件或行為可能對(duì)裝置的安全性、性能或電力消耗特性具有負(fù)面影響,并且另外所述狀態(tài)或行為不能被常規(guī)的基于行為的安全解決方案檢測(cè)到。
計(jì)算裝置可以配備有使用行為分析技術(shù)的基于行為的安全系統(tǒng)以識(shí)別、防止和/或校正條件、因素和/或行為,所述條件、因素和/或行為通常隨時(shí)間推移降低計(jì)算裝置的性能、電力利用水平、網(wǎng)絡(luò)使用水平、安全性和/或隱私性。舉例來(lái)說(shuō),基于行為的安全系統(tǒng)可以經(jīng)配置以確定軟件應(yīng)用程序是否是良性或非良性的(例如,惡意、性能降低等)并且執(zhí)行各種操作以校正、治愈、解決、隔離或者修復(fù)所識(shí)別的問(wèn)題(例如,確定行為是非良性的)。
雖然此類基于行為的安全系統(tǒng)通常對(duì)于防止計(jì)算裝置隨時(shí)間推移的性能下降非常有效,但是惡意軟件應(yīng)用程序可以通過(guò)串通或協(xié)同工作以掩蓋它們的操作來(lái)避開(kāi)此類系統(tǒng)的檢測(cè)。舉例來(lái)說(shuō),當(dāng)從用戶的地址簿竊取信息時(shí),第一惡意軟件應(yīng)用程序可能存取地址簿、對(duì)信息進(jìn)行編碼以及在通用或離散文件中存儲(chǔ)經(jīng)編碼信息。第二惡意應(yīng)用程序可隨后檢索存儲(chǔ)在通用/離散文件中的經(jīng)編碼的信息并且發(fā)送信息到服務(wù)器。
通常,基于行為的安全系統(tǒng)將能夠確定操作的這一順序(例如,讀取、存儲(chǔ)和發(fā)送地址簿數(shù)據(jù))與裝置的正常操作模式不一致,并且將這一行為歸類為非良性行為。然而,由于操作是通過(guò)多個(gè)軟件應(yīng)用程序協(xié)同工作執(zhí)行的,所以現(xiàn)有解決方案通常無(wú)法將這些操作識(shí)別為同一序列或行為的一部分。
單獨(dú)地,存取地址數(shù)據(jù)、編碼數(shù)據(jù)、在文件中存儲(chǔ)數(shù)據(jù)和發(fā)送存儲(chǔ)在文件中的信息的操作未必指示非良性行為。實(shí)際上,這些操作的共同或順序執(zhí)行是非良性行為的指示。然而,現(xiàn)有基于行為的解決方案并不充分表征軟件應(yīng)用程序之間的關(guān)系。因此,現(xiàn)有解決方案通常無(wú)法被準(zhǔn)確地識(shí)別應(yīng)當(dāng)被一起評(píng)估為單個(gè)行為的一部分的操作。因?yàn)檫@些和其它原因,現(xiàn)有基于行為的安全解決方案不足以識(shí)別行為和條件以及對(duì)行為和條件作出回應(yīng),所述行為和條件由一組軟件應(yīng)用程序的共同活動(dòng)引起,例如,包括協(xié)同工作的多個(gè)軟件應(yīng)用程序的網(wǎng)絡(luò)攻擊。
鑒于現(xiàn)有系統(tǒng)的這些限制,各種實(shí)施例用基于行為的安全系統(tǒng)配備計(jì)算裝置,所述安全系統(tǒng)經(jīng)配置以智能地且有效地識(shí)別和響應(yīng)于由一組軟件應(yīng)用程序的共同活動(dòng)引起的非良性行為,所述一組軟件應(yīng)用程序例如串通或協(xié)同工作的惡意軟件應(yīng)用程序。
在一個(gè)實(shí)施例中,基于行為的安全系統(tǒng)可以經(jīng)配置以監(jiān)測(cè)軟件應(yīng)用程序之間的相互作用、產(chǎn)生表征軟件應(yīng)用程序之間的關(guān)系的行為向量,并且將行為向量應(yīng)用于分類器模型以確定應(yīng)用程序是否串通或協(xié)同工作。基于行為的安全系統(tǒng)可隨后識(shí)別應(yīng)當(dāng)作為一組一起分析的軟件應(yīng)用程序、將所識(shí)別的應(yīng)用程序的行為向量應(yīng)用于分類器模型、聚集產(chǎn)生的信息,并且使用所聚集的信息來(lái)確定應(yīng)用程序的共同行為是否是非良性的。替代地,基于行為的安全系統(tǒng)可以識(shí)別應(yīng)當(dāng)作為一組一起分析的軟件應(yīng)用程序、產(chǎn)生表征所識(shí)別的應(yīng)用程序的共同行為的行為向量,并且將所產(chǎn)生的行為向量應(yīng)用于同一或不同分類器模型以確定應(yīng)用程序的共同行為是否是非良性的。
各種實(shí)施例出于數(shù)個(gè)原因改進(jìn)了計(jì)算裝置(例如,移動(dòng)計(jì)算裝置)的功能,其中一些原因是在以下實(shí)施例的詳細(xì)描述中說(shuō)明的,和/或從以下實(shí)施例的詳細(xì)描述中是顯而易見(jiàn)。舉例來(lái)說(shuō),通過(guò)智能地識(shí)別串通或協(xié)同工作的軟件應(yīng)用程序且通過(guò)評(píng)估所識(shí)別的應(yīng)用程序的操作一起為單個(gè)裝置行為的一部分,各種實(shí)施例通過(guò)使得裝置能夠識(shí)別和響應(yīng)于性能降低的行為而改進(jìn)了計(jì)算裝置的功能,另外所述性能降低的行為是原本沒(méi)有被常規(guī)的基于行為的安全解決方案檢測(cè)到的。另外,通過(guò)聚集從多個(gè)單獨(dú)的應(yīng)用程序中收集的行為信息并且監(jiān)測(cè)多個(gè)應(yīng)用程序之間的相互作用,各種實(shí)施例通過(guò)使得裝置能夠更準(zhǔn)確地表征軟件應(yīng)用程序之間的關(guān)系、解析軟件應(yīng)用程序的類別、更好的分析一組軟件應(yīng)用程序的共同行為且更好的對(duì)系統(tǒng)層級(jí)裝置行為進(jìn)行分類而改進(jìn)了計(jì)算裝置的功能。
另外,各種實(shí)施例提供了基于行為的安全系統(tǒng),所述安全系統(tǒng)使得計(jì)算裝置能夠快速且有效地識(shí)別和響應(yīng)于非良性裝置行為,而不會(huì)對(duì)計(jì)算裝置的響應(yīng)性、性能或電力消耗特性有著相當(dāng)大的負(fù)面或用戶可察覺(jué)影響。因而,基于行為的安全系統(tǒng)較適合于包含在移動(dòng)裝置和其它資源受限制的計(jì)算裝置中且在移動(dòng)裝置和其它資源受限制的計(jì)算裝置中使用,所述其它資源受限制的計(jì)算裝置例如智能電話,智能電話是資源有限的、通過(guò)電池電源運(yùn)行且對(duì)于智能電話而言性能和安全是重要的。
計(jì)算裝置的功能、功能性和/或機(jī)能的額外的改進(jìn)從下文所提供的實(shí)施例的詳細(xì)描述中是顯而易見(jiàn)的。
術(shù)語(yǔ)“性能下降”在本申請(qǐng)中用于指代多種多樣的計(jì)算裝置的不希望的操作和特性,例如較長(zhǎng)處理時(shí)間、較慢實(shí)時(shí)響應(yīng)性、較低的電池壽命、私人數(shù)據(jù)的損失、惡意經(jīng)濟(jì)活動(dòng)(例如,發(fā)送未經(jīng)授權(quán)的收費(fèi)短信)、拒絕服務(wù)(DoS)、不充分地編寫(xiě)或設(shè)計(jì)的軟件應(yīng)用程序、惡意軟件、惡意代碼、病毒、分段存儲(chǔ)器、涉及強(qiáng)占移動(dòng)裝置或利用電話從事間諜或僵尸網(wǎng)絡(luò)活動(dòng)的操作等。并且,出于這些原因中的任一個(gè)的降低性能的行為、活動(dòng)和條件在本文中被稱作“不是良性”或“非良性”。
術(shù)語(yǔ)“移動(dòng)計(jì)算裝置”和“移動(dòng)裝置”在本文中互換地使用以指代以下各項(xiàng)中的任何一者或全部:蜂窩式電話、智能電話、個(gè)人或移動(dòng)多媒體播放器、個(gè)人數(shù)據(jù)助理(PDA)、膝上型計(jì)算機(jī)、平板計(jì)算機(jī)、智能本、超級(jí)本、掌上型計(jì)算機(jī)、無(wú)線電子郵件接收器、具多媒體互聯(lián)網(wǎng)功能的蜂窩式電話、無(wú)線游戲控制器,以及包括存儲(chǔ)器和可編程處理器的類似的個(gè)人電子裝置,對(duì)于所述電子裝置性能是重要的,并且所述電子裝置在電池電源下運(yùn)行使得節(jié)約電力的方法是有益的。雖然各種實(shí)施例對(duì)于移動(dòng)計(jì)算裝置(例如,具有有限的資源且通過(guò)電池運(yùn)行的智能電話)是尤其有用的,但是實(shí)施例通常在包括處理器且執(zhí)行應(yīng)用程序的任何電子裝置中是有用的。
一般而言,移動(dòng)裝置的性能和功率效率隨時(shí)間推移降低。近年來(lái),殺毒軟件公司(例如,McAfee、Symantec等)已經(jīng)開(kāi)始營(yíng)銷旨在減緩這種降低的手機(jī)殺毒軟件、防火墻和加密產(chǎn)品。然而,這些解決方案中的許多依賴于在移動(dòng)裝置上周期性地執(zhí)行計(jì)算密集型掃描引擎,這可能消耗許多的移動(dòng)裝置的處理和電池資源、在延長(zhǎng)的時(shí)間周期減緩或放棄移動(dòng)裝置和/或另外降低用戶體驗(yàn)。另外,這些解決方案是通常限制在檢測(cè)已知的病毒和惡意代碼,且并不解決通常結(jié)合以導(dǎo)致移動(dòng)裝置的隨時(shí)間推移的降低的多個(gè)復(fù)雜的因素和/或相互作用(例如,當(dāng)性能下降并不是由病毒或惡意代碼引起的時(shí))。出于這些和其它原因,現(xiàn)有殺毒軟件、防火墻和加密產(chǎn)品并不提供可以勝任以下問(wèn)題的解決方案:識(shí)別可以造成移動(dòng)裝置隨時(shí)間推移降級(jí)的多個(gè)因素、防止移動(dòng)裝置降級(jí)或者有效恢復(fù)老化的移動(dòng)裝置到其初始狀態(tài)。
另外,現(xiàn)代移動(dòng)裝置是高度可配置的并且是復(fù)雜的系統(tǒng)。因而,對(duì)于確定特定裝置行為是否是良性或非良性(例如,惡意或性能降低)的最重要特征可能在每個(gè)移動(dòng)裝置中不同。另外,存在可以造成隨時(shí)間推移的移動(dòng)計(jì)算裝置的性能和電源利用水平下降的各種各樣的因素,其包括不充分地編寫(xiě)或設(shè)計(jì)的軟件應(yīng)用程序、惡意代碼、病毒、分段存儲(chǔ)器、后臺(tái)進(jìn)程等。由于這些因素的數(shù)量多、種類廣和其復(fù)雜性,評(píng)估在現(xiàn)代移動(dòng)計(jì)算裝置的復(fù)雜而資源受限制的系統(tǒng)的性能和/或電源利用水平中造成下降的全部因素通常是不可行的。因而,對(duì)于用戶、操作系統(tǒng)和/或應(yīng)用程序(例如,殺毒軟件等)而言準(zhǔn)確地且有效地識(shí)別問(wèn)題的來(lái)源是困難的。因此,當(dāng)前移動(dòng)裝置用戶幾乎沒(méi)有防止隨時(shí)間推移在移動(dòng)裝置的性能和電源利用水平中的降級(jí)的補(bǔ)救措施,或者恢復(fù)老化的移動(dòng)裝置到其初始性能和電源利用水平的補(bǔ)救措施。
當(dāng)前,存在各種解決方案以模擬在計(jì)算裝置上運(yùn)行/執(zhí)行的軟件應(yīng)用程序的行為,并且這些解決方案可以連同機(jī)器學(xué)習(xí)技術(shù)一起使用以確定軟件應(yīng)用程序是否是惡意的或良性的。然而,現(xiàn)有解決方案并不適用于移動(dòng)或資源受限制的裝置,這是因?yàn)樗鼈冃枰u(píng)估非常大體量的行為信息,并不動(dòng)態(tài)地產(chǎn)生行為模型以考慮計(jì)算裝置的裝置特定的和應(yīng)用特定的特征,并不智能地在行為模型中優(yōu)化特征;且現(xiàn)有解決方案被限制在評(píng)估個(gè)體應(yīng)用程序或過(guò)程和/或需要在裝置中執(zhí)行計(jì)算密集型過(guò)程。因而,在移動(dòng)或資源受限制的計(jì)算裝置中實(shí)施或執(zhí)行這些解決方案可能對(duì)裝置的響應(yīng)性、性能或電力消耗特性具有相當(dāng)大的負(fù)面和/或用戶可察覺(jué)的影響。
鑒于這些問(wèn)題,為了提供更好的性能,計(jì)算裝置(例如,移動(dòng)裝置等)可以配備有基于行為的安全系統(tǒng),所述安全系統(tǒng)經(jīng)配置以使用行為分析技術(shù)以智能地且有效地在計(jì)算裝置中識(shí)別、防止、校正或者另外響應(yīng)于非良性行為,而不會(huì)對(duì)裝置的響應(yīng)性、性能或電力消耗特性具有相當(dāng)大的、負(fù)面的或用戶可察覺(jué)的影響。
基于行為的安全系統(tǒng)可以包括觀測(cè)器過(guò)程、后臺(tái)程序、模塊或子系統(tǒng)(本文中統(tǒng)稱為“模塊”)行為提取器模塊和分析儀模塊。觀測(cè)器模塊可以經(jīng)配置以在計(jì)算裝置系統(tǒng)(例如,移動(dòng)裝置系統(tǒng))的各種層級(jí)處指示或協(xié)調(diào)各種應(yīng)用程序編程接口(API)、寄存器、計(jì)數(shù)器或其它裝置組件(本文中統(tǒng)稱為“所指示的組件”)、從所指示的組件中收集行為信息以及將所收集的行為信息傳送(例如,經(jīng)由存儲(chǔ)器寫(xiě)入操作、函數(shù)調(diào)用等)到行為提取器模塊。行為提取器模塊可以使用所收集的行為信息以產(chǎn)生各自表示或表征與裝置的一或多個(gè)特定的線程、過(guò)程、軟件應(yīng)用程序、模塊或組件相關(guān)聯(lián)的許多或全部觀察到的事件、條件、任務(wù)、活動(dòng)和/或行為(本文中統(tǒng)稱為“行為”)的行為向量。行為提取器模塊可以將所產(chǎn)生的行為向量傳送(例如,經(jīng)由存儲(chǔ)器寫(xiě)入操作、函數(shù)調(diào)用等)到使用行為向量以執(zhí)行行為分析操作的分析儀模塊,所述行為分析操作可以包括實(shí)施、執(zhí)行和/或應(yīng)用數(shù)據(jù)、算法和/或模型以確定軟件應(yīng)用程序或裝置行為是否是良性的或非良性的(例如,惡意的、不充分地編寫(xiě)、性能降低等)。計(jì)算裝置處理器可隨后執(zhí)行各種操作以校正、治愈、解決、隔離或者另外修復(fù)所識(shí)別的問(wèn)題(例如,確定為非良性的行為)。
雖然上文描述的系統(tǒng)對(duì)于防止隨時(shí)間推移在計(jì)算裝置的性能和電源利用水平中的降低通常是非常有效,但是網(wǎng)絡(luò)攻擊的復(fù)雜度是在增長(zhǎng)的而且可以通過(guò)使用兩個(gè)或大于兩個(gè)軟件應(yīng)用程序以掩蓋它們的惡意操作而規(guī)避或避開(kāi)通過(guò)基于行為的安全系統(tǒng)的檢測(cè)。舉例來(lái)說(shuō),兩個(gè)串通的軟件應(yīng)用程序可以協(xié)調(diào)它們的操作以盜竊用戶的私人信息(例如,聯(lián)系人、信用卡號(hào)等)并且避免通過(guò)基于行為的安全系統(tǒng)的檢測(cè)。舉例來(lái)說(shuō),第一個(gè)串通的應(yīng)用程序可以在裝置的存儲(chǔ)器的指定部分中(或在特定的存儲(chǔ)器位置處)讀取和寫(xiě)入私人信息,而第二個(gè)串通的應(yīng)用程序可以讀取和傳送存儲(chǔ)于存儲(chǔ)器位置中的信息到服務(wù)器。由于單獨(dú)地這些操作是沒(méi)有指示惡意活動(dòng)的,所以現(xiàn)有的基于行為的安全系統(tǒng)可能不能夠準(zhǔn)確地識(shí)別這一系列的操作為與單個(gè)非良性行為相關(guān)聯(lián)。
檢測(cè)和確定一系列操作與單個(gè)行為相關(guān)聯(lián)的一種方法是執(zhí)行數(shù)據(jù)流跟蹤操作。數(shù)據(jù)流跟蹤解決方案,例如,F(xiàn)lowDroid,通常是防止惡意軟件應(yīng)用程序避開(kāi)檢測(cè)的有效工具。簡(jiǎn)要地,數(shù)據(jù)流跟蹤解決方案在計(jì)算系統(tǒng)中監(jiān)測(cè)許多或全部的數(shù)據(jù)操作(讀取、寫(xiě)入、數(shù)據(jù)編碼、數(shù)據(jù)傳輸?shù)?且嘗試識(shí)別單獨(dú)地或共同地不恰當(dāng)?shù)厥褂脭?shù)據(jù)的軟件應(yīng)用程序。然而,數(shù)據(jù)流跟蹤解決方案需要在計(jì)算系統(tǒng)中監(jiān)測(cè)許多的數(shù)據(jù)流和數(shù)據(jù)操作和/或需要執(zhí)行非常復(fù)雜的且耗電量大的過(guò)程。因而,數(shù)據(jù)流跟蹤解決方案并不適合于用于具有相對(duì)有限的處理、存儲(chǔ)器和能源資源的通常是資源受限制的系統(tǒng)的移動(dòng)裝置。另外,現(xiàn)代移動(dòng)裝置是復(fù)雜的系統(tǒng),且評(píng)估全部的各種可能是惡意的或者造成移動(dòng)裝置性能下降的數(shù)據(jù)流、數(shù)據(jù)操作(讀取、寫(xiě)入、數(shù)據(jù)編碼、數(shù)據(jù)傳輸?shù)?、過(guò)程、組件、行為或因素(或其組合)通常是不可行的。出于全部這些原因,現(xiàn)有數(shù)據(jù)流跟蹤解決方案并不適用于移動(dòng)和資源受限制的計(jì)算裝置。
鑒于這些問(wèn)題,各種實(shí)施例可以配置裝置處理器(例如,移動(dòng)裝置處理器等)以識(shí)別、分析、防止和/或響應(yīng)于串通的攻擊和由一組選擇的軟件應(yīng)用程序的共同行為引起的其它狀態(tài),而不用在裝置中監(jiān)測(cè)數(shù)據(jù)流或執(zhí)行數(shù)據(jù)流跟蹤操作。裝置處理器可以完成此操作而不對(duì)計(jì)算裝置的響應(yīng)性、性能或電力消耗特性有相當(dāng)大負(fù)面或用戶可察覺(jué)的影響。因而,各種實(shí)施例在移動(dòng)裝置和含有有限資源且其性能和電池壽命重要的資源受限制的計(jì)算裝置中是尤其有用的。
在各種實(shí)施例中,裝置處理器(或裝置的基于行為的安全系統(tǒng))可以經(jīng)配置以監(jiān)測(cè)兩個(gè)或大于兩個(gè)軟件應(yīng)用程序之間的相互作用、產(chǎn)生識(shí)別或表征所監(jiān)測(cè)的應(yīng)用程序之間關(guān)系的關(guān)系信息(例如,行為向量等)、使用關(guān)系信息來(lái)識(shí)別應(yīng)當(dāng)作為一組一起評(píng)估的軟件應(yīng)用程序、從所識(shí)別的應(yīng)用程序中的每一個(gè)中收集行為信息、聚集從所識(shí)別的應(yīng)用程序中的每一個(gè)中(例如,在行為向量中)所收集的行為信息和/或聚集評(píng)估每個(gè)所識(shí)別的應(yīng)用程序的結(jié)果(例如,經(jīng)由分類器模型)。裝置處理器可隨后使用所聚集的信息來(lái)評(píng)估所識(shí)別的應(yīng)用程序的共同行為作為單個(gè)裝置行為。
通過(guò)確定關(guān)系的本質(zhì)和特定的應(yīng)用程序之間的相互作用,各種實(shí)施例使得裝置處理器能夠更好的確定兩個(gè)或大于兩個(gè)應(yīng)用程序是否一起工作以隱藏它們的惡意活動(dòng),和/或更好的確定軟件應(yīng)用程序的較小或集中群組的共同行為是否已經(jīng)對(duì)計(jì)算裝置的性能特性有非預(yù)期的負(fù)面影響(例如,由于應(yīng)用程序中的一或多個(gè)為不充分地設(shè)計(jì)等)。
在一些實(shí)施例中,裝置處理器可以經(jīng)配置以對(duì)所監(jiān)測(cè)的應(yīng)用程序進(jìn)行分類、解析或預(yù)解析應(yīng)用程序的選擇群組或類別和/或產(chǎn)生應(yīng)用程序的類別的性能編號(hào)。性能編號(hào)可以包括適用于識(shí)別、評(píng)估和/或比較各種性能特性的信息,例如能耗、存儲(chǔ)器使用、帶寬使用、CPU循環(huán)、關(guān)于應(yīng)用程序性能的用戶體驗(yàn)、用戶接口(UI)響應(yīng)性和個(gè)體應(yīng)用程序、應(yīng)用程序的群組或應(yīng)用程序的類別的其它類似的可測(cè)量的特性。通過(guò)使用行為分析技術(shù)以解析或產(chǎn)生應(yīng)用程序(或應(yīng)用程序的群組或類別)的性能編號(hào),各種實(shí)施例使得裝置處理器能夠更好的識(shí)別和響應(yīng)于已經(jīng)對(duì)計(jì)算裝置的性能和/或電力消耗水平具有非預(yù)期的、不成比例的或負(fù)面的影響的應(yīng)用程序或應(yīng)用程序的群組。
在各種實(shí)施例中,計(jì)算裝置(例如,移動(dòng)裝置等)可以配備有經(jīng)配置以執(zhí)行在本申請(qǐng)案中討論的操作中的任一者或全部的綜合行為監(jiān)測(cè)和分析系統(tǒng)。舉例來(lái)說(shuō),行為監(jiān)測(cè)和分析系統(tǒng)可以包括觀測(cè)器模塊、行為提取器模塊和分析儀模塊。觀測(cè)器模塊可以經(jīng)配置以監(jiān)測(cè)選擇應(yīng)用程序(或一組應(yīng)用程序)之間的操作(例如,存儲(chǔ)器讀取/寫(xiě)入操作)、相互作用、關(guān)系和通信。這可以通過(guò)監(jiān)測(cè)各種所指示的組件,例如存儲(chǔ)器的選擇部分、選擇存儲(chǔ)器地址、硬件組件、內(nèi)容解析器API等實(shí)現(xiàn)。通過(guò)監(jiān)測(cè)這些所指示的組件,觀測(cè)器模塊可以收集原本將不能通過(guò)常規(guī)的基于行為的安全系統(tǒng)所收集的額外的行為信息。
行為提取器模塊可以經(jīng)配置以使用行為信息(即,通過(guò)觀測(cè)器模塊收集的信息)以產(chǎn)生表征應(yīng)用程序之間關(guān)系的行為向量和/或表示或表征兩個(gè)或大于兩個(gè)應(yīng)用程序的共同行為的行為向量。每個(gè)行為向量可以為包括或囊封一或多個(gè)“行為特征”的信息結(jié)構(gòu)。行為特征可以為表示在計(jì)算裝置中觀察到的事件、狀態(tài)、活動(dòng)、操作、關(guān)系、相互作用或行為的全部或一部分的抽象的數(shù)字或符號(hào)。每個(gè)行為特征可以與識(shí)別一系列可能值的數(shù)據(jù)類型以及可以在那些值、值的含義和其它類似信息上執(zhí)行的操作相關(guān)聯(lián)。數(shù)據(jù)類型可以由計(jì)算裝置使用以確定應(yīng)當(dāng)如何測(cè)量、分析、加權(quán)或使用對(duì)應(yīng)的行為特征(或特征值)。
行為提取器模塊可以傳送(例如,經(jīng)由存儲(chǔ)器寫(xiě)入操作、函數(shù)調(diào)用等)所產(chǎn)生的行為向量到分析儀模塊,所述分析儀模塊可以將行為向量應(yīng)用于分類器模型以確定軟件應(yīng)用程序之間關(guān)系的本質(zhì)(例如,兩個(gè)或大于兩個(gè)軟件應(yīng)用程序是否協(xié)同工作等)和/或確定應(yīng)用程序的共同行為是否是非良性的。
分類器模型可以為包括數(shù)據(jù)、表項(xiàng)、決策節(jié)點(diǎn)、決策標(biāo)準(zhǔn)和/或信息結(jié)構(gòu)的行為模型,所述結(jié)構(gòu)信息可以由裝置處理器使用以快速地且有效地測(cè)試或評(píng)估特定的特征、因素、數(shù)據(jù)點(diǎn)、表項(xiàng)、API、狀態(tài)、狀況、行為、軟件應(yīng)用程序、過(guò)程、操作、組件等(本文中統(tǒng)稱為“特征”)或裝置行為的其它實(shí)施例。分類器模型還可以包括可以由裝置處理器使用以確定軟件應(yīng)用程序之間關(guān)系的本質(zhì)和/或在計(jì)算裝置中所監(jiān)測(cè)的行為的信息。
每個(gè)分類器模型可以分類為完整分類器模型或精益分類器模型。完整分類器模型可以為穩(wěn)健數(shù)據(jù)模型,所述數(shù)據(jù)模型是作為大量培訓(xùn)數(shù)據(jù)集的函數(shù)產(chǎn)生的,其可以包括數(shù)千特征和數(shù)十億的表項(xiàng)。精益分類器模型可以為更為集中的數(shù)據(jù)模型,所述數(shù)據(jù)模型由簡(jiǎn)化數(shù)據(jù)集產(chǎn)生,所述簡(jiǎn)化數(shù)據(jù)集包括或優(yōu)先考慮與確定特定計(jì)算裝置行為是否是非良性的最相關(guān)的特征/表項(xiàng)上的測(cè)試。本地分類器模型可以為在移動(dòng)計(jì)算裝置中產(chǎn)生的精益分類器模型。裝置特定的分類器模型可以為包括集中數(shù)據(jù)模型的本地分類器模型,所述集中數(shù)據(jù)模型僅包括/測(cè)試計(jì)算裝置特定的特征/表項(xiàng),所述特征/表項(xiàng)被確定為與在該特定裝置中對(duì)活動(dòng)或行為進(jìn)行分類最為相關(guān)。應(yīng)用程序特定的分類器模型可以為包括集中數(shù)據(jù)模型的本地分類器模型,所述集中數(shù)據(jù)模型包括或優(yōu)先考慮在與確定特定軟件應(yīng)用程序(或特定類型的軟件應(yīng)用程序)是否是非良性的最相關(guān)的特征/表項(xiàng)上的測(cè)試。
多應(yīng)用程序分類器模型可以為包括所聚集的特征集和/或測(cè)試與評(píng)估兩個(gè)或大于兩個(gè)軟件應(yīng)用程序相關(guān)的特征的決策節(jié)點(diǎn)的本地分類器模型。舉例來(lái)說(shuō),多應(yīng)用程序分類器模型可以包括測(cè)試與識(shí)別或表征兩個(gè)軟件應(yīng)用程序之間的關(guān)系最相關(guān)的條件或特征的決策節(jié)點(diǎn)。作為另一實(shí)例,多應(yīng)用程序分類器模型可以包括測(cè)試與確定兩個(gè)軟件應(yīng)用程序(或特定類型的軟件應(yīng)用程序)的共同行為是否是非良性的最相關(guān)的條件或特征的決策節(jié)點(diǎn)。
在一些實(shí)施例中,裝置處理器可以經(jīng)配置以通過(guò)組合兩個(gè)或大于兩個(gè)應(yīng)用特定的分類器模型而產(chǎn)生多應(yīng)用程序分類器模型。在其它實(shí)施例中,裝置處理器可以通過(guò)識(shí)別與識(shí)別兩個(gè)或大于兩個(gè)軟件應(yīng)用程序之間的關(guān)系、相互作用和/或通信最相關(guān)的裝置特征、通過(guò)識(shí)別評(píng)估所識(shí)別的裝置特征的測(cè)試條件以及通過(guò)產(chǎn)生分類器模型以包括所識(shí)別的測(cè)試條件而產(chǎn)生多應(yīng)用程序分類器模型。在另一實(shí)施例中,裝置處理器可以經(jīng)配置以確定所識(shí)別的測(cè)試條件的優(yōu)先級(jí)、重要性或成功率并且產(chǎn)生分類器模型以使得測(cè)試條件根據(jù)它們的優(yōu)先級(jí)、重要性或成功率來(lái)排序。
在各種實(shí)施例中,裝置處理器可以經(jīng)配置以產(chǎn)生或使用分類器模型以確定應(yīng)用程序之間的關(guān)系和/或確定應(yīng)用程序的共同行為是否是非良性的。
舉例來(lái)說(shuō),在一個(gè)實(shí)施例中,裝置處理器可以經(jīng)配置以監(jiān)測(cè)在計(jì)算裝置上運(yùn)行的軟件應(yīng)用程序之間的相互作用、產(chǎn)生表征軟件應(yīng)用程序之間關(guān)系的行為向量、將行為向量應(yīng)用于分類器模型以產(chǎn)生分析信息并且使用分析信息來(lái)確定應(yīng)用程序是否是串通或協(xié)同工作的。裝置處理器可隨后識(shí)別應(yīng)當(dāng)作為一組一起分析的軟件應(yīng)用程序(例如,串通應(yīng)用程序)、將所識(shí)別的應(yīng)用程序的行為向量應(yīng)用于同一或不同分類器模型(或分類器模型的家族)、聚集所產(chǎn)生的分析信息,并且使用所聚集的分析信息來(lái)確定所識(shí)別的應(yīng)用程序的共同行為是否是非良性的。
作為另一實(shí)例,裝置處理器可以經(jīng)配置以識(shí)別應(yīng)當(dāng)作為一組一起分析的軟件應(yīng)用程序、監(jiān)測(cè)所識(shí)別的應(yīng)用程序的活動(dòng)、收集用于所監(jiān)測(cè)的活動(dòng)中的每一個(gè)的行為信息、基于所收集的行為信息產(chǎn)生表征所識(shí)別的應(yīng)用程序的共同行為的行為向量、將所產(chǎn)生的行為向量應(yīng)用于分類器模型(或分類器模型的家族)以產(chǎn)生分析,并且使用分析信息來(lái)確定所識(shí)別的應(yīng)用程序的共同行為是否是非良性的。
在一些實(shí)施例中,裝置處理器還可經(jīng)配置以使用分析信息(即,將行為向量應(yīng)用于分類器模型的結(jié)果)以對(duì)所監(jiān)測(cè)的軟件應(yīng)用程序進(jìn)行分類、解析軟件應(yīng)用程序的每個(gè)類別,和/或產(chǎn)生軟件應(yīng)用程序的每個(gè)類別的性能編號(hào)。舉例來(lái)說(shuō),裝置處理器可以使用分析信息來(lái)計(jì)算/估算一類軟件應(yīng)用程序(例如,游戲、社交網(wǎng)絡(luò)、新聞、財(cái)務(wù)等)的電源消耗的量。另外,通過(guò)預(yù)解析和測(cè)量每個(gè)特征的電力消耗,裝置處理器可以解析在裝置上運(yùn)行的全部活動(dòng)或應(yīng)用程序的電力消耗。裝置處理器可以使用此類信息(例如,估算的電力消耗)來(lái)預(yù)測(cè)電池壽命、識(shí)別消耗裝置的可供使用的大量資源的應(yīng)用程序的類別且執(zhí)行其它類似操作。裝置處理器可以顯示此類信息給計(jì)算裝置的用戶或使用這一信息更好的評(píng)估裝置行為。
各種實(shí)施例可以在包括單處理器和多處理器系統(tǒng)以及芯片上系統(tǒng)(SOC)的多個(gè)不同計(jì)算裝置中實(shí)施。圖1是說(shuō)明可以用于實(shí)施各種實(shí)施例的計(jì)算裝置中的實(shí)例芯片上系統(tǒng)(SOC)100架構(gòu)的架構(gòu)圖。SOC 100可以包括多個(gè)異構(gòu)處理器,例如,數(shù)字信號(hào)處理器(DSP)101、調(diào)制解調(diào)器處理器104、圖形處理器106和應(yīng)用程序處理器108。SOC 100還可以包括一或多個(gè)連接到異構(gòu)處理器102、104、106、108中的一或多個(gè)的協(xié)同處理器110(例如,向量協(xié)同處理器)。每個(gè)處理器101、104、106、108、110可以包括一或多個(gè)核心,且每個(gè)處理器/核心可以執(zhí)行不依賴于其它處理器/核心的操作。舉例來(lái)說(shuō),SOC 100可以包括執(zhí)行第一類型的操作系統(tǒng)(例如,F(xiàn)reeBSD、LINIX、OS X等)的處理器和執(zhí)行第二類型的操作系統(tǒng)(例如,微軟Windows 8)的處理器。
SOC 100還可包括模擬電路系統(tǒng)和定制電路系統(tǒng)114,以用于管理傳感器數(shù)據(jù)、模/數(shù)轉(zhuǎn)換、無(wú)線數(shù)據(jù)傳輸,且用于執(zhí)行其它專用操作,例如處理用于游戲和電影的經(jīng)編碼音頻信號(hào)。SOC 100可以進(jìn)一步包括系統(tǒng)組件和資源116,例如,電壓調(diào)節(jié)器、振蕩器、鎖相環(huán)、外圍橋接、數(shù)據(jù)控制器、存儲(chǔ)器控制器、系統(tǒng)控制器、存取端口、計(jì)時(shí)器和用于支持在計(jì)算裝置上運(yùn)行的處理器和客戶端的其它類似組件。
系統(tǒng)組件/資源116和定制電路系統(tǒng)114可以包括電路系統(tǒng)以與例如相機(jī)、電子顯示器、無(wú)線通信裝置、外部存儲(chǔ)器芯片等的外圍裝置接口。處理器101、104、106、108可以經(jīng)由互連/總線模塊124互連到一或多個(gè)存儲(chǔ)器元件112、系統(tǒng)組件和資源116以及定制電路系統(tǒng)114,所述互連/總線模塊可以包括一批可配置的邏輯門(mén)和/或?qū)嵤┛偩€架構(gòu)(例如,CoreConnect、AMBA等)。通信可由例如高性能芯片上網(wǎng)絡(luò)(NoC)等高級(jí)互連件提供。
在處理器101、104、106、108、110中的一或多個(gè)中執(zhí)行的操作系統(tǒng)可以經(jīng)配置以通過(guò)軟件應(yīng)用程序控制和協(xié)調(diào)存儲(chǔ)器的分配以及使用,且跨越多個(gè)軟件應(yīng)用程序分割物理存儲(chǔ)器。因而,操作系統(tǒng)可以包括一或多個(gè)存儲(chǔ)器管理系統(tǒng)或過(guò)程(例如,虛擬內(nèi)存管理器等),所述存儲(chǔ)器管理系統(tǒng)或過(guò)程通過(guò)各種軟件應(yīng)用程序管理存儲(chǔ)器的分配和使用并且確保由一個(gè)過(guò)程使用的存儲(chǔ)器不與另一過(guò)程已經(jīng)使用的存儲(chǔ)器發(fā)生干擾。
除了上文所論述的基于軟件的存儲(chǔ)器管理系統(tǒng)或過(guò)程(例如,OS VMM等)之外,SOC 100還可以包括一或多個(gè)基于硬件的存儲(chǔ)器管理系統(tǒng),例如,中央處理單元(CPU)存儲(chǔ)器管理單元(MMU)和系統(tǒng)MMU。CPU MMU和系統(tǒng)MMU可以是負(fù)責(zé)執(zhí)行各種存儲(chǔ)器相關(guān)操作的硬件組件,例如,轉(zhuǎn)換虛擬地址為物理地址、高速緩存控制、總線判優(yōu)和存儲(chǔ)器保護(hù)。舉例來(lái)說(shuō),CPU MMU可以負(fù)責(zé)向主CPU(例如,應(yīng)用程序處理器108)提供地址轉(zhuǎn)換服務(wù)和保護(hù)功能,并且系統(tǒng)MMU可以負(fù)責(zé)向其它硬件組件(例如,數(shù)字信號(hào)處理器101、調(diào)制解調(diào)器處理器104、圖形處理器106等)提供地址轉(zhuǎn)換服務(wù)和保護(hù)功能。
SOC 100還可以包括基于硬件的存儲(chǔ)器監(jiān)測(cè)單元113,其可以是經(jīng)配置以通過(guò)軟件應(yīng)用程序在硬件層級(jí)處和/或基于硬件事件(例如,存儲(chǔ)器讀取和寫(xiě)入操作等)監(jiān)測(cè)MMU和存儲(chǔ)器元件112的存取或使用的可編程邏輯電路(PLC)?;谟布拇鎯?chǔ)器監(jiān)測(cè)單元113可以與其它硬件和基于軟件的存儲(chǔ)器管理系統(tǒng)以及裝置的MMU分隔,且不依賴于其它硬件和基于軟件的存儲(chǔ)器管理系統(tǒng)以及裝置的MMU運(yùn)行。
在各種實(shí)施例中,基于硬件的存儲(chǔ)器監(jiān)測(cè)單元113可以經(jīng)配置以通過(guò)軟件應(yīng)用程序監(jiān)測(cè)MMU和存儲(chǔ)器元件112的存取和使用以收集存儲(chǔ)器使用信息,并且比較所收集的存儲(chǔ)器使用信息與存儲(chǔ)器使用模式(其可以編程到PLC中)以識(shí)別應(yīng)用程序之間的關(guān)系和/或確定通過(guò)軟件應(yīng)用程序使用的存儲(chǔ)器是否指示可疑或串通行為?;谟布拇鎯?chǔ)器監(jiān)測(cè)單元113可隨后報(bào)告所識(shí)別的關(guān)系和/或可疑或串通行為到觀測(cè)器或分析儀模塊(例如,經(jīng)由處理器101、104、106、108)。
SOC 100可以進(jìn)一步包括用于與SOC外部的資源通信的輸入/輸出模塊(未圖示),例如,時(shí)鐘118和電壓調(diào)節(jié)器120。SOC外部的資源(例如,時(shí)鐘118、電壓調(diào)節(jié)器120)可以由內(nèi)部SOC處理器/核心(例如,DSP 101、調(diào)制解調(diào)器處理器104、圖形處理器106、應(yīng)用程序處理器108等)中的兩個(gè)或大于兩個(gè)共享。
SOC 100還可以包括適用于從傳感器收集傳感器數(shù)據(jù)的硬件和/或軟件組件,包括揚(yáng)聲器、用戶接口元件(例如,輸入按鈕、觸摸屏顯示器等)、麥克風(fēng)陣列、用于監(jiān)測(cè)物理狀態(tài)(例如,位置、方向、運(yùn)動(dòng)、取向、振動(dòng)、壓力等)的傳感器、相機(jī)、羅盤(pán)、GPS接收器、通信電路系統(tǒng)(例如,WLAN、WiFi等)和現(xiàn)代電子裝置的其它眾所周知的組件(例如,加速計(jì)等)。
除了上文所論述的SOC 100之外,各種實(shí)施例還可以在多種多樣的計(jì)算系統(tǒng)中實(shí)施,所述計(jì)算系統(tǒng)可以包括單個(gè)處理器、多個(gè)處理器、多核心處理器或其任何組合。
圖2說(shuō)明在一個(gè)實(shí)施例移動(dòng)計(jì)算裝置102中的實(shí)例邏輯組件和信息流,所述移動(dòng)計(jì)算裝置包括經(jīng)配置以使用行為分析技術(shù)來(lái)識(shí)別和響應(yīng)于非良性裝置行為的基于行為的安全系統(tǒng)200。在圖2中說(shuō)明的實(shí)例中,計(jì)算裝置是移動(dòng)計(jì)算裝置102,其包括配置有包含行為觀測(cè)器模塊202、行為提取器模塊204、行為分析儀模塊208和致動(dòng)器模塊210的可執(zhí)行指令模塊的裝置處理器(即,移動(dòng)裝置處理器)。模塊202到210中的每一個(gè)可以為線程、過(guò)程、后臺(tái)程序、模塊、子系統(tǒng)、或在軟件、硬件或其組合中實(shí)施的組件。在各種實(shí)施例中,模塊202到210可以在操作系統(tǒng)的部分內(nèi)(例如,在內(nèi)核內(nèi)、在內(nèi)核空間中、在用戶空間中等)實(shí)施、在單獨(dú)程序或應(yīng)用程序內(nèi)實(shí)施、在特定硬件緩沖器或處理器中實(shí)施或在其任何組合中實(shí)施。在一個(gè)實(shí)施例中,模塊202到210中的一或多個(gè)可以被實(shí)施為在移動(dòng)計(jì)算裝置102的一或多個(gè)處理器上執(zhí)行的軟件指令。
行為觀測(cè)器模塊202可以經(jīng)配置以在某一時(shí)間周期內(nèi)在裝置的各種層級(jí)/模塊處指導(dǎo)應(yīng)用程序編程接口(API)、計(jì)數(shù)器、硬件監(jiān)測(cè)器等,以及在各種層級(jí)/模塊處監(jiān)測(cè)活動(dòng)、條件、操作和事件(例如,系統(tǒng)事件、狀態(tài)改變等)。舉例來(lái)說(shuō),行為觀測(cè)器模塊202可以經(jīng)配置以監(jiān)測(cè)移動(dòng)計(jì)算裝置102的各種軟件和硬件組件,以及收集關(guān)于相互作用、通信、交易、事件或與移動(dòng)計(jì)算裝置102的活動(dòng)相關(guān)聯(lián)的所監(jiān)測(cè)的和可測(cè)量的組件的操作的行為信息。此類活動(dòng)包括軟件應(yīng)用程序使用硬件組件、操作或任務(wù)的性能、軟件應(yīng)用程序在移動(dòng)計(jì)算裝置102的處理核心中的執(zhí)行、過(guò)程的執(zhí)行、任務(wù)或操作的性能、裝置行為等。
作為另一個(gè)實(shí)例,行為觀測(cè)器模塊202可以經(jīng)配置以通過(guò)利用軟件應(yīng)用程序監(jiān)測(cè)裝置存儲(chǔ)器的分配或使用而監(jiān)測(cè)移動(dòng)計(jì)算裝置102的活動(dòng)。在一個(gè)實(shí)施例中,這可以通過(guò)監(jiān)測(cè)計(jì)算裝置的存儲(chǔ)器管理系統(tǒng)(例如,虛擬存儲(chǔ)器管理器、存儲(chǔ)器管理單元等)的操作實(shí)現(xiàn)。此類系統(tǒng)通常負(fù)責(zé)通過(guò)各種應(yīng)用程序來(lái)管理系統(tǒng)存儲(chǔ)器的分配和使用以確保由一個(gè)過(guò)程使用的存儲(chǔ)器并不與已經(jīng)由另一過(guò)程使用的存儲(chǔ)器發(fā)生干擾。因此,通過(guò)監(jiān)測(cè)存儲(chǔ)器管理系統(tǒng)的運(yùn)行,裝置處理器可以收集適用于確定兩個(gè)應(yīng)用程序是否協(xié)同工作的行為信息,例如兩個(gè)過(guò)程是否已經(jīng)被分配了同一存儲(chǔ)器空間、是否讀取和寫(xiě)入信息到同一存儲(chǔ)器地址或位置,或是否執(zhí)行其它可疑存儲(chǔ)器相關(guān)的操作。
行為觀測(cè)器模塊202可以收集關(guān)于所監(jiān)測(cè)的活動(dòng)、條件、操作或事件的行為信息,并且將所收集的信息存儲(chǔ)在存儲(chǔ)器中(例如,在日志文件中等)。行為觀測(cè)器模塊202可隨后將所收集的行為信息傳送(例如,經(jīng)由存儲(chǔ)器寫(xiě)入操作、函數(shù)調(diào)用等)到行為提取器模塊204。
在一個(gè)實(shí)施例中,行為觀測(cè)器模塊202可以經(jīng)配置以在硬件層級(jí)處和/或基于硬件事件(例如,存儲(chǔ)器讀取和寫(xiě)入操作等)通過(guò)監(jiān)測(cè)裝置存儲(chǔ)器的分配或使用而監(jiān)測(cè)移動(dòng)計(jì)算裝置102的活動(dòng)。在另一實(shí)施例中,行為觀測(cè)器模塊202可以在硬件模塊(例如,上文參考圖1所述的存儲(chǔ)器監(jiān)測(cè)單元113)中實(shí)施以用于監(jiān)測(cè)功能的更快的、接近實(shí)時(shí)的執(zhí)行。舉例來(lái)說(shuō),行為觀測(cè)器模塊202可以在包括可編程邏輯電路(PLC)的硬件模塊內(nèi)實(shí)施,其中可編程邏輯元件經(jīng)配置以在硬件層級(jí)處和/或基于硬件事件(例如,存儲(chǔ)器讀取和寫(xiě)入操作等)監(jiān)測(cè)計(jì)算裝置存儲(chǔ)器的分配或使用并且另外實(shí)施各種實(shí)施例。此類硬件模塊可以輸出硬件事件監(jiān)測(cè)的結(jié)果到實(shí)施行為提取器模塊204的裝置處理器。PLC可經(jīng)配置以監(jiān)測(cè)某些硬件并且使用眾所周知的PLC編程方法實(shí)施本文所描述的各種實(shí)施例的某些操作。也可以使用用于在硬件模塊中實(shí)施實(shí)施例方法的一些操作的其它電路。
類似地,模塊202到210中的每一個(gè)可以在硬件模塊中實(shí)施,例如通過(guò)在SoC中包括一或多個(gè)PLC元件,其中PLC元件是使用PLC編程方法配置的以執(zhí)行實(shí)施例方法的一些操作。
行為提取器模塊204可經(jīng)配置以接收或檢索所收集的行為信息,并且使用這一信息以產(chǎn)生一或多個(gè)行為向量。在各種實(shí)施例中,行為提取器模塊204可經(jīng)配置以產(chǎn)生行為向量以包括軟件應(yīng)用程序的所觀察到的行為、關(guān)系或相互作用的簡(jiǎn)潔定義。舉例來(lái)說(shuō),每個(gè)行為向量可以在值或向量數(shù)據(jù)結(jié)構(gòu)中簡(jiǎn)明地描述軟件應(yīng)用程序的共同行為。向量數(shù)據(jù)結(jié)構(gòu)可以包括編號(hào)的序列,其中的每一個(gè)表示裝置的特征或行為,例如,計(jì)算裝置的相機(jī)是否在使用中(例如,作為零或一)、已經(jīng)從計(jì)算裝置中傳輸多少網(wǎng)絡(luò)流量或多少網(wǎng)絡(luò)流量通過(guò)計(jì)算裝置產(chǎn)生(例如,20KB/秒等)、已經(jīng)傳送多少互聯(lián)網(wǎng)消息(例如,SMS消息的數(shù)目等),和/或通過(guò)行為觀測(cè)器模塊202收集的任何其它行為信息。在一個(gè)實(shí)施例中,行為提取器模塊204可經(jīng)配置以產(chǎn)生行為向量使得它們充當(dāng)標(biāo)識(shí)符,所述標(biāo)識(shí)符使得計(jì)算裝置系統(tǒng)(例如,行為分析儀模塊208)能夠快速地認(rèn)出、識(shí)別或分析應(yīng)用程序之間的關(guān)系。
行為分析儀模塊208可經(jīng)配置以將行為向量應(yīng)用于分類器模塊以識(shí)別兩個(gè)或大于兩個(gè)軟件應(yīng)用程序之間的關(guān)系的本質(zhì)。行為分析儀模塊208還可經(jīng)配置以將行為向量應(yīng)用于分類器模塊以確定共同裝置行為(即,在裝置上運(yùn)行的兩個(gè)或大于兩個(gè)軟件應(yīng)用程序的共同活動(dòng))是否是有助于(或可能地造成)裝置的隨時(shí)間推移的降級(jí)和/或可能另外在裝置上造成問(wèn)題的非良性行為。
行為分析儀模塊208可以通知致動(dòng)器模塊210活動(dòng)或行為不是良性的。作為響應(yīng),致動(dòng)器模塊210可以執(zhí)行各種動(dòng)作或操作以治愈、解決、隔離或者修復(fù)所識(shí)別的問(wèn)題。舉例來(lái)說(shuō),致動(dòng)器模塊210可經(jīng)配置以在將行為向量應(yīng)用于分類器模型(例如,通過(guò)分析儀模塊)的結(jié)果指示軟件應(yīng)用程序的共同行為并不是良性的時(shí)停止或終止軟件應(yīng)用程序中的一或多個(gè)。
在各種實(shí)施例中,行為觀測(cè)器模塊202可經(jīng)配置以監(jiān)測(cè)移動(dòng)計(jì)算裝置102的活動(dòng),方法是收集關(guān)于在應(yīng)用程序框架或運(yùn)行時(shí)間庫(kù)中的庫(kù)API調(diào)用、系統(tǒng)調(diào)用API、文件系統(tǒng)和網(wǎng)絡(luò)連接子系統(tǒng)操作、裝置(包括傳感器裝置)狀態(tài)改變和其它類似事件的信息。另外,行為觀測(cè)器模塊202可以監(jiān)測(cè)文件系統(tǒng)活動(dòng),文件系統(tǒng)活動(dòng)可以包括搜尋文件名稱、文件存取的類別(個(gè)人信息或普通數(shù)據(jù)文件)、創(chuàng)建或刪除文件(例如,類型exe、zip等)、文件讀取/寫(xiě)入/尋找操作、改變文件許可等。
行為觀測(cè)器模塊202也可以通過(guò)監(jiān)測(cè)數(shù)據(jù)網(wǎng)絡(luò)活動(dòng)監(jiān)測(cè)移動(dòng)計(jì)算裝置102的活動(dòng),其可以包括裝置所連接到的連接、協(xié)議、端口號(hào)、服務(wù)器/客戶端的類型、連接的數(shù)目、通信的容積或頻率等。行為觀測(cè)器模塊202可以監(jiān)測(cè)電話網(wǎng)絡(luò)活動(dòng),其可以包括監(jiān)測(cè)發(fā)出、接收或攔截的呼叫或消息(例如,SMS等)的類型和數(shù)目(例如,放置的收費(fèi)呼叫的數(shù)目)。
行為觀測(cè)器模塊202也可以通過(guò)監(jiān)測(cè)系統(tǒng)資源使用來(lái)監(jiān)測(cè)移動(dòng)計(jì)算裝置102的活動(dòng),其可以包括監(jiān)測(cè)叉路的數(shù)目、存儲(chǔ)器存取操作、文件打開(kāi)的數(shù)目等。行為觀測(cè)器模塊202可以監(jiān)測(cè)移動(dòng)計(jì)算裝置102的狀態(tài),其可以包括監(jiān)測(cè)各種因素,例如,顯示器是否是開(kāi)啟或關(guān)閉的、裝置是否是鎖定或解鎖的、剩余的電池的量、相機(jī)的狀態(tài)等。行為觀測(cè)器模塊202也可以監(jiān)測(cè)過(guò)程間通信(IPC),例如,監(jiān)測(cè)到關(guān)鍵服務(wù)(瀏覽器、合同提供商等)的意圖、過(guò)程間通信的程度、彈出窗口等。
行為觀測(cè)器模塊202也可以通過(guò)監(jiān)測(cè)一或多個(gè)硬件組件的驅(qū)動(dòng)器統(tǒng)計(jì)數(shù)據(jù)和/或狀態(tài)來(lái)監(jiān)測(cè)移動(dòng)計(jì)算裝置102的活動(dòng),這些硬件組件可以包括相機(jī)、傳感器、電子顯示器、WiFi通信組件、數(shù)據(jù)控制器、存儲(chǔ)器控制器、系統(tǒng)控制器、存取端口、計(jì)時(shí)器、外圍裝置、無(wú)線通信組件、外部存儲(chǔ)器芯片、電壓調(diào)節(jié)器、振蕩器、鎖相環(huán)、外圍橋接和用于支持在移動(dòng)計(jì)算裝置102上運(yùn)行的處理器和客戶端的其它類似組件。
行為觀測(cè)器模塊202也可以通過(guò)監(jiān)測(cè)一或多個(gè)硬件計(jì)數(shù)器來(lái)監(jiān)測(cè)移動(dòng)計(jì)算裝置102的活動(dòng),所述硬件計(jì)數(shù)器表示移動(dòng)計(jì)算裝置102和/或計(jì)算裝置子系統(tǒng)的狀態(tài)或情況。硬件計(jì)數(shù)器可以包括經(jīng)配置以存儲(chǔ)發(fā)生在移動(dòng)計(jì)算裝置102中的硬件相關(guān)活動(dòng)或事件的計(jì)數(shù)值或狀態(tài)的處理器/核心的特殊目的寄存器。
行為觀測(cè)器模塊202也可以通過(guò)監(jiān)測(cè)軟件應(yīng)用程序的動(dòng)作或操作、從應(yīng)用程序下載服務(wù)器(例如,應(yīng)用商城服務(wù)器)下載的軟件、由軟件應(yīng)用程序使用的計(jì)算裝置信息、呼叫信息、文本消息傳送信息(例如,發(fā)送SMS、阻斷SMS、讀取SMS等)、媒體消息傳送信息(例如,接收MMS)、用戶帳戶信息、位置信息、相機(jī)信息、加速計(jì)信息、瀏覽器信息、基于瀏覽器通信的內(nèi)容、基于語(yǔ)音通信的內(nèi)容、短程無(wú)線電通信(例如,藍(lán)牙、WiFi等)、基于文本通信的內(nèi)容、所記錄的音頻文件的內(nèi)容、電話簿或聯(lián)系人信息、聯(lián)系人列表等來(lái)監(jiān)測(cè)移動(dòng)計(jì)算裝置102的活動(dòng)。
行為觀測(cè)器模塊202也可以通過(guò)監(jiān)測(cè)移動(dòng)計(jì)算裝置102的傳輸或通信來(lái)監(jiān)測(cè)移動(dòng)計(jì)算裝置102的活動(dòng),所述通信包括包含以下項(xiàng)的通信:語(yǔ)音郵件(VoiceMailComm)、裝置標(biāo)識(shí)符(DeviceIDComm)、用戶帳戶信息(UserAccountComm)、日歷信息(CalendarComm)、位置信息(LocationComm)、所記錄的音頻信息(RecordAudioComm)、加速計(jì)信息(AccelerometerComm)等。
行為觀測(cè)器模塊202也可以通過(guò)監(jiān)測(cè)指南針信息、計(jì)算裝置設(shè)置、電池壽命、陀螺儀信息、壓力傳感器、磁傳感器、屏幕活動(dòng)等的使用和更新/改變來(lái)監(jiān)測(cè)移動(dòng)計(jì)算裝置102的活動(dòng)。行為觀測(cè)器模塊202可以監(jiān)測(cè)傳送到軟件應(yīng)用程序(AppNotifications)和來(lái)自軟件應(yīng)用程序(AppNotifications)的通知、應(yīng)用程序更新等。行為觀測(cè)器模塊202可以監(jiān)測(cè)關(guān)于第一軟件應(yīng)用程序的條件或事件,所述第一軟件應(yīng)用程序請(qǐng)求第二軟件應(yīng)用程序的下載和/或安裝。行為觀測(cè)器模塊202可以監(jiān)測(cè)關(guān)于用戶驗(yàn)證的條件或事件,例如,密碼的輸入等。
行為觀測(cè)器模塊202也可以通過(guò)監(jiān)測(cè)在移動(dòng)計(jì)算裝置102的多個(gè)層級(jí)處的條件或事件來(lái)監(jiān)測(cè)移動(dòng)計(jì)算裝置102的活動(dòng),這些層級(jí)包括應(yīng)用程序?qū)蛹?jí)、無(wú)線電層級(jí)和傳感器層級(jí)。應(yīng)用程序?qū)蛹?jí)觀察可以包括經(jīng)由面部識(shí)別軟件來(lái)觀察用戶、觀察社交串流、觀察用戶輸入的記錄、觀察關(guān)于Wallet、和其它類似應(yīng)用程序或服務(wù)的使用的事件。應(yīng)用程序?qū)蛹?jí)觀察還可以包括觀察涉及虛擬專用網(wǎng)絡(luò)(VPN)的使用的事件和關(guān)于同步、語(yǔ)音搜索、語(yǔ)音控制(例如,通過(guò)說(shuō)出一個(gè)詞語(yǔ)來(lái)鎖定/解鎖電話)、語(yǔ)言翻譯程序、為了計(jì)算的數(shù)據(jù)的卸載、視頻串流、不含用戶活動(dòng)的相機(jī)使用、不含用戶活動(dòng)的麥克風(fēng)使用等的事件。
無(wú)線電層級(jí)觀察可以包括在建立無(wú)線電通信鏈路或傳輸信息、雙重/多個(gè)訂戶識(shí)別模塊(SIM)卡、互聯(lián)網(wǎng)無(wú)線電、移動(dòng)電話網(wǎng)絡(luò)共享、為了計(jì)算卸載數(shù)據(jù)、裝置狀態(tài)通信、作為游戲控制器或家庭控制器的使用、媒介通信、計(jì)算裝置同步等之前確定與移動(dòng)計(jì)算裝置102的用戶交互中的任何一個(gè)或多個(gè)的出現(xiàn)、存在或數(shù)量。無(wú)線電層級(jí)觀察還可以包括監(jiān)測(cè)無(wú)線電(WiFi、WiMax、藍(lán)牙等)的使用以用于定位、同級(jí)間(p2p)通信、同步、媒介間通信和/或機(jī)器間(m2m)。無(wú)線電層級(jí)觀察可以進(jìn)一步包括監(jiān)測(cè)網(wǎng)絡(luò)流量使用、統(tǒng)計(jì)數(shù)據(jù)或配置文件。
傳感器層級(jí)觀察可以包括監(jiān)測(cè)磁傳感器或其它傳感器以確定移動(dòng)計(jì)算裝置102的使用和/或外部環(huán)境。舉例來(lái)說(shuō),計(jì)算裝置處理器可經(jīng)配置以確定裝置是否在皮套中(例如,經(jīng)由磁傳感器經(jīng)配置以感測(cè)皮套內(nèi)磁體)或在用戶的口袋中(例如,經(jīng)由通過(guò)相機(jī)或光傳感器檢測(cè)到的光的量)。檢測(cè)移動(dòng)計(jì)算裝置102在皮套中可以與識(shí)別可疑行為相關(guān),舉例來(lái)說(shuō),因?yàn)榕c通過(guò)用戶的活躍使用相關(guān)的活動(dòng)和功能(例如,拍攝照片或視頻、發(fā)送消息、進(jìn)行語(yǔ)音呼叫、記錄聲音等)在移動(dòng)計(jì)算裝置102裝在皮套中的同時(shí)發(fā)生可以是在裝置上執(zhí)行違法過(guò)程(例如,跟蹤或監(jiān)視用戶)的征兆。
與使用或外部環(huán)境相關(guān)的傳感器層級(jí)觀察的其它實(shí)例可以包括:檢測(cè)NFC信令、從信用卡掃描儀、條形碼掃描儀或移動(dòng)標(biāo)簽讀取器收集信息、檢測(cè)通用串行總線(USB)電力充電源的存在、檢測(cè)已經(jīng)耦合到移動(dòng)計(jì)算裝置102的鍵盤(pán)或輔助裝置、檢測(cè)移動(dòng)計(jì)算裝置102已經(jīng)耦合到另一計(jì)算裝置(例如,經(jīng)由USB等)、確定LED、閃光、手電筒或光源是否已經(jīng)是經(jīng)修改或停用的(例如,惡意停用緊急信令應(yīng)用程序等)、檢測(cè)揚(yáng)聲器或麥克風(fēng)已經(jīng)開(kāi)啟或供電、檢測(cè)充電或電源事件、檢測(cè)移動(dòng)計(jì)算裝置102被用作游戲控制器等。傳感器層級(jí)觀察還可以包括:從醫(yī)學(xué)或醫(yī)療傳感器中收集信息或者通過(guò)掃描用戶的身體收集信息、從插入到USB/音頻插孔中的外部傳感器收集信息、從觸感或觸覺(jué)傳感器中收集信息(例如,經(jīng)由振動(dòng)器接口等)、收集關(guān)于移動(dòng)計(jì)算裝置102的熱狀態(tài)的信息等。
為了減少監(jiān)測(cè)到可管理層級(jí)的因素的數(shù)目,在一個(gè)實(shí)施例中,行為觀測(cè)器模塊202可經(jīng)配置以通過(guò)監(jiān)測(cè)/觀察行為或因素的初始集合來(lái)執(zhí)行粗略觀察,所述行為或因素的初始集合是可以造成計(jì)算裝置的降級(jí)的全部因素的較小子集。在一個(gè)實(shí)施例中,行為觀測(cè)器模塊202可以從云服務(wù)或網(wǎng)絡(luò)中的服務(wù)器和/或組件中接收行為和/或因素的初始集合。在一個(gè)實(shí)施例中,可以在機(jī)器學(xué)習(xí)分類器模型中規(guī)定行為/因素的初始集合。
每個(gè)分類器模型可以是包括數(shù)據(jù)和/或信息結(jié)構(gòu)(例如,特征向量、行為向量、組件列表等)的行為模型,所述數(shù)據(jù)和/或信息結(jié)構(gòu)可以由計(jì)算裝置處理器使用以評(píng)估計(jì)算裝置的行為的特定特征或?qū)嵤├C總€(gè)分類器模型還可以包括用于監(jiān)測(cè)計(jì)算裝置中的多個(gè)特征、因素、數(shù)據(jù)點(diǎn)、表項(xiàng)、API、狀態(tài)、條件、行為、應(yīng)用程序、過(guò)程、操作、組件等(本文中統(tǒng)稱為“特征”)的決策標(biāo)準(zhǔn)。分類器模型可以預(yù)先安裝在計(jì)算裝置上、從網(wǎng)絡(luò)服務(wù)器中下載或接收、產(chǎn)生于計(jì)算裝置中,或其任何組合。分類器模型可以通過(guò)使用眾包解決方案、行為模擬技術(shù)、機(jī)器學(xué)習(xí)算法等產(chǎn)生。
每個(gè)分類器模型可以分類為完整分類器模型或精益分類器模型。完整分類器模型可以為穩(wěn)健數(shù)據(jù)模型,所述數(shù)據(jù)模型是作為大量培訓(xùn)數(shù)據(jù)集的函數(shù)產(chǎn)生的,其可以包括數(shù)千特征和數(shù)十億的表項(xiàng)。精益分類器模型可以是從簡(jiǎn)化數(shù)據(jù)集中產(chǎn)生的更集中的數(shù)據(jù)模型,其僅包括/測(cè)試與用于確定特定活動(dòng)是否是進(jìn)行中的關(guān)鍵活動(dòng)和/或特定計(jì)算裝置行為是否并不是良性的最相關(guān)的特征/表項(xiàng)。作為實(shí)例,裝置處理器可以是可經(jīng)配置以從網(wǎng)絡(luò)服務(wù)器中接收完整分類器模型、在計(jì)算裝置中基于完整分類器產(chǎn)生精益分類器模型,并且使用本地產(chǎn)生的精益分類器模型來(lái)將裝置的行為分類為良性或非良性的(即,惡意、性能降低等)。
本地產(chǎn)生的精益分類器模型是產(chǎn)生于計(jì)算裝置中的精益分類器模型。也就是說(shuō),由于現(xiàn)代計(jì)算裝置(例如,移動(dòng)裝置等)是高度可配置的且復(fù)雜的系統(tǒng),所以用于確定特定裝置行為是否是非良性的(例如,惡意或性能降低)的最重要特征在每個(gè)裝置中可以是不同的。另外,可能需要在每個(gè)裝置中監(jiān)測(cè)和/或分析特征的不同組合以便該裝置快速地且有效地確定特定行為是否是非良性的。然而,需要監(jiān)測(cè)和分析的特征的精確組合和每個(gè)特征或特征組合的相對(duì)優(yōu)先級(jí)或重要性通常僅可以使用從其中行為待監(jiān)視或分析的特定的裝置中獲得的信息來(lái)確定的。出于這些和其它原因,各種實(shí)施例可以在其中使用模型的計(jì)算裝置中產(chǎn)生分類器模型。這些本地分類器模型使得裝置處理器能夠準(zhǔn)確地識(shí)別在確定特定的裝置上的行為是否是非良性的(例如,有助于裝置性能下降)中最重要的特定特征。本地分類器模型還使得裝置處理器能夠優(yōu)先化根據(jù)它們的相對(duì)重要性測(cè)試或評(píng)估的特征以對(duì)該特定裝置中的行為進(jìn)行分類。
裝置特定的分類器模型是包括集中數(shù)據(jù)模型的分類器模型,所述集中數(shù)據(jù)模型僅包括/測(cè)試所確定的與對(duì)特定計(jì)算裝置中的活動(dòng)或行為進(jìn)行分類最相關(guān)的計(jì)算裝置特定的特征/表項(xiàng)。應(yīng)用程序特定的分類器模型是包括集中數(shù)據(jù)模型的分類器模型,所述集中數(shù)據(jù)模型僅包括/測(cè)試與用于評(píng)估特定軟件應(yīng)用程序最相關(guān)的特征/表項(xiàng)。通過(guò)在計(jì)算裝置中本地動(dòng)態(tài)地產(chǎn)生應(yīng)用程序特定的分類器模型,各種實(shí)施例使得裝置處理器能夠?qū)⑵浔O(jiān)測(cè)和分析操作集中于用于確定特定軟件應(yīng)用程序的操作是否有助于該裝置的不希望的或性能降低行為的最重要的少量特征。
多應(yīng)用程序分類器模型可以是包括集中數(shù)據(jù)模型的本地分類器模型,所述集中數(shù)據(jù)模型包括或優(yōu)先化關(guān)于與用于確定兩個(gè)或大于兩個(gè)特定軟件應(yīng)用程序(或特定類型的軟件應(yīng)用程序)的共同行為是非良性的最相關(guān)的特征/表項(xiàng)的測(cè)試。多應(yīng)用程序分類器模型可以包括測(cè)試/評(píng)估特征的聚集的集合的聚集特征集合和/或決策節(jié)點(diǎn)。裝置處理器可經(jīng)配置以產(chǎn)生多應(yīng)用程序分類器模型,方法是:識(shí)別用于識(shí)別在計(jì)算裝置上運(yùn)行的兩個(gè)或大于兩個(gè)軟件應(yīng)用程序之間的關(guān)系、相互作用和/或通信的最相關(guān)的裝置特征、識(shí)別評(píng)估所識(shí)別的裝置特征中的一個(gè)的測(cè)試條件、確定所識(shí)別的測(cè)試條件的優(yōu)先級(jí)、重要性或成功率、根據(jù)它們的重要性或成功率優(yōu)先化或排序所識(shí)別的測(cè)試條件,并且產(chǎn)生分類器模型以包括所識(shí)別的測(cè)試條件使得它們是根據(jù)它們的所確定的優(yōu)先級(jí)、重要性或成功率排序的。裝置處理器還可經(jīng)配置以通過(guò)組合兩個(gè)或大于兩個(gè)應(yīng)用程序特定的分類器模型產(chǎn)生多應(yīng)用程序分類器模型。
在各種實(shí)施例中,裝置處理器可經(jīng)配置以響應(yīng)于確定兩個(gè)或大于兩個(gè)應(yīng)用程序是串通或協(xié)同工作的或應(yīng)用程序應(yīng)當(dāng)作為一組一起分析產(chǎn)生多應(yīng)用程序分類器模型。裝置處理器可經(jīng)配置以產(chǎn)生用于應(yīng)用程序的每個(gè)所識(shí)別群組或類別的多應(yīng)用程序分類器模型。然而,分析每個(gè)群組可能消耗大量的裝置的有限的資源。因此,在一個(gè)實(shí)施例中,裝置處理器可經(jīng)配置以確定應(yīng)用程序參與串通行為的概率(例如,基于其與其它應(yīng)用程序的相互作用等),并且僅針對(duì)包括存在高概率的串通行為的軟件應(yīng)用程序的群組智能地產(chǎn)生分類器模型。
行為分析儀模塊208可經(jīng)配置以將由行為提取器模塊204產(chǎn)生的行為向量應(yīng)用于分類器模型以確定所監(jiān)測(cè)的活動(dòng)(或行為)是否是良性或非良性的。在一個(gè)實(shí)施例中,當(dāng)行為的行為分析操作的結(jié)果并不能提供將行為分類為良性或非良性的足夠的信息時(shí)行為分析儀模塊208可以將行為分類為“可疑”。
行為分析儀模塊208可經(jīng)配置以響應(yīng)于識(shí)別串通軟件應(yīng)用程序、確定某些應(yīng)用程序應(yīng)當(dāng)被評(píng)估為一組和/或響應(yīng)于確定所監(jiān)測(cè)的活動(dòng)或行為是可疑的而通知行為觀測(cè)器模塊202。作為響應(yīng),行為觀測(cè)器模塊202可調(diào)節(jié)其觀察的間隔尺寸(即,監(jiān)測(cè)到計(jì)算裝置特征的詳細(xì)的層級(jí))和/或改變基于從行為分析儀模塊208接收的信息(例如,實(shí)時(shí)分析操作的結(jié)果)監(jiān)測(cè)的應(yīng)用程序/因素/行為,產(chǎn)生或收集新的或額外的行為信息,并且發(fā)送新的/額外的信息到行為分析儀模塊208以用于進(jìn)一步的分析/分類。
行為觀測(cè)器模塊202和行為分析儀模塊208之間的此類反饋通信使得移動(dòng)計(jì)算裝置102能夠以遞歸方式增大觀察的間隔尺寸(即,進(jìn)行更加細(xì)致或更加詳細(xì)的觀察)或改變所觀察到的特征/行為直至共同行為被分類為良性或非良性的、識(shí)別可疑或性能降低行為的來(lái)源為止;直至達(dá)到處理或電池消耗閾值為止;或直至裝置處理器確定可疑或性能降低裝置行為的來(lái)源無(wú)法通過(guò)觀察間隔尺寸的進(jìn)一步的改變、調(diào)節(jié)或增大來(lái)識(shí)別為止。此類反饋通信還使得移動(dòng)計(jì)算裝置102能夠調(diào)節(jié)或修改行為向量和分類器模型而不會(huì)消耗過(guò)量的計(jì)算裝置的處理、存儲(chǔ)器或能源資源。
行為觀測(cè)器模塊202和行為分析儀模塊208可單獨(dú)地或共同地提供計(jì)算系統(tǒng)的行為的實(shí)時(shí)行為分析以從有限的且粗略的觀察中識(shí)別可疑行為、以動(dòng)態(tài)地確定行為以更詳細(xì)地觀察,并且以動(dòng)態(tài)地確定觀察所需要的詳細(xì)的層級(jí)。這使得移動(dòng)計(jì)算裝置102能夠有效地識(shí)別和防止問(wèn)題而無(wú)需裝置上的大量的處理器、存儲(chǔ)器或電池資源。
在各種實(shí)施例中,移動(dòng)計(jì)算裝置102的裝置處理器可經(jīng)配置以識(shí)別需要密切監(jiān)測(cè)的關(guān)鍵數(shù)據(jù)資源、監(jiān)測(cè)(例如,經(jīng)由行為觀測(cè)器模塊202)當(dāng)存取關(guān)鍵數(shù)據(jù)資源時(shí)軟件應(yīng)用程序所進(jìn)行的API調(diào)用、識(shí)別API調(diào)用的模式為指示通過(guò)兩個(gè)或大于兩個(gè)軟件應(yīng)用程序的非良性行為、基于API調(diào)用的所識(shí)別的模式和資源使用產(chǎn)生行為向量、使用行為向量來(lái)執(zhí)行行為分析操作(例如,經(jīng)由行為分析儀模塊208),并且基于行為分析操作確定軟件應(yīng)用程序中的一或多個(gè)是否是非良性的。
在一個(gè)實(shí)施例中,裝置處理器可經(jīng)配置以識(shí)別通過(guò)在計(jì)算裝置運(yùn)行的軟件應(yīng)用程序使用的最頻繁的API、存儲(chǔ)關(guān)于在裝置的存儲(chǔ)器中的API記錄中的所識(shí)別的熱門(mén)API的使用的信息,并且基于存儲(chǔ)在API記錄中的信息執(zhí)行行為分析操作以識(shí)別非良性行為。
在各種實(shí)施例中,移動(dòng)計(jì)算裝置102可經(jīng)配置以結(jié)合網(wǎng)絡(luò)服務(wù)器工作以智能地且有效地識(shí)別與確定活動(dòng)或行為是否是非良性的最相關(guān)的特征、因素和數(shù)據(jù)點(diǎn)。舉例來(lái)說(shuō),裝置處理器可經(jīng)配置以從網(wǎng)絡(luò)服務(wù)器接收完整分類器模型,并且使用接收到的完整分類器模型來(lái)產(chǎn)生專用于在裝置上運(yùn)行的計(jì)算裝置或軟件應(yīng)用程序的特征和功能性的精益分類器模型(即,數(shù)據(jù)/行為模型)。裝置處理器可使用完整分類器模型來(lái)產(chǎn)生不同復(fù)雜度水平(或“精益度”)的精益分類器模型的家族??梢猿R?guī)地應(yīng)用精益分類器模型的最精益家族(即,基于最少數(shù)目的測(cè)試條件的精益分類器模型)直至遇到模型無(wú)法將其分類為良性或非良性(并且因此被模型分類為可疑)的行為,此時(shí)可以應(yīng)用更加穩(wěn)健(即,不太精益)的精益分類器模型以嘗試對(duì)行為進(jìn)行分類??梢詰?yīng)用在所產(chǎn)生的精益分類器模型的家族內(nèi)的甚至更加穩(wěn)健的精益分類器模型的應(yīng)用程序直至獲得行為的決定性分類。以此方式,裝置處理器可以通過(guò)限制最完整但是資源密集型精益分類器模型的使用到其中需要穩(wěn)健分類器模型以決定性地對(duì)行為進(jìn)行分類的那些情況而在效率與準(zhǔn)確性之間形成均衡。
在各種實(shí)施例中,裝置處理器可經(jīng)配置以通過(guò)將包含于完整分類器模型中的有限狀態(tài)機(jī)表示/表達(dá)轉(zhuǎn)換到增強(qiáng)的決策柱中產(chǎn)生精益分類器模型。裝置處理器可基于裝置特定的特征、條件或配置刪除或挑選增強(qiáng)的決策柱的完整集合以產(chǎn)生包括包含于完整分類器模型中的增強(qiáng)的決策柱的子集的分類器模型。裝置處理器可隨后使用精益分類器模型以智能地監(jiān)測(cè)、分析和/或?qū)τ?jì)算裝置行為進(jìn)行分類。
增強(qiáng)的決策柱是具有恰好一個(gè)節(jié)點(diǎn)(并且因此一個(gè)測(cè)試問(wèn)題或測(cè)試條件)和權(quán)重值的一個(gè)層級(jí)決策樹(shù),并且因此較適合于在數(shù)據(jù)/行為的二進(jìn)制分類中使用。也就是說(shuō),將行為向量應(yīng)用于增強(qiáng)的決策柱引起二進(jìn)制回答(例如,是或否)。舉例來(lái)說(shuō),如果通過(guò)增強(qiáng)的決策柱測(cè)試的問(wèn)題/條件是“短消息服務(wù)(SMS)傳輸?shù)念l率小于每分鐘x”,那么將“3”的值應(yīng)用于增強(qiáng)的決策柱將引起“是”的回答(對(duì)于“小于3”的SMS傳輸)或“否”的回答(對(duì)于“3或大于3的”SMS傳輸)。
增強(qiáng)的決策柱是高效的因?yàn)樗鼈兪欠浅:?jiǎn)單且原始的(并且因此并不需要相當(dāng)大的處理資源)。增強(qiáng)的決策柱也是非常可并行化的,并且因此許多柱可以并行/同時(shí)應(yīng)用或測(cè)試(例如,通過(guò)計(jì)算裝置中的多個(gè)核心或處理器)。
在一個(gè)實(shí)施例中,裝置處理器可經(jīng)配置以產(chǎn)生包括分類器標(biāo)準(zhǔn)的子集的精益分類器模型,所述分類器標(biāo)準(zhǔn)的子集包含于完整分類器模型中并且僅那些分類器標(biāo)準(zhǔn)對(duì)應(yīng)于與計(jì)算裝置配置、功能性和連接的/包括的硬件相關(guān)的特征。裝置處理器可以使用這一精益分類器模型來(lái)僅監(jiān)測(cè)存在或與裝置相關(guān)的那些特征和功能。裝置處理器可隨后周期性修改或重新產(chǎn)生精益分類器模型以基于計(jì)算裝置的當(dāng)前狀態(tài)和配置包括或去除各種特征和對(duì)應(yīng)的分類器標(biāo)準(zhǔn)。
作為實(shí)例,裝置處理器可經(jīng)配置以接收包括與行為模型(例如,分類器)的完整特征集合相關(guān)聯(lián)的決策柱的大型增強(qiáng)的決策柱分類器模型,并且從大型分類器模型中導(dǎo)出一或多個(gè)精益分類器模型,方法是僅從與計(jì)算裝置的當(dāng)前配置、功能性、操作狀態(tài)和/或連接的/包括的硬件相關(guān)的大型分類器模型中選擇特征,并且在精益分類器模型中包括對(duì)應(yīng)于所選擇的特征的增強(qiáng)的決策柱的子集。在此實(shí)施例中,對(duì)應(yīng)于與計(jì)算裝置相關(guān)的特征的分類器標(biāo)準(zhǔn)可以是包含于測(cè)試所選擇的特征中的至少一者的大型分類器模型中的那些增強(qiáng)的決策柱。裝置處理器可隨后周期性地修改或重新產(chǎn)生增強(qiáng)的決策柱精益分類器模型以基于計(jì)算裝置的當(dāng)前狀態(tài)和配置包括或去除各種特征以使得精益分類器模型繼續(xù)包括應(yīng)用程序特定的或裝置特定的特征增強(qiáng)的決策柱。
另外,裝置處理器也可以動(dòng)態(tài)地產(chǎn)生應(yīng)用程序特定的分類器模型,所述應(yīng)用程序特定的分類器模型識(shí)別與特定的軟件應(yīng)用程序(錢(qián)包和)相關(guān)和/或與特定類型的軟件應(yīng)用程序(例如,游戲、導(dǎo)航、金融、新聞、生產(chǎn)率等)相關(guān)的條件或特征。這些分類器模型可以產(chǎn)生為包括包含于完整分類器模型中的決策節(jié)點(diǎn)的簡(jiǎn)少的且更集中的子集(或包括包含于從接收到的完整分類器模型中產(chǎn)生的更精益的分類器模型中的那些的簡(jiǎn)少的且更集中的子集)。這些分類器模型可以組合以產(chǎn)生多應(yīng)用程序分類器模型。
在各種實(shí)施例中,裝置處理器可經(jīng)配置以針對(duì)在系統(tǒng)中的每個(gè)軟件應(yīng)用程序和/或針對(duì)在系統(tǒng)中的每種類型的軟件應(yīng)用程序產(chǎn)生基于應(yīng)用程序的分類器模型。所述裝置處理器還可經(jīng)配置以動(dòng)態(tài)地識(shí)別高風(fēng)險(xiǎn)或易受濫用影響的軟件應(yīng)用程序和/或應(yīng)用程序類型(例如,金融應(yīng)用程序、銷售點(diǎn)應(yīng)用程序、生物計(jì)量傳感器應(yīng)用程序等),并且產(chǎn)生基于應(yīng)用程序的分類器模型以僅用于被識(shí)別為高風(fēng)險(xiǎn)或易受濫用影響的軟件應(yīng)用程序和/或應(yīng)用程序類型。在各種實(shí)施例中,裝置處理器可經(jīng)配置以動(dòng)態(tài)地、反應(yīng)性地、主動(dòng)地和/或每次安裝或更新新應(yīng)用程序時(shí)產(chǎn)生基于應(yīng)用程序的分類器模型。
每個(gè)軟件應(yīng)用程序通常在計(jì)算裝置上執(zhí)行多個(gè)任務(wù)或活動(dòng)。在其中某些任務(wù)/活動(dòng)在計(jì)算裝置中執(zhí)行的特定的執(zhí)行狀態(tài)可以是行為或活動(dòng)是否有益于額外的或更接近的審查、監(jiān)測(cè)和/或分析的較強(qiáng)指示。因而,在各種實(shí)施例中,裝置處理器可經(jīng)配置以使用識(shí)別實(shí)際執(zhí)行狀態(tài)的信息,在實(shí)際執(zhí)行狀態(tài)中執(zhí)行某些任務(wù)/活動(dòng)以集中其行為監(jiān)測(cè)和分析操作,并且更好的確定活動(dòng)是否是關(guān)鍵活動(dòng)和/或活動(dòng)是否是非良性的。
在各種實(shí)施例中,裝置處理器可經(jīng)配置以使通過(guò)軟件應(yīng)用程序執(zhí)行的活動(dòng)/任務(wù)與其中執(zhí)行那些活動(dòng)/任務(wù)的執(zhí)行狀態(tài)相關(guān)聯(lián)。舉例來(lái)說(shuō),裝置處理器可經(jīng)配置以產(chǎn)生行為向量,所述行為向量包括從監(jiān)測(cè)子向量或數(shù)據(jù)結(jié)構(gòu)中的所指示的組件中收集的行為信息,所述行為信息列出了執(zhí)行狀態(tài)與之相關(guān)的軟件的特征、活動(dòng)或操作(例如,位置存取、SMS讀取操作、傳感器存取等)。在一個(gè)實(shí)施例中,這一子向量/數(shù)據(jù)結(jié)構(gòu)可以結(jié)合識(shí)別其中觀察到每個(gè)特征/活動(dòng)/操作的執(zhí)行狀態(tài)的陰影特征值子向量/數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)。作為實(shí)例,裝置處理器可產(chǎn)生包括“l(fā)ocation_background”數(shù)據(jù)字段的行為向量,當(dāng)裝置處理器在背景狀態(tài)中運(yùn)行時(shí)所述數(shù)據(jù)字段的值識(shí)別軟件應(yīng)用程序存取位置信息的數(shù)目或速率。這使得裝置處理器能夠分析此執(zhí)行狀態(tài)信息而不不依賴于計(jì)算裝置的其它所觀察到的/所監(jiān)測(cè)的活動(dòng)和/或與計(jì)算裝置的其它所觀察到的/所監(jiān)測(cè)的活動(dòng)并行。以此方式產(chǎn)生行為向量還可以使得系統(tǒng)能夠隨時(shí)間推移聚集信息(例如,頻率或速率)。
在各種實(shí)施例中,裝置處理器可經(jīng)配置以產(chǎn)生行為向量以包括可以輸入到機(jī)器學(xué)習(xí)分類器中的決策節(jié)點(diǎn)的信息以產(chǎn)生對(duì)關(guān)于監(jiān)測(cè)活動(dòng)的查詢的回答。
在各種實(shí)施例中,裝置處理器可經(jīng)配置以產(chǎn)生行為向量以包括執(zhí)行信息。執(zhí)行信息可以包含于行為向量中作為行為的一部分(例如,通過(guò)后臺(tái)過(guò)程相機(jī)在3秒中使用5次,通過(guò)前臺(tái)過(guò)程相機(jī)在3秒中使用3次等)或者作為獨(dú)立特征的一部分。在一個(gè)實(shí)施例中,執(zhí)行狀態(tài)信息可以包含于行為向量中作為陰影特征值子向量或數(shù)據(jù)結(jié)構(gòu)。在一個(gè)實(shí)施例中,行為向量可存儲(chǔ)與同執(zhí)行狀態(tài)相關(guān)的特征、活動(dòng)、任務(wù)相關(guān)聯(lián)的陰影特征值子向量/數(shù)據(jù)結(jié)構(gòu)。
圖3說(shuō)明了根據(jù)一個(gè)實(shí)施例使用行為分析技術(shù)來(lái)評(píng)估兩個(gè)或大于兩個(gè)軟件應(yīng)用程序的共同行為的方法300。方法300可以在移動(dòng)或資源受限制的計(jì)算裝置的處理核心中執(zhí)行。
在框302中,處理核心可以監(jiān)測(cè)在裝置上運(yùn)行的軟件應(yīng)用程序的活動(dòng)。在框304中,處理核心可以從所監(jiān)測(cè)的活動(dòng)中收集行為信息。在框306中,處理核心可以基于所收集的行為信息產(chǎn)生行為向量。在框308中,處理核心可以將行為向量應(yīng)用于分類器模型(或分類器模型的家族)以產(chǎn)生分析信息。在框310中,處理核心可以使用分析信息來(lái)識(shí)別軟件應(yīng)用程序之間的關(guān)系。在框312中,處理核心可以識(shí)別應(yīng)當(dāng)基于所識(shí)別的關(guān)系作為一組一起評(píng)估的軟件應(yīng)用程序。在框314中,處理核心可聚集所識(shí)別的軟件應(yīng)用程序的行為信息和/或分析結(jié)果。在框316中,處理核心可使用聚集的分析結(jié)果來(lái)確定軟件應(yīng)用程序的共同行為是否是良性或非良性的。
圖4說(shuō)明了根據(jù)一個(gè)實(shí)施例使用行為分析技術(shù)來(lái)確定軟件應(yīng)用程序之間的關(guān)系的方法400。方法400可以在移動(dòng)或資源受限制的計(jì)算裝置的處理核心中執(zhí)行。在框402中,處理核心可監(jiān)測(cè)在計(jì)算裝置上運(yùn)行的軟件應(yīng)用程序之間的相互作用。在框404中,處理核心可產(chǎn)生表征軟件應(yīng)用程序之間的關(guān)系的行為向量。在框406中,處理核心可以將行為向量應(yīng)用于分類器模型(或分類器模型的家族)以產(chǎn)生分析信息。在框408中,處理核心可以使用分析信息來(lái)確定應(yīng)用程序之間的關(guān)系的本質(zhì),例如,應(yīng)用程序是否是串通或協(xié)同工作的。
圖5說(shuō)明了根據(jù)一個(gè)實(shí)施例使用行為分析技術(shù)來(lái)確定所識(shí)別的應(yīng)用程序的共同行為是否是非良性的方法500。方法500可以在移動(dòng)或資源受限制的計(jì)算裝置的處理核心中執(zhí)行。在框502中,處理核心可以識(shí)別軟件應(yīng)用程序應(yīng)當(dāng)作為一組(例如,串通應(yīng)用程序等)一起分析。在框504中,處理核心可以將所識(shí)別的應(yīng)用程序的行為向量應(yīng)用于分類器模型(或分類器模型的家族)。在框506中,處理核心可以將由行為向量的每個(gè)應(yīng)用程序產(chǎn)生的分析信息聚集到分類器模型。在框508中,處理核心可使用聚集的分析信息來(lái)確定所識(shí)別的軟件應(yīng)用程序的共同行為是否是非良性的。
圖6說(shuō)明了根據(jù)另一實(shí)施例使用行為分析技術(shù)來(lái)確定所識(shí)別的應(yīng)用程序的共同行為是否是非良性的方法600。方法600可以在移動(dòng)或資源受限制的計(jì)算裝置的處理核心中執(zhí)行。在框602中,處理核心可以識(shí)別軟件應(yīng)用程序應(yīng)當(dāng)作為一組一起分析。在框604中,處理核心可以監(jiān)測(cè)所識(shí)別的應(yīng)用程序的活動(dòng)。在框606中,處理核心可以收集用于所監(jiān)測(cè)的活動(dòng)中的每一個(gè)的行為信息。在框608中,處理核心可以基于所收集的行為信息產(chǎn)生表征所識(shí)別的應(yīng)用程序的共同行為的行為向量。在框610中,處理核心可以將所產(chǎn)生的行為向量應(yīng)用于分類器模型(或分類器模型的家族)以產(chǎn)生分析信息。在框612中,處理核心可使用分析信息來(lái)確定所識(shí)別的軟件應(yīng)用程序的共同行為是否是非良性的。
圖7說(shuō)明了使用精益分類器模型的家族以對(duì)計(jì)算裝置的行為進(jìn)行分類的實(shí)施例方法700。方法700可以通過(guò)移動(dòng)或資源受限制的計(jì)算裝置的處理核心執(zhí)行。
在框702中,處理核心可以執(zhí)行觀察以從指示為在計(jì)算裝置系統(tǒng)的各種層級(jí)處的各種組件中收集行為信息。在一個(gè)實(shí)施例中,這可以經(jīng)由上文參考圖2所論述的行為觀測(cè)器模塊202實(shí)現(xiàn)。在框704中,處理核心可以產(chǎn)生表征觀察、所收集的行為信息和/或計(jì)算裝置行為的行為向量。另外,在框704中,處理核心可以使用從網(wǎng)絡(luò)服務(wù)器中接收的完整分類器模型以產(chǎn)生不同復(fù)雜度水平(或“精益度”)的精益分類器模型或精益分類器模型的家族。為了實(shí)現(xiàn)這一點(diǎn),處理核心可以采集包含于完整分類器模型中的增強(qiáng)的決策柱的家族以產(chǎn)生包括減少的數(shù)目的增強(qiáng)的決策柱和/或評(píng)估有限數(shù)目的測(cè)試條件的精益分類器模型。
在框706中,處理核心可以選擇在精益分類器模型的家族中的最精益的分類器(即,基于最少數(shù)目的不同的計(jì)算裝置狀態(tài)、特征、行為或條件),然而所述最精益的分類器尚未由計(jì)算裝置評(píng)估或應(yīng)用。在一個(gè)實(shí)施例中,這可以通過(guò)選擇分類器模型的有序列表中的第一分類器模型的處理核心實(shí)現(xiàn)。
在框708中,處理核心可以將所收集的行為信息或行為向量應(yīng)用于所選擇的精益分類器模型中的每個(gè)增強(qiáng)的決策柱。因?yàn)樵鰪?qiáng)的決策柱是二進(jìn)制決策并且精益分類器模型是通過(guò)基于同一測(cè)試條件選擇許多二進(jìn)制決策產(chǎn)生的,所以將行為向量應(yīng)用于精益分類器模型中的增強(qiáng)的決策柱的過(guò)程可以在并行操作中執(zhí)行。替代地,在框530中應(yīng)用的行為向量可以是截短或?yàn)V波后的以恰好包括包含于精益分類器模型中的有限數(shù)目的測(cè)試條件參數(shù),由此進(jìn)一步減少在應(yīng)模型中的計(jì)算努力。
在框710中,處理核心可以計(jì)算或確定將所收集的行為信息應(yīng)用于精益分類器模型中的每個(gè)增強(qiáng)的決策柱的結(jié)果的加權(quán)平均值。在框712中,處理核心可以比較所計(jì)算的加權(quán)平均值與閾值。在確定框714中,處理核心可以確定這一比較的結(jié)果和/或由應(yīng)用所選擇的精益分類器模型產(chǎn)生的結(jié)果是否是可疑的。舉例來(lái)說(shuō),處理核心可以確定這些結(jié)果是否可用于以較高程度的置信度將行為分類為惡意或良性的,并且如果不是則將行為作為可疑的對(duì)待。
如果處理核心確定結(jié)果是可疑的(例如,確定框714=“是”),那么處理核心可在框706到712中重復(fù)所述操作以選擇和應(yīng)用較強(qiáng)的(即,不太精益的)分類器模型,所述分類器模型評(píng)估更多的裝置狀態(tài)、特征、行為或條件直至行為被以較高程度的置信度分類為惡意或良性的。如果處理核心確定結(jié)果不是可疑的(例如,確定框714=“否”),例如通過(guò)確定行為可以較高程度的置信度被分類為惡意或良性的,那么在框716中,處理核心可以使用產(chǎn)生于框712中的比較的結(jié)果以將計(jì)算裝置的行為分類為良性或潛在地惡意的。
在替代實(shí)施例方法中,上文所述的操作可以依序通過(guò)以下項(xiàng)而實(shí)現(xiàn):選擇并非已經(jīng)在精益分類器模型中的增強(qiáng)的決策柱;識(shí)別取決于與所選擇的決策柱相同的計(jì)算裝置狀態(tài)、特征、行為或條件(且因此可以基于一個(gè)確定結(jié)果應(yīng)用)的全部其它增強(qiáng)的決策柱;在精益分類器模型中包括所選擇的和取決于相同計(jì)算裝置狀態(tài)、特征、行為或條件的全部所識(shí)別的其它增強(qiáng)的決策柱;并且以等于測(cè)試條件的所確定數(shù)目重復(fù)所述過(guò)程多次。因?yàn)槿Q于與所選擇的增強(qiáng)的決策柱相同的測(cè)試條件的全部增強(qiáng)的決策柱每次被添加到精益分類器模型,所以限制執(zhí)行這一過(guò)程的次數(shù)將限制包含于精益分類器模型中的測(cè)試條件的數(shù)目。
圖8說(shuō)明了適用于各種實(shí)施例中的適用于產(chǎn)生增強(qiáng)的決策樹(shù)/分類器的實(shí)例增強(qiáng)方法800。在框802中,處理器可以產(chǎn)生和/或執(zhí)行決策樹(shù)/分類器、從決策樹(shù)/分類器的執(zhí)行中收集培訓(xùn)樣本,并且基于培訓(xùn)樣本產(chǎn)生新的分類器模型(h1(x))。培訓(xùn)樣本可以包括從計(jì)算裝置中的計(jì)算裝置行為、軟件應(yīng)用程序或過(guò)程的先前觀察或分析中收集的信息。培訓(xùn)樣本和/或新分類器模型(h1(x))可以基于包含于先前分類器中的問(wèn)題的類型或測(cè)試條件和/或基于從在行為分析儀模塊208的分類器模塊中的先前數(shù)據(jù)/行為模型或分類器的執(zhí)行/應(yīng)用程序中收集的準(zhǔn)確性或性能特性產(chǎn)生。在框804中,處理器可以增強(qiáng)(或增大)通過(guò)所產(chǎn)生的決策樹(shù)/分類器(h1(x))錯(cuò)分類的表項(xiàng)的加權(quán)以產(chǎn)生第二新樹(shù)/分類器(h2(x))。在一個(gè)實(shí)施例中,培訓(xùn)樣本和/或新分類器模型(h2(x))可以基于分類器的先前執(zhí)行或使用(h1(x))的錯(cuò)誤速率產(chǎn)生。在一個(gè)實(shí)施例中,培訓(xùn)樣本和/或新分類器模型(h2(x))可以基于確定為對(duì)分類器的先前執(zhí)行或使用中的錯(cuò)誤速率或數(shù)據(jù)點(diǎn)的錯(cuò)分類具有貢獻(xiàn)的屬性產(chǎn)生。
在一個(gè)實(shí)施例中,錯(cuò)分類表項(xiàng)可以基于它們的相對(duì)準(zhǔn)確性或有效性加權(quán)。在框806中,處理器可以增強(qiáng)(或增大)通過(guò)所產(chǎn)生的第二樹(shù)/分類器(h2(x))錯(cuò)分類的表項(xiàng)的加權(quán)以產(chǎn)生第三新樹(shù)/分類器(h3(x))。在框808中,框804到806的操作可以重復(fù)以產(chǎn)生“t”數(shù)目的新樹(shù)/分類器(ht(x))。
通過(guò)增強(qiáng)或增大通過(guò)第一決策樹(shù)/分類器(h1(x))錯(cuò)分類的表項(xiàng)的加權(quán),第二樹(shù)/分類器(h2(x))可以更準(zhǔn)確地對(duì)通過(guò)第一決策樹(shù)/分類器(h1(x))錯(cuò)分類的實(shí)體進(jìn)行分類,但是也可能對(duì)通過(guò)第一決策樹(shù)/分類器(h1(x))正確地分類的實(shí)體中的一些進(jìn)行錯(cuò)分類。類似地,第三樹(shù)/分類器(h3(x))可準(zhǔn)確地對(duì)由第二決策樹(shù)/分類器(h2(x))錯(cuò)分類的實(shí)體進(jìn)行分類并且對(duì)通過(guò)第二決策樹(shù)/分類器(h2(x))正確地分類的實(shí)體中的一些錯(cuò)分類。也就是說(shuō),產(chǎn)生樹(shù)/分類器h1(x)-ht(x)的家族可能未引起系統(tǒng)作為整體聚集,而是引起多個(gè)決策樹(shù)/分類器可以并行地執(zhí)行。
圖9說(shuō)明了根據(jù)一個(gè)實(shí)施例經(jīng)配置以執(zhí)行動(dòng)態(tài)和自適應(yīng)觀察的計(jì)算系統(tǒng)的行為觀測(cè)器模塊202中的實(shí)例邏輯組件和信息流。行為觀測(cè)器模塊202可以包括自適應(yīng)濾波器模塊902、限制模塊904、觀測(cè)器模式模塊906、高級(jí)行為檢測(cè)模塊908、行為向量產(chǎn)生器910和安全緩沖器912。高級(jí)行為檢測(cè)模塊908可以包括空間相關(guān)模塊914和時(shí)間相關(guān)模塊916。
觀測(cè)器模式模塊906可以從各種來(lái)源接收控制信息,所述來(lái)源可以包括分析儀單元(例如,上文參考圖2所述的行為分析儀模塊208)和/或應(yīng)用程序API。觀測(cè)器模式模塊906可以將關(guān)于各種觀測(cè)器模式的控制信息發(fā)送到自適應(yīng)濾波器模塊902和高級(jí)行為檢測(cè)模塊908。
自適應(yīng)濾波器模塊902可從多個(gè)來(lái)源接收數(shù)據(jù)/信息,并且對(duì)接收到的信息進(jìn)行智能地濾波以產(chǎn)生選自接收到的信息的信息的較小子集。此濾波器可以是基于從分析儀模塊接收的信息或控制或通過(guò)API傳送的更高層級(jí)過(guò)程調(diào)適的。濾波后的信息可以被發(fā)送到限制模塊904,所述限制模塊可以負(fù)責(zé)控制從濾波器流動(dòng)的信息的量以確保高級(jí)行為檢測(cè)模塊908并不會(huì)變得被請(qǐng)求或信息淹沒(méi)或過(guò)載。
高級(jí)行為檢測(cè)模塊908可以從限制模塊904接收數(shù)據(jù)/信息、從觀測(cè)器模式模塊906接收控制信息,并且從計(jì)算裝置的其它組件接收背景信息。高級(jí)行為檢測(cè)模塊908可使用接收到的信息來(lái)執(zhí)行空間和時(shí)間相關(guān)以檢測(cè)或識(shí)別可能使得裝置在次佳水平下執(zhí)行的高級(jí)行為??臻g和時(shí)間相關(guān)的結(jié)果可以被發(fā)送到行為向量產(chǎn)生器910,所述行為向量產(chǎn)生器可接收相關(guān)信息并且產(chǎn)生描述特定過(guò)程、應(yīng)用程序或子系統(tǒng)的行為的行為向量。在一個(gè)實(shí)施例中,行為向量產(chǎn)生器910可產(chǎn)生行為向量使得特定過(guò)程、應(yīng)用程序或子系統(tǒng)的每個(gè)高級(jí)行為是行為向量的元素。在一個(gè)實(shí)施例中,所產(chǎn)生的行為向量可以存儲(chǔ)在安全緩沖器912中。高級(jí)行為檢測(cè)的實(shí)例可以包括檢測(cè)特定事件的存在、另一事件的量或頻率、多個(gè)事件之間的關(guān)系、事件發(fā)生的順序、某些事件的發(fā)生之間的時(shí)間差等。
在各種實(shí)施例中,行為觀測(cè)器模塊202可執(zhí)行自適應(yīng)觀察并且控制觀察間隔尺寸。也就是說(shuō),行為觀測(cè)器模塊202可動(dòng)態(tài)地識(shí)別待觀察的相關(guān)行為,并且動(dòng)態(tài)地確定待觀察的所識(shí)別的行為的詳細(xì)的層級(jí)。以此方式,行為觀測(cè)器模塊202使得系統(tǒng)能夠監(jiān)測(cè)在各種等級(jí)(例如,多個(gè)粗略和精細(xì)等級(jí))處的計(jì)算裝置的行為。行為觀測(cè)器模塊202可以使得系統(tǒng)能夠適應(yīng)于所觀察到的情況。行為觀測(cè)器模塊202可以使得系統(tǒng)能夠動(dòng)態(tài)地改變基于信息的集中子集所觀察到的因素/行為,所述信息的集中子集可以從多種多樣的來(lái)源中獲得。
如上文所論述,行為觀測(cè)器模塊202可執(zhí)行自適應(yīng)觀察技術(shù)并且基于從多種來(lái)源接收的信息控制觀察間隔尺寸。舉例來(lái)說(shuō),高級(jí)行為檢測(cè)模塊908可以從限制模塊904、觀測(cè)器模式模塊906中接收信息,并且從計(jì)算裝置的其它組件(例如,傳感器)中接收背景信息。作為實(shí)例,執(zhí)行時(shí)間相關(guān)的高級(jí)行為檢測(cè)模塊908可以檢測(cè)到相機(jī)已經(jīng)使用并且計(jì)算裝置正在嘗試將圖片上傳到服務(wù)器。高級(jí)行為檢測(cè)模塊908也可以執(zhí)行空間相關(guān)以確定在裝置在皮套中且附接到用戶的腰帶時(shí)計(jì)算裝置上的應(yīng)用程序是否拍攝圖片。高級(jí)行為檢測(cè)模塊908可確定這一檢測(cè)到的高級(jí)行為(例如,相機(jī)在裝在皮套中的同時(shí)的使用)是否是可接受的或普通的行為,這可以通過(guò)比較計(jì)算裝置的當(dāng)前行為與過(guò)去行為和/或存取從多個(gè)裝置中收集的信息(例如,從眾包服務(wù)器中接收的信息)實(shí)現(xiàn)。由于在裝在皮套中的同時(shí)拍攝圖片且將它們上傳到服務(wù)器是不尋常的行為(如同可以在裝在皮套中的情形下從所觀察到的普通行為中所確定的),所以在此情況下高級(jí)行為檢測(cè)模塊908可以將這一點(diǎn)識(shí)別為潛在地威脅的行為并且起始適當(dāng)?shù)捻憫?yīng)(例如,關(guān)掉相機(jī)、發(fā)出警報(bào)聲等)。
在一個(gè)實(shí)施例中,行為觀測(cè)器模塊202可以在多個(gè)部分中實(shí)施。
圖10更詳細(xì)地說(shuō)明了在實(shí)施實(shí)施例觀測(cè)器后臺(tái)程序的計(jì)算系統(tǒng)1000中的邏輯組件和信息流。在圖10中說(shuō)明的實(shí)例中,計(jì)算系統(tǒng)1000包括在用戶空間中的行為檢測(cè)器1002模塊、數(shù)據(jù)庫(kù)引擎1004模塊和行為分析儀模塊208,以及在內(nèi)核空間中的環(huán)形緩沖器1014、過(guò)濾規(guī)則1016模塊、限制規(guī)則1018模塊和安全緩沖器1020。計(jì)算系統(tǒng)1000可以進(jìn)一步包括觀測(cè)器后臺(tái)程序,所述觀測(cè)器后臺(tái)程序包括在用戶空間中的行為檢測(cè)器1002和數(shù)據(jù)庫(kù)引擎1004,以及在內(nèi)核空間中的安全緩沖管理器1006、規(guī)則管理器1008和系統(tǒng)健康監(jiān)測(cè)器1010。
各種實(shí)施例可以在涵蓋webkit、SDK、NDK、內(nèi)核、驅(qū)動(dòng)器和硬件的計(jì)算裝置上提供跨越層的觀察以便表征系統(tǒng)行為。行為觀察可以是實(shí)時(shí)進(jìn)行的。
觀測(cè)器模塊可以執(zhí)行自適應(yīng)觀察技術(shù)并且控制觀察間隔尺寸。如上文所論述,存在可以造成計(jì)算裝置的降級(jí)的大量(即,數(shù)千)因素,并且監(jiān)測(cè)/觀察可能造成裝置的性能的降級(jí)的全部的不同因素可能是不可行的。為了克服這一點(diǎn),各種實(shí)施例動(dòng)態(tài)地識(shí)別待觀察的相關(guān)行為,并且動(dòng)態(tài)地確定待觀察的所識(shí)別的行為的詳細(xì)的層級(jí)。
圖11說(shuō)明了根據(jù)一個(gè)實(shí)施例用于執(zhí)行動(dòng)態(tài)和自適應(yīng)觀察的實(shí)例方法1100。在框1102中,裝置處理器可通過(guò)監(jiān)測(cè)/觀察可以造成計(jì)算裝置的降級(jí)的大量因素/行為的子集來(lái)執(zhí)行粗略觀察。在框1103中,裝置處理器可產(chǎn)生表征粗略觀察和/或基于粗略觀察的計(jì)算裝置行為的行為向量。在框1104中,裝置處理器可識(shí)別與粗略觀察相關(guān)聯(lián)的可能潛在地造成計(jì)算裝置的降級(jí)的子系統(tǒng)、過(guò)程和/或應(yīng)用程序。舉例來(lái)說(shuō),這可以通過(guò)比較從多個(gè)來(lái)源接收的信息與從計(jì)算裝置的傳感器接收的情境信息實(shí)現(xiàn)。在框1106中,裝置處理器可基于粗略觀察執(zhí)行行為分析操作。在一個(gè)實(shí)施例中,作為框1103和1104的一部分,裝置處理器可以執(zhí)行上文參考圖2到10所論述的操作中的一或多個(gè)。
在確定框1108中,裝置處理器可以確定可疑行為或潛在問(wèn)題是否可以基于行為分析的結(jié)果得到識(shí)別和校正。當(dāng)裝置處理器確定可疑行為或潛在問(wèn)題可以基于行為分析的結(jié)果得到識(shí)別和校正時(shí)(即,確定框1108=“是”),在框1118中,處理器可以起始過(guò)程以校正行為并且返回到框1102以執(zhí)行額外的粗略觀察。
當(dāng)裝置處理器確定可疑行為或潛在問(wèn)題無(wú)法基于行為分析的結(jié)果得到識(shí)別和/或校正時(shí)(即,確定框1108=“否”),在確定框1109中裝置處理器可以確定是否存在問(wèn)題的可能性。在一個(gè)實(shí)施例中,裝置處理器可以確定存在問(wèn)題的可能性,方法是計(jì)算計(jì)算裝置遇到潛在問(wèn)題和/或參與可疑行為的概率,并且確定計(jì)算出的概率是否大于預(yù)定閾值。當(dāng)裝置處理器確定計(jì)算概率并不大于預(yù)定閾值和/或不存在可疑行為或潛在問(wèn)題存在和/或可檢測(cè)的可能性時(shí)(即,確定框1109=“否”),處理器可以返回到框1102以執(zhí)行額外的粗略觀察。
當(dāng)裝置處理器確定存在可疑行為或潛在問(wèn)題存在和/或可檢測(cè)的可能性時(shí)(即,確定框1109=“是”),在框1110中,裝置處理器可在所識(shí)別的子系統(tǒng)、過(guò)程或應(yīng)用程序上執(zhí)行更深入的記錄/觀察或最終記錄。在框1112中,裝置處理器可在所識(shí)別的子系統(tǒng)、過(guò)程或應(yīng)用程序上執(zhí)行更深入且更詳細(xì)的觀察。在框1114中,裝置處理器可以基于更深入且更詳細(xì)的觀察執(zhí)行進(jìn)一步和/或更深入的行為分析。在確定框1108中,裝置處理器可再次確定可疑行為或潛在問(wèn)題是否是可以基于更深入的行為分析的結(jié)果得到識(shí)別和校正的。當(dāng)裝置處理器確定可疑行為或潛在問(wèn)題無(wú)法基于更深入的行為分析的結(jié)果得到識(shí)別和校正時(shí)(即,確定框1108=“否”),處理器可以重復(fù)在框1110到1114中的操作直至詳細(xì)的層級(jí)足夠精細(xì)以識(shí)別問(wèn)題或直至確定所述問(wèn)題無(wú)法通過(guò)額外的細(xì)節(jié)得到識(shí)別或不存在問(wèn)題為止。
當(dāng)裝置處理器確定可疑行為或潛在問(wèn)題可以基于更深入行為分析的結(jié)果得到識(shí)別和校正時(shí)(即,確定框1108=“是”),在框1118中,裝置處理器可以執(zhí)行操作以校正問(wèn)題/行為,并且處理器可以返回到框1102以執(zhí)行額外的操作。
在一個(gè)實(shí)施例中,作為方法1100的框1102到1118的一部分,裝置處理器可執(zhí)行系統(tǒng)的行為的實(shí)時(shí)行為分析以從有限的且粗略的觀察中識(shí)別可疑行為、以動(dòng)態(tài)地確定行為以更詳細(xì)地觀察,并且以動(dòng)態(tài)地確定觀察所需要的詳細(xì)的精確層級(jí)。這使得裝置處理器能夠有效地識(shí)別問(wèn)題并且防止問(wèn)題的發(fā)生,而無(wú)需使用裝置上的大量的處理器、存儲(chǔ)器或電池資源。
各種實(shí)施例通過(guò)使用行為分析和/或機(jī)器學(xué)習(xí)技術(shù)(與基于許可、策略或規(guī)則的方法相反)以監(jiān)測(cè)和分析軟件應(yīng)用程序的選擇群組的共同行為來(lái)改進(jìn)現(xiàn)有解決方案。行為分析或機(jī)器學(xué)習(xí)技術(shù)的使用是重要的,這是因?yàn)楝F(xiàn)代計(jì)算裝置是高度可配置的且復(fù)雜的系統(tǒng),并且對(duì)于確定軟件應(yīng)用程序是否是串通的最重要的因素在每個(gè)裝置中可能是不同的。另外,裝置特征/因素的不同組合可能需要在每個(gè)裝置中的分析以便所述裝置確定軟件應(yīng)用程序是否是串通的。然而,需要監(jiān)測(cè)和分析的特征/因素的精確組合通常僅可以是使用從特定的計(jì)算裝置中獲得的信息確定的,在特定的計(jì)算裝置中執(zhí)行活動(dòng)并且當(dāng)時(shí)活動(dòng)是在進(jìn)行中的。出于這些和其它原因,現(xiàn)有解決方案無(wú)法勝任在行為進(jìn)行中的同時(shí)實(shí)時(shí)監(jiān)測(cè)、檢測(cè)和表征計(jì)算裝置中的多個(gè)軟件應(yīng)用程序的共同行為或它們之間的關(guān)系,且不消耗大量的計(jì)算裝置的處理、存儲(chǔ)器或電力資源。
各種實(shí)施例(包括但不限于上文參考圖1到11所論述的實(shí)施例)可以在多種計(jì)算裝置上實(shí)施,計(jì)算裝置的一個(gè)實(shí)例在圖12中采用智能電話的形式說(shuō)明。智能電話1200可以包括處理器1202,所述處理器耦合到內(nèi)部存儲(chǔ)器1204、顯示器1212和揚(yáng)聲器1214。另外,智能電話1200可以包括用于發(fā)送和接收電磁輻射的天線,所述天線可連接到耦合到處理器1202的無(wú)線數(shù)據(jù)鏈路和/或蜂窩式電話收發(fā)器1208。智能電話1200通常還包括用于接收用戶輸入的菜單選擇按鈕或搖臂開(kāi)關(guān)1220。
典型智能電話1200還包括聲音編碼/解碼(CODEC)電路1206,所述電路將從麥克風(fēng)接收的聲音數(shù)字化為適合于無(wú)線發(fā)射的數(shù)據(jù)包,且解碼所接收的聲音數(shù)據(jù)包以產(chǎn)生提供到揚(yáng)聲器以產(chǎn)生聲音的模擬信號(hào)。并且,處理器1202、無(wú)線收發(fā)器1208及CODEC 1206中的一或多個(gè)可以包括數(shù)字信號(hào)處理器(DSP)電路(未單獨(dú)地示出)。在一個(gè)實(shí)施例中,處理器1202可以包含于芯片上系統(tǒng)(SOC)中,例如,在圖1中說(shuō)明的SOC 100。在一個(gè)實(shí)施例中,處理器1202可以是在圖1中說(shuō)明的應(yīng)用程序處理器108。在一個(gè)實(shí)施例中,處理器1202可以是處理核心(例如,IP核心、CPU核心等)。
實(shí)施例方法的部分可以在客戶服務(wù)器架構(gòu)中實(shí)現(xiàn),其中處理中的一些發(fā)生在服務(wù)器中,例如,維持普通操作性行為的數(shù)據(jù)庫(kù),這可以通過(guò)裝置處理器存取同時(shí)執(zhí)行實(shí)施例方法。此類實(shí)施例可以在多種市售服務(wù)器裝置中的任一者上實(shí)施,例如,圖13中說(shuō)明的服務(wù)器1300。此類服務(wù)器1300通常包括處理器1301,其耦合到易失性存儲(chǔ)器1302和大容量非易失性存儲(chǔ)器,例如磁盤(pán)驅(qū)動(dòng)器1303。服務(wù)器1300還可以包括耦合到處理器1301的軟盤(pán)驅(qū)動(dòng)器、壓縮光盤(pán)(CD)或DVD光盤(pán)驅(qū)動(dòng)器1304。服務(wù)器1300還可以包括網(wǎng)絡(luò)存取端口1306,所述網(wǎng)絡(luò)接入端口耦合到處理器1301以用于建立與網(wǎng)絡(luò)1305(例如耦合到其它廣播系統(tǒng)計(jì)算機(jī)和服務(wù)器的局域網(wǎng))的數(shù)據(jù)連接。
處理器1202、1301可為可通過(guò)軟件指令(應(yīng)用程序)配置以執(zhí)行多種功能(包括如下所述的各種實(shí)施例的功能)的任何可編程微處理器、微型計(jì)算機(jī)或多處理器芯片。在一些移動(dòng)裝置中,可以提供多個(gè)處理器1202,例如,一個(gè)處理器專用于無(wú)線通信功能,并且一個(gè)處理器專用于運(yùn)行其它應(yīng)用程序。通常,軟件應(yīng)用在被存取及加載到處理器1202、1301中之前可存儲(chǔ)于內(nèi)部存儲(chǔ)器1204、1302、1303中。處理器1202、1301可以包括足以存儲(chǔ)應(yīng)用程序軟件指令的內(nèi)部存儲(chǔ)器。
如本申請(qǐng)中所使用,術(shù)語(yǔ)“組件”、“模塊”等等意圖包括計(jì)算機(jī)相關(guān)實(shí)體,例如但不限于,硬件、固件、硬件與軟件的組合、軟件或執(zhí)行中的軟件,其經(jīng)配置以執(zhí)行特定操作或功能。舉例來(lái)說(shuō),組件可為但不限于在處理器上運(yùn)行的過(guò)程、處理器、對(duì)象、可執(zhí)行程序、執(zhí)行線程、程序和/或計(jì)算機(jī)。借助于說(shuō)明,在計(jì)算裝置上運(yùn)行的應(yīng)用程序以及所述計(jì)算裝置可被稱為組件。一或多個(gè)組件可以駐留在過(guò)程和/或執(zhí)行線程內(nèi),并且組件可以局部化于一個(gè)處理器或核心上和/或分布在兩個(gè)或大于兩個(gè)處理器或核心之間。另外,這些組件可以從具有存儲(chǔ)在其上的各種指令和/或數(shù)據(jù)結(jié)構(gòu)的各種非暫時(shí)性計(jì)算機(jī)可讀媒體中執(zhí)行。組件可以借助于本地和/或遠(yuǎn)程過(guò)程、功能或過(guò)程調(diào)用、電子信號(hào)、數(shù)據(jù)包、存儲(chǔ)器讀取/寫(xiě)入和其它已知的網(wǎng)絡(luò)、計(jì)算機(jī)、處理器和/或過(guò)程相關(guān)通信方法進(jìn)行通信。
用于在可編程處理器上執(zhí)行以用于執(zhí)行各種實(shí)施例的操作的計(jì)算機(jī)程序代碼或“程序代碼”可以例如C、C++、C#、Smalltalk、Java、JavaScript、Visual Basic、結(jié)構(gòu)化查詢語(yǔ)言(例如,Transact-SQL)、Perl或各種其它編程語(yǔ)言等高級(jí)編程語(yǔ)言編寫(xiě)。存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)媒體上的程序代碼或程序如在本申請(qǐng)中所使用可以指機(jī)器語(yǔ)言代碼(例如,目標(biāo)代碼),所述機(jī)器語(yǔ)言代碼的格式可由處理器理解。
許多移動(dòng)計(jì)算裝置操作系統(tǒng)內(nèi)核被組織到用戶空間(其中運(yùn)行非特許代碼)和內(nèi)核空間(其中運(yùn)行特許代碼)中。這一分離在和其它通用公共許可證(GPL)環(huán)境中是尤其重要的,在所述環(huán)境中作為內(nèi)核空間的一部分的代碼必須是GPL授權(quán)的,而在用戶空間中運(yùn)行的代碼可以不是GPL授權(quán)的。應(yīng)理解除非另外明確地陳述,否則此處所討論的各種軟件組件/模塊可以在內(nèi)核空間或用戶空間中實(shí)施。
前述方法描述和過(guò)程流程圖僅僅作為說(shuō)明性實(shí)例提供,并且其并不意圖要求或暗示各種實(shí)施例的步驟必須以所呈現(xiàn)的順序進(jìn)行。如所屬領(lǐng)域的技術(shù)人員將了解,可以任何順序執(zhí)行前述實(shí)施例中的步驟的順序。例如“之后”、“隨后”、“接下來(lái)”等詞語(yǔ)并非意圖限制步驟的順序;這些詞僅用于引導(dǎo)讀者瀏覽對(duì)方法的描述。另外,舉例來(lái)說(shuō),使用冠詞“一”或“所述”對(duì)呈單數(shù)形式的權(quán)利要求要素的任何參考不應(yīng)解釋為將所述要素限制為單數(shù)。
結(jié)合本文揭示的實(shí)施例所描述的各種說(shuō)明性邏輯塊、模塊、電路和算法步驟可實(shí)施為電子硬件、計(jì)算機(jī)軟件或兩者的組合。為清楚說(shuō)明硬件與軟件的這種可互換性,上文已大體上關(guān)于其功能性而描述了各種說(shuō)明性組件、塊、模塊、電路和步驟。此類功能性是實(shí)施為硬件還是軟件取決于具體應(yīng)用及施加于整個(gè)系統(tǒng)的設(shè)計(jì)約束。所屬領(lǐng)域的技術(shù)人員可針對(duì)每一特定應(yīng)用程序以不同方式來(lái)實(shí)施所描述功能性,但此類實(shí)施方案決策不應(yīng)被解釋為會(huì)導(dǎo)致脫離本發(fā)明的范圍。
用于實(shí)施結(jié)合本文中所揭示的實(shí)施例而描述的各種說(shuō)明性邏輯、邏輯塊、模塊和電路的硬件可用以下各項(xiàng)來(lái)實(shí)施或執(zhí)行:通用處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)或經(jīng)設(shè)計(jì)以執(zhí)行本文中所描述的功能的其它可編程邏輯裝置、離散門(mén)或晶體管邏輯、離散硬件組件,或其任何組合。通用處理器可為多處理器,但在替代方案中,處理器可為任何常規(guī)的處理器、控制器、微控制器或狀態(tài)機(jī)。處理器也可以被實(shí)施為計(jì)算裝置的組合,例如,DSP和多處理器的組合、多個(gè)多處理器、一或多個(gè)多處理器結(jié)合DSP核心,或任何其它此類配置。替代地,可由特定地針對(duì)給定功能的電路系統(tǒng)來(lái)執(zhí)行一些步驟或方法。
在一或多個(gè)示例性實(shí)施例中,所述功能可以在硬件、軟件、固件或其任何組合中實(shí)施。如果在軟件中實(shí)施,那么所述功能可以作為一或多個(gè)處理器可執(zhí)行指令或代碼存儲(chǔ)在非暫時(shí)性計(jì)算機(jī)可讀儲(chǔ)存媒體或非暫時(shí)性處理器可讀存儲(chǔ)媒體上。本文揭示的方法或算法的步驟可以體現(xiàn)于可駐留在非暫時(shí)性計(jì)算機(jī)可讀或處理器可讀存儲(chǔ)媒體上的處理器可執(zhí)行軟件模塊中。非暫時(shí)性計(jì)算機(jī)可讀或處理器可讀媒體可為可由計(jì)算機(jī)或處理器存取的任何存儲(chǔ)媒體。借助于實(shí)例但非限制,此類非暫時(shí)性計(jì)算機(jī)可讀或處理器可讀媒體可以包括RAM、ROM、EEPROM、快閃存儲(chǔ)器、CD-ROM或其它光盤(pán)存儲(chǔ)裝置、磁盤(pán)存儲(chǔ)器或其它磁性存儲(chǔ)裝置,或可用于以指令或數(shù)據(jù)結(jié)構(gòu)的形式存儲(chǔ)所要的程序代碼且可由計(jì)算機(jī)存取的任何其它媒體。如本文所使用的磁盤(pán)及光盤(pán)包括壓縮光盤(pán)(CD)、激光光盤(pán)、光學(xué)光盤(pán)、數(shù)字多功能光盤(pán)(DVD)、軟盤(pán)及藍(lán)光光盤(pán),其中磁盤(pán)通常是以磁性方式再現(xiàn)數(shù)據(jù),而光盤(pán)是用激光以光學(xué)方式再現(xiàn)數(shù)據(jù)。以上各者的組合也包括在非暫時(shí)性計(jì)算機(jī)可讀及處理器可讀媒體的范圍內(nèi)。另外,方法或算法的操作可作為代碼和/或指令中的一者或任何組合或集合而駐留在可并入到計(jì)算機(jī)程序產(chǎn)品中的非暫時(shí)性處理器可讀媒體和/或計(jì)算機(jī)可讀媒體上。
提供對(duì)所揭示的實(shí)施例的前述描述以使得所屬領(lǐng)域的技術(shù)人員能夠制作或使用本發(fā)明。所屬領(lǐng)域的技術(shù)人員將容易明白對(duì)這些實(shí)施例的各種修改,且可在不脫離本發(fā)明的精神或范圍的情況下將本文中定義的一般原理應(yīng)用到其它實(shí)施例。因此,本發(fā)明并不意圖限于本文中所示的實(shí)施例,而應(yīng)被賦予與所附權(quán)利要求書(shū)和本文中所揭示的原理和新穎特征相一致的最廣泛范圍。