背景技術:
近幾年來,蜂窩技術和無線通信技術迅猛增長。更好的通信硬件、更大的網絡和更可靠的協(xié)議促進了這種增長?,F(xiàn)在,無線服務提供商能夠為其客戶提供不斷擴展的特征和服務,并且為用戶提供對信息、資源和通信的史無前例的水平的存取。為了與這些服務改善保持同步,移動電子裝置(例如,蜂窩式電話、平板計算機、膝上型計算機等)變得前所未有的更加強大和復雜。這種復雜度為惡意軟件、軟件沖突、硬件故障和其它相似錯誤或現(xiàn)象創(chuàng)造了新的機會從而不利地影響移動裝置的長期的和持續(xù)的性能以及功率利用水平。因此,識別和校正可能不利地影響移動裝置的長期和持續(xù)性能以及功率利用水平的狀況和/或移動裝置行為對于消費者而言是有益的。
技術實現(xiàn)要素:
所述各種實施例包括分析計算裝置中行為的方法,包括在計算裝置的處理器中執(zhí)行第一類型的分析操作以確定是否存在增大的安全風險,第一類型的分析操作包括針對增大的安全風險或先前出現(xiàn)的風險的指示監(jiān)測所述計算裝置,并且響應于確定存在增大的安全風險執(zhí)行第二類型的分析操作,其中第二類型的分析操作與第一類型的分析操作相比是更加計算密集的。
在一個實施例中,執(zhí)行第一類型的分析操作可以包括執(zhí)行輕量分析操作,并且執(zhí)行第二類型的分析操作可以包括執(zhí)行穩(wěn)健分析操作。在另一實施例中,執(zhí)行穩(wěn)健分析操作可以包括識別不同于經由輕量分析操作檢測到的增大的安全風險的另一安全風險。在另一實施例中,針對增大的安全風險或先前出現(xiàn)的風險的指示監(jiān)測所述計算裝置可以包括針對來自另一計算裝置的指示增大的安全風險的通知消息監(jiān)測所述計算裝置。
在另一實施例中,針對增大的安全風險或先前出現(xiàn)的風險的指示監(jiān)測所述計算裝置可以包括監(jiān)測內部計算、文件、功能性行為和數(shù)據(jù)存取請求中的一或多個。在另一實施例中,針對增大的安全風險或先前出現(xiàn)的風險的指示監(jiān)測所述計算裝置可以包括監(jiān)測所述計算裝置以識別與非良性動作相關聯(lián)的數(shù)據(jù)模式。在另一實施例中,針對增大的安全風險或先前出現(xiàn)的風險的指示監(jiān)測所述計算裝置可以包括針對惡意代碼感染的常見后果監(jiān)測所述計算裝置。在另一實施例中,針對惡意代碼感染的常見后果監(jiān)測所述計算裝置可以包括執(zhí)行以下項中的一個:監(jiān)測在時間周期中發(fā)送的收費短信的數(shù)量;監(jiān)測與惡意行為相關聯(lián)的網站的流量的增大;監(jiān)測在時間周期中傳送的地址簿聯(lián)系人的數(shù)量;監(jiān)測在時間周期中密碼修改的數(shù)量;以及監(jiān)測裝置配置的改變。
在另一實施例中,所述方法可以包括響應于確定存在增大的安全風險產生包括風險信息的通知消息,并且將所述通知消息發(fā)送到一或多個計算裝置。在另一實施例中,所述方法可以包括從另一計算裝置中接收包括風險信息的通知消息,并且基于包括在接收到的通知消息中的風險信息確定存在增大的安全風險。在另一實施例中,基于包括在接收到的通知消息中的風險信息確定存在增大的安全風險可以包括至少部分地基于發(fā)送接收到的通知消息的另一計算裝置之間的距離確定存在增大的安全風險,其中所述距離包括以下項中的一或多個:物理距離、檢測到的安全風險與接收到的通知消息之間的時間差、網絡分離距離、計算裝置已經重啟的次數(shù)、軟件應用程序已經更新的次數(shù)、軟件版本之間的差異,以及發(fā)射計算裝置與接收計算裝置之間的制造、模型、版本、特征或硬件差異。
在另一實施例中,執(zhí)行輕量分析操作可以包括:監(jiān)測裝置行為以收集行為信息;基于所收集的行為信息產生行為向量數(shù)據(jù)結構;將行為向量數(shù)據(jù)結構應用到精益分類器模型以獲取第一裝置行為是否是非良性的確定;并且響應于確定第一裝置行為是非良性的而確定存在增大的安全風險。在另一實施例中,執(zhí)行穩(wěn)健分析操作可以包括執(zhí)行計算裝置的全掃描。
在另一實施例中,執(zhí)行穩(wěn)健分析操作可以包括將行為向量數(shù)據(jù)結構應用到完整分類器模型以獲取另一安全風險是否存在于計算裝置中的確定。在另一實施例中,執(zhí)行穩(wěn)健分析操作可以包括監(jiān)測額外裝置行為以收集額外行為信息、基于所收集的額外行為信息產生多個行為向量數(shù)據(jù)結構,并且將多個行為向量數(shù)據(jù)結構中的每一個應用到分類器模型。在另一實施例中,響應于確定存在增大的安全風險執(zhí)行穩(wěn)健分析操作可以包括在動態(tài)地確定的時間周期中執(zhí)行穩(wěn)健分析操作。在另一實施例中,所述方法可以包括基于計算裝置與第二計算裝置之間的距離動態(tài)地確定時間周期。
另外的實施例可以包括計算裝置,所述計算裝置具有用于執(zhí)行對應于上文所論述的方法操作的功能的各種裝置(例如,處理器、存儲器等),包括:用于執(zhí)行第一類型的分析操作以確定是否存在增大的安全風險的裝置,第一類型的分析操作包括針對增大的安全風險或先前出現(xiàn)的風險的指示監(jiān)測所述計算裝置;以及用于響應于確定存在增大的安全風險執(zhí)行第二類型的分析操作的裝置,其中第二類型的分析操作與第一類型的分析操作相比是更加計算密集的。在一個實施例中,用于執(zhí)行第一類型的分析操作的裝置可以包括用于執(zhí)行輕量分析操作的裝置,并且用于執(zhí)行第二類型的分析操作的裝置可以包括用于執(zhí)行穩(wěn)健分析操作的裝置。在另一實施例中,用于執(zhí)行穩(wěn)健分析操作的裝置可以包括用于識別不同于經由輕量分析操作檢測到的增大的安全風險的另一安全風險的裝置。
另外的實施例可以包括計算裝置,所述計算裝置具有配置有處理器可執(zhí)行軟件指令的處理器以執(zhí)行操作,所述操作包括執(zhí)行第一類型的分析操作以確定是否存在增大的安全風險,第一類型的分析操作包括針對增大的安全風險或先前出現(xiàn)的風險的指示監(jiān)測所述計算裝置,并且響應于確定存在增大的安全風險執(zhí)行第二類型的分析操作,其中第二類型的分析操作與第一類型的分析操作相比是更加計算密集的。
在一個實施例中,處理器可以配置有處理器可執(zhí)行軟件指令以執(zhí)行操作使得執(zhí)行第一類型的分析操作包括執(zhí)行輕量分析操作,并且執(zhí)行第二類型的分析操作包括執(zhí)行穩(wěn)健分析操作。在另一實施例中,處理器可以配置有處理器可執(zhí)行軟件指令以執(zhí)行操作使得執(zhí)行穩(wěn)健分析操作包括識別不同于經由輕量分析操作檢測到的增大的安全風險的另一安全風險。在另一實施例中,處理器可以配置有處理器可執(zhí)行軟件指令以執(zhí)行操作使得執(zhí)行輕量分析操作包括:監(jiān)測裝置行為以收集行為信息;基于所收集的行為信息產生行為向量數(shù)據(jù)結構;將行為向量數(shù)據(jù)結構應用到精益分類器模型以獲取第一裝置行為是否是非良性的確定;并且響應于確定第一裝置行為是非良性的確定存在增大的安全風險。
在另一實施例中,處理器可以配置有處理器可執(zhí)行軟件指令以執(zhí)行操作使得執(zhí)行穩(wěn)健分析操作包括:監(jiān)測額外裝置行為以收集額外行為信息;基于所收集的額外行為信息產生多個行為向量數(shù)據(jù)結構;并且將多個行為向量數(shù)據(jù)結構中的每一個應用到分類器模型。在另一實施例中,處理器可以配置有處理器可執(zhí)行軟件指令以執(zhí)行進一步包括以下項的操作:從另一計算裝置中接收包括風險信息的通知消息;并且基于包括在接收到的通知消息中的風險信息以及計算裝置與發(fā)送接收到的通知消息的另一計算裝置之間的距離確定存在增大的安全風險。
另外的實施例可以包括非暫時性計算機可讀存儲媒體,在所述非暫時性計算機可讀存儲媒體上存儲有處理器可執(zhí)行軟件指令,所述處理器可執(zhí)行軟件指令經配置以使得計算裝置的處理器執(zhí)行包括以下項的操作:執(zhí)行第一類型的分析操作以確定是否存在增大的安全風險,第一類型的分析操作包括針對增大的安全風險或先前出現(xiàn)的風險的指示監(jiān)測所述計算裝置;以及響應于確定存在增大的安全風險執(zhí)行第二類型的分析操作,其中第二類型的分析操作與第一類型的分析操作相比是更加計算密集的。
在一個實施例中,所存儲的處理器可執(zhí)行軟件指令可經配置以使得處理器執(zhí)行操作,使得執(zhí)行第一類型的分析操作包括執(zhí)行輕量分析操作,并且執(zhí)行第二類型的分析操作包括執(zhí)行穩(wěn)健分析操作。在另一實施例中,所存儲的處理器可執(zhí)行軟件指令可經配置以使得處理器執(zhí)行操作,使得執(zhí)行穩(wěn)健分析操作包括識別不同于經由輕量分析操作檢測到的增大的安全風險的另一安全風險。在另一實施例中,所存儲的處理器可執(zhí)行軟件指令可經配置以使得處理器執(zhí)行進一步包括以下項的操作:從另一計算裝置中接收包括風險信息的通知消息;并且基于包括在接收到的通知消息中的風險信息以及到發(fā)送接收到的通知消息的另一計算裝置的距離確定存在增大的安全風險。
另外的實施例可以包括計算裝置,所述計算裝置具有處理器,所述處理器配置有處理器可執(zhí)行指令以執(zhí)行對應于上文所論述的方法的各種操作。另外的實施例可以包括具有用于執(zhí)行對應于上文所論述的方法操作的功能的各種裝置的計算裝置。另外的實施例可以包括非暫時性處理器可讀存儲媒體,在所述非暫時性處理器可讀存儲媒體上存儲有處理器可執(zhí)行指令,所述處理器可執(zhí)行指令經配置以使得處理器執(zhí)行對應于上文所論述的方法操作的各種操作。
附圖說明
并入本文中并且構成本說明書一部分的附圖說明本發(fā)明的例示性實施例,并且與上文給出的一般描述和下文給出的詳細描述一起用來解釋本發(fā)明的特征。
圖1是說明適合用于各種實施例中的實例電信系統(tǒng)的網絡組件的通信系統(tǒng)框圖。
圖2是說明在一個實施例移動裝置中的實例邏輯組件和信息流的框圖,所述移動裝置經配置以確定特定移動裝置行為、軟件應用程序或過程是否是性能降級、可疑或良性的。
圖3是說明根據(jù)一個實施例在計算裝置中執(zhí)行行為分析的方法的過程流程圖。
圖4是說明在移動裝置中產生精益分類器模型的另一實施例移動裝置方法的過程流程圖。
圖5是根據(jù)一個實施例可以產生并且用于產生精益分類器模型的實例決策節(jié)點的說明。
圖6是說明根據(jù)一個實施例用于在計算裝置中執(zhí)行自適應觀測的方法的過程流程圖。
圖7是適合在一個實施例中使用的移動裝置的組件框圖。
圖8是適合在一個實施例中使用的服務器裝置的組件框圖。
具體實施方式
將參考附圖詳細描述各種實施例。在可能的情況下,整個附圖中將使用相同的參考標號來指代相同或相似零件。對特定實例和實施方案進行的參考是出于說明性目的,且不希望限制本發(fā)明或權利要求書的范圍。
詞語“示例性”在本文中使用意指“充當實例、例子或說明”。本文中描述為“示例性”的任何實施方案未必應解釋為比其它實施方案優(yōu)選或有利。
總而言之,各種實施例包括有效地識別、歸類、建模、防止和/或校正通常隨時間推移而降級計算裝置的性能、功率利用水平、網絡使用水平、安全性和/或保密性的狀況和行為的方法以及經配置以實施所述方法的計算裝置。計算裝置可經配置以執(zhí)行第一類型的分析操作(例如,輕量分析操作)以確定是否存在增大的安全風險,并且響應于確定存在增大的安全風險而執(zhí)行第二類型的分析操作(例如,穩(wěn)健分析操作)以便確定是否存在不同于經由第一類型的分析操作的性能檢測到的安全風險的額外的安全風險。
已經觀測到當計算裝置已經通過非良性行為(例如,發(fā)生故障的存儲器、惡意代碼、未授權的訪問等)的一個例子受損時,可以存在非良性行為的其它例子,并且計算裝置可能易受其它形式的惡意代碼的影響以及未經授權方的攻擊,例如,通過非良性行為啟用的或告知計算裝置的弱點。還觀測到的是當裝置受到惡意代碼影響時,更加有可能下載或執(zhí)行其它類型的惡意代碼和/或嘗試通過惡意代碼感染其它計算裝置。鑒于這些觀測,計算裝置可經配置以使用輕量過程執(zhí)行第一類型的分析操作以監(jiān)測和分析各種狀況和裝置行為以在所述計算裝置中檢測非良性活動、行為、操作、動作、狀況、事件、應用程序或過程(共同地“行為”)的例子。計算裝置可響應于檢測到非良性行為的一個例子而增大其執(zhí)行將警示非良性行為的其它例子的第二類型的分析操作的安全等級或審查。
增大安全等級或審查可涉及使用特征檢測技術運行重量或計算密集行為分析和掃描引擎、在計算裝置中收集更詳細的行為信息、使用更加穩(wěn)固的分類器模型來執(zhí)行觀測到的裝置行為的加強分析等。舉例來說,增大安全等級/審查可以包括:執(zhí)行至少一個測試以確定裝置是否具有隱匿程序(rootkit);執(zhí)行至少一個測試以確定裝置是否具有木馬(trojan);執(zhí)行至少一個測試以確定裝置是否具有不希望的軟件;并且查閱與裝置相關聯(lián)的事件的歷史以確定是否存在不希望的事件的指示、軟件的更新或警示消息的產生。在一個實施例中,計算裝置可經配置以響應于識別非良性行為的例子通知增大安全風險的所選計算裝置。在一個實施例中,計算裝置可經配置以響應于從另一計算裝置中接收增大安全風險的通知增大其安全/審查等級。
在一個實施例中,計算裝置可以配備有通信模塊、基于行為的安全模塊、風險檢測模塊、掃描模塊和致動器模塊。通信模塊可經配置以將安全風險信息發(fā)送到所選的其它計算裝置(例如,非常接近于所述裝置的計算裝置)以及從所選的其它計算裝置中接收安全風險信息、與類似于所述計算裝置配備的計算裝置共享資源等。風險檢測模塊可經配置以執(zhí)行第一類型的分析操作,所述第一類型的分析操作可以包括使用從其它計算裝置接收的風險信息和/或由裝置的基于行為的安全模塊產生的分析信息以確定是否存在增大的安全風險。響應于確定存在增大的安全風險,掃描模塊可執(zhí)行第二類型的分析操作,所述第二類型的分析操作可以包括執(zhí)行加強分析操作(例如,通過運行計算密集型全掃描過程、收集更多信息、使用更加穩(wěn)固的分類器模型等)以識別裝置中的非良性行為的其它例子。全掃描可以包括使用常規(guī)的惡意代碼掃描技術來分析大量的文件以識別非良性行為的其它例子。如果在所述計算裝置中檢測到非良性行為的其它例子,那么計算裝置可以告知其它裝置增大的安全風險,并且使得致動器模塊執(zhí)行各種安全操作以校正、緩解或以其它方式響應于在所述裝置中的所識別的非良性行為的原因或來源。
在一個實施例中,計算裝置可經配置以執(zhí)行包括使用精益分類器模型的輕量分析操作以評估在所述裝置上操作的所選過程直至檢測到非良性行為的單個例子為止。計算裝置可響應于檢測到非良性行為的例子切換到完整分類器模型并且評估在裝置上操作的所有過程。計算裝置可保持在這種加強分析模式中(并且因此繼續(xù)執(zhí)行更加穩(wěn)固的分析操作)達靜態(tài)地或動態(tài)地確定的時間周期。計算裝置還可以告知其它類似計算裝置(例如,經由云中的網絡服務器等)非良性行為的檢測到的例子以便使得那些裝置進入加強的分析模式。計算裝置或網絡服務器可基于多種因素識別將被告知的非良性行為的檢測到的例子的“類似”計算裝置,例如所述裝置是否配備有基于行為的安全系統(tǒng)、包括相同版本的操作系統(tǒng)、已經下載了相同的軟件應用程序、具有類似作用(例如,裝置由在伊拉克的軍隊使用等)、訂閱保險費服務等。
在一個實施例中,計算裝置可經配置以執(zhí)行包括使用輕量過程和/或精益分類器模型的輕量分析操作(例如,第一類型的分析操作)以連續(xù)或重復地評估所選擇的裝置行為;使用這些評估的結果更新風險參數(shù)的值,并且切換到執(zhí)行包括使用重量過程和/或完整分類器模型的穩(wěn)健分析操作(例如,第二類型的分析操作)以評估大量的裝置行為達風險參數(shù)的值超過閾值時的時間周期。在各種實施例中,計算裝置可經配置以基于“距離”確定風險參數(shù)值、閾值和/或時間周期。這種距離可以是當前裝置與檢測到非良性行為的例子的裝置(即,受影響的裝置)之間的物理距離。替代地或此外,距離可以是自檢測到非良性行為的例子起經過的時間的量、計算裝置已經重啟的次數(shù)、軟件應用程序已經更新的次數(shù)、軟件版本之間的差異、發(fā)射計算裝置與接收計算裝置之間的制造/模型/版本/特征/硬件差異等。所述距離還可以是識別在當前裝置與受影響的裝置之間的中間節(jié)點或組件的數(shù)量的網絡距離,或識別在當前裝置與受影響的裝置之間的配置、用途、作用、所使用的服務等中的相似度的邏輯距離。
因此,各種實施例允許計算裝置執(zhí)行包括使用輕量低功率過程的輕量分析操作(例如,第一類型的分析操作)以重復或連續(xù)地監(jiān)測裝置的風險,并且當存在加強的安全風險時執(zhí)行更加穩(wěn)固的掃描、監(jiān)測和分析操作(例如,第二類型的分析操作)。這通過改善計算裝置的性能和功率消耗特征而改善了計算裝置的機能。另外,通過與其它計算裝置共享風險信息,每個計算裝置可以與在每個裝置中執(zhí)行加強分析相比快的多的且以較低功率消耗識別性能限制和不希望的操作狀況并且對其做出反應。這進一步改善了計算裝置的機能。
計算裝置的功能、功能性和/或機能的額外的改善從下文所提供的實施例的詳細描述中是顯而易見的。
術語“移動計算裝置”和“移動裝置”在本文中互換地使用以指代以下各項中的任何一者或全部:蜂窩式電話、智能電話、個人或移動多媒體播放器、個人數(shù)據(jù)助理(pda)、膝上型計算機、平板計算機、智能本、超級本、掌上型計算機、無線電子郵件接收器、具多媒體互聯(lián)網功能的蜂窩式電話、無線游戲控制器,以及包括存儲器和可編程處理器的類似的個人電子裝置,對于所述電子裝置性能是重要的,并且所述電子裝置在電池電源下運行使得節(jié)約電力的方法是有益的。雖然各種實施例對于移動計算裝置(例如,具有有限的資源且通過電池運行的智能電話)是尤其有用的,但是實施例通常在包括處理器且執(zhí)行應用程序的任何電子裝置中都是有用的。
術語“性能降級”在本申請中用于指代多種多樣的計算裝置的不希望的操作和特性,例如較長處理時間、較慢實時響應性、較低的電池壽命、私人數(shù)據(jù)的損失、惡意經濟活動(例如,發(fā)送未經授權的收費短信)、拒絕服務(dos)、不充分地編寫或設計的軟件應用程序、惡意軟件、惡意代碼、病毒、分段存儲器、涉及強占計算裝置或利用所述裝置從事間諜或僵尸網絡活動的操作等。并且,出于這些原因中的任一個的降級性能的行為、活動和狀況在本文中被稱作“不是良性”或“非良性”。
一般而言,移動裝置的性能和功率效率隨時間推移降級。近年來,殺毒軟件公司(例如,mcafee、symantec等)已經開始營銷旨在減緩這種降級的手機殺毒軟件、防火墻和加密產品。然而,這些解決方案中的許多解決方案依賴于移動裝置上的計算密集型掃描引擎的周期性執(zhí)行(或執(zhí)行全掃描),這可能消耗移動裝置的許多處理和電池資源、減緩移動裝置或使得移動裝置無用達很長一段時間,和/或另外使用戶體驗降級。另外,這些解決方案通常限制在檢測已知的病毒和惡意代碼,且并不解決通常結合以導致移動裝置的隨時間推移的降級的多個復雜的因素和/或相互作用(例如,當性能降級并不是由病毒或惡意代碼引起的時)。出于這些和其它原因,現(xiàn)有殺毒軟件、防火墻和加密產品并不提供可以勝任以下問題的解決方案:識別可以造成移動裝置隨時間推移降級的多個因素、防止移動裝置降級或者有效恢復老化的移動裝置到其初始狀態(tài)。
移動裝置是具有相對地受限制的處理、存儲器和能量資源的資源受限制的系統(tǒng)?,F(xiàn)代移動裝置還是復雜的系統(tǒng),并且存在可能造成移動裝置隨時間推移的性能和功率利用水平的降級的多種多樣的因素,包括不充分地設計的軟件應用程序、惡意代碼、病毒、分段存儲器、后臺進程等。由于這些因素的數(shù)量、種類和復雜度,通常來說評估可能有助于現(xiàn)代移動裝置的復雜而又資源受限制的系統(tǒng)的性能和/或功率利用水平的降級的所有因素是并不可行的。
為了克服現(xiàn)有解決方案的限制,各種實施例包括配備有行為監(jiān)視和分析系統(tǒng)的計算裝置,所述系統(tǒng)經配置以快速且高效地識別非良性軟件應用程序(例如,惡意的、不良寫入的、與裝置不兼容的應用程序等),且防止這些應用程序使計算裝置的性能、功率利用水平、網絡使用水平、安全性和/或隱私隨時間而降級。所述行為監(jiān)視和分析系統(tǒng)可經配置以識別、防止且校正所識別的問題而對計算裝置的響應性、性能或電力消耗特性沒有顯著、不利或用戶可察覺的影響。
為了進一步改善性能,計算裝置可經配置以與其它計算裝置結合工作以智能地且有效地確定它們是否易受非良性行為的影響,例如,惡意代碼、網絡攻擊、發(fā)生故障的軟件等。多個計算裝置中的每一個可經配置以執(zhí)行輕量安全操作(例如,基于行為的觀測和分析操作等)以識別具有造成計算裝置隨時間推移的降級的高潛力的軟件應用程序或過程。此類基于行為的操作可以包括觀測器過程、后臺程序、模塊或子系統(tǒng)(本文中統(tǒng)稱為“模塊”),這些模塊在計算裝置系統(tǒng)的各種水平處指示或協(xié)調各種應用程序編程接口(api),并且從所指示的api中收集行為信息。
觀測器模塊可以將所收集的行為信息傳送(例如,經由存儲器寫入操作、函數(shù)調用等)到計算裝置的行為提取器模塊(例如,經由存儲器寫入操作等),所述模塊可使用行為信息(即,通過觀測器模塊所收集的信息)以產生表示或表征裝置行為的行為向量。每個行為向量可以為包括或囊封一或多個“行為特征”的信息結構。行為特征可以為表示在計算裝置中觀測到的事件、狀況、活動、操作、關系、相互作用或行為的全部或一部分的抽象的數(shù)字或符號。每個行為特征可以與識別一系列可能值的數(shù)據(jù)類型以及可以在那些值、值的含義和其它類似信息上執(zhí)行的操作相關聯(lián)。數(shù)據(jù)類型可以由計算裝置使用以確定應當如何測量、分析、加權或使用對應的行為特征(或特征值)。
行為提取器模塊可以(例如,經由存儲器寫入操作、函數(shù)調用等)將所產生的行為向量傳送到分析儀模塊,所述分析儀模塊可以將行為向量應用到分類器模型以確定應用程序的裝置行為是否是非良性的。分類器模型可以為包括數(shù)據(jù)、表項、決策節(jié)點、決策標準和/或信息結構的行為模型,所述信息結構可以由裝置處理器使用以快速地且有效地測試或評估特定的特征、因素、數(shù)據(jù)點、表項、api、狀態(tài)、狀況、行為、軟件應用程序、過程、操作、組件等(本文中統(tǒng)稱為“特征”)或裝置行為的其它實施例。分類器模型還可以包括可以由裝置處理器使用以確定軟件應用程序之間關系的本質和/或在計算裝置中所監(jiān)測的行為的信息。
每個分類器模型可以分類為完整分類器模型或精益分類器模型。完整分類器模型可以為穩(wěn)固數(shù)據(jù)模型,所述數(shù)據(jù)模型是作為大量訓練數(shù)據(jù)集的函數(shù)產生的,其可以包括數(shù)千特征和數(shù)十億表項。精益分類器模型可以為更為集中的數(shù)據(jù)模型,所述數(shù)據(jù)模型由簡化數(shù)據(jù)集產生,所述簡化數(shù)據(jù)集包括或優(yōu)先考慮與確定特定計算裝置行為是否是非良性的最為相關的特征/表項上的測試。本地分類器模型可以為在計算裝置中產生的精益分類器模型。裝置特定的分類器模型可以為包括集中數(shù)據(jù)模型的本地分類器模型,所述集中數(shù)據(jù)模型僅包括/測試計算裝置特定的特征/表項,所述特征/表項被確定為與在所述特定裝置中對活動或行為進行分類最為相關。應用程序特定的分類器模型可以為包括集中數(shù)據(jù)模型的本地分類器模型,所述集中數(shù)據(jù)模型包括或優(yōu)先考慮在與確定特定軟件應用程序(或特定類型的軟件應用程序)是否是非良性的最為相關的特征/表項上的測試。
因此,分析儀模塊可以將行為向量應用到分類器模型以確定特定計算裝置行為、軟件應用程序或過程是否是非良性的。裝置處理器可隨后執(zhí)行各種操作以校正、治愈、解決、隔離或者另外修復所識別的問題(例如,確定為非良性的行為)。裝置處理器還可以增大其安全/審查等級以識別在所述裝置中的非良性行為的其它例子,并且通知其它計算裝置增大的安全風險。
在一個實施例中,計算裝置可經配置以增大它們的相應的安全/審查等級達在識別非良性行為的例子或從另一裝置中接收風險信息之后的時間周期或持續(xù)時間,并且在第一時間周期/持續(xù)時間之后返回到正常監(jiān)測和分析操作。計算裝置可經配置以使用精益分類器模型以評估裝置行為直至識別到非良性行為的第一例子、在識別到非良性行為的第一例子之后開始使用完整分類器模型達第一時間周期/持續(xù)時間,并且如果沒有識別到非良性行為的額外的例子,那么在第一時間周期/持續(xù)時間之后恢復回到使用精益分類器模型。此時間周期/持續(xù)時間可以是固定持續(xù)時間或基于度量動態(tài)地確定的,所述度量例如先前分類為良性的行為向量的數(shù)量、檢測到的惡意代碼的置信級、檢測到的非良性行為的關鍵性或嚴重程度等。
在一個實施例中,可以動態(tài)地確定加強的安全/審查的時間周期/持續(xù)時間使得它與到初始受影響裝置的距離成反比。這種距離可以是當前裝置與檢測到非良性行為的例子的裝置(即,受影響的裝置)之間的物理距離。所述距離還可以是或替代地是識別在當前裝置與受影響的裝置之間的中間節(jié)點或組件的數(shù)量的網絡距離,或識別在當前裝置與受影響的裝置之間的配置、用途、作用、所使用的服務等中的相似度的邏輯距離。
在一個實施例中,計算裝置可經配置以建立或連接包括多個預篩選或信任的計算裝置的信任網絡。在各種實施例中,建立或接合信任網絡可以包含每個計算裝置執(zhí)行群組形成操作,所述操作包含另外經由同級間、wifi直接或其它類似技術建立到其它計算裝置的通信鏈路。計算裝置還可以經由共享安全網絡、企業(yè)虛擬專用網絡和其它類似技術或群組分類連接。在一個實施例中,信任網絡可以包含是相同網絡或具有直接通信鏈路的計算裝置。信任網絡中的每個計算裝置可經配置以執(zhí)行合作學習操作,所述操作包含與信任網絡中的其它計算裝置共享風險信息、行為向量、分類器模型、分析操作的結果以及其它類似信息。
在一個實施例中,計算裝置經配置以與服務器結合工作以更有效地對通常隨時間推移而降低性能和/或功率利用水平的狀況和/或行為進行識別、分類、建模、防止和/或校正。服務器(可以是通信網絡中的服務器或可經由互聯(lián)網訪問的服務器)可經配置以從中心數(shù)據(jù)庫(例如,“云”)中和/或從許多計算裝置中接收關于各種風險水平、功能、狀態(tài)、狀況、特征、行為和校正性動作的信息,并且使用這些信息以產生完整分類器模型(即,數(shù)據(jù)或行為模型),所述模型以可以快速地轉換成一或多個精益分類器模型的格式或結構(例如,有限狀態(tài)機等)描述行為信息的大型語料庫。
在一個實施例中,完整分類器模型可以是行為信息的大型語料庫的有限狀態(tài)機描述或表示。在一個實施例中,有限狀態(tài)機可以包括適用于表達為多個節(jié)點、增強型決策樹或各自測試一或多個特征的決策柱的信息。舉例來說,有限狀態(tài)機可以是可以表示為增強的決策柱的家族的信息結構,所述增強的決策柱的家族共同地識別、描述、測試或評估與確定計算裝置行為是否是良性的或造成計算裝置的性能隨時間推移而降級相關的所有或許多的特征和數(shù)據(jù)點。服務器可隨后將完整或精益分類器模型(即,包括有限狀態(tài)機和/或增強的決策柱的家族等的信息結構)發(fā)送到計算裝置。
計算裝置可經配置以接收和使用這些分類器模型以識別、防止和/或校正造成計算裝置的性能和/或功率利用水平隨時間推移而降低的狀況、因素和/或計算裝置行為。計算裝置還可以使用分類器模型以在計算裝置中本地產生更加精益的分類器模型。為了實現(xiàn)這一點,計算裝置可以刪除或剔除包含于從服務器接收的分類器模型中的增強的決策樹的穩(wěn)固家族以產生包括減少數(shù)量的增強型決策樹的更加精益的分類器模型和/或評估有限數(shù)量的測試狀況或特征。計算裝置可隨后使用這種分類器模型以執(zhí)行實時行為監(jiān)測和分析操作并且識別不希望的來源或原因或性能降級計算裝置行為。
計算裝置處理器可經配置以執(zhí)行輕量分析操作以確定是否存在增大的安全風險,并且響應于確定存在增大的安全風險而執(zhí)行穩(wěn)健分析操作。輕量分析操作可以包括針對增大的安全風險或先前出現(xiàn)的風險的指示監(jiān)測所述裝置。在一個實施例中,這可以通過針對來自另一計算裝置的通知消息監(jiān)測裝置而實現(xiàn)。舉例來說,計算裝置可經配置以將行為向量信息結構應用到精益分類器模型、使用輕量過程以監(jiān)測和分析各種狀況和裝置行為,并且針對包括風險信息的通知消息監(jiān)測端口。計算裝置可以響應于接收包括指示升高的風險的風險信息的通知消息而執(zhí)行穩(wěn)健分析操作(例如,計算裝置附近的另一裝置已經感染了病毒)。
在一些實施例中,計算裝置處理器可經配置以執(zhí)行包括識別增大的安全風險/威脅的指示的輕量分析操作,方法是:監(jiān)測內部計算、文件、功能性行為、數(shù)據(jù)存取請求等;監(jiān)測所述裝置以識別與非良性動作相關聯(lián)的數(shù)據(jù)模式;針對惡意代碼感染的常見后果監(jiān)測所述裝置;和/或執(zhí)行其它類似操作。為了識別惡意代碼的常見后果,所述計算裝置可以監(jiān)測在時間周期中發(fā)送的收費短信的數(shù)量;監(jiān)測與惡意活動/行為相關聯(lián)的網站的流量的增大;監(jiān)測在時間周期中傳送的地址簿聯(lián)系人的數(shù)量;監(jiān)測在時間周期中密碼已經被修改的次數(shù);監(jiān)測計算裝置的配置的改變(例如,改變的數(shù)量、改變的頻率、改變的重要性/程度等);和/或執(zhí)行其它類似操作。
各種實施例可以在多種通信系統(tǒng)(例如,圖1中所說明的實例通信系統(tǒng)100)內實施。典型小區(qū)電話網絡104包括多個小區(qū)基站106,所述小區(qū)基站耦接到網絡操作中心108,所述網絡操作中心操作以連接移動裝置102(例如,蜂窩電話、膝上型計算機、平板計算機等)與其它網絡目的地之間的語音呼叫和數(shù)據(jù),例如,經由電話陸地線路(例如,pots網絡,未示出)和互聯(lián)網110。移動裝置102與電話網絡104之間的通信可以經由雙向無線通信鏈路112實現(xiàn),所述雙向無線通信鏈路例如是4g、3g、cdma、tdma、lte和/或其它小區(qū)電話通信技術。電話網絡104還可以包括耦合到網絡操作中心108或在網絡操作中心108內的一或多個服務器114,所述一或多個服務器提供到互聯(lián)網110的連接。
每個移動裝置102可經配置以與系統(tǒng)100中的其它移動裝置102共享風險信息、行為向量、數(shù)據(jù)/行為模型、實時行為分析操作的結果、成功速率和其它類似信息。移動裝置102之間的通信可以通過直接或同級間通信鏈路122、電話網絡104或經由互聯(lián)網110實現(xiàn)。
通信系統(tǒng)100可以進一步包括連接到電話網絡104及互聯(lián)網110的網絡服務器116。網絡服務器116與電話網絡104之間的連接可以通過互聯(lián)網110或通過專用網絡(如虛線箭頭所示)。網絡服務器116還可實施為云服務提供商網絡118的網絡基礎結構內的服務器。網絡服務器116與移動裝置102之間的通信可以通過電話網絡104、互聯(lián)網110、專用網絡(未示出)或其任何組合實現(xiàn)。
在一個實施例中,網絡服務器116可經配置以將數(shù)據(jù)/行為模型發(fā)送到移動裝置102,所述移動裝置可以接收和使用所述數(shù)據(jù)/行為模型以識別可疑或性能降級的移動裝置行為、軟件應用程序、過程等。網絡服務器116還可以將分類和建模信息發(fā)送到移動裝置102以替換、更新、形成和/或維持移動裝置數(shù)據(jù)/行為模型。
圖2說明在一個實施例移動計算裝置102中的實例邏輯組件和信息流,所述移動計算裝置包括經配置以使用行為分析技術來識別和響應于非良性裝置行為的基于行為的安全系統(tǒng)200。在圖2中說明的實例中,計算裝置是移動計算裝置102,其包括配置有包含行為觀測器模塊202、行為提取器模塊204、行為分析儀模塊208和致動器模塊210的可執(zhí)行指令模塊的裝置處理器(即,移動裝置處理器)。模塊202-210中的每一個可以為線程、過程、后臺程序、模塊、子系統(tǒng),或在軟件、硬件或其組合中實施的組件。在各種實施例中,模塊202-210可在操作系統(tǒng)的部分內(例如,內核內、內核空間中、用戶空間中等)、單獨程序或應用程序內、專用硬件緩沖器或處理器中或其任何組合內實施。在一個實施例中,模塊202-210中的一或多個可以實施為在移動計算裝置102的一或多個處理器或處理核心上執(zhí)行的軟件指令。
行為觀測器模塊202可經配置以在裝置的各種層級/模塊處儀表化應用程序編程接口(api)、計數(shù)器、硬件監(jiān)測器等,且監(jiān)測在一時間周期內在各種層級/模塊處的活動、狀況、操作和事件(例如,系統(tǒng)事件、狀態(tài)改變等)。舉例來說,行為觀測器模塊202可以經配置以監(jiān)測移動計算裝置102的各種軟件和硬件組件,以及收集關于相互作用、通信、交易、事件或與移動計算裝置102的活動相關聯(lián)的所監(jiān)測的和可測量的組件的操作的行為信息。此類活動包括軟件應用程序使用硬件組件、操作或任務的性能、軟件應用程序在移動計算裝置102的處理核心中的執(zhí)行、過程的執(zhí)行、任務或操作的性能、裝置行為等。
行為觀測器模塊202可以收集關于所監(jiān)測的活動、狀況、操作或事件的行為信息,并且將所收集的信息存儲在存儲器中(例如,在日志文件中等)。行為觀測器模塊202可隨后將所收集的行為信息傳送(例如,經由存儲器寫入操作、函數(shù)調用等)到行為提取器模塊204。行為提取器模塊204可經配置以接收或檢索所收集的行為信息,并且使用這一信息以產生一或多個行為向量。
在各種實施例中,行為提取器模塊204可經配置以產生行為向量以包括軟件應用程序的所觀測到的行為、關系或相互作用的簡潔定義。舉例來說,每個行為向量可以在值或向量數(shù)據(jù)結構中簡明地描述軟件應用程序的共同行為。向量數(shù)據(jù)結構可以包括編號的序列,其中的每一個表示裝置的特征或行為,例如,計算裝置的相機是否在使用中(例如,作為零或一)、已經從計算裝置中傳輸多少網絡流量或多少網絡流量通過計算裝置產生(例如,20kb/秒等)、已經傳送多少互聯(lián)網消息(例如,sms消息的數(shù)量等),和/或通過行為觀測器模塊202收集的任何其它行為信息。在一個實施例中,行為提取器模塊204可經配置以產生行為向量使得它們充當標識符,所述標識符使得計算裝置系統(tǒng)(例如,行為分析儀模塊208)能夠快速地認出、識別或分析應用程序之間的關系。
行為分析儀模塊208還可經配置以將行為向量應用于分類器模塊以確定裝置行為(即,在裝置上運行的兩個或大于兩個軟件應用程序的共同活動)是否是造成(或可能地造成)裝置的隨時間推移的降級和/或可能另外在裝置上造成問題的非良性行為。行為分析儀模塊208可以通知致動器模塊210活動或行為不是良性的。作為響應,致動器模塊210可以執(zhí)行各種動作或操作以治愈、解決、隔離或者修復所識別的問題。舉例來說,致動器模塊210可經配置以在將行為向量應用于分類器模型(例如,通過分析儀模塊)的結果指示軟件應用程序的共同行為并不是良性的時停止或終止軟件應用程序中的一或多個。
在各種實施例中,行為觀測器模塊202可經配置以監(jiān)測移動計算裝置102的活動,方法是收集關于應用程序框架或運行時間庫中的庫應用程序編程接口(api)調用、系統(tǒng)調用api、文件系統(tǒng)和網絡連接子系統(tǒng)操作、裝置(包括傳感器裝置)狀態(tài)改變和其它類似事件的信息。另外,行為觀測器模塊202可以監(jiān)測文件系統(tǒng)活動,文件系統(tǒng)活動可以包括搜索文件名稱、文件存取的類別(個人信息或普通數(shù)據(jù)文件)、創(chuàng)建或刪除文件(例如,類型exe、zip等)、文件讀取/寫入/尋找操作、改變文件許可等。
行為觀測器模塊202也可以通過監(jiān)測數(shù)據(jù)網絡活動監(jiān)測移動計算裝置102的活動,其可以包括裝置所連接到的連接、協(xié)議、端口號、服務器/客戶端的類型、連接的數(shù)量、通信的容積或頻率等。行為觀測器模塊202可以監(jiān)測電話網絡活動,其可以包括監(jiān)測發(fā)出、接收或攔截的呼叫或消息(例如,sms等)的類型和數(shù)量(例如,撥打的收費呼叫的數(shù)量)。
行為觀測器模塊202也可以通過監(jiān)測系統(tǒng)資源使用來監(jiān)測移動計算裝置102的活動,其可以包括監(jiān)測叉路的數(shù)量、存儲器存取操作、文件打開的數(shù)量等。行為觀測器模塊202可以監(jiān)測移動計算裝置102的狀態(tài),其可以包括監(jiān)測各種因素,例如,顯示器是否是開啟或關閉的、裝置是否是鎖定或解鎖的、剩余的電池的量、相機的狀態(tài)等。行為觀測器模塊202也可以監(jiān)測過程間通信(ipc),例如,監(jiān)測到關鍵服務(瀏覽器、合同提供商等)的意圖、過程間通信的程度、彈出窗口等。
行為觀測器模塊202也可以通過監(jiān)測一或多個硬件組件的驅動器統(tǒng)計數(shù)據(jù)和/或狀態(tài)來監(jiān)測移動計算裝置102的活動,這些硬件組件可以包括相機、傳感器、電子顯示器、wifi通信組件、數(shù)據(jù)控制器、存儲器控制器、系統(tǒng)控制器、存取端口、計時器、外圍裝置、無線通信組件、外部存儲器芯片、電壓調節(jié)器、振蕩器、鎖相環(huán)、外圍橋接和用于支持在移動計算裝置102上運行的處理器和客戶端的其它類似組件。
行為觀測器模塊202也可以通過監(jiān)測一或多個硬件計數(shù)器來監(jiān)測移動計算裝置102的活動,所述硬件計數(shù)器表示移動計算裝置102和/或計算裝置子系統(tǒng)的狀態(tài)或情況。硬件計數(shù)器可以包括經配置以存儲發(fā)生在移動計算裝置102中的硬件相關活動或事件的計數(shù)值或狀態(tài)的處理器/核心的特殊目的寄存器。
行為觀測器模塊202也可以通過監(jiān)測軟件應用程序的動作或操作、從應用程序下載服務器(例如,
行為觀測器模塊202也可以通過監(jiān)測移動計算裝置102的傳輸或通信來監(jiān)測移動計算裝置102的活動,所述通信包括包含以下項的通信:語音郵件(voicemailcomm)、裝置標識符(deviceidcomm)、用戶帳戶信息(useraccountcomm)、日歷信息(calendarcomm)、位置信息(locationcomm)、所記錄的音頻信息(recordaudiocomm)、加速計信息(accelerometercomm)等。
行為觀測器模塊202也可以通過監(jiān)測指南針信息、計算裝置設置、電池壽命、陀螺儀信息、壓力傳感器、磁傳感器、屏幕活動等的使用和更新/改變來監(jiān)測移動計算裝置102的活動。行為觀測器模塊202可以監(jiān)測傳送到軟件應用程序(appnotification)和來自軟件應用程序(appnotification)的通知、應用程序更新等。行為觀測器模塊202可以監(jiān)測關于第一軟件應用程序的狀況或事件,所述第一軟件應用程序請求第二軟件應用程序的下載和/或安裝。行為觀測器模塊202可以監(jiān)測關于用戶驗證的狀況或事件,例如,密碼的輸入等。
行為觀測器模塊202也可以通過監(jiān)測在移動計算裝置102的多個層級處的狀況或事件來監(jiān)測移動計算裝置102的活動,所述移動計算裝置102的多個層級包括應用程序層級、無線電層級和傳感器層級。應用程序層級觀測可以包括經由面部辨識軟件來觀測用戶、觀測社交流、觀測用戶輸入的筆記、觀測關于
無線電層級觀測可以包括在建立無線電通信鏈路或傳輸信息、雙重/多個訂戶識別模塊(sim)卡、互聯(lián)網無線電、移動電話網絡共享、為了計算卸載數(shù)據(jù)、裝置狀態(tài)通信、作為游戲控制器或家庭控制器的使用、媒介通信、計算裝置同步等之前確定與移動計算裝置102的用戶交互中的任何一個或多個的出現(xiàn)、存在或數(shù)量。無線電層級觀測還可以包括監(jiān)測無線電(wifi、wimax、藍牙等)的使用以用于定位、同級間(p2p)通信、同步、媒介間通信和/或機器間(m2m)。無線電層級觀測可以進一步包括監(jiān)測網絡流量使用、統(tǒng)計數(shù)據(jù)或配置文件。
傳感器層級觀測可以包括監(jiān)測磁傳感器或其它傳感器以確定移動計算裝置102的使用和/或外部環(huán)境。舉例來說,計算裝置處理器可經配置以確定裝置是否在皮套中(例如,經由經配置以感測皮套內磁體的磁傳感器)或在用戶的口袋中(例如,經由通過相機或光傳感器檢測到的光的量)。檢測移動計算裝置102在皮套中可以與識別可疑行為相關,舉例來說,因為與通過用戶的活躍使用相關的活動和功能(例如,拍攝照片或視頻、發(fā)送消息、進行語音呼叫、記錄聲音等)在移動計算裝置102裝在皮套中的同時發(fā)生可以是在裝置上執(zhí)行違法過程(例如,跟蹤或監(jiān)視用戶)的征兆。
與使用或外部環(huán)境相關的傳感器層級觀測的其它實例可以包括:檢測近場通信(nfc)信令、從信用卡掃描儀、條形碼掃描儀或移動標簽讀取器中收集信息、檢測通用串行總線(usb)電力充電源的存在、檢測已經耦合到移動計算裝置102的鍵盤或輔助裝置、檢測移動計算裝置102已經耦合到另一計算裝置(例如,經由usb等)、確定led、閃光、手電筒或光源是否已經是經修改或停用的(例如,惡意停用緊急信令應用程序等)、檢測揚聲器或麥克風已經開啟或供電、檢測充電或電源事件、檢測移動計算裝置102被用作游戲控制器等。傳感器層級觀測還可以包括:從醫(yī)學或醫(yī)療傳感器中收集信息或者通過掃描用戶的身體收集信息、從插入到usb/音頻插孔中的外部傳感器中收集信息、從觸感或觸覺傳感器中收集信息(例如,經由振動器接口等)、收集關于移動計算裝置102的熱狀態(tài)的信息等。
為了減少監(jiān)測到可管理層級的因素的數(shù)量,在一個實施例中,行為觀測器模塊202可經配置以通過監(jiān)測/觀測行為或因素的初始集合來執(zhí)行粗略觀測,所述行為或因素的初始集合是可以造成計算裝置的降級的全部因素的較小子集。在一個實施例中,行為觀測器模塊202可以從云服務或網絡中的服務器和/或組件中接收行為和/或因素的初始集合。在一個實施例中,可以在機器學習分類器模型中指定行為/因數(shù)的初始集合。
每個分類器模型可以是包括數(shù)據(jù)和/或信息結構(例如,特征向量、行為向量、組件列表等)的行為模型,所述數(shù)據(jù)和/或信息結構可以由計算裝置處理器使用以評估計算裝置的行為的特定特征或實施例。每個分類器模型還可以包括用于監(jiān)測計算裝置中的多個特征、因素、數(shù)據(jù)點、表項、api、狀態(tài)、條件、行為、應用程序、過程、操作、組件等(本文中統(tǒng)稱為“特征”)的決策標準。分類器模型可以預先安裝在計算裝置上、從網絡服務器中下載或接收、產生于計算裝置中,或其任何組合。分類器模型可以通過使用眾包解決方案、行為模擬技術、機器學習算法等產生。
每個分類器模型可以分類為完整分類器模型或精益分類器模型。完整分類器模型可以為穩(wěn)固數(shù)據(jù)模型,所述數(shù)據(jù)模型是作為大量訓練數(shù)據(jù)集的函數(shù)產生的,其可以包括數(shù)千特征和數(shù)十億表項。精益分類器模型可以是從簡化數(shù)據(jù)集中產生的更集中的數(shù)據(jù)模型,其僅包括/測試與用于確定特定活動是否是進行中的關鍵活動和/或特定計算裝置行為是否并不是良性的最為相關的特征/表項。作為一個實例,裝置處理器可以是可經配置以從網絡服務器中接收完整分類器模型、在計算裝置中基于完整分類器產生精益分類器模型,并且使用本地產生的精益分類器模型來將裝置的行為分類為良性或非良性的(即,惡意、性能降低等)。
本地產生的精益分類器模型是產生于計算裝置中的精益分類器模型。也就是說,由于現(xiàn)代計算裝置(例如,移動裝置等)是高度可配置的且復雜的系統(tǒng),所以用于確定特定裝置行為是否是非良性的(例如,惡意或性能降低)的最重要特征在每個裝置中可以是不同的。另外,可能需要在每個裝置中監(jiān)測和/或分析特征的不同組合以便所述裝置快速地且有效地確定特定行為是否為非良性的。然而,需要監(jiān)測和分析的特征的精確組合和每個特征或特征組合的相對優(yōu)先級或重要性通常僅可以使用從其中行為待監(jiān)測或分析的特定的裝置中獲得的信息來確定的。出于這些和其它原因,各種實施例可以在其中使用模型的計算裝置中產生分類器模型。這些本地分類器模型使得裝置處理器能夠準確地識別在確定特定的裝置上的行為是否是非良性的(例如,造成裝置性能降級)中最重要的特定特征。本地分類器模型還允許裝置處理器根據(jù)特征的相對重要性將所測試或評估的特征優(yōu)先化以對所述特定裝置中的行為進行分類。
裝置特定的分類器模型是包括集中數(shù)據(jù)模型的分類器模型,所述集中數(shù)據(jù)模型僅包括/測試計算裝置特定的特征/表項,所述特征/表項被確定為與在特定計算裝置中對活動或行為進行分類最為相關。應用程序特定的分類器模型是包括集中數(shù)據(jù)模型的分類器模型,所述集中數(shù)據(jù)模型僅包括/測試與用于評估特定軟件應用程序最為相關的特征/表項。通過在計算裝置中本地地動態(tài)地產生應用程序特定的分類器模型,各種實施例使得裝置處理器能夠將其監(jiān)測和分析操作集中于用于確定特定軟件應用程序的操作是否有助于該裝置的不希望的或性能降級行為的最重要的少量特征。
多應用程序分類器模型可以是包括集中數(shù)據(jù)模型的本地分類器模型,所述集中數(shù)據(jù)模型包括或優(yōu)先化關于與用于確定兩個或大于兩個特定軟件應用程序(或特定類型的軟件應用程序)的共同行為是非良性的最為相關的特征/表項的測試。多應用程序分類器模型可以包括測試/評估特征的聚集的集合的聚集特征集合和/或決策節(jié)點。裝置處理器可經配置以產生多應用程序分類器模型,方法是:識別用于識別在計算裝置上運行的兩個或大于兩個軟件應用程序之間的關系、相互作用和/或通信的最為相關的裝置特征、識別評估所識別的裝置特征中的一個的測試條件、確定所識別的測試條件的優(yōu)先級、重要性或成功率、根據(jù)它們的重要性或成功率優(yōu)先化或排序所識別的測試條件,并且產生分類器模型以包括所識別的測試條件使得它們是根據(jù)它們的所確定的優(yōu)先級、重要性或成功率排序的。裝置處理器還可經配置以通過組合兩個或大于兩個應用程序特定的分類器模型產生多應用程序分類器模型。
在各種實施例中,裝置處理器可經配置以響應于確定兩個或大于兩個應用程序是串通或協(xié)同工作的或應用程序應當作為一組一起得到分析而產生多應用程序分類器模型。裝置處理器可經配置以產生用于應用程序的每個所識別群組或類別的多應用程序分類器模型。然而,分析每個群組可能消耗大量的裝置的有限的資源。因此,在一個實施例中,裝置處理器可經配置以確定應用程序參與串通行為的概率(例如,基于其與其它應用程序的相互作用等),并且僅針對包括存在高概率的串通行為的軟件應用程序的群組智能地產生分類器模型。
行為分析儀模塊208可經配置以將由行為提取器模塊204產生的行為向量應用于分類器模型以確定所監(jiān)測的活動(或行為)是否是良性或非良性的。在一個實施例中,當行為的行為分析操作的結果并不能提供將行為分類為良性或非良性的足夠的信息時行為分析儀模塊208可以將行為分類為“可疑”。
行為分析儀模塊208可經配置以響應于識別串通軟件應用程序、確定某些應用程序應當被評估為一組和/或響應于確定所監(jiān)測的活動或行為是可疑的而通知行為觀測器模塊202。作為響應,行為觀測器模塊202可調整其觀測的間隔尺寸(即,監(jiān)測到計算裝置特征的詳細的層級)和/或改變基于從行為分析儀模塊208接收的信息(例如,實時分析操作的結果)監(jiān)測的應用程序/因素/行為,產生或收集新的或額外的行為信息,并且發(fā)送新的/額外的信息到行為分析儀模塊208以用于進一步的分析/分類。
行為觀測器模塊202與行為分析儀模塊208之間的此類反饋通信使得移動計算裝置102能夠以遞歸方式增大觀測的間隔尺寸(即,進行更加細致或更加詳細的觀測)或改變所觀測到的特征/行為直至共同行為被分類為良性或非良性的、識別可疑或性能降級行為的來源為止;直至達到處理或電池消耗閾值為止;或直至裝置處理器確定可疑或性能降級裝置行為的來源無法通過觀測間隔尺寸的進一步的改變、調整或增大來識別為止。此類反饋通信還使得移動計算裝置102能夠調整或修改行為向量和分類器模型而不會消耗過量的計算裝置的處理、存儲器或能源資源。
行為觀測器模塊202和行為分析儀模塊208可單獨地或共同地提供計算系統(tǒng)的行為的實時行為分析以從有限的且粗略的觀測中識別可疑行為、以動態(tài)地確定行為以更詳細地觀測,并且以動態(tài)地確定觀測所需要的詳細的層級。這使得移動計算裝置102能夠有效地識別和防止問題而無需裝置上的大量的處理器、存儲器或電池資源。
在各種實施例中,移動計算裝置102的裝置處理器可經配置以識別需要密切監(jiān)測的關鍵數(shù)據(jù)資源、監(jiān)測(例如,經由行為觀測器模塊202)當存取關鍵數(shù)據(jù)資源時軟件應用程序所進行的api調用、識別api調用的模式為指示通過兩個或大于兩個軟件應用程序的非良性行為、基于api調用的所識別的模式和資源使用產生行為向量、使用行為向量來執(zhí)行行為分析操作(例如,經由行為分析儀模塊208),并且基于行為分析操作確定軟件應用程序中的一或多個是否是非良性的。
在一個實施例中,裝置處理器可經配置以識別通過在計算裝置運行的軟件應用程序使用的最頻繁的api、存儲關于在裝置的存儲器中的api記錄中的所識別的熱門api的使用的信息,并且基于存儲在api記錄中的信息執(zhí)行行為分析操作以識別非良性行為。
在各種實施例中,移動計算裝置102可經配置以結合網絡服務器工作以智能地且有效地識別與確定活動或行為是否是非良性的最相關的特征、因素和數(shù)據(jù)點。舉例來說,裝置處理器可經配置以從網絡服務器接收完整分類器模型,并且使用接收到的完整分類器模型來產生特定針對于在裝置上運行的計算裝置或軟件應用程序的特征和功能性的精益分類器模型(即,數(shù)據(jù)/行為模型)。裝置處理器可使用完整分類器模型來產生不同復雜度水平(或“精益度”)的精益分類器模型的家族??梢猿R?guī)地應用精益分類器模型的最精益家族(即,基于最少數(shù)量的測試條件的精益分類器模型)直至遇到模型無法將其分類為良性或非良性(并且因此被模型分類為可疑)的行為,此時可以應用更加穩(wěn)固(即,不太精益)的精益分類器模型以嘗試對行為進行分類??梢詰迷谒黾易宓乃a生精益分類器模型內的甚至更加穩(wěn)固的精益分類器模型的應用直至實現(xiàn)行為的確定性分類。以此方式,裝置處理器可以通過將最完整但是資源密集型精益分類器模型的使用限制于其中需要穩(wěn)固分類器模型以確定性地對行為進行分類的那些情況而在效率與準確性之間形成平衡。
在各種實施例中,裝置處理器可經配置以通過將包含于完整分類器模型中的有限狀態(tài)機表示/表達轉換到增強的決策柱中產生精益分類器模型。裝置處理器可基于裝置特定的特征、條件或配置刪除或挑選增強的決策柱的完整集合以產生包括包含于完整分類器模型中的增強的決策柱的子集的分類器模型。裝置處理器可隨后使用精益分類器模型以智能地監(jiān)測、分析和/或對計算裝置行為進行分類。
增強的決策柱是具有恰好一個節(jié)點(并且因此一個測試問題或測試條件)和權重值的一個層級決策樹,并且因此較適合于在數(shù)據(jù)/行為的二進制分類中使用。也就是說,將行為向量應用于增強的決策柱引起二進制回答(例如,是或否)。舉例來說,如果通過增強的決策柱測試的問題/條件是“短消息服務(sms)傳輸?shù)念l率小于每分鐘x”,那么將“3”的值應用于增強的決策柱將引起“是”的回答(對于“小于3”的sms傳輸)或“否”的回答(對于“3或大于3的”sms傳輸)。
增強的決策柱是高效的因為它們是非常簡單且原始的(并且因此并不需要相當大的處理資源)。增強的決策柱也是非常可并行化的,并且因此許多柱可以并行/同時應用或測試(例如,通過計算裝置中的多個核心或處理器)。
在一個實施例中,裝置處理器可經配置以產生包括分類器標準的子集的精益分類器模型,所述分類器標準的子集包含于完整分類器模型中并且僅那些分類器標準對應于與計算裝置配置、功能性和連接的/包括的硬件相關的特征。裝置處理器可以使用這一精益分類器模型來僅監(jiān)測存在或與裝置相關的那些特征和功能。裝置處理器可隨后周期性修改或重新產生精益分類器模型以基于計算裝置的當前狀態(tài)和配置包括或去除各種特征和對應的分類器標準。
作為一個實例,裝置處理器可經配置以接收包含與行為模型(例如,分類器)的完整特征集合相關聯(lián)的決策柱的大型增強的決策柱分類器模型,并且從大型分類器模型中導出一或多個精益分類器模型,方法是僅從與計算裝置的當前配置、功能性、操作狀態(tài)和/或連接的/包含的硬件相關的大型分類器模型中選擇特征,并且在精益分類器模型中包含對應于所選擇的特征的增強的決策柱的子集。在此實施例中,對應于與計算裝置相關的特征的分類器標準可以是包含于測試所選擇的特征中的至少一個的大型分類器模型中的那些增強的決策柱。裝置處理器可隨后周期性地修改或重新產生增強的決策柱精益分類器模型以基于計算裝置的當前狀態(tài)和配置包含或去除各種特征以使得精益分類器模型繼續(xù)包含應用程序特定的或裝置特定的特征增強的決策柱。
此外,裝置處理器也可以動態(tài)地產生應用程序特定的分類器模型,所述應用程序特定的分類器模型識別與特定的軟件應用程序(
在各種實施例中,裝置處理器可經配置以針對在系統(tǒng)中的每個軟件應用程序和/或針對在系統(tǒng)中的每種類型的軟件應用程序產生基于應用程序的分類器模型。所述裝置處理器還可經配置以動態(tài)地識別高風險或易受濫用影響的軟件應用程序和/或應用程序類型(例如,金融應用程序、銷售點應用程序、生物計量傳感器應用程序等),并且產生基于應用程序的分類器模型以僅用于被識別為高風險或易受濫用影響的軟件應用程序和/或應用程序類型。在各種實施例中,裝置處理器可經配置以動態(tài)地、反應性地、主動地和/或每次安裝或更新新應用程序時產生基于應用程序的分類器模型。
每個軟件應用程序通常在計算裝置上執(zhí)行多個任務或活動。在其中某些任務/活動在計算裝置中執(zhí)行的特定的執(zhí)行狀態(tài)可以是行為或活動是否有益于額外的或更接近的審查、監(jiān)測和/或分析的較強指示。因而,在各種實施例中,裝置處理器可經配置以使用識別實際執(zhí)行狀態(tài)的信息,在實際執(zhí)行狀態(tài)中執(zhí)行某些任務/活動以集中其行為監(jiān)測和分析操作,并且更好的確定活動是否是關鍵活動和/或活動是否是非良性的。
在各種實施例中,裝置處理器可經配置以使通過軟件應用程序執(zhí)行的活動/任務與其中執(zhí)行那些活動/任務的執(zhí)行狀態(tài)相關聯(lián)。舉例來說,裝置處理器可經配置以產生行為向量,所述行為向量包括從監(jiān)測子向量或數(shù)據(jù)結構中的所指示的組件中收集的行為信息,所述行為信息列出了執(zhí)行狀態(tài)與之相關的軟件的特征、活動或操作(例如,位置存取、sms讀取操作、傳感器存取等)。在一個實施例中,這一子向量/數(shù)據(jù)結構可以結合識別其中觀測到每個特征/活動/操作的執(zhí)行狀態(tài)的陰影特征值子向量/數(shù)據(jù)結構來存儲。作為一個實例,裝置處理器可產生包括“l(fā)ocation_background”數(shù)據(jù)字段的行為向量,當裝置處理器在背景狀態(tài)中運行時所述數(shù)據(jù)字段的值識別軟件應用程序存取位置信息的數(shù)量或速率。這使得裝置處理器能夠分析此執(zhí)行狀態(tài)信息而不不依賴于計算裝置的其它所觀測到的/所監(jiān)測的活動和/或與計算裝置的其它所觀測到的/所監(jiān)測的活動并行。以此方式產生行為向量還可以使得系統(tǒng)能夠隨時間推移聚集信息(例如,頻率或速率)。
在各種實施例中,裝置處理器可經配置以產生行為向量以包括可以輸入到機器學習分類器中的決策節(jié)點的信息以產生對關于監(jiān)測活動的查詢的回答。
在各種實施例中,裝置處理器可經配置以產生行為向量以包括執(zhí)行信息。執(zhí)行信息可以包含于行為向量中作為行為的一部分(例如,通過后臺過程相機在3秒中使用5次,通過前臺過程相機在3秒中使用3次等)或者作為獨立特征的一部分。在一個實施例中,執(zhí)行狀態(tài)信息可以包含于行為向量中作為陰影特征值子向量或數(shù)據(jù)結構。在一個實施例中,行為向量可存儲與同執(zhí)行狀態(tài)相關的特征、活動、任務相關聯(lián)的陰影特征值子向量/數(shù)據(jù)結構。
圖3說明根據(jù)一個實施例的分析計算裝置中的行為的方法的方法300。在塊302中,計算裝置的硬件模塊或處理器可以執(zhí)行輕量分析操作以確定是否存在非良性行為的例子。在確定塊304中,硬件模塊或處理器可以基于在塊302中執(zhí)行輕量分析操作的結果確定是否存在增大的安全風險。響應于基于輕量分析操作確定不存在增大的安全風險(即,確定塊304=“否”),在確定塊308中硬件模塊或處理器可以確定是否已經從另一計算裝置中接收指示存在增大的安全風險的消息。響應于確定未接收到此類消息(即,確定框304和308=“否”),在302塊中硬件模塊或處理器可以繼續(xù)執(zhí)行輕量分析操作。
響應于基于輕量分析操作確定存在增大的安全風險(即,確定塊304=“是”),例如響應于檢測到非良性行為,在306塊中硬件模塊或處理器可以發(fā)送消息到其它計算裝置以通知它們增大的安全風險,并且在310塊中執(zhí)行更加穩(wěn)固的分析操作。響應于從另一計算裝置中接收指示存在增大的安全風險的消息(即,確定塊308=“是”)在310塊中計算裝置還可以執(zhí)行更加穩(wěn)固的分析操作。在塊310中執(zhí)行更加穩(wěn)固的分析操作可以包括運行重量或計算密集型掃描引擎或過程、使用特征檢測技術、收集裝置中的更詳細的行為信息、使用更加穩(wěn)固的分類器模型來執(zhí)行加強分析操作等。
在一個實施例中,在塊310中執(zhí)行更加穩(wěn)固的分析操作的同時,硬件模塊或處理器可以監(jiān)測自識別到非良性行為的另一例子起的時間(或響應于來自另一計算裝置的消息當初始更加穩(wěn)固的分析時識別到的任何非良性行為)。如果在限定的時間量內沒有觀測到非良性行為的其它例子(或例子),那么硬件模塊或處理器可以恢復到正常層級的審查以節(jié)省處理資源。處理器可以在其之后返回到執(zhí)行輕量分析操作的所限定的時間周期可以是預定義時間周期或動態(tài)地確定的時間周期。預定義時間周期可以由裝置制造商、服務提供商(例如,部分的裝置供應信息)或安全服務(例如,通過安全服務的服務器傳送到計算裝置)限定。動態(tài)地確定的時間周期可以基于可用于計算裝置的信息通過計算裝置的處理器來確定。舉例來說,基于非良性行為的檢測到的本質或數(shù)量時間周期可以增大或減小。因此,如果硬件模塊或處理器檢測到對計算裝置具有相對地嚴重的影響或指示易受攻擊的非良性行為,那么硬件模塊或處理器可以動態(tài)地增大將執(zhí)行更加穩(wěn)固的分析操作的所限定的時間周期。類似地,如果識別到若干非良性行為,那么處理器可以動態(tài)地增大將執(zhí)行更加穩(wěn)固的分析操作的所限定的時間周期。另一方面,如果所識別的非良性行為是輕微本質的或不大可能使得計算裝置易受攻擊,那么硬件模塊或處理器可以動態(tài)地減小將執(zhí)行更加穩(wěn)固的分析操作的所限定的時間周期。當響應于從另一計算裝置中接收消息(即,確定塊308=“是”)在塊310中執(zhí)行穩(wěn)健分析操作時,硬件模塊或處理器可以動態(tài)地確定將基于計算裝置與第二計算裝置之間的距離執(zhí)行更加穩(wěn)固的分析操作的時間周期。因此,作為在塊310中的操作的部分可以包括動態(tài)地確定將基于安全風險的本質執(zhí)行更加穩(wěn)固的分析操作的所限定的時間周期、所識別的非良性行為例子的數(shù)量、所識別的非良性行為的本質或嚴重程度和/或計算裝置與第二計算裝置之間的距離。
圖4說明使用精益分類器模型以對計算裝置的行為進行分類的實施例方法400。在各種實施例中,方法400可以執(zhí)行為輕量分析操作的部分或穩(wěn)健分析操作的部分。在塊402中,計算裝置的處理器或處理核心可以執(zhí)行觀測以從在裝置系統(tǒng)的各種層級處所指示的各種組件中收集行為信息。在一個實施例中,這可以經由上文參考圖2所論述的行為觀測器模塊202實現(xiàn)。在塊404中,處理核心可以產生表征觀測、所收集的行為信息和/或移動裝置行為的行為向量。另外,在塊404中,處理核心可以使用從網絡服務器中接收的完整分類器模型以產生不同復雜度水平(或“精益度”)的精益分類器模型或精益分類器模型的家族。在一個實施例中,處理核心可以通過剔除包含于完整分類器模型中的增強的決策柱的家族以產生包含減少的數(shù)量的增強的決策柱和/或評估有限數(shù)量的測試條件的精益分類器模型來實現(xiàn)這一點。
在塊406中,處理核心可以選擇在所述精益分類器模型的家族中的最精益的分類器(即,基于最少數(shù)量的不同的移動裝置狀態(tài)、特征、行為或條件的模型),但所述最精益的分類器尚未由移動裝置評估或應用。在一個實施例中,這可以通過選擇分類器模型的有序列表中的第一分類器模型的處理核心實現(xiàn)。
在塊408中,處理核心可以將所收集的行為信息或行為向量應用于所選擇的精益分類器模型中的每個增強的決策柱。因為增強的決策柱是二進制決策并且精益分類器模型是通過基于相同測試條件選擇許多二進制決策產生的,所以將行為向量應用于精益分類器模型中的增強的決策柱的過程可以在并行操作中執(zhí)行。替代地,行為向量可經截斷或過濾以僅包含有限數(shù)量的包含于精益分類器模型中的測試條件參數(shù),從而進一步減少應用所述模型時的計算努力。
在塊410中,處理核心可以計算或確定將所收集的行為信息應用于精益分類器模型中的每個增強的決策柱的結果的加權平均值。在塊412中,處理核心可以比較所計算的加權平均值與閾值。在確定塊414中,處理核心可以確定這一比較的結果和/或由應用所選擇的精益分類器模型產生的結果是否是可疑的。舉例來說,處理核心可以確定這些結果是否可用于以較高程度的置信度將行為分類為惡意或良性的,并且如果不是則將行為作為可疑的對待。
如果處理核心確定結果是可疑的(例如,確定塊414=“是”),那么處理核心可以重復在塊406-412中的操作以選擇和應用評估更多裝置狀態(tài)、特征、行為或條件的較強(即,不太精益)分類器模型直至行為以較高程度的置信度被分類為惡意或良性的為止。如果處理核心確定結果不是可疑的(例如,確定塊414=“否”),例如通過確定行為可以較高程度的置信度被分類為惡意或良性的,那么在塊416中,處理核心可以使用產生于塊412中的比較的結果以將移動裝置的行為分類為良性或潛在地惡意的。
在替代實施例方法中,上文所述的操作可以依序通過以下各項而實現(xiàn):選擇并非已經在精益分類器模型中的增強的決策柱;識別取決于與所選擇的決策柱相同的移動裝置狀態(tài)、特征、行為或條件(且因此可以基于一個確定結果應用)的全部其它增強的決策柱;在精益分類器模型中包含所選擇的和取決于相同移動裝置狀態(tài)、特征、行為或條件的全部所識別的其它增強的決策柱;并且以等于測試條件的所確定數(shù)量的次數(shù)重復所述過程。因為取決于與所選擇的增強的決策柱相同的測試條件的全部增強的決策柱每次被添加到精益分類器模型,所以限制執(zhí)行這一過程的次數(shù)將限制包含于精益分類器模型中的測試條件的數(shù)量。
圖5說明適用于各種實施例中的適用于產生增強的決策樹/分類器的實例增強方法500。在操作502中,處理器可以產生和/或執(zhí)行決策樹/分類器、從決策樹/分類器的執(zhí)行中收集訓練樣本,并且基于訓練樣本產生新的分類器模型(h1(x))。訓練樣本可以包括從移動裝置行為、軟件應用程序或移動裝置中的過程的先前觀測或分析中收集的信息。訓練樣本和/或新分類器模型(h1(x))可以基于包含于先前分類器中的問題的類型或測試條件和/或基于從行為分析儀模塊208的先前數(shù)據(jù)/行為模型或分類器的執(zhí)行/應用程序中收集的準確性或性能特性產生。在操作504中,處理器可以增強(或增大)通過所產生的決策樹/分類器(h1(x))錯分類的表項的加權以產生第二新樹/分類器(h2(x))。在一個實施例中,訓練樣本和/或新分類器模型(h2(x))可以基于分類器的先前執(zhí)行或使用(h1(x))的錯誤率而產生。在一個實施例中,訓練樣本和/或新分類器模型(h2(x))可以基于確定為造成分類器的先前執(zhí)行或使用中的錯誤率或數(shù)據(jù)點的錯分類的屬性而產生。
在一個實施例中,錯分類表項可以基于它們的相對準確性或有效性加權。在操作506中,處理器可以增強(或增大)通過所產生的第二樹/分類器(h2(x))錯分類的表項的加權以產生第三新樹/分類器(h3(x))。在操作508中,可重復504-506的操作以產生“t”數(shù)量的新樹/分類器(ht(x))。
通過增強或增大通過第一決策樹/分類器(h1(x))錯分類的表項的加權,第二樹/分類器(h2(x))可以更準確地對通過第一決策樹/分類器(h1(x))錯分類的實體進行分類,但是也可能對通過第一決策樹/分類器(h1(x))正確地分類的實體中的一些進行錯分類。類似地,第三樹/分類器(h3(x))可準確地對由第二決策樹/分類器(h2(x))錯分類的實體進行分類并且對通過第二決策樹/分類器(h2(x))正確地分類的實體中的一些進行錯分類。也就是說,產生樹/分類器h1(x)-ht(x)的家族可能未引起系統(tǒng)作為整體聚集,而是引起多個決策樹/分類器可以并行地執(zhí)行。
圖6說明根據(jù)一個實施例用于執(zhí)行動態(tài)和自適應觀測的實例方法600。在各種實施例中,方法600可以執(zhí)行為輕量分析操作的部分或穩(wěn)健分析操作的部分。在塊602中,移動裝置處理器(或處理核心)可以通過監(jiān)測/觀測可以造成移動裝置的降級的大量因素/行為的子集而執(zhí)行粗略觀測。在塊603中,移動裝置處理器可以基于粗略觀測產生表征粗略觀測和/或移動裝置行為的行為向量。在塊604中,移動裝置處理器可識別與粗略觀測相關聯(lián)的可能潛在地造成移動裝置的降級的子系統(tǒng)、過程和/或應用程序。舉例來說,這可以通過比較從多個來源接收的信息與從移動裝置的傳感器接收的情境信息而實現(xiàn)。在塊606中,移動裝置處理器可基于粗略觀測執(zhí)行行為分析操作。在一個實施例中,作為塊603和604的部分,移動裝置處理器可以執(zhí)行上文參考圖2-5所論述的操作中的一或多個。
在確定塊608中,移動裝置處理器可以確定可疑行為或潛在問題是否可以基于行為分析的結果得到識別和校正。當移動裝置處理器確定可疑行為或潛在問題可以基于行為分析的結果得到識別和校正時(即,確定塊608=“是”),在塊618中,處理器可以起始過程以校正行為并且返回到塊602以執(zhí)行額外的粗略觀測。
當移動裝置處理器確定可疑行為或潛在問題無法基于行為分析的結果得到識別和/或校正時(即,確定塊608=“否”),在確定塊609中移動裝置處理器可以確定是否存在問題的可能性。在一個實施例中,移動裝置處理器可以確定存在問題的可能性,方法是計算移動裝置遇到潛在問題和/或參與可疑行為的概率,并且確定計算出的概率是否大于預定閾值。當移動裝置處理器確定計算出的概率并不大于預定閾值和/或并不存在可疑行為或潛在問題存在和/或可檢測的可能性(即,確定塊609=“否”)時,處理器可以返回到塊602以執(zhí)行額外的粗略觀測。
當移動裝置處理器確定存在可疑行為或潛在問題存在和/或可檢測的可能性(即,確定塊609=“是”)時,在塊610中,移動裝置處理器可以執(zhí)行包括在所識別的子系統(tǒng)、過程或應用程序上執(zhí)行更深入的記錄/觀測或最終記錄的更加穩(wěn)固的分析操作。在塊612中,移動裝置處理器可在所識別的子系統(tǒng)、過程或應用程序上執(zhí)行更深入且更詳細的觀測。在塊614中,移動裝置處理器可以基于更深入且更詳細的觀測執(zhí)行進一步和/或更深入的行為分析。在確定塊608中,移動裝置處理器可以同樣確定可疑行為或潛在問題是否可以基于更深入的行為分析的結果得到識別和校正。當移動裝置處理器確定可疑行為或潛在問題無法基于更深入的行為分析的結果得到識別和校正時(即,確定塊608=“否”),處理器可以重復在塊610-614中的操作直至細節(jié)水平足夠精細以識別問題或直至確定所述問題無法通過額外的細節(jié)得到識別或不存在問題為止。
當移動裝置處理器確定可疑行為或潛在問題可以基于更深入的行為分析的結果得到識別和校正時(即,確定塊608=“是”),在塊618中,移動裝置處理器可以執(zhí)行操作以校正問題/行為,并且處理器可以返回到塊602以執(zhí)行額外的操作。
在一個實施例中,作為方法600的塊602-618的部分,移動裝置處理器可以執(zhí)行系統(tǒng)的行為的實時行為分析以從有限的且粗略的觀測中識別可疑行為、以動態(tài)地確定行為以更詳細地觀測,并且以動態(tài)地確定觀測所需要的細節(jié)的精確層級。這使得移動裝置處理器能夠有效地識別問題并且防止問題的發(fā)生,而無需使用裝置上的大量的處理器、存儲器或電池資源。
各種實施例可以在多種計算裝置上實施,在圖7中以智能電話的形式說明所述計算裝置的一個實例。智能電話700可以包括處理器702,所述處理器耦合到內部存儲器704、顯示器712和揚聲器714。另外,智能電話700可以包括用于發(fā)送和接收電磁輻射的天線,所述天線可連接到耦合到處理器702的無線數(shù)據(jù)鏈路和/或蜂窩式電話收發(fā)器708。智能電話700通常還包括用于接收用戶輸入的菜單選擇按鈕或搖臂開關720。
典型智能電話700還包括聲音編碼/解碼(codec)電路706,所述電路將從麥克風接收的聲音數(shù)字化為適合于無線發(fā)射的數(shù)據(jù)包,且解碼所接收的聲音數(shù)據(jù)包以產生提供到揚聲器以產生聲音的模擬信號。而且,處理器702、無線收發(fā)器708及編解碼器706中的一或多個可以包括數(shù)字信號處理器(dsp)電路(未單獨地示出)。
實施例方法的部分可以在客戶服務器架構中實現(xiàn),其中處理中的一些發(fā)生在服務器中,例如,維持普通操作性行為的數(shù)據(jù)庫,這可以通過移動裝置處理器存取同時執(zhí)行實施例方法。此類實施例可以在多種市售服務器裝置中的任一者上實施,例如,圖8中說明的服務器800。此類服務器800通常包括耦合到易失性存儲器802和例如磁盤驅動器803等大容量非易失性存儲器的處理器801。服務器800還可以包括軟盤驅動器、壓縮光盤(cd)或dvd光盤驅動器804,其耦合到處理器801。服務器800還可以包括網絡接入端口806,其耦合到處理器801以用于建立與網絡805(例如耦合到其它廣播系統(tǒng)計算機和服務器的局域網)的數(shù)據(jù)連接。
處理器702、801可為可通過軟件指令(應用程序)配置以執(zhí)行多種功能(包含下文所描述的各種實施例的功能)的任何可編程微處理器、微型計算機或多處理器芯片。在一些移動裝置中,可以提供多個處理器702,例如,一個處理器專用于無線通信功能,并且一個處理器專用于運行其它應用程序。通常,軟件應用程序在被存取及加載到處理器702、801中之前可存儲于內部存儲器704、802、803中。處理器702、801可以包括足以存儲應用程序軟件指令的內部存儲器。
在將來可使用或預期若干不同蜂窩式及移動通信服務及標準,其全部可實施并受益于各種實施例。此類服務及標準包括(例如)第三代合作伙伴計劃(3gpp)、長期演進(lte)系統(tǒng)、第三代無線移動通信技術(3g)、第四代無線移動通信技術(4g)、全球移動通信系統(tǒng)(gsm)、全球移動電信系統(tǒng)(umts)、3gsm、通用包無線電服務(gprs)、碼分多址(cdma)系統(tǒng)(例如,cdmaone、cdma1020tm)、gsm演進增強數(shù)據(jù)速率(edge)、高級移動電話系統(tǒng)(amps)、數(shù)字amps(is-136/tdma)、演進數(shù)據(jù)優(yōu)化(ev-do)、數(shù)字增強型無繩電信(dect)、全球微波接入互操作性(wimax)、無線局域網(wlan)、wi-fi安全訪問協(xié)議i&ii(wpa、wpa2),以及集成數(shù)字增強型網絡(iden)。這些技術中的每一個涉及(例如)語音、數(shù)據(jù)、信令和/或內容消息的發(fā)射及接收。應理解,對與個別電信標準或技術相關的術語及/或技術細節(jié)的任何參考是僅出于說明性目的,且并不意圖將權利要求書的范圍限制為特定通信系統(tǒng)或技術,除非在權利要求語言中具體敘述。
術語“性能降級”在本申請中用于指代多種多樣的不希望的移動裝置操作和特征,例如較長處理時間、較慢實時響應性、降低的電池壽命、私人數(shù)據(jù)的損失、惡意經濟活動(例如,發(fā)送未經授權的收費短信)、拒絕服務(dos)、與征用移動裝置或利用電話以用于間諜或僵尸網絡活動相關的操作等。
用于在可編程處理器上執(zhí)行以用于執(zhí)行各種實施例的操作的計算機程序代碼或“程序代碼”可以例如c、c++、c#、smalltalk、java、javascript、visualbasic、結構化查詢語言(例如,transact-sql)、perl或各種其它編程語言等高級編程語言編寫。存儲在計算機可讀存儲媒體上的程序代碼或程序如在本申請中所使用可以指機器語言代碼(例如,目標代碼),所述機器語言代碼的格式可由處理器理解。
許多移動計算裝置操作系統(tǒng)內核被組織到用戶空間(其中運行非特許代碼)和內核空間(其中運行特許代碼)中。這一分離在
上述方法描述和過程流程圖僅僅作為說明性實例提供,并且其并不意圖要求或暗示各種實施例的步驟必須以所呈現(xiàn)的順序進行。如所屬領域的技術人員將了解,可以任何次序執(zhí)行前述實施例中的步驟的次序。例如“此后”、“接著”、“接下來”等詞無意限制步驟的次序;這些詞僅用于引導讀者瀏覽對方法的描述。另外,舉例來說,使用冠詞“一”、“一個”或“所述”對單數(shù)形式的權利要求要素的任何參考不應被解釋為將所述要素限制為單數(shù)。
如本申請中所使用,術語“組件”、“模塊”、“系統(tǒng)”、“引擎”、“發(fā)生器”、“管理器”等等意圖包括計算機相關的實體,例如(但不限于)硬件、固件、硬件與軟件的組合、軟件或執(zhí)行中的軟件,其被配置成執(zhí)行特定操作或功能。舉例來說,組件可為但不限于在處理器上運行的過程、處理器、對象、可執(zhí)行程序、執(zhí)行線程、程序和/或計算機。借助于說明,在計算裝置上運行的應用程序以及所述計算裝置可被稱為組件。一或多個組件可以駐留在過程和/或執(zhí)行線程內,并且組件可以局部化于一個處理器或核心上和/或分布在兩個或大于兩個處理器或核心之間。另外,這些組件可以從具有存儲在其上的各種指令和/或數(shù)據(jù)結構的各種非暫時性計算機可讀媒體中執(zhí)行。組件可以借助于本地和/或遠程過程、功能或過程調用、電子信號、數(shù)據(jù)包、存儲器讀取/寫入和其它已知的網絡、計算機、處理器和/或過程相關通信方法進行通信。
結合本文揭示的實施例所描述的各種說明性邏輯塊、模塊、電路及算法步驟可實施為電子硬件、計算機軟件或兩者的組合。為了清楚地說明硬件與軟件的此可互換性,上文已大體上就其功能性來說描述了各種說明性組件、塊、模塊、電路和步驟。此類功能性是實施為硬件還是軟件取決于具體應用及強加于整個系統(tǒng)的設計約束。所屬領域的技術人員可以針對每一特定應用程序以不同方式來實施所描述的功能性,但此類實施方案決策不應被解釋為會導致脫離本發(fā)明的范圍。
用于實施結合本文中所揭示的實施例而描述的各種說明性邏輯、邏輯塊、模塊和電路的硬件可用以下各項來實施或執(zhí)行:通用處理器、數(shù)字信號處理器(dsp)、專用集成電路(asic)、現(xiàn)場可編程門陣列(fpga)或經設計以執(zhí)行本文中所描述的功能的其它可編程邏輯裝置、離散門或晶體管邏輯、離散硬件組件,或其任何組合。通用處理器可為多處理器,但在替代方案中,處理器可為任何常規(guī)的處理器、控制器、微控制器或狀態(tài)機。處理器也可以被實施為計算裝置的組合,例如,dsp和多處理器的組合、多個多處理器、一或多個多處理器結合dsp核心,或任何其它此類配置。替代地,可由特定地針對給定功能的電路來執(zhí)行一些步驟或方法。
在一或多個示例性實施例中,所描述的功能可以在硬件、軟件、固件或其任何組合中實施。如果在軟件中實施,那么所述功能可以作為一或多個處理器可執(zhí)行指令或代碼存儲在非暫時性計算機可讀儲存媒體或非暫時性處理器可讀存儲媒體上。本文揭示的方法或算法的步驟可體現(xiàn)于可駐留在非暫時性計算機可讀或處理器可讀存儲媒體上的處理器可執(zhí)行軟件模塊中。非暫時性計算機可讀或處理器可讀媒體可為可由計算機或處理器存取的任何存儲媒體。借助實例但非限制,此類非暫時性計算機可讀或處理器可讀媒體可包含ram、rom、eeprom、快閃存儲器、cd-rom或其它光盤存儲器、磁盤存儲器或其它磁性存儲裝置,或可用于以指令或數(shù)據(jù)結構的形式存儲所要的程序代碼且可由計算機存取的任何其它媒體。如本文中所使用的磁盤和光盤包括壓縮光盤(cd)、激光光盤、光學光盤、數(shù)字多功能光盤(dvd)、軟盤和藍光光盤,其中磁盤通常以磁性方式再現(xiàn)數(shù)據(jù),而光盤用激光以光學方式再現(xiàn)數(shù)據(jù)。以上各者的組合還包含在非暫時性計算機可讀和處理器可讀媒體的范圍內。另外,方法或算法的操作可作為代碼和/或指令中的一者或任何組合或集合而駐留在可并入到計算機程序產品中的非暫時性處理器可讀媒體和/或計算機可讀媒體上。
提供對所揭示的實施例的先前描述以使所屬領域的技術人員能夠制作或使用本發(fā)明。所屬領域的技術人員將容易了解對這些實施例的各種修改,且可在不脫離本發(fā)明的精神或范圍的情況下將本文定義的一般原理應用于其它實施例。因此,本發(fā)明并不意圖限于本文中所示的實施例,而應被賦予與隨附權利要求書和本文中所揭示的原理和新穎特征相一致的最廣泛范圍。