背景技術(shù):
近幾年來(lái),蜂窩技術(shù)和無(wú)線通信技術(shù)迅猛發(fā)展。無(wú)線服務(wù)供應(yīng)商現(xiàn)在提供大量特征和服務(wù),所述特征和服務(wù)向其用戶提供對(duì)信息、資源及通信的前所未有的水平的存取。為了與這些增強(qiáng)保持同步,個(gè)人和消費(fèi)型電子裝置(例如,蜂窩式電話、手表、頭戴受話器、遠(yuǎn)程控件等)變得前所未有的強(qiáng)大和復(fù)雜,且現(xiàn)在所述電子裝置通常包括強(qiáng)力的處理器、大型存儲(chǔ)器和允許在它們的裝置上執(zhí)行復(fù)雜和強(qiáng)力的軟件應(yīng)用程序的其它資源。
由于這些和其它改進(jìn),個(gè)人和消費(fèi)型電子裝置在現(xiàn)代生活中變得普遍存在,且具有對(duì)由其用戶產(chǎn)生或涉及其用戶的信息的前所未有的存取水平。另外,人們頻繁地使用其裝置來(lái)存儲(chǔ)敏感信息(例如,信用卡信息、聯(lián)系人等)和/或?qū)崿F(xiàn)安全性重要的任務(wù)。舉例來(lái)說(shuō),移動(dòng)裝置用戶頻繁地使用他們的裝置來(lái)購(gòu)買(mǎi)貨物、發(fā)送和接收敏感通信、支付賬單、管理銀行賬戶并且進(jìn)行其它涉密交易。由于這些趨勢(shì),個(gè)人和消費(fèi)型電子裝置快速地變成惡意軟件和網(wǎng)絡(luò)攻擊的下一前線。因而,更好的保護(hù)資源受限制的計(jì)算裝置(例如,移動(dòng)和無(wú)線裝置)的新的且改進(jìn)的安全解決方案將有利于消費(fèi)者。
技術(shù)實(shí)現(xiàn)要素:
各種實(shí)施例包含一種分析在計(jì)算裝置上操作的軟件應(yīng)用程序的活動(dòng)的方法,其包含:將從所述計(jì)算裝置的用戶輸入裝置接收的原始數(shù)據(jù)與在所述計(jì)算裝置中接收的用戶交互事件信息進(jìn)行比較以產(chǎn)生分析結(jié)果;以及使用所述產(chǎn)生的分析結(jié)果以確定用戶交互(ui)事件是否與所述計(jì)算裝置的用戶相關(guān)。在另一實(shí)施例中,從所述用戶輸入裝置接收的所述原始數(shù)據(jù)可包含從裝置驅(qū)動(dòng)器接收的原始數(shù)據(jù),且在所述計(jì)算裝置中接收的所述用戶交互事件信息可包含從所述計(jì)算裝置的高層級(jí)操作系統(tǒng)接收的交互信息。
在另一實(shí)施例中,所述方法可包含響應(yīng)于確定所述用戶交互事件不與所述計(jì)算裝置的用戶相關(guān)而將所述軟件應(yīng)用程序的所述活動(dòng)分類為非良性的。在另一實(shí)施例中,所述方法可包含:產(chǎn)生表征所述軟件應(yīng)用程序的所述活動(dòng)的行為向量;響應(yīng)于確定所述用戶交互事件不與所述計(jì)算裝置的用戶相關(guān)而將所述產(chǎn)生的行為向量應(yīng)用于可包含決策節(jié)點(diǎn)的分類器模型,所述決策節(jié)點(diǎn)評(píng)估是否存在對(duì)應(yīng)于所述活動(dòng)的用戶交互事件;以及使用將所述產(chǎn)生的行為向量應(yīng)用于所述分類器模型的結(jié)果以確定所述軟件應(yīng)用程序的所述活動(dòng)是否為非良性的。
在另一實(shí)施例中,所述方法可包含:產(chǎn)生表征所述軟件應(yīng)用程序的所述活動(dòng)的行為向量;響應(yīng)于確定所述用戶交互事件不與所述計(jì)算裝置的用戶相關(guān)而選擇不包含決策節(jié)點(diǎn)的分類器模型,所述決策節(jié)點(diǎn)測(cè)試是否存在對(duì)應(yīng)于所述活動(dòng)的用戶交互事件;將所述產(chǎn)生的行為向量應(yīng)用于所述選定分類器模型以產(chǎn)生額外分析結(jié)果;以及使用所述產(chǎn)生的額外分析結(jié)果以確定所述軟件應(yīng)用程序的所述活動(dòng)是否為非良性的。
在另一實(shí)施例中,所述方法可包含:響應(yīng)于確定所述用戶交互事件不與所述計(jì)算裝置的用戶相關(guān)而選擇一系列穩(wěn)健分類器模型;以及將多個(gè)行為向量應(yīng)用于所述選定系列的穩(wěn)健分類器模型以確定所述軟件應(yīng)用程序的所述活動(dòng)是否為非良性的。在另一實(shí)施例中,所述方法可包含:將從所述計(jì)算裝置的第一傳感器接收的原始數(shù)據(jù)與從所述計(jì)算裝置的第二傳感器接收的原始數(shù)據(jù)進(jìn)行比較以確定從所述第一傳感器接收的所述原始數(shù)據(jù)是否與從所述第二傳感器接收的所述原始數(shù)據(jù)一致,其中將從所述計(jì)算裝置的所述用戶輸入裝置接收的原始數(shù)據(jù)與在所述計(jì)算裝置中接收的所述用戶交互事件信息進(jìn)行比較以產(chǎn)生所述分析結(jié)果是響應(yīng)于確定從所述第一傳感器接收的所述原始數(shù)據(jù)與從所述第二傳感器接收的所述原始數(shù)據(jù)一致而執(zhí)行的。
在另一實(shí)施例中,將從所述第一傳感器接收的原始數(shù)據(jù)與從所述第二傳感器接收的所述原始數(shù)據(jù)進(jìn)行比較可包含比較將行為向量應(yīng)用于分類器模型的結(jié)果。在另一實(shí)施例中,從所述用戶輸入裝置接收的所述原始數(shù)據(jù)可包含從用戶輸入傳感器接收的原始數(shù)據(jù);在所述計(jì)算裝置中接收的所述用戶交互事件信息可包含從用于所述用戶輸入傳感器的裝置驅(qū)動(dòng)器接收的數(shù)據(jù);且使用所述產(chǎn)生的分析結(jié)果以確定所述用戶交互事件是否與所述計(jì)算裝置的用戶相關(guān)可包含響應(yīng)于從所述用戶輸入傳感器接收的所述原始數(shù)據(jù)不相關(guān)于從用于所述用戶輸入傳感器的所述裝置驅(qū)動(dòng)器接收的所述數(shù)據(jù)而確定所述用戶交互事件不與所述計(jì)算裝置的用戶相關(guān)。
在另一實(shí)施例中,所述用戶輸入傳感器可包含觸摸屏,且所述裝置驅(qū)動(dòng)器可包含觸摸屏裝置驅(qū)動(dòng)器。在另一實(shí)施例中,所述方法可包含響應(yīng)于確定所述用戶交互事件不與所述計(jì)算裝置的用戶相關(guān)而將所述軟件應(yīng)用程序的所述活動(dòng)分類為非良性的。在另一實(shí)施例中,所述方法可包含:產(chǎn)生表征所述軟件應(yīng)用程序的所述活動(dòng)的行為向量;響應(yīng)于確定所述用戶交互事件不與所述計(jì)算裝置的用戶相關(guān)而將所述產(chǎn)生的行為向量應(yīng)用于不包含決策節(jié)點(diǎn)的分類器模型,所述決策節(jié)點(diǎn)評(píng)估涉及與所述計(jì)算裝置的用戶交互的條件;以及使用將所述產(chǎn)生的行為向量應(yīng)用于所述分類器模型的結(jié)果以確定所述軟件應(yīng)用程序的所述活動(dòng)是否為非良性的。
另外的實(shí)施例可包含計(jì)算裝置,其具有處理器,所述處理器以處理器可執(zhí)行指令配置以執(zhí)行對(duì)應(yīng)于上文所論述的方法的各種操作。
另外的實(shí)施例可包含具有用于執(zhí)行對(duì)應(yīng)于上文所論述的方法操作的功能的各種裝置的計(jì)算裝置。
其它實(shí)施例可包含非暫時(shí)性處理器可讀存儲(chǔ)媒體,所述非暫時(shí)性處理器可讀存儲(chǔ)媒體在其上存儲(chǔ)有處理器可執(zhí)行指令,所述處理器可執(zhí)行指令經(jīng)配置以致使處理器執(zhí)行對(duì)應(yīng)于上文所論述的方法操作的各種操作。
附圖說(shuō)明
并入本文中并且構(gòu)成本說(shuō)明書(shū)一部分的隨附圖式展示本發(fā)明的示范性實(shí)施例,并且與上文給出的一般描述和下文給出的詳細(xì)描述一起用來(lái)解釋本發(fā)明的特征。
圖1是適合于實(shí)施各種實(shí)施例的實(shí)例芯片上系統(tǒng)的架構(gòu)圖式。
圖2是說(shuō)明根據(jù)各種實(shí)施例在一實(shí)施例計(jì)算裝置中的實(shí)例邏輯組件和信息流的框圖,所述計(jì)算裝置包含經(jīng)配置以識(shí)別且響應(yīng)于虛假用戶交互(ui)事件的虛假u(mài)i事件檢測(cè)模塊。
圖3是說(shuō)明在一實(shí)施例計(jì)算裝置中的實(shí)例邏輯組件和信息流的框圖,所述計(jì)算裝置經(jīng)配置以確定特定移動(dòng)裝置行為是否為良性或非良性的。
圖4a和4b是說(shuō)明根據(jù)各種實(shí)施例檢測(cè)且響應(yīng)于虛假u(mài)i事件的方法的過(guò)程流程圖。
圖4c是說(shuō)明根據(jù)一實(shí)施例檢測(cè)且響應(yīng)于泄密的用戶輸入傳感器裝置驅(qū)動(dòng)器的方法的過(guò)程流程圖。
圖5是說(shuō)明根據(jù)一實(shí)施例使用一系列分類器模型對(duì)裝置行為進(jìn)行分類的方法的過(guò)程流程圖。
圖6是可產(chǎn)生且用以產(chǎn)生分類器模型的實(shí)例決策節(jié)點(diǎn)的圖示。
圖7是說(shuō)明根據(jù)一實(shí)施例執(zhí)行自適應(yīng)觀測(cè)的方法的過(guò)程流程圖。
圖8是適合于在一實(shí)施例中使用的移動(dòng)裝置的組件框圖。
具體實(shí)施方式
將參看隨附圖式詳細(xì)描述各種實(shí)施例。只要可能,便將在圖式中使用相同參考標(biāo)號(hào)來(lái)指代相同或相似部分。對(duì)特定實(shí)例和實(shí)施方案進(jìn)行的參考是用于說(shuō)明性目的,且不希望限制本發(fā)明或權(quán)利要求書(shū)的范圍。
概括來(lái)說(shuō),各種實(shí)施例包含使用基于行為且機(jī)器學(xué)習(xí)的技術(shù)來(lái)檢測(cè)且響應(yīng)于虛假用戶交互(ui)事件的方法以及經(jīng)配置以實(shí)施所述方法的計(jì)算裝置。在實(shí)施例中,計(jì)算裝置可經(jīng)配置以實(shí)施與由高層級(jí)操作系統(tǒng)產(chǎn)生或接收的ui信息結(jié)合而分析由一或多個(gè)硬件驅(qū)動(dòng)器或用戶輸入裝置產(chǎn)生的原始數(shù)據(jù)的方法,且使用此分析的結(jié)果來(lái)確定ui事件是否與計(jì)算裝置的用戶相關(guān)和/或?qū)⑺鶛z測(cè)ui事件分類為真實(shí)ui事件或虛假u(mài)i事件。所述計(jì)算裝置還可包含綜合的基于行為的安全系統(tǒng),其經(jīng)配置以基于ui事件是否為真實(shí)或虛假u(mài)i事件而識(shí)別且響應(yīng)于非良性裝置行為(例如,由惡意或使性能降級(jí)的軟件應(yīng)用程序等造成的行為)。
大體上,每一軟件應(yīng)用程序在計(jì)算裝置上執(zhí)行多個(gè)任務(wù)或活動(dòng)。一些應(yīng)用程序任務(wù)/活動(dòng)直接或固有地涉及或需要與裝置的某一形式的用戶交互。舉例來(lái)說(shuō),相機(jī)的使用、激活麥克風(fēng)以記錄音頻以及發(fā)送優(yōu)質(zhì)短消息服務(wù)(sms)消息是涉及與裝置的某一形式的用戶交互的所有任務(wù)/活動(dòng),例如用戶致動(dòng)相機(jī)的快門(mén)釋放按鈕,按壓記錄按鈕以激活麥克風(fēng),鍵入文字且觸摸發(fā)送按鈕以發(fā)送sms消息等等。
與裝置的大多數(shù)用戶交互將致使計(jì)算裝置產(chǎn)生一或多個(gè)ui事件(例如,view::ontouchevent、onkeydown、onkeyup、ontrackballevent等等)。舉例來(lái)說(shuō),觸摸計(jì)算裝置的電子觸摸屏顯示器可致使裝置驅(qū)動(dòng)器產(chǎn)生“觸摸事件”,其識(shí)別觸摸的區(qū)域(例如,經(jīng)由矩形坐標(biāo)x和y等等)。操作系統(tǒng)可從裝置驅(qū)動(dòng)器接收ui事件(例如,“觸摸事件”),且作為響應(yīng)而執(zhí)行ui事件相關(guān)的軟件應(yīng)用程序的程序。
因此,一些任務(wù)/活動(dòng)直接或固有地涉及或需要某一形式的用戶交互,且大多數(shù)用戶交互產(chǎn)生某一形式的ui事件。因此,不具有對(duì)應(yīng)ui事件的應(yīng)用程序的某些任務(wù)/活動(dòng)的執(zhí)行可能是所述應(yīng)用程序?yàn)榉橇夹曰蛄硗鈶?yīng)得到更靠近的審查、監(jiān)視或分析的強(qiáng)指示符。因此,在一些實(shí)施例中,計(jì)算裝置的基于行為的安全系統(tǒng)可經(jīng)配置以對(duì)直接或固有地涉及或需要用戶交互但并不與ui事件相關(guān)聯(lián)的活動(dòng)分類為可疑或非良性。舉例來(lái)說(shuō),在實(shí)施例中,基于行為的安全系統(tǒng)可經(jīng)配置以監(jiān)視軟件應(yīng)用程序的活動(dòng),確定所監(jiān)視活動(dòng)(例如,相機(jī)的使用等)是否直接或固有地涉及或需要某一形式的用戶交互,響應(yīng)于確定所監(jiān)視活動(dòng)直接或固有地涉及或需要用戶交互而確定是否存在對(duì)應(yīng)于所監(jiān)視活動(dòng)的ui事件(例如,ontouchevent等),且響應(yīng)于確定所監(jiān)視直接或固有地涉及或需要用戶交互且不存在對(duì)應(yīng)于所監(jiān)視活動(dòng)的ui事件而將所述應(yīng)用程序分類為非良性(或需要更靠近的審查、較詳細(xì)的分析等)。
基于行為的安全系統(tǒng)大體上有效于識(shí)別非良性行為且防止裝置隨時(shí)間的性能和電力利用水平的降級(jí)。舉例來(lái)說(shuō),通過(guò)使用ui事件信息作為活動(dòng)或軟件應(yīng)用程序是否為非良性的指示符,基于行為的安全系統(tǒng)允許計(jì)算裝置識(shí)別且響應(yīng)于非良性裝置行為(例如,惡意軟件應(yīng)用程序等)而不會(huì)消耗過(guò)量的其處理、存儲(chǔ)器或電池資源。因此,基于行為的安全系統(tǒng)較適合于包含在移動(dòng)裝置和資源受限制的計(jì)算裝置中且在移動(dòng)裝置和資源受限制的計(jì)算裝置中使用,所述資源受限制的計(jì)算裝置例如智能電話,其具有有限的資源、通過(guò)電池電力運(yùn)行且性能和安全是重要的。
雖然上述系統(tǒng)是大體上有效的,但惡意軟件應(yīng)用程序可能通過(guò)產(chǎn)生且發(fā)送虛假u(mài)i事件信息到裝置的操作系統(tǒng)而避開(kāi)或躲避安全系統(tǒng)的檢測(cè)。舉例來(lái)說(shuō),惡意軟件應(yīng)用程序可激活計(jì)算裝置的相機(jī)以捕獲圖像而不需要用戶的知道或同意,并且然后將虛假ontouchevent發(fā)送到裝置的操作系統(tǒng)以致使安全系統(tǒng)不正確地確定所檢測(cè)活動(dòng)(相機(jī)的激活)與對(duì)應(yīng)ui事件相關(guān)聯(lián)。這可致使安全系統(tǒng)將惡意應(yīng)用程序不正確地分類為良性。
通過(guò)使用基于行為且機(jī)器學(xué)習(xí)的技術(shù)與由高層級(jí)操作系統(tǒng)接收的ui事件信息結(jié)合來(lái)分析由一或多個(gè)硬件/裝置驅(qū)動(dòng)器產(chǎn)生的原始數(shù)據(jù),各種實(shí)施例允許計(jì)算裝置確定ui事件是否為虛假u(mài)i事件,且當(dāng)分析裝置行為時(shí)使用此信息以便防止惡意軟件應(yīng)用程序使用虛假u(mài)i事件信息來(lái)避開(kāi)或躲避檢測(cè)。
各種實(shí)施例通過(guò)允許裝置更準(zhǔn)確且高效地識(shí)別、防止、校正和/或另外響應(yīng)于非良性軟件應(yīng)用程序而改進(jìn)計(jì)算裝置的功能。各種實(shí)施例還通過(guò)允許計(jì)算裝置(或其基于行為的安全系統(tǒng))使用ui事件信息來(lái)智能地聚焦其監(jiān)視和/或分析操作而改進(jìn)計(jì)算裝置的功能,進(jìn)而減少其對(duì)裝置的響應(yīng)性、性能和電力消耗特性的影響。
計(jì)算裝置的功能、功能性和/或機(jī)能的額外的改進(jìn)從下文所提供的實(shí)施例的詳細(xì)描述中是顯而易見(jiàn)的。
術(shù)語(yǔ)“性能降級(jí)”在本申請(qǐng)案中用于指代計(jì)算裝置的廣泛多種不合意的操作和特性,例如較長(zhǎng)處理時(shí)間、較慢實(shí)時(shí)響應(yīng)性、較低電池壽命、私人數(shù)據(jù)的損失、惡意經(jīng)濟(jì)活動(dòng)(例如,發(fā)送未經(jīng)授權(quán)的優(yōu)質(zhì)sms消息)、拒絕服務(wù)(dos)、不良寫(xiě)入或設(shè)計(jì)的軟件應(yīng)用程序、惡意的軟件、惡意軟件、病毒、分段存儲(chǔ)器、與強(qiáng)占移動(dòng)裝置或利用電話用于間諜或僵尸網(wǎng)絡(luò)活動(dòng)相關(guān)的操作等等。并且,出于這些原因中的任一者而使性能降級(jí)的行為、活動(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ì)于確定特定裝置行為是否是良性或非良性(例如,惡意或性能降級(jí))的最重要特征可能在每個(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ǔ)救措施。
為了克服現(xiàn)有解決方案的限制,各種實(shí)施例包含配備有行為監(jiān)視和分析系統(tǒng)的計(jì)算裝置,所述系統(tǒng)經(jīng)配置以快速且高效地識(shí)別非良性軟件應(yīng)用程序(例如,惡意的、不良寫(xiě)入的、不與裝置兼容的應(yīng)用程序等),且防止這些應(yīng)用程序使計(jì)算裝置的性能、電力利用水平、網(wǎng)絡(luò)使用水平、安全性和/或隱私隨時(shí)間而降級(jí)。所述行為監(jiān)視和分析系統(tǒng)可經(jīng)配置以識(shí)別、防止且校正所識(shí)別的問(wèn)題而對(duì)計(jì)算裝置的響應(yīng)性、性能或電力消耗特性沒(méi)有顯著、不利或用戶可察覺(jué)的影響。在實(shí)施例中,所述行為監(jiān)視和分析系統(tǒng)可為基于行為的安全系統(tǒng)。
基于行為的監(jiān)視和分析系統(tǒng)可包含觀測(cè)器過(guò)程、后臺(tái)程序、模塊或子系統(tǒng)(本文中統(tǒng)稱為“模塊”)行為提取器模塊和分析器模塊。觀測(cè)器模塊可經(jīng)配置以在計(jì)算裝置系統(tǒng)的各種層級(jí)儀表化或協(xié)調(diào)各種應(yīng)用程序編程接口(api)、寄存器、計(jì)數(shù)器或其它裝置組件(本文統(tǒng)稱為“儀表化組件”),從儀表化組件收集行為信息,且將收集的行為信息傳送(例如,經(jīng)由存儲(chǔ)器寫(xiě)入操作、功能調(diào)用等)到行為提取器模塊。行為提取器模塊可以使用所收集的行為信息以產(chǎn)生各自表示或表征與裝置的一或多個(gè)特定的線程、過(guò)程、軟件應(yīng)用程序、模塊或組件相關(guān)聯(lián)的許多或全部觀測(cè)到的事件、條件、任務(wù)、活動(dòng)和/或行為(本文中統(tǒng)稱為“行為”)的行為向量。行為提取器模塊可將所產(chǎn)生行為向量傳送(例如,經(jīng)由存儲(chǔ)器寫(xiě)入操作、功能調(diào)用等)到分析器模塊,所述分析器模塊可將行為向量應(yīng)用于分類器模型以產(chǎn)生分析結(jié)果,且使用分析結(jié)果以確定軟件應(yīng)用程序或裝置行為是否為良性或非良性(例如,惡意、不良寫(xiě)入、性能降低等)。裝置處理器可隨后執(zhí)行各種操作以校正、治愈、解決、隔離或者另外修復(fù)所識(shí)別的問(wèn)題(例如,確定為非良性的行為)。
每個(gè)行為向量可以為包含或囊封一或多個(gè)“行為特征”的信息結(jié)構(gòu)。行為特征可以為表示在計(jì)算裝置中觀測(cè)到的事件、條件、活動(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)的行為特征(或特征值)。
分類器模型可以為包括數(shù)據(jù)、條目、決策節(jié)點(diǎn)、決策標(biāo)準(zhǔn)和/或信息結(jié)構(gòu)的行為模型,所述結(jié)構(gòu)信息可以由裝置處理器使用以快速地且有效地測(cè)試或評(píng)估特定的特征、因素、數(shù)據(jù)點(diǎn)、條目、api、狀態(tài)、狀況、行為、軟件應(yīng)用程序、過(guò)程、操作、組件等(本文中統(tǒng)稱為“特征”)或裝置行為的其它實(shí)施例。分類器模型還可以包括可以由裝置處理器使用以確定軟件應(yīng)用程序之間關(guān)系的本質(zhì)和/或在移動(dòng)裝置中所監(jiān)視的行為的信息。
每個(gè)分類器模型可以分類為完整分類器模型或精益分類器模型。完整分類器模型可以為穩(wěn)健數(shù)據(jù)模型,所述數(shù)據(jù)模型是作為大量培訓(xùn)數(shù)據(jù)集的函數(shù)產(chǎn)生的,其可以包括數(shù)千特征和數(shù)十億的條目。精益分類器模型可以為更為集中的數(shù)據(jù)模型,所述數(shù)據(jù)模型由簡(jiǎn)化數(shù)據(jù)集產(chǎn)生,所述簡(jiǎn)化數(shù)據(jù)集包括或優(yōu)先考慮與確定特定移動(dòng)裝置行為是否是非良性的最相關(guān)的特征/條目上的測(cè)試。本地分類器模型可以為在計(jì)算裝置中產(chǎn)生的精益分類器模型。用戶特定分類器模型可為包含高度聚焦數(shù)據(jù)模型的本地分類器模型,所述數(shù)據(jù)模型包含決策節(jié)點(diǎn)或?qū)Q策節(jié)點(diǎn)列入優(yōu)先,所述節(jié)點(diǎn)測(cè)試或評(píng)估最相關(guān)的裝置特征/條目以用于確定裝置行為是否與特定用戶對(duì)計(jì)算裝置的普通使用一致。
每個(gè)人大體上以唯一或相異方式與他/她的計(jì)算裝置交互。舉例來(lái)說(shuō),移動(dòng)裝置用戶常常具有相異的工作或通信方式,使用特定軟件應(yīng)用程序或特定類型的軟件應(yīng)用程序,使用其移動(dòng)裝置執(zhí)行特定活動(dòng)或?qū)崿F(xiàn)特定任務(wù),以特定次序執(zhí)行活動(dòng),在特定時(shí)間執(zhí)行特定活動(dòng),以特定方式與特定軟件應(yīng)用程序交互等等。用戶與她的/她的裝置交互的相異方式可隨時(shí)間而學(xué)習(xí),且用以確定軟件應(yīng)用程序是否為非良性的。舉例來(lái)說(shuō),在實(shí)施例中,計(jì)算裝置可經(jīng)配置以學(xué)習(xí)用戶隨時(shí)間與他的/她的裝置交互的相異方式,使用此信息以確定活動(dòng)、任務(wù)或行為是否應(yīng)當(dāng)與對(duì)應(yīng)ui事件相關(guān)聯(lián),產(chǎn)生考慮對(duì)應(yīng)ui事件的存在的行為向量和/或分類器模型,將行為向量應(yīng)用于分類器模型以產(chǎn)生分析結(jié)果,且使用分析結(jié)果以確定與所述活動(dòng)、任務(wù)或行為相關(guān)聯(lián)的軟件應(yīng)用程序是否為非良性的(例如,惡意等)。
現(xiàn)代計(jì)算裝置具有對(duì)由其用戶產(chǎn)生或涉及其用戶的信息的前所未有的存取水平。舉例來(lái)說(shuō),移動(dòng)計(jì)算裝置常常配備有收集或產(chǎn)生關(guān)于用戶的詳細(xì)個(gè)人信息的傳感器(例如,加速度計(jì)、陀螺儀、地理空間定位傳感器、相機(jī)、心率監(jiān)視器、血糖儀等)。另外,移動(dòng)計(jì)算裝置現(xiàn)在包含允許執(zhí)行復(fù)雜的軟件應(yīng)用程序的強(qiáng)力處理器,所述軟件應(yīng)用程序包含用于導(dǎo)覽網(wǎng)頁(yè)、購(gòu)買(mǎi)商品、監(jiān)視用戶的健康、控制家用電器、玩游戲、觀看/記錄視頻、導(dǎo)航新城市、跟蹤鍛煉、進(jìn)行金融交易等等的應(yīng)用程序。這些軟件應(yīng)用程序常常收集或產(chǎn)生關(guān)于用戶的詳細(xì)個(gè)人信息。由這些軟件應(yīng)用程序和傳感器收集、產(chǎn)生或使用的信息可由實(shí)施例計(jì)算裝置使用以產(chǎn)生表征用戶的活動(dòng)、偏好、年齡、職業(yè)、習(xí)慣、情緒、感情狀態(tài)、個(gè)性等的用戶個(gè)人信息。實(shí)施例計(jì)算裝置可經(jīng)配置以收集和使用這些用戶個(gè)人信息以確定裝置隨時(shí)間的正常操作模式,包含活動(dòng)、任務(wù)或行為是否應(yīng)當(dāng)與對(duì)應(yīng)ui事件相關(guān)聯(lián)。用戶個(gè)人信息也可以用以產(chǎn)生適合用于確定軟件應(yīng)用程序是否為非良性的行為向量和/或分類器模型(例如,用戶特定的分類器模型等)。
某些任務(wù)/活動(dòng)直接或固有地涉及或需要操作系統(tǒng)或軟件應(yīng)用程序(或進(jìn)程、線程等)處于支持那些任務(wù)/活動(dòng)或與其兼容的執(zhí)行狀態(tài)。舉例來(lái)說(shuō),相機(jī)的使用、發(fā)送短消息服務(wù)(sms)消息以及收集加速度計(jì)數(shù)據(jù)是通常需要與裝置的某一形式的用戶交互的所有任務(wù)/活動(dòng)。因此,這些活動(dòng)大體上必須在“前臺(tái)”執(zhí)行狀態(tài)中或在支持與計(jì)算裝置的用戶交互的另一執(zhí)行狀態(tài)中執(zhí)行。當(dāng)這些或其它相似任務(wù)/活動(dòng)在不支持與裝置的高度用戶交互的執(zhí)行狀態(tài)中(例如在后臺(tái)執(zhí)行狀態(tài)中)執(zhí)行時(shí),此操作條件可為與所述活動(dòng)相關(guān)聯(lián)的裝置行為是非良性或另外應(yīng)得到額外或更靠近的審查、監(jiān)視或分析的指示符。因此,在實(shí)施例中,計(jì)算裝置可經(jīng)配置以使用特定執(zhí)行狀態(tài),其中執(zhí)行活動(dòng)或任務(wù)以確定活動(dòng)、任務(wù)或行為是否應(yīng)當(dāng)與對(duì)應(yīng)ui事件相關(guān)聯(lián),產(chǎn)生考慮執(zhí)行狀態(tài)和/或?qū)?yīng)ui事件的存在的行為向量和/或分類器模型,將行為向量應(yīng)用于分類器模型以產(chǎn)生分析結(jié)果,且使用分析結(jié)果以確定軟件應(yīng)用程序是否為非良性的。
在實(shí)施例中,行為監(jiān)視和分析系統(tǒng)可使用ui事件的存在作為當(dāng)產(chǎn)生用以確定軟件應(yīng)用程序是否為非良性的分析結(jié)果時(shí)測(cè)試/評(píng)估(例如,經(jīng)由將行為向量應(yīng)用于分類器模型等)的因數(shù)。
在上述實(shí)例中,計(jì)算裝置使用經(jīng)由與裝置的用戶交互產(chǎn)生的信息,例如對(duì)應(yīng)ui事件的存在,以確定軟件應(yīng)用程序是否為非良性的。此信息通常包含(例如,當(dāng)用戶觸摸裝置的觸摸屏等時(shí))由裝置的傳感器或硬件產(chǎn)生的數(shù)據(jù),其發(fā)送到操作系統(tǒng)以用于轉(zhuǎn)發(fā)到行為監(jiān)視和分析系統(tǒng)(例如,經(jīng)由操作系統(tǒng)將信息存儲(chǔ)在日志中等)。由于行為監(jiān)視和分析系統(tǒng)使用此信息以確定軟件應(yīng)用程序是否為非良性的,所以惡意軟件應(yīng)用程序可能通過(guò)產(chǎn)生且發(fā)送虛假u(mài)i事件信息到操作系統(tǒng),以便致使操作系統(tǒng)向行為監(jiān)視和分析系統(tǒng)不正確地報(bào)告ui事件的存在,來(lái)嘗試躲避或避開(kāi)系統(tǒng)的檢測(cè)。
為了防止產(chǎn)生虛假用戶交互信息(例如,虛假u(mài)i事件)的軟件應(yīng)用程序躲避或避開(kāi)行為監(jiān)視和分析系統(tǒng)(例如,基于行為的安全系統(tǒng))的檢測(cè),在實(shí)施例中,計(jì)算裝置可配備有虛假u(mài)i事件檢測(cè)模塊,其經(jīng)配置以接收來(lái)自傳感器和硬件驅(qū)動(dòng)器的原始數(shù)據(jù)以及來(lái)自操作系統(tǒng)的ui事件信息,比較所接收原始數(shù)據(jù)與所接收ui事件信息以確定ui事件是真實(shí)ui事件還是虛假u(mài)i事件,且將虛假u(mài)i事件事件報(bào)告給行為監(jiān)視和分析系統(tǒng)。
在實(shí)施例中,行為監(jiān)視和分析系統(tǒng)可經(jīng)配置以將與虛假u(mài)i事件相關(guān)聯(lián)的軟件應(yīng)用程序分類為非良性的。
在實(shí)施例中,行為監(jiān)視和分析系統(tǒng)可經(jīng)配置以將與虛假u(mài)i事件相關(guān)聯(lián)的軟件應(yīng)用程序分類為可疑的,且增加其審查或分析等級(jí)(例如,通過(guò)使用更穩(wěn)健的分類器模型、監(jiān)視軟件應(yīng)用程序的更多活動(dòng)、產(chǎn)生更大行為向量等)。
在實(shí)施例中,行為監(jiān)視和分析系統(tǒng)可經(jīng)配置以例如通過(guò)使用不測(cè)試與對(duì)應(yīng)ui事件的存在或現(xiàn)存相關(guān)的條件的分類器模型而忽略經(jīng)確定為虛假u(mài)i事件的ui事件。這允許系統(tǒng)聚焦于其監(jiān)視和/或分析操作是對(duì)確定活動(dòng)或行為是否為非良性來(lái)說(shuō)最重要的特征或因數(shù)。
在實(shí)施例中,計(jì)算裝置的裝置處理器可經(jīng)配置以比較從不同裝置驅(qū)動(dòng)器或硬件組件接收的信息且使其相關(guān)以確定所檢測(cè)ui事件是否為虛假u(mài)i事件。舉例來(lái)說(shuō),用戶觸摸計(jì)算裝置的觸摸屏顯示器可致使顯示器產(chǎn)生呈識(shí)別顯示器被觸摸的時(shí)間的時(shí)戳以及識(shí)別所觸摸顯示區(qū)域的坐標(biāo)信息的形式的原始數(shù)據(jù)。另外,由于計(jì)算裝置當(dāng)其顯示器被觸摸時(shí)通常移動(dòng)(由于用戶的觸摸的力),因此其陀螺儀和加速度計(jì)可產(chǎn)生指示所述裝置在所述觸摸事件的同時(shí)稍微移動(dòng)的原始數(shù)據(jù)。因此,裝置處理器可確定在觸摸事件產(chǎn)生時(shí)裝置的移動(dòng)是否與用戶交互一致。
各種實(shí)施例(包含參考圖2到7描述的實(shí)施例)可在許多不同移動(dòng)裝置中實(shí)施,包含單處理器和多處理器系統(tǒng)以及芯片上系統(tǒng)(soc)。圖1是說(shuō)明可以用于實(shí)施各種實(shí)施例的計(jì)算裝置中的實(shí)例芯片上系統(tǒng)(soc)100架構(gòu)的架構(gòu)圖。soc100可包含若干異構(gòu)處理器,例如數(shù)字信號(hào)處理器(dsp)102、調(diào)制解調(diào)器處理器104、圖形處理器106以及應(yīng)用程序處理器108。soc100還可包含連接到異構(gòu)處理器102、104、106、108中的一或多者的一或多個(gè)協(xié)處理器110(例如,向量協(xié)處理器)。每一處理器102、104、106、108、110可包含一或多個(gè)核心,且每一處理器/核心可獨(dú)立于其它處理器/核心而執(zhí)行操作。舉例來(lái)說(shuō),soc100可包含執(zhí)行第一類型的操作系統(tǒng)(例如,freebsd、linux、osx等)的處理器和執(zhí)行第二類型的操作系統(tǒng)(例如,微軟視窗10)的處理器。
soc100還可包含模擬電路和定制電路114,以用于管理傳感器數(shù)據(jù)、模/數(shù)轉(zhuǎn)換、無(wú)線數(shù)據(jù)發(fā)射,且用于執(zhí)行其它專用操作,例如處理用于游戲和電影的經(jīng)編碼音頻信號(hào)。soc100可進(jìn)一步包含系統(tǒng)組件/資源116,例如,電壓調(diào)節(jié)器、振蕩器、鎖相環(huán)、外圍橋接器、數(shù)據(jù)控制器、存儲(chǔ)器控制器、系統(tǒng)控制器、存取端口、計(jì)時(shí)器和用于支持在計(jì)算裝置上運(yùn)行的處理器和客戶端的其它類似組件。
系統(tǒng)組件/資源116和定制電路114可包含用以與例如相機(jī)、電子顯示器、無(wú)線通信裝置、外部存儲(chǔ)器芯片等外圍裝置介接的電路。處理器102、104、106、108可經(jīng)由互連/總線模塊124互連到一或多個(gè)存儲(chǔ)器元件112、系統(tǒng)組件/資源116和定制電路114,所述互連/總線模塊可包含可配置邏輯門(mén)的陣列和/或?qū)嵤┛偩€架構(gòu)(例如,coreconnect、amba等)。通信可由例如高性能芯片上網(wǎng)絡(luò)(noc)等高級(jí)互連件提供。
soc100可進(jìn)一步包含用于與soc外部的資源通信的輸入/輸出模塊(未示出),所述資源例如時(shí)鐘118和電壓調(diào)節(jié)器120。soc外部的資源(例如,時(shí)鐘118、電壓調(diào)節(jié)器120)可由內(nèi)部soc處理器/核心(例如,dsp102、調(diào)制解調(diào)器處理器104、圖形處理器106、應(yīng)用程序處理器108等)中的兩個(gè)或更多個(gè)共享。
soc100還可包含適用于從傳感器收集傳感器數(shù)據(jù)的硬件和/或軟件組件,包含揚(yáng)聲器、用戶接口元件(例如,輸入按鈕、觸摸屏顯示器等)、麥克風(fēng)陣列、用于監(jiān)視物理狀態(tài)(例如,位置、方向、運(yùn)動(dòng)、取向、振動(dòng)、壓力等)的傳感器、相機(jī)、羅盤(pán)、gps接收器、通信電路系統(tǒng)(例如,
除了上文所論述的soc100之外,各種實(shí)施例還可以在多種多樣的計(jì)算系統(tǒng)中實(shí)施,所述計(jì)算系統(tǒng)可包含單個(gè)處理器、多個(gè)處理器、多核心處理器或其任何組合。
圖2說(shuō)明根據(jù)各種實(shí)施例的在經(jīng)配置以識(shí)別虛假u(mài)i事件的實(shí)施例計(jì)算裝置200中的實(shí)例邏輯組件和信息流。在圖2中說(shuō)明的實(shí)例中,計(jì)算裝置200包含各種傳感器和硬件組件202、裝置驅(qū)動(dòng)器模塊204、操作系統(tǒng)206、虛假u(mài)i事件檢測(cè)模塊212、基于行為的安全模塊214以及動(dòng)作日志220。所述計(jì)算裝置還包含軟件應(yīng)用程序208和惡意軟件應(yīng)用程序210,其兩者可經(jīng)由計(jì)算裝置200的處理器或處理核心中的一或多者而在所述計(jì)算裝置上操作或執(zhí)行。
軟件應(yīng)用程序208、210可使用應(yīng)用程序接口(api)來(lái)調(diào)用操作系統(tǒng)206的服務(wù)。操作系統(tǒng)206可經(jīng)由裝置驅(qū)動(dòng)器模塊204與傳感器/硬件組件202通信,所述裝置驅(qū)動(dòng)器模塊可充當(dāng)或提供傳感器/硬件組件202與操作系統(tǒng)206之間的軟件接口。裝置驅(qū)動(dòng)器模塊204可經(jīng)配置以經(jīng)由由傳感器/硬件組件202實(shí)施的操作代碼(操作碼)和原生命令而控制或與傳感器/硬件組件202通信。裝置驅(qū)動(dòng)器模塊204可經(jīng)配置以使用從傳感器/硬件組件202接收的原始數(shù)據(jù)以產(chǎn)生適合于由操作系統(tǒng)206解譯和使用的信息。
傳感器/硬件組件202可經(jīng)配置以響應(yīng)于檢測(cè)到用戶交互事件而產(chǎn)生原始數(shù)據(jù)且將原始數(shù)據(jù)發(fā)送到裝置驅(qū)動(dòng)器模塊204,且裝置驅(qū)動(dòng)器模塊204可經(jīng)配置以使用從傳感器/硬件組件202接收的原始數(shù)據(jù)以產(chǎn)生適合于由操作系統(tǒng)206解譯和使用的ui事件信息。舉例來(lái)說(shuō),傳感器/硬件組件202可包含電子觸摸屏顯示器(例如,電容式感測(cè)觸摸屏面板等),其經(jīng)配置以在每次用戶觸摸觸摸屏?xí)r以x和y位置坐標(biāo)的形式將原始數(shù)據(jù)發(fā)送到裝置驅(qū)動(dòng)器模塊204。裝置驅(qū)動(dòng)器模塊204可經(jīng)配置以將此原始數(shù)據(jù)(即,位置坐標(biāo)x和y)轉(zhuǎn)換為適合于由操作系統(tǒng)206解譯和使用的ui事件信息(例如,screentouch(x,y))。操作系統(tǒng)206可接收且使用所述ui事件信息以確定應(yīng)當(dāng)調(diào)用軟件應(yīng)用程序208的ontouch(x,y)功能,且致使軟件應(yīng)用程序208執(zhí)行ontouch(x,y)功能的操作。這些操作可包含打開(kāi)相機(jī)快門(mén)、捕獲圖像、處理所捕獲圖像等。
操作系統(tǒng)206和軟件應(yīng)用程序208兩者可在動(dòng)作日志220中記錄其相應(yīng)操作、活動(dòng)和/或任務(wù)。舉例來(lái)說(shuō),操作系統(tǒng)可在動(dòng)作日志220中記錄ui事件(例如,screentouch(x,y))的檢測(cè),且軟件應(yīng)用程序208可在動(dòng)作日志220中記錄操作(例如,打開(kāi)相機(jī)快門(mén)、捕獲圖像、將信息寫(xiě)入到存儲(chǔ)器等)或其相關(guān)聯(lián)api調(diào)用。
基于行為的安全模塊214可經(jīng)配置以監(jiān)視軟件應(yīng)用程序208的操作、活動(dòng),從動(dòng)作日志220收集行為信息,使用所收集行為信息以產(chǎn)生行為向量結(jié)構(gòu),將所產(chǎn)生行為向量結(jié)構(gòu)應(yīng)用于分類器模型以產(chǎn)生分析結(jié)果,且使用分析結(jié)果以確定軟件應(yīng)用程序208是否為非良性的。作為這些操作的部分,基于行為的安全模塊214可確定軟件應(yīng)用程序208的行為或活動(dòng)直接或固有地涉及或需要與裝置的某一形式的用戶交互,響應(yīng)于確定所述行為/活動(dòng)直接或固有地涉及或需要用戶交互而確定動(dòng)作日志220是否包含對(duì)應(yīng)于所述行為/活動(dòng)的ui事件,且當(dāng)確定軟件應(yīng)用程序208是否為非良性時(shí)使用評(píng)估對(duì)應(yīng)ui事件的存在或現(xiàn)存的行為向量和/或分類器模型。
在圖2中說(shuō)明的實(shí)例中,惡意軟件應(yīng)用程序210通過(guò)產(chǎn)生且發(fā)送虛假u(mài)i事件到操作系統(tǒng)而嘗試躲避或避開(kāi)基于行為的安全模塊214的檢測(cè)。舉例來(lái)說(shuō),惡意軟件應(yīng)用程序210可激活相機(jī)以捕獲圖像而沒(méi)有用戶的知道同意,且致使操作系統(tǒng)不正確地記錄對(duì)應(yīng)相機(jī)的激活的ui事件的存在。這可致使基于行為的安全模塊214不正確地確定存在對(duì)應(yīng)于受監(jiān)視活動(dòng)的ui事件。
虛假u(mài)i事件檢測(cè)模塊212可經(jīng)配置以防止惡意軟件應(yīng)用程序210躲避或避開(kāi)基于行為的安全模塊214的檢測(cè)。裝置驅(qū)動(dòng)器模塊204可包含驅(qū)動(dòng)器儀表化模塊216,其經(jīng)配置以將原始數(shù)據(jù)發(fā)送到虛假u(mài)i事件檢測(cè)模塊212,且操作系統(tǒng)206可包含操作系統(tǒng)儀表化模塊218,其經(jīng)配置以將ui事件信息發(fā)送到虛假u(mài)i事件檢測(cè)模塊212。虛假u(mài)i事件檢測(cè)模塊212可經(jīng)配置以接收來(lái)自驅(qū)動(dòng)器儀表化模塊216的原始數(shù)據(jù)以及來(lái)自操作系統(tǒng)儀表化模塊218的ui事件信息,比較所接收原始數(shù)據(jù)與所接收ui事件信息以確定所述ui事件是真實(shí)ui事件還是虛假u(mài)i事件,且向基于行為的安全模塊214報(bào)告虛假u(mài)i事件事件。
響應(yīng)于接收到虛假u(mài)i事件的報(bào)告,基于行為的安全模塊214可將與虛假u(mài)i事件相關(guān)聯(lián)的軟件應(yīng)用程序分類為非良性的,將與虛假u(mài)i事件相關(guān)聯(lián)的軟件應(yīng)用程序分類為可疑的,更新分類器模型以排除測(cè)試與ui事件的存在/現(xiàn)存相關(guān)的條件的決策節(jié)點(diǎn),或選擇/使用并不測(cè)試與ui事件的存在/現(xiàn)存相關(guān)的條件的行為向量和分類器模型。
圖3說(shuō)明在一個(gè)實(shí)施例移動(dòng)計(jì)算裝置中的實(shí)例邏輯組件和信息流,所述移動(dòng)計(jì)算裝置包含經(jīng)配置以使用行為分析技術(shù)來(lái)識(shí)別和響應(yīng)于非良性裝置行為的基于行為的安全模塊214。在圖3中說(shuō)明的實(shí)例中,所述計(jì)算裝置是包含裝置處理器(即,移動(dòng)裝置處理器)的移動(dòng)裝置300,所述處理器被配置成具有可執(zhí)行指令模塊,所述模塊包含行為觀測(cè)器模塊302、行為提取器模塊304、行為分析器模塊306以及致動(dòng)器模塊308。模塊302到308中的每一者可為以軟件、硬件或其組合實(shí)施的線程、進(jìn)程、后臺(tái)程序、模塊、子系統(tǒng)或組件。在各種實(shí)施例中,模塊302到308可在操作系統(tǒng)的部分內(nèi)(例如,內(nèi)核內(nèi)、內(nèi)核空間中、用戶空間中等)、單獨(dú)程序或應(yīng)用程序內(nèi)、專用硬件緩沖器或處理器中或其任何組合內(nèi)實(shí)施。在一實(shí)施例中,模塊302到308中的一或多個(gè)可以被實(shí)施為在移動(dòng)裝置300的一或多個(gè)處理器上執(zhí)行的軟件指令。
行為觀測(cè)器模塊302可經(jīng)配置以在裝置的各種層級(jí)/模塊處儀表化應(yīng)用程序編程接口(api)、計(jì)數(shù)器、硬件監(jiān)視器等,且監(jiān)視在一時(shí)間周期內(nèi)在各種層級(jí)/模塊處的活動(dòng)、條件、操作和事件(例如,系統(tǒng)事件、狀態(tài)改變等)。行為觀測(cè)器模塊302可以收集關(guān)于所監(jiān)視的活動(dòng)、條件、操作或事件的行為信息,并且將所收集的信息存儲(chǔ)在存儲(chǔ)器中(例如,在日志文件中等)。
在一些實(shí)施例中,行為觀測(cè)器模塊302可經(jīng)配置以從在計(jì)算裝置中操作的軟件應(yīng)用程序、計(jì)算裝置的傳感器和/或從用戶與計(jì)算裝置或其軟件應(yīng)用程序的交互收集基于用戶的信息(例如,用戶個(gè)人信息等)?;谟脩舻男畔⒖砂m合于識(shí)別或表征裝置用戶的活動(dòng)、裝置使用模式、習(xí)慣、情緒、職業(yè)和/或感情狀態(tài)的任何信息。舉例來(lái)說(shuō),基于用戶的信息可包含識(shí)別用戶與裝置的交互、在裝置上執(zhí)行的定制的數(shù)目和類型、由用戶下載或使用的軟件應(yīng)用程序的類型、用戶觸摸或與屏幕交互的速率、裝置的圖形處理單元(gpu)使用水平、用戶使用裝置與他人通信的頻率、用戶的優(yōu)選通信方法(例如,文字對(duì)話音)、用戶通信有多快、裝置存儲(chǔ)器大小等的信息。裝置處理器可使用所收集基于用戶的信息來(lái)學(xué)習(xí)用戶通常如何與計(jì)算裝置交互,確定裝置的正常操作模式和/或確定活動(dòng)、任務(wù)或行為是否應(yīng)當(dāng)與ui事件相關(guān)聯(lián)。舉例來(lái)說(shuō),裝置過(guò)程可使用基于用戶的信息以確定裝置的正常操作模式是否指示特定活動(dòng)與特定ui事件相關(guān)聯(lián)和/或不具有其相應(yīng)ui事件的特定活動(dòng)的執(zhí)行不與裝置的正常操作模式一致。
行為觀測(cè)器模塊302可經(jīng)配置以通過(guò)監(jiān)視多種軟件應(yīng)用程序(或軟件應(yīng)用程序類型)中的任一者來(lái)收集用戶個(gè)人信息,所述軟件應(yīng)用程序包含:日歷應(yīng)用程序、提醒應(yīng)用程序、通信應(yīng)用程序、金融應(yīng)用程序、用于實(shí)現(xiàn)特定任務(wù)(例如,文字處理、準(zhǔn)備稅制改革、演示應(yīng)用程序、會(huì)計(jì)應(yīng)用程序等)的應(yīng)用程序、基于位置的應(yīng)用程序(例如,測(cè)繪和地理位置應(yīng)用程序等)、社交媒體應(yīng)用程序、網(wǎng)絡(luò)瀏覽器(例如,獲得關(guān)于過(guò)去搜索、瀏覽歷史、訪問(wèn)網(wǎng)站類型、訪問(wèn)網(wǎng)站內(nèi)容等的信息)、娛樂(lè)應(yīng)用程序(例如,音頻或多媒體播放器應(yīng)用程序)、用于接入用戶帳戶的應(yīng)用程序(例如,銀行應(yīng)用程序等)、個(gè)人訓(xùn)練和開(kāi)發(fā)應(yīng)用程序等等。
行為觀測(cè)器模塊302還可通過(guò)從心率監(jiān)視器、血壓監(jiān)視器、溫度計(jì)、計(jì)步器、血糖儀、濕度傳感器、體內(nèi)酒量測(cè)定器、皮膚電響應(yīng)傳感器或裝置中的其它傳感器獲得數(shù)據(jù)而收集用戶個(gè)人信息。舉例來(lái)說(shuō),行為觀測(cè)器模塊302可通過(guò)以下方式來(lái)收集用戶個(gè)人信息:監(jiān)視裝置的地理空間定位和導(dǎo)航系統(tǒng)以確定用戶的當(dāng)前位置(例如,在辦公室、在家、在餐館、健身房、旅行等)、用戶的當(dāng)前移動(dòng)(例如,當(dāng)前在旅行、在鍛煉、靜止等)、移動(dòng)歷史(例如,廣泛地旅行、從不離開(kāi)城鎮(zhèn)等)、用戶是否遵循他的/她的所建立例程(例如,準(zhǔn)時(shí)上班、仍在工作)或脫離他的/她的例程(例如,比通常更晚到達(dá)、比通常更早離開(kāi))。
在一些實(shí)施例中,移動(dòng)裝置300的裝置處理器可經(jīng)配置以使用用戶個(gè)人信息和/或表征用戶與裝置的交互的信息以產(chǎn)生行為向量和/或分類器模型。舉例來(lái)說(shuō),裝置處理器可經(jīng)配置以使用用戶交互信息來(lái)動(dòng)態(tài)確定受監(jiān)視的裝置特征、包含在行為向量中的行為信息、包含在分類器模型中(且因此由其評(píng)估)的特定裝置特征等等。作為另一實(shí)例,裝置處理器可經(jīng)配置以產(chǎn)生分類器模型,所述分類器模型評(píng)估聚焦于在某些類型的軟件應(yīng)用程序(例如,游戲等)的使用或執(zhí)行期間識(shí)別ui事件的存在的條件/特征。
在一些實(shí)施例中,裝置處理器可經(jīng)配置以確定用戶交互信息是否與分析所收集行為信息的全部或部分相關(guān),產(chǎn)生包含相對(duì)于用戶交互(如果相關(guān))評(píng)估裝置特征的決策節(jié)點(diǎn)的分類器模型,產(chǎn)生使用戶交互相關(guān)的所收集行為信息相關(guān)的行為向量,且將所產(chǎn)生行為向量應(yīng)用于所產(chǎn)生分類器模型以確定裝置行為是否為非良性的。
行為觀測(cè)器模塊302還可經(jīng)配置以通過(guò)收集關(guān)于以下各項(xiàng)的信息而監(jiān)視移動(dòng)裝置300的活動(dòng):應(yīng)用程序框架或運(yùn)行時(shí)間庫(kù)中的庫(kù)應(yīng)用程序編程接口(api)調(diào)用、系統(tǒng)調(diào)用api、文件系統(tǒng)和聯(lián)網(wǎng)子系統(tǒng)操作、裝置(包含傳感器裝置)狀態(tài)改變,以及其它相似事件。另外,行為觀測(cè)器模塊302可以監(jiān)視文件系統(tǒng)活動(dòng),文件系統(tǒng)活動(dòng)可包含搜索文件名稱、文件存取的類別(個(gè)人信息或普通數(shù)據(jù)文件)、創(chuàng)建或刪除文件(例如,類型exe、zip等)、文件讀取/寫(xiě)入/搜尋操作、改變文件許可等。
行為觀測(cè)器模塊302還可通過(guò)監(jiān)視數(shù)據(jù)網(wǎng)絡(luò)活動(dòng)而監(jiān)視移動(dòng)裝置300的活動(dòng),其可包含連接類型、協(xié)議、端口號(hào)、裝置連接到的服務(wù)器/客戶端、連接的數(shù)目、通信的量或頻率等。行為觀測(cè)器模塊302可監(jiān)視電話網(wǎng)絡(luò)活動(dòng),其可包含監(jiān)視發(fā)出、接收或攔截的呼叫或消息(例如,sms等)的類型和數(shù)目(例如,進(jìn)行的優(yōu)質(zhì)呼叫的數(shù)目)。
行為觀測(cè)器模塊302還可通過(guò)監(jiān)視系統(tǒng)資源使用而監(jiān)視移動(dòng)裝置300的活動(dòng),其可包含監(jiān)視復(fù)刻的數(shù)目、存儲(chǔ)器存取操作、打開(kāi)的文件的數(shù)目等。行為觀測(cè)器模塊302可監(jiān)視移動(dòng)裝置300的狀態(tài),其可包含監(jiān)視各種因數(shù),例如顯示器是接通還是斷開(kāi)、裝置是鎖定還是解鎖、剩余的電池量、相機(jī)的狀態(tài)等等。行為觀測(cè)器模塊302還可通過(guò)例如監(jiān)視關(guān)鍵服務(wù)(瀏覽器、聯(lián)系人提供器等)的意圖、進(jìn)程間通信的程度、彈出式窗口等而監(jiān)視進(jìn)程間通信(ipc)。
行為觀測(cè)器模塊302也可以通過(guò)監(jiān)視一或多個(gè)硬件組件的驅(qū)動(dòng)器統(tǒng)計(jì)數(shù)據(jù)和/或狀態(tài)來(lái)監(jiān)視移動(dòng)裝置300的活動(dòng),這些硬件組件可包含相機(jī)、傳感器、電子顯示器、wifi通信組件、數(shù)據(jù)控制器、存儲(chǔ)器控制器、系統(tǒng)控制器、存取端口、計(jì)時(shí)器、外圍裝置、無(wú)線通信組件、外部存儲(chǔ)器芯片、電壓調(diào)節(jié)器、振蕩器、鎖相環(huán)、外圍橋接器以及用于支持在移動(dòng)裝置300上運(yùn)行的處理器和客戶端的其它類似組件。
行為觀測(cè)器模塊302還可通過(guò)監(jiān)視表示移動(dòng)裝置300和/或計(jì)算裝置子系統(tǒng)的狀態(tài)的一或多個(gè)硬件計(jì)數(shù)器而監(jiān)視移動(dòng)裝置300的活動(dòng)。硬件計(jì)數(shù)器可包含經(jīng)配置以存儲(chǔ)發(fā)生在移動(dòng)裝置300中的硬件相關(guān)活動(dòng)或事件的計(jì)數(shù)值或狀態(tài)的處理器/核心的專用寄存器。
行為觀測(cè)器模塊302還可通過(guò)監(jiān)視軟件應(yīng)用程序的動(dòng)作或操作、從應(yīng)用程序下載服務(wù)器(例如,
行為觀測(cè)器模塊302還可通過(guò)監(jiān)視移動(dòng)裝置300的發(fā)射或通信來(lái)監(jiān)視移動(dòng)裝置300的活動(dòng),所述通信包括包含以下各項(xiàng)的通信:話音郵件(voicemailcomm)、裝置識(shí)別符(deviceidcomm)、用戶帳戶信息(useraccountcomm)、日歷信息(calendarcomm)、位置信息(locationcomm)、所記錄的音頻信息(recordaudiocomm)、加速度計(jì)信息(accelerometercomm)等。
行為觀測(cè)器模塊302還可通過(guò)監(jiān)視指南針信息、計(jì)算裝置設(shè)定、電池壽命、陀螺儀信息、壓力傳感器、磁體傳感器、屏幕活動(dòng)等的使用以及對(duì)其的更新/改變而監(jiān)視移動(dòng)裝置300的活動(dòng)。行為觀測(cè)器模塊302可監(jiān)視傳送到軟件應(yīng)用程序和從軟件應(yīng)用程序傳送的通知(appnotifications)、應(yīng)用程序更新等。行為觀測(cè)器模塊302可監(jiān)視關(guān)于第一軟件應(yīng)用程序請(qǐng)求第二軟件應(yīng)用程序的下載和/或安裝的條件或事件。行為觀測(cè)器模塊302可以監(jiān)視關(guān)于用戶檢驗(yàn)的條件或事件,例如密碼的輸入等。
行為觀測(cè)器模塊302還可通過(guò)監(jiān)視在移動(dòng)裝置300的多個(gè)層級(jí)處的條件或事件來(lái)監(jiān)視移動(dòng)裝置300的活動(dòng),這些層級(jí)包括應(yīng)用程序?qū)蛹?jí)、無(wú)線電層級(jí)和傳感器層級(jí)。應(yīng)用程序?qū)蛹?jí)觀測(cè)可包含經(jīng)由面部辨識(shí)軟件來(lái)觀測(cè)用戶、觀測(cè)社交流、觀測(cè)用戶輸入的筆記、觀測(cè)關(guān)于
無(wú)線電層級(jí)觀測(cè)可包含確定以下各項(xiàng)中的任一者或更多的存在、現(xiàn)存或量:在建立無(wú)線電通信鏈路或發(fā)射信息之前與移動(dòng)裝置300的用戶交互、雙/多訂戶識(shí)別模塊(sim)卡、因特網(wǎng)無(wú)線電、移動(dòng)電話網(wǎng)絡(luò)共享、卸載用于計(jì)算的數(shù)據(jù)、裝置狀態(tài)通信、作為游戲控制器或家庭控制器的使用、交通工具通信、計(jì)算裝置同步等。無(wú)線電層級(jí)觀測(cè)還可包含監(jiān)視無(wú)線電(wifi、wimax、藍(lán)牙等)的使用以用于定位、對(duì)等式(p2p)通信、同步、交通工具到交通工具通信,和/或機(jī)器到機(jī)器(m2m)。無(wú)線電層級(jí)觀測(cè)可以進(jìn)一步包括監(jiān)視網(wǎng)絡(luò)業(yè)務(wù)使用、統(tǒng)計(jì)數(shù)據(jù)或簡(jiǎn)檔。
傳感器層級(jí)觀測(cè)可包含監(jiān)視磁體傳感器或其它傳感器以確定移動(dòng)裝置300的使用和/或外部環(huán)境。舉例來(lái)說(shuō),計(jì)算裝置處理器可經(jīng)配置以確定裝置是否在皮套中(例如,經(jīng)由皮套內(nèi)的經(jīng)配置以感測(cè)磁體的磁體傳感器)或在用戶的口袋中(例如,經(jīng)由相機(jī)或光傳感器檢測(cè)到的光量)。檢測(cè)移動(dòng)裝置300在皮套中可以與辨識(shí)可疑行為相關(guān),舉例來(lái)說(shuō),因?yàn)榕c用戶的主動(dòng)使用相關(guān)的活動(dòng)和功能(例如,拍攝照片或視頻、發(fā)送消息、進(jìn)行話音呼叫、記錄聲音等)在移動(dòng)裝置300裝在皮套中的同時(shí)發(fā)生可以是在裝置上執(zhí)行違法過(guò)程(例如,跟蹤或監(jiān)視用戶)的征兆。
與使用或外部環(huán)境相關(guān)的傳感器層級(jí)觀測(cè)的其它實(shí)例可包含:檢測(cè)近場(chǎng)通信(nfc)信令、從信用卡掃描儀、條形碼掃描儀或移動(dòng)標(biāo)簽讀取器收集信息、檢測(cè)通用串行總線(usb)電力充電源的存在、檢測(cè)已經(jīng)耦合到移動(dòng)裝置300的鍵盤(pán)或輔助裝置、檢測(cè)移動(dòng)裝置300已經(jīng)耦合到另一計(jì)算裝置(例如,經(jīng)由usb等)、確定led、閃光燈、手電筒或光源是否已經(jīng)是經(jīng)修改或停用的(例如,惡意停用緊急信令應(yīng)用程序等)、檢測(cè)揚(yáng)聲器或麥克風(fēng)已經(jīng)接通或供電、檢測(cè)充電或電源事件、檢測(cè)移動(dòng)裝置300被用作游戲控制器等。傳感器層級(jí)觀測(cè)還可包含:從醫(yī)學(xué)或醫(yī)療傳感器中收集信息或者通過(guò)掃描用戶的身體收集信息、從插入到usb/音頻插孔中的外部傳感器收集信息、從觸感或觸覺(jué)傳感器收集信息(例如,經(jīng)由振動(dòng)器接口等)、收集關(guān)于移動(dòng)裝置300的熱狀態(tài)的信息等。
為了將所監(jiān)視因數(shù)的數(shù)目減少到可管理的水平,在一個(gè)實(shí)施例中,行為觀測(cè)器模塊302可經(jīng)配置以通過(guò)監(jiān)視/觀測(cè)行為或因數(shù)的初始集合來(lái)執(zhí)行粗略觀測(cè),所述行為或因數(shù)的初始集合是可以造成計(jì)算裝置的降級(jí)的全部因數(shù)的較小子集。在一個(gè)實(shí)施例中,行為觀測(cè)器模塊302可以從云服務(wù)或網(wǎng)絡(luò)中的服務(wù)器和/或組件中接收行為和/或因數(shù)的初始集合。在一個(gè)實(shí)施例中,可以在機(jī)器學(xué)習(xí)分類器模型中指定行為/因數(shù)的初始集合。
行為觀測(cè)器模塊302可將所收集行為信息傳送(例如,經(jīng)由存儲(chǔ)器寫(xiě)入操作、功能調(diào)用等)到行為提取器模塊304。行為提取器模塊304可經(jīng)配置以接收或檢索所收集行為信息,且使用此信息以產(chǎn)生一或多個(gè)行為向量。每一行為向量可在值或向量數(shù)據(jù)結(jié)構(gòu)中簡(jiǎn)明地描述裝置、軟件應(yīng)用程序或進(jìn)程的行為。向量數(shù)據(jù)結(jié)構(gòu)可包含數(shù)字的系列,其中的每一系列表示移動(dòng)裝置的特征或行為,例如移動(dòng)裝置的相機(jī)是否在使用中(例如,為零或一)、已從移動(dòng)裝置發(fā)射或產(chǎn)生多少網(wǎng)絡(luò)業(yè)務(wù)(例如,20kb/秒等)、已經(jīng)傳送多少因特網(wǎng)消息(例如,sms消息的數(shù)目等),和/或由行為觀測(cè)器模塊302收集的任何其它行為信息。在實(shí)施例中,行為提取器模塊304可經(jīng)配置以產(chǎn)生行為向量以使得它們充當(dāng)識(shí)別符,所述識(shí)別符使得移動(dòng)裝置系統(tǒng)(例如,行為分析器模塊306)能夠快速地辨識(shí)、識(shí)別或分析裝置的行為。
在實(shí)施例中,行為提取器模塊304可經(jīng)配置以產(chǎn)生行為向量以包含可輸入到機(jī)器學(xué)習(xí)分類器中的特征/決策節(jié)點(diǎn)的信息以產(chǎn)生對(duì)關(guān)于所監(jiān)視的一或多個(gè)活動(dòng)的詢問(wèn)的回答。
在實(shí)施例中,行為提取器模塊304可經(jīng)配置以產(chǎn)生行為向量以包含執(zhí)行信息。執(zhí)行信息可以包含于行為向量中作為行為的一部分(例如,通過(guò)后臺(tái)過(guò)程相機(jī)在三秒中使用五次、通過(guò)前臺(tái)過(guò)程相機(jī)在三秒中使用三次等)或者作為獨(dú)立特征的一部分。在一個(gè)實(shí)施例中,執(zhí)行狀態(tài)信息可以包含于行為向量中作為陰影特征值子向量或數(shù)據(jù)結(jié)構(gòu)。在一實(shí)施例中,行為向量可存儲(chǔ)與同執(zhí)行狀態(tài)相關(guān)的特征、活動(dòng)、任務(wù)相關(guān)聯(lián)的陰影特征值子向量/數(shù)據(jù)結(jié)構(gòu)。
行為提取器模塊304可將所產(chǎn)生行為向量傳送(例如,經(jīng)由存儲(chǔ)器寫(xiě)入操作、功能調(diào)用等)到行為分析器模塊306。行為分析器模塊306可經(jīng)配置以將行為向量應(yīng)用于分類器模塊以確定裝置行為是否為隨時(shí)間而貢獻(xiàn)于(或可能貢獻(xiàn)于)裝置的降級(jí)和/或可能另外對(duì)裝置造成問(wèn)題的非良性行為。
每一分類器模型可以是包含數(shù)據(jù)和/或信息結(jié)構(gòu)(例如,特征向量、行為向量、組件列表等)的行為模型,所述數(shù)據(jù)和/或信息結(jié)構(gòu)可以由計(jì)算裝置處理器使用以評(píng)估計(jì)算裝置的行為的特定特征或?qū)嵤├?。每個(gè)分類器模型還可以包括用于監(jiān)視計(jì)算裝置中的多個(gè)特征、因數(shù)、數(shù)據(jù)點(diǎn)、條目、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ù)十億的條目。精益分類器模型可以是從簡(jiǎn)化數(shù)據(jù)集中產(chǎn)生的更集中的數(shù)據(jù)模型,其僅包含/測(cè)試與用于確定特定活動(dòng)是否是進(jìn)行中的關(guān)鍵活動(dòng)和/或特定計(jì)算裝置行為是否并不是良性的最相關(guān)的特征/條目。作為實(shí)例,裝置處理器可以是可經(jīng)配置以從網(wǎng)絡(luò)服務(wù)器中接收完整分類器模型、在移動(dòng)裝置中基于完整分類器產(chǎn)生精益分類器模型,并且使用本地產(chǎn)生的精益分類器模型來(lái)將裝置的行為分類為良性或非良性的(即,惡意、性能降級(jí)等)。
本地產(chǎn)生的精益分類器模型是產(chǎn)生于計(jì)算裝置中的精益分類器模型。即,由于移動(dòng)裝置是高度可配置且復(fù)雜的系統(tǒng),因此對(duì)于確定特定裝置行為是否為非良性的(例如,惡意或性能降級(jí))來(lái)說(shuō)最重要的特征可能在每一裝置中不同。另外,可能需要在每個(gè)裝置中監(jiān)視和/或分析特征的不同組合以便所述裝置快速地且有效地確定特定行為是否為非良性的。然而,需要監(jiān)視和分析的特征的精確組合和每個(gè)特征或特征組合的相對(duì)優(yōu)先級(jí)或重要性通常僅可以使用從其中行為待監(jiān)視或分析的特定的裝置中獲得的信息來(lái)確定。出于這些和其它原因,各種實(shí)施例可以在其中使用模型的移動(dòng)裝置中產(chǎn)生分類器模型。這些本地分類器模型使得裝置處理器能夠準(zhǔn)確地識(shí)別在確定特定的裝置上的行為是否是非良性的(例如,貢獻(xiàn)于裝置性能降級(jí))中最重要的特定特征。本地分類器模型還允許裝置處理器根據(jù)特征的相對(duì)重要性將所測(cè)試或評(píng)估的特征區(qū)分優(yōu)先級(jí)以對(duì)所述特定裝置中的行為進(jìn)行分類。
裝置特定的分類器模型是包括集中數(shù)據(jù)模型的分類器模型,所述集中數(shù)據(jù)模型僅包含/測(cè)試經(jīng)確定為與對(duì)特定計(jì)算裝置中的活動(dòng)或行為進(jìn)行分類最相關(guān)的計(jì)算裝置特定的特征/條目。
應(yīng)用程序特定的分類器模型是包含集中數(shù)據(jù)模型的分類器模型,所述集中數(shù)據(jù)模型僅包含/測(cè)試與用于評(píng)估特定軟件應(yīng)用程序最相關(guān)的特征/條目。
用戶特定的分類器模型可為包含集中數(shù)據(jù)模型的本地分類器模型,所述集中數(shù)據(jù)模型包含或?qū)?duì)與以下各項(xiàng)最相關(guān)的特征/條目的測(cè)試區(qū)分優(yōu)先級(jí):識(shí)別裝置的用戶、確定用戶的個(gè)人信息、確定裝置行為是否與經(jīng)識(shí)別用戶的個(gè)人信息一致、確定裝置行為是否與其經(jīng)識(shí)別用戶中的一者對(duì)所述裝置的普通使用一致,或確定用戶的活動(dòng)是否指示非良性裝置行為。
通過(guò)在移動(dòng)裝置中本地動(dòng)態(tài)地產(chǎn)生用戶特定、裝置特定和/或應(yīng)用程序特定的分類器模型,各種實(shí)施例允許裝置處理器將其監(jiān)視和分析操作集中于對(duì)確定所述特定移動(dòng)裝置和/或在所述裝置中操作的特定軟件應(yīng)用程序的操作是否與所述特定裝置的已知用戶的個(gè)性、習(xí)慣或普通使用模式一致而言最重要的少數(shù)特征。
在實(shí)施例中,行為分析器模塊306可經(jīng)配置以當(dāng)其行為分析操作的結(jié)果并不提供足夠信息以將裝置行為分類為良性或非良性時(shí)將行為分類為“可疑”。行為分析器模塊306可經(jīng)配置以響應(yīng)于確定裝置行為是可疑的而通知行為觀測(cè)器模塊302。作為響應(yīng),行為觀測(cè)器模塊302可調(diào)整其觀測(cè)的粒度(即,監(jiān)視到計(jì)算裝置特征的細(xì)節(jié)水平)和/或改變基于從行為分析器模塊306接收的信息(例如,實(shí)時(shí)分析操作的結(jié)果)監(jiān)視的因數(shù)或行為,產(chǎn)生或收集新的或額外的行為信息,并且發(fā)送新的/額外的信息到行為分析器模塊306以用于進(jìn)一步的分析/分類。行為觀測(cè)器模塊302與行為分析器模塊306之間的此類反饋通信使得移動(dòng)裝置300能夠以遞歸方式增大觀測(cè)的粒度(即,進(jìn)行更加精細(xì)或更加詳細(xì)的觀測(cè))或改變所觀測(cè)到的特征/行為直到共同行為被分類為良性或非良性的、識(shí)別出可疑或性能降級(jí)行為的來(lái)源、直到達(dá)到處理或電池消耗閾值為止,或直到裝置處理器確定可疑或性能降級(jí)裝置行為的來(lái)源無(wú)法通過(guò)觀測(cè)粒度的進(jìn)一步的改變、調(diào)整或增加而識(shí)別為止。此類反饋通信還使得移動(dòng)裝置300能夠調(diào)整或修改行為向量和分類器模型而不會(huì)消耗過(guò)量的計(jì)算裝置的處理、存儲(chǔ)器或能量資源。
在實(shí)施例中,行為分析器模塊306可經(jīng)配置以接收且分析由各種移動(dòng)裝置子系統(tǒng)和/或在各種時(shí)間周期中收集的信息以學(xué)習(xí)移動(dòng)裝置在多種情境和條件下的正常操作行為,且產(chǎn)生在各種情境/條件下的正常移動(dòng)裝置行為的模型(例如,呈分類器模型等的形式)。在實(shí)施例中,行為分析器模塊306可經(jīng)配置以對(duì)照所產(chǎn)生行為模型使所收集行為信息或行為向量相關(guān),且基于所述相關(guān)而執(zhí)行行為分析操作以確定所接收觀測(cè)是否與學(xué)習(xí)的正常操作行為沖突(或不匹配)。
作為高級(jí)實(shí)例,移動(dòng)裝置300可能檢測(cè)(經(jīng)由所收集行為信息)到相機(jī)已經(jīng)使用、移動(dòng)裝置300正在嘗試將圖片上載到服務(wù)器,以及當(dāng)裝置在皮套中且附接到用戶的皮帶時(shí)在移動(dòng)裝置上的應(yīng)用程序拍攝照片。移動(dòng)裝置300可確定此檢測(cè)到的行為(例如,在皮套中時(shí)相機(jī)的使用)是否為對(duì)于用戶可接受或常見(jiàn)的行為。這可通過(guò)將所檢測(cè)行為(例如,所產(chǎn)生行為向量)與移動(dòng)裝置300或用戶的過(guò)去行為進(jìn)行比較而實(shí)現(xiàn)。由于在皮套中時(shí)拍攝照片且將照片上載到服務(wù)器是不尋常的行為(如從在皮套中的情境中觀測(cè)到的正常行為可確定),因此在此情形下,計(jì)算裝置可將此辨識(shí)為與用戶對(duì)計(jì)算裝置的普通使用模式不一致,且起始適當(dāng)?shù)捻憫?yīng)(例如,關(guān)斷相機(jī)、發(fā)出警報(bào)聲等)。
在各種實(shí)施例中,移動(dòng)裝置300可經(jīng)配置以結(jié)合網(wǎng)絡(luò)服務(wù)器工作以智能地且有效地識(shí)別與確定活動(dòng)或行為是否是非良性的最相關(guān)的特征、因數(shù)和數(shù)據(jù)點(diǎn)。舉例來(lái)說(shuō),裝置處理器可經(jīng)配置以從網(wǎng)絡(luò)服務(wù)器接收完整分類器模型,并且使用接收到的完整分類器模型來(lái)產(chǎn)生特定針對(duì)于裝置的用戶和/或裝置或其軟件應(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)用直到實(shí)現(xiàn)行為的確定性分類。以此方式,裝置處理器可以通過(guò)將最完整但是資源密集型精益分類器模型的使用限制于其中需要穩(wěn)健分類器模型以確定性地對(duì)行為進(jìn)行分類的那些情況而在效率與準(zhǔn)確性之間形成均衡。
在各種實(shí)施例中,裝置處理器可經(jīng)配置以通過(guò)將包含于完整分類器模型中的有限狀態(tài)機(jī)表示或表達(dá)轉(zhuǎn)換為增強(qiáng)的決策柱而產(chǎn)生精益分類器模型。裝置處理器可基于用戶個(gè)人信息或用戶特定的裝置特征而刪除或挑選增強(qiáng)的決策柱的完整集合以產(chǎn)生包括包含于完整分類器模型中的增強(qiáng)的決策柱的子集的精益分類器模型。裝置處理器可隨后使用精益分類器模型以智能地監(jiān)視、分析裝置行為和/或?qū)ρb置行為進(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)發(fā)射的頻率小于每分鐘x”,那么將“3”的值應(yīng)用于增強(qiáng)的決策柱將引起“是”的回答(對(duì)于“小于3”的sms發(fā)射)或“否”的回答(對(duì)于“3或大于3的”sms發(fā)射)。增強(qiáng)的決策柱是高效的因?yàn)樗鼈兪欠浅:?jiǎn)單且原始的(并且因此并不需要相當(dāng)大的處理資源)。增強(qiáng)的決策柱也是非??刹⑿谢模⑶乙虼嗽S多柱可以并行/同時(shí)應(yīng)用或測(cè)試(例如,通過(guò)計(jì)算裝置中的多個(gè)核心或處理器)。
圖4a說(shuō)明根據(jù)一實(shí)施例的檢測(cè)且響應(yīng)于虛假u(mài)i事件的方法400。方法400可由移動(dòng)或資源受限的計(jì)算裝置的裝置處理器執(zhí)行。在框402中,裝置處理器可從計(jì)算裝置的一或多個(gè)裝置驅(qū)動(dòng)器接收原始數(shù)據(jù)。在框404中,裝置處理器可從計(jì)算裝置的高層級(jí)操作系統(tǒng)(hlos)接收用戶交互(ui)信息。在框406中,裝置處理器可將從裝置驅(qū)動(dòng)器接收的原始數(shù)據(jù)與從hlos接收的用戶交互事件信息進(jìn)行比較以產(chǎn)生第一分析結(jié)果。
在確定框408中,裝置處理器可使用所產(chǎn)生第一分析結(jié)果以確定用戶交互(ui)事件是否與用戶交互相關(guān)。此確定可評(píng)估從一或多個(gè)裝置驅(qū)動(dòng)器接收的原始數(shù)據(jù)是否匹配或另外相關(guān)于報(bào)告給hlos/由hlos報(bào)告的ui事件。如果裝置驅(qū)動(dòng)器原始數(shù)據(jù)不相關(guān)(或匹配)于來(lái)自hlos的ui信息,那么這可指示所接收ui事件是虛假的,且計(jì)算裝置可將所檢測(cè)ui事件分類為虛假u(mài)i事件。
響應(yīng)于確定ui事件與用戶交互相關(guān),且因此ui事件不是虛假u(mài)i事件(即,確定框408=“是”),裝置處理器可在框410中將行為向量應(yīng)用于分類器模型以產(chǎn)生第二分析結(jié)果。在框412中,裝置處理器可使用第二分析結(jié)果以確定裝置行為是否為非良性的。作為框410和412的操作的部分,裝置處理器可執(zhí)行上文參考圖3論述的操作中的任一者或全部。
響應(yīng)于確定ui事件不與用戶交互相關(guān),且因此ui事件是虛假u(mài)i事件(即,確定框408=“否”),裝置處理器可在框414中向計(jì)算裝置的基于行為的安全系統(tǒng)報(bào)告虛假u(mài)i事件。在框414中,裝置處理器可(例如,經(jīng)由基于行為的安全系統(tǒng))將所述裝置行為分類為非良性的。因此,在實(shí)施例中,基于行為的安全系統(tǒng)可經(jīng)配置以將經(jīng)確定為與虛假u(mài)i事件相關(guān)聯(lián)的所有軟件應(yīng)用程序分類為非良性的。
圖4b說(shuō)明根據(jù)另一實(shí)施例的檢測(cè)且響應(yīng)于虛假u(mài)i事件的另一方法420。方法420可由移動(dòng)或資源受限的計(jì)算裝置的裝置處理器執(zhí)行,所述計(jì)算裝置以處理器可執(zhí)行指令配置以執(zhí)行所述方法的操作。在框422中,裝置處理器可將從一或多個(gè)裝置驅(qū)動(dòng)器接收的原始數(shù)據(jù)與從hlos接收的ui信息進(jìn)行比較。在確定框424中,裝置處理器可使用所述比較結(jié)果以確定ui事件是否與用戶交互相關(guān)且因此是或不是虛假u(mài)i事件。響應(yīng)于確定ui事件與用戶交互相關(guān),且因此ui事件不是虛假u(mài)i事件(即,確定框424=“是”),裝置處理器可在框426中通過(guò)將行為向量應(yīng)用于分類器模型而產(chǎn)生分析結(jié)果,所述分類器模型包含測(cè)試與用戶交互相關(guān)的條件的決策節(jié)點(diǎn)。在框428中,裝置處理器可使用所述分析結(jié)果以確定裝置行為(例如,軟件應(yīng)用程序的活動(dòng)等)是否為非良性的。
響應(yīng)于確定ui事件不與用戶交互相關(guān),且因此ui事件是虛假u(mài)i事件(即,確定框424=“否”),裝置處理器可在框430中向基于行為的安全系統(tǒng)報(bào)告虛假u(mài)i事件。在框432中,裝置處理器可通過(guò)在框426中將行為向量應(yīng)用于分類器模型而產(chǎn)生分析結(jié)果,所述分類器模型不包含測(cè)試與用戶交互相關(guān)的條件的任何決策節(jié)點(diǎn)。在框428中,使用分析結(jié)果以確定裝置行為(例如,軟件應(yīng)用程序的活動(dòng)等)是否為非良性的。
各種實(shí)施例也可以用來(lái)辨識(shí)或至少識(shí)別泄密的用戶輸入傳感器裝置驅(qū)動(dòng)器的可能性。這些能力可有用于辨識(shí)惡意軟件何時(shí)已包括或?qū)⒚娌縰i事件插入到用于用戶輸入裝置或傳感器的裝置驅(qū)動(dòng)器中。舉例來(lái)說(shuō),如果用于觸摸屏的裝置驅(qū)動(dòng)器已泄密,那么從裝置驅(qū)動(dòng)器接收(例如,在框402中)的原始數(shù)據(jù)可能自身為虛假的,在此情況下比較來(lái)自hlos的ui信息可能不足以檢測(cè)此水平的攻擊。
為了解決此可能,圖4c說(shuō)明根據(jù)另一實(shí)施例的用于檢測(cè)且響應(yīng)于泄密的用戶輸入傳感器裝置驅(qū)動(dòng)器的另一方法450。方法450可由移動(dòng)或資源受限的計(jì)算裝置的裝置處理器執(zhí)行,且可除上述方法400和420之外或作為其中任一者的替代而執(zhí)行。在框452中,裝置處理器可比較從一或多個(gè)用戶輸入傳感器接收的原始數(shù)據(jù)與從輸入傳感器裝置驅(qū)動(dòng)器接收的數(shù)據(jù)。舉例來(lái)說(shuō),裝置處理器可接收由觸摸屏提供的原始輸出數(shù)據(jù)且比較所述數(shù)據(jù)與從觸摸屏裝置驅(qū)動(dòng)器接收的數(shù)據(jù)。
在確定框454中,裝置處理器可使用所述比較結(jié)果以確定用戶輸入傳感器數(shù)據(jù)是否與對(duì)應(yīng)裝置驅(qū)動(dòng)器數(shù)據(jù)相關(guān)。此確定可考慮傳感器數(shù)據(jù)和裝置驅(qū)動(dòng)器數(shù)據(jù)的不同格式。舉例來(lái)說(shuō),裝置處理器可以類似于裝置驅(qū)動(dòng)器的方式應(yīng)用變換或分析原始傳感器數(shù)據(jù)以便基于原始傳感器數(shù)據(jù)確定應(yīng)當(dāng)接收的裝置驅(qū)動(dòng)器輸出數(shù)據(jù),且然后比較所接收裝置驅(qū)動(dòng)器數(shù)據(jù)與預(yù)期數(shù)據(jù)以確定是否存在匹配。舉例來(lái)說(shuō),在確定框454中,裝置處理器可進(jìn)入由觸摸屏提供的輸出數(shù)據(jù)流,處理觸摸屏幕數(shù)據(jù)流以確定來(lái)自觸摸屏裝置驅(qū)動(dòng)器的適當(dāng)輸出,且然后比較所確定的適當(dāng)輸出與由觸摸屏裝置驅(qū)動(dòng)器產(chǎn)生的原始數(shù)據(jù)。
響應(yīng)于確定原始ui傳感器數(shù)據(jù)與從用于所述傳感器的裝置驅(qū)動(dòng)器接收的原始數(shù)據(jù)相關(guān)(即,確定框454=“是”),裝置處理器可通過(guò)如上文所描述在框426中將行為向量應(yīng)用于分類器模型而產(chǎn)生分析結(jié)果,所述分類器模型包含測(cè)試與用戶交互相關(guān)的條件的決策節(jié)點(diǎn)。
響應(yīng)于確定原始ui傳感器數(shù)據(jù)與從用于所述傳感器的裝置驅(qū)動(dòng)器接收的原始數(shù)據(jù)相關(guān)(即,確定框424=“否”),裝置處理器可在框456中向基于行為的安全系統(tǒng)報(bào)告裝置驅(qū)動(dòng)器潛在地被破壞。在一些實(shí)施例中,缺乏原始傳感器數(shù)據(jù)到裝置驅(qū)動(dòng)器數(shù)據(jù)的相關(guān)可足以確定惡意軟件或類似地不可接受的條件存在,在此情況下向基于行為的安全系統(tǒng)的報(bào)告可足以將裝置行為(例如,軟件應(yīng)用程序的活動(dòng))分類為非良性。然而,在一些實(shí)施例中,原始傳感器數(shù)據(jù)與裝置驅(qū)動(dòng)器數(shù)據(jù)的比較可能不足以確定性地確定裝置驅(qū)動(dòng)器泄密,因?yàn)閿?shù)據(jù)失配可能是由于傳感器的問(wèn)題、傳感器與裝置驅(qū)動(dòng)器之間的連接中的噪聲、裝置驅(qū)動(dòng)器是與在確定框454中由裝置處理器模擬的版本不同的版本等等。因此,在此類實(shí)施例中,向安全系統(tǒng)的報(bào)告可能僅為存在裝置驅(qū)動(dòng)器已泄密的可能,并且基于行為的安全系統(tǒng)的進(jìn)一步分析可為必要的(例如,框432和428中)以便將裝置行為分類為良性或非良性。
在框432中,裝置處理器可如上文所描述通過(guò)將行為向量應(yīng)用于分類器模型而產(chǎn)生分析結(jié)果,所述分類器模型不包含測(cè)試與用戶交互相關(guān)的條件的任何決策節(jié)點(diǎn)。此分析可避免受到在裝置驅(qū)動(dòng)器層級(jí)起始的虛假u(mài)i事件的欺騙,以及避免可能由ui傳感器和傳感器的裝置驅(qū)動(dòng)器中的任一者中或之間的故障引起的錯(cuò)誤肯定。
在框428中,裝置處理器可如上文所描述使用來(lái)自框426或432的分析結(jié)果以確定裝置行為(例如,軟件應(yīng)用程序的活動(dòng)等)是否為非良性的。
圖5說(shuō)明使用一系列精益分類器模型對(duì)計(jì)算裝置中的裝置行為進(jìn)行分類的實(shí)施例方法500。方法500可由移動(dòng)或資源受限的計(jì)算裝置的裝置處理器執(zhí)行,所述計(jì)算裝置以處理器可執(zhí)行指令配置以執(zhí)行所述方法的操作。
在框502中,裝置處理器可執(zhí)行觀測(cè)以從在移動(dòng)裝置系統(tǒng)的各種層級(jí)處儀表化的各種組件收集行為信息。在實(shí)施例中,這可經(jīng)由上文參考圖3所論述的行為觀測(cè)器模塊302而實(shí)現(xiàn)。在框504中,裝置處理器可產(chǎn)生表征所收集行為信息和/或移動(dòng)裝置行為的行為向量。另外,在框504中,裝置處理器可以使用從網(wǎng)絡(luò)服務(wù)器接收的完整分類器模型以產(chǎn)生不同復(fù)雜度水平(或“精益度”)的精益分類器模型或一系列精益分類器模型。為了實(shí)現(xiàn)這一點(diǎn),裝置處理器可以剔除包含于完整分類器模型中的一系列增強(qiáng)的決策柱以產(chǎn)生包含減少的數(shù)目的增強(qiáng)的決策柱和/或評(píng)估有限數(shù)目的測(cè)試條件的精益分類器模型。在實(shí)施例中,精益分類器模型中的一或多者可為用戶特定的分類器模型。
在框506中,裝置處理器可以選擇在所述系列的精益分類器模型中的最精益的分類器(即,基于最少數(shù)目的不同的移動(dòng)裝置狀態(tài)、特征、行為或條件的模型),但所述最精益的分類器尚未由移動(dòng)裝置評(píng)估或應(yīng)用。在一實(shí)施例中,這可以通過(guò)裝置處理器選擇分類器模型的有序列表中的第一分類器模型而實(shí)現(xiàn)。在框508中,裝置處理器可以將所收集的行為信息或行為向量應(yīng)用于所選擇的精益分類器模型中的每個(gè)增強(qiáng)的決策柱。因?yàn)樵鰪?qiáng)的決策柱是二進(jìn)制決策并且精益分類器模型是通過(guò)基于同一測(cè)試條件選擇許多二進(jìn)制決策產(chǎn)生的,所以將行為向量應(yīng)用于精益分類器模型中的增強(qiáng)的決策柱的過(guò)程可以在并行操作中執(zhí)行。替代地,行為向量可經(jīng)截?cái)嗷蜻^(guò)濾以僅包含有限數(shù)目的包含于精益分類器模型中的測(cè)試條件參數(shù),從而進(jìn)一步減少應(yīng)用所述模型時(shí)的計(jì)算努力。
在框510中,裝置處理器可以計(jì)算或確定將所收集的行為信息應(yīng)用于精益分類器模型中的每個(gè)增強(qiáng)的決策柱的結(jié)果的加權(quán)平均。在框512中,裝置處理器可將所計(jì)算加權(quán)平均與閾值進(jìn)行比較。在確定框514中,裝置處理器可以確定此比較的結(jié)果和/或通過(guò)應(yīng)用所選擇的精益分類器模型產(chǎn)生的結(jié)果是否為可疑的。舉例來(lái)說(shuō),裝置處理器可以確定這些結(jié)果是否可用于以較高程度的置信度將行為分類為惡意或良性的,并且如果不是則將行為作為可疑的對(duì)待。
如果裝置處理器確定所述結(jié)果是可疑的(例如,確定框514=“是”),那么裝置處理器可重復(fù)框506到512中的操作以選擇和應(yīng)用較強(qiáng)(即,較不精益)分類器模型,其評(píng)估更多裝置狀態(tài)、特征、行為或條件直到以高度的置信度將行為分類為惡意或良性的。如果裝置處理器確定結(jié)果不是可疑的(例如,確定框514=“否”),例如通過(guò)確定行為可以高度的置信度被分類為惡意或良性的,那么在框516中,裝置處理器可以使用產(chǎn)生于框512中的比較的結(jié)果以將移動(dòng)裝置的行為分類為良性或潛在惡意的。
在替代實(shí)施例方法中,上文所述的操作可以依序通過(guò)以下各項(xiàng)而實(shí)現(xiàn):選擇并非已經(jīng)在精益分類器模型中的增強(qiáng)的決策柱;識(shí)別取決于與所選擇的決策柱相同的移動(dòng)裝置狀態(tài)、特征、行為或條件(且因此可以基于一個(gè)確定結(jié)果應(yīng)用)的全部其它增強(qiáng)的決策柱;在精益分類器模型中包含所選擇的和取決于相同移動(dòng)裝置狀態(tài)、特征、行為或條件的全部所識(shí)別的其它增強(qiáng)的決策柱;并且以等于測(cè)試條件的所確定數(shù)目的次數(shù)重復(fù)所述過(guò)程。因?yàn)槿Q于與所選擇的增強(qiáng)的決策柱相同的測(cè)試條件的全部增強(qiáng)的決策柱每次被添加到精益分類器模型,所以限制執(zhí)行這一過(guò)程的次數(shù)將限制包含于精益分類器模型中的測(cè)試條件的數(shù)目。
圖6說(shuō)明根據(jù)各種實(shí)施例的適合于產(chǎn)生適合使用的決策樹(shù)/分類器的實(shí)例方法600。方法600可由移動(dòng)或資源受限的計(jì)算裝置的裝置處理器執(zhí)行,所述計(jì)算裝置以處理器可執(zhí)行指令配置以執(zhí)行所述方法的操作。在框602中,裝置處理器可以產(chǎn)生和/或執(zhí)行決策樹(shù)/分類器、從決策樹(shù)/分類器的執(zhí)行中收集訓(xùn)練樣本,并且基于訓(xùn)練樣本產(chǎn)生新的分類器模型(h1(x))。訓(xùn)練樣本可包含從移動(dòng)裝置行為、軟件應(yīng)用程序或移動(dòng)裝置中的過(guò)程的先前觀測(cè)或分析中收集的信息。訓(xùn)練樣本和/或新的分類器模型(h1(x))可基于包含在先前分類器中的問(wèn)題或測(cè)試條件的類型和/或基于從先前數(shù)據(jù)/行為模型或分類器的執(zhí)行/應(yīng)用中收集的準(zhǔn)確性或性能特性而產(chǎn)生。
在框604中,裝置處理器可以增強(qiáng)(或增加)通過(guò)所產(chǎn)生的決策樹(shù)/分類器(h1(x))錯(cuò)分類的條目的權(quán)重以產(chǎn)生第二新樹(shù)/分類器(h2(x))。在一實(shí)施例中,訓(xùn)練樣本和/或新分類器模型(h2(x))可以基于分類器的先前執(zhí)行或使用(h1(x))的錯(cuò)誤率而產(chǎn)生。在一實(shí)施例中,訓(xùn)練樣本和/或新分類器模型(h2(x))可以基于確定為對(duì)分類器的先前執(zhí)行或使用中的錯(cuò)誤率或數(shù)據(jù)點(diǎn)的錯(cuò)分類有貢獻(xiàn)的屬性而產(chǎn)生。
在一實(shí)施例中,錯(cuò)分類條目可以基于它們的相對(duì)準(zhǔn)確性或有效性而加權(quán)。在操作606中,處理器可以增強(qiáng)(或增加)通過(guò)所產(chǎn)生的第二樹(shù)/分類器(h2(x))錯(cuò)分類的條目的權(quán)重以產(chǎn)生第三新樹(shù)/分類器(h3(x))。在操作608中,可重復(fù)604到606的操作以產(chǎn)生“t”數(shù)目的新樹(shù)/分類器(ht(x))。
通過(guò)增強(qiáng)或增加通過(guò)第一決策樹(shù)/分類器(h1(x))錯(cuò)分類的條目的權(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í)體中的一些進(jìn)行錯(cuò)分類。也就是說(shuō),產(chǎn)生所述系列的樹(shù)/分類器h1(x)-ht(x)不會(huì)導(dǎo)致整體收斂的系統(tǒng),而是導(dǎo)致可以并行地執(zhí)行的多個(gè)決策樹(shù)/分類器。
圖7說(shuō)明了根據(jù)一實(shí)施例用于執(zhí)行動(dòng)態(tài)和自適應(yīng)觀測(cè)的實(shí)例方法700。方法700可由移動(dòng)或資源受限的計(jì)算裝置的裝置處理器執(zhí)行,所述計(jì)算裝置以處理器可執(zhí)行指令配置以執(zhí)行所述方法的操作。在框702中,裝置處理器可通過(guò)監(jiān)視/觀測(cè)可能貢獻(xiàn)于移動(dòng)裝置的降級(jí)的大量因數(shù)、行為和活動(dòng)的子集而執(zhí)行粗略觀測(cè)。在框703中,裝置處理器可產(chǎn)生表征所述粗略觀測(cè)和/或基于粗略觀測(cè)的移動(dòng)裝置行為的行為向量。在框704中,裝置處理器可識(shí)別與粗略觀測(cè)相關(guān)聯(lián)的可能潛在地貢獻(xiàn)于移動(dòng)裝置的降級(jí)的子系統(tǒng)、過(guò)程和/或應(yīng)用程序。舉例來(lái)說(shuō),這可以通過(guò)比較從多個(gè)來(lái)源接收的信息與從移動(dòng)裝置的傳感器接收的情境信息而實(shí)現(xiàn)。在框706中,裝置處理器可基于粗略觀測(cè)而執(zhí)行行為分析操作。
在確定框708中,裝置處理器可以確定可疑行為或潛在問(wèn)題是否可以基于行為分析的結(jié)果得到識(shí)別和校正。當(dāng)裝置處理器確定可疑行為或潛在問(wèn)題可以基于行為分析的結(jié)果得到識(shí)別和校正時(shí)(即,確定框708=“是”),在框718中,處理器可以起始過(guò)程以校正行為并且返回到框702以執(zhí)行額外的粗略觀測(cè)。
當(dāng)裝置處理器確定可疑行為或潛在問(wèn)題無(wú)法基于行為分析的結(jié)果得到識(shí)別和/或校正時(shí)(即,確定框708=“否”),在確定框709中裝置處理器可以確定是否存在問(wèn)題的可能性。在一實(shí)施例中,裝置處理器可以確定存在問(wèn)題的可能性,方法是計(jì)算移動(dòng)裝置遇到潛在問(wèn)題和/或參與可疑行為的概率,并且確定計(jì)算出的概率是否大于預(yù)定閾值。當(dāng)裝置處理器確定所計(jì)算概率不大于預(yù)定閾值和/或不存在可疑行為或潛在問(wèn)題存在和/或可檢測(cè)的可能性時(shí)(即,確定框709=“否”),處理器可返回到框702以執(zhí)行額外粗略觀測(cè)。
當(dāng)裝置處理器確定存在可疑行為或潛在問(wèn)題存在和/或可檢測(cè)的可能性時(shí)(即,確定框709=“是”),在框710中,裝置處理器可在所識(shí)別的子系統(tǒng)、過(guò)程或應(yīng)用程序上執(zhí)行更深入的記錄/觀測(cè)或最終記錄。在框712中,裝置處理器可在所識(shí)別的子系統(tǒng)、過(guò)程或應(yīng)用程序上執(zhí)行更深入且更詳細(xì)的觀測(cè)。在框714中,裝置處理器可以基于更深入且更詳細(xì)的觀測(cè)執(zhí)行進(jìn)一步和/或更深入的行為分析。在確定框708中,裝置處理器可以再次確定可疑行為或潛在問(wèn)題是否可以基于更深入的行為分析的結(jié)果得到識(shí)別和校正。當(dāng)裝置處理器確定可疑行為或潛在問(wèn)題無(wú)法基于更深入的行為分析的結(jié)果得到識(shí)別和校正時(shí)(即,確定框708=“否”),處理器可以重復(fù)在框710到714中的操作直到細(xì)節(jié)水平足夠精細(xì)以識(shí)別問(wèn)題或直到確定所述問(wèn)題無(wú)法通過(guò)額外的細(xì)節(jié)得到識(shí)別或不存在問(wèn)題為止。
當(dāng)裝置處理器確定可疑行為或潛在問(wèn)題可以基于更深入行為分析的結(jié)果得到識(shí)別和校正時(shí)(即,確定框708=“是”),在框718中,裝置處理器可以執(zhí)行操作以校正問(wèn)題/行為,并且處理器可以返回到框702以執(zhí)行額外的操作。
在一實(shí)施例中,作為方法700的框702到718的一部分,裝置處理器可執(zhí)行系統(tǒng)的行為的實(shí)時(shí)行為分析以從有限的且粗略的觀測(cè)中識(shí)別可疑行為、動(dòng)態(tài)地確定行為以更詳細(xì)地觀測(cè),并且動(dòng)態(tài)地確定觀測(cè)所需要的精確細(xì)節(jié)水平。這使得裝置處理器能夠有效地識(shí)別問(wèn)題并且防止問(wèn)題的發(fā)生,而無(wú)需使用裝置上的大量的處理器、存儲(chǔ)器或電池資源。
各種實(shí)施例通過(guò)使用行為分析和/或機(jī)器學(xué)習(xí)技術(shù)(與基于許可、策略或規(guī)則的方法相反)以監(jiān)視和分析軟件應(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è)裝置中可能是不同的。另外,裝置特征/因數(shù)的不同組合可能需要在每個(gè)裝置中的分析以便所述裝置確定軟件應(yīng)用程序是否是串通的。但需要監(jiān)視和分析的特征/因數(shù)的精確組合常常僅可使用從其中執(zhí)行一或多個(gè)活動(dòng)的特定計(jì)算裝置獲得的信息且在所述活動(dòng)/多個(gè)活動(dòng)在進(jìn)行中時(shí)確定。出于這些和其它原因,現(xiàn)有解決方案無(wú)法勝任在行為進(jìn)行中的同時(shí)實(shí)時(shí)監(jiān)視、檢測(cè)和表征計(jì)算裝置中的多個(gè)軟件應(yīng)用程序的共同行為或它們之間的關(guān)系,且不消耗大量的計(jì)算裝置的處理、存儲(chǔ)器或電力資源。
包含上文參考圖2到7所論述的實(shí)施例的各種實(shí)施例可在以處理器可執(zhí)行指令配置的多種計(jì)算裝置上實(shí)施,所述計(jì)算裝置的實(shí)例在圖8中以智能電話的形式說(shuō)明。智能電話800可包含處理器802,其耦合到內(nèi)部存儲(chǔ)器804、顯示器812和揚(yáng)聲器814。另外,智能電話800可包含用于發(fā)送和接收電磁輻射的天線,其可連接到耦合到處理器802的無(wú)線數(shù)據(jù)鏈路和/或蜂窩式電話收發(fā)器808。智能電話800通常還包含用于接收用戶輸入的菜單選擇按鈕或搖臂開(kāi)關(guān)820。
典型智能電話800還包含聲音編碼/解碼(編解碼器)電路806,所述電路將從麥克風(fēng)接收的聲音數(shù)字化為適合于無(wú)線發(fā)射的數(shù)據(jù)包,且解碼所接收的聲音數(shù)據(jù)包以產(chǎn)生提供到揚(yáng)聲器以產(chǎn)生聲音的模擬信號(hào)。而且,處理器802、無(wú)線收發(fā)器808及編解碼器806中的一或多者可包含數(shù)字信號(hào)處理器(dsp)電路(未單獨(dú)地展示)。
處理器802可為可由處理器可執(zhí)行指令(應(yīng)用程序)配置以執(zhí)行多種功能和操作(包含如下所述的各種實(shí)施例的操作)的任何可編程微處理器、微型計(jì)算機(jī)或多處理器芯片。在一些移動(dòng)裝置中,可以提供多個(gè)處理器802,例如一個(gè)處理器專用于無(wú)線通信功能,并且一個(gè)處理器專用于運(yùn)行其它應(yīng)用程序。通常,軟件應(yīng)用程序可在它們被存取且加載到處理器802中之前存儲(chǔ)在內(nèi)部存儲(chǔ)器804中。處理器802可包含足以存儲(chǔ)應(yīng)用程序軟件指令的內(nèi)部存儲(chǔ)器。在各種實(shí)施例中,處理器802可為裝置處理器、處理核心或soc(例如在圖1中說(shuō)明的實(shí)例soc100)。在實(shí)施例中,智能電話800可包含soc,且處理器802可為包含在所述soc中的處理器中的一者(例如在圖1中說(shuō)明的處理器102、104、106、108、110中的一者)。
各種實(shí)施例可進(jìn)一步包含計(jì)算裝置,其包含用于將從用戶輸入裝置接收的原始數(shù)據(jù)與用戶交互事件信息進(jìn)行比較以產(chǎn)生分析結(jié)果的裝置,以及用于使用所產(chǎn)生分析結(jié)果以確定用戶交互(ui)事件是否與計(jì)算裝置的用戶相關(guān)的裝置。在一些實(shí)施例中,所述用于將從用戶輸入裝置接收的原始數(shù)據(jù)與用戶交互事件信息進(jìn)行比較以產(chǎn)生分析結(jié)果的裝置可包含用于將從裝置驅(qū)動(dòng)器接收的原始數(shù)據(jù)與從高層級(jí)操作系統(tǒng)接收的交互信息進(jìn)行比較的裝置。在一些實(shí)施例中,所述計(jì)算裝置可進(jìn)一步包含用于響應(yīng)于確定所述ui事件不與計(jì)算裝置的用戶相關(guān)而將軟件應(yīng)用程序的活動(dòng)分類為非良性的裝置。在一些實(shí)施例中,所述計(jì)算裝置可進(jìn)一步包含:用于產(chǎn)生表征軟件應(yīng)用程序的活動(dòng)的行為向量的裝置;用于響應(yīng)于確定ui事件不與計(jì)算裝置的用戶相關(guān)而將所產(chǎn)生行為向量應(yīng)用于包含決策節(jié)點(diǎn)的分類器模型的裝置,所述決策節(jié)點(diǎn)評(píng)估是否存在對(duì)應(yīng)于所述活動(dòng)的ui事件;以及用于使用將所產(chǎn)生行為向量應(yīng)用于所述分類器模型的結(jié)果以確定軟件應(yīng)用程序的活動(dòng)是否為非良性的裝置。在一些實(shí)施例中,所述計(jì)算裝置可進(jìn)一步包含:用于產(chǎn)生表征軟件應(yīng)用程序的活動(dòng)的行為向量的裝置;用于響應(yīng)于確定ui事件不與計(jì)算裝置的用戶相關(guān)而選擇不包含決策節(jié)點(diǎn)的分類器模型的裝置,所述決策節(jié)點(diǎn)測(cè)試是否存在對(duì)應(yīng)于所述活動(dòng)的ui事件;用于將所產(chǎn)生行為向量應(yīng)用于選定分類器模型以產(chǎn)生額外分析結(jié)果的裝置;以及用于使用所產(chǎn)生額外分析結(jié)果以確定軟件應(yīng)用程序的活動(dòng)是否為非良性的裝置。在一些實(shí)施例中,所述計(jì)算裝置可進(jìn)一步包含:用于響應(yīng)于確定ui事件不與計(jì)算裝置的用戶相關(guān)而選擇一系列穩(wěn)健分類器模型的裝置;以及用于將多個(gè)行為向量應(yīng)用于選定系列的穩(wěn)健分類器模型以確定軟件應(yīng)用程序的活動(dòng)是否為非良性的裝置。
如本申請(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、visualbasic、結(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)行特許代碼)中。這一分離在
前述方法描述和過(guò)程流程圖僅僅作為說(shuō)明性實(shí)例提供,并且其并不意圖要求或暗示各種實(shí)施例的操作必須以所呈現(xiàn)的順序進(jìn)行。如所屬領(lǐng)域的技術(shù)人員將了解,可以任何次序執(zhí)行前述實(shí)施例中的操作的次序。例如“此后”、“接著”、“接下來(lái)”等詞無(wú)意限制操作的次序;這些詞僅用以引導(dǎo)讀者瀏覽對(duì)方法的描述。另外,舉例來(lái)說(shuō),使用冠詞“一”、“一個(gè)”或“所述”對(duì)單數(shù)形式的權(quán)利要求要素的任何參考不應(yīng)被解釋為將所述要素限制為單數(shù)。
結(jié)合本文中所公開(kāi)的實(shí)施例描述的各種說(shuō)明性邏輯塊、模塊、電路和算法操作可實(shí)施為電子硬件、計(jì)算機(jī)軟件,或兩者的組合。為了清楚地說(shuō)明硬件與軟件的此可互換性,上文已大體上就其功能性來(lái)說(shuō)描述了各種說(shuō)明性組件、塊、模塊、電路和步驟。此類功能性是實(shí)施為硬件還是軟件取決于具體應(yīng)用及強(qiáng)加于整個(gè)系統(tǒng)的設(shè)計(jì)約束。熟練的技術(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ì)給定功能的電路來(lái)執(zhí)行一些步驟或方法。
在一或多個(gè)示范性實(shí)施例中,所述功能可以在硬件、軟件、固件或其任何組合中實(shí)施。如果在軟件中實(shí)施,那么所述功能可以作為一或多個(gè)處理器可執(zhí)行指令或代碼存儲(chǔ)在非暫時(shí)性計(jì)算機(jī)可讀儲(chǔ)存媒體或非暫時(shí)性處理器可讀存儲(chǔ)媒體上。本文所揭示的方法或算法的操作可實(shí)施于處理器可執(zhí)行軟件模塊中,所述軟件模塊可呈存儲(chǔ)在非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)媒體或處理器可讀存儲(chǔ)媒體上的所存儲(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ū)和本文中所揭示的原理和新穎特征相一致的最廣泛范圍。