JP2016512631A - 複数のアナライザモデルプロバイダを用いたモバイルデバイスにおけるオンライン挙動分析エンジン - Google Patents

複数のアナライザモデルプロバイダを用いたモバイルデバイスにおけるオンライン挙動分析エンジン Download PDF

Info

Publication number
JP2016512631A
JP2016512631A JP2015558035A JP2015558035A JP2016512631A JP 2016512631 A JP2016512631 A JP 2016512631A JP 2015558035 A JP2015558035 A JP 2015558035A JP 2015558035 A JP2015558035 A JP 2015558035A JP 2016512631 A JP2016512631 A JP 2016512631A
Authority
JP
Japan
Prior art keywords
behavior
mobile device
behavior model
processor
model
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.)
Granted
Application number
JP2015558035A
Other languages
English (en)
Other versions
JP6305442B2 (ja
JP2016512631A5 (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
Priority claimed from US13/937,462 external-priority patent/US9747440B2/en
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2016512631A publication Critical patent/JP2016512631A/ja
Publication of JP2016512631A5 publication Critical patent/JP2016512631A5/ja
Application granted granted Critical
Publication of JP6305442B2 publication Critical patent/JP6305442B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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

Landscapes

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

Abstract

クライアントクラウド通信システムにおいてデータモデルを生成するための方法、システムおよびデバイスは、挙動ベクトルのクラウドコーパスを記述するクラシファイアモデルの第1のファミリーを生成するために、機械学習技法を適用することを含み得る。そのようなベクトルは、モバイルデバイス挙動が悪意のあるものであるか無害であるかをモバイルデバイスがよりよく判断することを可能にする最高の確率を有する、クラシファイアモデルの第1のファミリー中の要因を特定するために分析され得る。この分析に基づいて、モバイルデバイス挙動が悪意のあるものであるか無害であるかを、判断された要因に基づいて、モバイルデバイスがよりよく判断することを可能にするために関連があるものとして、著しくより少数の要因およびデータポイントを特定する、クラシファイアモデルの第2のファミリーが生成され得る。クラシファイアモデルの第2のファミリーに基づくモバイルデバイスのクラシファイアモジュールが生成され得、挙動ベクトルに寄与するデバイスを含めて、モバイルデバイスによるダウンロードのために利用可能にされ得る。

Description

関連出願
本出願は、すべての目的のためにその内容全体が参照により本明細書に組み込まれる、2013年2月15日に出願された「On-Line Behavioral Analysis Engine in Mobile Device with Multiple Analyzer Model Providers」という名称の米国仮特許出願第61/765,461号の優先権の利益を主張する。
セルラー通信技術およびワイヤレス通信技術は、過去数年の間に爆発的な発展をとげてきた。この発展は、より優れた通信、ハードウェア、より大きいネットワーク、およびより信頼できるプロトコルによって促進されている。ワイヤレスサービスプロバイダは今では、拡大し続ける多数の特徴およびサービスを顧客に提供し、情報、リソースおよび通信への、前例のないレベルのアクセスをユーザに提供することができる。これらのサービス向上と歩調を合わせて、モバイル電子デバイス(たとえば、携帯電話、タブレット、ラップトップなど)は、これまでよりも強力かつ複雑になってきている。この複雑さによって、悪意のあるソフトウェア、ソフトウェアの衝突、ハードウェアの欠陥、および他の同様のエラーまたは現象が、モバイルデバイスの長期の継続的な性能ならびに電力利用レベルに悪影響を及ぼす新たな機会が生み出された。したがって、モバイルデバイスの長期の継続的な性能および電力利用レベルに悪影響を及ぼし得る条件および/またはモバイルデバイス挙動を特定および修正することは、ユーザにとって有益である。
様々な態様は、モバイルデバイスにおいてモバイルデバイス挙動を監視する方法を含み、方法は、アプリケーションダウンロードサービスから、モバイルデバイス挙動が無害であるか悪意のあるものであるかをモバイルデバイスプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定する挙動モデルを受信するステップと、モバイルデバイスにインストールされた既存の挙動アナライザエンジンと連動して、受信された挙動モデルをモバイルデバイスにインストールするステップと、インストールされた挙動モデルを使用して、1つまたは複数のモバイルデバイス挙動を監視するステップとを含み得る。
一態様では、挙動モデルを受信するステップは、モバイルデバイス挙動が無害であるか悪意のあるものであるかをモバイルデバイスプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定する、ソフトウェアアプリケーションを受信するステップを含み得る。さらなる態様では、挙動モデルを受信するステップは、モバイルデバイス挙動が無害であるか悪意のあるものであるかをモバイルデバイスプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定する、XML、JSON、YAML、HTML/XHTML、または他のマークアップ言語ファイルを受信するステップを含み得る。さらなる態様では、挙動モデルを受信するステップは、挙動分類への特徴のマッピングを含み得る有限状態機械表現を受信するステップを含み得る。
さらなる態様では、方法は、既存の挙動モデルを、受信された挙動モデルと交換するステップを含み得る。一態様では、方法はまた、受信された挙動モデルを既存の挙動アナライザエンジンにリンクさせて、既存の挙動アナライザエンジンが分析動作を実施するとき、受信された挙動モデルを使用してそのように行うようにするステップを含み得る。
さらなる態様では、方法は、既存の挙動モデルを、受信された挙動モデル中に含まれる情報で拡張することによって更新するステップ、および/または、更新された挙動モデルを既存の挙動アナライザエンジンにリンクさせて、既存の挙動アナライザエンジンが分析動作を実施するとき、更新された挙動モデルを使用してそのように行うようにするステップを含み得る。
さらなる態様では、方法は、複数の公衆ネットワークから複数の挙動モデルを受信するステップと、少なくとも1つの既存の挙動モデルを、受信された複数の挙動モデルのうちの1つまたは複数中に含まれる情報で更新するステップとを含み得る。
さらなる態様では、アプリケーションダウンロードサービスから挙動モデルを受信するステップは、クラウドサービスネットワークサーバと、アプリストアサーバと、ユニフォームリソースロケータアドレスを介して識別されたウェブサーバと、ファイル転送プロトコルサービスネットワークサーバとのうちの1つから挙動モデルを受信するステップを含み得る。
さらなる態様では、アプリケーションダウンロードサービスから挙動モデルを受信するステップは、モバイルデバイスプロセッサによって、オンラインアプリストアにアクセスし、認証するステップと、オンラインアプリストアから、ダウンロードまたは更新のために利用可能な挙動モデルのメニューをダウンロードするステップと、モバイルデバイスプロセッサにおいて、ユーザ選択入力を受信するステップと、ユーザにより選択された挙動モデルのダウンロードまたは更新を、オンラインアプリストアに要求するステップと、要求された、ユーザにより選択された挙動モデルを、モバイルデバイスのダウンロードバッファにおいて受信するステップとを含み得る。
さらなる態様では、モバイルデバイスにインストールされた既存の挙動アナライザエンジンと連動して、受信された挙動モデルをモバイルデバイスにインストールするステップは、受信された挙動モデルを妥当性確認するステップと、妥当性確認された挙動モデルを、モバイルデバイスのメモリにインストールするステップと、インストールされた挙動モデルを、モバイルデバイスのオブザーバモジュールおよび/またはアナライザモジュールに登録するステップとを含み得る。
さらなる態様では、インストールされた挙動モデルを使用して、1つまたは複数のモバイルデバイス挙動を監視するステップは、ある時間期間にわたってモバイルデバイス挙動を観測するステップと、その時間期間にわたってモバイルデバイス挙動を観測することに基づいて、通常のモバイルデバイス動作と矛盾するモバイルデバイス挙動を特定するステップと、通常のモバイルデバイス動作と矛盾するとして特定されるモバイルデバイス挙動に基づいて、挙動ベクトルを生成するステップと、生成された挙動ベクトルを、インストールされた挙動モデルと比較して、特定されたモバイルデバイス挙動が無害であるか、疑わしいか、悪意のあるものであるかを判断するステップとを含み得る。さらなる態様では、方法は、モバイルデバイス挙動が無害であるか悪意のあるものであるかをモバイルデバイスプロセッサがよりよく判断することを可能にすることに関連があるとして、追加の要因およびデータポイントを特定する、新しい挙動モデルを受信するステップと、特定されたモバイルデバイス挙動が疑わしいと判断することに応答して、インストールされた挙動モデルを、新しい挙動モデル中に含まれる情報で更新するステップと、生成された挙動ベクトルを、更新された挙動モデルと比較して、特定された疑わしいモバイルデバイス挙動が無害であるか悪意のあるものであるかをよりよく判断するステップとを含み得る。
さらなる態様は、モバイルデバイスプロセッサと、アプリケーションダウンロードサービスから、モバイルデバイス挙動が無害であるか悪意のあるものであるかをモバイルデバイスプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定する挙動モデルを受信するための手段と、既存の挙動アナライザエンジンと連動して、受信された挙動モデルをインストールするための手段と、インストールされた挙動モデルを使用して、1つまたは複数のモバイルデバイス挙動を監視するための手段とを有する、コンピューティングデバイスを含む。
一態様では、挙動モデルを受信するための手段は、モバイルデバイス挙動が無害であるか悪意のあるものであるかをモバイルデバイスプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定する、ソフトウェアアプリケーションを受信するための手段を含み得る。さらなる態様では、挙動モデルを受信するための手段は、モバイルデバイス挙動が無害であるか悪意のあるものであるかをモバイルデバイスプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定する、XMLファイルを受信するための手段を含み得る。さらなる態様では、挙動モデルを受信するための手段は、挙動分類への特徴のマッピングを含み得る有限状態機械表現を受信するための手段を含み得る。
さらなる態様では、コンピューティングデバイスは、既存の挙動モデルを受信された挙動モデルと交換するための手段と、受信された挙動モデルを既存の挙動アナライザエンジンにリンクさせて、既存の挙動アナライザエンジンが分析動作を実施するとき、受信された挙動モデルを使用してそのように行うようにするための手段とを含み得る。
さらなる態様では、コンピューティングデバイスは、既存の挙動モデルを、受信された挙動モデル中に含まれる情報で更新するための手段と、更新された挙動モデルを既存の挙動アナライザエンジンにリンクさせて、既存の挙動アナライザエンジンが分析動作を実施するとき、更新された挙動モデルを使用してそのように行うようにするための手段とを含み得る。
さらなる態様では、コンピューティングデバイスは、複数の公衆ネットワークから複数の挙動モデルを受信するための手段と、少なくとも1つの既存の挙動モデルを、受信された複数の挙動モデルのうちの1つまたは複数中に含まれる情報で更新するための手段とを含み得る。
さらなる態様では、アプリケーションダウンロードサービスから挙動モデルを受信するための手段は、クラウドサービスネットワークサーバと、アプリストアサーバと、ユニフォームリソースロケータアドレスを介して識別されたウェブサーバと、ファイル転送プロトコルサービスネットワークサーバとのうちの1つから挙動モデルを受信するための手段を含み得る。
さらなる態様では、アプリケーションダウンロードサービスから挙動モデルを受信するための手段は、モバイルデバイスプロセッサによって、オンラインアプリストアにアクセスし、認証するための手段と、オンラインアプリストアから、ダウンロードまたは更新のために利用可能な挙動モデルのメニューをダウンロードするための手段と、モバイルデバイスプロセッサにおいて、ユーザ選択入力を受信するための手段と、ユーザにより選択された挙動モデルのダウンロードまたは更新を、オンラインアプリストアに要求するための手段と、要求された、ユーザにより選択された挙動モデルを、ダウンロードバッファにおいて受信するための手段とを含み得る。
さらなる態様では、既存の挙動アナライザエンジンと連動して、受信された挙動モデルをインストールするための手段は、受信された挙動モデルを妥当性確認するための手段と、妥当性確認された挙動モデルをメモリにインストールするための手段と、インストールされた挙動モデルをオブザーバモジュールに登録するための手段とを含み得る。
さらなる態様では、インストールされた挙動モデルを使用して、1つまたは複数のモバイルデバイス挙動を監視するための手段は、ある時間期間にわたってモバイルデバイス挙動を観測するための手段と、その時間期間にわたってモバイルデバイス挙動を観測することに基づいて、通常のモバイルデバイス動作と矛盾するモバイルデバイス挙動を特定するための手段と、通常のモバイルデバイス動作と矛盾するとして特定されるモバイルデバイス挙動に基づいて、挙動ベクトルを生成するための手段と、生成された挙動ベクトルを、インストールされた挙動モデルと比較して、特定されたモバイルデバイス挙動が無害であるか、疑わしいか、悪意のあるものであるかを判断するための手段とを含み得る。さらなる態様では、コンピューティングデバイスは、モバイルデバイス挙動が無害であるか悪意のあるものであるかをモバイルデバイスプロセッサがよりよく判断することを可能にすることに関連があるとして、追加の要因およびデータポイントを特定する、新しい挙動モデルを受信するための手段と、特定されたモバイルデバイス挙動が疑わしいと判断することに応答して、インストールされた挙動モデルを、新しい挙動モデル中に含まれる情報で更新するための手段と、生成された挙動ベクトルを、更新された挙動モデルと比較して、特定された疑わしいモバイルデバイス挙動が無害であるか悪意のあるものであるかをよりよく判断するための手段とを含み得る。
さらなる態様は、動作を実施するようにプロセッサ実行可能命令で構成されたプロセッサを有する、モバイルコンピューティングデバイスを含み、動作は、アプリケーションダウンロードサービスから、モバイルデバイス挙動が無害であるか悪意のあるものであるかをプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定する挙動モデルを受信すること、既存の挙動アナライザエンジンと連動して、受信された挙動モデルをインストールすること、および、インストールされた挙動モデルを使用して、1つまたは複数のモバイルデバイス挙動を監視することを含む。
一態様では、挙動モデルを受信することが、モバイルデバイス挙動が無害であるか悪意のあるものであるかをプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定する、ソフトウェアアプリケーションを受信することを含み得るように、プロセッサが動作を実施するようにプロセッサ実行可能命令で構成され得る。さらなる態様では、挙動モデルを受信することが、モバイルデバイス挙動が無害であるか悪意のあるものであるかをプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定する、XMLファイルを受信することを含み得るように、プロセッサが動作を実施するようにプロセッサ実行可能命令で構成され得る。さらなる態様では、挙動モデルを受信することが、挙動分類への特徴のマッピングを含む有限状態機械表現を受信することを含み得るように、プロセッサが動作を実施するようにプロセッサ実行可能命令で構成され得る。
さらなる態様では、プロセッサは、既存の挙動モデルを受信された挙動モデルと交換すること、および、受信された挙動モデルを既存の挙動アナライザエンジンにリンクさせて、既存の挙動アナライザエンジンが分析動作を実施するとき、受信された挙動モデルを使用してそのように行うようにすることを含む、動作を実施するようにプロセッサ実行可能命令で構成され得る。
さらなる態様では、プロセッサは、既存の挙動モデルを、受信された挙動モデル中に含まれる情報で更新すること、および、更新された挙動モデルを既存の挙動アナライザエンジンにリンクさせて、既存の挙動アナライザエンジンが分析動作を実施するとき、更新された挙動モデルを使用してそのように行うようにすることを含む、動作を実施するようにプロセッサ実行可能命令で構成され得る。
さらなる態様では、プロセッサは、複数の公衆ネットワークから複数の挙動モデルを受信すること、および、少なくとも1つの既存の挙動モデルを、受信された複数の挙動モデルのうちの1つまたは複数中に含まれる情報で更新することを含む、動作を実施するようにプロセッサ実行可能命令で構成され得る。
さらなる態様では、アプリケーションダウンロードサービスから挙動モデルを受信することが、クラウドサービスネットワークサーバと、アプリストアサーバと、ユニフォームリソースロケータアドレスを介して識別されたウェブサーバと、ファイル転送プロトコルサービスネットワークサーバとのうちの1つから挙動モデルを受信することを含み得るように、プロセッサが動作を実施するようにプロセッサ実行可能命令で構成され得る。
さらなる態様では、アプリケーションダウンロードサービスから挙動モデルを受信することが、オンラインアプリストアにアクセスし、認証すること、オンラインアプリストアから、ダウンロードまたは更新のために利用可能な挙動モデルのメニューをダウンロードすること、ユーザ選択入力を受信すること、ユーザにより選択された挙動モデルのダウンロードまたは更新を、オンラインアプリストアに要求すること、および、要求された、ユーザにより選択された挙動モデルを、ダウンロードバッファにおいて受信することを含み得るように、プロセッサが動作を実施するようにプロセッサ実行可能命令で構成され得る。
さらなる態様では、既存の挙動アナライザエンジンと連動して、受信された挙動モデルをインストールすることが、受信された挙動モデルを妥当性確認すること、妥当性確認された挙動モデルをメモリにインストールすること、および、インストールされた挙動モデルをオブザーバモジュールに登録することを含み得るように、プロセッサが動作を実施するようにプロセッサ実行可能命令で構成され得る。
さらなる態様では、インストールされた挙動モデルを使用して、1つまたは複数のモバイルデバイス挙動を監視することが、ある時間期間にわたってモバイルデバイス挙動を観測すること、その時間期間にわたってモバイルデバイス挙動を観測することに基づいて、通常のモバイルデバイス動作と矛盾するモバイルデバイス挙動を特定すること、通常のモバイルデバイス動作と矛盾するとして特定されるモバイルデバイス挙動に基づいて、挙動ベクトルを生成すること、および、生成された挙動ベクトルを、インストールされた挙動モデルと比較して、特定されたモバイルデバイス挙動が無害であるか、疑わしいか、悪意のあるものであるかを判断することを含み得るように、プロセッサが動作を実施するようにプロセッサ実行可能命令で構成され得る。さらなる態様では、プロセッサは、モバイルデバイス挙動が無害であるか悪意のあるものであるかをプロセッサがよりよく判断することを可能にすることに関連があるとして、追加の要因およびデータポイントを特定する、新しい挙動モデルを受信すること、特定されたモバイルデバイス挙動が疑わしいと判断することに応答して、インストールされた挙動モデルを、新しい挙動モデル中に含まれる情報で更新すること、および、生成された挙動ベクトルを、更新された挙動モデルと比較して、特定された疑わしいモバイルデバイス挙動が無害であるか悪意のあるものであるかをよりよく判断することを含む、動作を実施するようにプロセッサ実行可能命令で構成され得る。
さらなる態様は、プロセッサ実行可能ソフトウェア命令を記憶した非一時的コンピュータ可読記憶媒体を含み、プロセッサ実行可能ソフトウェア命令は、モバイルデバイスプロセッサに、アプリケーションダウンロードサービスから挙動モデルを受信することであって、受信された挙動モデルは、モバイルデバイス挙動が無害であるか悪意のあるものであるかをモバイルデバイスプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定すること、既存の挙動アナライザエンジンと連動して、受信された挙動モデルをインストールすること、および、インストールされた挙動モデルを使用して、1つまたは複数のモバイルデバイス挙動を監視することを含む、動作を実施させるように構成される。
一態様では、挙動モデルを受信することが、モバイルデバイス挙動が無害であるか悪意のあるものであるかをモバイルデバイスプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定する、ソフトウェアアプリケーションを受信することを含み得るように、記憶されたプロセッサ実行可能ソフトウェア命令が、モバイルデバイスプロセッサに動作を実施させるように構成され得る。さらなる態様では、挙動モデルを受信することが、モバイルデバイス挙動が無害であるか悪意のあるものであるかをモバイルデバイスプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定する、XMLファイルを受信することを含み得るように、記憶されたプロセッサ実行可能ソフトウェア命令が、モバイルデバイスプロセッサに動作を実施させるように構成され得る。さらなる態様では、挙動モデルを受信することが、挙動分類への特徴のマッピングを含む有限状態機械表現を受信することを含み得るように、記憶されたプロセッサ実行可能ソフトウェア命令が、モバイルデバイスプロセッサに動作を実施させるように構成され得る。
さらなる態様では、記憶されたプロセッサ実行可能ソフトウェア命令は、モバイルデバイスプロセッサに、既存の挙動モデルを受信された挙動モデルと交換すること、および、受信された挙動モデルを既存の挙動アナライザエンジンにリンクさせて、既存の挙動アナライザエンジンが分析動作を実施するとき、受信された挙動モデルを使用してそのように行うようにすることを含む、動作を実施させるように構成され得る。さらなる態様では、記憶されたプロセッサ実行可能ソフトウェア命令は、モバイルデバイスプロセッサに、既存の挙動モデルを、受信された挙動モデル中に含まれる情報で更新すること、および、更新された挙動モデルを既存の挙動アナライザエンジンにリンクさせて、既存の挙動アナライザエンジンが分析動作を実施するとき、更新された挙動モデルを使用してそのように行うようにすることを含む、動作を実施させるように構成され得る。
さらなる態様では、記憶されたプロセッサ実行可能ソフトウェア命令は、モバイルデバイスプロセッサに、複数の公衆ネットワークから複数の挙動モデルを受信すること、および、少なくとも1つの既存の挙動モデルを、受信された複数の挙動モデルのうちの1つまたは複数中に含まれる情報で更新することを含む、動作を実施させるように構成され得る。
さらなる態様では、アプリケーションダウンロードサービスから挙動モデルを受信することが、クラウドサービスネットワークサーバと、アプリストアサーバと、ユニフォームリソースロケータアドレスを介して識別されたウェブサーバと、ファイル転送プロトコルサービスネットワークサーバとのうちの1つから挙動モデルを受信することを含み得るように、記憶されたプロセッサ実行可能ソフトウェア命令が、モバイルデバイスプロセッサに動作を実施させるように構成され得る。
さらなる態様では、アプリケーションダウンロードサービスから挙動モデルを受信することが、オンラインアプリストアにアクセスし、認証すること、オンラインアプリストアから、ダウンロードまたは更新のために利用可能な挙動モデルのメニューをダウンロードすること、ユーザ選択入力を受信すること、ユーザにより選択された挙動モデルのダウンロードまたは更新を、オンラインアプリストアに要求すること、および、要求された、ユーザにより選択された挙動モデルを、ダウンロードバッファにおいて受信することを含み得るように、記憶されたプロセッサ実行可能ソフトウェア命令が、モバイルデバイスプロセッサに動作を実施させるように構成され得る。
さらなる態様では、既存の挙動アナライザエンジンと連動して、受信された挙動モデルをインストールすることが、受信された挙動モデルを妥当性確認すること、妥当性確認された挙動モデルをメモリにインストールすること、および、インストールされた挙動モデルをオブザーバモジュールに登録することを含み得るように、記憶されたプロセッサ実行可能ソフトウェア命令が、モバイルデバイスプロセッサに動作を実施させるように構成され得る。
さらなる態様では、インストールされた挙動モデルを使用して、1つまたは複数のモバイルデバイス挙動を監視することが、ある時間期間にわたってモバイルデバイス挙動を観測すること、その時間期間にわたってモバイルデバイス挙動を観測することに基づいて、通常のモバイルデバイス動作と矛盾するモバイルデバイス挙動を特定すること、通常のモバイルデバイス動作と矛盾するとして特定されるモバイルデバイス挙動に基づいて、挙動ベクトルを生成すること、および、生成された挙動ベクトルを、インストールされた挙動モデルと比較して、特定されたモバイルデバイス挙動が無害であるか、疑わしいか、悪意のあるものであるかを判断することを含み得るように、記憶されたプロセッサ実行可能ソフトウェア命令が、モバイルデバイスプロセッサに動作を実施させるように構成され得る。さらなる態様では、記憶されたプロセッサ実行可能ソフトウェア命令は、モバイルデバイスプロセッサに、モバイルデバイス挙動が無害であるか悪意のあるものであるかをモバイルデバイスプロセッサがよりよく判断することを可能にすることに関連があるとして、追加の要因およびデータポイントを特定する、新しい挙動モデルを受信すること、特定されたモバイルデバイス挙動が疑わしいと判断することに応答して、インストールされた挙動モデルを、新しい挙動モデル中に含まれる情報で更新すること、および、生成された挙動ベクトルを、更新された挙動モデルと比較して、特定された疑わしいモバイルデバイス挙動が無害であるか悪意のあるものであるかをよりよく判断することを含む、動作を実施させるように構成され得る。
本明細書に組み込まれ、本明細書の一部をなす添付の図面は、本発明の例示的な態様を示し、上記の全般的な説明および下記の発明を実施するための形態とともに、本発明の特徴について説明するために役立つ。
様々な態様において使用するために好適な例示的な電気通信システムのネットワーク構成要素を示す通信システムブロック図である。 特定のモバイルデバイス挙動、ソフトウェアアプリケーション、またはプロセスが性能劣化させるか、疑わしいか、無害であるかを判断するように構成された、一態様のモバイルデバイスにおける例示的な論理構成要素および情報フローを示すブロック図である。 特定のモバイルデバイス挙動、ソフトウェアアプリケーション、またはプロセスが性能劣化させるか、疑わしいか、無害であるかを判断するように構成された、一態様のモバイルデバイスにおける例示的な論理構成要素および情報フローを示すブロック図である。 一態様による、動的および適応観測を実施するように構成されたオブザーバモジュールにおける例示的な論理構成要素および情報フローを示すブロック図である。 別の態様による、オブザーバデーモンを実装するコンピューティングシステムにおける論理構成要素および情報フローを示すブロック図である。 モバイルデバイス上で適応観測を実施するための一態様の方法を示すプロセスフロー図である。 挙動分析モジュール/アプリケーションをアプリケーションストアからモバイルデバイスへダウンロードするための一態様の方法を示すプロセスフロー図である。 挙動分析モデルをダウンロードおよび使用するための一態様の方法を示すプロセスフロー図である。 交換用挙動分析モジュール/アプリケーションをダウンロードおよび使用するための一態様のモバイルデバイス方法を示すプロセスフロー図である。 挙動分析モジュール/アプリケーションをアプリケーションストアからモバイルデバイスへダウンロードするための一態様のモバイルデバイス方法を示すプロセスフロー図である。 複数の挙動分析モジュール/アプリケーションを複数の公衆ネットワークからダウンロードするための一態様のモバイルデバイス方法を示すプロセスフロー図である。 公衆ネットワークから受信された、更新された挙動モデルを使用して、挙動分析動作を実施するための一態様のモバイルデバイス方法を示すプロセスフロー図である。 一態様において使用するために好適なモバイルデバイスの構成要素ブロック図である。 一態様において使用するために好適なサーバデバイスの構成要素ブロック図である。
様々な態様について、添付の図面を参照して詳細に説明する。可能な場合はいつでも、同じ参照番号は、図面全体を通して同じまたは同様の部分を指すために使用される。特定の例および実装形態に行われる参照は、説明を目的とし、本発明の範囲または特許請求の範囲を限定するものではない。
「例示的な」という言葉は、「例、事例、または例示として機能すること」を意味するように本明細書で使用される。本明細書に「例示的な」と記載されるいかなる実装形態も、他の実装形態よりも好ましいまたは有利であると必ずしも解釈されるべきではない。
様々な態様は、モバイルデバイスの性能、電力利用レベル、ネットワーク使用レベル、セキュリティおよび/またはプライバシーをしばしば経時的に劣化させる条件および/またはモバイルデバイス挙動を効率的に特定、分類、モデリング、防止、および/または修正するためのネットワークサーバ、モバイルデバイス、システム、および方法を提供する。そのような条件および修正活動についての情報を「クラウド」などの中央データベースに記憶し、モバイルデバイスがこのデータベースに記憶されている情報にアクセスして使用することを可能にすることによって、様々な態様は、そのような分析のすべてが各モバイルデバイス内で独立に遂行された場合よりもはるかに高速かつ低電力消費で、性能を限定する望ましくない動作条件に対してモバイルデバイスが反応することを可能にする。加えて、一態様のアプリケーションプログラミングインターフェース(API)およびモジュールの使用によって、モバイルデバイスと、複数のサードパーティ、アプリケーションストア、公衆ネットワーク、プライベートネットワーク、相手先ブランド製造会社(OEM)、電気通信サービスプロバイダなどとの間の、挙動モデル、クラシファイア、および挙動情報の通信が可能となり、また、モバイルデバイスの挙動分析エンジンが、頻繁に更新されること、複数の挙動もしくはアナライザモデルプロバイダとともに働くこと、ならびに/または、更新されたモデルを1つもしくは複数のソース(たとえば、複数のクラウドサービス)から、様々な時間に、および/もしくは変化する頻度で受信することが可能となる。具体的には、一態様のAPIおよびモジュールは、挙動モデルがインターネット、または、「アプリストア」(たとえば、Apple(登録商標)App Store、Windows(登録商標)Store、Google(登録商標)Playなど)、クラウドサービスもしくはサーバ、URLアドレス、FTPサーバなどのアプリケーションダウンロードサービスからダウンロードされることを可能にする。様々な態様では、モバイルデバイスは、モバイルデバイスにおけるクライアントモジュールと通信するクラウドサーバなど、アプリケーションダウンロードサービスから受信された情報またはモデルに基づいて、先在する、または生成された挙動モデルを更新または交換することができる。
いくつかの異なるセルラー通信およびモバイル通信のサービスおよび規格が利用可能であるか、または将来考えられ、それらのすべてが様々な態様を実装し、様々な態様から利益を得ることができる。そのようなサービスおよび規格には、たとえば、第3世代パートナーシッププロジェクト(3GPP)、ロングタームエボリューション(LTE)システム、第3世代ワイヤレスモバイル通信技術(3G)、第4世代ワイヤレスモバイル通信技術(4G)、モバイル通信用グローバルシステム(GSM(登録商標))、ユニバーサルモバイルテレコミュニケーションシステム(UMTS)、3GSM(登録商標)、汎用パケット無線サービス(GPRS)、符号分割多元接続(CDMA)システム(たとえば、cdmaOne、CDMA1020(商標))、GSM(登録商標)進化型高速データレート(EDGE:enhanced data rates for GSM(登録商標) evolution)、高度移動電話システム(AMPS:advanced mobile phone system)、デジタルAMPS(IS-136/TDMA)、エボリューションデータオプティマイズド(EV-DO)、デジタル発展型コードレステレコミュニケーション(DECT:digital enhanced cordless telecommunications)、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WiMAX:worldwide interoperability for microwave access)、ワイヤレスローカルエリアネットワーク(WLAN)、Wi-Fi Protected Access I & II(WPA、WPA2)、および統合デジタル拡張ネットワーク(iden:integrated digital enhanced network)が含まれる。これらの技術の各々は、たとえば、音声、データ、シグナリング、および/またはコンテンツメッセージの送信および受信を伴う。個々の電気通信の規格または技術に関連した用語および/または技術的詳細に対するいかなる参照も例示目的にすぎず、請求項の文言に具体的に記載されない限り、特許請求の範囲を特定の通信システムまたは通信技術に限定するものではないことを理解されたい。
「モバイルコンピューティングデバイス」および「モバイルデバイス」という用語は、携帯電話、スマートフォン、パーソナルまたはモバイルのマルチメディアプレーヤ、携帯情報端末(PDA)、ラップトップコンピュータ、タブレットコンピュータ、スマートブック、ウルトラブック、パームトップコンピュータ、ワイヤレス電子メール受信機、マルチメディアインターネット対応携帯電話、ワイヤレスゲームコントローラ、および、性能が重要であるメモリとプログラマブルプロセッサとを含み、節電方法が有益であるようなバッテリー電源で動作する同様のパーソナル電子デバイスのうちの、任意の1つまたはすべてを指すように、本明細書では互換的に使用される。様々な態様は、制限されたリソースを有し、バッテリーで動作する、スマートフォンなどのモバイルコンピューティングデバイスに対して特に有用であるが、これらの態様は、一般に、モノのインターネット(IOT)接続デバイスなど、プロセッサを含み、アプリケーションプログラムを実行する任意の電子デバイスにおいて有用である。
「性能劣化」という用語は、本明細書では、より長い処理時間、より遅いリアルタイム応答性、より短いバッテリー寿命、個人データの損失、悪意のある経済活動(たとえば、無許可のプレミアムSMSメッセージを送ること)、サービス拒否(DoS)、スパイまたはボットネット活動のためにモバイルデバイスを乗っ取ることまたは電話を利用することに関する動作など、多種多様な望ましくないモバイルデバイスの動作および特性を指すために使用される。
一般に、モバイルデバイスの性能および電力効率は、時間とともに劣化する。最近、アンチウイルス会社(たとえば、McAfee、Symantecなど)は、この劣化を遅くすることを狙いとするモバイルのアンチウイルス、ファイアウォール、および暗号化製品のマーケティングを開始した。しかしながら、これらのソリューションの多くは、モバイルデバイス上で計算集約的なスキャニングエンジンを周期的に実行することに依存しており、そのことが、モバイルデバイスの処理およびバッテリーのリソースの多くを消費し、モバイルデバイスを遅くさせるか、もしくは長い時間期間の間使えなくさせ、ならびに/または場合によってはユーザ体験を劣化させる場合がある。加えて、これらのソリューションは、通常、知られているウイルスおよびマルウェアの検出に限定され、(たとえば、性能劣化がウイルスもしくはマルウェアによって引き起こされないときに)経時的なモバイルデバイスの劣化に寄与するようにしばしば結びつく、複数の複雑な要因および/または相互作用に対処しない。これらおよび他の理由のために、既存のアンチウイルス、ファイアウォール、および暗号化製品は、経時的なモバイルデバイスの劣化に寄与し得る多くの要因を特定するため、モバイルデバイスの劣化を防止するため、または経年劣化したモバイルデバイスをその初期状態に効率的に回復させるための十分なソリューションを提供しない。
モバイルデバイスは、比較的限定された処理、メモリ、およびエネルギーのリソースを有する、リソースが制約されたシステムである。現代のモバイルデバイスはまた、複雑なシステムでもあり、不十分に設計されたソフトウェアアプリケーション、マルウェア、ウイルス、断片的メモリ、バックグラウンドプロセスなどを含む、モバイルデバイスの性能および電力利用レベルの経時的な劣化に寄与し得る多種多様な要因がある。これらの要因の数、多様性、および複雑さに起因して、現代のモバイルデバイスの複雑でありながらリソースが制約されたシステムの性能および/または電力利用レベルを劣化させ得る様々なプロセス、挙動、または要因(またはそれらの組合せ)のすべてを評価することは、しばしば実現可能ではない。
これらの事実に鑑みてより良い性能を提供するために、様々な態様は、任意の数または組合せの公衆およびプライベートクラウドサービス/ネットワーク(たとえば、アプリケーションストア、アンチウイルスパートナー、セキュリティパートナーなど)と連動して働いて、モバイルデバイスの性能および電力利用レベルの経時的な劣化に寄与し得る要因をインテリジェントおよび効率的に特定するように構成された、モバイルデバイスを含む。そのようなクラウドサービスは、計算的オフローディング、クラウドソーシングを提供し、ならびに、他の利益を提供して、モバイルデバイスが、モバイルデバイスの処理、メモリ、またはエネルギーのリソースの量を過剰に消費することなく、モバイルデバイス上で性能劣化要因を特定し得るようにすることができる。
一態様では、モバイルデバイスのオブザーバプロセス、デーモン、モジュール、またはサブシステム(本明細書で「モジュール」と総称する)は、モバイルデバイスシステムの様々なレベルで、様々なアプリケーションプログラミングインターフェース(API)、レジスタ、カウンタ、または他の利用可能な情報もしくは構成要素(本明細書で「装備された構成要素(instrumented component)」と総称する)を装備するかまたは協調させ、装備された構成要素から挙動情報を収集することができる。一態様では、モバイルデバイスはまた、アナライザモジュールおよび/またはクラシファイアモジュールをも含み得る。オブザーバモジュールは、収集された挙動情報をモバイルデバイスの(たとえば、メモリ書込み動作などを介して)クラシファイアモジュールおよび/またはアナライザモジュールへ、(たとえば、メモリ書込み動作、関数呼出しなどを介して)通信することができ、モバイルデバイスのクラシファイアモジュールおよび/またはアナライザモジュールは、収集された挙動情報を分析および/または分類し、挙動ベクトルを生成し、挙動ベクトルおよび様々な他のモバイルデバイスサブシステムから収集された情報に基づいて空間相関および/または時間相関を生成し、特定のモバイルデバイス挙動、ソフトウェアアプリケーション、またはプロセスが無害であるか、疑わしいか、悪意のあるものであるか、性能劣化させるかを判断することができる。
モバイルデバイスのアナライザモジュールおよび/またはクラシファイアモジュールは、モバイルデバイス挙動が無害であるか、疑わしいか、悪意のあるものであるか、性能劣化させるかを判断するために、オブザーバモジュールによって収集されたリアルタイム挙動情報に、データ、アルゴリズム、および/またはモデルを実施、実行、および/または適用することを含み得る、リアルタイム分析動作を実施するように構成され得る。アナライザモジュールおよび/またはクラシファイアモジュールによって適用されるデータ、アルゴリズム、および/またはモデルは、モバイルデバイス上にプレインストールされるか、モバイルデバイス上で生成されるか、ならびに/または、サードパーティベンダおよびアプリケーションストアを含む、任意の数または組合せの公衆およびプライベートクラウドサービス/ネットワークからダウンロードされ、もしくはそれによってアップグレードされ得る。ダウンロードされたデータ、アルゴリズム、および/またはモデルは、インストールまたは更新プロセスにおいてアナライザモジュールおよび/またはクラシファイアモジュールにインストールまたはリンクされ、アナライザモジュールおよび/またはクラシファイアモジュールがリアルタイム分析動作を実施するとき、ダウンロードされたデータ、アルゴリズム、および/またはモデルを使用してそのように行うようにすることができる。
様々な態様は、モバイルデバイスと、1つまたは複数のプライベートおよび/または公衆ネットワークおよびサービス(たとえば、アプリケーションダウンロードサービス)との間の通信を促進し、アナライザモジュールが複数のクラウドサービスと連動して働くことを可能にする、インターフェースモジュールとともに構成された、モバイルデバイスを含み得る。インターフェースモジュールはまた、モバイルデバイスが、1つまたは複数のセキュリティクラウドパートナー、モバイルデバイスにおいて生成されたモデル、および、他のパートナー(たとえば、OEM、ネットワーク事業者など)からのモデルとともに働くことを可能にすることによって、モバイルデバイスのセキュリティおよび信頼性を高める。インターフェースモジュールはまた、モバイルデバイスが、アナライザモジュールおよびクラシファイアモジュールにリンクされたデータ、アルゴリズム、および/またはモデルへの増分更新をダウンロード、または他の方法で受信することも可能にする。
インターフェースモジュールはまた、モバイルデバイスがオブザーバモジュールおよび作業用アナライザアルゴリズムの配信を受け、後でアプリケーションダウンロードサービスまたはサードパーティからダウンロードされる機械学習または挙動モデルを受信可能であることを可能にする、アプリケーションレベルのダウンロード機構を提供することもできる。これらの態様は、モバイルデバイスユーザが、ユーザのセキュリティおよび選好を最もよく満たす最新の、ターゲットを絞ったモデルを購入することを可能にする。また、これらの態様は、インストールされたモデルが、増分的に、ならびに/または、アプリストアおよび他のサードパーティソフトウェア更新機構を通してアプリケーションを更新するためのすでに配備された機構を通して、更新されることを可能にする。このことにおいて、モバイルデバイスは、既存のソフトウェア配信およびサポートインフラストラクチャを使用して、モバイルデバイスの処理、メモリ、またはエネルギーのリソースの量を過剰に消費することなく、最も最新のアナライザモデルおよび/またはクラシファイアモデルで構成され得る。
一態様では、インターフェースモジュールは、アプリケーションダウンロードサービス(たとえば、クラウドネットワークにおけるサーバ、アプリストアなど)がデータ/挙動モデルをモバイルデバイスへ送ることを可能にするように構成され得る。モバイルデバイスは、データ/挙動モデルを受信および実装、適用、または使用して、疑わしい、悪意のある、または性能劣化させるモバイルデバイス挙動を、特定および修正することができる。これは、モバイルデバイスが、モバイルデバイスの既存のデータ/挙動モデルの全部または部分を交換または更新し、新しい/更新されたモデルをモバイルデバイスにおいて収集された情報に適用することによって、達成され得る。データ/挙動モデルは、クラシファイア、OEMによって提供された電力消費のモデル、ネットワーク事業者によって提供されたネットワークトラフィック使用のモデル、セキュリティパートナーによって提供された悪意のある活動のモデル、縮小された特徴モデル(RFM:reduced feature model)などであり得る。
様々な態様では、モバイルデバイスは、オフラインクラシファイアおよび/またはリアルタイムオンラインクラシファイアを含む、ネットワークサーバと通信するように構成され得る。オフラインクラシファイアは、クラウドサービス/ネットワークから前に受信された情報に基づいて、ロバストなデータ/挙動モデルを生成することができる。リアルタイムオンラインクラシファイアは、クラウドサービス/ネットワークから受信された情報から生成された、より大きくより複雑な挙動モデルを分析することに基づいて、リーンなデータ/挙動モデルを生成することができる。リーンなデータ/挙動モデルは、アナライザが処理しなければならないデータ量を低減しながら、疑わしいかまたは悪意のある挙動を示す可能性のある情報のサブセット、ならびに/または、限られた数の状態条件および挙動を考慮または評価する、モデルを含み得る。オンラインクラシファイアとオフラインクラシファイアの両方は、特定のモバイルデバイスのためのクラウドサービス/ネットワークによって利用可能にされた、縮小された情報のサブセットを含むデータ/挙動モデルを生成することができる。一態様では、リーンなデータ/挙動モデルを生成することは、1つもしくは複数の縮小された特徴モデル(RFM)を生成すること、および/または、クラウドソースモデルを活用することを含み得る。
様々な態様では、ダウンロードされたアナライザモデル/クラシファイアモデルで構成されたモバイルデバイスを含む、モバイルデバイスは、挙動ベクトル、分析結果、および他の挙動分析データを、ダウンロードされたアナライザモデル/クラシファイアモデルをサポートするサーバなど、ネットワークサーバへ転送することができる。この挙動ベクトルおよび/または分析結果のフィードバックは、リアルタイムで、または好都合なときに発生してよく、ネットワークサーバがアナライザモデル/クラシファイアモデルを開発および精緻化することを可能にすることができ、アナライザモデル/クラシファイアモデルは、次いで、アプリケーション更新として、アプリストアインフラストラクチャなどを介して、公衆クラウドネットワークを通してモバイルデバイスに提供され得る。
一態様では、モバイルデバイスは、公衆クラウドネットワークまたはアプリストアタイプの機構を介して、ネットワークサーバから受信された、クラウドソーシングされたモデルを活用するように構成され得る。クラウドソーシングされたモデルは、ネットワークサーバにおいて、サーバが機械学習技法および/またはコンテキストモデリング技法を実施すること、実行すること、ならびに/または、多くのモバイルデバイスによって提供される挙動情報および/もしくは挙動分析の結果に適用することを介して、生成され得る。たとえば、ネットワークサーバは、多数の報告を多くのモバイルデバイスから受信し、そのようなクラウドソーシングされた情報を分析し、統合整理し、または場合によっては、使用可能な情報に、特にすべてのモバイルデバイスによって使用もしくはアクセスされ得るリーンなデータセットもしくは集中的挙動モデルに変化させることができる。
一態様では、ネットワークサーバは、増分更新をモバイルデバイスへ送ることができ、モバイルデバイスは、ネットワークサーバから受信された増分更新に基づいて、そのモデルを更新するように構成され得る。たとえば、ネットワークサーバが、1万もの挙動ルールまたはレコードを記憶するデータベースを含み、新しいルール/レコードがデータベースに(たとえば、多くのモバイルデバイスから受信されたクラウドソーシングデータを介して)追加される場合、ネットワークサーバは、(すべての1万ものレコードとは対照的に)モデルの一部分および/または新しいルールもしくはレコードのみをモバイルデバイスへ送るように構成され得る。モバイルデバイスは、新しいルール/レコードを受信し、そのルールを含めるようにその既存のモデルを更新することができる。この新しいルール/レコード、および既存のモデルへの更新のダウンロードは、アプリストアインターフェースを介して遂行され得る。
一態様では、ネットワークサーバは、新しい挙動/分析報告がモバイルデバイスから受信されるとき、既存のリーンなデータ/挙動モデルを継続的に再評価すること、ならびに/または、(たとえば、前の実行、挙動モデルの前の適用などから収集された)履歴情報、新しい情報、機械学習、コンテキストモデリング、および利用可能な情報、モバイルデバイス状態、環境条件、ネットワーク条件、モバイルデバイス性能、バッテリー消費レベルなどにおいて検出された変化に基づいて、新しいまたは更新されたリーンなデータ/挙動モデルを生成することができる。
一態様では、ネットワークサーバは、初期の特徴セット(たとえば、初期の縮小された特徴モデル)と1つまたは複数の後続の特徴セット(たとえば、後続の縮小された特徴モデル)とを含むために、リーンなデータ/挙動モデルを生成するように構成され得る。初期の特徴セットは、特定のモバイルデバイス挙動、ソフトウェアアプリケーション、またはプロセスが悪意のあるものである/性能劣化させるか、無害であるかをモバイルデバイスのクラシファイアモジュールがよりよく判断することを可能にする、最高の確率を有するように判断された情報を含み得る。後続の各特徴セットは、モバイルデバイス挙動、ソフトウェアアプリケーション、またはプロセスが悪意のあるものである/性能劣化させるか、または無害であることを最終的に判断する、次に高い確率を有するように判断された情報を含み得る。後続の各特徴セットは、その前の特徴セットよりも大きいデータセットを含み得、したがって、データ/挙動モデルを適用することに関連する性能および電力消費のコストは、後続の各特徴セットに対して漸次増加し得る。
一態様では、モバイルデバイスのクラシファイアモジュールは、モバイルデバイスプロセッサがモバイルデバイス挙動を段階的に評価することを可能にする漸進的挙動モデル(またはクラシファイア)を含むかまたは実装することができる。たとえば、クラシファイアモジュールは、初期の特徴セットを含むリーンなデータ/挙動モデルを最初に適用し、次いで、モバイルデバイス挙動が無害であるか、または悪意のあるものである/性能劣化させることをクラシファイアモジュールが判断するまで、漸次大きくなる特徴セットを含むモデルを適用するように構成され得る。次いで、クラシファイアモジュールは、その動作の結果、および/または各モデルの適用に関連する成功率をネットワークサーバへ送ることができる。ネットワークサーバは、そのような結果を使用して、そのリーンなデータ/挙動モデル(たとえば、各モデル中に含まれる特徴セットなど)を更新し、それによって、すべての報告するモバイルデバイスの結果/成功率に基づいて、データおよび/またはモデルを精緻化することができる。次いで、ネットワークサーバは、更新されたリーンなデータ/挙動モデルを、新しいモデルアプリ、または前にダウンロードされたアプリへのアップグレードとして、モバイルデバイスにとって利用可能にし、それによって、モバイルデバイスが精緻化されたリーンなデータ/挙動モデルへのアクセスを有するようにすることができる。このようにして、モバイルデバイスは、アプリストアインフラストラクチャによって提供されたソフトウェア配信および更新機構を活用して、他のモバイルデバイスの挙動および結論から迅速に利益を得ることができる。
一態様では、ネットワークサーバは、オンラインおよびオフラインのクラシファイア、モデルジェネレータ、ならびに/またはクラウドモデルを継続的に更新するように構成され得る。ネットワークサーバは、変化が新しいモデルの生成を保証するのに実質的に十分であるときと、変化が無視され得るときとを、インテリジェントに判断するように構成され得る。たとえば、ネットワークサーバは、多くの異なるモバイルデバイスから更新を受信し、機械学習動作を実施してクラシファイアの第1のファミリーを生成し、生成されたクラシファイアの第1のファミリーに対して、新しいモデルの生成を保証するのに十分な変化が存在するかどうかを判断し、クラシファイアの第1のファミリーに対して十分な変化が存在すると判断されるとき、生成されたクラシファイアの第1のファミリー中のどの特徴が最良の特徴であるかを判断し、最良の特徴に基づいてクラシファイアの第2のファミリーを生成し、生成されたクラシファイアの第2のファミリーに対して十分な変化が存在するかどうかを判断し、クラシファイアの第2のファミリーに対して十分な変化が存在すると判断されるとき、モバイルデバイスのクラシファイアのデータ/挙動モデルを生成/更新することができる。
一態様では、インターフェースモジュールは、モバイルデバイスがプライベートクラウドサービスから典型的に受信されるものよりも少ない、またはより低い頻度の更新を受信することを可能にするように構成され得る。これによって、モバイルデバイスが、ユーザの裁量で、柔軟な方法で、クラウドサービスへの常時接続性を必要とせずに、更新されたモデルを受信することが可能となる。
様々な態様では、アナライザモジュールの全部または部分が、複数のソースからダウンロードされ、モバイルデバイス上にプリロードされ、モバイルデバイスのクライアントアプリケーションにダウンロードされ、アプリケーションダウンロードサービス(たとえば、アプリストアなど)からソフトウェアアプリケーションとしてダウンロードされ得る。
様々な態様は、図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および公衆ネットワークサーバ122をさらに含み得る。ネットワークサーバ116、122と電話ネットワーク104との間の接続は、インターネット110を介するか、(破線の矢印で示すように)プライベートネットワークを介するか、または任意の他の公衆もしくは半公衆ネットワーク(たとえば、アプリケーションダウンロードフレームワーク)を介してもよい。一態様では、プライベートネットワークサーバ116はまた、クラウドサービスプロバイダネットワーク118のネットワークインフラストラクチャ内のサーバとして実装されてもよい。ネットワークサーバ116、122とモバイルデバイス102との間の通信は、電話ネットワーク104、インターネット110、プライベートネットワーク(図示せず)、またはそれらの任意の組合せを介して達成され得る。
ネットワークサーバ116、122は、データ/挙動モデルをモバイルデバイス102へ送ることができ、モバイルデバイス102は、リーンなデータ/挙動モデルを受信および使用して、疑わしいまたは性能劣化させるモバイルデバイス挙動、ソフトウェアアプリケーション、プロセスなどを特定することができる。ネットワークサーバ116、122はまた、モバイルデバイスのデータ/挙動モデルを交換、更新、作成、および/または維持するために、分類およびモデリング情報をモバイルデバイス102へ送ることもできる。
モバイルデバイス102は、挙動、状態、分類、モデリング、成功率および/または統計情報をモバイルデバイス102において収集し、収集された情報を分析のために(たとえば、電話ネットワーク104を介して)ネットワークサーバ116へ送ることができる。ネットワークサーバ116は、モバイルデバイス102から受信された情報を使用して、データ/挙動モデルを更新もしくは精緻化すること、または、分類/モデリング情報を使用して、よりターゲットを絞った、および/もしくは縮小された特徴のサブセットを含むことができる。
図2Aは、特定のモバイルデバイス挙動、ソフトウェアアプリケーション、またはプロセスが、悪意のあるものである/性能劣化させるか、疑わしいか、無害であるかを判断するように構成された、一態様のモバイルデバイス102における例示的な論理構成要素および情報フローを示す。図2Aに示す例では、モバイルデバイス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)および他の構成要素(たとえば、レジスタ、カウンタなど)を装備するかもしくは協調させ、装備された構成要素を介して様々なレベル/モジュールでモバイルデバイスの動作およびイベント(たとえば、システムイベント、状態変化など)を監視/観測し、観測された動作/イベントに関する情報を収集し、収集された情報をインテリジェントにフィルタ処理し、フィルタ処理された情報に基づいて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サーバ、Google(登録商標)Playサーバ)からのソフトウェアダウンロード、ソフトウェアアプリケーションによって使用されるモバイルデバイス情報、呼情報、テキストメッセージング情報(たとえば、SendSMS、BlockSMS、ReadSMSなど)、メディアメッセージング情報(たとえば、ReceiveMMS)、ユーザアカウント情報、位置情報、カメラ情報、加速度計情報、ブラウザ情報、ブラウザベース通信のコンテンツ、音声ベース通信のコンテンツ、短距離無線通信(たとえば、Bluetooth(登録商標)、WiFiなど)、テキストベース通信のコンテンツ、記録されたオーディオファイルのコンテンツ、電話帳または連絡先情報、連絡先リストなどを監視/観測することもできる。挙動オブザーバモジュール202は、内部プロセスであるので、情報および通信のコンテンツのその観測は、ユーザのプライバシーを損なわないはずであり、悪意のある挙動を削減または場合によっては軽減する目的は、ユーザの個人情報および秘密情報をマルウェアによる無許可配信から保護するように機能するべきである。
挙動オブザーバモジュール202は、ボイスメールを含む通信(VoiceMailComm)、デバイス識別子を含む通信(DeviceIDComm)、ユーザアカウント情報を含む通信(UserAccountComm)、カレンダ情報を含む通信(CalendarComm)、位置情報を含む通信(LocationComm)、記録されたオーディオ情報を含む通信(RecordAudioComm)、加速度計情報を含む通信(AccelerometerComm)などを含む、モバイルデバイスの送信または通信を監視/観測することができる。
挙動オブザーバモジュール202は、コンパス情報、モバイルデバイス設定、バッテリー寿命、ジャイロスコープ情報、圧力センサー、磁気センサー、スクリーン活動などの使用、およびそれらに対する更新/変更を監視/観測することができる。挙動オブザーバモジュール202は、ソフトウェアアプリケーションとの間で通信される通知(AppNotifications)、アプリケーション更新などを監視/観測することができる。挙動オブザーバモジュール202は、第2のソフトウェアアプリケーションのダウンロードおよび/またはインストールを要求している第1のソフトウェアアプリケーションに関する条件またはイベントを監視/観測することができる。挙動オブザーバモジュール202は、パスワードのエントリなどのユーザ検証に関する条件またはイベントを監視/観測することができる。
挙動オブザーバモジュール202はまた、アプリケーションレベル、無線レベル、およびセンサーレベルを含む、モバイルデバイスの複数のレベルで、条件またはイベントを監視/観測することもできる。
一態様では、監視される要因の数を管理可能レベルまで低減するために、挙動オブザーバモジュール202は、モバイルデバイスの劣化に寄与し得るすべての要因の小さいサブセットである、挙動または要因の初期セットを監視/観測することによって、粗い観測を実施することができる。一態様では、挙動オブザーバモジュール202は、ネットワークサーバ116および/またはクラウドサービスもしくはネットワーク118中の構成要素から、挙動および/または要因の初期セットを受信することができる。一態様では、挙動/要因の初期セットは、ネットワークサーバ116またはクラウドサービス/ネットワーク118から受信されたデータ/挙動モデル内で指定される場合がある。一態様では、挙動/要因の初期セットは、縮小された特徴モデル(RFM)内で指定される場合がある。
挙動オブザーバモジュール202は、モバイルデバイスメーカーまたはサービスプロバイダで供給され得るが、一態様では、挙動オブザーバモジュール202は、アプリストアからダウンロードされた挙動観測アプリケーションによって交換、補足、または更新され得る。言い換えれば、この態様では、ダウンロードされたモジュールは、挙動オブザーバモジュール、挙動アナライザモジュール、および/またはクラシファイアモジュールを含み得る。
挙動アナライザモジュール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が問題を効率的に特定し、モバイルデバイス上で問題が発生するのを防止することを可能にする。
図2Bは、挙動、ソフトウェアアプリケーション、および/またはプロセスが、悪意のあるものであるか、性能劣化させるか、疑わしいか、無害であるかを判断するように構成された、一態様のモバイルデバイス102における他の例示的な論理構成要素および情報フローを示す。図2Bに示す例では、モバイルデバイス102は、挙動オブザーバモジュール202と、挙動アナライザモジュール204と、インターフェースモジュール206と、モジュールまたは構成要素として実装され得る挙動API214とを含む。インターフェースモジュールは、パートナークライアントモジュールと、アプリケーションストアモジュールとを含み得る。モジュール202〜208、214の各々は、ソフトウェア、ハードウェアまたはそれらの任意の組合せで実装され得る。様々な態様では、モジュール202〜208、214は、高レベルオペレーティングシステム210の部分内(たとえば、カーネル内、カーネル空間中、ユーザ空間中など)、個別のプログラムもしくはアプリケーション内、専用のハードウェアバッファもしくはプロセッサ中、またはそれらの任意の組合せに実装され得る。一態様では、モジュール202〜208、214のうちの1つまたは複数は、モバイルデバイス102の1つまたは複数のプロセッサ上で実行するソフトウェア命令として実装され得る。
挙動オブザーバモジュール202は、モバイルデバイス挙動を特徴付けるために、webkit、SDK、NDK、カーネル、ドライバ、ブラウザ、ウェブレイヤソフトウェアおよびハードウェアを包含する、様々なモバイルデバイスモジュールおよびサブシステム上で、クロスレイヤ観測を実施するように構成され得る。
挙動オブザーバモジュール202は、受信されたモデルに基づいてモバイルデバイス挙動を監視/観測し、観測値を生成し、観測値を挙動アナライザモジュール204へ送ることができる。挙動アナライザモジュール204は、モバイルデバイス挙動が無害であるか、疑わしいか、悪意のあるものである/性能劣化させるかを判断するために、挙動オブザーバモジュール202によって収集された挙動情報にデータ/挙動モデルを適用することを含み得る、リアルタイム分析動作を実行することができる。挙動モデルは、モバイルデバイスにおいて生成されてよく、または、アプリケーションダウンロードサービス(たとえば、Apple(登録商標)App Store、Windows(登録商標)Store、Google(登録商標)Playなど)などの外部ソースから受信され得る。たとえば、様々な態様では、挙動アナライザモジュール204は、サードパーティネットワークサーバ116、クラウドサービスもしくはネットワーク118中の構成要素、または、アプリケーションダウンロードサーバ122から、インターフェースモジュール206を介して、挙動モデルを受信することができる。
インターフェースモジュール206は、アプリケーションダウンロードサーバ122から受信されたモデルを解釈するために好適な協調情報および/またはデータ構造を記憶する(または、記憶するデータベースもしくはサーバへのアクセスを有する)ことができる。そのような協調情報/データ構造は、挙動モデル、および/または、挙動特徴をモバイルデバイス挙動、アプリケーションもしくはプロセスの分類もしくは分析にマッピングする様々な表現(たとえば、有限状態機械、決定ツリーなど)を解釈、分析、組合せ、および/または適用するための、挙動特徴および文法の辞書データベースを含み得る。各表現は、1つまたは複数のデータ構造を含んでよく、複雑な関係、マッピング、相互接続、依存性、変換および/または状態のセットを記述することができ、知識の新しい要素を作成するように情報を編成することができる。表現は、モバイルデバイス挙動およびその特徴、挙動分類、ならびに、他の挙動、分類、またはシステムとの関係を記述することができる。
一態様では、インターフェースモジュール206は、観測された挙動情報、モバイルデバイス特徴、およびデータモデルを復号、解釈、評価、組合せ、編成、ならびに/または、通信リンク216を介してアプリケーションダウンロードサーバ122へ送信するために好適な、および/もしくは、挙動API214を介して挙動オブザーバモジュールと挙動アナライザモジュールとに送るために好適な、通信メッセージに符号化するように構成され得る。
様々な態様では、インターフェースモジュール206は、アプリケーションダウンロードサーバ122が挙動API214モジュール/構成要素を介してモバイルデバイス102中の挙動オブザーバモジュール202および挙動アナライザモジュール204と相互作用することを可能にするように構成され得る。たとえば、ユーザ許可が与えられたアプリケーション開発者は、インターフェースモジュール206を介して挙動オブザーバモジュール202および挙動アナライザモジュール204にアクセスして、モバイルデバイスの能力を発見すること、デバイス上でクライアント登録および認証動作を実施すること、モバイルデバイス中で観測/分析され得るモバイルデバイス挙動もしくは特徴のリストにアクセスすること、無害である、疑わしい、もしくは悪意のある/性能劣化させる挙動への、特徴のマッピングの有限状態機械記述を生成、ポピュレート、および/もしくは更新すること、モバイルデバイス挙動の追加のより詳細な、もしくはよりターゲットを絞った観測の要求を発行すること、特定のアプリケーション(たとえば、ホワイトリスト)を観測することからバックオフするための要求を発行すること、挙動ログ(良い、悪い、疑わしいなど)を受信するための要求を発行すること、モバイルデバイスに(たとえば、アクチュエータモジュール210を介して)修正活動を開始させる要求を発行すること、ならびに/または、モバイルデバイスにおいて他の同様の動作を実施することを行うための動作を実施することができる。
クラシファイアモジュール208が、デバイス挙動が疑わしいと判断するとき、クラシファイアモジュール208は、そのリアルタイム分析動作の結果を挙動オブザーバモジュール202に通信するように構成され得る。挙動オブザーバモジュール202は、その観測の細分性(すなわち、モバイルデバイス挙動が観測される詳細さのレベル)の調節、および/または、クラシファイアモジュール208から受信された情報に基づいて(たとえば、リアルタイム分析動作の結果に基づいて)観測される挙動の変更を行い、新しいまたは追加の挙動情報を生成または収集し、ならびに、(たとえば、新しいモデルの形態における)さらなる分析/分類のための新しい/追加の情報をクラシファイアモジュールへ送ることができる。このようにして、疑わしいもしくは性能劣化させるモバイルデバイス挙動の原因が特定されるまで、処理もしくはバッテリー消費のしきい値に到達するまで、または、観測の細分性をさらに増加させても疑わしいもしくは性能劣化させるモバイルデバイス挙動の原因が特定され得ないとモバイルデバイスプロセッサが判断するまで、モバイルデバイス102が繰り返し、観測の細分性を増加させる(すなわち、より微細にもしくはより詳細に観測する)こと、または観測される特徴/挙動を変更することを行うことができる。
モバイルデバイス102は、その動作の結果、および/またはモデルの適用に関連する成功率をネットワークサーバ116へ送ることができる。ネットワークサーバ116は、モデルジェネレータが使用するために、その結果/成功率に基づいて(たとえば、トレーニングデータモジュールを介して)トレーニングデータを生成することができ、モデルジェネレータは、更新されたモデルを生成し、更新されたモデルをモバイルデバイス102へ送ることができる。
図3は、一態様による、アプリケーションダウンロードサービスから受信されたモデルに適用され得る挙動情報を収集するように構成された、コンピューティングシステムの挙動オブザーバモジュール202における例示的な論理構成要素および情報フローを示す。挙動オブザーバモジュール202は、適応フィルタモジュール302と、スロットルモジュール304と、オブザーバモードモジュール306と、高レベル挙動検出モジュール308と、挙動ベクトルジェネレータ310と、セキュアバッファ312とを含み得る。高レベル挙動検出モジュール308は、空間相関モジュール314と時間相関モジュール316とを含み得る。
オブザーバモードモジュール306は、アナライザユニット(たとえば、図2を参照して上記で説明した挙動アナライザモジュール204)、アプリケーションAPI、および/または任意の装備された構成要素を含み得る、様々なソースから制御情報を受信することができる。オブザーバモードモジュール306は、様々なオブザーバモードに関する制御情報を適応フィルタモジュール302および高レベル挙動検出モジュール308へ送ることができる。
適応フィルタモジュール302は、複数のソースからデータ/情報を受信し、受信された情報をインテリジェントにフィルタ処理して、受信された情報から選択された情報のより小さいサブセットを生成することができる。このフィルタは、アナライザモジュールから、またはAPIを介して通信するより高いレベルのプロセスから受信された情報または制御に基づいて適合され得る。フィルタ処理された情報は、スロットルモジュール304に送られ得、スロットルモジュール304は、高レベル挙動検出モジュール308が要求または情報で氾濫するかまたは過負荷になることがないことを確実にするために、フィルタから流れる情報の量を制御する役割を果たすことができる。
高レベル挙動検出モジュール308は、スロットルモジュール304からのデータ/情報と、オブザーバモードモジュール306からの制御情報と、モバイルデバイスの他の構成要素からのコンテキスト情報とを受信することができる。高レベル挙動検出モジュール308は、受信された情報を使用して空間相関および時間相関を実施して、準最適レベルで実施することをデバイスに行わせ得る高レベル挙動を検出または特定することができる。空間相関および時間相関の結果は、挙動ベクトルジェネレータ310へ送られ得、挙動ベクトルジェネレータ310は、相関情報を受信し、特定のプロセス、アプリケーション、またはサブシステムの挙動を記述する挙動ベクトルを生成することができる。非限定的な態様では、挙動ベクトルジェネレータ310は、特定のプロセス、アプリケーション、またはサブシステムの高レベル挙動が挙動ベクトルの要素であり得るように、挙動ベクトルを生成することができる。一態様では、生成された挙動ベクトルは、セキュアバッファ312内に記憶され得る。高レベル挙動検出の例は、特定のイベントの存在、別のイベントの量または頻度、複数のイベント間の関係、イベントが発生する順序、いくつかのイベントの発生の間の時間差などの検出を含み得る。
様々な態様では、挙動オブザーバモジュール202は、適応観測を実施し、観測の細分性を制御することができる。すなわち、挙動オブザーバモジュール202は、観測されるべき関連挙動を動的に特定し、特定された挙動が観測されるべき詳細さのレベルを動的に判断することができる。このようにして、挙動オブザーバモジュール202は、様々なレベル(たとえば、複数の粗いレベルおよび微細なレベル)においてシステムがモバイルデバイスの挙動を監視することを可能にする。挙動オブザーバモジュール202は、観測されているものにシステムが適応することを可能にすることができる。挙動オブザーバモジュール202は、多様なソースから取得され得る情報の集中的なサブセットに基づいて、観測されている要因/挙動を、システムが動的に変更することを可能にすることができる。
上記で説明したように、挙動オブザーバモジュール202は、適応観測技法を実施し、様々なソースから受信された情報に基づいて観測の細分性を制御することができる。たとえば、高レベル挙動検出モジュール308は、スロットルモジュール304、オブザーバモードモジュール306からの情報と、モバイルデバイスの他の構成要素(たとえば、センサー)から受信されたコンテキスト情報とを受信することができる。一例として、時間相関を実施する高レベル挙動検出モジュール308は、カメラが使用されたこと、および、モバイルデバイスがサーバへのピクチャのアップロードを試みていることを検出することがある。高レベル挙動検出モジュール308はまた、デバイスがホルスターに入れられ、ユーザのベルトに取り付けられていた間に、モバイルデバイス上のアプリケーションがピクチャを撮ったかどうか、または、バックグラウンドプロセスがユーザ対話なしにカメラスナップショットイベントをトリガしたかどうかを判断するために、空間相関を実施することもできる。高レベル挙動検出モジュール308は、この検出された高レベル挙動(たとえば、ホルスターに入れたままでカメラを使用すること)が容認できるまたは一般的な挙動であるかどうかを判断し得、そのことは、モバイルデバイスの現在の挙動と過去の挙動とを比較することによって、および/または複数のデバイスから収集された情報(たとえば、クラウドソーシングサーバから受信された情報)にアクセスすることによって達成され得る。ホルスターに入れられている間にピクチャを撮り、それらをサーバにアップロードすることは、(ホルスターに入れられている状況で観測される通常の挙動から判断され得るように)異常な挙動であるので、この状況では、高レベル挙動検出モジュール308は、これを、潜在的に危険な(threatening)挙動と認識し、適切な対応(たとえば、カメラを遮断する、警報を鳴らすなど)を開始することができる。
一態様では、挙動オブザーバモジュール202は、複数の部分に実装され得る。
図4は、一態様のオブザーバデーモンを実装するコンピューティングシステム400における論理構成要素および情報フローを示す。図4に示す例では、コンピューティングシステム400は、ユーザ空間内に挙動検出器402モジュール、データベースエンジン404モジュールおよび挙動アナライザモジュール204と、カーネル空間内にリングバッファ414、フィルタルール416モジュール、スロットリングルール418モジュールおよびセキュアバッファ420とを含む。コンピューティングシステム400は、ユーザ空間内に挙動検出器402およびデータベースエンジン404と、カーネル空間内にセキュアバッファマネージャ406、ルールマネージャ408およびシステムヘルスモニタ410とを含む、オブザーバデーモンをさらに含み得る。
様々な態様は、システム挙動を特徴付けるためにwebkit、SDK、NDK、カーネル、ドライバ、およびハードウェアを包含する、モバイルデバイス上のクロスレイヤ観測を提供できる。挙動観測は、リアルタイムで行われ得る。
オブザーバモジュールは、適応観測技法を実施し、観測の細分性を制御することができる。上記で説明したように、モバイルデバイスの劣化に寄与し得る多数(すなわち、数千)の要因が存在し、デバイスの性能の劣化に寄与し得る異なる要因のすべてを監視/観測することは実現不可能であり得る。これを克服するために、様々な態様は、観測されるべきである関連挙動を動的に特定し、特定された挙動が観測されるべき詳細さのレベルを動的に判断することができる。特定された挙動は、クラウドソーシングモデルの一部として使用され、他のモバイルデバイスのいずれかが同じまたは同様の挙動に遭遇する前でも、最初のモバイルデバイス上で学習された情報が、他のモバイルデバイスの利益になるように使用され得るようにすることができる。
図5は、一態様による動的および適応観測を実施するための例示的な方法500を示す。ブロック502で、モバイルデバイスプロセッサは、モバイルデバイスの劣化に寄与し得る多数の要因/挙動のサブセットを監視/観測することによって、粗い観測を実施することができる。ブロック503で、モバイルデバイスプロセッサは、粗い観測を特徴付ける挙動ベクトルおよび/または粗い観測に基づくモバイルデバイス挙動を生成できる。ブロック504で、モバイルデバイスプロセッサは、モバイルデバイスの劣化に潜在的に寄与し得る粗い観測に関連するサブシステム、プロセス、および/またはアプリケーションを特定することができる。これは、たとえば、複数のソースから受信された情報とモバイルデバイスのセンサーから受信されたコンテキスト情報とを比較することによって達成され得る。ブロック506で、モバイルデバイスプロセッサは、粗い観測に基づいて挙動分析動作を実施することができる。態様では、ブロック503および504の一部として、モバイルデバイスプロセッサは、図2〜図4を参照して上記で説明した動作のうちの1つまたは複数を実施することができる。
判断ブロック508で、疑わしい挙動または潜在的問題が特定され、挙動分析の結果に基づいて修正され得るかどうかを、モバイルデバイスプロセッサが判断できる。疑わしい挙動または潜在的問題が特定され、挙動分析の結果に基づいて修正され得るとモバイルデバイスプロセッサが判断する(すなわち、判断ブロック508=「Yes」)とき、ブロック518で、プロセッサは、挙動を修正するためのプロセスを開始し、ブロック502に戻って追加の粗い観測を実施することができる。
疑わしい挙動または潜在的問題が、挙動分析の結果に基づいて特定および/または修正され得ないとモバイルデバイスプロセッサが判断する(すなわち、判断ブロック508=「No」)とき、判断ブロック509で、モバイルデバイスプロセッサは、問題の可能性があるかどうかを判断できる。一態様では、モバイルデバイスプロセッサは、モバイルデバイスが潜在的問題に遭遇することおよび/または疑わしい挙動に関与することの確率を計算し、計算された確率が所定のしきい値よりも大きいかどうかを判断することによって、問題の可能性があると判断することができる。計算された確率が所定のしきい値よりも大きくない、ならびに/または、疑わしい挙動もしくは潜在的問題が存在するおよび/もしくは検出可能である可能性はないとモバイルデバイスプロセッサが判断する(すなわち、判断ブロック509=「No」)とき、プロセッサは、ブロック502に戻って追加の粗い観測を実施することができる。
疑わしい挙動または潜在的問題が存在するおよび/または検出可能である可能性があるとモバイルデバイスプロセッサが判断する(すなわち、判断ブロック509=「Yes」)とき、ブロック510で、モバイルデバイスプロセッサは、特定されたサブシステム、プロセスまたはアプリケーション上で、よりディープなロギングを実施することができる。ブロック512で、モバイルデバイスプロセッサは、よりディープなロギングに基づいて、特定されたサブシステム、プロセスまたはアプリケーション上で、よりディープでより詳細な観測を実施することができる。ブロック514で、モバイルデバイスプロセッサは、よりディープでより詳細な観測に基づいて、さらなるおよび/またはよりディープな挙動分析を実施することができる。
判断ブロック508で、モバイルデバイスプロセッサは、よりディープな挙動分析の結果に基づいて、疑わしい挙動または潜在的問題が特定され修正され得るかどうかを再び判断することができる。よりディープな挙動分析の結果に基づいて疑わしい挙動または潜在的問題が特定され修正され得ないとモバイルデバイスプロセッサが判断する(すなわち、判断ブロック508=「No」)とき、詳細さのレベルが問題を特定するのに十分に微細になるまで、または詳細さを追加しても問題が特定され得ないかもしくは問題が存在しないと判断されるまで、プロセッサはブロック510〜514で動作を繰り返すことができる。
図6は、挙動オブザーバ/アナライザ/クラシファイアモジュールまたは挙動モデルを、アプリケーションストアからモバイルデバイスへダウンロードするための一態様の方法600を示す。ブロック602で、モバイルデバイスは、ユーザ入力に応答して、インターネットなどのネットワークを介して、オンラインアプリストアにアクセスすることができる。ブロック602の一部として、モバイルデバイスはまた、認証ルーチンを実施して、アクセスされたアプリケーションストアが実際に信頼できるサイトであり、中間者攻撃を実行するマルウェアまたはサーバのソースではないことを確認することもできる。そのような認証プロセスは、モバイルデバイスをマルウェアから保護するために、様々な態様で特に必要であり得るものであり、その理由は、その態様のモデル/アプリケーションが、性能劣化させる挙動およびソフトウェアからモバイルデバイスを保護するように意図されているからである。アプリケーションおよびデータに署名し、それらの署名をモバイルデバイス上で検証することは、信頼を達成するために使用され得る1つの方法である。
アプリケーションストアが認証されると、モバイルデバイスは、ブロック604で、ダウンロードまたは更新のために利用可能なモデルのメニューをダウンロードし、モバイルデバイスのディスプレイ上にメニューを提示することができる。モバイルデバイスは、代替として、その構成選好をアプリケーションストアにアップロードすることができる。ブロック606で、モバイルデバイスプロセッサは、ユーザ選択入力を受信し、ブロック608で、ユーザの選択またはデバイスのプレインストールされた構成に基づいて、ダウンロードまたは更新要求をアプリケーションストアへ送ることができる。
ブロック610で、モバイルデバイスプロセッサは、要求されたモデルまたはアプリケーションのダウンロードを受信し、コードをメモリのバッファ部分に記憶することができる。判断ブロック612で、モバイルデバイスプロセッサは、ダウンロードされたコードに対してソフトウェア検証および妥当性確認プロセスを実施して、正確にダウンロードされており、信頼されたサードパーティによって妥当性確認されてから修正されていないかどうかを判断することができる。ダウンロードされたコードを検証および妥当性確認するための機構は、当技術分野でよく知られており、判断ブロック612で実施され得る。ダウンロードされたコードが検証または妥当性確認されない(すなわち、判断ブロック612=「No」)場合、ブロック620で、プロセッサは、コードをバッファメモリから削除することができる。
ダウンロードされたコードが検証および妥当性確認される(すなわち、判断ブロック612=「Yes」)場合、プロセッサは、ブロック614で、ダウンロードされたモデルまたはアプリケーションをインストールすることができる。このインストールプロセスは、コードを実行するためにバッファからメモリの適切な部分にコピーすることを伴い得る。これはまた、特に更新の場合、前にインストールされたモデルまたはアプリケーションを交換することを伴い得る。代替として、新しい挙動ルールが、先在するルールセットに付加され得る。ブロック616で、プロセッサは、モデルまたはアプリケーションを、アナライザモジュールおよび/またはクラシファイアモジュールに登録することによって、インストールプロセスを完了することができる。上述のように、ダウンロードされたデータ、アルゴリズム、および/またはモデルは、インストールまたは更新プロセスにおいてアナライザモジュールおよび/またはクラシファイアモジュールにインストールまたはリンクされ、アナライザモジュールおよび/またはクラシファイアモジュールがリアルタイム分析動作を実施するとき、ダウンロードされたデータ、アルゴリズム、および/またはモデルを使用してそのように行うようにすることができる。インストールプロセスが完了すると、プロセッサは、ブロック618で、ダウンロードされたモデル/アプリケーションを使用して、デバイス挙動を監視、分析および/または分類することを開始することができる。
図7は、挙動分析モデルをダウンロードおよび使用するための一態様の方法700を示す。ブロック702で、モバイルデバイスのプロセッサは、アプリケーションダウンロードサービスから挙動モデルを受信することができる。挙動モデルは、モバイルデバイス挙動が無害であるか悪意のあるものであるかをモバイルデバイスプロセッサがよりよく判断することを可能にすることに、最も関連があると判断された要因およびデータポイントを特定することができる。
ブロック704で、モバイルデバイスプロセッサは、モバイルデバイスにインストールされた既存の分析エンジンと連動して、ダウンロードされた挙動モデルをモバイルデバイスにインストールすることができる。一実施形態では、これは、アプリケーションダウンロードサーバから受信されたモデルを解釈するために好適な協調情報および/またはデータ構造など、APIモジュールによって記憶された情報にアクセスすることによって達成され得る。そのような協調情報/データ構造は、挙動モデル、および/または、挙動特徴をモバイルデバイス挙動、アプリケーションもしくはプロセスの分類もしくは分析にマッピングする様々な表現(たとえば、有限状態機械、決定ツリーなど)を解釈、分析、組合せ、および/または適用するための、挙動特徴および文法の辞書データベースを含み得る。ブロック706で、モバイルデバイスプロセッサは、ダウンロードされた挙動モデルを使用して、モバイルデバイス挙動を監視することができる。
図8は、交換用挙動分析モジュール/アプリケーションをダウンロードおよび使用するための一態様のモバイルデバイス方法800を示す。ブロック802で、モバイルデバイスのプロセッサは、アプリケーションダウンロードサービスから挙動モデルを受信することができる。挙動モデルは、モバイルデバイス挙動が無害であるか悪意のあるものであるかをモバイルデバイスプロセッサがよりよく判断することを可能にすることに、最も関連があると判断された要因およびデータポイントを特定することができる。ブロック804で、モバイルデバイスプロセッサは、既存の挙動モデルを受信されたモデルと交換することができる。ブロック806で、モバイルデバイスプロセッサは、受信されたモデルを分析エンジンにリンクさせて、分析エンジンが分析動作を実施するとき、受信されたモデルを使用してそのように行うようにすることができる。
図9は、挙動分析モジュール/アプリケーションをアプリケーションストアからモバイルデバイスへダウンロードするための一態様のモバイルデバイス方法900を示す。ブロック902で、モバイルデバイスのプロセッサは、アプリケーションダウンロードサービスから挙動モデルを受信することができる。挙動モデルは、モバイルデバイス挙動が無害であるか悪意のあるものであるかをモバイルデバイスプロセッサがよりよく判断することを可能にすることに、最も関連があると判断された要因およびデータポイントを特定することができる。ブロック904で、モバイルデバイスプロセッサは、既存の挙動モデルの全部または部分を、受信されたモデル中に含まれる情報で更新することができる。ブロック906で、モバイルデバイスプロセッサは、更新されたモデルを分析エンジンにリンクさせて、分析エンジンが分析動作を実施するとき、更新された挙動モデルを使用してそのように行うようにすることができる。
図10は、複数の挙動分析モジュール/アプリケーションを複数の公衆ネットワークからダウンロードするための、モバイルデバイスにおいて実施され得る一態様の方法1000を示す。ブロック1002で、モバイルデバイスのプロセッサは、複数の公衆ネットワークから複数の挙動モデルを受信することができる。各挙動モデルは、モバイルデバイス挙動が無害であるか悪意のあるものであるかをモバイルデバイスプロセッサがよりよく判断することを可能にすることに、最も関連があると判断された要因およびデータポイントを特定することができる。ブロック1004で、モバイルデバイスプロセッサは、1つまたは複数の既存の挙動モデルの全部または部分を、受信されたモデルのうちの1つまたは複数中に含まれる情報で更新することができる。ブロック1006で、モバイルデバイスプロセッサは、更新されたモデルを分析エンジンにリンクさせて、分析エンジンが分析動作を実施するとき、更新された挙動モデルを使用してそのように行うようにすることができる。
図11は、公衆ネットワークから受信された、更新された挙動モデルを使用して、挙動分析動作を実施するための、モバイルデバイスにおいて実施され得る一態様の方法1100を示す。ブロック1102で、モバイルデバイスにおけるプロセッサは、モバイルデバイスシステムの様々なレベルで、様々なAPI、レジスタ、カウンタ、または他の利用可能な情報もしくは構成要素を、装備するかまたは協調させることができる。ブロック1104で、モバイルデバイスプロセッサは、装備された構成要素から挙動情報を収集することができる。ブロック1106で、モバイルデバイスプロセッサは、収集された挙動情報をモバイルデバイスの(たとえば、メモリ書込み動作などを介して)クラシファイアモジュールおよび/またはアナライザモジュールへ(たとえば、メモリ書込み動作、関数呼出しなどを介して)送ることができる。
ブロック1108で、モバイルデバイスプロセッサは、収集された挙動情報を分析および/または分類し、挙動ベクトルを生成し、挙動ベクトルと、挙動モデルと、様々な他のモバイルデバイスサブシステムから収集された情報とに基づいて、空間相関および/または時間相関を生成することができる。ブロック1110で、モバイルデバイスプロセッサは、特定のモバイルデバイス挙動、ソフトウェアアプリケーション、またはプロセスが無害であるか、疑わしいか、悪意のあるものであるか、性能劣化させるかを判断するために、様々な分析動作を実施することを開始することができる。
ブロック1112で、モバイルデバイスプロセッサは、モバイルデバイス挙動が無害であるか悪意のあるものであるかを判断することに最も関連がある要因およびデータポイントをよりよく特定する、新しい挙動モデルを受信することができる。ブロック1114で、モバイルデバイスプロセッサは、既存の挙動モデルを受信されたモデルと交換することができる。ブロック1116で、モバイルデバイスプロセッサは、受信されたモデルを分析エンジンにリンクさせることができる。判断ブロック1118で、モバイルデバイスは、モバイルデバイス挙動が無害であるとして分類されたか、悪意のあるものとして分類されたか、および/または、問題が特定されたかどうかを判断することができる。モバイルデバイスプロセッサが、問題が特定されたと判断する(すなわち、判断ブロック1118=「Yes」)場合、ブロック1120で、モバイルデバイスプロセッサは、問題を解決するための動作を実施することができる。モバイルデバイスプロセッサが、問題が特定されていないと判断する(すなわち、判断ブロック1118=「No」)場合、問題が特定されるまで、ブロック1108〜1116における動作が繰り返され得る。
モバイルデバイスのアナライザモジュールおよび/またはクラシファイアモジュールは、モバイルデバイス挙動が無害であるか、疑わしいか、悪意のあるものであるか、性能劣化させるかを判断するために、オブザーバモジュールによって収集されたリアルタイム挙動情報に、データ、アルゴリズム、および/またはモデルを実施、実行、および/または適用することを含み得る、リアルタイム分析動作を実施するように構成され得る。アナライザモジュールおよび/またはクラシファイアモジュールによって適用されるデータ、アルゴリズム、および/またはモデルは、モバイルデバイス上にプレインストールされるか、モバイルデバイス上で生成されるか、ならびに/または、サードパーティベンダおよびアプリケーションストアを含む、任意の数または組合せの公衆およびプライベートクラウドサービス/ネットワークからダウンロードされ、もしくはそれによってアップグレードされ得る。ダウンロードされたデータ、アルゴリズム、および/またはモデルは、インストールまたは更新プロセスにおいてアナライザモジュールおよび/またはクラシファイアモジュールにインストールまたはリンクされ、アナライザモジュールおよび/またはクラシファイアモジュールがリアルタイム分析動作を実施するとき、ダウンロードされたデータ、アルゴリズム、および/またはモデルを使用してそのように行うようにすることができる。
様々な態様が、多様なモバイルコンピューティングデバイス上に実装され得、それらの一例が、スマートフォンの形で図12に示されている。スマートフォン1200は、内部メモリ1202と、ディスプレイ1203と、スピーカとに結合されたプロセッサ1201を含み得る。加えて、スマートフォン1200は、プロセッサ1201に結合されたワイヤレスデータリンクおよび/または携帯電話トランシーバ1205に接続され得る、電磁放射を送信および受信するためのアンテナ1204を含み得る。スマートフォン1200は通常、ユーザ入力を受け取るためのメニュー選択ボタンまたはロッカースイッチ1206も含む。
一般的なスマートフォン1200はまた、マイクロフォンから受信された音をワイヤレス送信に適したデータパケットにデジタル化し、受信された音のデータパケットを復号し、スピーカに供給されて音を発生するアナログ信号を生成する、音の符号化/復号(CODEC)回路1212を含む。同じく、プロセッサ1201、ワイヤレストランシーバ1205およびCODEC1212のうちの1つまたは複数は、デジタル信号プロセッサ(DSP)回路(個別に示されず)を含み得る。
態様の方法の一部は、態様の方法を実行している間にモバイルデバイスプロセッサによってアクセスされ得る通常動作挙動のデータベースを維持することなど、サーバ内で発生する処理のいくつかによって、クライアントサーバアーキテクチャにおいて遂行され得る。そのような態様は、図13に示すサーバ1300のような、種々の市販のサーバデバイスのいずれにおいても実装され得る。そのようなサーバ1300は通常、揮発性メモリ1302と、ディスクドライブ1303のような大容量の不揮発性メモリとに結合された、プロセッサ1301を含む。サーバ1300はまた、プロセッサ1301に結合されたフロッピー(登録商標)ディスクドライブ、コンパクトディスク(CD)またはDVDディスクドライブ1301を含み得る。サーバ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などの高水準プログラミング言語で、または様々な他のプログラミング言語で記述される場合がある。本出願で使用する場合、コンピュータ可読記憶媒体に記憶されるプログラムコードまたはプログラムは、そのフォーマットがプロセッサによって理解可能である(オブジェクトコードなどの)機械語コードを指す場合がある。
多くのモバイルコンピューティングデバイスのオペレーティングシステムのカーネルは、(非特権コードが動作する場合)ユーザ空間内に編成され、(特権コードが動作する場合)カーネル空間内に編成される。この分離は、カーネル空間の一部であるコードが許諾される必要がある一方で、ユーザ空間内で動作するコードがそのような許諾を必要としない、Android(登録商標)および他の一般公有使用許諾(GPL)環境またはオープンソース環境において特に重要である。本明細書で説明する様々なソフトウェア構成要素/モジュールは、明示的に別段の記述がない場合、カーネル空間またはユーザ空間のいずれかに実装され得ることを理解されたい。
上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供したものであり、様々な態様のステップを提示された順序で実施しなければならないことを要求または暗示するものではない。当業者によって諒解されるように、上記の態様におけるステップの順序は、いかなる順序でも実施することができる。「その後」、「次いで」、「次に」などの単語は、ステップの順序を限定するものではなく、これらの単語は、単に、方法の説明を通して読者を案内するために使用される。さらに、たとえば、冠詞「a」、「an」または「the」を使用する単数形での請求要素への任意の言及は、その要素を単数に限定するものとして解釈されるべきではない。
本出願で使用する場合、「構成要素」、「モジュール」、「システム」、「エンジン」、「ジェネレータ」、「マネージャ」などの用語は、限定はしないが、特定の動作または機能を実施するように構成された、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアなどのコンピュータ関連エンティティを含むものとする。たとえば、構成要素は、プロセッサ上で動作しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであり得るが、それらに限定されない。実例として、コンピューティングデバイス上で動作しているアプリケーションとコンピューティングデバイスの両方は、構成要素と呼ばれる場合がある。1つまたは複数の構成要素は、プロセスおよび/または実行スレッドの中に存在する場合があり、1つの構成要素は、1つのプロセッサもしくはコアに局在する場合があり、かつ/または2つ以上のプロセッサもしくはコアの間に分散する場合がある。加えて、これらの構成要素は、様々な命令および/またはデータ構造を記憶している様々な非一時的コンピュータ可読媒体から実行することができる。構成要素は、ローカルプロセスおよび/またはリモートプロセス、関数呼出しまたはプロシージャ呼出し、電子信号、データパケット、メモリ読出し/書込み、ならびに他の知られているネットワーク、コンピュータ、プロセッサ、および/またはプロセス関連の通信方法によって通信することができる。
本明細書で開示する態様に関して説明する、様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装することができる。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、概してそれらの機能に関して上記で説明した。そのような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、具体的な適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明された機能を具体的な適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を引き起こすものと解釈されるべきではない。
本明細書で開示する態様に関して説明する様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別のハードウェア構成要素、または、本明細書で説明する機能を実施するように設計されたそれらの任意の組合せで、実装または実施され得る。汎用プロセッサはマルチプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとGPUとマルチプロセッサとの組合せ、複数のマルチプロセッサ、DSPコアと連動する1つもしくは複数のマルチプロセッサ、または任意の他のそのような構成として実装され得る。代替として、いくつかのステップまたは方法は、所与の機能に固有の回路によって実施され得る。
1つまたは複数の例示的な態様では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、非一時的コンピュータ可読媒体または非一時的プロセッサ可読記憶媒体に記憶され得る。本明細書で開示された方法またはアルゴリズムのステップは、非一時的コンピュータ可読記憶媒体またはプロセッサ可読記憶媒体上に存在し得るプロセッサ実行可能ソフトウェアモジュールで具現化され得る。非一時的コンピュータ可読記憶媒体またはプロセッサ可読記憶媒体は、コンピュータまたはプロセッサによってアクセスされ得る任意の記憶媒体であってよい。限定ではなく例として、そのような非一時的コンピュータ可読媒体またはプロセッサ可読媒体は、RAM、ROM、EEPROM、フラッシュメモリ、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せも、非一時的コンピュータ可読媒体およびプロセッサ可読媒体の範囲内に含まれる。加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、非一時的プロセッサ可読媒体および/またはコンピュータ可読媒体上のコードおよび/または命令の、1つまたは任意の組合せまたはセットとして存在し得る。
開示された態様の上記の説明は、任意の当業者が本発明を製作または使用することが可能になるように提供される。これらの態様への様々な修正が当業者には容易に明らかであり、本明細書で定義された一般的な原理は、本発明の趣旨または範囲を逸脱することなく、他の態様に適用することができる。したがって、本発明は、本明細書で示された態様に限定されるものではなく、以下の特許請求の範囲ならびに本明細書で開示された原理および新規の特徴に合致する、最も広い範囲を与えられるべきである。
100 通信システム
102 モバイルデバイス
104 セル電話ネットワーク、電話ネットワーク
106 セル基地局
108 ネットワーク運用センター
110 インターネット
112 双方向ワイヤレス通信リンク
114、1300 サーバ
116 プライベートネットワークサーバ、ネットワークサーバ、サードパーティネットワークサーバ
118 クラウドサービスプロバイダネットワーク、ネットワーク、クラウドサービス/ネットワーク
122 公衆ネットワークサーバ、ネットワークサーバ、アプリケーションダウンロードサーバ
202 挙動オブザーバモジュール
204 挙動アナライザモジュール
206 外部コンテキスト情報モジュール、インターフェースモジュール
208 クラシファイアモジュール
210 アクチュエータモジュール、高レベルオペレーティングシステム
214 挙動API
216 通信リンク
302 適応フィルタモジュール
304 スロットルモジュール
306 オブザーバモードモジュール
308 高レベル挙動検出モジュール
310 挙動ベクトルジェネレータ
312 セキュアバッファ
314 空間相関モジュール
316 時間相関モジュール
400 コンピューティングシステム
402 挙動検出器
404 データベースエンジン
406 セキュアバッファマネージャ
408 ルールマネージャ
410 システムヘルスモニタ
414 リングバッファ
416 フィルタルール
418 スロットリングルール
420 セキュアバッファ
1200 スマートフォン
1201、1301 プロセッサ
1202 内部メモリ
1203 ディスプレイ
1204 アンテナ
1205 ワイヤレスデータリンクおよび/または携帯電話トランシーバ、ワイヤレストランシーバ
1206 メニュー選択ボタンまたはロッカースイッチ
1212 音の符号化/復号(CODEC)回路
1301 フロッピー(登録商標)ディスクドライブ、コンパクトディスク(CD)またはDVDディスクドライブ
1302 揮発性メモリ、内部メモリ
1303 ディスクドライブ、内部メモリ
1304 ネットワークアクセスポート
1305 ネットワーク

