背景技術(shù):
蜂窩和無線通信技術(shù)在最近幾年出現(xiàn)了爆炸性的增長。無線服務(wù)提供商現(xiàn)在能夠提供各種各樣的功能和服務(wù),這些功能和服務(wù)向它們的用戶提供信息、資源和通信的空前水平的訪問。為了跟上這些增強(qiáng),個人和消費(fèi)電子設(shè)備(例如,蜂窩電話、手表、耳機(jī)、遠(yuǎn)程控制等等)與過去相比變得更強(qiáng)大和更復(fù)雜,它們現(xiàn)在通常包括強(qiáng)大的處理器、較大的存儲器和其它資源,這允許在它們的設(shè)備上執(zhí)行復(fù)雜的和強(qiáng)大的軟件應(yīng)用。此外,這些設(shè)備還使它們的用戶能夠從應(yīng)用下載服務(wù)(例如,
由于這些和其它方面的提高,個人和消費(fèi)電子設(shè)備在現(xiàn)代生活中變得無處不在和持續(xù)存在,并對于它們的用戶所產(chǎn)生的信息或者與其有關(guān)的信息,擁有前所未有的獲取水平。此外,人們頻繁地使用他們的設(shè)備來存儲敏感信息(例如,信用卡信息、聯(lián)系人等等),和/或完成安全具有重要性的任務(wù)。例如,移動設(shè)備用戶頻繁地使用他們的設(shè)備來購買商品,發(fā)送和接收敏感通信,支持帳單,管理銀行帳戶和進(jìn)行其它敏感交易。由于這些趨勢,用于對個人和消費(fèi)電子設(shè)備的用戶進(jìn)行認(rèn)證的新的和改進(jìn)的安全解決方案,對于消費(fèi)者來說是有益的。
技術(shù)實(shí)現(xiàn)要素:
各個方面包括用于通過下面方式來在計算設(shè)備中執(zhí)行多因素用戶認(rèn)證的方法:在計算設(shè)備的處理器中,確定交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值中的一個或多個;使用該交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值中的一個或多個,來確定在對計算設(shè)備的用戶進(jìn)行認(rèn)證時進(jìn)行評估的認(rèn)證因素的數(shù)量;以及通過對所確定數(shù)量的認(rèn)證因素進(jìn)行評估來對該用戶進(jìn)行認(rèn)證。在一個方面,該方法可以包括:使用所述交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值中的一個或多個,來確定在對該計算設(shè)備的用戶進(jìn)行認(rèn)證時進(jìn)行評估的認(rèn)證因素。
在另外的方面,該方法可以包括:對計算設(shè)備的硬件和軟件系統(tǒng)進(jìn)行監(jiān)測來確定該計算設(shè)備對于未經(jīng)授權(quán)使用的當(dāng)前脆弱性。在另外的方面,確定所述交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值中的一個或多個可以包括:對軟件應(yīng)用的活動進(jìn)行監(jiān)測以收集行為信息;基于所收集的行為信息來生成用于描繪所監(jiān)測的活動的特性的行為向量;以及將該行為向量應(yīng)用于分類器模型以生成分析結(jié)果。在另外的方面,該分類器模型可以是關(guān)鍵活動模型。在另外的方面,該行為向量可以是多維度向量數(shù)據(jù)結(jié)構(gòu)。
在另外的方面,該方法可以包括:對計算設(shè)備的硬件和軟件系統(tǒng)進(jìn)行監(jiān)測,以隨時間學(xué)習(xí)所述用戶與該計算設(shè)備進(jìn)行交互的不同方式,其中,通過對所確定數(shù)量的認(rèn)證因素進(jìn)行評估來對所述用戶進(jìn)行認(rèn)證包括:判斷軟件應(yīng)用的行為是否和所述用戶與該計算設(shè)備進(jìn)行交互的該不同方式相一致。
在另外的方面,確定要進(jìn)行評估的所述數(shù)量的認(rèn)證因素可以包括:執(zhí)行被動認(rèn)證操作來對所述用戶進(jìn)行認(rèn)證,而不需要為了認(rèn)證目的來表達(dá)用戶交互;確定被動認(rèn)證置信度值,其中該被動認(rèn)證置信度值以被動認(rèn)證操作的準(zhǔn)確性來標(biāo)識設(shè)備的置信度水平;確定關(guān)鍵性水平值,其中該關(guān)鍵性水平值標(biāo)識在所述計算設(shè)備上操作的進(jìn)程或者軟件應(yīng)用的重要性或者關(guān)鍵性;將被動認(rèn)證置信度值與關(guān)鍵性水平值進(jìn)行比較,以生成用于標(biāo)識被動認(rèn)證的置信度水平是否超過關(guān)鍵性水平的比較結(jié)果;基于該比較結(jié)果,確定在對該計算設(shè)備的用戶進(jìn)行認(rèn)證時進(jìn)行評估的認(rèn)證因素的數(shù)量。
另外的方面可以包括一種計算設(shè)備,該計算設(shè)備包括處理器,后者配置有處理器可執(zhí)行指令以執(zhí)行包括以下各項的操作:確定交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值中的一個或多個;使用該交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值中的一個或多個,來確定在對該計算設(shè)備的用戶進(jìn)行認(rèn)證時進(jìn)行評估的認(rèn)證因素的數(shù)量;以及通過對所確定數(shù)量的認(rèn)證因素進(jìn)行評估來對該用戶進(jìn)行認(rèn)證。
在一個方面,所述處理器可以配置有處理器可執(zhí)行指令以執(zhí)行還包括以下的操作:使用所述交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值中的一個或多個來確定在對該計算設(shè)備的用戶進(jìn)行認(rèn)證時進(jìn)行評估的認(rèn)證因素。在另外的方面,所述處理器可以配置有處理器可執(zhí)行指令以執(zhí)行還包括以下的操作:對硬件和軟件系統(tǒng)進(jìn)行監(jiān)測來確定該計算設(shè)備對于未經(jīng)授權(quán)使用的當(dāng)前脆弱性。
在另外的方面,所述處理器可以配置有處理器可執(zhí)行指令以執(zhí)行操作,使得確定所述交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值中的一個或多個包括:對軟件應(yīng)用的活動進(jìn)行監(jiān)測以收集行為信息;基于所收集的行為信息來生成用于描繪所監(jiān)測的活動的特性的行為向量;將該行為向量應(yīng)用于分類器模型以生成分析結(jié)果。
在另外的方面,所述處理器可以配置有處理器可執(zhí)行指令以執(zhí)行操作,使得將所述行為向量應(yīng)用于所述分類器模型以生成分析結(jié)果包括:將該行為向量應(yīng)用于關(guān)鍵活動的模型。在另外的方面,所述處理器可以配置有處理器可執(zhí)行指令以執(zhí)行操作,使得將所述行為向量應(yīng)用于所述關(guān)鍵活動的模型包括:向所述關(guān)鍵活動的模型應(yīng)用多維度向量數(shù)據(jù)結(jié)構(gòu)。
在另外的方面,所述處理器可以配置有處理器可執(zhí)行指令以執(zhí)行還包括以下的操作:對所述計算設(shè)備的硬件和軟件系統(tǒng)進(jìn)行監(jiān)測,以隨時間學(xué)習(xí)所述用戶與該計算設(shè)備進(jìn)行交互的不同方式。在另外的方面,所述處理器可以配置有處理器可執(zhí)行指令以執(zhí)行操作,使得通過對所確定數(shù)量的認(rèn)證因素進(jìn)行評估來對所述用戶進(jìn)行認(rèn)證包括:判斷軟件應(yīng)用的行為是否和所述用戶與該計算設(shè)備進(jìn)行交互的該不同方式相一致。
在另外的方面,所述處理器可以配置有處理器可執(zhí)行指令以執(zhí)行操作,使得確定要進(jìn)行評估的認(rèn)證因素的數(shù)量包括:執(zhí)行被動認(rèn)證操作來對所述用戶進(jìn)行認(rèn)證,而不需要為了認(rèn)證目的來表達(dá)用戶交互;確定被動認(rèn)證置信度值,其中該被動認(rèn)證置信度值以被動認(rèn)證操作的準(zhǔn)確性來標(biāo)識設(shè)備的置信度水平;確定關(guān)鍵性水平值,其中該關(guān)鍵性水平值標(biāo)識在所述計算設(shè)備上操作的進(jìn)程或者軟件應(yīng)用的重要性或者關(guān)鍵性;將被動認(rèn)證置信度值與關(guān)鍵性水平值進(jìn)行比較,以生成用于標(biāo)識被動認(rèn)證的置信度水平是否超過關(guān)鍵性水平的比較結(jié)果;基于該比較結(jié)果,確定在對所述計算設(shè)備的用戶進(jìn)行認(rèn)證時進(jìn)行評估的認(rèn)證因素的數(shù)量。
另外的方面可以包括一種其上存儲有處理器可執(zhí)行軟件指令的非臨時性計算機(jī)可讀存儲介質(zhì),其中所述處理器可執(zhí)行軟件指令被配置為使計算設(shè)備的處理器執(zhí)行包括以下各項的操作:確定交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值中的一個或多個;使用所述交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值中的一個或多個,來確定在對所述計算設(shè)備的用戶進(jìn)行認(rèn)證時進(jìn)行評估的認(rèn)證因素的數(shù)量;通過對所確定數(shù)量的認(rèn)證因素進(jìn)行評估來對用戶進(jìn)行認(rèn)證。
在一個方面,所存儲的處理器可執(zhí)行軟件指令可以被配置為使處理器執(zhí)行還包括以下的操作:使用所述交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值中的一個或多個來確定在對所述計算設(shè)備的用戶進(jìn)行認(rèn)證時進(jìn)行評估的認(rèn)證因素。在另外的方面,所存儲的處理器可執(zhí)行軟件指令可以被配置為使處理器執(zhí)行還包括以下的操作:對硬件和軟件系統(tǒng)進(jìn)行監(jiān)測來確定所述計算設(shè)備對于未經(jīng)授權(quán)使用的當(dāng)前脆弱性。
在另外的方面,所存儲的處理器可執(zhí)行軟件指令可以被配置為使處理器執(zhí)行操作,使得確定所述交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值中的一個或多個包括:對軟件應(yīng)用的活動進(jìn)行監(jiān)測以收集行為信息;基于所收集的行為信息來生成用于描繪所監(jiān)測的活動的特性的行為向量;將該行為向量應(yīng)用于分類器模型以生成分析結(jié)果。在另外的方面,所存儲的處理器可執(zhí)行軟件指令可以被配置為使處理器執(zhí)行操作,使得將所述行為向量應(yīng)用于所述分類器模型以生成分析結(jié)果包括:將該行為向量應(yīng)用于關(guān)鍵活動的模型。
在另外的方面,所存儲的處理器可執(zhí)行軟件指令可以被配置為使處理器執(zhí)行操作,使得將所述行為向量應(yīng)用于所述關(guān)鍵活動的模型包括:向所述關(guān)鍵活動的模型應(yīng)用多維度向量數(shù)據(jù)結(jié)構(gòu)。在另外的方面,所存儲的處理器可執(zhí)行軟件指令可以被配置為使處理器執(zhí)行還包括以下的操作:對所述計算設(shè)備的硬件和軟件系統(tǒng)進(jìn)行監(jiān)測,以隨時間學(xué)習(xí)所述用戶與該計算設(shè)備進(jìn)行交互的不同方式。在另外的方面,所存儲的處理器可執(zhí)行軟件指令可以被配置為使處理器執(zhí)行操作,使得通過對所確定數(shù)量的認(rèn)證因素進(jìn)行評估來對所述用戶進(jìn)行認(rèn)證包括:判斷軟件應(yīng)用的行為是否和所述用戶與該計算設(shè)備進(jìn)行交互的該不同方式相一致。
在另外的方面,所存儲的處理器可執(zhí)行軟件指令可以被配置為使處理器執(zhí)行操作,使得確定要進(jìn)行評估的認(rèn)證因素的數(shù)量包括:執(zhí)行被動認(rèn)證操作來對所述用戶進(jìn)行認(rèn)證,而不需要為了認(rèn)證目的來表達(dá)用戶交互;確定被動認(rèn)證置信度值,其中該被動認(rèn)證置信度值以被動認(rèn)證操作的準(zhǔn)確性來標(biāo)識設(shè)備的置信度水平;確定關(guān)鍵性水平值,其中該關(guān)鍵性水平值標(biāo)識在所述計算設(shè)備上操作的進(jìn)程或者軟件應(yīng)用的重要性或者關(guān)鍵性;將被動認(rèn)證置信度值與關(guān)鍵性水平值進(jìn)行比較,以生成用于標(biāo)識被動認(rèn)證的置信度水平是否超過關(guān)鍵性水平的比較結(jié)果;基于該比較結(jié)果,確定在對所述計算設(shè)備的用戶進(jìn)行認(rèn)證時進(jìn)行評估的認(rèn)證因素的數(shù)量。
另外的方面包括一種計算設(shè)備,其包括:用于確定交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值中的一個或多個的單元;用于使用所述交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值中的一個或多個,來確定在對該計算設(shè)備的用戶進(jìn)行認(rèn)證時進(jìn)行評估的認(rèn)證因素的數(shù)量的單元;用于通過對所確定數(shù)量的認(rèn)證因素進(jìn)行評估來對用戶進(jìn)行認(rèn)證的單元。在一個方面,該計算設(shè)備可以包括:用于使用所述交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值中的一個或多個來確定在對所述計算設(shè)備的用戶進(jìn)行認(rèn)證時進(jìn)行評估的認(rèn)證因素的單元。
在另外的方面,該計算設(shè)備可以包括:用于對該計算設(shè)備的硬件和軟件系統(tǒng)進(jìn)行監(jiān)測,以確定該計算設(shè)備對于未經(jīng)授權(quán)使用的當(dāng)前脆弱性的單元。在另外的方面,用于確定所述交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值中的一個或多個的單元可以包括:用于對軟件應(yīng)用的活動進(jìn)行監(jiān)測以收集行為信息的單元;用于基于所收集的行為信息來生成用于描繪所監(jiān)測的活動的特性的行為向量的單元;用于將該行為向量應(yīng)用于分類器模型以生成分析結(jié)果的單元。
在另外的方面,用于將所述行為向量應(yīng)用于所述分類器模型以生成分析結(jié)果的單元可以包括:用于將所述行為向量應(yīng)用于關(guān)鍵活動的模型的單元。在另外的方面,用于將所述行為向量應(yīng)用于所述關(guān)鍵活動的模型的單元可以包括:用于向所述關(guān)鍵活動的模型應(yīng)用多維度向量數(shù)據(jù)結(jié)構(gòu)的單元。在另外的方面,該計算設(shè)備可以包括:用于對所述計算設(shè)備的硬件和軟件系統(tǒng)進(jìn)行監(jiān)測,以隨時間學(xué)習(xí)所述用戶與該計算設(shè)備進(jìn)行交互的不同方式的單元,其中,用于通過對所確定數(shù)量的認(rèn)證因素進(jìn)行評估來對所述用戶進(jìn)行認(rèn)證的單元包括:用于判斷軟件應(yīng)用的行為是否和所述用戶與該計算設(shè)備進(jìn)行交互的該不同方式相一致的單元。
在另外的方面,用于確定要進(jìn)行評估的認(rèn)證因素的數(shù)量的單元可以包括:用于執(zhí)行被動認(rèn)證操作來對所述用戶進(jìn)行認(rèn)證,而不需要為了認(rèn)證目的來表達(dá)用戶交互的單元;用于確定被動認(rèn)證置信度值的單元,其中該被動認(rèn)證置信度值以被動認(rèn)證操作的準(zhǔn)確性來標(biāo)識設(shè)備的置信度水平;用于確定關(guān)鍵性水平值的單元,其中該關(guān)鍵性水平值標(biāo)識在所述計算設(shè)備上操作的進(jìn)程或者軟件應(yīng)用的重要性或者關(guān)鍵性;用于將被動認(rèn)證置信度值與關(guān)鍵性水平值進(jìn)行比較,以生成用于標(biāo)識被動認(rèn)證的置信度水平是否超過關(guān)鍵性水平的比較結(jié)果的單元;用于基于該比較結(jié)果,確定在對所述計算設(shè)備的用戶進(jìn)行認(rèn)證時進(jìn)行評估的認(rèn)證因素的數(shù)量的單元。
附圖說明
被并入本文并且構(gòu)成本說明書一部分的附圖,描繪了本發(fā)明的示例性方面,并且連同上面給出的概括描述以及下面給出的詳細(xì)描述一起來解釋本發(fā)明的特征。
圖1是適合于實(shí)現(xiàn)本文的各個方面的示例性片上系統(tǒng)的體系結(jié)構(gòu)圖。
圖2是示出一個方面移動設(shè)備中的示例性邏輯組件和信息流的框圖,其配置為當(dāng)對計算設(shè)備的用戶進(jìn)行認(rèn)證時,確定將進(jìn)行評估的認(rèn)證因素的數(shù)量。
圖3是根據(jù)一個方面,示出確定在對計算設(shè)備的用戶進(jìn)行認(rèn)證時,要將進(jìn)行評估的認(rèn)證因素的數(shù)量的方法的處理流程圖。
圖4是在對計算設(shè)備的用戶進(jìn)行認(rèn)證時,可以用于智能地確定將進(jìn)行評估的認(rèn)證因素的數(shù)量的示例性事件和值的視圖。
圖5是根據(jù)一個方面,示出執(zhí)行多因素認(rèn)證的方法的處理流程圖。
圖6是根據(jù)另一個方面,示出確定在對計算設(shè)備的用戶進(jìn)行認(rèn)證時,要將進(jìn)行評估的認(rèn)證因素的數(shù)量的方法的處理流程圖。
圖7是示出用于在移動設(shè)備上執(zhí)行自適應(yīng)觀測的方面方法的處理流程圖。
圖8是適合于在一個方面使用的移動設(shè)備的組件框圖。
具體實(shí)施方式
現(xiàn)在參照附圖來詳細(xì)地描述各個方面。在可以的地方,貫穿附圖使用相同的附圖標(biāo)記來指代相同或者類似的部件。對于特定示例和實(shí)現(xiàn)的引用只是用于說明目的,而不是旨在限制本發(fā)明或者權(quán)利要求的保護(hù)范圍。
總而言之,各個方面包括一些方法和計算設(shè)備,其配置為實(shí)現(xiàn)使用行為分析和機(jī)器學(xué)習(xí)技術(shù),來執(zhí)行用于持續(xù)地/重復(fù)地認(rèn)證計算設(shè)備的用戶的多因素認(rèn)證操作的方法。該多因素認(rèn)證操作可以包括:確定交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值中的一個或多個,使用這些值中的一個或多個來確定在對該計算設(shè)備的用戶進(jìn)行認(rèn)證時進(jìn)行評估的認(rèn)證因素的數(shù)量,并通過對所確定數(shù)量的認(rèn)證因素進(jìn)行評估,來對用戶進(jìn)行認(rèn)證。通過使用機(jī)器學(xué)習(xí)和/或行為分析技術(shù),計算設(shè)備可以使用當(dāng)前活動、行為、用戶等等所需要的認(rèn)證水平,智能地和持續(xù)地對用戶進(jìn)行認(rèn)證,而不會需要比所需要的相比更多的認(rèn)證因素,這可能對于該設(shè)備的性能、可用性、安全性、或者功耗特性具有顯著的負(fù)面影響。通過下面所提供的方面的詳細(xì)描述,對于計算設(shè)備的功能、功能性、和/或功能化的另外改進(jìn)將會顯而易見。
本文互換地使用術(shù)語“移動計算設(shè)備”和“移動設(shè)備”指代下面中的任何一種或全部:蜂窩電話、智能電話、個人或移動多媒體播放器、個人數(shù)據(jù)助理(pda)、膝上型計算機(jī)、平板計算機(jī)、智能本、超級本、掌上型計算機(jī)、無線電子郵件接收機(jī)、具備多媒體互聯(lián)網(wǎng)能力的蜂窩電話、無線游戲控制器、以及包括存儲器、可編程處理器(其性能是非常重要的)并在電池供電情形下進(jìn)行操作,使得省電方法有益的類似個人電子設(shè)備。雖然各個方面在諸如智能電話之類的移動計算設(shè)備(它們具有有限的資源并在電池上運(yùn)行)中是特別有用的,但這些方面通常在包括處理器并執(zhí)行應(yīng)用程序的任何電子設(shè)備中也是有用的。
存在各種各樣的可以由計算設(shè)備使用,以確保用戶被授權(quán)訪問該計算設(shè)備、其操作系統(tǒng)、其軟件應(yīng)用、和/或其存儲的內(nèi)容。這些技術(shù)包括主動認(rèn)證、被動認(rèn)證、單因素認(rèn)證(sfa)、以及多因素認(rèn)證(mfa)。
當(dāng)前,大部分計算設(shè)備實(shí)現(xiàn)和使用主動單因素認(rèn)證技術(shù),在授權(quán)用戶訪問該設(shè)備之前,該技術(shù)需要該用戶輸入/填寫認(rèn)證證書(例如,輸入個人識別號(pin)或者用戶名和密碼組合)。這種認(rèn)證技術(shù)是“單因素”認(rèn)證,這是由于其只需要計算設(shè)備對單一認(rèn)證因素(例如,用戶的認(rèn)證證書的知識)進(jìn)行評估。此外,該技術(shù)還是主動認(rèn)證,這是由于其需要用戶為了認(rèn)證目的而明確地輸入信息(即,他或她的認(rèn)證證書)。
近年來,網(wǎng)絡(luò)攻擊者和盜賊已經(jīng)日漸成熟,現(xiàn)在可以在沒有用戶的知識或同意的情況下,容易地獲得或者猜測用戶的認(rèn)證證書。結(jié)果,單因素認(rèn)證解決方案已不再足以保護(hù)計算設(shè)備避免未經(jīng)授權(quán)使用。由于該原因,越來越多的計算設(shè)備現(xiàn)在實(shí)現(xiàn)和使用多因素認(rèn)證(mfa)解決方案來確保僅僅授權(quán)的用戶才能訪問該計算設(shè)備、其操作系統(tǒng)、其軟件應(yīng)用、或者其存儲的內(nèi)容。
多因素認(rèn)證解決方案測試兩種或者更多不同類型的獨(dú)立認(rèn)證因素,例如,知識因素、擁有因素、以及固有因素中的兩個或更多。知識因素可以是測試用戶的秘密知識的認(rèn)證因素,例如,通過需要用戶輸入pin或密碼、繪制圖案、或選擇圖像。擁有因素可以是測試用戶對于諸如密鑰卡、基于sms的安全令牌、usb令牌、隨機(jī)數(shù)生成令牌、智能卡等等之類的對象的所有/擁有的認(rèn)證因素。固有因素可以是測試用戶所固有的特征或者特性的認(rèn)證因素,通常,其是諸如指紋、虹膜圖案等等之類的生物特征。通過測試不同類型的認(rèn)證因素,多因素認(rèn)證解決方案極大地提高了計算設(shè)備的安全性。
計算設(shè)備可以通過定義多個獨(dú)立的操作集來測試/評估不同類型的認(rèn)證因素,并在每一次對用戶進(jìn)行認(rèn)證時執(zhí)行這些操作集中的兩個或更多,來實(shí)現(xiàn)多因素認(rèn)證解決方案。例如,計算設(shè)備可以定義用于評估圖案的第一操作集(知識因素)和用于評估隨機(jī)數(shù)令牌的第二操作集(擁有因素)。用于評估圖案的示例性操作(其是知識因素)可以包括:顯示提示、請求用戶選擇或者繪制圖案,將所選定的/繪制的圖案與存儲器中存儲的加密的圖案值進(jìn)行比較。用于評估隨機(jī)數(shù)令牌的示例性操作(因此其是擁有因素)可以包括:生成安全令牌值(例如,基于當(dāng)前時間和/或加密密鑰的數(shù)字值等等),經(jīng)由單獨(dú)的介質(zhì)(例如,經(jīng)由電子郵件、密鑰卡等等)向該設(shè)備的授權(quán)用戶發(fā)送該安全令牌值,顯示用于請求用戶輸入該安全令牌值的提示,將用戶輸入與原始安全令牌值進(jìn)行比較。在每一次對用戶進(jìn)行認(rèn)證時,計算設(shè)備可以執(zhí)行這兩個操作集來評估這兩種不同類型的認(rèn)證因素(即,知識因素和擁有因素)。通過評估兩種不同類型的認(rèn)證因素(即,知識因素和擁有因素),這種多因素認(rèn)證解決方案提高了計算設(shè)備的安全性,這是由于黑客必須獲得知識因素(例如,猜測或者竊取密碼)和擁有因素(例如,竊取usb令牌或安全保護(hù)裝置)。此外,不同于知識因素,用戶可能發(fā)現(xiàn)擁有因素正在丟失,因此能夠檢測安全性是否受到損害。
通過針對每一種類型的認(rèn)證因素增加進(jìn)行評估的因素的數(shù)量,來進(jìn)一步提高計算設(shè)備的安全性。例如,與配置為測試兩種知識因素和一種擁有因素的類似裝備的計算設(shè)備相比,被配置為測試兩種知識因素(例如,密碼和圖案)和兩種擁有因素(例如,usb令牌和密鑰卡)的計算設(shè)備通常更安全。
此外,還可以通過重復(fù)地評估較大數(shù)量的認(rèn)證因素來提高計算設(shè)備的安全性。也就是說,計算設(shè)備評估的認(rèn)證因素越多,并且對這些因素的評估越頻繁,則其安全水平越強(qiáng)。與對認(rèn)證因素進(jìn)行評估一次(例如,在登錄時等等)、或者響應(yīng)于選擇事件進(jìn)行評估(例如,安裝軟件或者訪問敏感信息的請求等等)的類似裝備的設(shè)備相比,重復(fù)地、頻繁地、或者持續(xù)地對認(rèn)證因素進(jìn)行評估的計算設(shè)備更安全。但是,對較大數(shù)量的認(rèn)證因素進(jìn)行重復(fù)評估的傳統(tǒng)解決方案通常對于計算設(shè)備的性能、可用性、以及功耗特性具有負(fù)面影響。此外,用戶可能會因為頻繁提示進(jìn)行身份驗證而變得煩躁,并因此而禁用這些功能,從而使它們的設(shè)備變得更容易受到攻擊。結(jié)果,傳統(tǒng)的解決方案并不適合于在資源受限計算設(shè)備(例如,智能電話)中包含或使用,其中資源受限計算設(shè)備具有有限的處理和電池資源,并且對于其來說愉快的用戶體驗是重要的。
使用傳統(tǒng)解決方案,需要計算設(shè)備針對進(jìn)行評估的每一個認(rèn)證因素,執(zhí)行多個復(fù)雜或功率密集型操作(例如,顯示提示、接收用戶輸入、將用戶輸入與存儲的值進(jìn)行比較等等)。此外,大部分的傳統(tǒng)解決方案在每一次對用戶進(jìn)行認(rèn)證時,需要與設(shè)備進(jìn)行某種形式的用戶交互(例如,輸入密碼、掃描指紋等等)。需要用戶重復(fù)地輸入認(rèn)證證書和/或執(zhí)行多個認(rèn)證操作(例如,輸入密碼,隨后掃描指紋)令人煩惱,分散注意力,并且降低用戶體驗。由于所有這些原因,傳統(tǒng)的多因素解決方案并不評估足夠數(shù)量的認(rèn)證因素,并不連續(xù)地對用戶進(jìn)行認(rèn)證,并不提供足夠水平的保護(hù)/安全,或者對于計算設(shè)備的性能、可用性、或者功耗特性具有顯著的負(fù)面影響。
此外,大部分傳統(tǒng)解決方案在每一次對用戶進(jìn)行認(rèn)證時,測試相同數(shù)量的認(rèn)證因素。一些解決方案靜態(tài)地定義這些認(rèn)證因素(以及它們相關(guān)聯(lián)的操作集),并且在運(yùn)行時動態(tài)地選擇進(jìn)行評估的認(rèn)證因素。此外,這些計算設(shè)備在每一次對用戶進(jìn)行認(rèn)證時,選擇相同數(shù)量(或者先前定義數(shù)量)的認(rèn)證因素來進(jìn)行測試。
此外,傳統(tǒng)解決方案在對認(rèn)證因素進(jìn)行評估時,也沒有動態(tài)地計算/確定要進(jìn)行執(zhí)行的操作,并且沒有基于設(shè)備的當(dāng)前行為、在該設(shè)備上操作的軟件應(yīng)用的行為、正在進(jìn)行的交易的類型、用戶置信度值、軟件完整性置信度值、和/或歷史行為信息,來持續(xù)地對用戶進(jìn)行認(rèn)證。此外,傳統(tǒng)解決方案并沒有基于設(shè)備的當(dāng)前行為、對于攻擊的當(dāng)前脆弱性、或者設(shè)備的當(dāng)前安全風(fēng)險容忍度,在運(yùn)行時智能地和動態(tài)地確定要進(jìn)行評估的認(rèn)證因素的數(shù)量和類型。此外,傳統(tǒng)解決方案也沒有對設(shè)備的性能、可用性、安全性、以及功耗特性進(jìn)行充分地平衡。由于所有這些原因,傳統(tǒng)的解決方案并不適合于在資源受限計算設(shè)備中包含或使用。
本文的各個方面通過配置計算設(shè)備使用機(jī)器學(xué)習(xí)和/或行為分析技術(shù),來智能地、高效地、并且動態(tài)地判斷是否需要認(rèn)證、要進(jìn)行評估的認(rèn)證因素的數(shù)量、要進(jìn)行評估的認(rèn)證因素的類型、以及在對認(rèn)證因素進(jìn)行評估時要進(jìn)行執(zhí)行的操作,來克服傳統(tǒng)的用戶認(rèn)證解決方案的限制。計算設(shè)備可以被配置為基于設(shè)備的當(dāng)前行為、正在進(jìn)行的交易的類型、用戶置信度值、用戶交互、軟件完整性置信度值、和/或在該設(shè)備上操作的軟件應(yīng)用的歷史行為,對用戶、應(yīng)用、或者活動進(jìn)行認(rèn)證。
通過使用機(jī)器學(xué)習(xí)和/或行為分析技術(shù),計算設(shè)備可以持續(xù)地(或者接近持續(xù)地)對設(shè)備的硬件和/或軟件系統(tǒng)進(jìn)行監(jiān)測,準(zhǔn)確地確定計算設(shè)備對于未經(jīng)授權(quán)使用(或者攻擊)的當(dāng)前脆弱性,而不會在這些環(huán)境下消耗過量的該設(shè)備的處理資源或功率資源。此外,計算設(shè)備還可以基于計算設(shè)備對于未經(jīng)授權(quán)使用(或者攻擊)的當(dāng)前脆弱性,確定應(yīng)當(dāng)進(jìn)行評估的認(rèn)證因素的數(shù)量,并持續(xù)地評估聚焦的數(shù)量的認(rèn)證因素,以便對設(shè)備的安全性、性能、可用性、以及功耗特性進(jìn)行智能地平衡。
通過使用機(jī)器學(xué)習(xí)和/或行為分析技術(shù),計算設(shè)備可以識別和評估認(rèn)證因素,其中這些認(rèn)證因素并不需要與設(shè)備進(jìn)行顯式的用戶交互(例如,輸入用戶證書等等)。這允許計算設(shè)備持續(xù)地對用戶、應(yīng)用、或者活動進(jìn)行認(rèn)證,和/或評估較大數(shù)量的認(rèn)證因素,而不會使用戶體驗降級。
由于所有上面所提及的原因,本文的各個方面非常適合于在資源受限計算設(shè)備(例如,智能電話)中包含和使用,其中資源受限計算設(shè)備具有有限的處理和電池資源,并且對于其來說愉快的用戶體驗是重要的。
在一個方面,計算設(shè)備可以被配置為計算脆弱性值,其中該脆弱性值標(biāo)識設(shè)備對于攻擊/未經(jīng)授權(quán)使用的脆弱性的級別。計算設(shè)備可以基于所確定的脆弱性值來計算或者選擇認(rèn)證因素和/或確定認(rèn)證因素的數(shù)量,并且對這些認(rèn)證因素進(jìn)行評估以對用戶、應(yīng)用、或者活動進(jìn)行認(rèn)證。計算設(shè)備可以被配置為基于設(shè)備的當(dāng)前行為、正在進(jìn)行的交易的類型、用戶置信度值、軟件完整性置信度值、在該設(shè)備上操作的軟件應(yīng)用的歷史行為、和/或在該設(shè)備中檢測的其它行為、事件、或者狀況,來計算該脆弱性值。
通常,用戶以唯一或者不同的方式來與它們的計算設(shè)備進(jìn)行交互。例如,移動設(shè)備用戶通常具有不同的工作或通信方式,使用特定的軟件應(yīng)用或者特定類型的軟件應(yīng)用,使用它們的移動設(shè)備來執(zhí)行特定的活動或者完成特定的任務(wù),以特定的順序來執(zhí)行活動,在特定的時間執(zhí)行特定的活動,以特定的方式來與特定的軟件應(yīng)用進(jìn)行交互等等。在一個方面,計算設(shè)備可以被配置為學(xué)習(xí)用戶隨時間與他/她的設(shè)備進(jìn)行交互的不同方式,并使用該信息來智能地對用戶進(jìn)行認(rèn)證。
在一個方面,計算設(shè)備可以被配置為執(zhí)行設(shè)備上學(xué)習(xí)操作,以基于用戶與該設(shè)備進(jìn)行交互的不同方式,來計算或者確定用戶置信度值,其中該用戶置信度值用于向設(shè)備標(biāo)識該用戶是授權(quán)/認(rèn)證用戶的置信度(例如,經(jīng)由概率值等等)。用戶置信度值可以指示該設(shè)備的當(dāng)前使用模式是否與特定用戶對該設(shè)備的正常使用模式相一致,或者指示一致性的程度。計算設(shè)備可以使用用戶置信度值來計算/選擇認(rèn)證因素,和/或智能地確定在對用戶進(jìn)行認(rèn)證時,該設(shè)備應(yīng)當(dāng)進(jìn)行評估的認(rèn)證因素的數(shù)量。例如,當(dāng)用戶置信度值較高時,計算設(shè)備可以評估精簡數(shù)量的認(rèn)證因素,當(dāng)用戶置信度值較低時(即,當(dāng)所檢測的使用模式與該設(shè)備或用戶的正常使用模式不一致時),評估更大數(shù)量的認(rèn)證因素。此外,計算設(shè)備還可以使用該用戶置信度值來計算用于標(biāo)識該設(shè)備對于攻擊或者未經(jīng)授權(quán)使用的脆弱性的級別的脆弱性值,并使用該脆弱性值來確定在對用戶進(jìn)行認(rèn)證時應(yīng)當(dāng)進(jìn)行評估的認(rèn)證因素的數(shù)量。
在一個方面,計算設(shè)備可以被配置為持續(xù)地(或者接近持續(xù)地)對設(shè)備的進(jìn)程、軟件應(yīng)用、以及硬件傳感器的活動或者行為進(jìn)行監(jiān)測,使用所收集的行為信息來識別用戶的設(shè)備使用模式,并使用所識別的設(shè)備使用模式來確定用戶置信度值。
在一個方面,計算設(shè)備可以被配置為確定正在進(jìn)行的交易的類型,判斷這些交易中的任何一個是否是需要進(jìn)行密切監(jiān)測的關(guān)鍵活動,計算交易類型關(guān)鍵性值,并基于該交易類型關(guān)鍵性值(例如,基于當(dāng)前正在進(jìn)行的交易的類型)來計算/選擇進(jìn)行評估的認(rèn)證因素和/或認(rèn)證因素的數(shù)量。例如,當(dāng)沒有關(guān)鍵的活動在進(jìn)行中時,計算設(shè)備可以評估精簡數(shù)量的認(rèn)證因素,并且當(dāng)一個或多個關(guān)鍵的活動在進(jìn)行中時,評估更大數(shù)量的認(rèn)證因素。此外,計算設(shè)備還可以根據(jù)在進(jìn)行的交易的類型(例如,通過使用交易類型關(guān)鍵性值)來計算所述脆弱性值,并使用該脆弱性值來確定在對用戶進(jìn)行認(rèn)證時應(yīng)當(dāng)進(jìn)行評估的認(rèn)證因素的數(shù)量。用此方式,使用的認(rèn)證因素的數(shù)量可以是響應(yīng)于當(dāng)前使用和操作狀態(tài)(因此的當(dāng)前計算設(shè)備的脆弱性和當(dāng)前環(huán)境下對用戶構(gòu)成的風(fēng)險),或者與其相一致。
計算設(shè)備可以被配置為:判斷在該設(shè)備上操作的進(jìn)程/軟件應(yīng)用中的任何一個是否被標(biāo)記成重要/關(guān)鍵軟件應(yīng)用(例如,銀行app,存儲信用卡信息的應(yīng)用程序等等)(其中這些軟件應(yīng)用是易受濫用的,會暴露用戶風(fēng)險(例如,身份盜竊或金錢損失),或者需要密切關(guān)注),確定在進(jìn)行的交易的類型,和/或計算交易類型關(guān)鍵性值。此外,計算設(shè)備還可以對進(jìn)程或者軟件應(yīng)用的活動/行為進(jìn)行監(jiān)測以收集行為信息,基于所收集的行為信息來生成用于表示所監(jiān)測的活動/行為的行為向量,將所生成的行為向量與分類器模型或者關(guān)鍵行為的模型進(jìn)行比較以判斷該進(jìn)程/軟件應(yīng)用是否是重要/關(guān)鍵軟件應(yīng)用或者在參與需要進(jìn)行密切監(jiān)測的關(guān)鍵活動,并基于確定是重要/關(guān)鍵的所述多個活動、進(jìn)程、或者軟件應(yīng)用來計算交易類型關(guān)鍵性值。
在一個方面,計算設(shè)備可以被配置為確定軟件完整性置信度值,其表示或者量化一個軟件應(yīng)用是授權(quán)的、認(rèn)證的、還是非良性的可疑或者置信程度(例如,經(jīng)由概率值等等)。計算設(shè)備可以使用這些軟件完整性置信度值,在當(dāng)前環(huán)境下,計算/選擇認(rèn)證因素和/或確定要進(jìn)行評估的認(rèn)證因素的數(shù)量。此外,計算設(shè)備還可以根據(jù)軟件完整性置信度值來計算脆弱性值,并使用該脆弱性值來確定在對用戶進(jìn)行認(rèn)證時該設(shè)備應(yīng)當(dāng)進(jìn)行評估的認(rèn)證因素的數(shù)量。
在一個方面,計算設(shè)備可以被配置為:針對該設(shè)備進(jìn)行評估的每一個進(jìn)程、軟件應(yīng)用、或者設(shè)備行為,對歷史行為信息進(jìn)行收集和存儲。該歷史行為信息可以包括:適合于識別軟件應(yīng)用或者進(jìn)程的先前觀測的行為的信息;該行為的優(yōu)先級或者相對重要性;該行為先前被分析/分類成良性還是非良性的;用于該行為的先前分類的分類置信度值;用于標(biāo)識惡意或性能退化的程度的嚴(yán)重性值(對應(yīng)于被分類成非良性的行為);用于標(biāo)識上一次觀測、分析或者分類該行為的時間的時間戳值;以及其它類似的信息。
計算設(shè)備可以被配置為使用歷史行為信息來計算歷史行為值(置信度/概率值),使用該歷史行為值來選擇/計算認(rèn)證因素,和/或確定在對用戶進(jìn)行認(rèn)證時,應(yīng)當(dāng)進(jìn)行分析的認(rèn)證因素的數(shù)量。例如,計算設(shè)備可以被配置為:當(dāng)歷史行為信息指示當(dāng)前在該設(shè)備上操作的軟件應(yīng)用的行為先前被分類成非良性的時(或者當(dāng)歷史行為值較低或者接近于零時),選擇更強(qiáng)的或者更健壯的認(rèn)證因素,和/或評估更大數(shù)量的認(rèn)證因素。類似地,計算設(shè)備可以被配置為:當(dāng)歷史行為信息指示其當(dāng)前行為中沒有任何一個最近(例如,在上一小時、天、周、月、年等等)被分類成可疑的或者非良性的時,或者當(dāng)歷史行為值較高或者接近于一時,選擇更瘦/更弱的認(rèn)證因素,和/或評估更少數(shù)量的認(rèn)證因素。此外,計算設(shè)備還可以被配置為:根據(jù)該歷史行為信息或者歷史行為值來計算脆弱性值,并使用該脆弱性值來確定在對用戶進(jìn)行認(rèn)證時應(yīng)當(dāng)進(jìn)行評估的認(rèn)證因素的數(shù)量。
在各個方面,計算設(shè)備可以被配置為根據(jù)交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、和/或歷史行為值中的一些或者全部,來計算脆弱性值。計算設(shè)備可以使用該脆弱性值來確定在對用戶進(jìn)行認(rèn)證時該設(shè)備應(yīng)當(dāng)進(jìn)行評估的認(rèn)證因素的數(shù)量。此外,計算設(shè)備還可以使用該脆弱性值來智能地選擇/計算認(rèn)證因素。
通過使用機(jī)器學(xué)習(xí)和/或行為分析技術(shù),計算設(shè)備可以持續(xù)地(或者接近持續(xù)地)計算、選擇、和/或評估認(rèn)證因素,而不會消耗過量的其處理資源或者功率資源。計算設(shè)備可以通過隨時確定風(fēng)險水平,而不僅僅是在關(guān)鍵時刻(例如,登錄時間),來完成這種隨機(jī)性或者使用概率性方法。
在一個方面,計算設(shè)備可以被配置為執(zhí)行被動認(rèn)證操作來對用戶進(jìn)行認(rèn)證,而不需要為了認(rèn)證目的來表達(dá)用戶交互。在該方面,計算設(shè)備可以被配置為:確定被動認(rèn)證置信度值,其中該被動認(rèn)證置信度值以被動認(rèn)證的準(zhǔn)確性來標(biāo)識設(shè)備的置信度水平;確定關(guān)鍵性水平值,其中該關(guān)鍵性水平值標(biāo)識在該設(shè)備上操作的進(jìn)程或者軟件應(yīng)用的重要性或者關(guān)鍵性;將被動認(rèn)證置信度值與關(guān)鍵性水平值進(jìn)行比較,以判斷被動認(rèn)證中的置信度水平是否足夠用于關(guān)鍵性水平;基于該比較的結(jié)果來確定(例如,計算或者選擇)在被動認(rèn)證操作中將要使用的認(rèn)證因素和/或認(rèn)證因素的數(shù)量。
在各個方面,計算設(shè)備可以被配置為:經(jīng)由該計算設(shè)備的綜合行為監(jiān)測和分析系統(tǒng),來執(zhí)行本申請中所討論的操作中的任何一個或者全部。該行為監(jiān)測和分析系統(tǒng)可以在不對計算設(shè)備的響應(yīng)性、性能、或者功耗特性具有顯著的、負(fù)面、或者用戶可感知影響的情況下,完成這些操作。
該行為監(jiān)測和分析系統(tǒng)可以被配置為:快速地和高效地識別非良性軟件應(yīng)用(例如,惡意的、寫得不好的、與設(shè)備不兼容的應(yīng)用),阻止這些應(yīng)用使計算設(shè)備的性能、功率利用水平,網(wǎng)絡(luò)使用水平,安全性和/或隱私性隨時間下降。此外,該行為監(jiān)測和分析系統(tǒng)還可以被配置為:確定該設(shè)備進(jìn)行評估的認(rèn)證因素的數(shù)量、確定進(jìn)行評估的認(rèn)證因素的類型、以及確定在對這些認(rèn)證因素進(jìn)行評估時要執(zhí)行的操作。此外,該行為監(jiān)測和分析系統(tǒng)還可以被配置為:基于設(shè)備的當(dāng)前行為、正在進(jìn)行的交易的類型、用戶置信度值、軟件完整性置信度值或者在該設(shè)備上操作的軟件應(yīng)用的歷史行為,對用戶、進(jìn)程、軟件應(yīng)用或者任何其它實(shí)體或組件進(jìn)行認(rèn)證。
該基于行為的監(jiān)測和分析系統(tǒng)可以包括:觀測器進(jìn)程、守護(hù)進(jìn)程、模塊或子系統(tǒng)(本文統(tǒng)稱為“模塊”)、行為提取器模塊和分析器模塊。觀測器模塊可以被配置為測量或協(xié)調(diào)該計算設(shè)備系統(tǒng)的各個層級的各個應(yīng)用程序接口(api)、寄存器、計數(shù)器或其它設(shè)備部件(本文統(tǒng)稱為“儀表部件”),從儀表部件收集行為信息,(例如,經(jīng)由存儲器寫操作、函數(shù)調(diào)用等等)將所收集的行為信息發(fā)送給行為提取器模塊。行為提取器模塊可以使用所收集的行為信息來生成行為向量,其中該行為向量表示或者描繪與該設(shè)備的一個或多個特定線程、進(jìn)程、軟件應(yīng)用、模塊或部件相關(guān)聯(lián)的觀測的事件、狀況、任務(wù)、活動和/或行為(本文統(tǒng)稱為“行為”)中的很多或者全部。行為提取器模塊可以將所生成的行為向量傳輸給分析器模塊(例如,經(jīng)由存儲器寫操作、函數(shù)調(diào)用等等),分析器模塊可以將這些行為向量應(yīng)用于分類器模型以生成分析結(jié)果,使用分析結(jié)果來判斷軟件應(yīng)用或設(shè)備行為是良性的,還是非良性的(例如,惡意的、寫的不好、性能下降的等等)。隨后,設(shè)備處理器可以執(zhí)行各種操作來校正、治療、治愈、隔離、或者以其它方式修復(fù)所識別的問題(例如,確定是非良性的行為)。
每一個行為向量可以是包括或者封裝一個或多個“行為特征”的信息結(jié)構(gòu)。行為特征可以是用于表示移動設(shè)備中的觀測的事件、狀況、活動、操作、關(guān)系、交互或者行為中的全部或一部分的抽象數(shù)字或符號。每一個行為特征可以與下面的信息相關(guān)聯(lián):用于標(biāo)識一系列可能的值的數(shù)據(jù)類型、可以關(guān)于這些值執(zhí)行的操作、這些值的含義和其它類似的信息。移動設(shè)備可以使用該數(shù)據(jù)類型來確定應(yīng)當(dāng)如何對相應(yīng)的行為特征(或者特征值)進(jìn)行測量、分析、加權(quán)或者使用。
在一個方面,計算設(shè)備可以被配置為生成大小為“n”的行為向量,其將進(jìn)程/應(yīng)用的行為映射到n維空間。該行為向量中的每一個數(shù)字或者符號(即,該向量所存儲的“n”個值中的每一個)可以表示該設(shè)備的特征的值。計算設(shè)備可以分析該行為向量(例如,通過將該行為向量應(yīng)用于關(guān)鍵行為的模型等等),以判斷該進(jìn)程/軟件應(yīng)用是否是異常的。此外,計算設(shè)備還可以對系統(tǒng)中的所有進(jìn)程/應(yīng)用的行為評分進(jìn)行聚合,以識別該系統(tǒng)的正常/異常行為。
在一個方面,計算設(shè)備可以被配置為存儲關(guān)鍵行為的模型。關(guān)鍵行為的模型可以與關(guān)鍵性水平(或者優(yōu)先級或重要性值)相關(guān)聯(lián)地標(biāo)識通用“關(guān)鍵”行為。關(guān)鍵行為的示例包括用于處理以下方面的操作:近場通信(nfc)支付、銀行交易、圖片拍攝、音頻或視頻信息的錄制、訪問密碼或者pin、發(fā)送或接收安全或加密的電子郵件等等。這些和其它關(guān)鍵行為的模型可以存儲在云服務(wù)器或網(wǎng)絡(luò)中,在較大數(shù)量的設(shè)備之間共享,定期地或者按需地向計算設(shè)備發(fā)送,以及在設(shè)備中進(jìn)行定制以便說明與各個用戶相關(guān)聯(lián)的關(guān)鍵行為。關(guān)鍵行為的模型可以在分類器模型中,或者包括在分類器模型中。
分類器模型可以是一種行為模型,其包括能由設(shè)備處理器進(jìn)行使用,以快速地和高效地測試或者評估特定的特征、因素、數(shù)據(jù)點(diǎn)、條目、api、狀態(tài)、狀況、行為、軟件應(yīng)用、進(jìn)程、操作、組件等等(本文統(tǒng)稱為“特征”)或者該設(shè)備的行為的其它方面的數(shù)據(jù)、條目、決策節(jié)點(diǎn)、決策標(biāo)準(zhǔn)和/或信息結(jié)構(gòu)。分類器模型還可以包括能由設(shè)備處理器進(jìn)行使用,以便確定要在移動設(shè)備中進(jìn)行監(jiān)測的軟件應(yīng)用和/或行為之間的關(guān)系的本質(zhì)的信息。
每一個分類器模型可以被分類成全分類器模型或精簡分類器模型。全分類器模型可以是根據(jù)較大的訓(xùn)練數(shù)據(jù)集來生成的健壯數(shù)據(jù)模型,其中該較大的訓(xùn)練數(shù)據(jù)集可以包括數(shù)千個特征和數(shù)億個條目。精簡分類器模型可以是根據(jù)精簡的數(shù)據(jù)集來生成的更聚焦的數(shù)據(jù)模型,其中該精簡的數(shù)據(jù)集包括或者優(yōu)先級劃分關(guān)于以下的特征/條目的測試:與判斷特定的移動設(shè)備行為是否是良性的最有關(guān)的特征/條目。本地分類器模型可以是在移動計算設(shè)備中生成的精簡分類器模型。通過在使用這些模型的計算設(shè)備中生成分類器模型,本文的各個方面使計算設(shè)備能夠準(zhǔn)確地識別:對于判斷該特定設(shè)備上的行為是否是良性的來說最重要,或者是對于設(shè)備的性能下降具有貢獻(xiàn)的特定特征。這些方面還使計算設(shè)備能夠根據(jù)分類器模型中的特征在對該特定設(shè)備中的行為進(jìn)行分類時的相對重要性,來準(zhǔn)確地對這些特征劃分優(yōu)先次序。
各個方面(其包括參照圖2到圖7所描述的方面)可以在包括單一處理器和多處理器系統(tǒng)以及片上系統(tǒng)(soc)的多種不同的移動設(shè)備中實(shí)現(xiàn)。圖1是示出可以在實(shí)現(xiàn)本文各個方面的計算設(shè)備中使用的示例性片上系統(tǒng)(soc)100架構(gòu)的體系結(jié)構(gòu)圖。soc100可以包括多個異構(gòu)處理器,例如,數(shù)字信號處理器(dsp)101、調(diào)制解調(diào)器處理器104、圖形處理器106和應(yīng)用處理器108。此外,soc100還可以包括連接到異構(gòu)處理器101、104、106、108中的一個或多個的一個或多個協(xié)處理器110(例如,向量協(xié)處理器)。每一個處理器101、104、106、108、110可以包括一個或多個內(nèi)核,每一個處理器/內(nèi)核可以獨(dú)立于其它處理器/內(nèi)核來執(zhí)行操作。例如,soc100可以包括執(zhí)行第一類型的操作系統(tǒng)(例如,freebsd、linix、osx等等)的處理器和執(zhí)行第二類型的操作系統(tǒng)(例如,微軟windows8)的處理器。
soc100還可以包括用于管理傳感器數(shù)據(jù)、模數(shù)轉(zhuǎn)換、無線數(shù)據(jù)傳輸,以及用于執(zhí)行其它專用操作(如,對用于游戲和電影的編碼音頻信號進(jìn)行處理)的模擬電路和定制電路114。此外,soc100還可以包括系統(tǒng)組件和資源116,例如電壓調(diào)整器、振蕩器、鎖相環(huán)、外圍橋接、數(shù)據(jù)控制器、內(nèi)存控制器、系統(tǒng)控制器、接入端口、定時器、以及用于支持這些處理器和客戶端在計算設(shè)備上運(yùn)行的其它類似組件。
系統(tǒng)組件116和定制電路114可以包括用于與外圍設(shè)備進(jìn)行交互的電路,例如,照相機(jī)、電子顯示器、無線通信設(shè)備、外部存儲器芯片等等。處理器101、104、106、108可以經(jīng)由互連/總線模塊124(其可以包括可再配置邏輯門陣列和/或?qū)崿F(xiàn)總線架構(gòu)(例如,coreconnect、amba等等))來互連到一個或多個存儲器單元112、系統(tǒng)組件、以及資源116和定制電路114??梢酝ㄟ^諸如高性能片上網(wǎng)絡(luò)(noc)之類的高級互連來提供通信。
soc100還可以包括用于與該soc之外的資源進(jìn)行通信的輸入/輸出模塊(沒有示出),例如,時鐘118和電壓調(diào)整器120。soc之外的資源(例如,時鐘118、電壓調(diào)整器120)可以由內(nèi)部soc處理器/內(nèi)核(例如,dsp101、調(diào)制解調(diào)器處理器104、圖形處理器106、應(yīng)用處理器108等等)中的兩個或更多來實(shí)現(xiàn)。
此外,soc100還可以包括適合于從傳感器收集傳感器數(shù)據(jù)的硬件和/或軟件組件,這些傳感器包括揚(yáng)聲器、用戶接口單元(例如,輸入按鍵、觸摸屏顯示器等等)、麥克風(fēng)陣列、用于監(jiān)測物理狀況(例如,位置、方向、運(yùn)動、方位、振動、壓力等等)的傳感器、照相機(jī)、指南針、gps接收機(jī)、通信電路(例如,
除了上面所討論的soc100之外,可以利用各種各樣的計算系統(tǒng)(其可以包括單一處理器、多個處理器、多核處理器或者其任意組合)來實(shí)現(xiàn)這些各個方面。
圖2根據(jù)各個方面,示出了包括基于行為的安全系統(tǒng)200的一個方面計算設(shè)備中的示例性邏輯組件和信息流,其中基于行為的安全系統(tǒng)200配置為使用行為分析技術(shù),對用戶、應(yīng)用、或者活動進(jìn)行驗證。在圖2所示出的例子中,該計算設(shè)備是包括設(shè)備處理器(即,移動設(shè)備處理器)的移動設(shè)備102,其中該設(shè)備處理器配置有可執(zhí)行指令模塊,其包括行為觀測器模塊202、行為提取器模塊204、行為分析器模塊206、執(zhí)行器模塊208、以及認(rèn)證模塊210。
在各個方面,可以將認(rèn)證模塊210中的全部或者一部分實(shí)現(xiàn)成行為觀測器模塊202、行為提取器模塊204、行為分析器模塊206、或者執(zhí)行器模塊208的一部分。模塊202到210中的每一個可以是利用軟件、硬件、或者其任意組合來實(shí)現(xiàn)的線程、進(jìn)程、守護(hù)進(jìn)程、模塊、子系統(tǒng)、或者組件。在各個方面,可以將模塊202到210實(shí)現(xiàn)在操作系統(tǒng)的一部分中(例如,實(shí)現(xiàn)在內(nèi)核中、實(shí)現(xiàn)在內(nèi)核空間中、實(shí)現(xiàn)在用戶空間中等等)、實(shí)現(xiàn)在單獨(dú)的程序或應(yīng)用中、實(shí)現(xiàn)在專用硬件緩沖區(qū)或處理器中、或者實(shí)現(xiàn)在其任意組合中。在一個方面,模塊202到210中的一個或多個可以實(shí)現(xiàn)成在移動設(shè)備102的一個或多個處理器上執(zhí)行的軟件指令。
認(rèn)證模塊210可以被配置為基于其它模塊202到208所收集、生成或者分析的信息中的任何一個或者全部,智能地、高效地和動態(tài)地判斷是否需要認(rèn)證、確定要進(jìn)行評估的認(rèn)證因素的數(shù)量、以及當(dāng)評估這些認(rèn)證因素時,要執(zhí)行的操作。例如,認(rèn)證模塊210可以使用行為觀測器模塊202所收集的信息,來確定該設(shè)備的當(dāng)前行為,正在進(jìn)行的交易的類型、用戶置信度值和軟件完整性置信度值,使用任何或者所有這種信息來確定在對用戶進(jìn)行認(rèn)證時,將進(jìn)行評估的認(rèn)證因素的數(shù)量和類型。再舉一個例子,認(rèn)證模塊210可以被配置為:存儲行為分析器模塊206向分析器模型應(yīng)用行為向量的結(jié)果以作為歷史行為信息,使用所存儲的歷史行為信息來計算歷史行為值(即,置信度值或者概率值),使用該歷史行為值來確定行為觀測器模塊202將進(jìn)行監(jiān)測和行為分析器模塊206將進(jìn)行分析的設(shè)備特征,以便對用戶進(jìn)行認(rèn)證。
在一個方面,認(rèn)證模塊210可以被配置為選擇用于測試兩種或更多不同類型的獨(dú)立認(rèn)證因素,其包括:知識因素類型,擁有因素類型、以及固有因素類型中的兩個或更多。在一個方面,認(rèn)證模塊210可以被配置為確定用于對認(rèn)證因素進(jìn)行測試或評估的操作。這些操作可以包括或者可以基于:行為觀測器模塊202所監(jiān)測的活動中的任何一個、或者行為分析器模塊206分析的行為中的任何一個。
行為觀測器模塊202可以被配置為:在一段時間上,測量該設(shè)備的各個層級/模塊處的應(yīng)用程序接口(api)、計數(shù)器、硬件監(jiān)測器等等,對這些各個層級/模塊處的活動、狀況、操作和事件(例如,系統(tǒng)事件、狀態(tài)改變等等)進(jìn)行監(jiān)測。行為觀測器模塊202可以收集關(guān)于所監(jiān)測的活動、狀況、操作或事件的行為信息,并在存儲器中(例如,在日志文件等等中)存儲所收集的信息。
行為觀測器模塊202可以被配置為:通過收集關(guān)于應(yīng)用框架或運(yùn)行時庫中的庫api調(diào)用、系統(tǒng)調(diào)用api、文件系統(tǒng)和網(wǎng)絡(luò)化子系統(tǒng)操作、設(shè)備(其包括傳感器設(shè)備)狀態(tài)改變和其它類似事件的信息,來監(jiān)測移動計算設(shè)備102的活動。此外,行為觀測器模塊202還可以監(jiān)測文件系統(tǒng)活動,其可以包括:搜索文件名、文件訪問的類別(個人信息或通用數(shù)據(jù)文件)、生成或刪除文件(例如,類型exe、zip等等)、文件讀/寫/查找操作、改變文件許可等等。
此外,行為觀測器模塊202還可以通過對數(shù)據(jù)網(wǎng)絡(luò)活動(其可以包括:連接的類型、協(xié)議、端口號、該設(shè)備連接到的服務(wù)器/客戶端、連接的數(shù)量、通信的量或頻率等等)進(jìn)行監(jiān)測,來監(jiān)測移動計算設(shè)備102的活動。行為觀測器模塊202可以對電話網(wǎng)絡(luò)活動進(jìn)行監(jiān)測,其可以包括:對發(fā)送出、接收到或者中間截獲的呼叫或消息(例如,sms等等)的類型和數(shù)量(例如,撥打的高級呼叫的數(shù)量)進(jìn)行監(jiān)測。
此外,行為觀測器模塊202還可以通過對系統(tǒng)資源使用(其可以包括:對叉(fork)的數(shù)量、存儲器訪問操作、文件打開的數(shù)量等等)進(jìn)行監(jiān)測,來監(jiān)測移動計算設(shè)備102的活動。行為觀測器模塊202可以對移動計算設(shè)備102的狀態(tài)進(jìn)行監(jiān)測,其可以包括對諸如下面的各種因素進(jìn)行監(jiān)測:顯示器是打開還是關(guān)閉的、該設(shè)備是鎖定還是未鎖的、電池的剩余電量、照相機(jī)的狀態(tài)等等。此外,行為觀測器模塊202還可以例如通過監(jiān)測關(guān)鍵服務(wù)(瀏覽器、提供商等等)的意圖、進(jìn)程間通信的程度、彈出窗等等,對進(jìn)程間通信(ipc)進(jìn)行監(jiān)測。
此外,行為觀測器模塊202還可以通過一個或多個硬件組件的驅(qū)動器統(tǒng)計和/或狀態(tài)進(jìn)行監(jiān)測,來監(jiān)測移動計算設(shè)備102的活動,其中這些硬件組件可以包括:照相機(jī)、傳感器、電子顯示器、wifi通信組件、數(shù)據(jù)控制器、內(nèi)存控制器、系統(tǒng)控制器、接入端口、定時器、外圍設(shè)備、無線通信組件、外部存儲器芯片、電壓調(diào)整器、振蕩器、鎖相環(huán)、外圍橋接、以及用于支持這些處理器和客戶端在上移動計算設(shè)備102上運(yùn)行的其它類似組件。
此外,行為觀測器模塊202還可以通過對表示該移動計算設(shè)備102和/或移動設(shè)備子系統(tǒng)的狀態(tài)或狀況的一個或多個硬件計數(shù)器進(jìn)行監(jiān)測,來監(jiān)測移動計算設(shè)備102的活動。硬件計數(shù)器可以包括處理器/內(nèi)核的特殊用途寄存器,其被配置為存儲在該移動計算設(shè)備102中發(fā)生的與硬件相關(guān)活動或事件的計數(shù)值或狀態(tài)。
此外,行為觀測器模塊202還可以通過對以下信息進(jìn)行監(jiān)測,來監(jiān)測移動計算設(shè)備102的活動:軟件應(yīng)用的活動或操作、來自應(yīng)用下載服務(wù)器(例如,
此外,行為觀測器模塊202還可以通過對移動計算設(shè)備102的傳輸或通信進(jìn)行監(jiān)測,來監(jiān)測移動計算設(shè)備102的活動,其包括監(jiān)測下面之類的通信:語音郵件(voicemailcomm)、設(shè)備標(biāo)識符(deviceidcomm)、用戶賬戶信息(useraccountcomm)、日歷信息(calendarcomm)、位置信息(locationcomm)、記錄的音頻信息(recordaudiocomm)、加速計信息(accelerometercomm)等等。
此外,行為觀測器模塊202還可以通過下面信息的使用和更新/改變進(jìn)行監(jiān)測,來監(jiān)測移動計算設(shè)備102的活動:指南針信息、計算設(shè)備設(shè)置、電池壽命、陀螺儀信息、壓力傳感器、磁傳感器、屏幕活動等等。行為觀測器模塊202可以監(jiān)測向軟件應(yīng)用傳輸和/或傳輸來自軟件應(yīng)用的通知(appnotifications)、應(yīng)用更新等等。行為觀測器模塊202可以監(jiān)測與第一軟件應(yīng)用有關(guān)的狀況或事件,其中第一軟件應(yīng)用請求下載和/或安裝第二軟件應(yīng)用。行為觀測器模塊202可以監(jiān)測與用戶驗證有關(guān)的狀況或事件,例如,密碼的輸入等等。
此外,行為觀測器模塊202還可以通過對移動計算設(shè)備102的多個層級(其包括應(yīng)用層、無線電層和傳感器層)的狀況或事件進(jìn)行監(jiān)測,來監(jiān)測移動計算設(shè)備102的活動。應(yīng)用層觀測可以包括:經(jīng)由人臉識別軟件來觀測用戶、觀測社交流媒體、觀測用戶輸入的筆記、觀測與
無線電層觀測可以包括確定下面中的任何一種或多種的出現(xiàn)、存在或者數(shù)量:在建立無線通信鏈路或者發(fā)送信息之前,與移動計算設(shè)備102的用戶交互、雙/多用戶識別模塊(sim)卡、互聯(lián)網(wǎng)無線電、移動電話系留、卸載數(shù)據(jù)以進(jìn)行計算、設(shè)備狀態(tài)通信、作為游戲控制器或家庭控制器的使用、車輛通信、計算設(shè)備同步等等。此外,無線電層觀察還可以包括:監(jiān)測無線電(wifi、wimax、藍(lán)牙等等)的使用以進(jìn)行定位、對等(p2p)通信、同步、車輛對車輛通信和/或機(jī)器對機(jī)器(m2m)。此外,無線電層觀測還可以包括:對網(wǎng)絡(luò)業(yè)務(wù)使用、統(tǒng)計或簡檔進(jìn)行監(jiān)測。
傳感器層觀測可以包括:對磁傳感器或其它傳感器進(jìn)行監(jiān)測,以確定該移動計算設(shè)備102的使用和/或外部環(huán)境。例如,移動計算設(shè)備處理器可以被配置為:判斷該設(shè)備是處于皮套中(例如,經(jīng)由配置為對皮套中的磁體進(jìn)行感測的磁傳感器)還是處于用戶的口袋中(例如,經(jīng)由照相機(jī)或光傳感器所檢測到的光量)。檢測到移動計算設(shè)備102處于皮套之中,可以是與認(rèn)識到可疑行為有關(guān),例如,由于當(dāng)移動計算設(shè)備102在放入皮套時,與用戶的活動使用有關(guān)的活動和功能(例如,拍攝照片或視頻、發(fā)送消息、進(jìn)行語音呼叫、記錄聲音等等)發(fā)生,可能是惡意的進(jìn)程在該設(shè)備上進(jìn)行執(zhí)行(例如,以跟蹤或窺探該用戶)的特征。
與使用或外部環(huán)境有關(guān)的傳感器層觀測的其它例子,可以包括:檢測nfc信令、從信用卡掃描器、條形碼掃描器或者移動標(biāo)簽讀取器收集信息、檢測通用串行總線(usb)充電電源的存在、檢測鍵盤或者輔助設(shè)備已耦合到該移動計算設(shè)備102、檢測到該移動計算設(shè)備102已耦合到另一個計算設(shè)備(例如,經(jīng)由usb等等),判斷l(xiāng)ed、閃光、閃光燈或者光源是否被修改或者禁用(例如,惡意地禁用緊急信令app等等)、檢測揚(yáng)聲器或麥克風(fēng)是否已打開或加電、檢測充電或功率事件、檢測到該移動計算設(shè)備102被使用成游戲控制器等等。此外,傳感器層觀測還可以包括:從醫(yī)療或保健傳感器或者通過掃描用戶的身體來收集信息,從插入到usb/音頻插孔的外部傳感器收集信息、從觸覺或感觸傳感器收集信息(例如,經(jīng)由振動器接口等等)、收集與移動計算設(shè)備102的熱狀態(tài)有關(guān)的信息等等。
為了將需要監(jiān)測的因素的數(shù)量減少到一個可管理的水平,在一個方面,行為觀測器模塊202可以被配置為:通過對初始集合的行為或因素進(jìn)行監(jiān)測/觀察,來執(zhí)行粗觀測,其中該初始集合是可能對于該計算設(shè)備的脆弱性或性能下降具有貢獻(xiàn)的所有因素的一個較小子集。在一個方面,行為觀測器模塊202可以從服務(wù)器和/或云服務(wù)或網(wǎng)絡(luò)中的組件接收該初始集合的行為和/或因素。在一個方面,可以利用機(jī)器學(xué)習(xí)分類器模型,來指示該初始集合的行為/因素。在一個方面,這些機(jī)器學(xué)習(xí)分類器模型可以是關(guān)鍵行為的模型。
行為觀測器模塊202可以將所收集的行為信息傳輸給行為提取器模塊204(例如,經(jīng)由存儲器寫操作、函數(shù)調(diào)用等等)。行為提取器模塊204可以被配置為接收或者獲取該收集的行為信息,使用該信息來生成一個或多個行為向量。每一個行為向量可以利用一個值或者向量數(shù)據(jù)結(jié)構(gòu),來簡潔地描述該設(shè)備、軟件應(yīng)用或者進(jìn)程的行為。
該向量數(shù)據(jù)結(jié)構(gòu)可以包括一系列數(shù)字,每一串?dāng)?shù)字表示該移動設(shè)備的一個特征或行為,例如,該移動設(shè)備的照相機(jī)是否在使用(例如,零或者一),從移動設(shè)備發(fā)送的網(wǎng)絡(luò)業(yè)務(wù)量或者移動設(shè)備所生成的網(wǎng)絡(luò)業(yè)務(wù)的量(例如,20kb/秒等等),已傳輸?shù)幕ヂ?lián)網(wǎng)消息的數(shù)量(例如,sms消息的數(shù)量等等)和/或行為觀測器模塊202所收集的任何其它行為信息。再舉一個例子,該向量數(shù)據(jù)結(jié)構(gòu)可以包括用于表示以下方面的一系列數(shù)字:是否從桌子上拿起該移動設(shè)備、用戶是否打開/發(fā)起電子郵件應(yīng)用、移動支付應(yīng)用或者移動游戲應(yīng)用、用戶是否將該設(shè)備遞交給另一個用戶、該用戶是成人還是兒童、用戶是否活動地參與該設(shè)備(例如,玩游戲等等)等等。
在一個方面,行為提取器模塊204可以被配置為生成行為向量,使得它們充當(dāng)為使移動設(shè)備系統(tǒng)(例如,行為分析器模塊206)能夠快速地認(rèn)識、識別或者分析該設(shè)備的行為的標(biāo)識符。在一個方面,行為提取器模塊204可以被配置為生成大小為“n”的行為向量,其將進(jìn)程或軟件應(yīng)用的行為映射到n維空間。在一個方面,行為提取器模塊204可以被配置為:生成包括有能輸入到機(jī)器學(xué)習(xí)分類器中的特征/決策節(jié)點(diǎn)的信息的行為向量,以便生成關(guān)于所監(jiān)測的活動的查詢的應(yīng)答,或者判斷一個行為是否是需要密切監(jiān)測的關(guān)鍵活動。
在一個方面,行為提取器模塊204可以被配置為生成行為向量以包括執(zhí)行信息。可以將該執(zhí)行信息作為行為的一部分(例如,后臺進(jìn)程將3秒鐘之內(nèi)使用照相機(jī)5次,前臺進(jìn)程在3秒鐘之內(nèi)使用照相機(jī)3次等等)或者獨(dú)立特征的一部分,包括在行為向量中。在一個方面,可以將執(zhí)行狀態(tài)信息作為陰影特征值子向量或者數(shù)據(jù)結(jié)構(gòu),包括在行為向量中。在一個方面,該行為向量可以將該陰影特征值子向量或者數(shù)據(jù)結(jié)構(gòu)與同該執(zhí)行狀態(tài)有關(guān)的特征、活動、任務(wù),進(jìn)行關(guān)聯(lián)地存儲。
行為提取器模塊204可以將所生成的行為向量傳輸給行為分析器模塊206(例如,經(jīng)由存儲器寫操作、函數(shù)調(diào)用等等)。行為分析器模塊206可以被配置為:將這些行為向量應(yīng)用于分類器模型,以判斷設(shè)備行為是否是對于該設(shè)備的隨時間性能下降具有貢獻(xiàn)(或者可能具有貢獻(xiàn))、和/或可能在該設(shè)備上造成問題的非良性行為。行為分析器模塊206可以被配置為判斷是否需要認(rèn)證、確定要進(jìn)行評估的認(rèn)證因素的數(shù)量、要進(jìn)行評估的認(rèn)證因素的類型、以及當(dāng)評估這些認(rèn)證因素時,要執(zhí)行的操作。此外,行為分析器模塊206可以被配置為將行為向量應(yīng)用于分類器模型,以確定正在進(jìn)行的交易的類型、交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值,當(dāng)前在該設(shè)備上操作的軟件應(yīng)用的歷史行為、歷史行為值、脆弱性值等等。
每一個分類器模型可以是包括能由計算設(shè)備處理器使用,以評估計算設(shè)備行為的特定特征或方面的數(shù)據(jù)和/或信息結(jié)構(gòu)(例如,特征向量、行為向量、組件列表等等)的行為模型。每一個分類器模型還可以包括用于監(jiān)測該計算設(shè)備中的多種特征、因素、數(shù)據(jù)點(diǎn)、條目、api、狀態(tài)、狀況、行為、應(yīng)用、進(jìn)程、操作、組件等等(本文統(tǒng)稱為“特征”)的決策標(biāo)準(zhǔn)。分類器模型可以預(yù)安裝在計算設(shè)備上,從網(wǎng)絡(luò)服務(wù)器下載或接收,在計算設(shè)備中生成或者是其任意組合。此外,還可以通過使用眾包解決方案、行為建模技術(shù)、機(jī)器學(xué)習(xí)算法等等,來生成這些分類器模型。
每一個分類器模型可以被分類成全分類器模型或者精簡分類器模型。全分類器模型可以是根據(jù)大量的訓(xùn)練數(shù)據(jù)集所生成的健壯數(shù)據(jù)模型,其可以包括數(shù)千特征和數(shù)十億條目。精簡分類器模型可以是根據(jù)精簡數(shù)據(jù)集生成的更聚焦的數(shù)據(jù)模型,其僅僅包括/測試對判斷一個特定的活動是否是正在進(jìn)行的關(guān)鍵活動和/或特定的計算設(shè)備行為是否是良性的來說非常重要的特征/條目。舉例而言,設(shè)備處理器可以被配置為從網(wǎng)絡(luò)服務(wù)器接收全分類器模型,基于全分類器來生成該移動設(shè)備中的精簡分類器模型,使用本地生成的精簡分類器模型,將設(shè)備的行為分類成可被攻擊的脆弱性或者非良性的(例如,惡意的、使性能下降的等等)。
本地生成的精簡分類器模型是在計算設(shè)備中生成的精簡分類器模型。也就是說,由于移動設(shè)備是高度可配置和復(fù)雜系統(tǒng),對于判斷特定的設(shè)備行為是否是非良性的(例如,惡意的或者使性能下降的)來說最重要的特征,在各個設(shè)備中可能是不同的。此外,特征的不同組合可能需要在每一個設(shè)備中進(jìn)行監(jiān)測和/或分析,以便該設(shè)備快速地和高效地判斷該計算設(shè)備是否是易受攻擊的(因此更高水平的用戶認(rèn)證是適當(dāng)?shù)?或者特定的行為是否是非良性的。此外,通常可以僅僅使用從要監(jiān)測或者分析其行為的特定設(shè)備所獲得的信息,來確定需要監(jiān)測和分析的精確特征組合,以及每一個特征或者特征組合的相對優(yōu)先級或重要性。由于這些和其它原因,本文的各個方面可以在使用分類器模型的移動設(shè)備中,生成這些模型。這些本地分類器模型使設(shè)備處理器能夠準(zhǔn)確地識別對于判斷該計算設(shè)備是否是易受攻擊的或者該特定設(shè)備上的行為是否是非良性的(例如,對于該設(shè)備的性能下降具有貢獻(xiàn))來說最重要的特定特征。本地分類器模型還使設(shè)備處理器能夠根據(jù)進(jìn)行測試或者評估的特征對于判斷該計算設(shè)備是否是易受攻擊的或者分類該特定設(shè)備中的行為來說的相對重要性,對這些特征劃分優(yōu)先級。
特定于設(shè)備的分類器模型是一種包括聚焦的數(shù)據(jù)模型的分類器模型,其僅僅包括/測試具有下面特性的特定于計算設(shè)備的特征/條目:確定這些特征/條目對于分類特定的計算設(shè)備中的活動或者行為來說最相關(guān)。特定于應(yīng)用的分類器模型是一種包括聚焦的數(shù)據(jù)模型的分類器模型,其僅僅包括/測試具有下面特性的特征/條目:這些特征/條目對于評估特定的軟件應(yīng)用來說最相關(guān)。特定于用戶的分類器模型是一種包括聚焦的數(shù)據(jù)模型的本地分類器模型,其包括或者優(yōu)先級劃分關(guān)于以下的特征/條目最有關(guān)的測試:與識別設(shè)備的用戶、確定用戶的角色、判斷設(shè)備行為是否與所識別的用戶的角色相一致、判斷設(shè)備行為是否與所識別的用戶中的一個對于該設(shè)備的普通使用相一致、或者判斷用戶的活動是指示可疑的或非良性的行為(其證明更高級別的用戶認(rèn)證)。通過在移動設(shè)備中動態(tài)地生成特定于用戶、特定于設(shè)備和/或特定于應(yīng)用的分類器模型,本文的各個方面使設(shè)備處理器能夠?qū)⑵浔O(jiān)測和分析操作聚焦于很少數(shù)量的特征上,其中這些很少數(shù)量的特征對于判斷該特定移動設(shè)備的操作和/或在該設(shè)備上操作的特定軟件應(yīng)用是否與該特定設(shè)備的已知用戶的個性、習(xí)慣或普通使用模式相一致來說非常重要。
在本申請中所討論的分類器模型中的任何一個或全部可以包括關(guān)鍵行為的模型,其與用于標(biāo)識該行為的危險性的關(guān)鍵性水平或者置信度、概率、優(yōu)先級、重要性值相關(guān)聯(lián)地標(biāo)識關(guān)鍵行為。關(guān)鍵行為的示例包括用于處理以下方面的操作:近場通信(nfc)支付、銀行交易、圖片拍攝、音頻或視頻信息的錄制、訪問密碼或者pin、發(fā)送或接收安全或加密的電子郵件、或者依次由模塊202到208進(jìn)行監(jiān)測、分析或分類的任何其它活動或者行為。
在一個方面,行為分析器模塊206可以被配置為:當(dāng)其行為分析操作的結(jié)果不能提供足夠的信息,將設(shè)備行為分類成良性的或者非良性的時,將該行為分類成“可疑的”。行為分析器模塊206可以被配置為:響應(yīng)于確定設(shè)備行為是可疑的,通知行為觀測器模塊202。作為響應(yīng),行為觀測器模塊202可以基于從行為分析器模塊206接收的信息(例如,實(shí)時分析操作的結(jié)果),調(diào)整其觀測的粒度(即,對計算設(shè)備特征進(jìn)行監(jiān)測的細(xì)節(jié)水平)和/或改變進(jìn)行監(jiān)測的因素或者行為,生成或收集新的或另外的行為信息,并向行為分析器模塊206發(fā)送該新的/另外的信息以進(jìn)行進(jìn)一步分析/分類。行為觀測器模塊202和行為分析器模塊206之間的這種反饋通信,使移動計算設(shè)備102能夠遞歸地增加觀測的粒度(即,更精細(xì)或者更詳細(xì)地觀測),或者改變進(jìn)行觀測的特征/行為,直到集體行為被分類成良性或者非良性的、識別可疑的或者性能下降的行為的來源為止、直到達(dá)到處理或者電池消耗門限為止、或者直到設(shè)備處理器確定不能通過進(jìn)一步改變、調(diào)整或者增加觀測粒度來識別該可疑的或性能下降的移動設(shè)備行為的來源為止。此外,這種反饋通信還可以使移動計算設(shè)備102能夠調(diào)整或修改行為向量和分類器模型,而不需要消耗該計算設(shè)備的過度量的處理、存儲器、或者能量資源。
在各個方面,移動設(shè)備102可以被配置為與網(wǎng)絡(luò)服務(wù)器進(jìn)行協(xié)作地工作,以智能地和高效地識別對于判斷該計算設(shè)備是否是易受攻擊的,或者活動或行為是非良性的來說最相關(guān)的特征、因素和數(shù)據(jù)點(diǎn)。例如,設(shè)備處理器可以被配置為從網(wǎng)絡(luò)服務(wù)器接收全分類器模型,使用所接收的全分類器模型來生成精簡分類器模型(即,數(shù)據(jù)/行為模型),其中這些精簡分類器模型特定于該設(shè)備的用戶和/或該設(shè)備或者其軟件應(yīng)用的特征和功能。設(shè)備處理器可以使用全分類器模型,來生成不同程度的復(fù)雜度(或者“精簡性”)的一系列精簡分類器模型??梢岳械貞?yīng)用該系列的精簡分類器模型中的最精簡模型(即,基于最少數(shù)量的測試條件的精簡分類器模型),直到遇到該分類器模型不能進(jìn)行分類的行為為止,在該時間,可以嘗試應(yīng)用更健壯的(即,不太精簡的)分類器模型來對該行為進(jìn)行分類。可以應(yīng)用該系列的所生成的精簡分類器模型中的更強(qiáng)大的精簡分類器模型,直到實(shí)現(xiàn)該行為的確定性分類或者確定了用戶認(rèn)證的所需要水平為止。用此方式,設(shè)備處理器可以通過將最完整、但資源密集型精益分類器模型的使用,限制于需要健壯的分類器模型來對行為進(jìn)行明確地分類的那些情形,可以在效率和準(zhǔn)確性之間取得平衡。
在各個方面,設(shè)備處理器可以被配置為:通過將全分類器模型中包括的有限狀態(tài)機(jī)表示或者表達(dá)轉(zhuǎn)換成增強(qiáng)型決策樹樁,來生成精簡分類器模型。設(shè)備處理器可以基于特定于應(yīng)用、設(shè)備或用戶的特征,來修剪或剔除該完全集合的增強(qiáng)型決策樹樁,以生成包括有該全分類器模型中所包括的增強(qiáng)型決策樹樁的一個子集的精簡分類器模型。隨后,設(shè)備處理器可以使用該精簡分類器模型,對設(shè)備行為進(jìn)行智能地監(jiān)測、分析和/或分類。
增強(qiáng)型決策樹樁是只有一個節(jié)點(diǎn)(因此一個測試問題或者測試條件)和一個權(quán)重值的一級決策樹,因此其非常適合于在數(shù)據(jù)/行為的二進(jìn)制分類中使用。也就是說,在二進(jìn)制應(yīng)答(例如,是或否)中,將行為向量應(yīng)用于增強(qiáng)型決策樹樁。例如,如果增強(qiáng)型決策樹樁所測試的問題/條件是“短消息服務(wù)(sms)傳輸?shù)念l率低于每分鐘x次?”,則向增強(qiáng)型決策樹樁應(yīng)用“3”的值,將導(dǎo)致“是”應(yīng)答(對應(yīng)于“小于3次”的sms傳輸)或者“否”應(yīng)答(對應(yīng)于“3次或更多”的sms傳輸)。增強(qiáng)型決策樹樁是高效的,這是由于它們是非常簡單和原始的(因此,不需要顯著的處理資源)。增強(qiáng)型決策樹樁也是非常平行的,因此可以并行地/在同一時間,應(yīng)用或者測試多個樹樁(例如,通過計算設(shè)備中的多個內(nèi)核或者處理器)。
圖3是根據(jù)一個方面,示出智能性地確定在對計算設(shè)備的用戶進(jìn)行認(rèn)證時,要將進(jìn)行評估的認(rèn)證因素的數(shù)量的方法300。方法300可以由移動設(shè)備或資源受限性計算設(shè)備的處理內(nèi)核或者設(shè)備處理器來執(zhí)行。在方框301中,設(shè)備處理器可以監(jiān)測該計算設(shè)備系統(tǒng)的各個層級的儀表部件(例如,api、寄存器、計數(shù)器等等)以收集行為信息,檢測在進(jìn)行的新活動、狀況、事件或者行為。在方框302處,設(shè)備處理器可以基于所收集的行為信息,來生成用于表示或描繪所檢測的活動、狀況、事件或者行為的行為向量。
在可選框304中,設(shè)備處理器可以基于行為向量,來計算交易類型關(guān)鍵性值(或者更新先前所計算的交易類型關(guān)鍵性值)。例如,設(shè)備處理器可以將行為向量與關(guān)鍵行為的模型進(jìn)行比較,以確定該行為的關(guān)鍵性或者重要性,基于所確定的該行為的關(guān)鍵性或者重要性,來計算交易類型關(guān)鍵性值。在一個方面,設(shè)備處理器可以將交易類型關(guān)鍵性值設(shè)置為等于零和一之間的值(包括性的)。例如,當(dāng)確定該行為是非關(guān)鍵的時(例如,設(shè)備被移動),則設(shè)備處理器可以將該值設(shè)置為“1.0”,當(dāng)確定該行為是中性的時,設(shè)置為“0.5”,當(dāng)確定該行為是高度關(guān)鍵的時,設(shè)置為“0.1”(例如,使用nfc支付的銀行交易)。
在可選框306中,設(shè)備處理器可以基于該行為向量,來計算用戶置信度值(或者更新先前所計算的用戶置信度值)。例如,設(shè)備處理器可以將所生成的行為向量應(yīng)用于分類器模型,以判斷所檢測的行為是否與用戶的正常使用模式相一致,使用將該行為向量應(yīng)用于所述模型的結(jié)果來計算用戶置信度值。在一個方面,設(shè)備處理器可以將用戶置信度值設(shè)置為等于零和一之間的值(包括性的),以便指示該設(shè)備的當(dāng)前使用模式與該用戶對于該設(shè)備的正常使用模式相一致的程度。例如,當(dāng)該行為與正常使用模式高度一致時,設(shè)備處理器可以將該值設(shè)置為“1.0”,當(dāng)該行為是中性的時,將該值設(shè)置為“0.5”,當(dāng)該行為是高度異常的時,將該值設(shè)置為“0.1”。
在可選框308中,設(shè)備處理器可以基于該行為向量,來計算軟件完整性置信度值(或者更新先前計算的軟件完整性置信度值)。設(shè)備處理器可以將軟件完整性置信度值設(shè)置為等于零和一之間的值(包括性的),以便指示與該行為相關(guān)聯(lián)的軟件應(yīng)用是良性的置信度。例如,如果行為分析器模塊將該行為分類成良性的,設(shè)備處理器可以將該值設(shè)置為“1.0”,如果確定該行為是溫和的可疑時,將該值設(shè)置為“0.8”,如果確定該行為是高度可疑的時,將該值設(shè)置為“0.2”,如果確定該行為是非良性的時,將該值設(shè)置為“0.0”。
在可選框310中,設(shè)備處理器可以基于行為向量和/或存儲器中存儲的歷史行為信息,來計算歷史行為值(或者更新先前計算的歷史行為值)。該歷史行為信息可以包括適合于以下方面的信息:識別有關(guān)的軟件應(yīng)用或者進(jìn)程的先前觀測的行為、該行為的優(yōu)先級或者相對重要性、該行為先前是被分析/分類成良性的還是非良性的、用于該行為的先前分類的分類置信度值、用于標(biāo)識惡意或者性能退化的程度的嚴(yán)重性值(對于分類成非良性的行為)、用于標(biāo)識上一次對該行為進(jìn)行觀測、分析或者分類的時間的時間戳值、以及其它類似的信息。在一個方面,設(shè)備處理器可以將歷史行為值設(shè)置為等于零和一之間的值(包括性的),以指出該歷史行為信息指示所檢測的活動、狀況、事件或者行為是非良性的程度。例如,如果歷史行為信息指示當(dāng)前在該設(shè)備上操作的軟件應(yīng)用的行為先前被分類成良性的,則設(shè)備處理器可以將該值設(shè)置為“1.0”,如果確定該行為在上個月是可疑的,則將該值設(shè)置為“0.8”,如果確定該行為在一個小時之前是可疑的,并具有較高優(yōu)先級或者相對重要性,則將該值設(shè)置為“0.2”,如果最近確定該行為是非良性的,則將該值設(shè)置為“0.0”。
在方框312中,設(shè)備處理器可以使用交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值中的任何一個或者全部,來確定在對該計算設(shè)備的用戶進(jìn)行認(rèn)證時,要進(jìn)行評估的認(rèn)證因素的數(shù)量。
圖4示出了計算設(shè)備可以檢測的事件/行為的示例性序列,以及基于每一個檢測的事件/行為,可以針對交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值來計算的示例性值。此外,圖4還示出了可以基于交易類型關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值,來動態(tài)地確定安全水平和認(rèn)證因素的數(shù)量。
在操作452中,設(shè)備處理器(例如,經(jīng)由從方位傳感器收集的信息等等)檢測到用戶從桌子上或者等同的高度拿起了計算設(shè)備。結(jié)果,設(shè)備處理器將交易類型關(guān)鍵性值設(shè)置為“1.0”,將用戶置信度值設(shè)置為“0.5”(由于沒有足夠的信息來識別該用戶),將軟件完整性置信度值設(shè)置為“1.0”,將歷史行為值設(shè)置為“0.7”?;谶@些值,設(shè)備處理器將適合于對用戶進(jìn)行認(rèn)證的認(rèn)證因素的數(shù)量設(shè)置為三(3)。在操作453中,用戶登錄到該設(shè)備,并且設(shè)備處理器使用三種認(rèn)證因素(例如,密碼、指紋、安全令牌等等)來對該用戶進(jìn)行認(rèn)證。
在操作454中,設(shè)備處理器檢測到用戶打開/發(fā)起了電子郵件應(yīng)用。結(jié)果,設(shè)備處理器將交易類型關(guān)鍵性值設(shè)置為“0.4”(更關(guān)鍵),將用戶置信度值設(shè)置為“0.7”(具有更好的機(jī)會建模該用戶具有更高的置信度),將軟件完整性置信度值設(shè)置為“1.0”,并且將歷史行為值設(shè)置為“0.7”?;谶@些值,設(shè)備處理器將適合于對用戶進(jìn)行認(rèn)證的認(rèn)證因素的數(shù)量增加為四(4)。在操作455中,設(shè)備處理器使用另外的認(rèn)證因素(例如,激活照相機(jī)進(jìn)行人臉識別等等)來對該用戶進(jìn)行認(rèn)證。
在操作456中,設(shè)備處理器檢測到用戶打開/發(fā)起了移動支付應(yīng)用。結(jié)果,設(shè)備處理器將交易類型關(guān)鍵性值設(shè)置為“0.1”(高度關(guān)鍵),將用戶置信度值設(shè)置為“1.0”(非常高的用戶識別的信任),將軟件完整性置信度值設(shè)置為“1.0”,并且將歷史行為值設(shè)置為“0.7”。基于這些值,設(shè)備處理器可以將適合于對用戶進(jìn)行認(rèn)證的認(rèn)證因素的數(shù)量增加為五(5)。在操作457中,設(shè)備處理器使用另外的認(rèn)證因素來對該用戶進(jìn)行認(rèn)證,例如,通過判斷該特定序列的操作是否與用戶的先前設(shè)備使用模式相一致。
在操作458中,設(shè)備處理器檢測到用戶打開/發(fā)起了移動游戲應(yīng)用。結(jié)果,設(shè)備處理器將交易類型關(guān)鍵性值設(shè)置為“0.9”,將用戶置信度值設(shè)置為“1.0”,將軟件完整性置信度值設(shè)置為“1.0”,并且將歷史行為值設(shè)置為“0.8”。基于這些值,設(shè)備處理器可以將適合于對用戶進(jìn)行認(rèn)證的認(rèn)證因素的數(shù)量減少為二(2)。
在操作460中,用戶將該設(shè)備遞交給一個兒童。設(shè)備處理器檢測到用戶將該設(shè)備遞交給第二用戶,并且第二用戶是一個兒童(例如,基于第二用戶使用兩只手來與該設(shè)備進(jìn)行交互,通過使用人臉識別技術(shù)等等),故將用戶置信度值設(shè)置為0.5。結(jié)果,設(shè)備處理器將交易類型關(guān)鍵性值設(shè)置為“0.9”,將用戶置信度值設(shè)置為“0.5”,將軟件完整性置信度值設(shè)置為“1.0”,并且將歷史行為值設(shè)置為“0.8”?;谶@些值,設(shè)備處理器可以將認(rèn)證因素的數(shù)量增加為三(3)。
在操作462中,設(shè)備處理器檢測到第二用戶(兒童)開始玩游戲應(yīng)用。結(jié)果,設(shè)備處理器將交易類型關(guān)鍵性值設(shè)置為“0.9”,將用戶置信度值設(shè)置為“1.0”,將軟件完整性置信度值設(shè)置為“1.0”,并且將歷史行為值設(shè)置為“0.8”。基于這些值,設(shè)備處理器可以將認(rèn)證因素的數(shù)量減少為二(2)。
在操作464中,設(shè)備處理器檢測到第二用戶(兒童)嘗試下載可疑的或者已知的惡意軟件應(yīng)用。結(jié)果,設(shè)備處理器將交易類型關(guān)鍵性值設(shè)置為“0.9”,將用戶置信度值設(shè)置為“1.0”,將軟件完整性置信度值設(shè)置為“0.0”,并且將歷史行為值設(shè)置為“0.1”?;谶@些值,設(shè)備處理器將認(rèn)證因素的數(shù)量增加為六(6)。在操作465中,設(shè)備處理器使用另外的認(rèn)證因素來對該用戶進(jìn)行認(rèn)證。
圖5是根據(jù)一個方面,示出執(zhí)行多因素認(rèn)證的方法500。方法500可以由移動設(shè)備或者資源受限性計算設(shè)備的處理內(nèi)核或者設(shè)備處理器來執(zhí)行。在方框502中,設(shè)備處理器可以定義用于對第一知識類型認(rèn)證因素進(jìn)行評估的第一操作集,以及用于對第二知識類型認(rèn)證因素進(jìn)行評估的第二操作集。設(shè)備處理器可以基于上面參照圖2所討論的行為觀測器模塊202和/或行為分析器模塊206的操作,來確定第一操作集和第二操作集。
在方框504中,設(shè)備處理器可以定義用于對第一擁有類型認(rèn)證因素進(jìn)行評估的第三操作集,以及用于對第二擁有類型認(rèn)證因素進(jìn)行評估的第四操作集,這些中的任何一個或者全部可以是基于行為觀測器模塊202和行為分析器模塊206的操作來確定的。在方框506中,設(shè)備處理器可以定義用于對第一固有類型認(rèn)證因素進(jìn)行評估的第五操作集,以及用于對第二固有類型認(rèn)證因素進(jìn)行評估的第六操作集,它們也可以是基于行為觀測器模塊202和行為分析器模塊206的操作來確定的。
在方框508中,設(shè)備處理器可以向所收集的行為信息(例如,設(shè)備狀態(tài)信息、傳感器數(shù)據(jù)、用戶交互信息等等)應(yīng)用機(jī)器學(xué)習(xí)和/或行為分析技術(shù),以確定適合于在當(dāng)前狀態(tài)/狀況下對用戶進(jìn)行認(rèn)證的認(rèn)證因素的數(shù)量。在一個方面,這可以通過執(zhí)行上面參照圖3所討論的方法300的操作來完成。例如,在方框508中,設(shè)備處理器可以使用關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值中的一個或多個,來確定在對該計算設(shè)備的用戶進(jìn)行認(rèn)證時應(yīng)當(dāng)進(jìn)行評估的認(rèn)證因素是六個(6)認(rèn)證因素中的三個(3)。
在方框510中,設(shè)備處理器可以基于所確定數(shù)量的認(rèn)證因素來確定應(yīng)當(dāng)評估這些認(rèn)證因素中的哪些認(rèn)證因素并且選擇操作集,并且使得所選定的操作集對知識類型認(rèn)證因素、擁有類型認(rèn)證因素、以及固有類型認(rèn)證因素中的兩個或更多進(jìn)行評估。例如,在方框510中,處理內(nèi)核可以使用關(guān)鍵性值、用戶置信度值、軟件完整性置信度值、以及歷史行為值中的一個或多個來確定在對該計算設(shè)備的用戶進(jìn)行認(rèn)證時應(yīng)當(dāng)評估第一知識類型認(rèn)證因素和第二知識類型認(rèn)證因素和第二固有類型認(rèn)證因素,選擇第一操作集和第二操作集來對第一知識類型認(rèn)證因素和第二知識類型認(rèn)證因素進(jìn)行評估,并且選擇第四操作集來對第二固有類型認(rèn)證因素進(jìn)行評估。在方框512中,設(shè)備處理器可以執(zhí)行所選定的操作集來對用戶進(jìn)行認(rèn)證。
圖6是根據(jù)另一個方面,示出確定認(rèn)證因素和/或認(rèn)證因素的數(shù)量的方法600。方法600可以由移動設(shè)備或者資源受限性計算設(shè)備的處理內(nèi)核或者設(shè)備處理器來執(zhí)行。在方框602中,設(shè)備處理器可以執(zhí)行被動認(rèn)證操作來對用戶進(jìn)行認(rèn)證,而不需要為了認(rèn)證目的來表達(dá)用戶交互。在方框604中,設(shè)備處理器可以確定被動認(rèn)證置信度值,其中該被動認(rèn)證置信度值以被動認(rèn)證操作的準(zhǔn)確性來標(biāo)識設(shè)備的置信度水平。在方框606中,設(shè)備處理器可以確定關(guān)鍵性水平值,其中該關(guān)鍵性水平值標(biāo)識在該設(shè)備上操作的進(jìn)程或者軟件應(yīng)用的重要性或者關(guān)鍵性。在方框608中,設(shè)備處理器可以將被動認(rèn)證置信度值與關(guān)鍵性水平值進(jìn)行比較,以判斷該被動認(rèn)證中的置信度水平是否超過(例如,大于等等)關(guān)鍵性水平。在方框610中,設(shè)備處理器可以基于該比較的結(jié)果來確定、計算、或者選擇認(rèn)證因素和/或認(rèn)證因素的數(shù)量。
圖7根據(jù)一個方面,示出了用于執(zhí)行動態(tài)和自適應(yīng)觀測的示例性方法700。在方框702中,設(shè)備處理器可以通過對可能對于該移動設(shè)備的性能下降具有貢獻(xiàn)的很大數(shù)量的因素/行為的一個子集進(jìn)行監(jiān)測/觀測,來執(zhí)行粗觀測。在方框703中,設(shè)備處理器可以基于該粗觀測量來生成用于描繪粗觀測量和/或移動設(shè)備行為的特性的行為向量。在方框704中,設(shè)備處理器可以識別與這些粗觀測量相關(guān)聯(lián)的可能潛在地對于該移動設(shè)備的性能下降具有貢獻(xiàn)的子系統(tǒng)、進(jìn)程、和/或應(yīng)用。例如,這可以通過將從多個源接收的信息與從移動設(shè)備的傳感器接收的上下文信息進(jìn)行比較來實(shí)現(xiàn)。在方框706中,設(shè)備處理器可以基于粗觀測量來執(zhí)行行為分析操作。
在判斷框708,設(shè)備處理器可以判斷是否可以基于該行為分析的結(jié)果來識別和校正可疑行為或者潛在問題。當(dāng)設(shè)備處理器確定可以基于該行為分析的結(jié)果來識別和校正可疑行為或者潛在問題時(即,判斷框708=“是”),則在方框718中,處理器可以發(fā)起用于對該行為進(jìn)行校正的處理,并返回到方框702來執(zhí)行另外的粗觀測。
當(dāng)設(shè)備處理器確定不能基于該行為分析的結(jié)果來識別和/或校正可疑行為或者潛在問題時(即,判斷框708=“否”),則在判斷框709中,設(shè)備處理器可以判斷存在問題的可能性。在一個方面,設(shè)備處理器可以通過計算該移動設(shè)備的遭遇到潛在問題和/或參與可疑行為的概率,并判斷所計算的概率是否大于預(yù)定的門限,來確定問題是有可能性的。當(dāng)設(shè)備處理器確定所計算的概率不大于預(yù)定的門限和/或可疑行為或者潛在問題的存在沒有可能性和/或不能檢測到這些情形時(即,判斷框709=“否”),則處理器可以返回到方框702以執(zhí)行另外的粗觀測。
當(dāng)設(shè)備處理器確定存在可疑行為或者潛在問題存在的可能性和/或可檢測到這些情形時(即,判斷框709=“是”),則在方框710中,設(shè)備處理器可以對于所識別的子系統(tǒng)、進(jìn)程、或者應(yīng)用執(zhí)行更深入的記錄/觀測或者最終的記錄。在方框712中,設(shè)備處理器可以對于所識別的子系統(tǒng)、進(jìn)程、或者應(yīng)用執(zhí)行更深入和更詳細(xì)的觀測。在方框714中,設(shè)備處理器可以基于更深入和更詳細(xì)的觀測來執(zhí)行進(jìn)一步和/或更深入的行為分析。在判斷框708中,設(shè)備處理器可以再次判斷是否能夠基于更深入行為分析的結(jié)果,來識別和校正可疑行為或者潛在問題。當(dāng)設(shè)備處理器確定基于該更深入的行為分析的結(jié)果,不能識別和校正這些可疑行為或者潛在問題時(即,判斷框708=“否”),則處理器可以重復(fù)方框710到714中的操作,直到細(xì)節(jié)水平足夠精細(xì)以便能夠識別該問題為止,或者直到確定不能利用另外的細(xì)節(jié)來識別該問題或者不存在問題為止。
當(dāng)設(shè)備處理器確定基于該更深入的行為分析的結(jié)果,能夠識別和校正這些可疑行為或者潛在問題時(即,判斷框708=“是”),則在方框718中,設(shè)備處理器可以執(zhí)行操作以校正該問題/行為,處理器可以返回到方框702以執(zhí)行另外的操作。
在一個方面,作為方法700的方框702到718的一部分,設(shè)備處理器可以執(zhí)行該系統(tǒng)的行為的實(shí)時行為分析,以根據(jù)有限的粗觀測量來識別可疑行為,動態(tài)地確定要進(jìn)行更詳細(xì)地觀測的行為,以及動態(tài)地確定這些觀測所需要的精密的細(xì)節(jié)水平。這使設(shè)備處理器能夠高效地識別和防止發(fā)生問題,而不需要使用該設(shè)備上的大量的處理器、存儲器、或者電池資源。
各個方面通過使用行為分析和/或機(jī)器學(xué)習(xí)技術(shù)(與基于權(quán)限、策略或規(guī)則的方法相比)來監(jiān)測和分析選定的一組軟件應(yīng)用的集體行為,來提升現(xiàn)有解決方案。行為分析或機(jī)器學(xué)習(xí)技術(shù)的使用是重要的,這是由于現(xiàn)代計算設(shè)備是高度可配置和復(fù)雜系統(tǒng),對于判斷軟件應(yīng)用程序是否是串通的來說最重要的因素,在各個設(shè)備中可能是不同的。此外,設(shè)備特征/因素的不同組合可能需要每一個設(shè)備進(jìn)行分析,以便該設(shè)備判斷軟件應(yīng)用程序是否是串通的。但是,通常只使用從執(zhí)行該活動的特定計算設(shè)備所獲得、并在進(jìn)行該活動的時間所獲得的信息,來確定需要進(jìn)行監(jiān)測和分析的特征/因素的精準(zhǔn)組合。由于這些和其它原因,現(xiàn)有的解決方案并不能夠在不消耗計算設(shè)備的大量的處理資源、存儲器或功率資源的情況下,足夠?qū)崟r地對計算設(shè)備中的多個軟件應(yīng)用的集體行為或者它們之間的關(guān)系進(jìn)行監(jiān)測、檢測和描繪特性(當(dāng)該行為在進(jìn)行時)。
各個方面(其包括上面參照圖2到7所討論的方面)可以在各種各樣的計算設(shè)備上實(shí)現(xiàn),在圖8中利用智能電話的形式來示出了其一個例子。智能電話800可以包括耦合到內(nèi)部存儲器804、顯示器812,以及耦合到揚(yáng)聲器的處理器802。另外,智能電話800還可以包括用于發(fā)送和接收電磁輻射的天線,后者可以連接到無線數(shù)據(jù)鏈路和/或耦合到處理器802的蜂窩電話收發(fā)機(jī)808。通常,智能電話800還包括用于接收用戶輸入的菜單選擇按鍵或者搖桿開關(guān)820。
典型的智能電話800還包括聲音編碼/解碼(codec)電路806,后者對于將從麥克風(fēng)接收的聲音數(shù)字化成適合于無線傳輸?shù)臄?shù)據(jù)分組,對接收的聲音數(shù)據(jù)分組進(jìn)行解碼,以生成將提供給揚(yáng)聲器來生成聲音的模擬信號。此外,處理器802、無線收發(fā)機(jī)808和codec806中的一個或多個可以包括數(shù)字信號處理器(dsp)電路(沒有單獨(dú)地示出)。
處理器802可以是任何可編程微處理器、微計算機(jī)或多處理器芯片或芯片集,它們可以由軟件指令(應(yīng)用)進(jìn)行配置以執(zhí)行各種各樣的功能,其包括下面所描述的各個方面的功能。在一些移動設(shè)備中,可以提供多個處理器802,例如,一個處理器專用于無線通信功能,一個處理器專用于運(yùn)行其它應(yīng)用。通常,在訪問軟件應(yīng)用并將它們裝載到處理器802之前,可以將這些軟件應(yīng)用存儲在內(nèi)部存儲器804中。處理器802可以包括足夠用于存儲這些應(yīng)用軟件指令的內(nèi)部存儲器。在各個方面,處理器812可以是設(shè)備處理器、處理內(nèi)核或者soc(例如,圖1中所示出的示例性soc100)。在一個方面,智能電話800可以包括soc,處理器802可以是soc中包括的處理器里的一個(例如,圖1中所示出的處理器101、104、106、108、110中的一個)。
如本申請所使用的,術(shù)語“性能下降”指代計算設(shè)備的各種各樣的非期望操作和特性,例如,更長的處理時間、減慢的實(shí)時響應(yīng)速度、更長的電池壽命、私人數(shù)據(jù)的丟失、惡意經(jīng)濟(jì)活動(例如,發(fā)送未授權(quán)的高級sms消息)、拒絕服務(wù)(dos)、編寫或設(shè)計不當(dāng)?shù)能浖?yīng)用程序、惡意軟件、惡意程序、病毒、碎片化存儲器、與征用移動設(shè)備或者使用電話來進(jìn)行窺探或僵尸活動有關(guān)的操作等等。此外,由于這些原因中的任何一個而使性能下降的行為、活動和狀況,本文稱之為“非良性的”或者“不良的”。
如本申請中所使用的,術(shù)語“組件”、“模塊”等等旨在包括與計算機(jī)相關(guān)的實(shí)體,例如但不限于:配置為執(zhí)行特定的操作或功能的硬件、固件、硬件和軟件的結(jié)合、軟件或運(yùn)行中的軟件。例如,組件可以是,但不限于是:在處理器上運(yùn)行的處理、處理器、對象、可執(zhí)行文件、執(zhí)行的線程、程序和/或計算機(jī)。舉例而言,在計算設(shè)備上運(yùn)行的應(yīng)用和該計算設(shè)備都可以是組件。一個或多個組件可以存在于處理和/或執(zhí)行線程中,組件可以位于一個處理器或內(nèi)核中和/或分布在兩個或更多處理器或內(nèi)核之間。此外,這些組件能夠從其上存儲有各種指令和/或數(shù)據(jù)結(jié)構(gòu)的各種非臨時性計算機(jī)可讀介質(zhì)中執(zhí)行。組件可以通過本地和/或遠(yuǎn)程處理、函數(shù)或過程調(diào)用、電信號、數(shù)據(jù)分組、存儲器讀/寫、以及其它已知網(wǎng)絡(luò)、計算機(jī)、處理器和/或與處理有關(guān)的通信方法的方式進(jìn)行通信。
用于在可編程處理器上運(yùn)行以執(zhí)行本文的各個方面的操作的計算機(jī)程序代碼或“程序代碼”,可以利用諸如c、c++、c#、smalltalk、java、javascript、visualbasic、結(jié)構(gòu)化查詢語言(例如,transact-sql)、perl之類的高級編程語言來編寫,或者利用各種其它編程語言來編寫。如本申請所使用的計算機(jī)可讀存儲介質(zhì)上所存儲的程序代碼或程序,可以指代其格式是處理器可理解的機(jī)器語言代碼(例如,目標(biāo)代碼)。
將很多移動計算設(shè)備操作系統(tǒng)內(nèi)核組織到用戶空間(非特權(quán)代碼運(yùn)行的空間)和內(nèi)核空間(特權(quán)代碼運(yùn)行的空間)。這種分隔在
上述的方法描述和處理流程圖僅僅是用作為說明性例子,而不是旨在要求或者隱含著必須以所給出的順序來執(zhí)行各個方面的步驟。如本領(lǐng)域普通技術(shù)人員所應(yīng)當(dāng)理解的,可以以任何順序來執(zhí)行上述的方面中的步驟順序。此外,諸如“其后”、“轉(zhuǎn)而”、“接著”等等之類的詞語,并不旨在限制這些步驟的順序;這些詞語僅僅只是用于引導(dǎo)讀者遍歷該方法的描述。此外,任何對權(quán)利要求元素的單數(shù)引用(例如,使用冠詞“一個(a)”、“某個(an)”或者“該(the)”),不應(yīng)被解釋為將該元素限制為單數(shù)形式。
結(jié)合本文所公開的方面描述的各種示例性的邏輯框、模塊、電路和算法步驟均可以實(shí)現(xiàn)成電子硬件、計算機(jī)軟件或二者的組合。為了清楚地表示硬件和軟件之間的這種可交換性,上面對各種示例性的部件、框、模塊、電路和步驟均圍繞其功能進(jìn)行了總體描述。至于這種功能是實(shí)現(xiàn)成硬件還是實(shí)現(xiàn)成軟件,取決于特定的應(yīng)用和對整個系統(tǒng)所施加的設(shè)計約束條件。熟練的技術(shù)人員可以針對每個特定應(yīng)用,以變通的方式實(shí)現(xiàn)所描述的功能,但是,這種實(shí)現(xiàn)決策不應(yīng)解釋為背離本發(fā)明的保護(hù)范圍。
用于執(zhí)行本文所述功能的通用處理器、數(shù)字信號處理器(dsp)、專用集成電路(asic)、現(xiàn)場可編程門陣列(fpga)或其它可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件部件或者其任意組合,可以用來實(shí)現(xiàn)或執(zhí)行結(jié)合本文所公開的方面描述的用于實(shí)現(xiàn)各種示例性的邏輯、邏輯框、模塊和電路的硬件。通用處理器可以是多處理器,或者,該處理器也可以是任何常規(guī)的處理器、控制器、微控制器或者狀態(tài)機(jī)。處理器也可以實(shí)現(xiàn)為計算設(shè)備的組合,例如,dsp和多處理器的組合、若干多處理器、一個或多個多處理器與dsp內(nèi)核的結(jié)合,或者任何其它此種結(jié)構(gòu)。替代地,一些步驟或方法可以由特定于給定的功能的電路來執(zhí)行。
在一個或多個示例性方面,本文所述功能可以用硬件、軟件、固件或它們?nèi)我饨M合的方式來實(shí)現(xiàn)。當(dāng)在軟件中實(shí)現(xiàn)時,可以將這些功能存儲成非臨時性計算機(jī)可讀存儲介質(zhì)或者非臨時性處理器可讀存儲介質(zhì)上的一個或多個處理器可執(zhí)行指令或代碼。本文所公開的方法或算法的步驟,可以體現(xiàn)在處理器可執(zhí)行軟件模塊中,后者可以位于非臨時性計算機(jī)可讀存儲介質(zhì)或處理器可讀存儲介質(zhì)上。非臨時性計算機(jī)可讀或處理器可讀存儲介質(zhì)可以是計算機(jī)或處理器能夠存取的任何存儲介質(zhì)。舉例而言,但非做出限制,這種非臨時性計算機(jī)可讀介質(zhì)或者處理器可讀介質(zhì)可以包括ram、rom、eeprom、閃存、cd-rom或其它光盤存儲器、磁盤存儲器或其它磁存儲設(shè)備、或者能夠用于存儲具有指令或數(shù)據(jù)結(jié)構(gòu)形式的期望的程序代碼并能夠由計算機(jī)進(jìn)行存取的任何其它介質(zhì)。如本申請所使用的,磁盤和光盤包括壓縮光盤(cd)、激光光盤、光盤、數(shù)字通用光盤(dvd)、軟盤和藍(lán)光光盤,其中磁盤通常磁性地復(fù)制數(shù)據(jù),而光盤則用激光來光學(xué)地復(fù)制數(shù)據(jù)。上述的組合也應(yīng)當(dāng)包括在非臨時性計算機(jī)可讀介質(zhì)和處理器可讀介質(zhì)的保護(hù)范圍之內(nèi)。另外,一種方法或算法的操作可以作為一個代碼和/或指令集或者其任意組合,位于非臨時性處理器可讀介質(zhì)和/或計算機(jī)可讀介質(zhì)上,其中該非臨時性處理器可讀介質(zhì)和/或計算機(jī)可讀介質(zhì)可以并入到計算機(jī)程序產(chǎn)品中。
為使本領(lǐng)域任何普通技術(shù)人員能夠?qū)崿F(xiàn)或者使用本發(fā)明,上面圍繞所公開的方面進(jìn)行了描述。對于本領(lǐng)域普通技術(shù)人員來說,對這些方面的各種修改是顯而易見的,并且,本文定義的總體原理也可以在不脫離本發(fā)明的精神或保護(hù)范圍的基礎(chǔ)上應(yīng)用于其它方面。因此,本發(fā)明并不限于本申請所示出的方面,而是與所附權(quán)利要求書和本文公開的原理和新穎性特征的最廣范圍相一致。