JP6235000B2 - クライアントクラウド挙動アナライザのためのアーキテクチャ - Google Patents

クライアントクラウド挙動アナライザのためのアーキテクチャ Download PDF

Info

Publication number
JP6235000B2
JP6235000B2 JP2015512657A JP2015512657A JP6235000B2 JP 6235000 B2 JP6235000 B2 JP 6235000B2 JP 2015512657 A JP2015512657 A JP 2015512657A JP 2015512657 A JP2015512657 A JP 2015512657A JP 6235000 B2 JP6235000 B2 JP 6235000B2
Authority
JP
Japan
Prior art keywords
mobile device
behavior
family
classifier
module
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.)
Expired - Fee Related
Application number
JP2015512657A
Other languages
English (en)
Other versions
JP2015525382A5 (ja
JP2015525382A (ja
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
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2015525382A publication Critical patent/JP2015525382A/ja
Publication of JP2015525382A5 publication Critical patent/JP2015525382A5/ja
Application granted granted Critical
Publication of JP6235000B2 publication Critical patent/JP6235000B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/128Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/37Managing security policies for mobile devices or for controlling mobile applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephone Function (AREA)

Description

関連出願
本出願は、参照によりそのすべての内容全体が、あらゆる目的のために本明細書に組み込まれる、2013年1月2日に出願した「Architecture for Client-Cloud Behavior Analyzer」と題する米国仮特許出願第61/748,220号の優先権の利益を主張する。
セルラー通信技術およびワイヤレス通信技術は、過去数年の間に爆発的な発展をとげてきた。この発展は、より優れた通信、ハードウェア、より大きいネットワーク、およびより信頼できるプロトコルによって促進されている。ワイヤレスサービスプロバイダは現在、向上し続ける多数の機能およびサービスを顧客に提供し、かつユーザがかつてない程度に情報、リソースおよび通信を利用するのを可能にすることができる。これらのサービス向上と歩調を合わせて、モバイル電子デバイス(たとえば、携帯電話、タブレット、ラップトップなど)は、これまでよりも強力かつ複雑になってきている。この複雑さは、悪性であるソフトウェア、ソフトウェアの衝突、ハードウェアの欠陥、および他の同様のエラーまたは現象が、モバイルデバイスの長期の継続的な性能および電力利用レベルに悪影響を与える新たな機会を生み出した。したがって、モバイルデバイスの長期の継続的な性能および電力利用レベルに悪影響を与える可能性がある条件および/またはモバイルデバイス挙動を特定して修正することは、消費者に対する便益である。
様々な態様は、挙動ベクトルのクラウドコーパスを記述するクラシファイアモデルの第1のファミリーを生成するために機械学習技法を適用するステップと、クラシファイアモデルの第1のファミリー内のどのファクタが、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスが最終的に判断することを可能にする高い確率を有するかを判断するステップと、判断されたファクタに基づいて、低減された数のファクタおよびデータポイントを、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスが最終的に判断することを可能にするのに適切であるものとして特定するクラシファイアモデルの第2のファミリーを生成するステップと、クラシファイアモデルの第2のファミリーに基づいてモバイルデバイスのクラシファイアモジュールを生成するステップとを含み得るデータモデルを、クライアントクラウド通信システム内に生成する方法を含む。
一態様では、挙動ベクトルのクラウドコーパスを記述するクラシファイアモデルの第1のファミリーを生成するために機械学習技法を適用するステップは、クラウドネットワークのサーバ内のディープなクラシファイア内にクラシファイアモデルの第1のファミリーを生成するステップを含み得る。さらなる態様では、クラシファイアモデルの第2のファミリーを生成するステップは、ネットワークサーバ内のリーンなクラシファイア内にクラシファイアモデルの第2のファミリーを生成するステップを含み得る。さらなる態様では、クラシファイアモデルの第2のファミリーを生成するステップは、モバイルデバイス内のリーンなクラシファイア内にクラシファイアモデルの第2のファミリーを生成するステップを含み得る。さらなる態様では、低減された数のファクタおよびデータポイントを、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスが最終的に判断することを可能にするのに適切であるものとして特定するクラシファイアモデルの第2のファミリーを生成するステップは、判断されたファクタを挙動ベクトルのクラウドコーパスに適用することによってクラシファイアモデルの第2のファミリーを生成するステップを含み得る。
さらなる態様は、挙動ベクトルのクラウドコーパスを記述するクラシファイアモデルの第1のファミリーを生成するために機械学習技法を適用するための手段と、クラシファイアモデルの第1のファミリー内のどのファクタが、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスが最終的に判断することを可能にする高い確率を有するかを判断するための手段と、判断されたファクタに基づいて、低減された数のファクタおよびデータポイントを、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスが最終的に判断することを可能にするのに適切であるものとして特定するクラシファイアモデルの第2のファミリーを生成するための手段と、クラシファイアモデルの第2のファミリーに基づいてモバイルデバイスのクラシファイアモジュールを生成するための手段とを有するサーバコンピューティングデバイスを含む。
一態様では、挙動ベクトルのクラウドコーパスを記述するクラシファイアモデルの第1のファミリーを生成するために機械学習技法を適用するための手段は、ディープなクラシファイア内にクラシファイアモデルの第1のファミリーを生成するための手段を含み得る。さらなる態様では、クラシファイアモデルの第2のファミリーを生成するための手段は、リーンなクラシファイア内にクラシファイアモデルの第2のファミリーを生成するための手段を含み得る。さらなる態様では、クラシファイアモデルの第2のファミリーを生成するための手段は、クラシファイアモデルの第1のファミリーと判断されたファクタとをモバイルデバイスに送信するための手段を含み得る。さらなる態様では、低減された数のファクタおよびデータポイントを、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスが最終的に判断することを可能にするのに適切であるものとして特定するクラシファイアモデルの第2のファミリーを生成するための手段は、判断されたファクタを挙動ベクトルのクラウドコーパスに適用することによってクラシファイアモデルの第2のファミリーを生成するための手段を含み得る。
さらなる態様は、挙動ベクトルのクラウドコーパスを記述するクラシファイアモデルの第1のファミリーを生成するために機械学習技法を適用するステップと、クラシファイアモデルの第1のファミリー内のどのファクタが、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスが最終的に判断することを可能にする高い確率を有するかを判断するステップと、判断されたファクタに基づいて、低減された数のファクタおよびデータポイントを、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスが最終的に判断することを可能にするのに適切であるものとして特定するクラシファイアモデルの第2のファミリーを生成するステップと、クラシファイアモデルの第2のファミリーに基づいてモバイルデバイスのクラシファイアモジュールを生成するステップとを含み得る動作を実行するために、プロセッサ実行可能命令で構成されたプロセッサを有するサーバコンピューティングデバイスを含む。
一態様では、挙動ベクトルのクラウドコーパスを記述するクラシファイアモデルの第1のファミリーを生成するために機械学習技法を適用するステップが、ディープなクラシファイア内にクラシファイアモデルの第1のファミリーを生成するステップを含み得るように、プロセッサがプロセッサ実行可能命令で構成され得る。さらなる態様では、クラシファイアモデルの第2のファミリーを生成するステップが、リーンなクラシファイア内にクラシファイアモデルの第2のファミリーを生成するステップを含み得るように、プロセッサがプロセッサ実行可能命令で構成され得る。さらなる態様では、クラシファイアモデルの第2のファミリーを生成するステップが、クラシファイアモデルの第1のファミリーと判断されたファクタとをモバイルデバイスに送信するステップを含み得るように、プロセッサがプロセッサ実行可能命令で構成され得る。さらなる態様では、低減された数のファクタおよびデータポイントを、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスが最終的に判断することを可能にするのに適切であるものとして特定するクラシファイアモデルの第2のファミリーを生成するステップが、判断されたファクタを挙動ベクトルのクラウドコーパスに適用することによってクラシファイアモデルの第2のファミリーを生成するステップを含み得るように、プロセッサがプロセッサ実行可能命令で構成され得る。
さらなる態様は、データモデルをクライアントクラウド通信システム内に生成するための動作をサーバプロセッサに実行させるように構成され得る、サーバ実行可能ソフトウェア命令を記憶した非一時的コンピュータ可読記憶媒体を含む。一態様では、動作は、挙動ベクトルのクラウドコーパスを記述するクラシファイアモデルの第1のファミリーを生成するために機械学習技法を適用するステップと、クラシファイアモデルの第1のファミリー内のどのファクタが、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスが最終的に判断することを可能にする高い確率を有するかを判断するステップと、判断されたファクタに基づいて、低減された数のファクタおよびデータポイントを、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスが最終的に判断することを可能にするのに適切であるものとして特定するクラシファイアモデルの第2のファミリーを生成するステップと、クラシファイアモデルの第2のファミリーに基づいてモバイルデバイスのクラシファイアモジュールを生成するステップとを含み得る。
一態様では、記憶されたサーバ実行可能ソフトウェア命令は、挙動ベクトルのクラウドコーパスを記述するクラシファイアモデルの第1のファミリーを生成するために機械学習技法を適用するステップが、クラウドネットワークのサーバ内のディープなクラシファイア内にクラシファイアモデルの第1のファミリーを生成するステップを含み得るような動作をサーバプロセッサに実行させるように構成され得る。さらなる態様では、記憶されたサーバ実行可能ソフトウェア命令は、クラシファイアモデルの第2のファミリーを生成するステップが、ネットワークサーバ内のリーンなクラシファイア内にクラシファイアモデルの第2のファミリーを生成するステップを含み得るような動作をサーバプロセッサに実行させるように構成され得る。さらなる態様では、記憶されたサーバ実行可能ソフトウェア命令は、クラシファイアモデルの第2のファミリーを生成するステップが、クラシファイアモデルの第1のファミリーと判断されたファクタとをモバイルデバイスに送信するステップを含み得るような動作をサーバプロセッサに実行させるように構成され得る。さらなる態様では、記憶されたサーバ実行可能ソフトウェア命令は、低減された数のファクタおよびデータポイントを、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスが最終的に判断することを可能にするのに適切であるものとして特定するクラシファイアモデルの第2のファミリーを生成するステップが、判断されたファクタを挙動ベクトルのクラウドコーパスに適用することによってクラシファイアモデルの第2のファミリーを生成するステップを含み得るような動作をサーバプロセッサに実行させるように構成され得る。
さらなる態様は、モバイルデバイスとサーバコンピューティングデバイスとを含むクライアントクラウド通信システムを含む。サーバプロセッサは、挙動ベクトルのクラウドコーパスを記述するクラシファイアモデルの第1のファミリーを生成するために機械学習技法を適用するステップと、クラシファイアモデルの第1のファミリー内のどのファクタが、モバイルデバイス挙動が悪性であるか良性であるかをモバイルデバイスが最終的に判断することを可能にする高い確率を有するかを判断するステップと、クラシファイアモデルの第1のファミリーと判断されたファクタとをモバイルデバイスに送信するステップとを含む動作を実行するように、サーバ実行可能命令で構成され得る。モバイルデバイスプロセッサは、判断されたファクタに基づいて、低減された数のファクタおよびデータポイントを、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスが最終的に判断することを可能にするのに適切であるものとして特定するクラシファイアモデルの第2のファミリーを生成するステップと、クラシファイアモデルの第2のファミリーに基づいてモバイルデバイスのクラシファイアモジュールを生成するステップとを含む動作を実行するように、プロセッサ実行可能命令で構成され得る。
さらなる態様は、観測値を生成するためにモバイルデバイス挙動をモニタするステップと、モバイルデバイス挙動が性能劣化させるか、良性であるか、または疑わしいかを判断するために観測値を初期の低減された特徴セットモデルに適用するステップと、モバイルデバイス挙動が疑わしいと判断されるときに精細化された観測値を生成するために追加のまたは異なるモバイルデバイス挙動をモニタするステップと、モバイルデバイス挙動が性能劣化させるかまたは良性であるかを判断するために精細化された観測値を後続の低減された特徴セットモデルに適用するステップとを含む、モバイルデバイス挙動を段階的に評価する方法を含む。
さらなる態様は、観測値を生成するためにモバイルデバイス挙動をモニタするための手段と、モバイルデバイス挙動が性能劣化させるか、良性であるか、または疑わしいかを判断するために観測値を初期の低減された特徴セットモデルに適用するための手段と、モバイルデバイス挙動が疑わしいと判断されるときに精細化された観測値を生成するために追加のまたは異なるモバイルデバイス挙動をモニタするための手段と、モバイルデバイス挙動が性能劣化させるかまたは良性であるかを判断するために、精細化された観測値を後続の低減された特徴セットモデルに適用するための手段とを有するモバイルコンピューティングデバイスを含む。
さらなる態様は、観測値を生成するためにモバイルデバイス挙動をモニタするステップと、モバイルデバイス挙動が性能劣化させるか、良性であるか、または疑わしいかを判断するために観測値を初期の低減された特徴セットモデルに適用するステップと、モバイルデバイス挙動が疑わしいと判断されるときに精細化された観測値を生成するために追加のまたは異なるモバイルデバイス挙動をモニタするステップと、モバイルデバイス挙動が性能劣化させるかまたは良性であるかを判断するために精細化された観測値を後続の低減された特徴セットモデルに適用するステップとを含む動作を実行するようにプロセッサ実行可能命令で構成されたプロセッサを含み得る動作を実行するようにプロセッサ実行可能命令で構成されたプロセッサを有するモバイルコンピューティングデバイスを含む。
さらなる態様は、モバイルデバイス挙動を段階的に評価するための動作をプロセッサに実行させるように構成されたプロセッサ実行可能ソフトウェア命令を記憶した非一時的コンピュータ可読記憶媒体を含む。動作は、観測値を生成するためにモバイルデバイス挙動をモニタするステップと、モバイルデバイス挙動が性能劣化させるか、良性であるか、または疑わしいかを判断するために観測値を初期の低減された特徴セットモデルに適用するステップと、モバイルデバイス挙動が疑わしいと判断されるときに精細化された観測値を生成するために追加のまたは異なるモバイルデバイス挙動をモニタするステップと、モバイルデバイス挙動が性能劣化させるかまたは良性であるかを判断するために、精細化された観測値を後続の低減された特徴セットモデルに適用するステップとを含み得る。
さらなる態様は、複数のモバイルデバイスから観測情報を受信し、複数のモバイルデバイスから受信された観測情報に基づいてクラウドネットワークのサーバ内の挙動分類のグローバルモデルを更新し、グローバルモデルに基づいてクラシファイアの第1のファミリーを生成するために機械学習動作を実行し、新しいモデルの生成を保証するのに十分な変化がクラシファイアの生成された第1のファミリーに対して存在するかどうかを判断し、クラシファイアの第1のファミリーに対して十分な変化が存在すると判断されるときに、クラシファイアの生成された第1のファミリー内のどの特徴が、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスプロセッサが最終的に判断することを可能にするために最良の特徴であるかを判断し、最良の特徴に基づいてクラシファイアの第2のファミリーを生成し、追加の新しいモデルの生成を保証するのに十分な変化がクラシファイアの生成された第2のファミリーに対して存在するかどうかを判断し、クラシファイアの第2のファミリーに対して十分な変化が存在すると判断されるときに追加のクラシファイアモデルを生成し、生成された追加のクラシファイアモデルをモバイルデバイスプロセッサに送る方法を含む。
さらなる態様は、複数のモバイルデバイスから観測情報を受信するための手段と、複数のモバイルデバイスから受信された観測情報に基づいて挙動分類のグローバルモデルを更新するための手段と、グローバルモデルに基づいてクラシファイアの第1のファミリーを生成するために機械学習動作を実行するための手段と、新しいモデルの生成を保証するのに十分な変化がクラシファイアの生成された第1のファミリーに対して存在するかどうかを判断するための手段と、クラシファイアの第1のファミリーに対して十分な変化が存在すると判断されるときに、クラシファイアの生成された第1のファミリー内のどの特徴が、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスプロセッサが最終的に判断することを可能にするために最良の特徴であるかを判断するための手段と、最良の特徴に基づいてクラシファイアの第2のファミリーを生成するための手段と、追加の新しいモデルの生成を保証するのに十分な変化がクラシファイアの生成された第2のファミリーに対して存在するかどうかを判断するための手段と、クラシファイアの第2のファミリーに対して十分な変化が存在すると判断されるときに追加のクラシファイアモデルを生成するための手段と、生成された追加のクラシファイアモデルをモバイルデバイスプロセッサに送るための手段とを含み得るサーバコンピューティングデバイスを含む。
さらなる態様は、複数のモバイルデバイスから観測情報を受信するステップと、複数のモバイルデバイスから受信された観測情報に基づいて挙動分類のグローバルモデルを更新するステップと、グローバルモデルに基づいてクラシファイアの第1のファミリーを生成するために機械学習動作を実行するステップと、新しいモデルの生成を保証するのに十分な変化がクラシファイアの生成された第1のファミリーに対して存在するかどうかを判断するステップと、クラシファイアの第1のファミリーに対して十分な変化が存在すると判断されるときに、クラシファイアの生成された第1のファミリー内のどの特徴が、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスプロセッサが最終的に判断することを可能にするために最良の特徴であるかを判断するステップと、最良の特徴に基づいてクラシファイアの第2のファミリーを生成するステップと、追加の新しいモデルの生成を保証するのに十分な変化がクラシファイアの生成された第2のファミリーに対して存在するかどうかを判断するステップと、クラシファイアの第2のファミリーに対して十分な変化が存在すると判断されるときに追加のクラシファイアモデルを生成するステップと、生成された追加のクラシファイアモデルをモバイルデバイスプロセッサに送るステップとを含み得る動作を実行するように、プロセッサ実行可能命令で構成されたプロセッサを含み得るサーバコンピューティングデバイスを含む。
さらなる態様は、複数のモバイルデバイスから観測情報を受信するステップと、複数のモバイルデバイスから受信された観測情報に基づいてクラウドネットワークのサーバ内の挙動分類のグローバルモデルを更新するステップと、グローバルモデルに基づいてクラシファイアの第1のファミリーを生成するために機械学習動作を実行するステップと、新しいモデルの生成を保証するのに十分な変化がクラシファイアの生成された第1のファミリーに対して存在するかどうかを判断するステップと、クラシファイアの第1のファミリーに対して十分な変化が存在すると判断されるときに、クラシファイアの生成された第1のファミリー内のどの特徴が、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスプロセッサが最終的に判断することを可能にするために最良の特徴であるかを判断するステップと、最良の特徴に基づいてクラシファイアの第2のファミリーを生成するステップと、追加の新しいモデルの生成を保証するのに十分な変化がクラシファイアの生成された第2のファミリーに対して存在するかどうかを判断するステップと、クラシファイアの第2のファミリーに対して十分な変化が存在すると判断されるときに追加のクラシファイアモデルを生成するステップと、生成された追加のクラシファイアモデルをモバイルデバイスプロセッサに送るステップとを含み得る動作をサーバコンピューティングデバイスに実行させるように構成されたプロセッサ実行可能命令を記憶した非一時的サーバ可読記憶媒体を含む。
さらなる態様は、モバイルデバイスとサーバとを含むクライアントクラウド通信システムを含む。サーバプロセッサは、複数のモバイルデバイスから観測情報を受信するステップと、複数のモバイルデバイスから受信された観測情報に基づいて挙動分類のグローバルモデルを更新するステップと、グローバルモデルに基づいてクラシファイアの第1のファミリーを生成するために機械学習動作を実行するステップと、新しいモデルの生成を保証するのに十分な変化がクラシファイアの生成された第1のファミリーに対して存在するかどうかを判断するステップと、クラシファイアの第1のファミリーに対して十分な変化が存在すると判断されるときに、クラシファイアの生成された第1のファミリー内のどの特徴が、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスプロセッサが最終的に判断することを可能にするために最良の特徴であるかを判断するステップと、最良の特徴に基づいてクラシファイアの第2のファミリーを生成するステップと、追加の新しいモデルの生成を保証するのに十分な変化がクラシファイアの生成された第2のファミリーに対して存在するかどうかを判断するステップと、クラシファイアの第2のファミリーに対して十分な変化が存在すると判断されるときに追加のクラシファイアモデルを生成するステップと、生成された追加のクラシファイアモデルを初期の低減された特徴セットモデルとしてモバイルデバイスプロセッサに送るステップとを含む動作を実行するように、サーバ実行可能命令で構成され得る。
モバイルデバイスプロセッサは、サーバから初期の低減された特徴セットモデルを受信するステップと、観測値を生成するためにモバイルデバイス挙動をモニタするステップと、モバイルデバイス挙動が性能劣化させるか、良性であるか、または疑わしいかを判断するために観測値を初期の低減された特徴セットモデルに適用するステップと、モバイルデバイス挙動が疑わしいと判断されるときに精細化された観測値を生成するために追加のまたは異なるモバイルデバイス挙動をモニタするステップと、モバイルデバイス挙動が性能劣化させるかまたは良性であるかを判断するために、精細化された観測値を後続の低減された特徴セットモデルに適用するステップと、精細化された観測値と精細化された観測値を適用した結果とを観測情報としてサーバに送るステップとを含む動作を実行するように、プロセッサ実行可能命令で構成され得る。
本明細書に組み込まれ、本明細書の一部をなす添付の図面は、本発明の例示的な態様を示し、上記の全般的な説明および下記の発明を実施するための形態とともに、本発明の特徴を説明するのに役立つ。
様々な態様において使用するのに好適な例示的な電気通信システムのネットワーク構成要素を示す通信システムのブロック図である。 特定のモバイルデバイス挙動、ソフトウェアアプリケーション、またはプロセスが性能劣化させるか、疑わしいか、または良性であるかを判断するように構成された一態様のモバイルデバイスにおける例示的な論理構成要素および情報フローを示すブロック図である。 アクティブに悪性であるかもしくは不完全に記述されたソフトウェアアプリケーション、および/または疑わしいかもしくは性能劣化させるモバイルデバイス挙動を特定するために、クラウドサービス/ネットワークと連動して働くように構成されたネットワークサーバを有する一態様のシステムにおける例示的な構成要素および情報フローを示すブロック図である。 完全な特徴モデルからの特徴およびデータポイントのサブセットを含む1つまたは複数の低減された特徴モデルを生成する一態様の方法を示すプロセスフロー図である。 1つまたは複数の低減された特徴モデルに基づいてリーンなモバイルデバイスのクラシファイアモデルを構築する、一態様のシステムの方法を示すプロセスフロー図である。 1つまたは複数の低減された特徴モデルに基づいてリーンなモバイルデバイスのクラシファイアモデルを構築する、一態様のシステムの方法を示すプロセスフロー図である。 モバイルデバイス挙動を段階的に評価する一態様の漸進的分析方法を示すプロセスフロー図である。 複数のモバイルデバイスから更新情報(update)を受信するように構成されたネットワークサーバを含む一態様のシステムにおける例示的な構成要素および情報フローを示すブロック図である。 複数のモバイルデバイスから受信された情報で継続的に更新される挙動ベクトルのクラウドコーパスからリーンなモバイルデバイスのクラシファイアモデルを構築する一態様のサーバ/システム方法を示すプロセスフロー図である。 複数のモバイルデバイスから受信された情報で継続的に更新される挙動ベクトルのクラウドコーパスからリーンなモバイルデバイスのクラシファイアモデルを構築する一態様のサーバ/システム方法を示すプロセスフロー図である。 一態様による、動的および適応的観測を実行するように構成された観測器モジュール内の例示的な論理構成要素および情報フローを示すブロック図である。 別の態様による、観測器デーモンを実装するコンピューティングシステム内の論理構成要素および情報フローを示すブロック図である。 モバイルデバイス上で適応的観測を実行するための一態様の方法を示すプロセスフロー図である。 一態様において使用するのに好適なモバイルデバイスの構成要素のブロック図である。 一態様において使用するのに好適なサーバデバイスの構成要素のブロック図である。
様々な態様について添付の図面を参照して詳細に説明する。可能な場合はどこでも、同じ参照番号は、図面全体を通して同じまたは同様の部分を指すために使用される。特定の例および実装形態に行われる参照は、説明を目的とし、本発明の範囲または特許請求の範囲を限定するものではない。
「例示的な」という言葉は、「例、事例、または例示として機能すること」を意味するように本明細書で使用される。本明細書に「例示的な」と記載されるいかなる実装形態も、必ずしも他の実装形態よりも好ましいか、または有利であると解釈されるべきではない。
いくつかの異なるセルラーおよびモバイル通信サービスおよび規格が利用可能であるか、または将来考えられ、それらのすべてが様々な態様を実装し、様々な態様から利益を受けることができる。そのようなサービスおよび規格は、たとえば、第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つまたはすべてを指すように、本明細書では交換可能に使用される。様々な態様は、限られたリソースを有し、バッテリーで動作する、スマートフォンなどのモバイルコンピューティングデバイスに対して特に有用であるが、これらの態様は、概して、プロセッサを含み、アプリケーションプログラムを実行する任意の電子デバイスにおいて有用である。
「性能劣化」という用語は、本明細書では、長い処理時間、短いバッテリー寿命、個人データの喪失、悪性である経済活動(たとえば、無許可の報奨金のSMSメッセージを送信すること)、スパイまたはボットネット活動などのためにモバイルデバイスを乗っ取ることまたは電話を利用することに関する動作など、多種多様な望ましくないモバイルデバイスの動作および特性を指すために使用される。
「システムオンチップ」(SOC)という用語は、単一の基板に統合された複数のリソースおよび/またはプロセッサを含む単一の集積回路(IC)チップを指すように本明細書で使用される。単一のSOCは、デジタル、アナログ、混合信号、および高周波機能のための回路を含み得る。単一のSOCは、任意の数の汎用および/または専用のプロセッサ(デジタル信号プロセッサ、モデムプロセッサ、ビデオプロセッサなど)、メモリブロック(たとえば、ROM、RAM、Flashなど)、およびリソース(たとえば、タイマー、電圧調整器、発振器など)も含み得る。SOCは、統合されたリソースおよびプロセッサを制御するための、また周辺デバイスを制御するためのソフトウェアも含み得る。
「マルチコアプロセッサ」という用語は、プログラム命令を読み取り、実行するように構成された2つ以上の独立した処理コア(たとえば、CPUコア)を含む単一の集積回路(IC)チップまたはチップパッケージを指すように本明細書で使用される。SOCは、複数のマルチコアプロセッサを含むことができ、SOCにおける各プロセッサは、コアと呼ばれ得る。「マルチプロセッサ」という用語は、本明細書では、プログラム命令を読み出して実行するように構成された2つ以上の処理ユニットを含むシステムまたはデバイスを指すために使用される。
概して、モバイルデバイスの性能および電力効率は、時間がたつにつれて劣化する。近年、アンチウイルス会社(たとえば、McAfee、Symantecなど)は、この劣化を遅くすることを狙いとするモバイル用アンチウイルス、ファイアウォール、および暗号化製品のマーケティングを開始した。しかしながら、これらの解法の多くは、モバイルデバイス上で計算負荷の大きいスキャニングエンジンを周期的に実行することに依存しており、そのことが、モバイルデバイスの処理およびバッテリーリソースの多くを消費し、モバイルデバイスを遅くさせるかまたはより長い時間期間の間使えなくさせ、および/または場合によってはユーザエクスペリエンスを劣化させる。加えて、これらの解法は、一般に、知られているウイルスおよびマルウェアの検出に限定され、複数の複雑なファクタおよび/または(たとえば、性能劣化がウイルスまたはマルウェアによって引き起こされない場合に)経時的なモバイルデバイスの劣化に寄与するようにしばしば結びつく相互作用に対処しない。これらのおよび他の理由によって、既存のアンチウイルス、ファイアウォールおよび暗号化製品は、経時的なモバイルデバイスの劣化に寄与することがある多くのファクタを特定するため、モバイルデバイスの劣化を予防するため、または経年劣化したモバイルデバイスをそれの初期状態に効率的に回復させるために十分な解法を提供していない。
コンピューティングデバイス上で実行されるプロセスまたはアプリケーションプログラムの挙動をモデル化するために、様々な解法が存在し、そのような挙動モデルは、コンピューティングデバイス上で悪性であるプロセス/プログラムと良性であるプロセス/プログラムとの間を区別するために使用され得る。しかしながら、これらの既存のモデリング解法は、概して、それらすべての量がモバイルデバイス上に十分にない、処理、メモリおよびエネルギーのリソースのかなりの量を消費する、計算負荷の大きいプロセスの実行を必要とするので、モバイルデバイス上での使用には適さない。加えて、これらの解法は、概して、個別のアプリケーションプログラムまたはプロセスの挙動を評価することに限定され、性能劣化するモバイルデバイス挙動の正確なまたは完全なモデルを提供しない。これらのおよび他の理由によって、既存のモデリング解法は、経時的なモバイルデバイスの劣化に寄与することがある多くのファクタを特定するため、モバイルデバイスの劣化を予防するため、または経年劣化したモバイルデバイスをそれの初期状態に効率的に回復させるためには十分でない。
様々な他の解法が、機械学習技法を使用することによって悪性であるソフトウェアを検出するために存在する。これらの解法は、一般に、クラウドベースのサーバ内のアプリケーションを介してソフトウェアアプリケーションまたはプロセスを分析する。そのような分析は、ソフトウェアアプリケーションの特徴を抽出するための数学的変換、および次いでその特徴を前に生成された機械学習モデル上で実行することから成ることがある。モデルの実行は、現在のアプリケーションの実行によって得られた新しい情報を用いて現在のモデルを更新することによって、現在のモデルを改良することを可能にする。
しかしながら、これらの解法の多くは、非常に大きいデータのコーパスを評価することを必要とするか、個別のアプリケーションプログラムまたはプロセスを評価することに限定されるか、またはモバイルデバイスにおいて計算負荷の大きいプロセスの実行を必要とするので、モバイルデバイス上の使用には適さない。たとえば、既存の解法は、数学的変換のアプリケーションから導出された特徴ベクトルを入力として取り出すモデルを導くために、訓練データのコーパスを個別のソフトウェアアプリケーションに適用することがある。しかしながら、そのような解法は、一般に、一度に単一のソフトウェアアプリケーションを分析するだけであり、性能劣化させるモバイルデバイス挙動の完全なモデルを分析しない。さらに、そのような解法は、挙動ベクトルの大きいコーパスを記述するクラシファイアモデルの第1のファミリーを生成することと、クラシファイアモデルの第1のファミリー内のどのファクタが、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスが最終的に判断することを可能にする最高の確率を有するかを判断することと、判断されたファクタに基づいてクラシファイアモデルの第2のファミリーを生成することとを行うために機械学習技法を適用することはない。同じく、そのような解法は、新しいまたは追加のデータ/挙動モデルの生成を保証するのに十分な変化が、クラシファイアの第1のファミリーと第2のファミリーに対して存在するかどうかを判断することはない。これらおよび他の理由によって、既存の機械学習技法は、近代的なモバイルデバイスの複雑ではあるがリソースを制約されたシステムにおける使用には十分に好適ではない。
不十分に設計されたソフトウェアアプリケーション、マルウェア、ウイルス、断片的メモリ、背景処理などを含め、モバイルデバイスの性能および電力利用のレベルの経時的な劣化に寄与することがある様々なファクタが存在する。しかしながら、近代的なモバイルデバイスの複雑さゆえに、そのような問題の原因を正確かつ効率的に特定すること、および/または特定された問題に対して十分な改善措置を提供することは、ユーザ、オペレーティングシステム、および/またはアプリケーションプログラム(たとえば、アンチウイルスソフトウェアなど)にとってますます困難となっている。結果として、モバイルデバイスの性能および電力利用のレベルにおける経時的な劣化を防止するため、または経年劣化したモバイルデバイスをそれの元の性能および電力利用のレベルに回復させるための改善措置を、モバイルデバイスユーザは、現在、ほとんど持っていない。
様々な態様が、モバイルデバイスの性能および/または電力利用のレベルをしばしば経時的に劣化させる条件および/またはモバイルデバイス挙動を効率的に特定し、分類し、モデリングし、防止し、および/または修正するためのネットワークサーバ、モバイルデバイス、システム、および方法を提供する。そのような条件および是正措置についての情報を「クラウド」などの中央データベースに記憶し、モバイルデバイスがこのデータベースに記憶されている情報にアクセスして使用することを可能にすることによって、様々な態様が、そのような分析のすべてが各モバイルデバイス内で独立に達成される場合よりもずっと速やかにかつ低電力消費で、性能を限定する望ましくない動作条件に対してモバイルデバイスが反応することを可能にする。
上述のように、モバイルデバイスは、比較的限定された処理、メモリおよびエネルギーのリソースを有する、リソースを制限されたシステムである。同じく、上述のように、近代的なモバイルデバイスは複雑なシステムであり、モバイルデバイスの劣化の原因または根源を適切に特定するために分析を必要とする数千の特徴/ファクタおよび数十億のデータポイントが存在することがある。これらの制約によって、近代的なモバイルデバイスの複雑でありながらリソースを制約されたシステムの性能および/または電力利用のレベルを劣化させることがある様々なプロセス、挙動、またはファクタ(またはそれらの組合せ)のすべてをモニタ/観測することは、しばしば実行可能ではない。
これらの事実を考慮してより良い性能を提供するために、様々な態様は、モバイルデバイスの性能および電力利用のレベルの経時的な劣化に寄与することがあるファクタを知的かつ効率的に特定するために、クラウドサービスまたはネットワークと連動して働くように構成されたモバイルデバイスおよびネットワークサービス(たとえば、アンチウイルスパートナー、セキュリティパートナーなど)を含む。様々な態様は、モバイルデバイスの処理、メモリまたはエネルギーのリソースの量を過剰に消費することなく、モバイルデバイスに対して性能を劣化させるファクタを特定できる。
一態様では、モバイルデバイスの観測プロセス、デーモン、モジュール、またはサブシステム(本明細書では総称的に「モジュール」と呼ぶ)が、モバイルデバイスシステムの様々なレベルにおける様々なアプリケーションプログラミングインターフェース(API)を取り付けるかまたは連携させ、取り付けられたAPIから挙動情報を収集することができる。一態様では、モバイルデバイスはまたアナライザモジュールを含み、アナライザモジュールは、1つまたは複数のクラシファイアモジュールおよび/または1つまたは複数のクラシファイアを含む1つのクラシファイアモジュールを生成することができる。観測器モジュールは、収集された挙動情報をモバイルデバイスのクラシファイアモジュールおよび/またはアナライザモジュールに、(たとえば、メモリ書込み動作、関数呼出しなどを介して)伝達でき、モバイルデバイスは、収集された挙動情報を分析および/または分類し、挙動ベクトルを生成し、挙動ベクトルおよび様々な他のモバイルデバイスサブシステムから収集された情報に基づいて空間相関および/または時間相関を生成し、特定のモバイルデバイス挙動、ソフトウェアアプリケーション、またはプロセスが良性であるか、疑わしいか、または悪性である/性能劣化させるかを判断することができる。
一態様では、アナライザモジュールおよび/またはクラシファイアモジュールは、モバイルデバイスのアナライザモジュールの中に、または一部として含まれ得る。一態様では、1つまたは複数のクラシファイアが、数千の特徴と数十億のエントリとを含み得る訓練データセットの関数として生成され得る。一態様では、1つまたは複数のクラシファイアが、特定のモバイルデバイス挙動、ソフトウェアアプリケーション、またはプロセスが良性であるか、疑わしいか、または悪性である/性能劣化させるかを判断するのに最も適切である特徴/エントリのみを含む、低減された訓練データセットから生成され得る。
一態様では、モバイルデバイスのアナライザモジュールおよび/またはクラシファイアモジュールは、モバイルデバイス挙動が良性であるか、疑わしいか、または悪性である/性能劣化させるかを判断するために、観測器モジュールによって収集された挙動情報にデータ、アルゴリズム、および/または挙動モデルを適用するステップを含み得る実時間分析動作を実行するように構成され得る。挙動が良性または悪性のいずれであるかを分類するまたは最終的に判断するのに十分な情報をクラシファイアが持たないとき、クラシファイアモジュールは、モバイルデバイス挙動が疑わしいと判断できる。
一態様では、デバイスの挙動が疑わしいとクラシファイアモジュールが判断するとき、モバイルデバイスのクラシファイアモジュールは、それの実時間分析動作の結果を観測器モジュールに伝達するように構成され得る。観測器モジュールは、それの観測の細分性(granularity)(すなわち、モバイルデバイス挙動が観測される詳細さ(detail)のレベル)の調節および/またはクラシファイアモジュールから受信された情報(たとえば、実時間分析動作の結果)に基づいて観測される挙動の変更を行い、新しいまたは追加の挙動情報を生成または収集し、かつさらなる分析/分類のために新しい/追加の情報をクラシファイアモジュールに送ることができる。
観測器モジュールとクラシファイアモジュールとの間のそのようなフィードバック通信(たとえば、クラシファイアモジュールがそれの実時間分析動作の結果を観測器モジュールに送ること、および観測器モジュールが更新された挙動情報をクラシファイアモジュールに送ること)は、疑わしいもしくは性能劣化させるモバイルデバイス挙動の原因が特定されるまで、処理もしくはバッテリー消費の閾値に到達するまで、または観測細分性をさらに増加させても疑わしいまたは性能劣化させるモバイルデバイス挙動の原因が特定され得ないとモバイルデバイスプロセッサが判断するまで、モバイルデバイスプロセッサが繰り返し、観測の細分性を増加させる(すなわち、より微細にまたはより詳細に観測する)ことまたは観測される特徴/挙動を変更することを可能にすることができる。そのようなフィードバック通信はまた、モバイルデバイスプロセッサが、モバイルデバイスの処理、メモリ、またはエネルギーのリソースの量を過剰に消費することなく、データ/挙動モデルをモバイルデバイス内でローカルに調節または修正することを可能にする。
様々な態様では、モバイルデバイスは、オフラインクラシファイアおよび/または実時間オンラインクラシファイアを含むネットワークサーバと通信するように構成され得る。オフラインクラシファイアは、クラウドサービス/ネットワークから受信された情報に基づいてロバストなデータ/挙動モデルを生成できる。実時間オンラインクラシファイアは、クラウドサービス/ネットワークから受信された情報から生成された、より大きくより複雑な挙動モデルを分析することに基づいてリーンなデータ/挙動モデルを生成できる。オンラインとオフラインのクラシファイアの両方は、特定のモバイルデバイスに対するクラウドサービス/ネットワークによって利用可能にされた、情報の低減されたサブセットを含むデータ/挙動モデルを生成できる。一態様では、リーンなデータ/挙動モデルを生成するステップは、1つまたは複数の低減された特徴モデル(RFM)を生成するステップを含み得る。
ネットワークサーバは、生成されたリーンなデータ/挙動モデルをモバイルデバイスに送ることができる。モバイルデバイスは、リーンなデータ/挙動モデルを受信して実装するか、適用するかまたは使用して、疑わしいまたは性能劣化させるモバイルデバイス挙動、ソフトウェアアプリケーション、プロセスなどを特定することができる。リーンなデータ/挙動モデルは、クラウドサービス/ネットワークによって利用可能にされた関連情報の低減されたサブセットを含むので、モバイルデバイスは、モバイルデバイスの処理、メモリ、またはエネルギーのリソースの量を過剰に消費することなく、モバイルデバイス挙動が悪性である/性能劣化させるか、または良性であるかを判断するために、リーンなデータ/挙動モデルを使用できる。次いで、モバイルデバイスは、特定された性能劣化させるモバイルデバイス挙動がモバイルデバイスの性能および電力利用のレベルを劣化させるのを修正または防止できる。
様々な態様では、ネットワークサーバは、機械学習技法および/またはコンテキストモデリング技法を実行すること、遂行すること、および/または多くのモバイルデバイスによって提供される挙動情報および/または挙動分析の結果に適用することによって、リーンなデータ/挙動モデルを生成または更新するように構成され得る。したがって、ネットワークサーバは、多数の報告を多くのモバイルデバイスから受信し、そのようなクラウドソース情報を分析し、統合整理し、場合によっては使用可能な情報に、特にすべてのモバイルデバイスによって使用またはアクセスされ得るリーンなデータセットまたは集中的挙動モデルに変化させることができる。ネットワークサーバは、新しい挙動/分析報告がモバイルデバイスから受信されるにつれて既存のリーンなデータ/挙動モデルを継続的に再評価すること、ならびに/あるいは(たとえば、前の遂行、挙動モデルの前の適用などから収集された)過去の(historical)情報、新しい情報、機械学習、コンテキストモデリング、および利用可能な情報、モバイルデバイス状態、環境条件、ネットワーク条件、モバイルデバイス性能、バッテリー消費レベルにおいて検出された変化などに基づいて新しいまたは更新されたリーンなデータ/挙動モデルを生成することができる。
一態様では、ネットワークサーバは、初期の特徴セット(たとえば、初期の低減された特徴モデル)と1つまたは複数の後続の特徴セット(たとえば、後続の低減された特徴モデル)とを含むために、リーンなデータ/挙動モデルを生成するように構成され得る。初期の特徴セットは、特定のモバイルデバイス挙動、ソフトウェアアプリケーション、またはプロセスが悪性である/性能劣化させるかまたは良性であるかをモバイルデバイスのクラシファイアモジュールが最終的に判断することを可能にする最高の確率を有するように判断された情報を含み得る。後続の各特徴セットは、モバイルデバイス挙動、ソフトウェアアプリケーション、またはプロセスが悪性である/性能劣化させるかまたは良性であることを最終的に判断する、最高に次ぐ確率を有するように判断された情報を含み得る。後続の各特徴セットは、それの前の特徴セットよりも大きいデータセットを含み得、したがってデータ/挙動モデルを適用することに関連する性能および電力消費のコストは、後続の各特徴セットに対して漸次増加する。
一態様では、モバイルデバイスのクラシファイアモジュールは、モバイルデバイスプロセッサがモバイルデバイス挙動を段階的に評価することを可能にする漸進的挙動モデル(またはクラシファイア)を含むかまたは実装することができる。たとえば、クラシファイアモジュールは、最初に初期の特徴セットを含むリーンなデータ/挙動モデルを適用し、次いで、モバイルデバイス挙動が良性であるまたは悪性である/性能劣化させることをクラシファイアモジュールが判断するまで漸次大きくなる特徴セットを含むモデルを適用するように構成され得る。次いで、クラシファイアモジュールは、それの動作の結果、および/または各モデルのアプリケーションに関連する成功率をネットワークサーバに送ることができる。ネットワークサーバは、リーンなデータ/挙動モデル(たとえば、各モデル内に含まれる特徴セットなど)を更新するためにそのような結果を使用し、それにより、報告されたすべてのモバイルデバイスの結果/成功率に基づいてデータおよび/またはモデルを精細化することができる。次いで、ネットワークサーバは、更新されたリーンなデータ/挙動モデルをモバイルデバイスに対して利用可能にし、それによりモバイルデバイスがリーンなデータ/挙動モデルへのアクセスを有することができる。この方式では、モバイルデバイスは、他のモバイルデバイスの挙動および結論から瞬時に利益を得ることができる。
一態様では、ネットワークサーバは、オンラインおよびオフラインクラシファイア、モデル発生器、および/またはクラウドモデルを継続的に更新するように構成され得る。ネットワークサーバは、変化が新しいモデルの生成を保証するのに実質的に十分であるときと、変化が無視され得るときとを知的に判断するように構成され得る。たとえば、ネットワークサーバは、多くの異なるモバイルデバイスから更新情報を受信し、クラシファイアの第1のファミリーを生成するために機械学習動作を実行し、クラシファイアの生成された第1のファミリーに対して、新しいモデルの生成を保証するのに十分な変化が存在するかどうかを判断し、クラシファイアの第1のファミリーに対して十分な変化が存在すると判断されるとき、クラシファイアの生成された第1のファミリー内のどの特徴が(たとえば、特徴選択アルゴリズムを介して)最良の特徴であるかを判断し、最良の特徴に基づいてクラシファイアの第2のファミリーを生成し、クラシファイアの生成された第2のファミリーに対して十分な変化が存在するかどうかを判断し、クラシファイアの第2のファミリーに対して十分な変化が存在すると判断されるとき、モバイルデバイスのクラシファイアのデータ/挙動モデルを生成/更新することができる。
様々な態様は、クラウド内のディープなクラシファイアと、モバイルデバイス上のオンライン実時間電力効率のよい実施のためのリーンなクラシファイアとを含む、クライアントクラウドシステムとネットワークアーキテクチャとを含み得る。一態様では、リーンなクラシファイアは、ディープなクラシファイアよりも(たとえば、評価されるファクタの数、処理時間などに関して)1桁以上小さくなり得る。たとえば、一態様のクライアントクラウドシステムは、500のファクタを評価するディープなクラシファイアと、50のファクタを評価するリーンなクラシファイアとを含み得る。同様に、一態様のクライアントクラウドシステムは、5000億のデータポイントを評価するディープなクラシファイアと、500億のデータポイントを評価するリーンなクラシファイアとを含み得る。
収集された挙動情報に対してクラシファイアまたはデータ/挙動モデルを遂行/適用することの各々は、既存のおよび将来のクラシファイアおよびデータ/挙動モデルを改良するのに好適な情報を提供できる。たとえば、モバイルデバイス上に収集された挙動情報にデータ/挙動モデルを適用した結果が、1Mbpsを超えるネットワーク使用を悪性であるとして特定し、モニタされたプロセスがネットワークリソースの1.5Mbpsを消費しているとモバイルデバイスが判断する場合、システムは、実際のモデルを変更することなく、悪性であるものとプロセスにラベル付けし、適応されるモデルを強化する(たとえば、モデルの正確さに与えられる重みを増加するなど)ことができる。別の例として、ネットワークリソースの0.5Mbpsを消費しているアプリケーションが(他の属性によって)悪性であるとモバイルデバイスが判断する場合、システムは、元のクラウドモデル、リーンモデル、または両方を修正するために閾値を0.9Mbpsに引き下げ得る。
様々な態様は、モバイルデバイス挙動の段階的評価を可能にするクラシファイアの漸進的モデルを適用するように構成されたモバイルデバイスを含み得る。
様々な態様は、新しい観測値に基づいてクラウド内のグローバルモデルを更新し、十分な(enough/sufficient)変化が存在するときにモバイルデバイスのモデルを更新するのに好適なシステムを含み得る。
様々な態様は、図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から受信された情報を使用してリーンなデータ/挙動モデルを更新もしくは精細化すること、または分類/モデリング情報を使用してさらに標的化および/または低減される特徴のサブセットを含むことができる。
図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は、モバイルデバイス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は、完全な特徴モデル(たとえば、クラウドモジュール302などの中で生成されたモデル)内に含まれる特徴およびデータポイントのサブセットを含むために1つまたは複数の低減された特徴モデル(RFM)を生成する、一態様の方法400を示す。様々な態様では、方法400は、クラウドモジュール302、モデル発生器304、クラシファイアモジュール208、またはそれらの任意の組合せにおいて実行され得る。ブロック402で、プロセッサは、クラウドサービス/ネットワーク118から受信されたデータの大きいコーパス(たとえば、数10億のデータポイント、数千の特徴など)から決定木(または他の同様の構造)を構築するために分類アルゴリズムを実行できる。一態様では、分類アルゴリズムは、増強決定木(BDT)アルゴリズムまたは任意の他の同様の分類アルゴリズムもしくは意思決定アルゴリズムを含み得る。
ブロック404で、プロセッサは、決定木または決定構造から初期の低減された特徴セット(たとえば、RFM0)を生成できる。初期の低減された特徴セット(たとえば、RFM0)は、特定のモバイルデバイス挙動が悪性であるかまたは良性であるかをクラシファイアモジュールが最終的に判断することを可能にする最高の確率を有するように決定された情報を含み得る。ブロック406で、プロセッサは、モバイルデバイス挙動が悪性であるかまたは良性であるかを最終的に判断する、最高に次ぐ確率を有するように決定された情報を含むために、決定木または決定構造から後続の低減された特徴セット(たとえば、RFM1)を生成できる。ブロック408で、プロセッサは、決定木または決定構造から追加の後続の特徴セット(たとえば、RFMn)を生成できる。
後続の各特徴セット(たとえば、RFM1〜RFMn)は、それの先行する特徴セットよりも大きいデータセットを含み得る。たとえば、決定木または決定構造が千(1000)の関連ファクタを特定した場合、初期の低減された特徴セット(たとえば、RFM0)は、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスのクラシファイアモジュールが最終的に判断することを可能にする最高の確率を有するように決定された五十(50)のファクタを含み得る。第1の後続の低減された特徴セット(たとえば、RFM1)は次の百(100)のファクタを含み得、後続の低減された特徴セット(たとえば、RFMn)は残りの八百五十(850)のファクタを含み得る。
図5Aは、1つまたは複数の低減された特徴モデル(RFM)に基づいてリーンなモバイルデバイスのクラシファイアモデルを構築する、一態様のシステムの方法500を示す。動作502で、ネットワークサーバプロセッサは、挙動ベクトル512のクラウドコーパスを記述するクラシファイアモデルのファミリーを(たとえば、増強決定木などを生成することによって)生成するために、機械学習技法を適用できる。挙動ベクトル512のクラウドコーパスは、多くの異なるモバイルデバイス(たとえば、1000万のモバイルデバイス)から収集された挙動ベクトルの大きい集まり(body)(たとえば、10億の挙動ベクトル)を含み得る。
動作504で、ネットワークサーバプロセッサは、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスのクラシファイア/アナライザモジュールが最終的に判断することを可能にする最高の確率を有するように決定された特徴を、特定およびグループ化することができる。動作506で、ネットワークサーバプロセッサは、特定された最良の特徴514を挙動ベクトル512のクラウドコーパスに与えることができる。動作508で、ネットワークサーバプロセッサは、モバイルデバイス挙動が悪性であるかまたは良性であるかをクラシファイア/アナライザモジュールが最終的に判断することを可能にするのに適切な著しく少数の特徴を特定する、低減された特徴モジュールの新しいファミリーを生成できる。動作510で、ネットワークサーバプロセッサは、低減された特徴モジュールをモバイルデバイス102に送ることができる。
図5Bは、1つまたは複数の低減された特徴モデル(RFM)に基づいてリーンなモバイルデバイスのクラシファイアモデルを構築する、別の態様のシステムの方法550を示す。動作552で、ネットワークサーバプロセッサは、挙動ベクトル512のクラウドコーパスを記述するクラシファイアモデルのファミリーを(たとえば、増強決定木などを生成することによって)生成するために、機械学習技法を適用できる。動作554で、ネットワークサーバプロセッサは、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスのクラシファイア/アナライザモジュールが最終的に判断することを可能にする最高の確率を有するように決定された特徴を、特定およびグループ化することができる。動作556で、ネットワークサーバプロセッサは、モバイルデバイス挙動が悪性であるかまたは良性であるかをクラシファイア/アナライザモジュールが最終的に判断することを可能にするのに適切な著しく少数の特徴を特定する、低減された特徴モジュールの新しいファミリーを生成できる。一態様では、ネットワークサーバプロセッサは、特定された最良の特徴514に基づいて低減された特徴モジュールの新しいファミリーを生成できる。動作556で、ネットワークサーバプロセッサは、低減された特徴モジュールをモバイルデバイス102に送ることができる。
図6は、モバイルデバイス挙動を段階的に評価する、一態様の漸進的分析方法600を実行するように構成された、モバイルデバイス102内の論理構成要素、情報フローを示す。図6に示す例では、モバイルデバイス102は、初期の低減された特徴セット(たとえば、RFM0)モジュールと複数の後続の低減された特徴セット(たとえば、RFM1〜RFMn)モジュールとを含む挙動アナライザモジュール204を含み、それらの各々がクラシファイアモジュール208であり得る。動作602で、挙動観測器モジュール202は、受信されたモデルに基づいてモバイルデバイス挙動をモニタ/観測し、観測値を生成し、観測値を初期の低減された特徴セット(たとえば、RFM0)モジュールに送ることができる。
初期の低減された特徴セット(たとえば、RFM0)モジュールは、観測値を受信し、特定のモバイルデバイス挙動、ソフトウェアアプリケーション、またはプロセスが性能劣化させる/悪性であるか、良性であるか、または疑わしいかを判断することができる。挙動、ソフトウェアアプリケーション、またはプロセスが良性であること、悪性であること、または性能劣化させることを初期の低減された特徴セット(たとえば、RFM0)モジュールが判断するとき、動作604aで、初期の低減された特徴セット(たとえば、RFM0)モジュールはアクチュエータモジュール210に通知し、アクチュエータモジュール210は、悪性であるまたは性能劣化させると判断されるモバイルデバイス挙動を修正し、および/または特定された問題を直す、矯正する、隔離する、または場合によっては解決するための動作を実行するために、様々な活動または動作を実行することができる。
挙動、ソフトウェアアプリケーション、またはプロセスが疑わしいと、初期の低減された特徴セット(たとえば、RFM0)モジュールが判断するとき、動作604bで、初期の低減された特徴セット(たとえば、RFM0)モジュールは通知メッセージを挙動観測器モジュール202に送り、挙動観測器モジュール202は、それの観測値の細分性(すなわち、モバイルデバイス挙動が観測される詳細さのレベル)の調節および/または初期の低減された特徴セット(たとえば、RFM0)モジュールから受信された情報(たとえば、実時間分析動作の結果)に基づいて観測される挙動の変更を行い、新しいまたは追加の挙動情報を生成または収集することができる。動作606で、挙動観測器モジュール202は、さらなる分析/分類のために新しい/追加の情報を第1の後続の低減された特徴セット(たとえば、RFM1)モジュールに送ることができる。
第1の後続の低減された特徴セット(たとえば、RFM1)モジュールは、追加の情報を受信し、特定のモバイルデバイス挙動、ソフトウェアアプリケーション、またはプロセスが性能劣化させる/悪性であるか、良性であるか、または疑わしいかを判断することができる。挙動、ソフトウェアアプリケーション、またはプロセスが良性であること、悪性であること、または性能劣化させることを第1の後続の低減された特徴セット(たとえば、RFM1)モジュールが判断するとき、動作608aで、第1の後続の低減された特徴セット(たとえば、RFM1)モジュールはアクチュエータモジュール210に通知し、アクチュエータモジュール210は、悪性であるまたは性能劣化させると判断されるモバイルデバイス挙動を修正し、および/または特定された問題を直す、矯正する、隔離する、または場合によっては解決するための動作を実行するために、様々な活動または動作を実行することができる。
挙動、ソフトウェアアプリケーション、またはプロセスが疑わしいと、第1の後続の低減された特徴セット(たとえば、RFM1)モジュールが判断するとき、動作608bで、第1の後続の低減された特徴セット(たとえば、RFM1)モジュールは通知メッセージを挙動観測器モジュール202に送り、挙動観測器モジュール202は、それの観測値の細分性をさらに調節し、および/または第1の後続の低減された特徴セット(たとえば、RFM1)モジュールから受信された情報に基づいて観測される挙動を変更し、新しいまたは追加の挙動情報を生成または収集することができる。動作610で、挙動観測器モジュール202は、さらなる分析/分類のために新しい/追加の情報を別の後続の低減された特徴セット(たとえば、RFMn)モジュールに送ることができる。動作606〜610は、挙動、ソフトウェアアプリケーション、またはプロセスが良性であることまたは悪性であることを挙動アナライザモジュール204が最終的に判断するまで繰り返し実行され得る。
図7は、複数のモバイルデバイスから更新情報を受信するように構成されたネットワークサーバ116を含む一態様のシステム700における例示的な構成要素および情報フローを示す。
図8Aは、複数のモバイルデバイスから更新された情報を継続的に受信している挙動ベクトル512のクラウドコーパスから、リーンなモバイルデバイスのクラシファイアモデルを構築する一態様のサーバ/システムの方法800を示す。動作802で、サーバプロセッサは、挙動ベクトル512のクラウドコーパスを記述するクラシファイアモデルの更新された第1のファミリーを(たとえば、増強決定木などを生成することによって)生成するために、機械学習技法を適用できる。判断動作804で、サーバプロセッサは、クラシファイアモデルの第1のファミリーに対する変化が有意であるかどうかを判断できる。
クラシファイアモデルの第1のファミリーが有意でないと判断される(判断動作804=「No」)とき、動作816で、方法800は終了し得る。クラシファイアモデルの第1のファミリーが有意であると判断される(判断動作804=「Yes」)とき、動作806で、サーバプロセッサは、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスのクラシファイア/アナライザモジュールが最終的に判断することを可能にする最高の確率を有するように決定された特徴を、特定およびグループ化することができる。
動作808で、サーバプロセッサは、特定された最良の特徴を挙動ベクトル512のクラウドコーパスに与えることができる。動作810で、サーバプロセッサは、モバイルデバイス挙動が悪性であるかまたは良性であるかをクラシファイア/アナライザモジュールが最終的に判断することを可能にするのに適切な著しく少数の特徴を特定する、低減された特徴モジュールを含むクラシファイアの第2のファミリーを生成できる。判断動作812で、サーバプロセッサは、更新されたモバイルデバイスのクラシファイアの生成を保証するために、前のモデルと有意に異なる低減された特徴モジュールを、クラシファイアの生成された第2のファミリーが含むかどうかを判断できる。更新されたモバイルデバイスのクラシファイアの生成を保証するのに十分な変化が、クラシファイアの第2のファミリー内に存在しない(判断動作812=「No」)と判断されるとき、動作816で、方法800は終了し得る。更新されたモバイルデバイスのクラシファイアを生成することを保証するのに十分な変化が、クラシファイアの第2のファミリー内に存在する(判断動作812=「Yes」)と判断されるとき、動作814で、システムは、低減された特徴モジュールのうちの1つまたは複数を含む更新されたモバイルデバイスのクラシファイアを生成し、モバイルデバイスのクラシファイアをモバイルデバイス102に送ることができる。
図8Bは、複数のモバイルデバイスから更新された情報を継続的に受信している挙動ベクトル512のクラウドコーパスから、リーンなモバイルデバイスのクラシファイアモデルを構築する別の態様のサーバ/システムの方法850を示す。動作852で、サーバプロセッサは、挙動ベクトル512のクラウドコーパスを記述するクラシファイアモデルの更新された第1のファミリーを(たとえば、増強決定木などを生成することによって)生成するために、機械学習技法を適用できる。判断動作854で、サーバプロセッサは、クラシファイアモデルの第1のファミリーに対する変化が有意であるかどうかを判断できる。
クラシファイアモデルの第1のファミリーが有意でないと判断される(判断動作854=「No」)とき、動作864で、方法850は終了し得る。クラシファイアモデルの第1のファミリーが有意であると判断される(判断動作854=「Yes」)とき、動作856で、サーバプロセッサは、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスのクラシファイア/アナライザモジュールが最終的に判断することを可能にする最高の確率を有するように決定された特徴を、特定およびグループ化することができる。動作858で、サーバプロセッサは、モバイルデバイス挙動が悪性であるかまたは良性であるかをクラシファイア/アナライザモジュールが最終的に判断することを可能にするのに適切な著しく少数の特徴を特定する、低減された特徴モジュールを含むクラシファイアの第2のファミリーを生成できる。判断動作860で、サーバプロセッサは、更新されたモバイルデバイスのクラシファイアの生成を保証するために、前のモデルと有意に異なる低減された特徴モジュールを、クラシファイアの生成された第2のファミリーが含むかどうかを判断できる。
更新されたモバイルデバイスのクラシファイアの生成を保証するのに十分な変化が、クラシファイアの第2のファミリー内に存在しないと判断される(判断動作860=「No」)とき、動作864で、方法850は終了し得る。更新されたモバイルデバイスのクラシファイアの生成を保証するのに十分な変化が、クラシファイアの第2のファミリー内に存在すると判断される(判断動作860=「Yes」)とき、動作862で、システムは、低減された特徴モジュールのうちの1つまたは複数を含む更新されたモバイルデバイスのクラシファイアを生成し、モバイルデバイスのクラシファイアをモバイルデバイス102に送ることができる。
図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〜図8Bを参照して上記で説明した動作のうちの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の一部として、モバイルデバイスプロセッサは、限定された粗い観測値から疑わしい挙動を特定するため、より詳細に観測するために挙動を動的に判断するため、および観測のために必要な詳細さの正確なレベルを動的に決定するために、システムの挙動の実時間挙動分析を実行できる。これは、デバイス上のプロセッサ、メモリまたはバッテリーのリソースを多量に使用する必要なしに、モバイルデバイスプロセッサが問題を効率的に特定し、問題が発生するのを防止することを可能にする。
様々な態様が、多様なモバイルコンピューティングデバイス上に実装され得、それらの一例が、スマートフォンの形で図12に示されている。スマートフォン1200は、内部メモリ1202と、ディスプレイ1203と、スピーカとに結合されたプロセッサ1201を含み得る。加えて、スマートフォン1200は、プロセッサ1201に結合されたワイヤレスデータリンクおよび/またはセルラー電話トランシーバ1205に接続され得る、電磁放射を送信および受信するためのアンテナ1204を含むことができる。スマートフォン1200は通常、ユーザ入力を受け取るためのメニュー選択ボタンまたはロッカースイッチ1206も含む。
一般的なスマートフォン1200はまた、マイクロフォンから受信された音をワイヤレス送信に適したデータパケットにデジタル化し、受信された音のデータパケットを復号し、スピーカに供給されるアナログ信号を生成して音を発生する音符号化/復号(CODEC)回路1212を含む。同じく、プロセッサ1201、ワイヤレストランシーバ1205およびCODEC 1212のうちの1つまたは複数は、デジタル信号プロセッサ(DSP)回路(個別に示されず)を含み得る。
態様の方法の一部は、態様の方法を実行している間にモバイルデバイスプロセッサによってアクセスされ得る正常動作挙動のデータベースを維持することなど、サーバ内で発生する処理のいくつかによって、クライアントサーバアーキテクチャ内で遂行され得る。そのような態様は、図13に示すサーバ1300のような、種々の市販のサーバデバイスのいずれにおいても実装され得る。そのようなサーバ1300は通常、揮発性メモリ1302と、ディスクドライブ1303のような大容量の不揮発性メモリとに結合された、プロセッサ1301を含む。サーバ1300はまた、プロセッサ1301に結合された、フロッピー(登録商標)ディスクドライブ、コンパクトディスク(CD)またはDVDディスクドライブ13011も含み得る。サーバ1300はまた、他のブロードキャストシステムコンピュータおよびサーバに結合されたローカルエリアネットワークなど、ネットワーク1305とデータ接続を確立するための、プロセッサ1301に結合されたネットワークアクセスポート1304も含み得る。
プロセッサ1201、1301は、以下で説明する様々な態様の機能を含む、様々な機能を実施するためのソフトウェア命令(アプリケーション)によって構成され得る、任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、または1つもしくは複数の多重プロセッサチップであり得る。いくつかのモバイルデバイスでは、1つのプロセッサをワイヤレス通信機能専用にし、1つのプロセッサを他のアプリケーションの実行専用にするように、複数のプロセッサ1201を設けることができる。一般的には、ソフトウェアアプリケーションは、それらがアクセスされ、プロセッサ1201、1301にロードされる前に、内部メモリ1202、1302、1303内に記憶され得る。プロセッサ1201、1301は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含み得る。
様々な態様の動作を遂行するためにプログラマブルプロセッサ上で遂行するためのコンピュータプログラムコードすなわち「プログラムコード」は、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 訓練データモジュール
400 方法
402 ブロック
404 ブロック
406 ブロック
408 ブロック
500 方法
502 動作
504 動作
506 動作
508 動作
510 動作
512 挙動ベクトル
514 特定された最良の特徴
550 方法
552 動作
554 動作
556 動作
558 なし
600 漸進的分析方法
602 動作
604a 動作
604b 動作
606 動作
608a 動作
608b 動作
610 動作
700 システム
800 方法
802 動作
804 判断動作
806 動作
808 動作
810 動作
812 判断動作
814 動作
816 動作
850 方法
852 動作
854 判断動作
856 動作
858 動作
860 判断動作
862 動作
864 動作
902 適応フィルタモジュール
904 スロットルモジュール
906 観測器モードモジュール
908 高レベル挙動検出モジュール
910 挙動ベクトル発生器
912 セキュアバッファ
914 空間相関モジュール
916 時間相関モジュール
1000 コンピューティングシステム
1002 挙動検出器モジュール
1004 データベースエンジンモジュール
1006 セキュアバッファマネージャ
1008 ルールマネージャ
1010 システムヘルスモニタ
1014 リングバッファ
1016 フィルタルールモジュール
1018 スロットリングルールモジュール
1020 セキュアバッファ
1100 方法
1200 スマートフォン
1201 プロセッサ
1202 内部メモリ
1203 ディスプレイ
1204 アンテナ
1205 ワイヤレストランシーバ
1206 ロッカースイッチ
1212 CODEC
1300 サーバ
1301 プロセッサ
1302 揮発性メモリ
1303 ディスクドライブ
1304 ネットワークアクセスポート
1305 ネットワーク
1306 なし

Claims (5)

  1. モバイルデバイス挙動を段階的に評価する方法であって、
    観測値を生成するためにモバイルデバイス挙動をモニタするステップと、
    初期の特徴セットモデルと、1つまたは複数の後続の特徴セットモデルを生成するステップであって、前記後続の特徴セットモデルの各々は、先行する特徴セットよりも大きいデータセットを含む、ステップと、
    前記モバイルデバイス挙動が前記モバイルデバイスの性能を劣化させるものであるか、良性であるか、または疑わしいかを判断するために、前記初期の特徴セットモデルに前記観測値を適用するステップと、
    前記モバイルデバイス挙動が疑わしいと判断されるとき、精細化された観測値を生成するために追加のまたは異なるモバイルデバイス挙動をモニタするステップと、
    前記モバイルデバイス挙動が性能劣化させるか、または良性であるかを判断するために、前記後続の特徴セットモデルの1つに前記精細化された観測値を適用するステップとを含む、方法。
  2. 観測値を生成するためにモバイルデバイス挙動をモニタするための手段と、
    初期の特徴セットモデルと、1つまたは複数の後続の特徴セットモデルを生成するための手段であって、前記後続の特徴セットモデルの各々は、先行する特徴セットよりも大きいデータセットを含む、手段と、
    前記モバイルデバイス挙動が前記モバイルデバイスの性能を劣化させるものであるか、良性であるか、または疑わしいかを判断するために、前記初期の特徴セットモデルに前記観測値を適用するための手段と、
    前記モバイルデバイス挙動が疑わしいと判断されるとき、精細化された観測値を生成するために追加のまたは異なるモバイルデバイス挙動をモニタするための手段と、
    前記モバイルデバイス挙動が性能劣化させるか、または良性であるかを判断するために、前記後続の特徴セットモデルの1つに前記精細化された観測値を適用するための手段とを含む、モバイルデバイス。
  3. 複数のモバイルデバイスから観測情報を受信するステップと、
    前記複数のモバイルデバイスから受信された前記観測情報に基づいて、クラウドネットワークのサーバ内の挙動分類のグローバルモデルを更新し、更新された前記グローバルモデルに基づいてクラシファイアの第1のファミリーを生成するステップと、
    クラシファイアの前記生成された第1のファミリーに対して、クラシファイアの第2のファミリーの生成を保証するのに十分な変化が存在するかどうかを判断するステップと、
    クラシファイアの前記第1のファミリーに対して十分な変化が存在すると判断されるとき、クラシファイアの前記生成された第1のファミリー内のどの特徴が、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスプロセッサが最終的に判断することを可能にするために最良の特徴であるかを判断するステップと、
    前記最良の特徴に基づいて前記クラシファイアの第2のファミリーを生成するステップと、
    前記クラシファイアの前記生成された第2のファミリーに対して、第3のクラシファイアモデルの生成を保証するのに十分な変化が存在するかどうかを判断するステップと、
    クラシファイアの前記第2のファミリーに対して十分な変化が存在すると判断されるとき、前記第3のクラシファイアモデルを生成するステップと、
    前記モバイルデバイスプロセッサに前記生成された追加のクラシファイアモデルを送るステップとを含む、方法。
  4. 複数のモバイルデバイスから観測情報を受信するための手段と、
    前記複数のモバイルデバイスから受信された前記観測情報に基づいて、挙動分類のグローバルモデルを更新し、更新された前記グローバルモデルに基づいてクラシファイアの第1のファミリーを生成するための手段と、
    クラシファイアの前記生成された第1のファミリーに対して、クラシファイアの第2のファミリーの生成を保証するのに十分な変化が存在するかどうかを判断するための手段と、
    クラシファイアの前記第1のファミリーに対して十分な変化が存在すると判断されるとき、クラシファイアの前記生成された第1のファミリー内のどの特徴が、モバイルデバイス挙動が悪性であるかまたは良性であるかをモバイルデバイスプロセッサが最終的に判断することを可能にするために最良の特徴であるかを判断するための手段と、
    前記最良の特徴に基づいて前記クラシファイアの第2のファミリーを生成するための手段と、
    前記クラシファイアの前記生成された第2のファミリーに対して、第3のクラシファイアモデルの生成を保証するのに十分な変化が存在するかどうかを判断するための手段と、
    クラシファイアの前記第2のファミリーに対して十分な変化が存在すると判断されるとき、前記第3のクラシファイアモデルを生成するための手段と、
    前記モバイルデバイスプロセッサに生成された追加のクラシファイアモデルを送るための手段とを含む、サーバ。
  5. 請求項1および/または3のうちの一項または複数項に記載の動作をサーバプロセッサに実行させるように構成されたサーバ実行可能ソフトウェア命令を記憶した非一時的コンピュータ可読記憶媒体。
JP2015512657A 2012-05-14 2013-04-10 クライアントクラウド挙動アナライザのためのアーキテクチャ Expired - Fee Related JP6235000B2 (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201261646590P 2012-05-14 2012-05-14
US61/646,590 2012-05-14
US201261683274P 2012-08-15 2012-08-15
US61/683,274 2012-08-15
US201361748220P 2013-01-02 2013-01-02
US61/748,220 2013-01-02
US13/776,414 US20130304677A1 (en) 2012-05-14 2013-02-25 Architecture for Client-Cloud Behavior Analyzer
US13/776,414 2013-02-25
PCT/US2013/035963 WO2013173003A2 (en) 2012-05-14 2013-04-10 Architecture for client-cloud behavior analyzer

Publications (3)

Publication Number Publication Date
JP2015525382A JP2015525382A (ja) 2015-09-03
JP2015525382A5 JP2015525382A5 (ja) 2016-05-26
JP6235000B2 true JP6235000B2 (ja) 2017-11-22

Family

ID=49549445

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015512657A Expired - Fee Related JP6235000B2 (ja) 2012-05-14 2013-04-10 クライアントクラウド挙動アナライザのためのアーキテクチャ

Country Status (6)

Country Link
US (1) US20130304677A1 (ja)
EP (2) EP3142048A1 (ja)
JP (1) JP6235000B2 (ja)
CN (1) CN104541293B (ja)
IN (1) IN2014MN02173A (ja)
WO (1) WO2013173003A2 (ja)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9609456B2 (en) 2012-05-14 2017-03-28 Qualcomm Incorporated Methods, devices, and systems for communicating behavioral analysis information
US9324034B2 (en) 2012-05-14 2016-04-26 Qualcomm Incorporated On-device real-time behavior analyzer
US9690635B2 (en) 2012-05-14 2017-06-27 Qualcomm Incorporated Communicating behavior information in a mobile computing device
US9298494B2 (en) 2012-05-14 2016-03-29 Qualcomm Incorporated Collaborative learning for efficient behavioral analysis in networked mobile device
US9202047B2 (en) 2012-05-14 2015-12-01 Qualcomm Incorporated System, apparatus, and method for adaptive observation of mobile device behavior
US9319897B2 (en) 2012-08-15 2016-04-19 Qualcomm Incorporated Secure behavior analysis over trusted execution environment
US9747440B2 (en) 2012-08-15 2017-08-29 Qualcomm Incorporated On-line behavioral analysis engine in mobile device with multiple analyzer model providers
US9330257B2 (en) 2012-08-15 2016-05-03 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device
US9495537B2 (en) 2012-08-15 2016-11-15 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device
US11126720B2 (en) * 2012-09-26 2021-09-21 Bluvector, Inc. System and method for automated machine-learning, zero-day malware detection
KR20170064561A (ko) * 2012-11-22 2017-06-09 코닌클리즈케 케이피엔 엔.브이. 텔레커뮤니케이션 네트워크에서 거동을 검출하는 시스템
US9684870B2 (en) 2013-01-02 2017-06-20 Qualcomm Incorporated Methods and systems of using boosted decision stumps and joint feature selection and culling algorithms for the efficient classification of mobile device behaviors
US10089582B2 (en) 2013-01-02 2018-10-02 Qualcomm Incorporated Using normalized confidence values for classifying mobile device behaviors
US9686023B2 (en) 2013-01-02 2017-06-20 Qualcomm Incorporated Methods and systems of dynamically generating and using device-specific and device-state-specific classifier models for the efficient classification of mobile device behaviors
US9742559B2 (en) 2013-01-22 2017-08-22 Qualcomm Incorporated Inter-module authentication for securing application execution integrity within a computing device
JP6198850B2 (ja) * 2013-01-25 2017-09-20 クアルコム,インコーポレイテッド モバイルデバイス上での挙動の特徴の適応的な観測
US9491187B2 (en) 2013-02-15 2016-11-08 Qualcomm Incorporated APIs for obtaining device-specific behavior classifier models from the cloud
US9591003B2 (en) * 2013-08-28 2017-03-07 Amazon Technologies, Inc. Dynamic application security verification
WO2015112760A1 (en) * 2014-01-23 2015-07-30 Qualcomm Incorporated Adaptive observation of determined behavioral features on a mobile device
US9684787B2 (en) * 2014-04-08 2017-06-20 Qualcomm Incorporated Method and system for inferring application states by performing behavioral analysis operations in a mobile device
US9213941B2 (en) 2014-04-22 2015-12-15 Google Inc. Automatic actions based on contextual replies
US20150324689A1 (en) * 2014-05-12 2015-11-12 Qualcomm Incorporated Customized classifier over common features
US9826338B2 (en) 2014-11-18 2017-11-21 Prophecy Sensorlytics Llc IoT-enabled process control and predective maintenance using machine wearables
US10481195B2 (en) 2015-12-02 2019-11-19 Machinesense, Llc Distributed IoT based sensor analytics for power line diagnosis
US20160245686A1 (en) 2015-02-23 2016-08-25 Biplab Pal Fault detection in rotor driven equipment using rotational invariant transform of sub-sampled 3-axis vibrational data
US10648735B2 (en) 2015-08-23 2020-05-12 Machinesense, Llc Machine learning based predictive maintenance of a dryer
US10638295B2 (en) 2015-01-17 2020-04-28 Machinesense, Llc System and method for turbomachinery preventive maintenance and root cause failure determination
US10599982B2 (en) 2015-02-23 2020-03-24 Machinesense, Llc Internet of things based determination of machine reliability and automated maintainenace, repair and operation (MRO) logs
US20170178030A1 (en) * 2015-12-20 2017-06-22 Prophecy Sensors, Llc Method, system and apparatus using field learning to upgrade trending sensor curves into fuel gauge based visualization of predictive maintenance by user driven feedback mechanism
US20160245279A1 (en) 2015-02-23 2016-08-25 Biplab Pal Real time machine learning based predictive and preventive maintenance of vacuum pump
US20160313216A1 (en) 2015-04-25 2016-10-27 Prophecy Sensors, Llc Fuel gauge visualization of iot based predictive maintenance system using multi-classification based machine learning
US10613046B2 (en) 2015-02-23 2020-04-07 Machinesense, Llc Method for accurately measuring real-time dew-point value and total moisture content of a material
US9875357B2 (en) * 2015-02-06 2018-01-23 Qualcomm Incorporated Methods and systems for detecting fake user interactions with a mobile device for improved malware protection
US20160232353A1 (en) * 2015-02-09 2016-08-11 Qualcomm Incorporated Determining Model Protection Level On-Device based on Malware Detection in Similar Devices
US9823289B2 (en) 2015-06-01 2017-11-21 Prophecy Sensorlytics Llc Automated digital earth fault system
US20160350657A1 (en) * 2015-06-01 2016-12-01 Qualcomm Incorporated Cross-Module Behavioral Validation
JP6557334B2 (ja) * 2015-06-02 2019-08-07 日本電信電話株式会社 アクセス分類装置、アクセス分類方法、及びアクセス分類プログラム
US11170104B1 (en) * 2015-08-21 2021-11-09 Amazon Technologies, Inc. Identifying attacks on file systems
KR101822404B1 (ko) * 2015-11-30 2018-01-26 임욱빈 Dnn 학습을 이용한 세포이상 여부 진단시스템
US10354200B2 (en) 2015-12-14 2019-07-16 Here Global B.V. Method, apparatus and computer program product for collaborative mobility mapping
US20170185898A1 (en) * 2015-12-26 2017-06-29 Arnab Paul Technologies for distributed machine learning
US10528734B2 (en) * 2016-03-25 2020-01-07 The Mitre Corporation System and method for vetting mobile phone software applications
US20170308701A1 (en) * 2016-04-22 2017-10-26 Qualcomm Incorporated Methods and Systems for Intelligently Detecting Malware and Attacks on Client Computing Devices and Corporate Networks
US10216954B2 (en) 2016-06-27 2019-02-26 International Business Machines Corporation Privacy detection of a mobile application program
US10839311B2 (en) 2016-07-19 2020-11-17 International Business Machines Corporation Cognitive computing for servers and mobile devices
CN107645482B (zh) * 2016-07-22 2020-08-07 创新先进技术有限公司 一种针对业务操作的风险控制方法及装置
US10846618B2 (en) 2016-09-23 2020-11-24 Google Llc Smart replies using an on-device model
US10534925B2 (en) * 2016-10-05 2020-01-14 Microsoft Technology Licensing, Llc Detection of compromised devices via user states
US20180234302A1 (en) * 2017-02-10 2018-08-16 Qualcomm Incorporated Systems and methods for network monitoring
US10511615B2 (en) * 2017-05-05 2019-12-17 Microsoft Technology Licensing, Llc Non-protocol specific system and method for classifying suspect IP addresses as sources of non-targeted attacks on cloud based machines
JP6767924B2 (ja) 2017-05-19 2020-10-14 東芝映像ソリューション株式会社 システム、方法及びプログラム
JP6767926B2 (ja) 2017-05-23 2020-10-14 東芝映像ソリューション株式会社 電子装置、方法及びプログラム
GB2567615A (en) * 2017-09-12 2019-04-24 Camlin Tech Limited Autonomous agent system
CN107659717B (zh) * 2017-09-19 2020-11-10 北京小米移动软件有限公司 状态检测方法、装置和存储介质
US20190104141A1 (en) * 2017-10-02 2019-04-04 Zuk Avraham System and Method for Providing and Facilitating an Information Security Marketplace
US10921792B2 (en) 2017-12-21 2021-02-16 Machinesense Llc Edge cloud-based resin material drying system and method
US11381984B2 (en) * 2018-03-27 2022-07-05 Forescout Technologies, Inc. Device classification based on rank
WO2019237332A1 (en) * 2018-06-15 2019-12-19 Microsoft Technology Licensing, Llc Identifying abnormal usage of electronic device
CN110958208B (zh) * 2018-09-26 2020-11-20 瑞数信息技术(上海)有限公司 一种攻击来源的检测方法、装置、设备和计算机存储介质
US11341363B1 (en) * 2018-10-04 2022-05-24 Clarifai, Inc. In-process engine implementation using SDK extensions
CN109634820A (zh) * 2018-11-01 2019-04-16 华中科技大学 一种云端移动端协同的故障预警方法、相关设备及系统
CN109766691B (zh) * 2018-12-20 2023-08-22 广东电网有限责任公司 一种勒索病毒监控方法及装置
CN109772753B (zh) * 2019-03-05 2020-03-06 中国科学院自动化研究所 动力电池分选系统和方法
US11386208B1 (en) * 2019-05-16 2022-07-12 Ca, Inc. Systems and methods for malware detection using localized machine learning
CN110198244B (zh) * 2019-06-19 2022-02-18 北京百度网讯科技有限公司 面向异构云服务的资源配置方法和装置
US11093378B2 (en) 2019-06-27 2021-08-17 Capital One Services, Llc Testing agent for application dependency discovery, reporting, and management tool
US10747544B1 (en) 2019-06-27 2020-08-18 Capital One Services, Llc Dependency analyzer in application dependency discovery, reporting, and management tool
US10642719B1 (en) 2019-06-27 2020-05-05 Capital One Services, Llc Intelligent services for application dependency discovery, reporting, and management tool
US10915428B2 (en) 2019-06-27 2021-02-09 Capital One Services, Llc Intelligent services and training agent for application dependency discovery, reporting, and management tool
US11354222B2 (en) 2019-06-27 2022-06-07 Capital One Services, Llc Discovery crawler for application dependency discovery, reporting, and management tool
US11379292B2 (en) 2019-06-27 2022-07-05 Capital One Services, Llc Baseline modeling for application dependency discovery, reporting, and management tool
US10521235B1 (en) 2019-06-27 2019-12-31 Capital One Services, Llc Determining problem dependencies in application dependency discovery, reporting, and management tool

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6532541B1 (en) * 1999-01-22 2003-03-11 The Trustees Of Columbia University In The City Of New York Method and apparatus for image authentication
US6741974B1 (en) * 2000-06-02 2004-05-25 Lockheed Martin Corporation Genetically programmed learning classifier system for complex adaptive system processing with agent-based architecture
US7103772B2 (en) * 2003-05-02 2006-09-05 Giritech A/S Pervasive, user-centric network security enabled by dynamic datagram switch and an on-demand authentication and encryption scheme through mobile intelligent data carriers
US8713680B2 (en) * 2007-07-10 2014-04-29 Samsung Electronics Co., Ltd. Method and apparatus for modeling computer program behaviour for behavioural detection of malicious program
US8320329B2 (en) * 2008-03-24 2012-11-27 Cisco Technology, Inc. Policy for a roaming terminal based on a home internet protocol (IP) address
US8108323B2 (en) * 2008-05-19 2012-01-31 Yahoo! Inc. Distributed spam filtering utilizing a plurality of global classifiers and a local classifier
US20090327168A1 (en) * 2008-06-26 2009-12-31 Yahoo! Inc. Playful incentive for labeling content
US8069128B2 (en) * 2008-08-08 2011-11-29 Yahoo! Inc. Real-time ad-hoc spam filtering of email
US8347386B2 (en) * 2008-10-21 2013-01-01 Lookout, Inc. System and method for server-coupled malware prevention
DE102008043954A1 (de) * 2008-11-21 2010-05-27 Robert Bosch Gmbh Sensornetzwerksystem, Übertragunsprotokoll, Verfahren zum Wiedererkennen eines Objekts sowie Computerprogramm
US20100153371A1 (en) * 2008-12-16 2010-06-17 Yahoo! Inc. Method and apparatus for blending search results
US8793758B2 (en) * 2009-01-28 2014-07-29 Headwater Partners I Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
JP5244686B2 (ja) * 2009-04-24 2013-07-24 株式会社東芝 監視装置およびサーバー
US8694624B2 (en) * 2009-05-19 2014-04-08 Symbol Technologies, Inc. Systems and methods for concurrent wireless local area network access and sensing
US8356001B2 (en) * 2009-05-19 2013-01-15 Xybersecure, Inc. Systems and methods for application-level security
US20120254333A1 (en) * 2010-01-07 2012-10-04 Rajarathnam Chandramouli Automated detection of deception in short and multilingual electronic messages
US20120180126A1 (en) * 2010-07-13 2012-07-12 Lei Liu Probable Computing Attack Detector
US20120151479A1 (en) * 2010-12-10 2012-06-14 Salesforce.Com, Inc. Horizontal splitting of tasks within a homogenous pool of virtual machines
US9326698B2 (en) * 2011-02-18 2016-05-03 The Trustees Of The University Of Pennsylvania Method for automatic, unsupervised classification of high-frequency oscillations in physiological recordings
US8793593B2 (en) * 2011-09-21 2014-07-29 Facebook, Inc. Integrating structured objects and actions generated on external systems into a social networking system
US9832211B2 (en) * 2012-03-19 2017-11-28 Qualcomm, Incorporated Computing device to detect malware

Also Published As

Publication number Publication date
JP2015525382A (ja) 2015-09-03
CN104541293B (zh) 2018-02-06
EP2850563A2 (en) 2015-03-25
EP3142048A1 (en) 2017-03-15
WO2013173003A2 (en) 2013-11-21
CN104541293A (zh) 2015-04-22
US20130304677A1 (en) 2013-11-14
IN2014MN02173A (ja) 2015-08-28
WO2013173003A3 (en) 2014-05-22

Similar Documents

Publication Publication Date Title
JP6235000B2 (ja) クライアントクラウド挙動アナライザのためのアーキテクチャ
JP6227666B2 (ja) モバイルデバイスの挙動の効率的な分類のためのデバイス固有およびデバイス状態固有の分類器モデルを動的に生成し使用する方法およびシステム
JP6231688B2 (ja) 重要なアプリケーションの選択的な保護のためにアプリケーション固有のモデルを生成する方法およびシステム
US9298494B2 (en) Collaborative learning for efficient behavioral analysis in networked mobile device
US9690635B2 (en) Communicating behavior information in a mobile computing device
JP6258970B2 (ja) モバイルデバイス挙動の効率的分類のために増強決定株ならびに連動した特徴選択および選別アルゴリズムを使用する方法およびシステム
JP6198850B2 (ja) モバイルデバイス上での挙動の特徴の適応的な観測
EP3117361B1 (en) Behavioral analysis for securing peripheral devices
US9324034B2 (en) On-device real-time behavior analyzer
JP6305442B2 (ja) 複数のアナライザモデルプロバイダを用いたモバイルデバイスにおけるオンライン挙動分析エンジン
US20160232353A1 (en) Determining Model Protection Level On-Device based on Malware Detection in Similar Devices
US20160078362A1 (en) Methods and Systems of Dynamically Determining Feature Sets for the Efficient Classification of Mobile Device Behaviors
JP2018533105A (ja) モバイルデバイス挙動を分類するために正規化信頼性値を使用すること

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160325

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170515

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171002

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171025

R150 Certificate of patent or registration of utility model

Ref document number: 6235000

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees