JP2018533105A - モバイルデバイス挙動を分類するために正規化信頼性値を使用すること - Google Patents

モバイルデバイス挙動を分類するために正規化信頼性値を使用すること Download PDF

Info

Publication number
JP2018533105A
JP2018533105A JP2018506387A JP2018506387A JP2018533105A JP 2018533105 A JP2018533105 A JP 2018533105A JP 2018506387 A JP2018506387 A JP 2018506387A JP 2018506387 A JP2018506387 A JP 2018506387A JP 2018533105 A JP2018533105 A JP 2018533105A
Authority
JP
Japan
Prior art keywords
behavior
classifier model
augmented
computing device
determinants
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018506387A
Other languages
English (en)
Inventor
カーシム・ファワズ
ヴィナイ・シュリダラ
ラジャルシ・グプタ
イン・チェン
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/826,430 external-priority patent/US10089582B2/en
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2018533105A publication Critical patent/JP2018533105A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/043Distributed expert systems; Blackboards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

モバイルデバイス挙動を分類するための方法およびシステムは、増強決定株への変換に好適な有限状態機械および/またはモバイルデバイス挙動が良性であるかまたはモバイルデバイスの劣化を経時的に引き起こすかを判断することに関連する特徴の全部または多くを記述する有限状態機械を含むフル分類器モデルを生成するステップを含む。モバイルデバイスは、シグモイドパラメータとともにフル分類器モデルを受信し、そのモデルを使用して増強決定株のフルセットを生成し得、増強決定株のフルセットから、より合焦されたまたはリーンな分類器モデルが、フルセットを選別してモバイルデバイス挙動が良性であるかどうかを効率的に判断するのに好適なサブセットにすることによって生成される。合焦されたまたはリーンな分類器モデルを適用した結果は、シグモイド関数を使用して正規化されてよく、得られた正規化結果は、挙動が良性であるかまたは良性でないかを判断するために使用される。

Description

関連出願
本出願は、2013年9月5日に出願された「Methods and Systems of Using Boosted Decision Stumps and Joint Feature Selection and Pruning Algorithms for the Efficient Classification of Mobile Device Behaviors」と題する米国仮出願第61/874,129号、2013年1月2日に出願された「On-Device Real-Time Behavior Analyzer」と題する米国仮特許出願第61/748,217号、および2013年1月2日に出願された「Architecture for Client-Cloud Behavior Analyzer」と題する米国仮特許出願第61/748,220号の優先権の利益を主張する、2013年11月26日に出願された「Methods and Systems of Using Boosted Decision Stumps and Joint Feature Selection and Pruning Algorithms for the Efficient Classification of Mobile Device Behaviors」と題する米国特許出願第14/090,261号の一部継続出願であり、それらすべての内容全体が参照により本明細書に組み込まれる。
セルラー通信技術およびワイヤレス通信技術は、過去数年の間に爆発的な発展をとげてきた。この発展は、より優れた通信、ハードウェア、より大きいネットワーク、およびより信頼できるプロトコルによって促進されている。結果として、ワイヤレスサービスプロバイダは現在、情報、リソース、および通信に対する前例のないレベルのアクセスを顧客に提供することができる。
これらのサービス向上と歩調を合わせて、モバイル電子デバイス(たとえば、携帯電話、タブレット、ラップトップなど)は、これまでよりも強力かつ複雑になってきている。この複雑さは、悪性であるソフトウェア、ソフトウェアの衝突、ハードウェアの欠陥、および他の同様のエラーまたは現象が、モバイルデバイスの長期の継続的な性能および電力利用レベルに悪影響を与える新たな機会を生み出した。したがって、モバイルデバイスの長期の継続的な性能および電力利用レベルに悪影響を与える可能性がある条件および/またはモバイルデバイス挙動を特定して修正することは、消費者に対する便益である。
様々な態様は、モバイルデバイス内でリーン挙動分類器モデル(lean behavior classifier model)を生成する方法を含み、そのモデルは、有限状態機械を含むフル分類器モデル(full classifier model)をモバイルデバイスのプロセッサ内で受信するステップと、モバイルデバイス内でリーン分類器モデルを生成するためにフル分類器モデルを使用するステップとを含むことができる。有限状態機械は、複数の増強決定株としての変換または表示に好適な情報を含み、増強決定株の各々は、試験条件および重み値を含むことができる。一態様では、方法は、モバイルデバイスの挙動を良性であるまたは良性でない(すなわち、悪性である、性能を劣化させる、など)のいずれかであるとして分類するために、モバイルデバイス内でリーン分類器モデルを使用するステップをさらに含むことができる。
一態様では、フル分類器モデルに基づいてリーン分類器モデルを生成するステップは、フル分類器モデル内に含まれる有限状態機械を増強決定株のリストに変換するステップと、増強決定株のリスト内に含まれる増強決定株に基づいてリーン分類器モデルを生成するステップとを含むことができる。
一態様では、フル分類器モデルに基づいてリーン分類器モデルを生成するステップは、モバイルデバイスの処理、メモリ、またはエネルギーの資源の量を過剰に消費することなくモバイルデバイス挙動を分類するために、評価されるべき特有の試験条件の数を決定するステップと、増強決定株のリストを連続的にトラバースする(traverse)ことによって試験条件のリストを生成し、試験条件のリストが規定された数の特有の試験条件を含み得るまで、連続的にトラバースされた増強決定株の各々と関連付けられた試験条件を試験条件のリストに挿入するステップと、生成された試験条件のリスト内に含まれる複数の試験条件のリストのうちの1つを試験するそれらの増強決定株だけを含むようにリーン分類器モデルを生成するステップとをさらに含むことができる。
一態様では、方法は、収集された挙動情報をリーン分類器モデル内の増強決定株の各々に適用することによってモバイルデバイスの挙動を良性であるまたは良性でないのいずれかであるとして分類するためにモバイルデバイス内のリーン分類器モデルを使用するステップと、収集された挙動情報をリーン分類器モデル内の増強決定株の各々に適用した結果の加重平均を計算するステップと、加重平均としきい値とを比較するステップとを含むことができる。
一態様では、フル分類器モデルに基づいてリーン分類器モデルを生成するステップは、フル分類器モデル内に含まれる有限状態機械を増強決定株のリストに変換するステップと、増強決定株のリスト内に含まれる増強決定株に基づいてリーン分類器モデルのファミリーを生成するステップとを含み得、リーン分類器モデルのファミリーはリーン分類器モデルおよび複数の追加のリーン分類器モデルを含み、複数の追加のリーン分類器モデルの各々は異なる数の特有の試験条件を含む。
一態様では、リーン分類器モデルを生成するステップは、異なる重み値および異なるしきい値を使用して第1の条件を試験する決定株をそれぞれ含む複数のリーン分類器モデルを生成するステップを含むことができる。一態様では、方法は、フル分類器モデルに基づいてモバイルデバイス内に生成された複数のリーン分類器モデル内の増強決定株と関連付けられたしきい値を再計算するステップを含むことができる。一態様では、方法は、フル分類器モデルに基づいてモバイルデバイス内に生成された複数のリーン分類器モデル内の増強決定株と関連付けられた重み値を再計算するステップを含むことができる。
一態様では、方法は、モバイルデバイス挙動についての情報のコーパスをサーバ内で受信することによってサーバ内でフル分類器モデルを生成するステップと、複数の増強決定株に変換するのに好適なデータを含むためにモバイルデバイス挙動についての情報のコーパスに基づいて有限状態機械を生成するステップと、有限状態機械をフル分類器モデルとしてモバイルデバイスに送信するステップとを含むことができる。一態様では、複数の試験条件の各々が確率値と関連付けられ、その確率値が、モバイルデバイス挙動が良性であるかどうかをモバイルデバイスが判断することを、その関連付けられた試験条件が可能にする尤度を特定し、方法は、有限状態機械をフル分類器モデルとしてモバイルデバイスに送信する前に、確率値に基づいて有限状態機械内の増強決定株を編成するステップをさらに含む。
さらなる態様では、方法は、フル分類器モデルおよびシグモイドパラメータをサーバからコンピューティングデバイスのプロセッサ内で受信するステップと、シグモイドパラメータに基づいて正規化信頼性値を決定するステップと、正規化信頼性値に基づいてコンピューティングデバイスのデバイス挙動を分類するステップとを含み得る改善された挙動分類のために正規化信頼性値を計算して使用するために、シグモイドパラメータを使用するステップを含むことができる。
一態様では、方法は、フル分類器モデルに含まれる有限状態機械を増強決定株に変換することによって増強決定株のリストを生成するステップと、増強決定株のリストに含まれる増強決定株に基づいてリーン分類器モデルのファミリーを生成するステップとを含むことができ、正規化信頼性値に基づいてコンピューティングデバイスのデバイス挙動を分類するステップは、分析結果を生成するために挙動ベクトル情報構造をリーン分類器モデルのファミリー内の第1のリーン分類器モデルに適用するステップと、正規化信頼性値に基づいて新しい分析結果を生成するために挙動ベクトル情報構造をリーン分類器モデルのファミリー内の第2のリーン分類器モデルに適用するかどうかを判断するステップとを含む。
さらなる態様では、方法は、フル分類器モデルに基づいてリーン分類器モデルを生成するステップを含むことができ、正規化信頼性値に基づいてコンピューティングデバイスのデバイス挙動を分類するステップは、分析結果を生成するために挙動ベクトル情報構造をリーン分類器モデルに適用するステップと、デバイス挙動が良性であるかまたは良性でないかを判断するために分析結果および正規化信頼性値使用するステップとを含むことができる。さらなる態様では、フル分類器モデルに基づいてリーン分類器モデルを生成するステップは、フル分類器モデルに含まれる有限状態機械を複数の増強決定株に変換することによって増強決定株のリストを生成するステップと、コンピューティングデバイスの処理、メモリ、またはエネルギーの資源の量を過剰に消費することなくデバイス挙動を分類するために評価されるべき特有の試験条件の数を決定するステップと、増強決定株のリストを連続的にトラバースし、試験条件のリストが決定された数の特有の試験条件を含むまで、連続的にトラバースされた増強決定株の各々に関連付けられた試験条件を試験条件のリストに挿入することによって、試験条件のリストを生成するステップと、試験条件のリストに含まれる複数の試験条件のうちの1つを試験する増強決定株だけを含むようにリーン分類器モデルを生成するステップとを含むことができる。
さらなる態様では、コンピューティングデバイスのデバイス挙動が良性でないかどうかを判断するために挙動ベクトル情報構造をリーン分類器モデルに適用するステップは、挙動ベクトル情報構造に含まれる収集された挙動情報をリーン分類器モデルに含まれる複数の増強決定株の各々に適用するステップと、収集された挙動情報をリーン分類器モデルに含まれる複数の増強決定株の各々に適用した結果の加重平均を計算するステップと、加重平均としきい値とを比較するステップとを含むことができる。
さらなる態様では、方法は、正規化信頼性値に基づいて更新されたシグモイドパラメータを生成するステップと、更新されたシグモイドパラメータをサーバコンピューティングデバイスに送信するステップとを含むことができる。さらなる態様では、方法は、更新されたシグモイドパラメータをサーバコンピューティングデバイスから受信するステップと、サーバコンピューティングデバイスから受信された更新されたシグモイドパラメータに基づいて新しい正規化信頼性値を決定するステップと、新しい正規化信頼性値に基づいてデバイス挙動を分類するステップとを含むことができる。さらなる態様では、フル分類器モデルおよびシグモイドパラメータを受信するステップは、デバイス挙動が良性および非良性の一方であるかどうかをコンピューティングデバイスが判断することを試験条件が可能にする尤度を特定する確率値と関連付けられた重み値および試験条件をそれぞれ含む2つ以上の増強決定株として表現するのに適切な情報を含む有限状態機械を受信するステップを含むことができる。
さらなる態様は、フル分類器モデルおよびシグモイドパラメータをサーバコンピューティングデバイスから受信するための手段と、シグモイドパラメータに基づいて正規化信頼性値を決定するための手段と、正規化信頼性値に基づいてデバイス挙動を分類するための手段とを含むコンピューティングデバイスを含むことができる。一態様では、コンピューティングデバイスは、フル分類器モデルに含まれる有限状態機械を増強決定株に変換することによって増強決定株のリストを生成するための手段と、増強決定株のリストに含まれる増強決定株に基づいてリーン分類器モデルのファミリーを生成するための手段とを含むことができ、正規化信頼性値に基づいてデバイス挙動を分類するための手段は、分析結果を生成するために挙動ベクトル情報構造をリーン分類器モデルのファミリー内の第1のリーン分類器モデルに適用するための手段と、正規化信頼性値に基づいて新しい分析結果を生成するために挙動ベクトル情報構造をリーン分類器モデルのファミリー内の第2のリーン分類器モデルに適用するかどうかを判断するための手段とを含む。
さらなる態様では、コンピューティングデバイスは、フル分類器モデルに基づいてリーン分類器モデルを生成するための手段を含むことができ、正規化信頼性値に基づいてデバイス挙動を分類するための手段は、分析結果を生成するために挙動ベクトル情報構造をリーン分類器モデルに適用するための手段と、デバイス挙動が良性であるかまたは良性でないかを判断するために分析結果および正規化信頼性値を使用するための手段とを含む。さらなる態様では、フル分類器モデルに基づいてリーン分類器モデルを生成するための手段は、フル分類器モデルに含まれる有限状態機械を複数の増強決定株に変換することによって増強決定株のリストを生成するための手段と、コンピューティングデバイスの処理、メモリ、またはエネルギーの資源の量を過剰に消費することなくデバイス挙動を分類するために評価されるべき特有の試験条件の数を決定するための手段と、増強決定株のリストを連続的にトラバースし、試験条件のリストが決定された数の特有の試験条件を含むまで、連続的にトラバースされた増強決定株の各々に関連付けられた試験条件を試験条件のリストに挿入することによって、試験条件のリストを生成するための手段と、試験条件のリストに含まれる複数の試験条件のうちの1つを試験する増強決定株だけを含むようにリーン分類器モデルを生成するための手段とを含むことができる。さらなる態様では、デバイス挙動が良性でないかどうかを判断するために挙動ベクトル情報構造をリーン分類器モデルに適用するための手段は、挙動ベクトル情報構造に含まれる収集された挙動情報をリーン分類器モデルに含まれる複数の増強決定株の各々に適用するための手段と、収集された挙動情報をリーン分類器モデルに含まれる複数の増強決定株の各々に適用した結果の加重平均を計算するための手段と、加重平均としきい値とを比較するための手段とを含む。
さらなる態様では、コンピューティングデバイスは、正規化信頼性値に基づいて更新されたシグモイドパラメータを生成するための手段と、更新されたシグモイドパラメータをサーバコンピューティングデバイスに送信するための手段とを含むことができる。さらなる態様では、コンピューティングデバイスは、更新されたシグモイドパラメータをサーバコンピューティングデバイスから受信するための手段と、更新されたシグモイドパラメータに基づいて新しい正規化信頼性値を決定するための手段と、新しい正規化信頼性値に基づいてデバイス挙動を分類するための手段とを含むことができる。さらなる態様では、フル分類器モデルおよびシグモイドパラメータを受信するための手段は、デバイス挙動が良性および非良性の一方であるかどうかをコンピューティングデバイスが判断することを試験条件が可能にする尤度を特定する確率値と関連付けられた重み値および試験条件をそれぞれ含む2つ以上の増強決定株として表現するのに適切な情報を含む有限状態機械を受信するための手段を含む。
さらなる態様は、フル分類器モデルおよびシグモイドパラメータをサーバコンピューティングデバイスから受信するステップと、シグモイドパラメータに基づいて正規化信頼性値を決定するステップと、正規化信頼性値に基づいてデバイス挙動を分類するステップとを含む動作を実行するようにプロセッサ実行可能命令を用いて構成されたプロセッサを含むコンピューティングデバイスを含むことができる。一態様では、プロセッサは、フル分類器モデルに含まれる有限状態機械を増強決定株に変換することによって増強決定株のリストを生成するステップと、増強決定株のリストに含まれる増強決定株に基づいてリーン分類器モデルのファミリーを生成するステップとをさらに含む動作を実行するようにプロセッサ実行可能命令を用いて構成されてよく、プロセッサは、正規化信頼性値に基づいてデバイス挙動を分類するステップが、分析結果を生成するために挙動ベクトル情報構造をリーン分類器モデルのファミリー内の第1のリーン分類器モデルに適用するステップと、正規化信頼性値に基づいて新しい分析結果を生成するために挙動ベクトル情報構造をリーン分類器モデルのファミリー内の第2のリーン分類器モデルに適用するかどうかを判断するステップとを含むような動作を実行するようにプロセッサ実行可能命令を用いて構成されてもよい。
さらなる態様では、プロセッサは、フル分類器モデルに基づいてリーン分類器モデルを生成するステップをさらに含む動作を実行するようにプロセッサ実行可能命令を用いて構成されてよく、プロセッサは、正規化信頼性値に基づいてデバイス挙動を分類するステップが、分析結果を生成するために挙動ベクトル情報構造をリーン分類器モデルに適用するステップと、デバイス挙動が良性であるかまたは良性でないかを判断するために分析結果および正規化信頼性値を使用するステップと含むような動作を実行するようにプロセッサ実行可能命令を用いて構成されてもよい。
さらなる態様では、プロセッサは、フル分類器モデルに基づいてリーン分類器モデルを生成するステップが、フル分類器モデルに含まれる有限状態機械を複数の増強決定株に変換することによって増強決定株のリストを生成するステップと、コンピューティングデバイスの処理、メモリ、またはエネルギーの資源の量を過剰に消費することなくデバイス挙動を分類するために評価されるべき特有の試験条件の数を決定するステップと、増強決定株のリストを連続的にトラバースし、試験条件のリストが決定された数の特有の試験条件を含むまで、連続的にトラバースされた増強決定株の各々に関連付けられた試験条件を試験条件のリストに挿入することによって、試験条件のリストを生成するステップと、試験条件のリストに含まれる複数の試験条件のうちの1つを試験する増強決定株だけを含むようにリーン分類器モデルを生成するステップとを含むような動作を実行するようにプロセッサ実行可能命令を用いて構成され得る。
さらなる態様では、プロセッサは、デバイス挙動が良性でないかどうかを判断するために挙動ベクトル情報構造をリーン分類器モデルに適用するステップが、挙動ベクトル情報構造に含まれる収集された挙動情報をリーン分類器モデルに含まれる複数の増強決定株の各々に適用するステップと、収集された挙動情報をリーン分類器モデルに含まれる複数の増強決定株の各々に適用した結果の加重平均を計算するステップと、加重平均としきい値とを比較するステップとを含むような動作を実行するようにプロセッサ実行可能命令を用いて構成され得る。さらなる態様では、プロセッサは、正規化信頼性値に基づいて更新されたシグモイドパラメータを生成するステップと、更新されたシグモイドパラメータをサーバコンピューティングデバイスに送信するステップとをさらに含む動作を実行するようにプロセッサ実行可能命令を用いて構成され得る。
さらなる態様では、プロセッサは、更新されたシグモイドパラメータをサーバコンピューティングデバイスから受信するステップと、更新されたシグモイドパラメータに基づいて新しい正規化信頼性値を決定するステップと、新しい正規化信頼性値に基づいてデバイス挙動を分類するステップとをさらに含む動作を実行するようにプロセッサ実行可能命令を用いて構成され得る。さらなる態様では、プロセッサは、フル分類器モデルおよびシグモイドパラメータを受信するステップが、デバイス挙動が良性および非良性の一方であるかどうかをコンピューティングデバイスが判断することを試験条件が可能にする尤度を特定する確率値と関連付けられた重み値および試験条件をそれぞれ含む2つ以上の増強決定株として表現するのに適切な情報を含む有限状態機械を受信するステップを含むような動作を実行するようにプロセッサ実行可能命令を用いて構成され得る。
さらなる態様は、コンピューティングデバイスのプロセッサに、動作を実行させるように構成されたプロセッサ実行可能ソフトウェア命令を記憶した非一時的コンピュータ可読記憶媒体を含むことができ、その動作は、フル分類器モデルおよびシグモイドパラメータをサーバコンピューティングデバイスから受信するステップと、シグモイドパラメータに基づいて正規化信頼性値を決定するステップと、正規化信頼性値に基づいてデバイス挙動を分類するステップとを含むことができる。一態様では、記憶されたプロセッサ実行可能命令は、フル分類器モデルに含まれる有限状態機械を増強決定株に変換することによって増強決定株のリストを生成するステップと、増強決定株のリストに含まれる増強決定株に基づいてリーン分類器モデルのファミリーを生成するステップとをさらに含む動作をプロセッサに実行させるように構成されてよく、正規化信頼性値に基づいてデバイス挙動を分類するステップは、分析結果を生成するために挙動ベクトル情報構造をリーン分類器モデルのファミリー内の第1のリーン分類器モデルに適用するステップと、正規化信頼性値に基づいて新しい分析結果を生成するために挙動ベクトル情報構造をリーン分類器モデルのファミリー内の第2のリーン分類器モデルに適用するかどうかを判断するステップとを含む。
さらなる態様では、記憶されたプロセッサ実行可能命令は、フル分類器モデルに基づいてリーン分類器モデルを生成するステップをさらに含む動作をプロセッサに実行させるように構成されてよく、記憶されたプロセッサ実行可能命令は、正規化信頼性値に基づいてデバイス挙動を分類するステップが、分析結果を生成するために挙動ベクトル情報構造をリーン分類器モデルに適用するステップと、デバイス挙動が良性であるかまたは良性でないかを判断するために分析結果および正規化信頼性値を使用するステップと含むような動作をプロセッサに実行させるように構成され得る。
さらなる態様では、記憶されたプロセッサ実行可能命令は、フル分類器モデルに基づいてリーン分類器モデルを生成するステップが、フル分類器モデルに含まれる有限状態機械を複数の増強決定株に変換することによって増強決定株のリストを生成するステップと、コンピューティングデバイスの処理、メモリ、またはエネルギーの資源の量を過剰に消費することなくデバイス挙動を分類するために評価されるべき特有の試験条件の数を決定するステップと、増強決定株のリストを連続的にトラバースし、試験条件のリストが決定された数の特有の試験条件を含むまで、連続的にトラバースされた増強決定株の各々に関連付けられた試験条件を試験条件のリストに挿入することによって、試験条件のリストを生成するステップと、試験条件のリストに含まれる複数の試験条件のうちの1つを試験する増強決定株だけを含むようにリーン分類器モデルを生成するステップとを含むような動作をプロセッサに実行させるように構成され得る。
さらなる態様では、記憶されたプロセッサ実行可能命令は、正規化信頼性値に基づいて更新されたシグモイドパラメータを生成するステップと、更新されたシグモイドパラメータをサーバコンピューティングデバイスに送信するステップとをさらに含む動作をプロセッサに実行させるように構成され得る。さらなる態様では、記憶されたプロセッサ実行可能命令は、更新されたシグモイドパラメータをサーバコンピューティングデバイスから受信するステップと、更新されたシグモイドパラメータに基づいて新しい正規化信頼性値を決定するステップと、新しい正規化信頼性値に基づいてデバイス挙動を分類するステップとをさらに含む動作をプロセッサに実行させるように構成され得る。
さらなる態様は、上記で説明した方法の動作を実行するようにプロセッサ実行可能命令で構成されたプロセッサを有するモバイルコンピューティングデバイスを含む。
さらなる態様は、上記に記載された方法の動作をモバイルデバイス内のプロセッサに実行させるように構成されたプロセッサ実行可能ソフトウェア命令を記憶している非一時的コンピュータ可読記憶媒体を含む。
さらなる態様は、デバイスプロセッサを含むモバイルデバイスと、モバイルデバイス挙動についての情報のコーパスを受信するステップ、情報のコーパスに基づいて、試験条件および重み値をそれぞれ含む複数の増強決定株への変換に好適なデータを含むために有限状態機械を生成するステップ、および有限状態機械をフル分類器モデルとしてモバイルデバイスに送信するステップを含む動作を実行するようにサーバ実行可能命令で構成されたサーバとを含むシステムを含む。一態様では、デバイスプロセッサは、フル分類器モデルを受信するステップと、受信されたフル分類器モデルに基づいてモバイルデバイス内にリーン分類器モデルを生成するステップと、モバイルデバイスの挙動を良性であるまたは良性でないのいずれかであるとして分類するためにリーン分類器モデルを使用するステップとを含む動作を実行するようにプロセッサ実行可能命令で構成され得る。
一態様のシステムでは、デバイスプロセッサは、フル分類器モデルに基づいてリーン分類器モデルを生成するステップが、フル分類器モデル内に含まれる有限状態機械を増強決定株のリストに変換するステップと、モバイルデバイスの処理、メモリ、またはエネルギーの資源の量を過剰に消費することなくモバイルデバイスの挙動を分類するために、評価されるべき特有の試験条件の数を決定するステップと、増強決定株のリストを連続的にトラバースすることによって試験条件のリストを生成し、試験条件のリストが規定された数の特有の試験条件を含むまで、連続的にトラバースされた増強決定株の各々と関連付けられた試験条件を試験条件のリストに挿入するステップと、生成された試験条件のリスト内に含まれる複数の試験条件のうちの1つを試験する増強決定株のリスト内に含まれる増強決定株を含むようにリーン分類器モデルを生成するステップとを含むような動作を実行するようにプロセッサ実行可能命令で構成され得る。
一態様のシステムでは、モバイルデバイスの挙動を分類するためにリーン分類器モデルを使用するステップが、収集された挙動情報をリーン分類器モデル内の増強決定株の各々に適用するステップと、収集された挙動情報をリーン分類器モデル内の増強決定株の各々に適用した結果の加重平均を計算するステップと、加重平均としきい値とを比較するステップとを含むような動作を実行するように、デバイスプロセッサがプロセッサ実行可能命令で構成され得る。一態様のシステムでは、フル分類器モデルに基づいてリーン分類器モデルを生成するステップが、フル分類器モデル内に含まれる有限状態機械を増強決定株のリストに変換するステップと、増強決定株のリスト内に含まれる増強決定株に基づいてリーン分類器モデルのファミリーを生成するステップとを含み、リーン分類器モデルのファミリーがリーン分類器モデルおよび複数の追加のリーン分類器モデルを含み、複数の追加のリーン分類器モデルの各々が異なる数の特有の試験条件を含むような動作を実行するように、デバイスプロセッサがプロセッサ実行可能命令で構成され得る。
一態様のシステムでは、フル分類器モデルに基づいてリーン分類器モデルを生成するステップが、異なる重み値および異なるしきい値を使用して第1の条件を試験する決定株をそれぞれ含む複数のリーン分類器モデルを生成するステップを含むような動作を実行するように、デバイスプロセッサがプロセッサ実行可能命令で構成され得る。一態様のシステムでは、複数のリーン分類器モデル内の増強決定株と関連付けられたしきい値および重み値を再計算するステップをさらに含む動作を実行するように、デバイスプロセッサがプロセッサ実行可能命令で構成され得る。
一態様のシステムでは、複数の試験条件の各々が確率値と関連付けられ、その確率値が、モバイルデバイス挙動が良性であるかどうかをモバイルデバイスが判断することを、その関連付けられた試験条件が可能にする尤度を特定するような動作を実行するように、サーバがサーバ実行可能命令で構成され得る。一態様のシステムでは、有限状態機械をフル分類器モデルとしてモバイルデバイスに送信する前に、確率値に基づいて有限状態機械内の増強決定株を編成するステップをさらに含む動作を実行するように、サーバがサーバ実行可能命令で構成され得る。
本明細書に組み込まれ、本明細書の一部をなす添付の図面は、特許請求の範囲の例示的な態様を示し、上記の全般的な説明および下記の発明を実施するための形態とともに、特許請求の範囲の特徴を説明するのに役立つ。
様々な態様で使用するのに好適である例示的な電気通信システムのネットワーク構成要素を示す通信システムのブロック図である。 特定のモバイルデバイス挙動が悪性であるか、性能劣化させるか、疑わしいか、または良性であるかを判断するように構成された一態様のモバイルデバイスにおける例示的な論理構成要素および情報フローを示すブロック図である。 特定のモバイルデバイス挙動が悪性であるか、性能を劣化させるか、疑わしいか、または良性であるかを判断するためにモバイルデバイスと協同して働くように構成されたネットワークサーバを含む一態様のシステム内の例示的な構成要素および情報フローを示すブロック図である。 データ、挙動ベクトルまたは分類器モデルを再訓練することなくフル分類器モデルからターゲットとされるリーン分類器モデルを生成するように構成されたモバイルデバイスを含む一態様のシステム内の例示的な構成要素および情報フローを示すブロック図である。 ネットワークサーバから受信されたフル分類器モデル内に含まれる特徴およびデータポイントのサブセットを含むリーン分類器モデルをモバイルデバイス内に生成する、一態様のモバイルデバイスの方法を示すプロセスフロー図である。 モバイルデバイス内でローカルにリーン分類器モデルを生成する別の態様のモバイルデバイスの方法を示すプロセスフロー図である。 モバイルデバイスの挙動を分類するために、ローカルに生成されたリーン分類器モデルを使用する、一態様のモバイルデバイスの方法を示すプロセスフロー図である。 モバイルデバイス内でリーン分類器モデルを生成する、さらに別の態様のモバイルデバイスの方法を示すプロセスフロー図である。 より合焦されたリーンな分類器モデルを生成することにおいてモバイルデバイスによる使用に好適な増強決定株を含むフル分類器モデルをネットワークサーバ内で生成する、一態様のネットワークサーバの方法を示すプロセスフロー図である。 様々な態様による、増強決定株分類器を生成するのに好適な例示的な方法を示すプロセスフロー図である。 一態様による、増強決定株を含む分類器モデルを生成する例示的な方法のプロセスフロー図である。 リーン分類器モデルを生成するために一態様のサーバプロセッサによって生成され、モバイルデバイスプロセッサによって使用され得る例示的な増強決定株の一例である。 一態様による、動的および適応的観測を実行するように構成された観測器モジュール内の例示的な論理構成要素および情報フローを示すブロック図である。 別の態様による、観測器デーモンを実装するコンピューティングシステム内の論理構成要素および情報フローを示すブロック図である。 モバイルデバイス上で適応的観測を実行するための一態様の方法を示すプロセスフロー図である。 様々な態様による、改善された挙動の分析および分類に対する正規化信頼性値を計算して使用するためにシグモイドパラメータを使用する方法を示すプロセスフロー図である。 様々な態様による、改善された挙動の分析および分類に対する正規化信頼性値を計算して使用するためにシグモイドパラメータを使用する方法を示すプロセスフロー図である。 様々な態様による、改善された挙動の分析および分類に対する正規化信頼性値を計算して使用するためにシグモイドパラメータを使用する方法を示すプロセスフロー図である。 様々な態様による、改善された挙動の分析および分類に対対する正規化信頼性値を計算して使用するためにシグモイドパラメータを使用する方法を示すプロセスフロー図である。 様々な態様による、改善された挙動の分析および分類に対する正規化信頼性値を計算して使用するためにシグモイドパラメータを使用する方法を示すプロセスフロー図である。 一態様において使用するのに好適なモバイルデバイスの構成要素のブロック図である。 一態様において使用するのに好適なサーバデバイスの構成要素のブロック図である。
様々な態様について添付の図面を参照して詳細に説明する。可能な場合はどこでも、同じ参照番号は、図面全体を通して同じまたは同様の部分を指すために使用される。特定の例および実装形態に行われる参照は、説明を目的とし、特許請求の範囲を限定するものではない。
「例示的な」という言葉は、「例、事例、または例示として機能すること」を意味するように本明細書で使用される。本明細書に「例示的な」と記載されるいかなる実装形態も、必ずしも他の実装形態よりも好ましいか、または有利であると解釈されるべきではない。
概して、様々な態様が、モバイルデバイスの性能および/または電力利用のレベルをしばしば経時的に劣化させる条件および/またはモバイルデバイス挙動を効率的に特定し、分類し、モデリングし、防止し、および/または修正するためのネットワークサーバ、モバイルデバイス、システム、および方法を含む。ネットワークサーバは、中央データベース(たとえば、「クラウド」)から様々な条件、特徴、挙動および修正措置についての情報を受信することと、モバイルデバイスによって1つまたは複数のリーン分類器モデルに迅速に変換され得るフォーマットまたは構造で挙動情報の大きいコーパスを記述するフル分類器モデル(すなわち、データまたは挙動のモデル)を生成するためにこの情報を使用することとを行うように構成され得る。
一態様では、フル分類器モデルは、挙動情報の大きいコーパスの有限状態機械の記述または表現であり得る。一態様では、有限状態機械は、複数の増強決定株としての表示に好適な情報を含むことができる。たとえば、有限状態機械は、モバイルデバイス挙動が良性であるかまたはそのモバイルデバイスの性能の劣化を経時的に引き起こすかを判断することに関連するすべてまたは多くの特徴およびデータポイントを一括して特定、記述、試験、または評価する増強決定株のファミリーとして表示され得る情報構造であってよい。次に、ネットワークサーバは、フル分類器モデル(すなわち、有限状態機械および/または増強決定株のファミリーなどを含む情報構造)をモバイルデバイスに送信することができる。
モバイルデバイスは、リーン分類器モデルまたは変化するレベルの複雑さ(または「リーン性」)のリーン分類器モデルのファミリーを生成するためにフル分類器モデルを受信して使用するように構成され得る。これを達成するために、モバイルデバイスは、ネットワークサーバから受信されたフル分類器モデル(本明細書では「フル増強決定株分類器モデル」)内に含まれる増強決定株のロバストなファミリーを選別して、低減された数の増強決定株を含み、かつ/または限られた数の試験条件を評価するリーン分類器モデルを生成することができる。フル増強決定株分類器モデルのこの選別は、増強決定株を選択することと、選択された決定株と同じモバイルデバイスの状態、特徴、挙動または条件に依存する(およびしたがって、1つの決定結果に基づいて適用され得る)すべての他の増強決定株を特定することと、同じモバイルデバイスの状態、特徴、挙動または条件に依存する選択されたおよびすべての特定された他の増強決定株をリーン分類器モデル内に含むことと、リーン分類器モデル内に未だ含まれていない限られた数の選択された増強決定株に対してプロセスを反復することとによって達成され得る。このようにして、限られた数の異なるモバイルデバイスの状態、特徴、挙動または条件に依存するすべての増強決定株を含むリーン分類器モデルが、生成され得る。次に、モバイルデバイスは、その処理、メモリ、またはエネルギーの資源の量を過剰に消費することなくモバイルデバイス挙動を迅速に分類するために、このローカルに生成されたリーン分類器モデルを使用することができる。
一態様では、モバイルデバイスは、異なる程度のリーン性のリーン分類器モデルのファミリーを生成するために、異なる数の異なるモバイルデバイスの状態、特徴、挙動、または条件を使用して何回か、フル増強決定株分類器モデルを選別する動作を実行することができる。リーン分類器モデルを作成するために使用される異なるモバイルデバイスの状態、特徴、挙動、または条件の数が大きいほど、モデルは、悪性のまたは疑わしい挙動を正確に特定する可能性がより高くなるが、消費される処理電力はより多くなる。したがって、一態様では、モバイルデバイスは、リーン分類器モデルのファミリーのうちの最もリーンなモデル(すなわち、最小の数の異なるモバイルデバイスの状態、特徴、挙動、または条件に基づくモデル)を定期的に適用するように構成され得る。最もリーンな分類器モデルによって生成された結果が疑わしい場合、モバイルデバイスプロセッサは、挙動が悪性であるまたは良性であると特定され得るかどうかを判断するためにより多くのデバイスの状態、特徴、挙動、または条件を評価する、より強い(すなわち、それほどリーンでない)分類器モデルを適用することができる。そのそれほどリーンでない分類器モデルを適用することによって生成された結果が依然として疑わしい場合、さらに強い(さらにそれほどリーンでない)分類器モデルが適用され得、挙動が悪性であるまたは良性であると断定的に分類されるまで、同様に繰り返される。
中央データベース(たとえば、「クラウド」)におけるそのような挙動および修正措置についての情報を記憶すること、ならびに中央データベース内に記憶された情報を使用して各モバイルデバイスの性能および電力使用レベルにおける劣化を経時的に引き起こしているファクタを知的におよび効率的に特定するために、モバイルデバイスおよびネットワークサーバを互いに連携して働くように構成することによって、モバイルデバイスが、モバイルデバイスの性能を限定する条件および望ましくない動作条件をより正確にかつ効率的に特定してそれらに対応することを、様々な態様が可能にする。
加えて、ネットワークサーバ内に増強決定株を含む分類器モデルを生成し、これらの分類器/モデルをモバイルデバイスに送信することによって、モバイルデバイスが、訓練データにアクセスすることなくまたはネットワークサーバ、中央データベース、もしくはクラウドネットワーク/サーバとさらに通信することなく、上記で説明した方法で増強決定株の数を選別することによってモバイルデバイス内にリーンな(またはより合焦された)分類器モデルをより迅速におよび効率的に生成することを、様々な態様が可能にする。これは、モバイルデバイスのネットワークへの依存を著しく低減し、さらに、モバイルデバイスの性能および電力消費特性を改善する。
いくつかの異なるセルラーおよびモバイル通信サービスおよび規格が利用可能であるか、または将来考えられ、それらのすべてが様々な態様を実装し、様々な態様から利益を受けることができる。そのようなサービスおよび規格は、たとえば、第3世代パートナーシッププロジェクト(3GPP)、ロングタームエボリューション(LTE)システム、第3世代ワイヤレスモバイル通信技術(3G)、第4世代ワイヤレスモバイル通信技術(4G)、広域移動通信システム(GSM(登録商標))、ユニバーサルモバイル通信システム(UMTS)、3GSM(登録商標)、汎用パケット無線サービス(GPRS)、符号分割多元接続(CDMA)システム(たとえば、cdmaOne、CDMA1020TM)、GSM(登録商標)進化型高速データレート(EDGE:enhanced data rates for GSM(登録商標) evolution)、高度移動電話システム(AMPS:advanced mobile phone system)、デジタルAMPS(IS-136/TDMA)、エボリューションデータ最適化(EV-DO)、digital enhanced cordless telecommunications(DECT)、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WiMAX:worldwide interoperability for microwave access)、ワイヤレスローカルエリアネットワーク(WLAN)、Wi-Fi Protected Access I & II(WPA、WPA2)、およびintegrated digital enhanced network(iden)を含む。これらの技術の各々は、たとえば、音声、データ、シグナリング、および/またはコンテンツメッセージの送信および受信を伴う。個々の電気通信規格または技術に関連した用語および/または技術的詳細に対するいかなる参照も、例示目的にすぎず、請求項の文言に具体的に記載されない限り、請求項の範囲を特定の通信システムまたは技術に限定することは意図していないことを理解されたい。
「モバイルコンピューティングデバイス」および「モバイルデバイス」という用語は、携帯電話、スマートフォン、パーソナルまたはモバイルマルチメディアプレーヤー、携帯情報端末(PDA)、ラップトップコンピュータ、タブレットコンピュータ、スマートブック、ウルトラブック、パームトップコンピュータ、ワイヤレス電子メール受信機、マルチメディアインターネット対応携帯電話、ワイヤレスゲームコントローラ、ならびに、性能が重要であるメモリとプログラム可能プロセッサを含み、節電方法が有益であるようなバッテリー電源で動作する同様の個人用電子デバイスのうちの、任意の1つまたはすべてを指すように、本明細書では交換可能に使用される。様々な態様は、限られたリソースを有し、バッテリーで動作する、スマートフォンなどのモバイルコンピューティングデバイスに対して特に有用であるが、これらの態様は、概して、プロセッサを含み、アプリケーションプログラムを実行する任意の電子デバイスにおいて有用である。
概して、モバイルデバイスの性能および電力効率は、時間がたつにつれて劣化する。近年、アンチウイルス会社(たとえば、McAfee、Symantecなど)は、この劣化を遅くすることを狙いとするモバイル用アンチウイルス、ファイアウォール、および暗号化製品のマーケティングを開始した。しかしながら、これらの解法の多くは、モバイルデバイス上で計算負荷の大きいスキャニングエンジンを周期的に実行することに依存しており、そのことが、モバイルデバイスの処理およびバッテリーリソースの多くを消費し、モバイルデバイスを遅くさせるかまたはより長い時間期間の間使えなくさせ、および/または場合によってはユーザエクスペリエンスを劣化させる。加えて、これらの解法は、一般に、知られているウイルスおよびマルウェアの検出に限定され、複数の複雑なファクタおよび/または(たとえば、性能劣化がウイルスまたはマルウェアによって引き起こされない場合に)経時的なモバイルデバイスの劣化に寄与するようにしばしば結びつく相互作用に対処しない。これらのおよび他の理由によって、既存のアンチウイルス、ファイアウォールおよび暗号化製品は、経時的なモバイルデバイスの劣化に寄与することがある多くのファクタを特定するため、モバイルデバイスの劣化を予防するため、または経年劣化したモバイルデバイスをそれの初期状態に効率的に回復させるために十分な解法を提供していない。
機械学習技法を使用することによって、またはコンピューティングデバイス上で実行するプロセスもしくはアプリケーションプログラムの挙動をモデリングすることによって悪性のソフトウェアを検出するために、様々な他の解法が存在する。しかしながら、これらの解法の多くは、非常に大きいデータのコーパスを評価することを必要とするか、個別のアプリケーションプログラムまたはプロセスを評価することに限定されるか、またはモバイルデバイスにおいて計算負荷の大きいプロセスの実行を必要とするので、モバイルデバイス上の使用には適さない。したがって、モバイルデバイス内のそのような解法を実施または実行することは、モバイルデバイスの応答性、性能、または電力消費特性に負のおよび/またはユーザが気付く重大な影響を及ぼすことがある。これらおよび他の理由によって、既存のモデリングおよび機械学習解法は、近代的なモバイルデバイスの複雑ではありながら資源を制約されたシステムにおける使用には十分に好適ではない。
たとえば、既存の機械学習ベースの解法は、特徴ベクトルを入力としてとるモデルを導出するために訓練データのコーパスを使用するようにコンピューティングデバイスを構成することを含むことがある。しかしながら、そのような解法は、試験条件および重み値をそれぞれ含む複数の増強決定株への変換または複数の増強決定株としての表示に好適な有限状態機械(または他の類似の情報構造)を含むフル分類器モデル(または分類器モデルのファミリー)を生成しない。少なくともこの理由のために、そのような解法は、モバイルデバイスの応答性または性能または電力消費特性に著しい負のまたはユーザが気付く影響を及ぼすことなく、迅速におよび効率的にモバイルデバイス挙動を特定、分析および/または分類するために使用される増強決定株の合焦されたセットを含むリーン分類器モデルを迅速におよび効率的に生成するためにモバイルデバイスプロセッサによって使用されることはできない。
モバイルデバイスは、比較的限定された処理、メモリ、およびエネルギーの資源を有する、資源を制限されたシステムである。近代的なモバイルデバイスはまた複雑なシステムであり、悪性であるかまたは場合によってはモバイルデバイスの性能劣化を引き起こすことがあるすべての様々なデータフロー、データ動作(読取り、書込み、データ符号化、データ送信など)、プロセス、構成要素、挙動、またはファクタ(またはそれらの組合せ)を評価することは、しばしば実行不可能である。これらおよび他の理由のために、問題の根源を正確かつ効率的に特定すること、および/または特定された問題に対して十分な改善措置を提供することは、ユーザ、オペレーティングシステム、および/またはアプリケーションプログラム(たとえば、アンチウイルスソフトウェアなど)にとってますます困難となっている。結果として、モバイルデバイスの性能および電力利用のレベルにおける経時的な劣化を防止するための改善措置を、モバイルデバイスユーザは、現在、ほとんど持っていない。
様々な態様が、モバイルデバイスの性能および/または電力利用のレベルをしばしば経時的に劣化させる条件および/またはモバイルデバイス挙動を効率的に特定し、分類し、モデリングし、防止し、および/または修正するためのネットワークサーバ、モバイルデバイス、システム、および方法を含む。
一態様では、観測器プロセス、デーモン、モジュール、またはモバイルデバイスのサブシステム(本明細書では「モジュール」と総称される)は、様々なレベルのモバイルデバイスシステムにおいて、様々なAPI、レジスタ、カウンタまたは他の構成要素(本明細書では総称して「機器を装着された構成要素(instrumented component)」)を装着するかまたは協調させることができる。観測器モジュールは、機器を装着された構成要素から挙動情報を収集することによってモバイルデバイス挙動を連続的に(または略連続的に)モニタすることができる。モバイルデバイスはまた分析器モジュールを含み、観測器モジュールは、収集された挙動情報をモバイルデバイスの分析器モジュールに、(たとえば、メモリ書込み動作、関数呼出しなどを介して)伝達することができる。分析器モジュールは、挙動情報を受信し使用して挙動ベクトルを生成し、挙動ベクトルに基づいて空間的および/または時間的相関関係を生成し、この情報を使用して、特定のモバイルデバイス挙動、サブシステム、ソフトウェアアプリケーション、またはプロセスが良性であるか、疑わしいか、悪性であるか、または性能を劣化させるかを判断する。
分析器モジュールは、モバイルデバイス挙動が良性であるかまたは良性でない(たとえば、悪性であるまたは性能を劣化させる)かを判断するために、収集された挙動情報に対してデータ、アルゴリズム、分類器、または挙動のモデル(本明細書では総称して「分類器モデル」)を実行すること(performing)、実施すること(executing)、および/または適用することを含み得る実時間挙動分析動作を実行するように構成され得る。各分類器モデルは、モバイルデバイス挙動の特定の態様を評価するためにモバイルデバイスプロセッサによって使用され得る情報を含む挙動モデルであり得る。分類器モデルは、モバイルデバイス上にプレインストールされるか、ダウンロードされるか、ネットワークサーバから受信されるか、モバイルデバイス内で生成されることがあり、またはそれらの任意の組合せであることがある。分類器モデルは、機械学習および他の同様の技法を使用することによって生成され得る。
各分類器モデルは、フル分類器モデルまたはリーン分類器モデルとしてカテゴリ化され得る。フル分類器モデルは、数千の特徴および数十億のエントリを含み得る大きい訓練データセットの関数として生成されるロバストなデータモデルであり得る。リーン分類器モデルは、特定のモバイルデバイス挙動が良性であるかまたは良性でない(たとえば、悪性であるかまたは性能を劣化させる)かを判断することに最も関連性のある特徴/エントリだけを含む縮小されたデータセットから生成される、より合焦されたデータモデルであり得る。
上述のように、モバイルデバイスの劣化の原因または根源を適切に特定するために分析を必要とする数千の特徴/ファクタおよび数十億のデータポイントが存在することがある。それゆえ、分析器モジュールによって使用される各分類器モデルは、モバイルデバイスが、特定のモバイルデバイス挙動が良性であるかまたは良性でない(たとえば、悪性であるかまたは性能を劣化させる)かに関して正確な決断を下すことができるように、非常に多数の特徴、ファクタ、およびデータポイントに対して訓練されなければならない。さらに、モバイルデバイスは資源を制約されたシステムであるので、分析器モジュールがすべてのこれらの特徴、ファクタ、およびデータポイントを評価することは、しばしば実行不可能である。それゆえ、分析器モジュールは、場合によってはモバイルデバイス挙動を分類するときに分析が必要なすべての特徴、ファクタ、およびデータポイントに対して、ターゲットとされるサブセットを評価することに合焦するリーン分類器モデルを適用することが重要である。
様々な態様は、モバイルデバイス挙動が良性であるか良性でない(たとえば、悪性であるまたは性能を劣化させる)かを判断することに最も関連性のある特徴、ファクタ、およびデータポイントを知的におよび効率的に特定するために互いに連携して働くように構成されたモバイルデバイスおよびネットワークサーバを含む。ネットワークサーバ内に増強決定株を含む分類器モデルを生成することおよびこれらの分類器/モデルをモバイルデバイスに送信することによって、モバイルデバイスがモバイルデバイス内でリーン分類器モデルを迅速におよび効率的に生成することを、様々な態様が可能にする。
様々な態様では、ネットワークサーバは、モバイルデバイス挙動を特性化している間に、クラウドサービス/ネットワークからモバイルデバイス挙動および状態、特徴、ならびに条件に関する大量の情報を受信するように構成され得る。この情報は、モバイルデバイス挙動ベクトルの非常に大きいクラウドコーパスの形態であり得る。ネットワークサーバは、挙動ベクトルの非常に大きいクラウドコーパスを正確に記述するフル分類器モデル(すなわち、ロバストなデータ/挙動モデル)を生成するためにこの情報を使用することができる。ネットワークサーバは、いくつかの異なるモバイルデバイスのうちのいずれかに対して経時的に劣化を引き起こすことがあるすべてのまたは大半の特徴、データポイント、および/またはファクタを含むようにフル分類器モデルを生成することができる。
一態様では、ネットワークサーバは、増強決定株または増強決定株のファミリーなど、有限状態機械表示または表現を含むようにフル分類器モデルを生成することができる。この有限状態機械表示または表現は、モバイルデバイスプロセッサにおいて選別アルゴリズムの適用を介してモバイルデバイス内での使用または実施に好適なリーン分類器モデルに、迅速におよび効率的に選別、修正または変換され得る。有限状態機械表示または表現は、試験条件、状態情報、状態遷移規則、および他の同様の情報を含む情報構造であり得る。一態様では、有限状態機械表示または表現は、条件、特徴、ファクタ、またはモバイルデバイスの挙動の態様をそれぞれ評価または試験する大きいまたはロバストな増強決定株のファミリーを含む情報構造であり得る。
モバイルデバイスは、ネットワークサーバからフル分類器モデルを受信し、受信されたフル分類器モデルを使用してモバイルデバイス内でローカルにリーン分類器モデル(すなわち、データ/挙動モデル)を生成するように構成され得る。モバイルデバイスは、受信されたフル分類器モデル内に含まれる増強決定株のセットを選別して、縮小もしくは限定された数の異なるモバイルデバイスの状態、特徴、挙動、または条件を特定、試験、評価しおよび/またはそれらに依存する増強決定株のサブセットにすることによってこれらのローカルなリーン分類器モデルを生成することができる。増強決定株のフルセットのこの選別は、増強決定株を選択することと、選択された決定株と同じモバイルデバイスの状態、特徴、挙動または条件に依存する(およびしたがって、1つの判断結果に基づいて適用され得る)すべての他の増強決定株を特定することと、同じモバイルデバイスの状態、特徴、挙動または条件に依存する選択されたおよびすべての特定された他の増強決定株をリーン分類器モデル内に含むことと、リーン分類器モデル内に未だ含まれていない縮小された/限られた数の選択された増強決定株に対してプロセスを反復することとによって達成され得る。試験される異なる数のモバイルデバイスの状態、特徴、挙動、または条件を使用してプロセスを反復することによって、評価される状態、特徴、挙動、または条件の数によって決定される、変化するリーン性の程度を有するリーン分類器モデルのファミリーが生成され得る。加えて、これらのリーン分類器モデルの各々は、別のリーン分類器モデルと同じ特徴または条件の一部または全部を、評価される試験結果、特徴、または条件の重要性に対して割り当てられた異なるしきい値および/または異なる重みを使用して試験または評価することができる。したがって、リーン分類器モデルを生成または再生するプロセスは、決定株と関連付けられたしきい値および/または重みを再計算するステップを含むことができる。
これらのリーン分類器モデルは、(フル分類器モデルと比較して)試験されなければならない状態、特徴、挙動、または条件の縮小されたサブセットを含むので、観測器モジュールおよび/または分析器モジュールは、モバイルデバイスの処理、メモリ、またはエネルギーの資源の量を過剰に消費することなく、モバイルデバイス挙動が良性であるかまたはモバイルデバイスの性能の劣化を引き起こしているかどうかを迅速におよび正確に判断するためにそれらを使用することができる。上述のように、モデルが良性または悪性のいずれかであるとしてカテゴリ化できない(およびそれゆえモデルによって疑わしいとしてカテゴリ化される)挙動に遭遇するまで、リーン分類器モデルのファミリーのうちの最もリーンなモデル(すなわち、最小数の試験条件に基づくリーン分類器モデル)が規定通りに適用され得、その時点において、よりロバストな(すなわち、それほどリーンでない)リーン分類器モデルが、良性または悪性のいずれかであるとして挙動をカテゴリ化する試みにおいて適用され得る。挙動の断定的な分類が達成されるまで、生成されたリーン分類器モデルのファミリー内のより一層ロバストなリーン分類器モデルのアプリケーションが適用され得る。このようにして、観測器モジュールおよび/または分析器モジュールは、最も完全なものの使用を制限するが、挙動を断定的に分類するためにロバストな分類器モデルが必要とされる状況に対する資源集約的リーン分類器モデルによって、効率性と正確さとの間のバランスをとることができる。
様々な態様では、モバイルデバイスは、有限状態機械表現/表示を増強決定株に変換すること、フル分類器モデル内に含まれる増強決定株のフルセットを選別して、限られた数の異なるモバイルデバイスの状態、特徴、挙動、または条件に依存する増強決定株の1つまたは複数のサブセットにすること、および増強決定株の1つまたは複数のサブセットを使用してモバイルデバイス挙動を知的にモニタ、分析、および/または分類することによって、1つまたは複数のリーン分類器モデルを生成するように構成され得る。増強決定株を使用することで、観測器モジュールおよび/または分析器モジュールが、データを再訓練するためにクラウドまたはネットワークと通信することなくリーンデータモデルを生成および適用することが可能になり、そのことで、モバイルデバイスのネットワークサーバおよびクラウドへの依存が著しく低減される。これは、モバイルデバイスとネットワークサーバとの間のフィードバック通信を省略し、さらに、モバイルデバイスの性能および電力消費特性を改善する。
増強決定株は、厳密に1つのノード(したがって1つの試験質問(test question)または試験条件)と重み値とを有し、したがってデータ/挙動の二項分類における使用に十分に好適な、1レベル決定木である。すなわち、挙動ベクトルを増強決定株に適用することで、2値の答え(たとえば、はいまたはいいえ)がもたらされる。たとえば、増強決定株によって試験される質問/条件が「ショートメッセージサービス(SMS)送信の周波数が毎分x未満であるか」である場合、「3」の値を増強決定株に適用することで、(「3未満」のSMS送信に対して)「はい」の答えまたは(「3以上」のSMS送信に対して)「いいえ」の答えのいずれかがもたらされる。
増強決定株は、それらが非常に単純で原初的である(したがって処理資源をあまり必要としない)ので、効率的である。増強決定株はまた、高度に並列化可能であり、したがって多くの株が並列に/同時に(たとえば、モバイルデバイス内の複数のコアまたはプロセッサによって)適用または試験され得る。
以下で説明するように、ネットワークサーバ(または別のコンピューティングデバイス)は、増強決定木モデルなど、モバイルデバイス挙動の別のより複雑なモデルから増強決定株タイプのフル分類器モデルを生成することができる。そのような複雑なモデルは、精緻な分類システムにおけるモバイルデバイス挙動を特徴付けるデバイスの状態、動作、およびモニタされるノードの間の相互作用のフルセット(または略フルセット)を相関させることができる。上述のように、サーバまたは他のコンピューティングデバイスは、多数のモバイルデバイスから収集されたモバイルデバイスの挙動ベクトルのクラウドコーパスを記述するモデルを生成するために、機械学習技法を適用することによって複雑なフル分類器モデルを生成することができる。一例として、増強決定木分類器モデルは、現在のモバイルデバイス挙動が悪性であるかまたは良性であるかの判断に到達するために、試験可能条件の決定ノードを通る数百の経路をトレースすることがある。そのような複雑なモデルは、いくつかの知られている学習および相関のモデリング技法を使用してサーバ内で生成され得る。そのような複雑なモデルは、数百のモバイルデバイスからのデータから学習することによって悪性の挙動を正確に認識するのに十分に有効となり得るが、特定のモバイルデバイスの構成および挙動に対するそれらの適用は、特にモデルが複雑でマルチレベルの決定木を伴う場合に著しい処理を必要とすることがある。モバイルデバイスは、一般的に資源が限られているので、そのようなモデルを使用することは、デバイス性能およびバッテリー寿命に強い影響を与えることがある。
モバイルデバイスによる使用をより助長するロバストな分類器モデルを提供するために、サーバ(たとえば、クラウドサーバまたはネットワークサーバ)または別のコンピューティングデバイス(たとえば、モバイルデバイスまたはモバイルデバイスに結合するコンピュータ)は、複雑な分類器モデルを大きい増強決定株モデルに変換することができる。決定株に関わるより単純な判断およびそのような分類器モデルを並列処理で適用する能力によって、モバイルデバイスが、ネットワークサーバによって実行される分析からより恩恵を受けることが可能になる。同じく、以下で説明するように、増強決定株のフル分類器モデルが、以下で説明する態様方法を使用してリーン分類器モデルを生成するためにモバイルデバイスによって使用され得る。
一態様では、増強決定株のフル分類器モデルを生成するサーバまたは他のコンピューティングデバイスは、以下でより詳細に説明する態様プロセスに従うことによって、そのように実施することができる。要約すると、サーバまたは他のコンピューティングデバイスは、複雑なフル分類器モデル(たとえば、増強決定木モデル)内でノードを選択し、ノードが悪性の挙動を予測する機会のパーセンテージ(percentage of the time)を決定するためにモデルを適用することができる。言い換えれば、サーバまたは他のコンピューティングデバイスは、ノードの1つの分岐を選択し、その分岐に接続されるすべての後続のノードおよび経路を追従して、分岐が悪性の挙動の判断に導く機会の割合を決定することができる。一態様では、機会のこの割合は、ノードに対する「重み」ファクタを計算するために使用され得る。たとえば、後続の経路が機会の80%で悪性の挙動の結論をもたらす1つの分岐を有する決定ノードが、0.8の重みファクタと関連付けられてよく、この単一の決定ノードが潜在的に悪性の(したがって疑わしい)挙動の高信頼のインジケータであることを示している。別の例として、その分岐が等しく悪性の挙動の結論につながり得る複雑な分類器モデル内の決定ノードは、悪性の挙動を認識することにおいて支援をほとんど提供せず、したがって非常に低い重みファクタまたは優先度を与えられてよい。
各決定ノードからの結果を追跡するプロセスにおいて、サーバまたは他のコンピューティングデバイスは、決定ノードが2値(すなわち、「はい」または「いいえ」)でない場合、多様な試験条件を各ノードに適用することができる。たとえば、複雑な分類器モデルは、値(たとえば、1分当たりに送信されるSMSメッセージの数)の範囲を調整することができ、最終結論は値に依存する。しかしながら、値の範囲は、決定株の2値の性質と矛盾する。したがって、サーバまたは他のコンピューティングデバイスは、値によって特徴付けられた条件を助長するそのようなノードに対して、2値の決定または試験の範囲を拡張することができる。たとえば、サーバまたは他のコンピューティングデバイスは、「1超」、「10超」および「100超」など、いくつかのしきい値の試験または条件を、複雑な分類器モデルを介して生成し試験することができる。そのようなしきい値試験は、複雑なモデルを研究することによってサーバが到達できる結論に基づいてサーバによって特定または選択され得る。次に、そのようなしきい値ベースの試験の各々は、その予測値およびしたがってそのブースティングファクタを決定するために試験され得る単一の決定株として扱われ得る。
複雑な分類器モデル内のすべての決定ノードを通ってこのプロセスを追従することによって、サーバまたは他のコンピューティングデバイスは、複雑な多層決定モデルを多数の増強決定株の単層モデルに変換することができる。次に、サーバまたは他のコンピューティングデバイスは、非常に小さい予測または分類の恩恵しか提供しない試験条件(たとえば、「電源はオンか」)を除去するために、その値がしきい値より低い決定株を除去することによってモデルをトリミングすることができる。
結果として得られたそのような株の数は、フル分類器モデル内で大きいことがあるが、株の2値の性質は、とりわけ資源を制約されているプロセッサにおいて、それらの適用を容易にすることができる。一態様では、サーバまたは他のコンピューティングデバイスは、増強決定株のフル分類器モデルを、それらの使用のためにモバイルデバイスに提供することができる。
増強決定株の大きい分類器モデルを生成するプロセスは、多くのモバイルデバイスからの入力を分析し、複雑な挙動のフル分類器モデルを生成するクラウドサーバによって生成され得る。というのは、そのようなサーバは、分析を完了するための処理資源および処理時間を有することになるからである。しかしながら、上述のように、態様方法はまた、モバイルデバイスさえも含む別のコンピューティングデバイスによっても実行され得る。この態様では、サーバ(たとえば、クラウドまたはネットワークサーバ)は、複雑な挙動のフル分類器モデルを他のコンピューティングデバイスに配信し、他のコンピューティングデバイスは、次に、上記で概説し以下でより詳細に述べるようにそのモデルを処理し、それを増強決定株モデルに変換することができる。たとえば、ユーザが自分のモバイルデバイスに結合するパーソナルコンピュータは、複雑な挙動のフル分類器モデルをダウンロードし、次に態様方法を実行して、パーソナルコンピュータがモバイルデバイスに対して(たとえば、ワイヤードまたはワイヤレスのデータリンクを介して)利用可能にする大きい増強決定株モデルを生成することができる。別の例として、モバイルデバイスは、複雑な挙動のフル分類器モデルをダウンロードし、次に、デバイスが充電されていて使用されていない深夜の時間帯の間などに態様方法を実行して、デバイスがメモリ内に記憶する大きい増強決定株モデルを生成することができる。サーバまたは別のコンピューティングデバイスによって実施されるプロセスは非常に似ているので、態様方法は、サーバによって実行されるときに以下でより詳細に説明される。しかしながら、その説明は例示を目的とし、態様方法をサーバ上で実行されるものと限定することは、特許請求の範囲において明確にそのように記載されている場合を除いて、意図されていない。
さらなる態様では、モバイルデバイスは、訓練データにアクセスすることなく、およびモバイルデバイスの処理、メモリ、またはエネルギーの資源の量を過剰に消費することなく、決定株内で試験される限られた数のファクタを選択することによってリーン分類器モデルを構築するために受信されたまたは自己生成された増強決定株の大きい分類器モデルを使用するように構成され得る。分析器モジュールは、マルウェアを特定し、デバイス挙動を悪性または良性であるとして分類するために選択された増強決定株のリーン分類器モデルを使用することができる。以下でより十分に説明するように、モバイルデバイスは、試験されることになるモニタする特徴の数(たとえば、15)を決定することと、第1の特徴を選択し、その特徴の試験を含む増強決定株のすべて(たとえば、モニタされた特徴から取得された値に基づくしきい値試験を有するすべての株)をリーン分類器に組み込むことと、リーン分類器モデル内で取り組まれる特徴の数が決定された数になるまでこのプロセスを反復することとによって、リーン分類器モデルを生成することができる。そのようなリーン分類器モデル内の増強決定株の数は、特徴の数より相当に大きくなることがあることは注目に値する。
一態様では、モバイルデバイスは、複数の増強決定株への変換に好適な有限状態機械を含むフル分類器モデルを受信するように構成され得る。モバイルデバイスは、フル分類器モデルに基づいてリーン分類器モデルを生成し得、そのことは、フル分類器モデルの有限状態機械を増強決定株に変換し、これらの増強決定株をリーン分類器モデルとして使用することによって達成され得る。
様々な態様は、図1に示す例示的な通信システム100などの様々な通信システム内で実装され得る。典型的なセル電話ネットワーク104は、ネットワーク運用センタ108に結合された複数のセル基地局106を含み、ネットワーク運用センタ108は、たとえば電話陸上通信線(たとえば、図示していないPOTSネットワーク)およびインターネット110を介して、モバイルデバイス102(たとえば、セルフォン、ラップトップ、タブレットなど)と他のネットワーク宛先との間のボイス呼およびデータを接続するように動作する。モバイルデバイス102と電話ネットワーク104との間の通信は、4G、3G、CDMA、TDMA、LTEおよび/または他のセル電話通信技術などの双方向ワイヤレス通信リンク112を介して遂行され得る。電話ネットワーク104は、インターネット110への接続を提供するネットワーク運用センタ108に結合されるかまたはネットワーク運用センタ108内の、1つまたは複数のサーバ114も含み得る。
通信システム100は、電話ネットワーク104およびインターネット110に接続されたネットワークサーバ116をさらに含み得る。ネットワークサーバ116と電話ネットワーク104との間の接続は、インターネット110を介するかまたは(破線の矢印で示すように)私的ネットワークを介することができる。ネットワークサーバ116はまた、クラウドサービスプロバイダネットワーク118のネットワークインフラストラクチャ内のサーバとして実装され得る。ネットワークサーバ116とモバイルデバイス102との間の通信は、電話ネットワーク104、インターネット110、私的ネットワーク(図示せず)、またはそれらの任意の組合せを介して達成され得る。
ネットワークサーバ116は、モバイルデバイス102にリーンなデータ/挙動モデルを送り、モバイルデバイス102は、疑わしいまたは性能劣化させるモバイルデバイス挙動、ソフトウェアアプリケーション、プロセスなどを特定するためにリーンなデータ/挙動モデルを受信して使用することができる。ネットワークサーバ116はまた、モバイルデバイスのデータ/挙動モデルを交換、更新、生成および/または維持するために、分類情報とモデリング情報とをモバイルデバイス102に送ることができる。
モバイルデバイス102は、挙動、状態、分類、モデリング、成功率および/または統計的情報をモバイルデバイス102内に収集し、収集された情報を分析のために(たとえば、電話ネットワーク104を介して)ネットワークサーバ116に送ることができる。ネットワークサーバ116は、モバイルデバイス102から受信された情報を使用してリーンなデータ/挙動モデルを更新もしくは精細化すること、または分類/モデリング情報を使用してさらに標的化および/または低減される特徴のサブセットを含むことができる。
一態様では、モバイルデバイス102は、収集された挙動の状態、分類、モデリング、成功率、および/または統計情報を使用して、モバイルデバイス102内にさらなる、ターゲットとされおよび/または縮小された特徴のサブセットを含むリーン分類器モデル(またはデータ/挙動モデル)を生成、更新または精細化するように構成され得る。これは、モバイルデバイスとネットワークサーバ116との間のフィードバック通信の量を低減し、モバイルデバイス102の性能および電力消費特性を改善する。
図2は、特定のモバイルデバイス挙動、ソフトウェアアプリケーション、またはプロセスが、悪性である/性能劣化させるか、疑わしいか、または良性であるかを判断するように構成された一態様のモバイルデバイス102における例示的な論理構成要素と情報フローとを示す。図2に示す例では、モバイルデバイス102は、挙動観測器モジュール202と、挙動分析器モジュール204と、外部コンテキスト情報モジュール206と、分類器モジュール208と、アクチュエータモジュール210とを含む。一態様では、分類器モジュール208は、挙動分析器モジュール204の一部として実装され得る。一態様では、挙動分析器モジュール204は、1つまたは複数の分類器モジュール208を生成するように構成され得、1つまたは複数の分類器モジュール208の各々は、1つまたは複数の分類器を含み得る。
モジュール202〜210の各々は、ソフトウェア、ハードウェアまたはそれらの任意の組合せで実装され得る。様々な態様では、モジュール202〜210は、オペレーティングシステムの一部の中(たとえば、カーネル内、カーネル空間内、ユーザ空間内など)、個別のプログラムもしくはアプリケーション内、専用のハードウェアバッファもしくはプロセッサ内、またはそれらの任意の組合せに実装され得る。一態様では、モジュール202〜210のうちの1つまたは複数は、モバイルデバイス102の1つまたは複数のプロセッサ上で遂行されるソフトウェア命令として実装され得る。
挙動観測器モジュール202は、アプリケーションプログラミングインターフェース(API)をモバイルデバイスの様々なレベル/モジュールにおいて取り付けるかまたは連携させるように構成され、取り付けられたAPIを介して様々なレベル/モジュールにおいてモバイルデバイスの動作および事象(たとえば、システム事象、状態変化など)をモニタ/観測し、観測された動作/事象に関する情報を収集し、収集された情報を知的にフィルタ処理し、フィルタ処理された情報に基づいて1つまたは複数の観測値を生成し、ならびに生成された観測値をメモリ内(たとえば、ログファイルなどの中)に記憶しおよび/または生成された観測値を挙動分析器モジュール204に(たとえば、メモリ書込み、関数呼出しなどを介して)送ることができる。
挙動観測器モジュール202は、アプリケーションフレームワークまたはランタイムライブラリ、システムコールAPI、ファイルシステムおよびネットワーキングサブシステム動作、デバイス(センサーデバイスを含む)状態変化、ならびに他の同様の事象内のライブラリアプリケーションプログラミングインターフェース(API)呼出しに関する情報を収集することによって、モバイルデバイスの動作および事象をモニタ/観測することができる。挙動観測器モジュール202はまた、ファイルシステム活動をモニタでき、ファイルシステム活動には、ファイル名、ファイルアクセスのカテゴリ(パーソナル情報またはノーマルデータファイル)を探索すること、ファイル(たとえば、type exe、zipなど)を生成または削除すること、ファイル読出し/書込み/シーク動作、ファイルパーミッションを変更することなどが含まれる。
挙動観測器モジュール202はまた、データネットワーク活動をモニタでき、データネットワーク活動には、接続のタイプ、プロトコル、ポート数、デバイスが接続されるサーバ/クライアント、接続数、通信の容量または周波数などが含まれる。挙動観測器モジュール202は、電話ネットワーク活動をモニタでき、電話ネットワーク活動には、送り出された、受信された、またはインターセプトされた呼またはメッセージ(たとえば、SMSなど)のタイプおよび数(たとえば、かけられた報奨金の呼の数)をモニタすることを含み得る。
挙動観測器モジュール202はまた、フォークの数、メモリアクセス動作、開いたファイルの数などをモニタすることを含み得る、システムリソース使用をモニタできる。挙動観測器モジュール202は、ディスプレイはオンかまたはオフか、デバイスはロックされているかまたはロックされていないか、バッテリーの残量、カメラの状態など、様々なファクタをモニタすることを含み得る、モバイルデバイスの状態をモニタできる。挙動観測器モジュール202はまた、たとえば、重要なサービス(ブラウザ、コントラクトプロバイダなど)への意図、プロセス間通信(IPC)の程度、ポップアップウィンドウなどをモニタすることによってプロセス間通信をモニタできる。
挙動観測器モジュール202はまた、カメラ、センサー、電子ディスプレイ、WiFi通信構成要素、データコントローラ、メモリコントローラ、システムコントローラ、アクセスポート、タイマー、周辺デバイス、ワイヤレス通信構成要素、外部メモリチップ、電圧レギュレータ、発振器、フェーズロックループ、周辺ブリッジ、およびモバイルコンピューティングデバイス上で動作するプロセッサおよびクライアントをサポートするために使用される他の同様の構成要素を含み得る、1つまたは複数のハードウェア構成要素のドライバ統計および/またはステータスをモニタ/観測できる。
挙動観測器モジュール202はまた、モバイルコンピューティングデバイスおよび/またはモバイルデバイスサブシステムの状態またはステータスを示す1つまたは複数のハードウェアカウンタをモニタ/観測できる。ハードウェアカウンタは、モバイルコンピューティングデバイス内で発生するハードウェア関連の活動または事象のカウントまたは状態を記憶するように構成されたプロセッサ/コアの専用レジスタを含み得る。
挙動観測器モジュール202はまた、ソフトウェアアプリケーションの活動または動作、アプリケーションダウンロードサーバ(たとえば、Apple(登録商標)App Store server)からのソフトウェアダウンロード、ソフトウェアアプリケーションによって使用されるモバイルデバイス情報、呼情報、テキストメッセージ情報(たとえば、SendSMS、BlockSMS、ReadSMSなど)、メディアメッセージ情報(たとえば、ReceiveMMS)、ユーザアカウント情報、ロケーション情報、カメラ情報、加速度計情報、ブラウザ情報、ブラウザベース通信のコンテンツ、音声ベース通信のコンテンツ、短距離無線通信(たとえば、Bluetooth(登録商標)、WiFiなど)、テキストベース通信のコンテンツ、記録されたオーディオファイルのコンテンツ、電話帳または連絡先情報、連絡先リストなどをモニタ/観測できる。
挙動観測器モジュール202は、ボイスメールを含む通信(VoiceMailComm)を含むモバイルデバイスの送信または通信、デバイス識別子(DeviceIDComm)、ユーザアカウント情報(UserAccountComm)、カレンダー情報(CalendarComm)、ロケーション情報(LocationComm)、記録されたオーディオ情報(RecordAudioComm)、加速度計情報(AccelerometerComm)などをモニタ/観測できる。
挙動観測器モジュール202は、コンパス情報、モバイルデバイス設定、バッテリー寿命、ジャイロスコープ情報、圧力センサー、磁気センサー、スクリーン活動などの使用をモニタ/観測し、それらを更新/変更することができる。挙動観測器モジュール202は、ソフトウェアアプリケーション(AppNotifications)、アプリケーション更新などへおよびそれらから通信される通知をモニタ/観測できる。挙動観測器モジュール202は、第2のソフトウェアアプリケーションのダウンロードおよび/またはインストールを要求している第1のソフトウェアアプリケーションに関する条件または事象をモニタ/観測できる。挙動観測器モジュール202は、パスワードのエントリなど、ユーザ照合に関する条件または事象をモニタ/観測できる。
挙動観測器モジュール202はまた、アプリケーションレベル、無線レベルおよびセンサーレベルを含む、モバイルデバイスの複数のレベルにおける条件または事象をモニタ/観測できる。アプリケーションレベルの観測は、顔認識ソフトウェアを介してユーザを観測すること、ソーシャルストリームを観測すること、ユーザによって入力された注釈を観測すること、PassBook/Google Wallet/Paypalの使用に関する事象を観測することなどを含み得る。アプリケーションレベルの観測はまた、バーチャルプライベートネットワーク(VPN)の使用に関する事象、および同期、音声探索、音声制御(たとえば、1語を発することによる電話のロック/アンロック)、言語翻訳機、計算に対するデータのオフロード、ビデオストリーミング、ユーザ活動のないカメラの使用、ユーザ活動のないマイクロフォンの使用などに関する事象を観測することを含み得る。
無線レベルの観測は、無線通信リンクを設立するかまたは情報を送信する前のモバイルデバイスとのユーザの対話、二重/多重加入者識別モジュール(SIM)カード、インターネット無線、携帯電話テザリング、計算に対するデータのオフロード、デバイス状態通信、ゲームコントローラまたはホームコントローラとしての使用、車両通信、モバイルデバイス同期などのうちのいずれかまたは複数の存在、実在、または量を判断するステップを含むことができる。無線レベルの観測はまた、位置決め、ピアツーピア(p2p)通信、同期、車両対車両通信、および/または機械対機械(m2m)通信のための無線(WiFi、WiMax、Bluetooth(登録商標)など)の使用をモニタするステップを含み得る。無線レベルの観測は、ネットワークトラフィックの使用、統計、またはプロファイルをモニタするステップをさらに含み得る。
センサーレベルの観測は、モバイルデバイスの使用環境および/または外部環境を判断するために磁気センサーまたは他のセンサーをモニタするステップを含み得る。たとえば、モバイルデバイスプロセッサは、電話が(たとえば、ホルスター内の磁石を検知するように構成された磁気センサーを介して)ホルスター内にあるかまたは(たとえば、カメラまたは光センサーによって検出される光の量を介して)ユーザのポケット内にあるかを判断するように構成され得る。たとえば、モバイルデバイスがホルスターに入れられている間に発生する、ユーザによるアクティブな使用(たとえば、写真またはビデオを撮ること、メッセージを送ること、音声呼を行うこと、音を録音することなど)に関する活動および機能は、(たとえば、ユーザを追跡またはスパイするために)デバイス上で遂行している不正なプロセスのサインであり得るので、モバイルデバイスがホルスター内にあることを検出することは、疑わしい挙動を認識することに関連し得る。
使用環境または外部環境に関するセンサーレベルの観測の他の例には、近距離場通信(NFC)を検出すること、クレジットカードスキャナ、バーコードスキャナ、またはモバイルタグリーダから情報を収集すること、ユニバーサルシリアルバス(USB)電力充電源の存在を検出すること、キーボードまたは補助デバイスがモバイルデバイスに結合されていることを検出すること、モバイルデバイスが(たとえば、USBなどを介して)コンピューティングデバイスに結合されていることを検出すること、LED、フラッシュ、フラッシュライト、または光源が修正または(たとえば、緊急シグナリングアップなどを悪意を持ってディセーブルして)ディセーブルされているかどうかを判断すること、スピーカまたはマイクロフォンがスイッチオンまたは電源オンにされていることを検出すること、充電事象または電力事象を検出すること、モバイルデバイスがゲームコントローラとして使用されていることを検出することなどを含み得る。センサーレベルの観測はまた、医療もしくはヘルスケアのセンサーからまたはユーザの体をスキャンすることから情報を収集すること、USB/オーディオジャックに差し込まれた外部センサーから情報を収集すること、(たとえば、振動インターフェースなどを介して)触知センサーまたは触覚センサーから情報を収集すること、モバイルデバイスの熱状態に関する情報を収集することなどを含み得る。
一態様では、モニタされるファクタの数を管理可能レベルまで低減するために、挙動観測器モジュール202は、モバイルデバイスの劣化に寄与する可能性があるすべてのファクタの小さいサブセットである初期の挙動またはファクタのセットをモニタ/観測することによって粗い観測を実行できる。一態様では、挙動観測器モジュール202は、ネットワークサーバ116および/またはクラウドサービスもしくはネットワーク118内の構成要素から挙動および/またはファクタの初期のセットを受信できる。一態様では、挙動/ファクタの初期のセットは、ネットワークサーバ116またはクラウドサービス/ネットワーク118から受信されたデータ/挙動モデル内で規定され得る。一態様では、挙動/ファクタの初期のセットは、低減された特徴モデル(RFM)内で規定され得る。
挙動分析器モジュール204および/または分類器モジュール208は、挙動観測器モジュール202から観測値を受信し、受信された情報(すなわち、観測値)を外部コンテキスト情報モジュール206から受信されたコンテキスト情報と比較し、デバイスの劣化に経時的に寄与する(または寄与しそうである)かまたは場合によってはデバイスに問題を引き起こす可能性がある、受信された観測値に関連するサブシステム、プロセス、および/またはアプリケーションを特定することができる。
一態様では、挙動分析器モジュール204および/または分類器モジュール208は、デバイスの劣化に経時的に寄与するまたは寄与しそうであるかまたは場合によってはデバイスに問題を引き起こす可能性がある、挙動、プロセス、またはプログラムを特定するために、情報の限定されたセット(すなわち、粗い観測値)を利用するための知性を含み得る。たとえば、挙動分析器モジュール204は、様々なモジュール(たとえば、挙動観測器モジュール202、外部コンテキスト情報モジュール206など)から収集された(たとえば、観測値の形の)情報を分析し、モバイルデバイスの正常動作挙動を学習し、比較結果に基づいて1つまたは複数の挙動ベクトルを生成するように構成され得る。挙動分析器モジュール204は、生成された挙動ベクトルをさらなる分析のために分類器モジュール208に送ることができる。
分類器モジュール208は、挙動ベクトルを受信し、それらを1つまたは複数の挙動モジュールと比較して、特定のモバイルデバイス挙動、ソフトウェアアプリケーション、またはプロセスが性能劣化させる/悪性であるか、良性であるか、または疑わしいかを判断する。
挙動、ソフトウェアアプリケーション、またはプロセスが悪性であるまたは性能劣化させると分類器モジュール208が判断するとき、分類器モジュール208はアクチュエータモジュール210に通知し、アクチュエータモジュール210は、悪性であるまたは性能劣化させると判断されるモバイルデバイス挙動を修正するために様々な活動または動作を実行し、および/または特定された問題を直す、矯正する、隔離する、または場合によっては解決するための動作を実行することができる。
分類器モジュール208が、挙動、ソフトウェアアプリケーション、またはプロセスが疑わしいと判断するとき、分類器モジュール208は挙動観測器モジュール202に通知し、挙動観測器モジュール202は、それの観測の細分性(すなわち、モバイルデバイス挙動が観測される詳細さのレベル)の調節および/または分類器モジュール208から受信された情報(たとえば、実時間分析動作の結果)に基づいて観測される挙動の変更を行い、新しいまたは追加の挙動情報を生成または収集し、かつさらなる分析/分類のために新しい/追加の情報を挙動分析器モジュール204および/または分類器モジュール208に送ることができる。挙動観測器モジュール202と分類器モジュール208との間のそのようなフィードバック通信は、疑わしいもしくは性能劣化させるモバイルデバイス挙動の原因が特定されるまで、処理またはバッテリーの消費のしきい値に到達するまで、または観測細分性をさらに増加させても疑わしいまたは性能劣化させるモバイルデバイス挙動の原因が特定され得ないとモバイルデバイスプロセッサが判断するまで、モバイルデバイス102が繰り返し、観測の細分性を増加させる(すなわち、より微細にまたはより詳細に観測する)ことまたは観測される特徴/挙動を変更することを可能にする。そのようなフィードバック通信はまた、モバイルデバイス102が、モバイルデバイスの処理、メモリ、またはエネルギーのリソースの量を過剰に消費することなく、データ/挙動モデルをモバイルデバイス内でローカルに調節または修正することを可能にする。
一態様では、挙動観測器モジュール202および挙動分析器モジュール204は、限定された粗い観測値から疑わしい挙動を特定するため、より詳細に観測するために挙動を動的に判断するため、および観測のために必要な詳細さのレベルを動的に判断するために、コンピューティングシステムの挙動の実時間挙動分析を個別にまたは集合的に提供できる。この方式では、挙動観測器モジュール202は、デバイス上にプロセッサ、メモリまたはバッテリーのリソースを多量に必要とすることなく、モバイルデバイス102が問題を効率的に特定し、モバイルデバイス上で問題が発生するのを防止することを可能にする。
図3および図4は、モバイルデバイス102の処理、メモリ、またはエネルギーのリソースの量を過剰に消費することなく、アクティブに悪性であるもしくは不完全に記述されたソフトウェアアプリケーションおよび/または疑わしいもしくは性能劣化させるモバイルデバイス挙動を、モバイルデバイス102上で知的かつ効率的に特定するために、クラウドサービス/ネットワーク118と連動して働くように構成されたネットワークサーバ116を含む、一態様のシステム300における例示的な構成要素および情報フローを示す。図3に示す例では、ネットワークサーバ116はクラウドモジュール302と、モデル発生器モジュール304と、訓練データモジュール306とを含む。モバイルデバイス102は挙動観測器モジュール202と、分類器モジュール208と、アクチュエータモジュール210とを含む。一態様では、分類器モジュール208は、挙動分析器モジュール204(図2に示す)の中にまたは一部として含まれ得る。一態様では、モデル発生器モジュール304は、実時間オンライン分類器であり得る。
クラウドモジュール302は、クラウドサービス/ネットワーク118から大量の情報を受信し、モバイルデバイスの劣化に経時的に寄与する可能性がある特徴、データポイント、および/またはファクタのすべてまたは大半を含む、完全またはロバストなデータ/挙動モデルを生成するように構成され得る。
モデル発生器モジュール304は、クラウドモジュール302内で生成された完全なモデルに基づいてリーンなデータ/挙動モデルを生成するように構成され得る。一態様では、リーンなデータ/挙動モデルを生成するステップは、クラウドモジュール302によって生成された完全なモデル内に含まれる特徴およびデータポイントのサブセットを含む1つまたは複数の低減された特徴モデル(RFM)を生成するステップを含み得る。一態様では、モデル発生器304は、特定のモバイルデバイス挙動が良性であるかまたは悪性である/性能劣化させるかを分類器モジュール208が最終的に判断することを可能にする最高の確率を有するように決定された情報を含む初期の特徴セット(たとえば、初期の低減された特徴モデル)を含むリーンなデータ/挙動モデルを生成できる。モデル発生器304は、生成されたリーンモデルを挙動観測器モジュール202に送ることができる。
挙動観測器モジュール202は、受信されたモデルに基づいてモバイルデバイス挙動をモニタ/観測し、観測値を生成し、観測値を分類器モジュール208に送ることができる。分類器モジュール208は、モバイルデバイス挙動が良性であるか、疑わしいか、または悪性である/性能劣化させるかを判断するために、挙動観測器モジュール202によって収集された挙動情報にデータ/挙動モデルを適用するステップを含み得る実時間分析動作を実行できる。挙動が良性であるかまたは悪性であるかのいずれであるかを分類するまたは最終的に判断するのに十分な情報を分類器モジュール208が持たないとき、分類器モジュール208は、モバイルデバイス挙動は疑わしいと判断できる。
デバイス挙動が疑わしいと分類器モジュール208が判断するとき、分類器モジュール208は、それの実時間分析動作の結果を挙動観測器モジュール202に伝達するように構成され得る。挙動観測器モジュール202は、それの観測の細分性(すなわち、モバイルデバイス挙動が観測される詳細さのレベル)の調節および/または分類器モジュール208から受信された情報に基づいて(たとえば、実時間分析動作の結果に基づいて)観測される挙動の変更を行い、新しいまたは追加の挙動情報を生成または収集し、かつ(たとえば、新しいモデルの形態における)さらなる分析/分類のために新しい/追加の情報を分類器モジュールに送ることができる。この方式では、疑わしいもしくは性能劣化させるモバイルデバイス挙動の原因が特定されるまで、処理またはバッテリー消費のしきい値に到達するまで、または観測細分性をさらに増加させても疑わしいまたは性能劣化させるモバイルデバイス挙動の原因が特定され得ないとモバイルデバイスプロセッサが判断するまで、モバイルデバイス102が繰り返し、観測の細分性を増加させる(すなわち、より微細にまたはより詳細に観測する)ことまたは観測される特徴/挙動を変更することを行うことができる。
モバイルデバイス102は、それの動作の結果、および/またはモデルのアプリケーションに関連する成功率をネットワークサーバ116に送ることができる。ネットワークサーバ116は、モデル発生器304による使用に対する結果/成功率に基づいて訓練データを(たとえば、訓練データモジュール306を介して)生成できる。モデル発生器は、訓練データに基づいて更新されたモデルを生成し、更新されたモデルをモバイルデバイス102に送ることができる。
図4に示す例では、モバイルデバイス102とネットワークサーバ116との間にフィードバック通信は存在しない。むしろ、モバイルデバイス102は、フルモデル発生器404内で生成され、ネットワークサーバ116から受信されたフルモデルまたはよりロバストなモデルに基づいて合焦された/ターゲットとされる挙動モデルまたは分類器を生成するように構成されたリーンモデル発生器モジュール402を含む。すなわち、ネットワークサーバ116は、フル分類器モデルをモバイルデバイス102に送信するように構成され、モバイルデバイス102は、フル分類器モデルに基づいてリーン分類器モデルを生成するように構成され得る。これは、分類器モデル内の増強決定株の使用(または含有)によってモバイルデバイスの処理またはバッテリーの資源の量を過剰に消費することなく達成され得る。すなわち、ネットワークサーバ116内に増強決定株を含む分類器モデルを生成し、これらの分類器/モデルをモバイルデバイス102に送信することによって、リーンモデル発生器モジュール402が、訓練データにアクセスすることなくまたはネットワークサーバ116もしくはクラウドネットワーク/サーバ118とさらに通信することなく、フル分類器モデル内に含まれる増強決定株の数を選別することによってモバイルデバイス102内にリーンな(またはより合焦された)分類器モデルをより迅速におよび効率的に生成することを、様々な態様が可能にする。これは、モバイルデバイスのネットワーク通信への依存を著しく低減し、さらに、モバイルデバイス102の性能および電力消費特性を改善する。
図5Aは、モバイルデバイス内のリーンなまたは合焦された分類器/挙動モデル(たとえば、モデル発生器モジュール402内で生成されたモデルなど)を生成する態様方法500を示す。方法500は、モバイルデバイス内の処理コアによって実行され得る。
方法500のブロック502において、処理コアは、有限状態機械、増強決定株のリストまたは他の同様の情報構造であるかまたはそれを含むフル分類器モデルを受信することができる。一態様では、フル分類器モデルは、複数の増強決定株を表示するのに好適な情報を含む有限状態機械、および/またはモバイルデバイスによる複数の増強決定株への変換に好適な情報を含む有限状態機械を含む。一態様では、有限状態機械は、増強決定株の順序付けられたリストまたは優先順位付けられたリストであり得る(またはそれを含むことができる)。増強決定株の各々は、試験条件および重み値を含むことができる。
上記で説明したように、増強決定株は、厳密に1つのノード(したがって1つの試験質問または試験条件)と重み値とを有し、したがってデータ/挙動の二項分類における使用に十分に好適な、1レベル決定木である。これは、特徴ベクトルまたは挙動ベクトルを増強決定株に適用することで、2値の答え(たとえば、はいまたはいいえ)がもたらされることを意味する。たとえば、増強決定株によって試験される質問/条件が「SMS送信の周波数が毎分x未満であるか」である場合、「3」の値を増強決定株に適用することで、(「3未満」のSMS送信に対して)「はい」の答えまたは(「3以上」のSMS送信に対して)「いいえ」の答えのいずれかがもたらされることになる。
図5Aに戻ると、方法500のブロック504において、処理コアは、モバイルデバイスの処理、メモリ、またはエネルギーの資源の量を過剰に消費することなく、モバイルデバイス挙動を悪性または良性のいずれかであるとして正確に分類するために評価されるべき特有の試験条件の数を決定することができる。これは、モバイルデバイス内で利用可能な処理、メモリ、および/またはエネルギーの資源の量、条件を試験するために必要なモバイルデバイスの処理、メモリ、またはエネルギーの資源の量を決定することと、条件を試験することによってモバイルデバイス内で分析または評価されるべき挙動または条件と関連付けられた優先度および/または複雑さを決定することと、モバイルデバイスの利用可能な処理、メモリ、またはエネルギーの資源の消費、条件を試験することによって達成されるべき挙動分類の正確さ、および条件によって試験される挙動の重要性または優先度の間のバランスをとるかまたは折り合いをつけるために特有の試験条件の数を選択/決定することとを含むことができる。
ブロック506において、処理コアは、特有の試験条件の決定された数を有する選択された試験条件のリストに追加する(populate)ために増強決定株のリストを最初からトラバースすることができる。一態様では、処理コアはまた、選択された試験条件の各々に対する絶対的または相対的な優先度値を決定し、選択された試験条件のリスト内のそれらの対応する試験条件に関連する絶対的または相対的優先度値を記憶することができる。
ブロック508において、処理コアは、選択された試験条件のうちの1つを試験するフル分類器モデル内に含まれるすべての増強決定株を含むリーン分類器モデルを生成することができる。一態様では、処理コアは、重要性または優先度の値の順番に増強決定株を含むかまたは表示するリーン分類器モデルを生成することができる。
随意のブロック510において、特有の試験条件の数は、ブロック506においてより大きい数の試験条件のために増強決定株のリストをトラバースする動作を反復すること、およびブロック508において別のリーン分類器モデルを生成することによって別のよりロバストな(すなわち、それほどリーンでない)リーン分類器モデルを生成するために増加され得る。これらの動作は、リーン分類器モデルのファミリーを生成するために反復され得る。
図5Bは、モバイルデバイス内でデータモデルを生成する別の態様方法511を示す。方法511は、モバイルデバイス内の処理コアによって実行され得る。方法511のブロック512において、処理コアは、有限状態機械を含むフル分類器モデルを受信することができる。有限状態機械は、複数の増強決定株への変換に好適な情報を含む情報構造であり得る。ブロック514において、処理コアは、フル分類器モデル内に含まれる有限状態機械を試験条件および重み値を含む増強決定株に変換することができる。
一態様では、処理コアはまた、ブロック512において有限状態機械から生成される増強決定株の各々に対する優先度値を計算または決定することができる。処理コアは、モバイルデバイスの処理、メモリ、またはエネルギーの資源の消費、挙動分類の正確さなどの間のトレードオフの均衡をとるために増強決定株の優先度を決定することができる。処理コアはまた、それらの関連付けられた重み値、挙動を正確に分類するための試験条件の相対的なまたは予測された重要性などに基づいて増強決定株の優先度を決定することができる。
同じく、ブロック512において、処理コアは、それらの優先度に従っておよび/またはそれらの重要性の順番に、有限状態機械から生成された増強決定株を含み、照合し、特定し、および/または編成する第1のリスト(または他の情報構造)を生成することができる。たとえば、処理コアは、第1の項目(item)として最高の優先度を有する株、それに続いて2番目に高い優先度値を有する株、以下同様、を含む順位リストとなる第1のリストを生成することができる。重要性のこの順番はまた、クラウドコーパスから集められる情報、ならびに選別アルゴリズムが実施されているデバイスに固有の情報を考慮に入れることができる。
ブロック516において、処理コアは、リーン分類器モデルを適用するときに評価されるべき特有の試験条件(すなわち、増強決定株内で試験され得るモバイルデバイスの状態、特徴、挙動、または条件)の数を計算または決定することができる。特有の試験条件のこの数を計算または決定することは、モデルを適用するのに必要なモバイルデバイスの処理、メモリ、またはエネルギーの資源の消費とリーン分類器モデルによって達成されるべき挙動分類の正確さの間のバランスをとるかまたは折り合いをつけることを伴うことがある。そのような決定は、モバイルデバイス内で利用可能な処理、メモリ、および/またはエネルギーの資源の量を決定することと、分析されるべき挙動と関連付けられた優先度および/または複雑さを決定することと、挙動の優先度および/または複雑さを用いて利用可能な資源の均衡をとることとを含むことができる。
ブロック518において、処理コアは、増強決定株の第1のリストを連続的にトラバースすることによって第2のリストを生成し、トラバースされた増強決定株の各々と関連付けられた試験条件を第2のリストに挿入することができる。処理コアは、第2のリストの長さが特有の試験条件の決定された数に等しくなるまで、または第2のリストがすべての決定された数の特有の試験条件を含むまで、第1のリストをトラバースすることおよび値を第2のリストに挿入することを継続することができる。
ブロック520において、処理コアは、第1のリスト内に含まれる増強決定株に基づいてリーン分類器モデルを生成することができる。一態様では、処理コアは、第2のリスト(すなわち、ブロック518において生成された試験条件のリスト)内に含まれる試験条件のうちの1つを試験する増強決定株だけを含むようにリーン分類器モデルを生成することができる。
随意のブロック522において、特有の試験条件の数は、ブロック518においてより大きい数の試験条件のために増強決定株のリストをトラバースする動作を反復すること、およびブロック520において別のリーン分類器モデルを生成することによって別のよりロバストな(すなわち、それほどリーンでない)リーン分類器モデルを生成するために増加され得る。これらの動作は、リーン分類器モデルのファミリーを生成するために反復され得る。
図5Cは、モバイルデバイスの挙動を分類するためにリーン分類器モデルを使用する態様方法524を示す。方法524は、モバイルデバイス内の処理コアによって実行され得る。
方法524のブロック526において、処理コアは、モバイルデバイスシステムの様々なレベルにおいて機器を装着された様々な構成要素から挙動情報を収集するために観測を実行することができる。一態様では、これは、図2を参照しながら上記で説明した挙動観測器モジュール202を介して達成され得る。ブロック528において、処理コアは、観測値、収集された挙動情報、および/またはモバイルデバイス挙動を特徴付ける挙動ベクトルを生成することができる。同じく、ブロック528において、処理コアは、リーン分類器モデルまたは変化するレベルの複雑さ(または「リーン性」)のリーン分類器モデルのファミリーを生成するために、ネットワークサーバから受信されたフル分類器モデルを使用することができる。これを達成するために、処理コアは、フル分類器モデル内に含まれる増強決定株のファミリーを選別して、低減された数の増強決定株を含むリーン分類器モデルおよび/または限られた数の試験条件を評価するリーン分類器モデルを生成することができる。
ブロック529において、処理コアは、モバイルデバイスによって未だ評価または適用されていないリーン分類器モデル(すなわち、最小数の異なるモバイルデバイスの状態、特徴、挙動、または条件に基づくモデル)のファミリー内の最もリーンな分類器を選択することができる。一態様では、これは、処理コアが分類器モデルの順位リスト内の第1の分類器モデルを選択することによって達成され得る。
ブロック530において、処理コアは、収集された挙動情報または挙動ベクトルを選択されたリーン分類器モデル内の増強決定株の各々に適用することができる。増強決定株は2値決定であり、リーン分類器モデルは同じ試験条件に基づく多くの2値決定を選択することによって生成されるので、リーン分類器モデル内の増強決定株に挙動ベクトルを適用するプロセスは、並列動作で実行され得る。代替として、ブロック530において適用される挙動ベクトルは、リーン分類器モデル内に含まれる限られた数の試験条件パラメータをちょうど含むように打ち切られるかまたはフィルタリングされ得、それによってモデルを適用することにおける計算量はさらに低減される。
ブロック532において、処理コアは、収集された挙動情報をリーン分類器モデル内の増強決定株の各々に適用した結果の加重平均を計算または決定することができる。ブロック534において、処理コアは、計算された加重平均としきい値とを比較することができる。判断ブロック535において、処理コアは、この比較の結果および/または選択されたリーン分類器モデルを適用することによって生成された結果が疑わしいかどうかを判断することができる。たとえば、処理コアは、これらの結果が、高度の信頼度で悪性または良性のいずれかであるとして挙動を分類するために使用され得るかどうかを判断し得、使用できない場合、挙動を疑わしいとして取り扱う。
結果が疑わしいと処理コアが判断する(たとえば、判断ブロック535=「はい」の)場合、処理コアは、挙動が高度の信頼度で悪性または良性であるとして分類されるまで、より多くのデバイスの状態、特徴、挙動、または条件を評価するより強い(すなわち、それほどリーンでない)分類器モデルを選択および適用するために、ブロック529〜534における動作を反復することができる。挙動が高度の信頼度で悪性または良性のいずれかであるとして分類され得ると判断することによるなど、結果が疑わしくない(たとえば、判断ブロック535=「いいえ」)と処理コアが判断する場合、ブロック536において、処理コアは、ブロック534において生成された比較の結果を使用して、良性であるまたは潜在的に悪性であるとしてモバイルデバイスの挙動を分類することができる。
図5Dに示す代替の態様方法540では、ブロック518および520を参照しながら上記で説明した動作は、リーン分類器モデル内に未だ存在しない増強決定株を連続的に選択することと、選択された決定株と同じモバイルデバイスの状態、特徴、挙動または条件に依存する(およびしたがって、1つの決定結果に基づいて適用され得る)すべての他の増強決定株を特定することと、同じモバイルデバイスの状態、特徴、挙動または条件に依存する選択されたおよびすべての特定された他の増強決定株をリーン分類器モデル内に含むことと、試験条件の決定された数に等しい数の回数に対してプロセスを反復することとによって達成され得る。選択された増強決定株と同じ試験条件に依存するすべての増強決定株が毎回リーン分類器モデルに追加されるので、このプロセスが実行される回数を限定することが、リーン分類器モデル内に含まれる試験条件の数を限定することになる。
図5Dを参照すると、ブロック542において、処理コアは、リーン分類器モデル内で評価されるべき特有の試験条件(すなわち、増強決定株内で試験され得るモバイルデバイスの状態、特徴、挙動、または条件)の数(N)を計算または決定することができる。特有の試験条件のこの数を計算または決定することは、モデルを適用するのに必要なモバイルデバイスの処理、メモリ、またはエネルギーの資源の消費と、リーン分類器モデルによって達成されるべき挙動分類の正確さとの間のバランスをとるかまたは折り合いをつけることを伴うことがある。そのような決定は、モバイルデバイス内で利用可能な処理、メモリ、および/またはエネルギーの資源の量を決定することと、分析されるべき挙動と関連付けられた優先度および/または複雑さを決定することと、挙動の優先度および/または複雑さを用いて利用可能な資源の均衡をとることとを含むことができる。
ブロック544において、処理コアは、ループカウント変数の値をゼロ(0)に等しくなるように設定するか、または場合によっては決定された回数のN回実行されるループを初期化することができる。ブロック546において、処理コアは、増強決定株のフルセット内に含まれるかもしくはそこから生成され、かつリーン分類器モデルのリスト内に含まれない増強決定株を選択することができる。ループを通る初回は、リーン分類器モデルのリスト内に増強決定株が存在しないので、第1の増強決定株が選択されることになる。本明細書で説明するように、フル分類器モデルは、フルセットにおける第1の増強決定株が悪性または良性の挙動を認識する最高の確立を有するように構成され得る。ブロック548において、処理コアは、選択された決定株と関連付けられた試験条件を決定することができる。ブロック550において、処理コアは、選択された決定株の試験条件と同じ試験条件に依存するか、それを含むか、または試験するフル分類器モデル内に含まれるかまたはそこから生成される決定株のすべてを特定することができる。ブロック552において、処理コアは、選択された増強決定株と、同じ試験条件に依存するか、それを含むかまたは試験する特定された増強決定株のすべてとをリーン分類器モデルのリストに追加することができる。
ブロック554において、処理コアは、ループカウント変数の値を増分することができる。判断ブロック556において、処理コアは、ループカウント変数の値がブロック542において決定された特有の試験条件の数N以上であるかどうかを判断することができる。ループカウント変数の値が特有の試験条件の数以上ではない(すなわち、判断ブロック556=「いいえ」)と処理コアが判断すると、処理コアは、ブロック546〜554における動作を反復することができる。ループカウント変数の値が特有の試験条件の数以上である(すなわち、判断ブロック556=「はい」)と処理コアが判断すると、ブロック558において、処理コアは、リーン分類器モデルのリスト内のすべての増強決定株を含むようにリーン分類器モデルを生成することができる。
この方法540は、リーン分類器モデル内の特有の試験条件の数Nを変えることによって、ロバスト性またはリーン性の程度を変化させるリーン分類器モデルのファミリーを生成するために回数を使用することができる。たとえば、随意のブロック560において、モバイルデバイスプロセッサは、より多くの試験条件を組み入れる別のリーン分類器モデルを生成するために、ブロック542において決定される特有の試験条件の数Nを増加することができる。随意の判断ブロック562において、プロセッサは、増加する数Nが試験条件の最大数(max N)を超えるかどうかを判断することができる。試験条件の最大数は、最大性能ペナルティまたは分類し難い挙動を評価するのに望ましい資源投資に基づいて(たとえば、開発者、サービスプロバイダ、ユーザによって、またはアルゴリズムを介して)決定され得る。増加した数Nが最大数max Nより小さい(すなわち、判断ブロック562=「いいえ」の)場合、上記で説明したブロック544〜560の動作が、別のリーン分類器モデルを生成するために反復され得る。特有の試験条件の最大数がリーン分類器モデル内に含まれる(すなわち、判断ブロック562=「はい」)と、リーン分類器モデルを生成するプロセスは終了する。
図5A、図5Bおよび図5Dは、増強決定株のフルセットをトラバースする全プロセスを反復することによってリーン分類器モデルのファミリーを生成することを説明しているが、同様の結果は、生成されたリーン分類器モデル(すなわち、ブロック508、520および558のいずれかにおいて生成されたモデル)から開始し、かつ追加された試験条件の数に対して増強決定株のフルセットをトラバースして、生成されたリーン分類器モデル内に未だ含まれていない試験条件に応じて増強決定株をそのモデルに追加することによって達成され得る。
同じく、図5A、図5Bおよび図5Dは最もリーンから最もロバストまでリーン分類器モデルのファミリーを生成することを説明しているが、リーン分類器モデルはまた、単に、試験条件の最大数(たとえば、N=max N)から開始し、かつ数を毎回減じることによって、最もロバストから最もリーンまで生成され得る。
図6Aは、サーバまたはクラウド内にフル分類器を生成する態様方法600を示す。方法600は、クラウドネットワークに結合されるサーバコンピューティングデバイス内の処理コアによって実行され得る。
ブロック602において、処理コアは、多数のデバイスの状態、構成および挙動、ならびに悪性の挙動が検出されたかどうかに関する情報を含む挙動データのコーパスを、多くのモバイルデバイスから集めることができる。ブロック604において、処理コアは、挙動データのコーパスから、デバイスの状態、構成、および挙動の中で試験され得る特定の2値の質問/試験条件を特定することができる。デバイスの状態、構成および挙動のすべてを特徴付けるために、多数のそのような2値の質問/試験条が、一般的に特定されることになる。次に、ブロック606において、特定された2値の質問の各々に対して、処理コアは、悪性の挙動が2値の質問に対する答えの一方または他方に該当した回数の割合またはパーセンテージを決定するためにデータベースを試験することができる。ブロック608において、処理コアは、該当のパーセンテージに基づいて決定された重み値を有する第1の決定株として、悪性の挙動への最高の該当を有する2値の質問を選択することができる。ブロック610において、処理コアは、図6Bを参照しながら以下で説明するように、誤分類されたサンプル/試験条件の重みを増強することができる。
次に、サーバの処理コアは、この場合に悪性の挙動への最高の該当を有する質問を特定するために、第1の質問の答えが悪性の挙動と関連付けられない値(たとえば、「いいえ」)であると仮定して2値の質問を走査するプロセスを反復することができる。次に、質問は、モデル内の第2の2値の質問として設定され、その重み値はその該当のパーセンテージに基づいて決定される。次に、サーバは、この場合に悪性の挙動への最高の該当を有する次の質問/試験条件を特定するために、第2の質問/試験条件の答えが悪性の挙動と関連付けられない値(たとえば、「いいえ」)であると仮定して2値の質問を走査するプロセスを反復する。次に、その質問/試験条件は、モデル内の第3の2値の質問/試験条件であり、その重み値はその該当のパーセンテージに基づいて決定される。このプロセスは、特定された2値の質問/試験条件のすべてを通して継続されて、完全なセットを構築する。
2値の質問/試験条件を生成するプロセスにおいて、サーバは、前の時間間隔内の通信の周波数または通信の数などの範囲を有するデータを評価し、挙動を分類するのを支援する形でその範囲を包含する一連の2値の質問/試験条件を策定することができる。したがって、1つの2値の質問/試験条件はデバイスが前の5分間に1つ以上のデータ送信を送信した(それは低い相関を有する)かどうかであってよく、第2の2値の質問/試験条件はデバイスが前の5分間に11以上のデータ送信を送信した(それは中間の相関を有する)かどうかであってよく、第3の2値の質問/試験条件はデバイスが前の5分間に101以上のデータ送信を送信した(それは高い相関を有する)かどうかであってよい。
悪性の挙動に対して決定された重みまたは相関がしきい値より小さい(たとえば、統計的有意に満たない)質問/試験条件を除去することなどのために、フル分類器セットがモバイルデバイスに送信される前に、質問/試験条件の最終のセットの何らかの選別が、サーバによって行われることがある。たとえば、悪性の挙動に対する相関が約50/50である場合、両方の答えは、現在の挙動が悪性であるかまたは良性であるかの質問に答えることを支援をしないので、その決定株を使用する利点はほとんどないことがある。
図6Bは、様々な態様に従って使用するのに好適な増強決定木/分類器を生成するために好適な例示的な増強方法620を示す。動作622において、プロセッサは、決定木/分類器を生成および/または実施し、決定木/分類器の実施によって訓練サンプルを収集し、訓練サンプルに基づいて新しい分類器モデル(h1(x))を生成することができる。訓練サンプルは、モバイルデバイス挙動、ソフトウェアアプリケーション、またはモバイルデバイス内のプロセスについての前の観測または分析から収集された情報を含むことができる。訓練サンプルおよび/または新しい分類器モデル(h1(x))は、前の分類器内に含まれる質問または試験条件のタイプに基づいて、ならびに/あるいは挙動分析器モジュール204の分類器モジュール208内の前のデータ/挙動モデルまたは分類器の実施/適用によって収集された正確さまたは性能特性に基づいて生成され得る。動作624において、プロセッサは、第2の新しい木/分類器(h2(x))を生成するために、生成された決定木/分類器(h1(x))によって誤分類されたエントリの重みを増強(または増加)することができる。一態様では、訓練サンプルおよび/または新しい分類器モデル(h2(x))は、分類器の前の実施または使用(h1(x))の誤り率に基づいて生成され得る。一態様では、訓練サンプルおよび/または新しい分類器モデル(h2(x))は、分類器の前の実施または使用においてデータポイントの誤り率または誤分類を引き起こしたと判断される属性に基づいて生成され得る。
一態様では、誤分類されたエントリは、それらの相対的な正確さまたは有効性に基づいて重み付けられ得る。動作626において、プロセッサは、第3の新しい木/分類器(h3(x))を生成するために、生成された第2の木/分類器(h2(x))によって誤分類されたエントリの重みを増強(または増加)することができる。動作628において、624〜626の動作が、新しい木/分類器(ht(x))の数「t」を生成するために反復され得る。
第1の決定木/分類器(h1(x))によって誤分類されたエントリの重みを増強または増加することによって、第2の木/分類器(h2(x))が、第1の決定木/分類器(h1(x))によって誤分類されたエントリをより正確に分類し得るが、第1の決定木/分類器(h1(x))によって正しく分類されたエントリのうちのいくつかを誤分類することもある。同様に、第3の木/分類器(h3(x))は、第2の決定木/分類器(h2(x))によって誤分類されたエントリをより正確に分類し得るが、第2の決定木/分類器(h2(x))によって正しく分類されたエントリのうちのいくつかを誤分類することもある。すなわち、木/分類器(h1(x))〜(ht(x))のファミリーを生成することは、全体として収束するシステムをもたらすのではなく、並列に実施され得るいくつかの決定木/分類器をもたらす。
図7は、モバイルデバイスの処理、メモリ、またはエネルギーの資源の量を過剰に消費することなく、アクティブに悪性であるもしくは不完全に記述されたソフトウェアアプリケーションおよび/または疑わしいもしくは性能を劣化させるモバイルデバイス挙動を、モバイルデバイス102上で知的におよび効率的に特定するために使用され得る増強決定株を含む分類器モデルを生成する例示的な方法700を示す。方法700の動作1において、ネットワークサーバ内のオフライン分類器が、クラウドサービス/ネットワークから受信された情報に基づいてフルのまたはロバストな分類器モデルを生成することができる。たとえば、フル分類器は、40の特有の条件を試験する100の増強決定株を含むことができる。方法700の動作2において、フル分類器モデルは、モバイルデバイス102内の分析器/分類器モジュール208に送信され得る。方法700の動作3において、分析器/分類器モジュール208は、フル分類器モデルを分析することに基づいて増強決定株の形態のリーンデータ/挙動モデル分類器のセットを生成することができる。これは、モバイルデバイスが、クラウド訓練データにアクセスする必要なしにオンザフライでリーンモデルを生成すること、分類の正確さを強化するためにアプリケーション当たりの分類器を動的に再構成すること、および各分類器に対して決定論的複雑さ(たとえば、O(株の#))を指定することを可能にする「連動した特徴選択および選別」動作を実行することによって達成され得る。「連動した特徴選択および選別」動作はまた、特徴選択動作を実行することを含むことができる。
図8は、モバイルデバイス内でリーン分類器モデルを生成するために、一態様のサーバプロセッサによって生成され、デバイスプロセッサによって使用され得る例示的な増強決定株800を示す。図8に示す例では、増強決定株800は、プロセッサによって実施または実行されると、断定的な2値の答え(たとえば、真または偽、悪性または良性など)のいずれかをもたらし得る質問または試験条件(たとえば、F1、F3、F5)をそれぞれ含む複数の決定ノードW1〜W4を含む。各決定ノードW1〜W4はまた、重み値と関連付けられ得る。
図8はまた、図7を参照しながら上記で説明した「連動した特徴選択および選別」動作を実行する方法802を示す。方法802は、2つの特有の条件を試験するリーン分類器を生成する必要があると判断するモバイルデバイスの分析器モジュールを含むことがあり、その場合、特徴選択動作は、第1の2つの特有の条件(たとえば、図8のF1およびF3)が発見されるまで100の増強決定株のリストをトラバースすることを含むことがある。次に、分析器/分類器モジュール208は、特徴選択動作(たとえば、F1およびF3)によって特定された条件だけを試験することができ、それは、100の増強決定株の全リストをトラバースして異なる条件(たとえば、F5)を試験する株を消去することによって達成され得る。残っている増強決定株(すなわち、条件「F1」および「F3」を試験する株)が、データを再訓練することなくリーン分類器として使用され得る。分析器/分類器モジュール208は、残っている増強決定株(すなわち、条件「F1」および「F3」を試験する株)の各々に挙動情報を適用し、残っている株から受信されたすべての答えの加重平均を計算し、加重平均を使用してモバイルデバイス挙動が悪性であるかまたは良性であるかを判断することができる。
増強決定株が特徴選択および選別プロセスを介して生成されると、選択された決定株は、現在のデバイスの状態、設定および挙動に対して比較され得る分類器または挙動モデルとして使用され得る。決定株は独立した2値の試験であるので、挙動ベクトルに要約され得る観測された挙動とモデルとを比較する挙動分析プロセスは、並列に実行され得る。同じく、株は非常に単純(基本的に2値)であるので、各株を実行するための処理は非常に単純であり、したがってより小さい処理オーバーヘッドで迅速に達成され得る。各決定株は、重み値を有する答えをもたらし、挙動が悪性であるかまたは良性であるかに関する最終的な決定が、同じく単純な計算である、すべての結果の加重和として決定され得る。
ノードと関連付けられた重みは、モバイルデバイス挙動、ソフトウェアアプリケーション、またはモバイルデバイス内のプロセスについての前の観測または分析から収集された情報に基づいて計算され得る。各ノードと関連付けられた重みはまた、データのコーパス(たとえば、データまたは挙動ベクトルのクラウドコーパス)のどれだけ多くのユニットが増強決定株を構築するために使用されるかに基づいて計算され得る。
図9は、一態様による、動的および適応的観測を実行するように構成されたコンピューティングシステムの挙動観測器モジュール202における例示的な論理構成要素および情報フローを示す。挙動観測器モジュール202は、適応フィルタモジュール902と、スロットルモジュール904と、観測器モードモジュール906と、高レベル挙動検出モジュール908と、挙動ベクトル発生器910と、セキュアバッファ912とを含み得る。高レベル挙動検出モジュール908は、空間相関モジュール914と時間相関モジュール916とを含み得る。
観測器モードモジュール906は、分析器ユニット(たとえば、図2を参照して上記で説明した挙動分析器モジュール204)および/またはアプリケーションAPIを含み得る様々なソースから制御情報を受信できる。観測器モードモジュール906は、様々な観測器モードに関する制御情報を適応フィルタモジュール902および高レベル挙動検出モジュール908に送ることができる。
適応フィルタモジュール902は、複数のソースからデータ/情報を受信し、受信された情報を知的にフィルタ処理し、受信された情報から選択された情報のより小さいサブセットを生成することができる。このフィルタは、分析器モジュールから、またはAPIを介して通信するより高いレベルのプロセスから受信された情報または制御に基づいて適合され得る。フィルタ処理された情報は、スロットルモジュール904に送られ得、スロットルモジュール904は、高レベル挙動検出モジュール908が要求または情報で氾濫するかまたは過負荷になることがないことを確実にするために、フィルタから流れる情報の量を制御する役割を果たすことができる。
高レベル挙動検出モジュール908は、スロットルモジュール904からのデータ/情報と、観測器モードモジュール906からの制御情報と、モバイルデバイスの他の構成要素からのコンテキスト情報とを受信できる。高レベル挙動検出モジュール908は、受信された情報を使用して空間相関および時間相関を実行し、準最適レベルで実行することをデバイスに行わせ得る高レベル挙動を検出または特定することができる。空間相関および時間相関の結果は、挙動ベクトル発生器910に送られ得、挙動ベクトル発生器910は相関情報を受信し、特定のプロセス、アプリケーション、またはサブシステムの挙動を記述する挙動ベクトルを生成することができる。一態様では、挙動ベクトル発生器910は、特定のプロセス、アプリケーション、またはサブシステムの各高レベル挙動が挙動ベクトルの要素であるように挙動ベクトルを生成できる。一態様では、生成された挙動ベクトルは、セキュアバッファ912内に記憶され得る。高レベル挙動検出の例は、特定の事象の存在、別の事象の量または頻度、複数の事象間の関係、事象が発生する順序、いくつかの事象の発生の間の時間差などの検出を含み得る。
様々な態様では、挙動観測器モジュール202は、適応的観測を実行し、観測の細分性を制御することができる。すなわち、挙動観測器モジュール202は、観測されるべき関連挙動を動的に特定し、特定された挙動が観測されるべき詳細さのレベルを動的に決定することができる。この方式では、挙動観測器モジュール202は、様々なレベル(たとえば、複数の粗いレベルおよび微細なレベル)においてシステムがモバイルデバイスの挙動をモニタすることを可能にする。挙動観測器モジュール202は、観測されているものにシステムが適応することを可能にすることができる。挙動観測器モジュール202は、多様なソースから取得され得る情報の集中的なサブセットに基づいて観測されているファクタ/挙動を、システムが動的に変更することを可能にすることができる。
上記で説明したように、挙動観測器モジュール202は、適応的観測技法を実行し、様々なソースから受信された情報に基づいて観測の細分性を制御することができる。たとえば、高レベル挙動検出モジュール908は、スロットルモジュール904、観測器モードモジュール906からの情報と、モバイルデバイスの他の構成要素(たとえば、センサー)から受信されたコンテキスト情報とを受信できる。一例として、時間相関を実行する高レベル挙動検出モジュール908は、カメラが使用されたことと、モバイルデバイスがピクチャをサーバへのアップロードを試みていることとを検出できる。高レベル挙動検出モジュール908はまた、デバイスがホルスターに入れられ、ユーザのベルトに取り付けられていた間にモバイルデバイス上のアプリケーションがピクチャを撮ったかどうかを判断するために、空間相関を実行できる。高レベル挙動検出モジュール908は、この検出された高レベル挙動(たとえば、ホルスターに入れたままでカメラを使用すること)が容認できるまたは一般的な挙動であるかどうかを判断し得、そのことは、モバイルデバイスの現在の挙動と過去の挙動とを比較することによって、および/または複数のデバイスから収集された情報(たとえば、クラウドソーシングサーバから受信された情報)にアクセスすることによって達成され得る。ホルスターに入れられている間にピクチャを撮り、それらをサーバにアップロードすることは、(ホルスターに入れられている状況で観測される通常の挙動から判断され得るように)異常な挙動であるので、この状況では、高レベル挙動検出モジュール908は、これを、潜在的に危険な(threatening)挙動と認識し、適切な対応(たとえば、カメラを遮断する、警報を鳴らすなど)を開始することができる。
一態様では、挙動観測器モジュール202は、複数の部分に実装され得る。
図10は、一態様の観測器デーモンを実装するコンピューティングシステム1000内の論理構成要素および情報フローをより詳細に示す。図10に示す例では、コンピューティングシステム1000は、ユーザ空間内に挙動検出器1002モジュール、データベースエンジン1004モジュールおよび挙動分析器モジュール204と、カーネル空間内にリングバッファ1014、フィルタルール1016モジュール、スロットリングルール1018モジュールおよびセキュアバッファ1020とを含む。コンピューティングシステム1000は、ユーザ空間内に挙動検出器1002およびデータベースエンジン1004と、カーネル空間内にセキュアバッファマネージャ1006、ルールマネージャ1008およびシステムヘルスモニタ1010とを含む観測器デーモンをさらに含み得る。
様々な態様は、システム挙動を特徴付けるためにwebkit、SDK、NDK、カーネル、ドライバ、およびハードウェアを包含する、モバイルデバイス上のクロスレイヤ観測を提供できる。挙動観測は、実時間で行われ得る。
観測器モジュールは、適応的観測技法を実行し、観測の細分性を制御することができる。上記で説明したように、モバイルデバイスの劣化に寄与する可能性のある多数(すなわち、数千)のファクタが存在し、デバイスの性能の劣化に寄与する可能性のある異なるファクタのすべてをモニタ/観測することは実現不可能である。これを克服するために、様々な態様は、観測されるべきである関連挙動を動的に特定し、特定された挙動が観測されるべき詳細さのレベルを動的に決定する。
図11は、一態様による、動的かつ適応的観測を実行するための例示的な方法1100を示す。ブロック1102で、モバイルデバイスプロセッサは、モバイルデバイスの劣化に寄与する可能性のある多数のファクタ/挙動のサブセットをモニタ/観測するとによって、粗い観測を実行できる。ブロック1103で、モバイルデバイスプロセッサは、粗い観測を特徴付ける挙動ベクトルおよび/または粗い観測に基づくモバイルデバイス挙動を生成できる。ブロック1104で、モバイルデバイスプロセッサは、モバイルデバイスの劣化に潜在的に寄与する可能性のある粗い観測に関連するサブシステム、プロセス、および/またはアプリケーションを特定できる。これは、たとえば、複数のソースから受信された情報とモバイルデバイスのセンサーから受信されたコンテキスト情報とを比較することによって達成され得る。ブロック1106で、モバイルデバイスプロセッサは、粗い観測に基づいて挙動分析動作を実行できる。態様では、ブロック1103および1104の一部として、モバイルデバイスプロセッサは、図2〜図10を参照して上記で説明した動作のうちの1つまたは複数を実行できる。
判断ブロック1108で、疑わしい挙動または潜在的問題が特定され、挙動分析の結果に基づいて修正され得るかどうかを、モバイルデバイスプロセッサが判断できる。疑わしい挙動または潜在的問題が特定され、挙動分析の結果に基づいて修正され得るとモバイルデバイスプロセッサが判断する(すなわち、判断ブロック1108=「Yes」)とき、ブロック1118で、プロセッサは、挙動を修正するためのプロセスを開始し、ブロック1102に戻って追加の粗い観測を実行することができる。
疑わしい挙動または潜在的問題が、挙動分析の結果に基づいて特定および/または修正され得ないとモバイルデバイスプロセッサが判断する(すなわち、判断ブロック1108=「No」)とき、判断ブロック1109で、モバイルデバイスプロセッサは、問題の可能性があるかどうかを判断できる。一態様では、モバイルデバイスプロセッサは、モバイルデバイスが潜在的問題に遭遇することおよび/または疑わしい挙動に関与することの確率を計算し、計算された確率が所定のしきい値よりも大きいかどうかを判断することによって、問題の可能性があるかどうかを判断できる。計算された確率が所定のしきい値よりも大きくない、ならびに/あるいは疑わしい挙動または潜在的問題が存在するおよび/または検出可能である可能性はないとモバイルデバイスプロセッサが判断する(すなわち、判断ブロック1109=「No」)とき、プロセッサは、ブロック1102に戻って追加の粗い観測を実行することができる。
疑わしい挙動または潜在的問題が存在するおよび/または検出可能である可能性があるとモバイルデバイスプロセッサが判断する(すなわち、判断ブロック1109=「Yes」)とき、ブロック1110で、モバイルデバイスプロセッサは、特定されたサブシステム、プロセスまたはアプリケーションに対して、よりディープなロギング/観測または最終のロギングを実行できる。ブロック1112で、モバイルデバイスプロセッサは、特定されたサブシステム、プロセスまたはアプリケーションに対して、よりディープでより詳細な観測を実行できる。ブロック1114で、モバイルデバイスプロセッサは、よりディープでより詳細な観測に基づいて、より広範および/またはよりディープな挙動分析を実行できる。判断ブロック1108で、モバイルデバイスプロセッサは、よりディープな挙動分析の結果に基づいて、疑わしい挙動または潜在的問題が特定され修正され得るかどうかを再び判断できる。よりディープな挙動分析の結果に基づいて疑わしい挙動または潜在的問題が特定され修正され得ないとモバイルデバイスプロセッサが判断する(すなわち、判断ブロック1108=「No」)とき、詳細さのレベルが問題を特定するのに十分に微細になるまで、または詳細さを追加しても問題が特定され得ないかまたは問題が存在しないと判断されるまで、プロセッサはブロック1110〜1114で動作を繰り返すことができる。
よりディープな挙動分析の結果に基づいて疑わしい挙動または潜在的問題が特定され修正され得るとモバイルデバイスプロセッサが判断する(すなわち、判断ブロック1108=「Yes」)とき、ブロック1118で、モバイルデバイスプロセッサは、問題/挙動を修正するための動作を実行し、プロセッサはブロック1102に戻って追加の動作を実行することができる。
一態様では、方法1100のブロック1102〜1118の一部として、モバイルデバイスプロセッサは、限定された粗い観測値から疑わしい挙動を特定するため、より詳細に観測するために挙動を動的に判断するため、および観測のために必要な詳細さの正確なレベルを動的に決定するために、システムの挙動の実時間挙動分析を実行できる。これは、デバイス上のプロセッサ、メモリまたはバッテリーのリソースを多量に使用する必要なしに、モバイルデバイスプロセッサが問題を効率的に特定し、問題が発生するのを防止することを可能にする。
上記で説明したように、様々な態様は、コンピューティングデバイスの性能、電力利用レベル、ネットワーク使用レベル、セキュリティおよび/またはプライバシーをしばしば経時的に劣化させる条件および挙動を効率的に特定、分類、モデリング、防止、および/または修正するために、挙動ベース技法および機械学習技法を使用する方法、およびその方法を実装するように構成されたコンピューティングデバイスを含む。これを達成するために、コンピューティングデバイスは、コンピューティングデバイス上で動作する1つまたは複数のソフトウェアアプリケーションの活動を(たとえば、ハードウェア、ドライバ、カーネル、NDK、SDK、および/またはWebkitのレベルにおいてAPIコールをモニタすることなどによって)モニタするステップと、1つまたは複数のソフトウェアアプリケーションのモニタされた活動の全部またはサブセットを特徴付ける挙動ベクトル情報構造(「挙動ベクトル」)を生成するステップと、挙動ベクトル情報構造分析結果を生成するために生成された挙動ベクトルを機械学習分類器モデル(「分類器モデル」)に適用するステップと、挙動ベクトル(およびしたがって、モニタされた活動と関連付けられたベクトルおよび/またはソフトウェアアプリケーションによって特徴付けられる活動)を良性または非良性として分類するために分析結果を使用するステップとを含み得る実時間挙動モニタリングおよび分析動作を実行することができる。
同じく上記で説明したように、様々な態様は、分類器モデルをコンピューティングデバイス内に生成する方法を含み、方法は、フル分類器モデルをサーバコンピューティングデバイスから受信するステップと、増強決定株のリストを(たとえば、フル分類器モデルに含まれる有限状態機械を試験条件および重み値などをそれぞれ含む複数の増強決定株に変換することによって)生成するためにフル分類器モデルを使用するステップと、増強決定株のリストに含まれる増強決定株に基づいてリーン分類器モデル(またはリーン分類器モデルのファミリー)を生成するステップとを含むことができる。コンピューティングデバイスは、その特定のコンピューティングデバイス内の挙動を分類することに最も関連すると判断された特徴など、フル分類器モデルに含まれる特徴のターゲットとされるサブセットを評価するために、これらのローカルに生成されたリーンな分類器モデルを使用することができる。いくつかの実施形態では、コンピューティングデバイスは、挙動ベクトル情報構造に含まれる挙動情報をリーン分類器モデルに含まれる増強決定株に適用するステップと、収集された挙動情報をリーン分類器モデル内の増強決定株の各々に適用した結果の加重平均を計算するステップと、モバイルデバイスの挙動が良性でないかどうかを判断するために加重平均としきい値とを比較するステップとを含む動作を実行することによってリーン分類器モデルを使用することができる。挙動ベクトルを分類器モデルに適用する前記別の方法は、ゼロ(0)と一(1)との間にある数値(P)の形態で分析結果を生成することができる。コンピューティングデバイスがどのように構成されるかに応じて、ゼロに近い値(たとえば、0.1)が、挙動ベクトルで表される挙動は良性であることを示すことができ、1に近い値(たとえば、0.9)が、挙動は良性でないことを示すことができる(または逆も成り立つ)。
モデルが良性または非良性のいずれかに分類することができない挙動(または挙動ベクトル)に遭遇するまでは、リーン分類器モデルのファミリーの中で最もリーンな分類器(すなわち、最も少ない決定ノードを含むかまたは最も少ない数の試験条件を評価するリーン分類器モデル)が常に適用されてよく、遭遇した時点において、よりロバストな(すなわち、よりリーンでない)リーン分類器モデルが、挙動を良性または悪性のいずれかに分類する試みにおいて選択および適用され得る。すなわち、資源を温存するために、コンピューティングデバイスプロセッサは、最初に挙動ベクトルを、利用可能なすべての特徴/ファクタの小さいサブセット(たとえば、20の特徴)を評価するリーン分類器モデル(「低減された特徴モデル」または「RFM」とも呼ばれるときもある)に適用することができ、次いで挙動が良性または非良性の一方であることをプロセッサが高度の信頼度で決定するまで(たとえば、結果として得られた数値Pが、下限しきい値よりも小さくなるかまたは上限しきい値より大きくなるまで)漸次より大きい分類器モデルを使用する。
たとえば、コンピューティングデバイスは、最初に挙動ベクトルを20の特徴を評価する分類器モデル(すなわち、RFM-20)に適用することができる。分析結果が第1のしきい値より低い(たとえば、P<0.1)場合、コンピューティングデバイスは、その挙動を高度の信頼度でかつさらなる分析なしに良性として分類することができる。同様に、分析結果が第2のしきい値より高い(たとえば、>0.9)場合、コンピューティングデバイスは、その挙動をさらなる分析なしに高度の信頼度で非良性として分類することができる。一方、分析結果が第1と第2のしきい値の間に入る(たとえば、P>=0.1||P<=0.9)とき、コンピューティングデバイスは、(十分に)高度な信頼度で挙動を良性または非良性として分類することはできない。この場合、コンピューティングデバイスは、新しい分析結果を生成するために挙動ベクトルをより大きい分類器モデル(たとえば、RFM-40または40の特徴を評価する分類器モデル)に適用し、上記で説明した動作を繰り返してもよい。コンピューティングデバイスは、挙動が高度の信頼度で良性であるまたは良性でないことを分析結果が示すまで(たとえば、P<0.1||P>0.9になるまで)これらの動作を繰り返してもよい。
上記で説明したシステムは概して有効であるが、数値(P)は、必ずしも真の確率値であるとは限らない。結果として、この数値(P)は、必ずしも挙動が良性であるまたは良性でない尤度を正確に表すとは限らない。これは、Pを計算するために、システムは、最初に
Figure 2018533105
などの式を使用して信頼性値(c)を計算することが必要であるからである。良性および非良性のアプリケーションの特徴的な挙動によって、この式を使用する信頼性値(c)は、非常に1に近いまたは非常に0に近い2つの極値のうちの1つの周りにクラスタ化する場合がある。結果として、上式の使用によって、2つの極値の周りに高度にクラスタ化された結果がもたらされる場合がある(すなわち、結果として得られたP値は非常に1に近いまたは非常に0に近い場合がある)。
これらの事実に鑑みて、コンピューティングデバイスは、正規化信頼性値(c^)を計算するためにシグモイドパラメータ(αおよびβ)を使用することと、挙動の評価を継続するかどうか(たとえば、よりロバストな分類器モデルを選択するかどうか、など)をより良く判断するために、挙動を良性または非良性として分類するために正規化信頼性値(c^)を使用することとを行うように構成され得る。
一態様では、コンピューティングデバイスは、式
Figure 2018533105
を使用して正規化信頼性値(c^)を計算するように構成され得る。
上式に示されているように、正規化信頼性値(c^)は、シグモイドパラメータαおよびβならびに生の信頼性値(c)によって定義され得る。コンピューティングデバイスは、正規化信頼性値(c^)を計算するために上式を実施するための動作を実行するように構成され得る。コンピューティングデバイスは、正規化信頼性値(c^)を使用して、より大きいまたはよりロバストな分類器モデルを選択するかどうか、または挙動が十分に高度な信頼度で良性または非良性として分類され得ることを現在の分析結果が示すかどうかを判断することができる。
正規化信頼性値(c^)を使用することによって、コンピューティングデバイスは、誤分類されるベクトルの数を低減すること、フォールスポジティブの数を低減すること、フォールスネガティブの数を低減すること、および挙動が疑わしいとして分類されてよりロバストな分類器モデルによるさらなる分析を必要とする回数を低減することができる。結果として、コンピューティングデバイスは、デバイス挙動をより正確かつ効率的に分類すること、挙動が良性であるかまたは良性でないかをより良く判断すること、より大きいまたはよりロバストな分類器モデルの選択および使用など、追加の分析がデバイス挙動のより正確な分類をもたらすことになるかどうかをより効率的に判断することができる。
いくつかの態様では、コンピューティングデバイスは、新しい分類器モデルをサーバコンピューティングデバイスから受信することと併せて、更新または改訂されたシグモイドパラメータαおよびβを受信するように構成され得る。いくつかの態様では、コンピューティングデバイスは、(たとえば、前の実行、挙動モデルの以前の適用、以前に決定された正規化信頼性値などから収集された)履歴情報、新しい情報、機械学習、コンテキストモデリング、および利用可能な情報、モバイルデバイス状態、環境条件、ネットワーク条件、モバイルデバイス性能、バッテリー消費レベルなどにおいて検出された変化に基づいて、シグモイドパラメータαおよびβをコンピューティングデバイス上でローカルに更新または改訂するように構成され得る。
いくつかの態様では、コンピューティングデバイスは、ローカルに更新または改訂されたシグモイドパラメータαおよびβをサーバコンピューティングデバイスに送信するように構成されてよく、サーバコンピューティングデバイスは、分類器モデルを更新するため、および/またはサーバ内の分類器モデルに対する新しいシグモイドパラメータαおよびβを生成するためにこれらのパラメータを(たとえば、パラメータを多くの他のデバイスから受信された他のシグモイドパラメータとともにクラウドソーシングすることによって)受信および使用することができる。そのようなフィードバック通信は、システムが改善された(たとえば、より正確な、より効率的な、など)挙動分類のためにそのモデルおよび動作を連続的に精細化および調整することを可能にする。
図12は、一態様による改善された挙動分類のために正規化信頼性値(c^)を使用する方法1200を示す。ブロック1202において、コンピューティングデバイスのプロセッサは、サーバコンピューティングデバイスからフル分類器モデルおよびシグモイドパラメータ(たとえば、αおよびβ)を受信することができる。一実施形態では、フル分類器モデルは、複数の増強決定株としての表示に好適な情報を含む有限状態機械を含むことができる。増強決定株の各々は試験条件および重み値を含んでよく、各試験条件は、挙動が良性および非良性の一方であるかどうかをコンピューティングデバイスが判断することをそれの関連する試験条件が可能にする尤度を特定する確率値と関連付けられてもよい。
ブロック1204おいて、プロセッサは、たとえば式
Figure 2018533105
を使用することによって受信されたシグモイドパラメータに基づいて正規化信頼性値を決定または計算することができる。
ブロック1206おいて、コンピューティングデバイスは、正規化信頼性値を使用してデバイス挙動を分類することができる。たとえば、一態様では、コンピューティングデバイスは、受信されたフル分類器モデルに含まれる有限状態機械を複数の増強決定株に変換することによって増強決定株のリストを生成すること、増強決定株のリストに含まれる増強決定株に基づいてリーン分類器モデルのファミリーを生成すること、分析結果を生成するために挙動ベクトルデータ/情報構造を分類器モデルのファミリー内の第1のリーン分類器モデルに適用すること、正規化信頼性値に基づいて新しい分析結果を生成するために挙動ベクトルデータ/情報構造を分類器モデルのファミリー内の第2のリーン分類器モデルに適用するかどうかを判断すること、および正規化信頼性値に基づいて、より強い分類器モデルの使用で挙動分類の正確さが高まることはないと判断することに応答して、生成された分析結果に基づいて挙動を良性または非良性の一方として分類することができる。
図13は、別の態様による改善された挙動分類のために正規化信頼性値(c^)を使用する方法1300を示す。ブロック1302おいて、コンピューティングデバイスのプロセッサは、サーバコンピューティングデバイスからフル分類器モデルおよびシグモイドパラメータを受信することができる。ブロック1304おいて、プロセッサは、受信されたフル分類器モデルに基づいてリーン分類器モデルを生成することができる。ブロック1306おいて、プロセッサは、受信されたシグモイドパラメータに基づいて正規化信頼性値を決定/計算することができる。ブロック1308おいて、プロセッサは、分析結果を生成するために挙動ベクトル情報構造をリーン分類器モデルに適用することができる。ブロック1310おいて、プロセッサは、コンピューティングデバイスの挙動が良性であるかまたは良性でないかを判断するために分析結果および正規化信頼性値を使用することができる。
図14は、さらに別の態様による改善された挙動分類のために正規化信頼性値(c^)を使用する方法1400を示す。ブロック1402おいて、コンピューティングデバイスのプロセッサは、サーバコンピューティングデバイスからフル分類器モデルおよびシグモイドパラメータを受信することができる。ブロック1404において、プロセッサは、受信されたフル分類器モデルに含まれる有限状態機械を複数の増強決定株に変換することによって増強決定株のリストを生成することができる。ブロック1406において、プロセッサは、増強決定株のリストに含まれる増強決定株に基づいてリーン分類器モデルのファミリーを生成することができる。ブロック1408において、プロセッサは、受信されたシグモイドパラメータに基づいてリーン分類器モデルのうちの1つまたは複数に対する1つまたは複数の正規化信頼性値を決定/計算することができる。たとえば、一態様では、プロセッサは、リーン分類器モデルのファミリー内のすべてのリーン分類器モデルに対して単一の正規化信頼性値を計算することができる。別の態様では、プロセッサは、リーン分類器モデルのファミリー内のリーン分類器モデルの各々に対して正規化信頼性値を計算することができる。
ブロック1410おいて、プロセッサは、分析結果を生成するために挙動ベクトル情報構造を分類器モデルのファミリー内の第1のリーン分類器モデルに適用することができる。ブロック1412において、プロセッサは、正規化信頼性値(たとえば、第1または第2のリーン分類器モデルと関連付けられた正規化信頼性値、など)に基づいて新しい分析結果を生成するために挙動ベクトル情報構造を分類器モデルのファミリー内の第2のリーン分類器モデルに適用するかどうかを判断することができる。
図15は、さらに別の態様による改善された挙動分類のために正規化信頼性値(c^)を使用する方法1500を示す。ブロック1502おいて、コンピューティングデバイスのプロセッサは、サーバコンピューティングデバイスからフル分類器モデルおよびシグモイドパラメータを受信することができる。ブロック1504おいて、プロセッサは、受信されたシグモイドパラメータに基づいて正規化信頼性値を決定/計算することができる。ブロック1506おいて、プロセッサは、新しい分析結果を生成するために挙動ベクトル情報構造を分類器モデルに適用することができる。ブロック1508において、プロセッサは、分析結果および/または決定された正規化信頼性値に基づいて受信されたシグモイドパラメータを更新または改訂することができる。ブロック1510おいて、プロセッサは、更新されたシグモイドパラメータをサーバコンピューティングデバイスに送信することができる。すなわち、ブロック1510において、コンピューティングデバイスは、ローカルに更新または改訂されたシグモイドパラメータαおよびβをサーバコンピューティングデバイスに送信することができ、サーバコンピューティングデバイスは、分類器モデルを更新するため、および/またはサーバ内の分類器モデルに対する新しいシグモイドパラメータαおよびβを生成するために、これらのパラメータを(たとえば、パラメータを多くの他のデバイスから受信された他のシグモイドパラメータとともにクラウドソーシングすることによって)受信および使用することができる。これは、システムが改善された(たとえば、より正確な、より効率的な、など)挙動分類のためにそのモデルおよび動作を連続的に精細化および調整することを可能にする。
図16は、さらに別の態様による改善された挙動分類のために正規化信頼性値(c^)を使用する方法1600を示す。ブロック1602おいて、コンピューティングデバイスのプロセッサは、サーバコンピューティングデバイスからフル分類器モデルおよびシグモイドパラメータを受信することができる。ブロック1604おいて、プロセッサは、受信されたシグモイドパラメータに基づいて正規化信頼性値を決定/計算することができる。随意のブロック1606おいて、プロセッサは、新しい分析結果を生成するために挙動ベクトル情報構造を分類器モデルに適用することができる。ブロック1608おいて、プロセッサは、更新されたシグモイドパラメータをサーバコンピューティングデバイスから受信することができる。ブロック1610おいて、プロセッサは、受信された更新されたシグモイドパラメータに基づいて新しい正規化信頼性値を決定/計算することができる。ブロック1612において、プロセッサは、たとえば分析結果を生成するために挙動ベクトル情報構造を分類器モデルに適用すること、新しい正規化信頼性値とともに以前に生成された分析結果を使用すること、新しい分析結果を生成するために別の挙動ベクトル情報構造を同じまたは異なる分類器モデルに適用することなどによって、新しい正規化信頼性値に基づいてコンピューティングデバイスの挙動を分類することができる。
様々な態様が、多様なコンピューティングデバイス上に実装され得、それらの一例が、スマートフォンの形で図17に示されている。スマートフォン1700は、内部メモリ1704と、ディスプレイ1706と、スピーカ1708とに結合されたプロセッサ1702を含み得る。加えて、スマートフォン1700は、プロセッサ1702に結合されたワイヤレスデータリンクおよび/またはセルラー電話/ワイヤレストランシーバ1712に接続され得る、電磁放射を送信および受信するためのアンテナ1710を含むことができる。スマートフォン1700は通常、ユーザ入力を受け取るためのメニュー選択ボタンまたはロッカースイッチ1714も含む。
一般的なスマートフォン1700はまた、マイクロフォンから受信された音をワイヤレス送信に適したデータパケットにデジタル化し、受信された音のデータパケットを復号し、スピーカに供給されるアナログ信号を生成して音を発生する音符号化/復号(CODEC)回路1716を含む。同じく、プロセッサ1702、ワイヤレストランシーバ1712およびCODEC 1716のうちの1つまたは複数は、デジタル信号プロセッサ(DSP)回路(個別に示されず)を含み得る。
態様の方法の一部は、態様の方法を実行している間にモバイルデバイスプロセッサによってアクセスされ得る正常動作挙動のデータベースを維持することなど、サーバ内で発生する処理のいくつかによって、クライアントサーバアーキテクチャ内で遂行され得る。そのような態様は、図18に示すサーバ1800のような、種々の市販のサーバデバイスのいずれにおいても実装され得る。そのようなサーバ1800は通常、揮発性メモリ1802と、ディスクドライブ1803のような大容量の不揮発性メモリとに結合された、プロセッサ1801を含む。サーバ1800はまた、プロセッサ1801に結合された、フロッピーディスクドライブ、コンパクトディスク(CD)またはDVDディスクドライブ1804も含み得る。サーバ1800はまた、他のブロードキャストシステムコンピュータおよびサーバに結合されたローカルエリアネットワークなど、ネットワーク1805とデータ接続を確立するための、プロセッサ1801に結合されたネットワークアクセスポート1806も含み得る。
プロセッサ1702、1801は、以下で説明する様々な態様の機能を含む、様々な機能を実施するためのソフトウェア命令(アプリケーション)によって構成され得る、任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、または1つもしくは複数の多重プロセッサチップであり得る。いくつかのモバイルデバイスでは、1つのプロセッサをワイヤレス通信機能専用にし、1つのプロセッサを他のアプリケーションの実行専用にするように、複数のプロセッサ1702を設けることができる。一般的には、ソフトウェアアプリケーションは、それらがアクセスされ、プロセッサ1702、1801にロードされる前に、内部メモリ1704、1802、1803内に記憶され得る。プロセッサ1702、1801は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含み得る。
「性能劣化」という用語は、本明細書では、長い処理時間、遅い実時間応答性、短いバッテリー寿命、個人データの喪失、悪性である経済活動(たとえば、無許可の報奨金のSMSメッセージを送信すること)、サービス拒否(DoS)、モバイルデバイスを乗っ取ることまたはスパイもしくはボットネット活動のために電話を利用することに関する動作など、多種多様な望ましくないモバイルデバイスの動作および特性を指すために使用される。
様々な態様の動作を遂行するためにプログラマブルプロセッサ上で遂行するためのコンピュータプログラムコードすなわち「プログラムコード」は、C、C++、C#、Smalltalk、Java(登録商標)、JavaScript(登録商標)、Visual Basic、Structured Query Language (たとえば、Transact-SQL)、Perlなどの高レベルプログラミング言語で、または様々な他のプログラミング言語で記述され得る。本出願で用いられるように、コンピュータ可読記憶媒体に記憶されるプログラムコードまたはプログラムは、そのフォーマットがプロセッサによって理解可能であるマシン言語コード(オブジェクトコードなど)を指すことがある。
多くのモバイルコンピューティングデバイスのオペレーティングシステムのカーネルは、(非特権コードが動作する場合)ユーザ空間内に編成され、(特権コードが動作する場合)カーネル空間内に編成される。この分離は、カーネル空間の一部であるコードがGPL許諾される必要がある一方で、ユーザ空間内で動作するコードがGPL許諾されなくてもよい、Android(登録商標)および他の一般公有使用許諾(GPL)環境において特に重要である。本明細書で説明する様々なソフトウェア構成要素/モジュールは、明示的に別段の記述がない場合、カーネル空間またはユーザ空間のいずれかに実装され得ることを理解されたい。
上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供したものであり、様々な態様のステップを提示された順序で実施しなければならないことを要求または暗示するものではない。当業者が諒解するように、上記の態様におけるステップの順序は、どのような順序で実施されてもよい。「その後」、「次いで」、「次」などの言葉は、ステップの順番を限定するものではなく、これらの言葉は単に、読者に本方法の説明を案内するために使用される。さらに、たとえば、冠詞「a」、「an」または「the」の使用による単数形での請求要素へのいかなる言及も、その要素を単数に限定するものとして解釈されるべきではない。
本出願で使用されるように、「構成要素」、「モジュール」、「システム」、「エンジン」、「発生器」、「マネージャ」などの用語は、限定はしないが、特定の動作または機能を実行するように構成された、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアなど、コンピュータ関連のエンティティを含むものとする。たとえば、構成要素は、プロセッサ上で作動しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであり得るが、これらに限定されない。例を挙げると、コンピューティングデバイス上で作動しているアプリケーションとコンピューティングデバイスの両方が、構成要素と呼ばれてよい。1つまたは複数のコンポーネントは、プロセスおよび/または実行スレッドの中に存在してよく、1つのコンポーネントは、1つのプロセッサまたはコアに局在してよく、かつ/または2つ以上のプロセッサまたはコアの間に分散してよい。加えて、これらの構成要素は、様々な命令および/またはデータ構造を記憶している様々な非一時的コンピュータ可読媒体から実行することができる。構成要素は、ローカルおよび/またはリモートプロセス、関数呼出しまたはプロシージャ呼出し、電子信号、データパケット、メモリ読出し/書込み、ならびに他の知られているネットワーク、コンピュータ、プロセッサ、および/または通信方法に関するプロセスによって通信できる。
本明細書で開示された態様に関して記載された、様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装することができる。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、特許請求の範囲からの逸脱を生じるものと解釈すべきではない。
本明細書で開示された態様に関して記載された様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別のハードウェアコンポーネント、または、本明細書に記載された機能を実行するように設計されたそれらの任意の組合せで、実装または実行され得る。汎用プロセッサは多重プロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPと多重プロセッサとの組合せ、複数の多重プロセッサ、DSPコアと連携する1つまたは複数の多重プロセッサ、あるいは任意の他のそのような構成として実装され得る。代替として、いくつかのステップまたは方法は、所与の機能に固有の回路によって実行され得る。
1つまたは複数の例示的な態様では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装することができる。機能は、ソフトウェアで実装される場合、1つまたは複数のプロセッサ実行可能命令またはコードとして、非一時的コンピュータ可読記憶媒体または非一時的プロセッサ可読記憶媒体に記憶され得る。本明細書で開示された方法またはアルゴリズムのステップは、非一時的コンピュータ可読またはプロセッサ可読の記憶媒体上に常駐できるプロセッサ実行可能ソフトウェアモジュール内で具現化することができる。非一時的コンピュータ可読記憶媒体またはプロセッサ可読記憶媒体は、コンピュータまたはプロセッサによってアクセスされ得る任意の記憶媒体であってよい。限定ではなく例として、そのような非一時的コンピュータ可読媒体またはプロセッサ可読媒体は、RAM、ROM、EEPROM、フラッシュメモリ、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーで光学的にデータを再生する。上記の組合せも非一時的コンピュータ可読媒体およびプロセッサ可読媒体の範囲内に含まれる。加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、非一時的プロセッサ可読媒体および/またはコンピュータ可読媒体上のコードおよび/または命令の、1つまたは任意の組合せ、またはそのセットとして存在し得る。
開示された態様の上記の説明は、任意の当業者が特許請求の範囲を製作または使用できるようになされている。これらの態様への様々な修正が当業者には容易に明らかであり、本明細書で定義された一般的な原理は、特許請求の範囲を逸脱することなく、他の態様に適用することができる。したがって、本開示は、本明細書で示された態様に限定されるものではなく、以下の特許請求の範囲ならびに本明細書で開示された原理および新規の特徴に合致する、最も広い範囲を与えられるべきである。
100 通信システム
102 モバイルデバイス
104 セル電話ネットワーク
106 セル基地局
108 ネットワーク運用センタ
110 インターネット
112 双方向ワイヤレス通信リンク
114 サーバ
116 ネットワークサーバ
118 クラウドサービスプロバイダネットワーク、クラウドサービス/ネットワーク
202 挙動観測器モジュール
204 挙動分析器モジュール
206 外部コンテキスト情報モジュール
208 分類器モジュール
210 アクチュエータモジュール
300 システム
302 クラウドモジュール
304 モデル発生器モジュール
306 訓練データモジュール
402 リーンモデル発生器モジュール
404 フルモデル発生器
700 方法
800 増強決定株
802 方法
902 適応フィルタモジュール
904 スロットルモジュール
906 観測器モードモジュール
908 高レベル挙動検出モジュール
910 挙動ベクトル発生器
912 セキュアバッファ
914 空間相関モジュール
916 時間相関モジュール
1000 コンピューティングシステム
1002 挙動検出器モジュール
1004 データベースエンジンモジュール
1006 セキュアバッファマネージャ
1008 ルールマネージャ
1010 システムヘルスモニタ
1014 リングバッファ
1016 フィルタルールモジュール
1018 スロットリングルールモジュール
1020 セキュアバッファ
1100 方法
1200 方法
1300 方法
1400 方法
1500 方法
1600 方法
1700 スマートフォン
1702 プロセッサ
1704 内部メモリ
1706 ディスプレイ
1708 スピーカ
1710 アンテナ
1712 ワイヤレストランシーバ
1714 ロッカースイッチ
1716 CODEC
1800 サーバ
1801 プロセッサ
1802 揮発性メモリ
1803 ディスクドライブ
1804 DVDディスクドライブ
1805 ネットワーク
1806 ネットワークアクセスポート

Claims (30)

  1. コンピューティングデバイス内の挙動を分析する方法であって、
    フル分類器モデルおよびシグモイドパラメータをサーバコンピューティングデバイスから前記コンピューティングデバイスのプロセッサ内で受信するステップと、
    前記シグモイドパラメータに基づいて正規化信頼性値を決定するステップと、
    前記正規化信頼性値に基づいて前記コンピューティングデバイスのデバイス挙動を分類するステップとを含む、方法。
  2. 前記フル分類器モデルに含まれる有限状態機械を増強決定株に変換することによって増強決定株のリストを生成するステップと、
    増強決定株の前記リストに含まれる前記増強決定株に基づいてリーン分類器モデルのファミリーを生成するステップとをさらに含み、
    前記正規化信頼性値に基づいて前記デバイス挙動を分類するステップが、
    分析結果を生成するために挙動ベクトル情報構造をリーン分類器モデルの前記ファミリー内の第1のリーン分類器モデルに適用するステップと、
    前記正規化信頼性値に基づいて新しい分析結果を生成するために前記挙動ベクトル情報構造をリーン分類器モデルの前記ファミリー内の第2のリーン分類器モデルに適用するかどうかを判断するステップとを含む、請求項1に記載の方法。
  3. 前記フル分類器モデルに基づいてリーン分類器モデルを生成するステップをさらに含み、前記正規化信頼性値に基づいて前記コンピューティングデバイスの前記デバイス挙動を分類するステップが、
    分析結果を生成するために挙動ベクトル情報構造を前記リーン分類器モデルに適用するステップと、
    前記コンピューティングデバイスの前記デバイス挙動が良性であるかまたは良性でないかを判断するために前記分析結果および前記正規化信頼性値を使用するステップとを含む、請求項1に記載の方法。
  4. 前記フル分類器モデルに基づいて前記リーン分類器モデルを生成するステップが、
    前記フル分類器モデルに含まれる有限状態機械を複数の増強決定株に変換することによって増強決定株のリストを生成するステップと、
    前記コンピューティングデバイスの処理、メモリまたはエネルギーの資源の量を過剰に消費することなく前記デバイス挙動を分類するために評価されるべき特有の試験条件の数を決定するステップと、
    増強決定株の前記リストを連続的にトラバースし、試験条件のリストが前記決定された数の特有の試験条件を含むまで、連続的にトラバースされた増強決定株の各々と関連付けられた試験条件を試験条件の前記リストに挿入することによって試験条件の前記リストを生成するステップと、
    試験条件の前記リストに含まれる複数の試験条件のうちの1つを試験する増強決定株だけを含むように前記リーン分類器モデルを生成するステップとを含む、請求項3に記載の方法。
  5. 前記コンピューティングデバイスの前記デバイス挙動が良性でないかどうかを判断するために前記挙動ベクトル情報構造を前記リーン分類器モデルに適用するステップが、
    前記挙動ベクトル情報構造に含まれる収集された挙動情報を前記リーン分類器モデルに含まれる複数の増強決定株の各々に適用するステップと、
    前記収集された挙動情報を前記リーン分類器モデルに含まれる前記複数の増強決定株の各々に適用した結果の加重平均を計算するステップと、
    前記加重平均としきい値とを比較するステップとを含む、請求項3に記載の方法。
  6. 前記正規化信頼性値に基づいて更新されたシグモイドパラメータを生成するステップと、
    前記更新されたシグモイドパラメータを前記サーバコンピューティングデバイスに送信するステップとをさらに含む、請求項1に記載の方法。
  7. 更新されたシグモイドパラメータを前記サーバコンピューティングデバイスから受信するステップと、
    前記サーバコンピューティングデバイスから受信された前記更新されたシグモイドパラメータに基づいて新しい正規化信頼性値を決定するステップと、
    前記新しい正規化信頼性値に基づいて前記コンピューティングデバイスの前記デバイス挙動を分類するステップとをさらに含む、請求項1に記載の方法。
  8. 前記フル分類器モデルおよび前記シグモイドパラメータを受信するステップが、前記コンピューティングデバイスの前記デバイス挙動が良性および非良性の一方であるかどうかを前記コンピューティングデバイスが判断することを試験条件が可能にする尤度を特定する確率値と関連付けられた重み値および前記試験条件をそれぞれ含む2つ以上の増強決定株として表現するのに適切な情報を含む有限状態機械を受信するステップを含む、請求項1に記載の方法。
  9. フル分類器モデルおよびシグモイドパラメータをサーバコンピューティングデバイスから受信するための手段と、
    前記シグモイドパラメータに基づいて正規化信頼性値を決定するための手段と、
    前記正規化信頼性値に基づいて前記コンピューティングデバイスのデバイス挙動を分類するための手段とを含む、コンピューティングデバイス。
  10. 前記フル分類器モデルに含まれる有限状態機械を増強決定株に変換することによって増強決定株のリストを生成するための手段と、
    増強決定株の前記リストに含まれる前記増強決定株に基づいてリーン分類器モデルのファミリーを生成するための手段とをさらに含み、
    前記正規化信頼性値に基づいて前記コンピューティングデバイスの前記デバイス挙動を分類するための手段が、
    分析結果を生成するために挙動ベクトル情報構造をリーン分類器モデルの前記ファミリー内の第1のリーン分類器モデルに適用するための手段と、
    前記正規化信頼性値に基づいて新しい分析結果を生成するために前記挙動ベクトル情報構造をリーン分類器モデルの前記ファミリー内の第2のリーン分類器モデルに適用するかどうかを判断するための手段とを含む、請求項9に記載のコンピューティングデバイス。
  11. 前記フル分類器モデルに基づいてリーン分類器モデルを生成するための手段をさらに含み、前記正規化信頼性値に基づいて前記デバイス挙動を分類するための手段が、
    分析結果を生成するために挙動ベクトル情報構造を前記リーン分類器モデルに適用するための手段と、
    前記コンピューティングデバイスの前記デバイス挙動が良性であるかまたは良性でないかを判断するために前記分析結果および前記正規化信頼性値を使用するための手段とを含む、請求項9に記載のコンピューティングデバイス。
  12. 前記フル分類器モデルに基づいて前記リーン分類器モデルを生成するための手段が、
    前記フル分類器モデルに含まれる有限状態機械を複数の増強決定株に変換することによって増強決定株のリストを生成するための手段と、
    前記コンピューティングデバイスの処理、メモリまたはエネルギーの資源の量を過剰に消費することなく前記デバイス挙動を分類するために評価されるべき特有の試験条件の数を決定するための手段と、
    増強決定株の前記リストを連続的にトラバースし、試験条件のリストが前記決定された数の特有の試験条件を含むまで、連続的にトラバースされた増強決定株の各々と関連付けられた試験条件を試験条件の前記リストに挿入することによって試験条件の前記リストを生成するための手段と、
    試験条件の前記リストに含まれる複数の試験条件のうちの1つを試験する増強決定株だけを含むように前記リーン分類器モデルを生成するための手段とを含む、請求項11に記載のコンピューティングデバイス。
  13. 前記デバイス挙動が良性でないかどうかを判断するために前記挙動ベクトル情報構造を前記リーン分類器モデルに適用するための手段が、
    前記挙動ベクトル情報構造に含まれる収集された挙動情報を前記リーン分類器モデルに含まれる複数の増強決定株の各々に適用するための手段と、
    前記収集された挙動情報を前記リーン分類器モデルに含まれる前記複数の増強決定株の各々に適用した結果の加重平均を計算するための手段と、
    前記加重平均としきい値とを比較するための手段とを含む、請求項11に記載のコンピューティングデバイス。
  14. 前記正規化信頼性値に基づいて更新されたシグモイドパラメータを生成するための手段と、
    前記更新されたシグモイドパラメータを前記サーバコンピューティングデバイスに送信するための手段とをさらに含む、請求項9に記載のコンピューティングデバイス。
  15. 更新されたシグモイドパラメータを前記サーバコンピューティングデバイスから受信するための手段と、
    前記更新されたシグモイドパラメータに基づいて新しい正規化信頼性値を決定するための手段と、
    前記新しい正規化信頼性値に基づいて前記コンピューティングデバイスの前記デバイス挙動を分類するための手段とをさらに含む、請求項9に記載のコンピューティングデバイス。
  16. 前記フル分類器モデルおよび前記シグモイドパラメータを受信するための手段が、前記コンピューティングデバイスの前記デバイス挙動が良性および非良性の一方であるかどうかを前記コンピューティングデバイスが判断することを試験条件が可能にする尤度を特定する確率値と関連付けられた重み値および前記試験条件をそれぞれ含む2つ以上の増強決定株として表現するのに適切な情報を含む有限状態機械を受信するための手段を含む、請求項9に記載のコンピューティングデバイス。
  17. フル分類器モデルおよびシグモイドパラメータをサーバコンピューティングデバイスから受信するステップと、
    前記シグモイドパラメータに基づいて正規化信頼性値を決定するステップと、
    前記正規化信頼性値に基づいて前記コンピューティングデバイスのデバイス挙動を分類するステップと
    を含む動作を実行するようにプロセッサ実行可能命令を用いて構成されたプロセッサを備える、コンピューティングデバイス。
  18. 前記プロセッサが、
    前記フル分類器モデルに含まれる有限状態機械を増強決定株に変換することによって増強決定株のリストを生成するステップと、
    増強決定株の前記リストに含まれる前記増強決定株に基づいてリーン分類器モデルのファミリーを生成するステップとをさらに含む動作を実行するようにプロセッサ実行可能命令を用いて構成され、前記正規化信頼性値に基づいて前記デバイス挙動を分類するステップが、
    分析結果を生成するために挙動ベクトル情報構造をリーン分類器モデルの前記ファミリー内の第1のリーン分類器モデルに適用するステップと、
    前記正規化信頼性値に基づいて新しい分析結果を生成するために前記挙動ベクトル情報構造をリーン分類器モデルの前記ファミリー内の第2のリーン分類器モデルに適用するかどうかを判断するステップとを含むような動作を実行するように、前記プロセッサがプロセッサ実行可能命令を用いて構成される、請求項17に記載のコンピューティングデバイス。
  19. 前記プロセッサが、前記フル分類器モデルに基づいてリーン分類器モデルを生成するステップをさらに含む動作を実行するようにプロセッサ実行可能命令を用いて構成され、
    前記正規化信頼性値に基づいて前記コンピューティングデバイスの前記デバイス挙動を分類するステップが、
    分析結果を生成するために挙動ベクトル情報構造を前記リーン分類器モデルに適用するステップと、
    前記コンピューティングデバイスの前記デバイス挙動が良性であるかまたは良性でないかを判断するために前記分析結果および前記正規化信頼性値を使用するステップとを含むような動作を実行するように、前記プロセッサがプロセッサ実行可能命令を用いて構成される、請求項17に記載のコンピューティングデバイス。
  20. 前記フル分類器モデルに基づいて前記リーン分類器モデルを生成するステップが、
    前記フル分類器モデルに含まれる有限状態機械を複数の増強決定株に変換することによって増強決定株のリストを生成するステップと、
    前記コンピューティングデバイスの処理、メモリまたはエネルギーの資源の量を過剰に消費することなく前記デバイス挙動を分類するために評価されるべき特有の試験条件の数を決定するステップと、
    増強決定株の前記リストを連続的にトラバースし、試験条件のリストが前記決定された数の特有の試験条件を含むまで、連続的にトラバースされた増強決定株の各々と関連付けられた試験条件を試験条件の前記リストに挿入することによって試験条件の前記リストを生成するステップと、
    試験条件の前記リストに含まれる複数の試験条件のうちの1つを試験する増強決定株だけを含むように前記リーン分類器モデルを生成するステップとを含むような動作を実行するように、前記プロセッサがプロセッサ実行可能命令を用いて構成される、請求項19に記載のコンピューティングデバイス。
  21. 前記コンピューティングデバイスの前記挙動が良性でないかどうかを判断するために前記挙動ベクトル情報構造を前記リーン分類器モデルに適用するステップが、
    前記挙動ベクトル情報構造に含まれる収集された挙動情報を前記リーン分類器モデルに含まれる複数の増強決定株の各々に適用するステップと、
    前記収集された挙動情報を前記リーン分類器モデルに含まれる前記複数の増強決定株の各々に適用した結果の加重平均を計算するステップと、
    前記加重平均としきい値とを比較するステップとを含むような動作を実行するように、前記プロセッサがプロセッサ実行可能命令を用いて構成される、請求項19に記載のコンピューティングデバイス。
  22. 前記プロセッサが、
    前記正規化信頼性値に基づいて更新されたシグモイドパラメータを生成するステップと、
    前記更新されたシグモイドパラメータを前記サーバコンピューティングデバイスに送信するステップとをさらに含む動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項17に記載のコンピューティングデバイス。
  23. 前記プロセッサが、
    更新されたシグモイドパラメータを前記サーバコンピューティングデバイスから受信するステップと、
    前記更新されたシグモイドパラメータに基づいて新しい正規化信頼性値を決定するステップと、
    前記新しい正規化信頼性値に基づいて前記コンピューティングデバイスの前記デバイス挙動を分類するステップとをさらに含む動作を実行するようにプロセッサ実行可能命令を用いて構成される、請求項17に記載のコンピューティングデバイス。
  24. 前記フル分類器モデルおよび前記シグモイドパラメータを受信するステップが、前記コンピューティングデバイスの前記デバイス挙動が良性および非良性の一方であるかどうかを前記プロセッサが判断することを試験条件が可能にする尤度を特定する確率値と関連付けられた重み値および前記試験条件をそれぞれ含む2つ以上の増強決定株として表現するのに適切な情報を含む有限状態機械を受信するステップを含むような動作を実行するように、前記プロセッサがプロセッサ実行可能命令を用いて構成される、請求項17に記載のコンピューティングデバイス。
  25. コンピューティングデバイスのプロセッサに、動作を実行させるように構成されたプロセッサ実行可能ソフトウェア命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記動作が、
    フル分類器モデルおよびシグモイドパラメータをサーバコンピューティングデバイスから受信するステップと、
    前記シグモイドパラメータに基づいて正規化信頼性値を決定するステップと、
    前記正規化信頼性値に基づいて前記コンピューティングデバイスのデバイス挙動を分類するステップとを含む、非一時的コンピュータ可読記憶媒体。
  26. 前記記憶されたプロセッサ実行可能命令が、
    前記フル分類器モデルに含まれる有限状態機械を増強決定株に変換することによって増強決定株のリストを生成するステップと、
    増強決定株の前記リストに含まれる前記増強決定株に基づいてリーン分類器モデルのファミリーを生成するステップとをさらに含む動作を前記プロセッサに実行させるように構成され、
    前記正規化信頼性値に基づいて前記コンピューティングデバイスの前記デバイス挙動を分類するステップが、
    分析結果を生成するために挙動ベクトル情報構造をリーン分類器モデルの前記ファミリー内の第1のリーン分類器モデルに適用するステップと、
    前記正規化信頼性値に基づいて新しい分析結果を生成するために前記挙動ベクトル情報構造をリーン分類器モデルの前記ファミリー内の第2のリーン分類器モデルに適用するかどうかを判断するステップとを含む、請求項25に記載の非一時的コンピュータ可読記憶媒体。
  27. 前記記憶されたプロセッサ実行可能命令が、前記フル分類器モデルに基づいてリーン分類器モデルを生成するステップをさらに含む動作を前記プロセッサに実行させるように構成され、
    前記正規化信頼性値に基づいて前記デバイス挙動を分類するステップが、
    分析結果を生成するために挙動ベクトル情報構造を前記リーン分類器モデルに適用するステップと、
    前記コンピューティングデバイスの前記デバイス挙動が良性であるかまたは良性でないかを判断するために前記分析結果および前記正規化信頼性値を使用するステップとを含むような動作を、前記記憶されたプロセッサ実行可能命令が前記プロセッサに実行させるように構成される、請求項25に記載の非一時的コンピュータ可読記憶媒体。
  28. 前記フル分類器モデルに基づいて前記リーン分類器モデルを生成するステップが、
    前記フル分類器モデルに含まれる有限状態機械を複数の増強決定株に変換することによって増強決定株のリストを生成するステップと、
    前記コンピューティングデバイスの処理、メモリまたはエネルギーの資源の量を過剰に消費することなく前記デバイス挙動を分類するために評価されるべき特有の試験条件の数を決定するステップと、
    増強決定株の前記リストを連続的にトラバースし、試験条件のリストが前記決定された数の特有の試験条件を含むまで、連続的にトラバースされた増強決定株の各々と関連付けられた試験条件を試験条件の前記リストに挿入することによって試験条件の前記リストを生成するステップと、
    試験条件の前記リストに含まれる複数の試験条件のうちの1つを試験する増強決定株だけを含むように前記リーン分類器モデルを生成するステップとを含むような動作を、前記記憶されたプロセッサ実行可能命令が前記プロセッサに実行させるように構成される、請求項27に記載の非一時的コンピュータ可読記憶媒体。
  29. 前記記憶されたプロセッサ実行可能命令が、
    前記正規化信頼性値に基づいて更新されたシグモイドパラメータを生成するステップと、
    前記更新されたシグモイドパラメータを前記サーバコンピューティングデバイスに送信するステップとをさらに含む動作を前記プロセッサに実行させるように構成される、請求項25に記載の非一時的コンピュータ可読記憶媒体。
  30. 前記記憶されたプロセッサ実行可能命令が、
    更新されたシグモイドパラメータを前記サーバコンピューティングデバイスから受信するステップと、
    前記更新されたシグモイドパラメータに基づいて新しい正規化信頼性値を決定するステップと、
    前記新しい正規化信頼性値に基づいて前記コンピューティングデバイスの前記デバイス挙動を分類するステップとをさらに含む動作を前記プロセッサに実行させるように構成される、請求項25に記載の非一時的コンピュータ可読記憶媒体。
JP2018506387A 2015-08-14 2016-07-08 モバイルデバイス挙動を分類するために正規化信頼性値を使用すること Pending JP2018533105A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/826,430 2015-08-14
US14/826,430 US10089582B2 (en) 2013-01-02 2015-08-14 Using normalized confidence values for classifying mobile device behaviors
PCT/US2016/041470 WO2017030672A1 (en) 2015-08-14 2016-07-08 Using normalized confidence values for classifying mobile device behaviors

Publications (1)

Publication Number Publication Date
JP2018533105A true JP2018533105A (ja) 2018-11-08

Family

ID=56511920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018506387A Pending JP2018533105A (ja) 2015-08-14 2016-07-08 モバイルデバイス挙動を分類するために正規化信頼性値を使用すること

Country Status (5)

Country Link
EP (1) EP3335160A1 (ja)
JP (1) JP2018533105A (ja)
CN (1) CN107924492A (ja)
TW (1) TW201710960A (ja)
WO (1) WO2017030672A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019139667A (ja) * 2018-02-15 2019-08-22 Kddi株式会社 通信分析方法およびシステムならびに通信端末およびそのアプリケーション

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109416878B (zh) * 2017-06-13 2022-04-12 北京嘀嘀无限科技发展有限公司 用于推荐预计到达时间的系统和方法
TWI658372B (zh) * 2017-12-12 2019-05-01 財團法人資訊工業策進會 異常行為偵測模型生成裝置及其異常行為偵測模型生成方法
CN108491720B (zh) * 2018-03-20 2023-07-14 腾讯科技(深圳)有限公司 一种应用识别方法、系统以及相关设备
CN109582776B (zh) * 2018-12-04 2021-07-09 北京羽扇智信息科技有限公司 模型的生成方法及装置、电子设备及存储介质
CN110298402A (zh) * 2019-07-01 2019-10-01 国网内蒙古东部电力有限公司 一种小目标检测性能优化方法
CN112131607B (zh) * 2020-09-25 2022-07-08 腾讯科技(深圳)有限公司 资源数据处理方法、装置、计算机设备和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130066815A1 (en) * 2011-09-13 2013-03-14 Research In Motion Limited System and method for mobile context determination
US9491187B2 (en) * 2013-02-15 2016-11-08 Qualcomm Incorporated APIs for obtaining device-specific behavior classifier models from the cloud
US9652362B2 (en) * 2013-12-06 2017-05-16 Qualcomm Incorporated Methods and systems of using application-specific and application-type-specific models for the efficient classification of mobile device behaviors

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019139667A (ja) * 2018-02-15 2019-08-22 Kddi株式会社 通信分析方法およびシステムならびに通信端末およびそのアプリケーション

Also Published As

Publication number Publication date
TW201710960A (zh) 2017-03-16
CN107924492A (zh) 2018-04-17
EP3335160A1 (en) 2018-06-20
WO2017030672A1 (en) 2017-02-23

Similar Documents

Publication Publication Date Title
JP6258970B2 (ja) モバイルデバイス挙動の効率的分類のために増強決定株ならびに連動した特徴選択および選別アルゴリズムを使用する方法およびシステム
US10089582B2 (en) Using normalized confidence values for classifying mobile device behaviors
JP6320532B2 (ja) モバイルデバイスの挙動の効率的な分類のためにアプリケーション固有のモデルおよびアプリケーションの種類に固有のモデルを使用する方法およびシステム
US9324034B2 (en) On-device real-time behavior analyzer
JP6235000B2 (ja) クライアントクラウド挙動アナライザのためのアーキテクチャ
US20160078362A1 (en) Methods and Systems of Dynamically Determining Feature Sets for the Efficient Classification of Mobile Device Behaviors
US20170046510A1 (en) Methods and Systems of Building Classifier Models in Computing Devices
US9578049B2 (en) Methods and systems for using causal analysis for boosted decision stumps to identify and respond to non-benign behaviors
US20170024660A1 (en) Methods and Systems for Using an Expectation-Maximization (EM) Machine Learning Framework for Behavior-Based Analysis of Device Behaviors
US20160232353A1 (en) Determining Model Protection Level On-Device based on Malware Detection in Similar Devices
JP2018533105A (ja) モバイルデバイス挙動を分類するために正規化信頼性値を使用すること

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180215