Claims (48)

  1. モバイルデバイスにおいてモバイルデバイス挙動を監視するための方法であって、
    モバイルデバイスプロセッサにおいて、アプリケーションダウンロードサービスから挙動モデルを受信するステップであって、前記受信された挙動モデルは、モバイルデバイス挙動が無害であるか悪意のあるものであるかを前記モバイルデバイスプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定するステップと、
    前記モバイルデバイスにインストールされた既存の挙動アナライザエンジンと連動して、前記受信された挙動モデルを前記モバイルデバイスにインストールするステップと、
    前記インストールされた挙動モデルを使用して、1つまたは複数のモバイルデバイス挙動を監視するステップと
    を含む方法。
  2. 前記挙動モデルを受信するステップが、モバイルデバイス挙動が無害であるか悪意のあるものであるかを前記モバイルデバイスプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定する、ソフトウェアアプリケーションを受信するステップを含む、請求項1に記載の方法。
  3. 前記挙動モデルを受信するステップが、モバイルデバイス挙動が無害であるか悪意のあるものであるかを前記モバイルデバイスプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定する、XML、JSON、YAMLおよびHTML/XHTMLを含むグループから選択されたファイルを受信するステップを含む、請求項1に記載の方法。
  4. 前記挙動モデルを受信するステップが、挙動分類への特徴のマッピングを含む有限状態機械表現を受信するステップを含む、請求項1に記載の方法。
  5. 既存の挙動モデルを前記受信された挙動モデルと交換するステップと、
    前記受信された挙動モデルを前記既存の挙動アナライザエンジンにリンクさせて、前記既存の挙動アナライザエンジンが分析動作を実施するとき、前記受信された挙動モデルを使用してそのように行うようにするステップと
    をさらに含む、請求項1に記載の方法。
  6. 既存の挙動モデルを、前記受信された挙動モデル中に含まれる情報で更新するステップと、
    前記更新された挙動モデルを前記既存の挙動アナライザエンジンにリンクさせて、前記既存の挙動アナライザエンジンが分析動作を実施するとき、前記更新された挙動モデルを使用してそのように行うようにするステップと
    をさらに含む、請求項1に記載の方法。
  7. 複数の公衆ネットワークから複数の挙動モデルを受信するステップと、
    少なくとも1つの既存の挙動モデルを、前記受信された複数の挙動モデルのうちの1つまたは複数中に含まれる情報で更新するステップと
    をさらに含む、請求項1に記載の方法。
  8. 前記アプリケーションダウンロードサービスから前記挙動モデルを受信するステップが、
    クラウドサービスネットワークサーバと、
    アプリストアサーバと、
    ユニフォームリソースロケータアドレスを介して識別されたウェブサーバと、
    ファイル転送プロトコルサービスネットワークサーバと
    のうちの1つから前記挙動モデルを受信するステップを含む、請求項1に記載の方法。
  9. 前記アプリケーションダウンロードサービスから前記挙動モデルを受信するステップが、
    前記モバイルデバイスプロセッサによって、オンラインアプリストアにアクセスし、認証するステップと、
    前記オンラインアプリストアから、ダウンロードまたは更新のために利用可能な挙動モデルのメニューをダウンロードするステップと、
    前記モバイルデバイスプロセッサにおいて、ユーザ選択入力を受信するステップと、
    ユーザにより選択された挙動モデルのダウンロードまたは更新を、前記オンラインアプリストアに要求するステップと、
    前記要求された、ユーザにより選択された挙動モデルを、前記モバイルデバイスのダウンロードバッファにおいて受信するステップと
    を含む、請求項1に記載の方法。
  10. 前記モバイルデバイスにインストールされた前記既存の挙動アナライザエンジンと連動して、前記受信された挙動モデルを前記モバイルデバイスにインストールするステップが、
    前記受信された挙動モデルを妥当性確認するステップと、
    前記妥当性確認された挙動モデルを、前記モバイルデバイスのメモリにインストールするステップと、
    前記インストールされた挙動モデルを、前記モバイルデバイスのオブザーバモジュールに登録するステップと
    を含む、請求項1に記載の方法。
  11. 前記インストールされた挙動モデルを使用して、1つまたは複数のモバイルデバイス挙動を監視するステップが、
    ある時間期間にわたってモバイルデバイス挙動を観測するステップと、
    前記時間期間にわたってモバイルデバイス挙動を観測することに基づいて、通常のモバイルデバイス動作と矛盾するモバイルデバイス挙動を特定するステップと、
    前記通常のモバイルデバイス動作と矛盾するとして特定されるモバイルデバイス挙動に基づいて、挙動ベクトルを生成するステップと、
    前記生成された挙動ベクトルを、前記インストールされた挙動モデルと比較して、前記特定されたモバイルデバイス挙動が無害であるか、疑わしいか、悪意のあるものであるかを判断するステップと
    を含む、請求項1に記載の方法。
  12. モバイルデバイス挙動が無害であるか悪意のあるものであるかを前記モバイルデバイスプロセッサがよりよく判断することを可能にすることに関連があるとして、追加の要因およびデータポイントを特定する、新しい挙動モデルを受信するステップと、
    特定されたモバイルデバイス挙動が疑わしいと判断することに応答して、前記インストールされた挙動モデルを、前記新しい挙動モデル中に含まれる情報で更新するステップと、
    前記生成された挙動ベクトルを、前記更新された挙動モデルと比較して、前記特定された疑わしいモバイルデバイス挙動が無害であるか悪意のあるものであるかをよりよく判断するステップと
    をさらに含む、請求項11に記載の方法。
  13. モバイルデバイスプロセッサと、
    アプリケーションダウンロードサービスから挙動モデルを受信するための手段であって、前記受信された挙動モデルは、モバイルデバイス挙動が無害であるか悪意のあるものであるかを前記モバイルデバイスプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定する手段と、
    既存の挙動アナライザエンジンと連動して、前記受信された挙動モデルをインストールするための手段と、
    前記インストールされた挙動モデルを使用して、1つまたは複数のモバイルデバイス挙動を監視するための手段と
    を含むモバイルコンピューティングデバイス。
  14. 前記挙動モデルを受信するための手段が、モバイルデバイス挙動が無害であるか悪意のあるものであるかを前記モバイルデバイスプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定する、ソフトウェアアプリケーションを受信するための手段を含む、請求項13に記載のモバイルコンピューティングデバイス。
  15. 前記挙動モデルを受信するための手段が、モバイルデバイス挙動が無害であるか悪意のあるものであるかを前記モバイルデバイスプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定する、XMLファイルを受信するための手段を含む、請求項13に記載のモバイルコンピューティングデバイス。
  16. 前記挙動モデルを受信するための手段が、挙動分類への特徴のマッピングを含む有限状態機械表現を受信するための手段を含む、請求項13に記載のモバイルコンピューティングデバイス。
  17. 既存の挙動モデルを前記受信された挙動モデルと交換するための手段と、
    前記受信された挙動モデルを前記既存の挙動アナライザエンジンにリンクさせて、前記既存の挙動アナライザエンジンが分析動作を実施するとき、前記受信された挙動モデルを使用してそのように行うようにするための手段と
    をさらに含む、請求項13に記載のモバイルコンピューティングデバイス。
  18. 既存の挙動モデルを、前記受信された挙動モデル中に含まれる情報で更新するための手段と、
    前記更新された挙動モデルを前記既存の挙動アナライザエンジンにリンクさせて、前記既存の挙動アナライザエンジンが分析動作を実施するとき、前記更新された挙動モデルを使用してそのように行うようにするための手段と
    をさらに含む、請求項13に記載のモバイルコンピューティングデバイス。
  19. 複数の公衆ネットワークから複数の挙動モデルを受信するための手段と、
    少なくとも1つの既存の挙動モデルを、前記受信された複数の挙動モデルのうちの1つまたは複数中に含まれる情報で更新するための手段と
    をさらに含む、請求項13に記載のモバイルコンピューティングデバイス。
  20. 前記アプリケーションダウンロードサービスから前記挙動モデルを受信するための手段が、
    クラウドサービスネットワークサーバと、
    アプリストアサーバと、
    ユニフォームリソースロケータアドレスを介して識別されたウェブサーバと、
    ファイル転送プロトコルサービスネットワークサーバと
    のうちの1つから前記挙動モデルを受信するための手段を含む、請求項13に記載のモバイルコンピューティングデバイス。
  21. 前記アプリケーションダウンロードサービスから前記挙動モデルを受信するための手段が、
    前記モバイルデバイスプロセッサによって、オンラインアプリストアにアクセスし、認証するための手段と、
    前記オンラインアプリストアから、ダウンロードまたは更新のために利用可能な挙動モデルのメニューをダウンロードするための手段と、
    前記モバイルデバイスプロセッサにおいて、ユーザ選択入力を受信するための手段と、
    ユーザにより選択された挙動モデルのダウンロードまたは更新を、前記オンラインアプリストアに要求するための手段と、
    前記要求された、ユーザにより選択された挙動モデルを、ダウンロードバッファにおいて受信するための手段と
    を含む、請求項13に記載のモバイルコンピューティングデバイス。
  22. 前記既存の挙動アナライザエンジンと連動して、前記受信された挙動モデルをインストールするための手段が、
    前記受信された挙動モデルを妥当性確認するための手段と、
    前記妥当性確認された挙動モデルをメモリにインストールするための手段と、
    前記インストールされた挙動モデルをオブザーバモジュールに登録するための手段と
    を含む、請求項13に記載のモバイルコンピューティングデバイス。
  23. 前記インストールされた挙動モデルを使用して、1つまたは複数のモバイルデバイス挙動を監視するための手段が、
    ある時間期間にわたってモバイルデバイス挙動を観測するための手段と、
    前記時間期間にわたってモバイルデバイス挙動を観測することに基づいて、通常のモバイルデバイス動作と矛盾するモバイルデバイス挙動を特定するための手段と、
    前記通常のモバイルデバイス動作と矛盾するとして特定されるモバイルデバイス挙動に基づいて、挙動ベクトルを生成するための手段と、
    前記生成された挙動ベクトルを、前記インストールされた挙動モデルと比較して、前記特定されたモバイルデバイス挙動が無害であるか、疑わしいか、悪意のあるものであるかを判断するための手段と
    を含む、請求項13に記載のモバイルコンピューティングデバイス。
  24. モバイルデバイス挙動が無害であるか悪意のあるものであるかを前記モバイルデバイスプロセッサがよりよく判断することを可能にすることに関連があるとして、追加の要因およびデータポイントを特定する、新しい挙動モデルを受信するための手段と、
    特定されたモバイルデバイス挙動が疑わしいと判断することに応答して、前記インストールされた挙動モデルを、前記新しい挙動モデル中に含まれる情報で更新するための手段と、
    前記生成された挙動ベクトルを、前記更新された挙動モデルと比較して、前記特定された疑わしいモバイルデバイス挙動が無害であるか悪意のあるものであるかをよりよく判断するための手段と
    をさらに含む、請求項23に記載のモバイルコンピューティングデバイス。
  25. モバイルコンピューティングデバイスであって、
    動作を実施するようにプロセッサ実行可能命令で構成されたプロセッサを含み、前記動作が、
    アプリケーションダウンロードサービスから挙動モデルを受信することであって、前記受信された挙動モデルは、モバイルデバイス挙動が無害であるか悪意のあるものであるかを前記プロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定すること、
    既存の挙動アナライザエンジンと連動して、前記受信された挙動モデルをインストールすること、および
    前記インストールされた挙動モデルを使用して、1つまたは複数のモバイルデバイス挙動を監視すること
    を含む、モバイルコンピューティングデバイス。
  26. 前記挙動モデルを受信することが、モバイルデバイス挙動が無害であるか悪意のあるものであるかを前記プロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定する、ソフトウェアアプリケーションを受信することを含むように、前記プロセッサが動作を実施するようにプロセッサ実行可能命令で構成される、請求項25に記載のモバイルコンピューティングデバイス。
  27. 前記挙動モデルを受信することが、モバイルデバイス挙動が無害であるか悪意のあるものであるかを前記プロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定する、XMLファイルを受信することを含むように、前記プロセッサが動作を実施するようにプロセッサ実行可能命令で構成される、請求項25に記載のモバイルコンピューティングデバイス。
  28. 前記挙動モデルを受信することが、挙動分類への特徴のマッピングを含む有限状態機械表現を受信することを含むように、前記プロセッサが動作を実施するようにプロセッサ実行可能命令で構成される、請求項25に記載のモバイルコンピューティングデバイス。
  29. 前記プロセッサが、
    既存の挙動モデルを前記受信された挙動モデルと交換すること、および
    前記受信された挙動モデルを前記既存の挙動アナライザエンジンにリンクさせて、前記既存の挙動アナライザエンジンが分析動作を実施するとき、前記受信された挙動モデルを使用してそのように行うようにすること
    をさらに含む動作を実施するようにプロセッサ実行可能命令で構成される、請求項25に記載のモバイルコンピューティングデバイス。
  30. 前記プロセッサが、
    既存の挙動モデルを、前記受信された挙動モデル中に含まれる情報で更新すること、および
    前記更新された挙動モデルを前記既存の挙動アナライザエンジンにリンクさせて、前記既存の挙動アナライザエンジンが分析動作を実施するとき、前記更新された挙動モデルを使用してそのように行うようにすること
    をさらに含む動作を実施するようにプロセッサ実行可能命令で構成される、請求項25に記載のモバイルコンピューティングデバイス。
  31. 前記プロセッサが、
    複数の公衆ネットワークから複数の挙動モデルを受信すること、および
    少なくとも1つの既存の挙動モデルを、前記受信された複数の挙動モデルのうちの1つまたは複数中に含まれる情報で更新すること
    をさらに含む動作を実施するようにプロセッサ実行可能命令で構成される、請求項25に記載のモバイルコンピューティングデバイス。
  32. 前記アプリケーションダウンロードサービスから前記挙動モデルを受信することが、
    クラウドサービスネットワークサーバと、
    アプリストアサーバと、
    ユニフォームリソースロケータアドレスを介して識別されたウェブサーバと、
    ファイル転送プロトコルサービスネットワークサーバと
    のうちの1つから前記挙動モデルを受信することを含むように、前記プロセッサが動作を実施するようにプロセッサ実行可能命令で構成される、請求項25に記載のモバイルコンピューティングデバイス。
  33. 前記アプリケーションダウンロードサービスから前記挙動モデルを受信することが、
    オンラインアプリストアにアクセスし、認証すること、
    前記オンラインアプリストアから、ダウンロードまたは更新のために利用可能な挙動モデルのメニューをダウンロードすること、
    ユーザ選択入力を受信すること、
    ユーザにより選択された挙動モデルのダウンロードまたは更新を、前記オンラインアプリストアに要求すること、および
    前記要求された、ユーザにより選択された挙動モデルを、ダウンロードバッファにおいて受信すること
    を含むように、前記プロセッサが動作を実施するようにプロセッサ実行可能命令で構成される、請求項25に記載のモバイルコンピューティングデバイス。
  34. 前記既存の挙動アナライザエンジンと連動して、前記受信された挙動モデルをインストールすることが、
    前記受信された挙動モデルを妥当性確認すること、
    前記妥当性確認された挙動モデルをメモリにインストールすること、および
    前記インストールされた挙動モデルをオブザーバモジュールに登録すること
    を含むように、前記プロセッサが動作を実施するようにプロセッサ実行可能命令で構成される、請求項25に記載のモバイルコンピューティングデバイス。
  35. 前記インストールされた挙動モデルを使用して、1つまたは複数のモバイルデバイス挙動を監視することが、
    ある時間期間にわたってモバイルデバイス挙動を観測すること、
    前記時間期間にわたってモバイルデバイス挙動を観測することに基づいて、通常のモバイルデバイス動作と矛盾するモバイルデバイス挙動を特定すること、
    前記通常のモバイルデバイス動作と矛盾するとして特定される、特定されたモバイルデバイス挙動に基づいて、挙動ベクトルを生成すること、および
    前記生成された挙動ベクトルを、前記インストールされた挙動モデルと比較して、前記特定されたモバイルデバイス挙動が無害であるか、疑わしいか、悪意のあるものであるかを判断すること
    を含むように、前記プロセッサが動作を実施するようにプロセッサ実行可能命令で構成される、請求項25に記載のモバイルコンピューティングデバイス。
  36. 前記プロセッサが、
    挙動が無害であるか悪意のあるものであるかを前記プロセッサがよりよく判断することを可能にすることに関連があるとして、追加の要因およびデータポイントを特定する、新しい挙動モデルを受信すること、
    特定されたモバイルデバイス挙動が疑わしいと判断されるとき、前記インストールされた挙動モデルを、前記新しい挙動モデル中に含まれる情報で更新すること、および
    前記生成された挙動ベクトルを、前記更新された挙動モデルと比較して、前記特定された疑わしいモバイルデバイス挙動が無害であるか悪意のあるものであるかをよりよく判断すること
    をさらに含む動作を実施するようにプロセッサ実行可能命令で構成される、請求項35に記載のモバイルコンピューティングデバイス。
  37. プロセッサ実行可能ソフトウェア命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記プロセッサ実行可能ソフトウェア命令が、モバイルデバイスプロセッサに、
    アプリケーションダウンロードサービスから挙動モデルを受信することであって、前記受信された挙動モデルは、モバイルデバイス挙動が無害であるか悪意のあるものであるかを前記モバイルデバイスプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定すること、
    既存の挙動アナライザエンジンと連動して、前記受信された挙動モデルをインストールすること、および
    前記インストールされた挙動モデルを使用して、1つまたは複数のモバイルデバイス挙動を監視すること
    を含む動作を実施させるように構成される、非一時的コンピュータ可読記憶媒体。
  38. 前記挙動モデルを受信することが、モバイルデバイス挙動が無害であるか悪意のあるものであるかを前記モバイルデバイスプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定する、ソフトウェアアプリケーションを受信することを含むように、前記記憶されたプロセッサ実行可能ソフトウェア命令が、前記モバイルデバイスプロセッサに動作を実施させるように構成される、請求項37に記載の非一時的コンピュータ可読記憶媒体。
  39. 前記挙動モデルを受信することが、モバイルデバイス挙動が無害であるか悪意のあるものであるかを前記モバイルデバイスプロセッサがよりよく判断することを可能にすることに最も関連がある、要因およびデータポイントを特定する、XMLファイルを受信することを含むように、前記記憶されたプロセッサ実行可能ソフトウェア命令が、前記モバイルデバイスプロセッサに動作を実施させるように構成される、請求項37に記載の非一時的コンピュータ可読記憶媒体。
  40. 前記挙動モデルを受信することが、挙動分類への特徴のマッピングを含む有限状態機械表現を受信することを含むように、前記記憶されたプロセッサ実行可能ソフトウェア命令が、前記モバイルデバイスプロセッサに動作を実施させるように構成される、請求項37に記載の非一時的コンピュータ可読記憶媒体。
  41. 前記記憶されたプロセッサ実行可能ソフトウェア命令が、前記モバイルデバイスプロセッサに、
    既存の挙動モデルを前記受信された挙動モデルと交換すること、および
    前記受信された挙動モデルを前記既存の挙動アナライザエンジンにリンクさせて、前記既存の挙動アナライザエンジンが分析動作を実施するとき、前記受信された挙動モデルを使用してそのように行うようにすること
    をさらに含む動作を実施させるように構成される、請求項37に記載の非一時的コンピュータ可読記憶媒体。
  42. 前記記憶されたプロセッサ実行可能ソフトウェア命令が、前記モバイルデバイスプロセッサに、
    既存の挙動モデルを、前記受信された挙動モデル中に含まれる情報で更新すること、および
    前記更新された挙動モデルを前記既存の挙動アナライザエンジンにリンクさせて、前記既存の挙動アナライザエンジンが分析動作を実施するとき、前記更新された挙動モデルを使用してそのように行うようにすること
    をさらに含む動作を実施させるように構成される、請求項37に記載の非一時的コンピュータ可読記憶媒体。
  43. 前記記憶されたプロセッサ実行可能ソフトウェア命令が、前記モバイルデバイスプロセッサに、
    複数の公衆ネットワークから複数の挙動モデルを受信すること、および
    少なくとも1つの既存の挙動モデルを、前記受信された複数の挙動モデルのうちの1つまたは複数中に含まれる情報で更新すること
    をさらに含む動作を実施させるように構成される、請求項37に記載の非一時的コンピュータ可読記憶媒体。
  44. 前記アプリケーションダウンロードサービスから前記挙動モデルを受信することが、
    クラウドサービスネットワークサーバと、
    アプリストアサーバと、
    ユニフォームリソースロケータアドレスを介して識別されたウェブサーバと、
    ファイル転送プロトコルサービスネットワークサーバと
    のうちの1つから前記挙動モデルを受信することを含むように、前記記憶されたプロセッサ実行可能ソフトウェア命令が、前記モバイルデバイスプロセッサに動作を実施させるように構成される、請求項37に記載の非一時的コンピュータ可読記憶媒体。
  45. 前記アプリケーションダウンロードサービスから前記挙動モデルを受信することが、
    オンラインアプリストアにアクセスし、認証すること、
    前記オンラインアプリストアから、ダウンロードまたは更新のために利用可能な挙動モデルのメニューをダウンロードすること、
    ユーザ選択入力を受信すること、
    ユーザにより選択された挙動モデルのダウンロードまたは更新を、前記オンラインアプリストアに要求すること、および
    前記要求された、ユーザにより選択された挙動モデルを、ダウンロードバッファにおいて受信すること
    を含むように、前記記憶されたプロセッサ実行可能ソフトウェア命令が、前記モバイルデバイスプロセッサに動作を実施させるように構成される、請求項37に記載の非一時的コンピュータ可読記憶媒体。
  46. 前記既存の挙動アナライザエンジンと連動して、前記受信された挙動モデルをインストールすることが、
    前記受信された挙動モデルを妥当性確認すること、
    前記妥当性確認された挙動モデルをメモリにインストールすること、および
    前記インストールされた挙動モデルをオブザーバモジュールに登録すること
    を含むように、前記記憶されたプロセッサ実行可能ソフトウェア命令が、前記モバイルデバイスプロセッサに動作を実施させるように構成される、請求項37に記載の非一時的コンピュータ可読記憶媒体。
  47. 前記インストールされた挙動モデルを使用して、1つまたは複数のモバイルデバイス挙動を監視することが、
    ある時間期間にわたってモバイルデバイス挙動を観測すること、
    前記時間期間にわたってモバイルデバイス挙動を観測することに基づいて、通常のモバイルデバイス動作と矛盾するモバイルデバイス挙動を特定すること、
    前記通常のモバイルデバイス動作と矛盾するとして特定されるモバイルデバイス挙動に基づいて、挙動ベクトルを生成すること、および
    前記生成された挙動ベクトルを、前記インストールされた挙動モデルと比較して、前記特定されたモバイルデバイス挙動が無害であるか、疑わしいか、悪意のあるものであるかを判断すること
    を含むように、前記記憶されたプロセッサ実行可能ソフトウェア命令が、前記モバイルデバイスプロセッサに動作を実施させるように構成される、請求項37に記載の非一時的コンピュータ可読記憶媒体。
  48. 前記記憶されたプロセッサ実行可能ソフトウェア命令が、前記モバイルデバイスプロセッサに、
    挙動が無害であるか悪意のあるものであるかを前記モバイルデバイスプロセッサがよりよく判断することを可能にすることに関連があるとして、追加の要因およびデータポイントを特定する、新しい挙動モデルを受信すること、
    特定されたモバイルデバイス挙動が疑わしいと判断することに応答して、前記インストールされた挙動モデルを、前記新しい挙動モデル中に含まれる情報で更新すること、および
    前記生成された挙動ベクトルを、前記更新された挙動モデルと比較して、前記特定された疑わしいモバイルデバイス挙動が無害であるか悪意のあるものであるかをよりよく判断すること
    をさらに含む動作を実施させるように構成される、請求項47に記載の非一時的コンピュータ可読記憶媒体。
JP2015558035A 2013-02-15 2014-02-06 複数のアナライザモデルプロバイダを用いたモバイルデバイスにおけるオンライン挙動分析エンジン Active JP6305442B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361765461P 2013-02-15 2013-02-15
US61/765,461 2013-02-15
US13/937,462 US9747440B2 (en) 2012-08-15 2013-07-09 On-line behavioral analysis engine in mobile device with multiple analyzer model providers
US13/937,462 2013-07-09
PCT/US2014/015088 WO2014126779A1 (en) 2013-02-15 2014-02-06 On-line behavioral analysis engine in mobile device with multiple analyzer model providers

Publications (3)

Publication Number Publication Date
JP2016512631A true JP2016512631A (ja) 2016-04-28
JP2016512631A5 JP2016512631A5 (ja) 2017-03-02
JP6305442B2 JP6305442B2 (ja) 2018-04-04

Family

ID=51354483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015558035A Active JP6305442B2 (ja) 2013-02-15 2014-02-06 複数のアナライザモデルプロバイダを用いたモバイルデバイスにおけるオンライン挙動分析エンジン

Country Status (5)

Country Link
EP (1) EP2956884B1 (ja)
JP (1) JP6305442B2 (ja)
KR (1) KR20150119895A (ja)
CN (1) CN105074718A (ja)
WO (1) WO2014126779A1 (ja)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10412777B2 (en) 2017-05-19 2019-09-10 Qingdao Hisense Electronics Co., Ltd. Electronic apparatus and method
US10530601B2 (en) 2017-05-23 2020-01-07 Qingdao Hisense Electronics Co., Ltd. Electronic apparatus and method
WO2020075271A1 (ja) * 2018-10-11 2020-04-16 株式会社ウフル 機械学習モデル切替システム、機械学習モデル切替方法及びプログラム
WO2020075270A1 (ja) * 2018-10-11 2020-04-16 株式会社ウフル 機械学習モデル切替システム、機械学習モデル切替方法及びプログラム
JP2020530922A (ja) * 2017-08-08 2020-10-29 センチネル ラボ, インコーポレイテッドSentinel Labs, Inc. エッジネットワーキングのエンドポイントを動的にモデリングおよびグループ化する方法、システム、およびデバイス
KR20220060659A (ko) * 2020-11-05 2022-05-12 주식회사 에벤에셀케이 스토리지를 공유하는 프로세스 간의 연계를 통해 데이터를 처리하기 위한 방법, 시스템, 및 컴퓨터-판독가능 매체
US11507663B2 (en) 2014-08-11 2022-11-22 Sentinel Labs Israel Ltd. Method of remediating operations performed by a program and system thereof
US11579857B2 (en) 2020-12-16 2023-02-14 Sentinel Labs Israel Ltd. Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach
US11580218B2 (en) 2019-05-20 2023-02-14 Sentinel Labs Israel Ltd. Systems and methods for executable code detection, automatic feature extraction and position independent code detection
US11616812B2 (en) 2016-12-19 2023-03-28 Attivo Networks Inc. Deceiving attackers accessing active directory data
US11625485B2 (en) 2014-08-11 2023-04-11 Sentinel Labs Israel Ltd. Method of malware detection and system thereof
US11695800B2 (en) 2016-12-19 2023-07-04 SentinelOne, Inc. Deceiving attackers accessing network data
US11888897B2 (en) 2018-02-09 2024-01-30 SentinelOne, Inc. Implementing decoys in a network environment
US11899782B1 (en) 2021-07-13 2024-02-13 SentinelOne, Inc. Preserving DLL hooks

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9710752B2 (en) * 2014-09-11 2017-07-18 Qualcomm Incorporated Methods and systems for aggregated multi-application behavioral analysis of mobile device behaviors
KR101822404B1 (ko) * 2015-11-30 2018-01-26 임욱빈 Dnn 학습을 이용한 세포이상 여부 진단시스템
CN106778241B (zh) * 2016-11-28 2020-12-25 东软集团股份有限公司 恶意文件的识别方法及装置
CN110325998B (zh) * 2017-02-24 2024-03-12 瑞典爱立信有限公司 使用机器学习对实例进行分类
WO2019066099A1 (ko) * 2017-09-27 2019-04-04 (주)알티캐스트 통합된 분석 모델에 기초하여 이상 행동을 감지하는 시스템 및 그 방법
KR101971799B1 (ko) * 2017-11-08 2019-05-13 주식회사 알티캐스트 통합된 분석 모델에 기초하여 이상 행동을 감지하는 시스템 및 그 방법
EP3918500B1 (en) * 2019-03-05 2024-04-24 Siemens Industry Software Inc. Machine learning-based anomaly detections for embedded software applications
KR102310187B1 (ko) * 2019-09-25 2021-10-08 한국전자기술연구원 복수의 엣지와 클라우드를 포함하는 분산 컴퓨팅 시스템 및 이의 적응적 지능 활용을 위한 분석 모델 제공 방법
US20220124104A1 (en) * 2020-10-19 2022-04-21 Greyheller, Llc (Dba Appsian) Systems, methods, and devices for implementing security operations in a security platform
EP4236432A4 (en) * 2020-10-28 2023-12-20 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR MODEL CONFIGURATION

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005534092A (ja) * 2002-07-23 2005-11-10 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラムの潜在的にワームのような挙動の自動決定の方法および装置
JP2006053788A (ja) * 2004-08-12 2006-02-23 Ntt Docomo Inc ソフトウェア動作監視装置及びソフトウェア動作監視方法
US20120131185A1 (en) * 2010-11-24 2012-05-24 LogRhythm Inc. Advanced Intelligence Engine
WO2012087685A1 (en) * 2010-12-23 2012-06-28 Intel Corporation Signature-independent, system behavior-based malware detection
US20120210388A1 (en) * 2011-02-10 2012-08-16 Andrey Kolishchak System and method for detecting or preventing data leakage using behavior profiling
JP2012212380A (ja) * 2011-03-31 2012-11-01 Internatl Business Mach Corp <Ibm> ソフトウエア更新を適用した情報処理装置を検査するシステム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108929B2 (en) * 2004-10-19 2012-01-31 Reflex Systems, LLC Method and system for detecting intrusive anomalous use of a software system using multiple detection algorithms
US8239505B2 (en) * 2007-06-29 2012-08-07 Microsoft Corporation Progressively implementing declarative models in distributed systems
US8479286B2 (en) * 2009-12-15 2013-07-02 Mcafee, Inc. Systems and methods for behavioral sandboxing
US8806620B2 (en) * 2009-12-26 2014-08-12 Intel Corporation Method and device for managing security events
US8640245B2 (en) * 2010-12-24 2014-01-28 Kaspersky Lab, Zao Optimization of anti-malware processing by automated correction of detection rules
RU2454705C1 (ru) * 2011-04-19 2012-06-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ защиты компьютерного устройства от вредоносных объектов, использующих сложные схемы заражения
CN102790758B (zh) * 2011-05-18 2017-08-18 海尔集团公司 防火墙系统及其处理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005534092A (ja) * 2002-07-23 2005-11-10 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラムの潜在的にワームのような挙動の自動決定の方法および装置
JP2006053788A (ja) * 2004-08-12 2006-02-23 Ntt Docomo Inc ソフトウェア動作監視装置及びソフトウェア動作監視方法
US20120131185A1 (en) * 2010-11-24 2012-05-24 LogRhythm Inc. Advanced Intelligence Engine
WO2012087685A1 (en) * 2010-12-23 2012-06-28 Intel Corporation Signature-independent, system behavior-based malware detection
US20120210388A1 (en) * 2011-02-10 2012-08-16 Andrey Kolishchak System and method for detecting or preventing data leakage using behavior profiling
JP2012212380A (ja) * 2011-03-31 2012-11-01 Internatl Business Mach Corp <Ibm> ソフトウエア更新を適用した情報処理装置を検査するシステム

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
ASHKAN SHARIFI SHAMILI, ET AL.: "Malware Detection on Mobile Devices using Distributed Machine Learning", PROCEEDINGS OF THE 20TH INTERNATIONAL CONFERENCE ON PATTERN RECOGNITION (ICPR' 10), JPN5015006994, 23 August 2010 (2010-08-23), US, pages 4348 - 4351, XP055534535, ISSN: 0003733701, DOI: 10.1109/ICPR.2010.1057 *
IKER BURGUERA, ET AL.: "Crowdroid: Behavior-Based Malware Detection System for Android", SECURITY AND PRIVACY IN SMARTPHONES AND MOBILE DEVICES, JPN5016002090, 17 October 2011 (2011-10-17), US, pages 15 - 26, ISSN: 0003733700 *
L. CHEKINA, ET AL.: "Detection of Deviations in Mobile Applications Network Behavior", CORNEL UNIVERSITY LIBRARY, vol. arXiv:1208.0564V2, JPN5015006992, 5 August 2012 (2012-08-05), ISSN: 0003733702 *
S. MOMINA TABISH, ET AL.: "Malware Detection using Statistical Analysis of Byte-Level File Content", PROCEEDINGS OF THE ACM SIGKDD WORKSHOP ON CYBERSECURITY AND INTELLIGENCE INFORMATICS (CSI-KDD '09), JPN5015007004, 28 June 2009 (2009-06-28), pages 23 - 31, XP058391076, ISSN: 0003733703, DOI: 10.1145/1599272.1599278 *
菅谷 みどり ほか: "組込みシステム向けオンライン障害検出システムの提案", 情報処理学会研究報告, vol. 第2010−SLDM−144巻,第62号, JPN6017034561, 16 April 2010 (2010-04-16), JP, pages 1 - 8, ISSN: 0003733699 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11886591B2 (en) 2014-08-11 2024-01-30 Sentinel Labs Israel Ltd. Method of remediating operations performed by a program and system thereof
US11625485B2 (en) 2014-08-11 2023-04-11 Sentinel Labs Israel Ltd. Method of malware detection and system thereof
US11507663B2 (en) 2014-08-11 2022-11-22 Sentinel Labs Israel Ltd. Method of remediating operations performed by a program and system thereof
US11695800B2 (en) 2016-12-19 2023-07-04 SentinelOne, Inc. Deceiving attackers accessing network data
US11997139B2 (en) 2016-12-19 2024-05-28 SentinelOne, Inc. Deceiving attackers accessing network data
US11616812B2 (en) 2016-12-19 2023-03-28 Attivo Networks Inc. Deceiving attackers accessing active directory data
US10412777B2 (en) 2017-05-19 2019-09-10 Qingdao Hisense Electronics Co., Ltd. Electronic apparatus and method
US10530601B2 (en) 2017-05-23 2020-01-07 Qingdao Hisense Electronics Co., Ltd. Electronic apparatus and method
US11716342B2 (en) 2017-08-08 2023-08-01 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
US11522894B2 (en) 2017-08-08 2022-12-06 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
US11973781B2 (en) 2017-08-08 2024-04-30 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
JP2020530922A (ja) * 2017-08-08 2020-10-29 センチネル ラボ, インコーポレイテッドSentinel Labs, Inc. エッジネットワーキングのエンドポイントを動的にモデリングおよびグループ化する方法、システム、およびデバイス
US11716341B2 (en) 2017-08-08 2023-08-01 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
US11838305B2 (en) 2017-08-08 2023-12-05 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
US11722506B2 (en) 2017-08-08 2023-08-08 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
US11876819B2 (en) 2017-08-08 2024-01-16 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
US11838306B2 (en) 2017-08-08 2023-12-05 Sentinel Labs Israel Ltd. Methods, systems, and devices for dynamically modeling and grouping endpoints for edge networking
US11888897B2 (en) 2018-02-09 2024-01-30 SentinelOne, Inc. Implementing decoys in a network environment
WO2020075270A1 (ja) * 2018-10-11 2020-04-16 株式会社ウフル 機械学習モデル切替システム、機械学習モデル切替方法及びプログラム
WO2020075271A1 (ja) * 2018-10-11 2020-04-16 株式会社ウフル 機械学習モデル切替システム、機械学習モデル切替方法及びプログラム
US11790079B2 (en) 2019-05-20 2023-10-17 Sentinel Labs Israel Ltd. Systems and methods for executable code detection, automatic feature extraction and position independent code detection
US11580218B2 (en) 2019-05-20 2023-02-14 Sentinel Labs Israel Ltd. Systems and methods for executable code detection, automatic feature extraction and position independent code detection
KR102431555B1 (ko) 2020-11-05 2022-08-11 주식회사 에벤에셀케이 스토리지를 공유하는 프로세스 간의 연계를 통해 데이터를 처리하기 위한 방법, 시스템, 및 컴퓨터-판독가능 매체
KR20220060659A (ko) * 2020-11-05 2022-05-12 주식회사 에벤에셀케이 스토리지를 공유하는 프로세스 간의 연계를 통해 데이터를 처리하기 위한 방법, 시스템, 및 컴퓨터-판독가능 매체
US11748083B2 (en) 2020-12-16 2023-09-05 Sentinel Labs Israel Ltd. Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach
US11579857B2 (en) 2020-12-16 2023-02-14 Sentinel Labs Israel Ltd. Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach
US11899782B1 (en) 2021-07-13 2024-02-13 SentinelOne, Inc. Preserving DLL hooks

Also Published As

Publication number Publication date
EP2956884A1 (en) 2015-12-23
KR20150119895A (ko) 2015-10-26
JP6305442B2 (ja) 2018-04-04
EP2956884B1 (en) 2020-09-09
WO2014126779A1 (en) 2014-08-21
CN105074718A (zh) 2015-11-18

Similar Documents

Publication Publication Date Title
JP6305442B2 (ja) 複数のアナライザモデルプロバイダを用いたモバイルデバイスにおけるオンライン挙動分析エンジン
US9747440B2 (en) On-line behavioral analysis engine in mobile device with multiple analyzer model providers
US9690635B2 (en) Communicating behavior information in a mobile computing device
US9609456B2 (en) Methods, devices, and systems for communicating behavioral analysis information
US9652362B2 (en) Methods and systems of using application-specific and application-type-specific models for the efficient classification of mobile device behaviors
US9298494B2 (en) Collaborative learning for efficient behavioral analysis in networked mobile device
EP2850865B1 (en) Minimizing latency of behavioral analysis using signature caches
JP6235000B2 (ja) クライアントクラウド挙動アナライザのためのアーキテクチャ
US9491187B2 (en) APIs for obtaining device-specific behavior classifier models from the cloud
US9319897B2 (en) Secure behavior analysis over trusted execution environment
US9324034B2 (en) On-device real-time behavior analyzer
US9495537B2 (en) Adaptive observation of behavioral features on a mobile device
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

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170123

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180129

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: 20180205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180306

R150 Certificate of patent or registration of utility model

Ref document number: 6305442

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250