(57)【特許請求の範囲】
【請求項１】
モバイル通信機器上に存在するデータオブジェクトを評価するための方法であって、サーバコンピュータによって提供される評価のための方法であって、
前記サーバーコンピュータで、前記モバイル通信機器の上に存在するデータオブジェクトの少なくとも一部を識別するデータを受信する前に、前記モバイル通信機器でローカルストアに以前に格納された定義情報が、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別する前記データに対応しているかどうかを判断し、前記ローカルストアは、前記以前に格納された定義情報のための対応する評価を格納するものであり、
前記モバイル通信機器の前記ローカルストアに格納された前記以前に格納された定義情報が、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別する前記データに対応していない場合には、前記サーバーコンピュータで、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別するデータオブジェクトのデータを受信するとともに、前記モバイル通信機器に関連する機器データを受信し、
前記サーバで、データオブジェクトのための以前に格納された定義情報が、前記受信されたデータオブジェクトおよび機器データに対応しているかどうかを決定し、前記定義情報は、前記サーバによってアクセス可能にデータストアに格納され、前記データストアは、前記定義情報のための対応する評価を格納し、そして、
前記以前に蓄えられた定義情報が前記モバイル通信機器からの前記受信されたデータオブジェクトおよび機器データに対応している場合には、前記サーバで、前記以前に格納された定義情報に対応する前記モバイル通信機器上に存在する前記データオブジェクトの前記評価を提供する
ことを含む方法。
【請求項２】
請求項１記載の方法において、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別する前記データは、前記モバイル通信機器上に存在する前記データオブジェクトのためのアプリケーションデータである方法。
【請求項３】
請求項１記載の方法において、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別する前記データは、前記モバイル通信機器上に存在する前記データオブジェクトのための行動のデータである方法。
【請求項４】
請求項１記載の方法において、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別する前記データは、前記モバイル通信機器上に存在する前記データオブジェクトのためのメタデータである方法。
【請求項５】
請求項１記載の方法において、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別する前記データは、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を含んでいる方法。
【請求項６】
請求項１記載の方法において、前記以前に格納された定義データは、前記モバイル通信機器上に存在する前記データオブジェクトのためのハッシュ識別子を含んでいる方法。
【請求項７】
請求項１記載の方法において、前記以前に格納された定義データは、前記モバイル通信機器上に存在する前記データオブジェクトのためのパッケージ名を含んでいる方法。
【請求項８】
請求項１記載の方法において、前記以前に格納された定義データは、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を含んでいる方法。
【請求項９】
請求項１記載の方法において、前記以前に格納された定義データは、前記モバイル通信機器上に存在する前記データオブジェクトのための識別子を含んでいる方法。
【請求項１０】
請求項1に記載の方法において、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別する前記データが、前記サーバにアクセス可能な前記データストアに格納された以前に格納された定義情報に対応していない場合には、その後、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別する前記データに対応する評価を決定するために、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別する前記データの少なくとも一部を、前記サーバによって分析し、そして、
前記サーバにアクセス可能な前記データストアに、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別する前記データに対応する評価を格納する
方法。
【請求項１１】
請求項１０に記載の方法において、前記モバイル通信機器上の前記データオブジェクトの少なくとも一部を識別する前記データの少なくとも一部を分析することは、前記サーバによってアクセス可能な決定コンポーネントによって分析することを含む
方法。
【請求項１２】
請求項1に記載の方法において、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別する前記データが、前記サーバにアクセス可能な前記データストアに格納された定義情報に対応していない場合には、その後、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別する前記データに対応する評価を決定するために、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別する前記データの少なくとも一部を、前記サーバによって分析し、そして、
前記モバイル通信機器上に存在する前記データオブジェクトについての追加データを、前記サーバによって要求し、
前記モバイル通信機器上に存在する前記データオブジェクトに対応する評価を決定するために、前記モバイル通信機器上に存在する前記データオブジェクについての前記追加データの少なくとも一部を、前記サーバによって分析し、そして、
前記サーバにアクセス可能な前記データストアに、前記決定された評価を格納する
方法。
【請求項１３】
請求項１記載の方法において、さらに、前記評価を提供する前記ステップの後に、前記評価が、前記モバイル通信機器上に存在する前記データオブジェクトが不適当であることを示す場合には、その後、前記サーバで、前記モバイル通信機器上に存在する前記データオブジェクトに、前記モバイル通信機器がアクセスすることを防止するために、前記モバイル通信機器に対して指令を送信することを含む
方法。
【請求項１４】
請求項１記載の方法において、さらに、前記評価を提供する前記ステップの後に、前記評価が、前記モバイル通信機器上に存在する前記データオブジェクトが不適当であることを示す場合には、その後、前記サーバで、前記モバイル通信機器に対して通知を送信することを含む
方法。
【請求項１５】
請求項１４記載の方法において、前記通知は、警告である
方法。
【請求項１６】
請求項１４記載の方法において、前記通知は、前記データオブジェクトをアンインストールする指示である方法。
【請求項１７】
サーバコンピュータによってモバイル通信機器上に存在するデータオブジェクトを評価するための方法であって、
前記サーバコンピュータによって前記モバイル通信機器からデータオブジェクトのデータを受信し、前記受信されたデータオブジェクトのデータは、前記モバイル通信機器上に存在する前記データオブジェクトを識別するものであり、前記モバイル通信機器に関連する機器データを受信し、
前記サーバコンピュータで、前記モバイル通信機器上に存在する前記データオブジェクトの評価を提供するために、前記サーバコンピュータ上に常駐している既知の良いコンポーネントによって前記受信されたデータオブジェクトおよび機器データを分析し、
前記サーバコンピュータで、前記サーバコンピュータ上の前記既知の良いコンポーネントによる前記受信されたデータオブジェクトおよび機器データの分析が、前記データオブジェクトが許容されるとの評価を結果として生じている場合には、その後、前記サーバコンピュータで、前記モバイル通信機器が、前記モバイル通信機器上に存在する前記評価されたデータオブジェクトにアクセスすることを許容する指令を、前記モバイル通信機器に送信し、
前記サーバコンピュータで、前記サーバコンピュータ上の前記既知の良いコンポーネントによる前記受信されたデータオブジェクトおよび機器データの分析が、前記データオブジェクトが許容されるとの評価を結果として生じていない場合には、前記モバイル通信機器上に存在する前記データオブジェクトの評価を提供するために、前記サーバコンピュータ上に常駐している既知の悪いコンポーネントによる前記受信されたデータオブジェクトおよび機器データを分析し、そして、
前記サーバコンピュータで、前記サーバコンピュータ上の前記既知の悪いコンポーネントによる前記受信されたデータオブジェクトおよび機器データの分析が、前記データオブジェクトが不適当であるとの評価を結果として生じている場合には、その後、前記サーバコンピュータで、前記モバイル通信機器が、前記モバイル通信機器上に存在する前記データオブジェクトにアクセスすることを防止する指令を、前記モバイル通信機器に送信する
ことを含む方法。      
【請求項１８】
請求項１７記載の方法において、前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記受信データは、前記モバイル通信機器上に存在する前記データオブジェクトのためのアプリケーションデータである
方法。
【請求項１９】
請求項１７記載の方法において、前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記受信データは、前記モバイル通信機器上に存在する前記データオブジェクトのための行動のデータである
方法。
【請求項２０】
請求項１７記載の方法において、前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記受信データは、前記モバイル通信機器上に存在する前記データオブジェクトのためのメタデータである
方法。
【請求項２１】
請求項１７記載の方法において、前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記受信データは、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を含んでいる
方法。
【請求項２２】
請求項１７記載の方法において、さらに、
前記サーバコンピュータによって、前記モバイル通信機器上に存在する前記データオブジェクトを識別するデータを受信することに先がけて、前記モバイル通信機器で、前記モバイル通信機器上に存在する前記データオブジェクトの評価を提供するために、前記モバイル通信機器上に常駐している既知の良いコンポーネントによって前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記データを分析し、そして、
前記モバイル通信機器上に存在する前記データオブジェクトを識別するデータを受信することに先がけて、前記モバイル通信機器上の前記既知の良いコンポーネントによる前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記データの分析が、前記データオブジェクトが許容されるとの評価を結果として生じていない場合には、その後、前記サーバコンピュータに対して前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記データのためのメタデータを送信し、そして、前記サーバコンピュータで、前記サーバコンピュータ上の前記既知の良いコンポーネントによって、前記受信されたメタデータを分析することを続行する
ことを含む方法。
【請求項２３】
請求項１７記載の方法において、さらに、
前記サーバコンピュータによって、前記モバイル通信機器上に存在する前記データオブジェクトを識別するデータを受信することに先がけて、前記モバイル通信機器で、前記モバイル通信機器上に存在する前記データオブジェクトの評価を提供するために、前記モバイル通信機器上に常駐している既知の悪いコンポーネントによって前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記データを分析し、そして、
前記モバイル通信機器上の前記既知の悪いコンポーネントによる前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記データの分析が、前記データオブジェクトが不適当であるとの評価を結果として生じていない場合には、その後、前記モバイル通信機器で、前記サーバに対して前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記データのためのメタデータを送信し、そして、前記モバイル通信機器に存在する前記データオブジェクトの評価を提供するために、前記メタデータを分析することを続行する
ことを含む方法。
【請求項２４】
請求項１７記載の方法において、さらに、
前記サーバコンピュータによって、前記モバイル通信機器上に存在する前記データオブジェクトを識別するデータを受信することに先がけて、前記モバイル通信機器で、前記モバイル通信機器上に存在する前記データオブジェクトの評価を提供するために、前記モバイル通信機器上に常駐している既知の良いコンポーネントによって前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記データを分析し、
前記モバイル通信機器上の前記既知の良いコンポーネントによる前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記データの分析が、前記データオブジェクトが許容されるとの評価を結果として生じていない場合には、その後、前記モバイル通信機器上に存在する前記データオブジェクトの評価を提供するために、前記モバイル通信機器上に常駐している既知の悪いコンポーネントによる前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記データを分析し、そして、
前記モバイル通信機器上の前記既知の悪いコンポーネントによる前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記データの分析が、前記データオブジェクトが不適当であるとの評価を結果として生じていない場合には、その後、前記サーバに対して前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記データの少なくとも一部を送信し、そして、前記サーバで、前記モバイル通信機器に存在する前記データオブジェクトの評価を提供するために、前記受信データを分析することを続行する
ことを含む方法。
【請求項２５】
請求項１７記載の方法において、さらに、
前記サーバコンピュータによって、前記モバイル通信機器上に存在する前記データオブジェクトを識別するデータを受信することに先がけて、前記モバイル通信機器で、前記モバイル通信機器上に存在する前記データオブジェクトの評価を提供するために、前記モバイル通信機器上に常駐している既知の悪いコンポーネントによって前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記データを分析し、
前記モバイル通信機器上の前記既知の悪いコンポーネントによる前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記データの分析が、前記データオブジェクトが不適当であるとの評価を結果として生じていない場合には、その後、前記モバイル通信機器上に存在する前記データオブジェクトの評価を提供するために、前記モバイル通信機器上に常駐している既知の良いコンポーネントによって前記データを分析し、そして、
前記モバイル通信機器上の前記既知の良いコンポーネントによる前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記データの分析が、前記データオブジェクトが許容されるとの評価を結果として生じていない場合には、その後、前記サーバに対して前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記データの少なくとも一部を送信し、そして、前記モバイル通信機器で、前記モバイル通信機器に存在する前記データオブジェクトの評価を提供するために、前記受信データを分析することを続行する
ことを含む方法。
【請求項２６】
請求項１７記載の方法において、さらに、
前記モバイル通信機器上に常駐する前記既知の良いコンポーネントによる前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記データの分析が、前記データオブジェクトが許容されるとの積極的な評価を結果として生じていない場合であって、前記モバイル通信機器上に常駐する前記既知の悪いコンポーネントによる前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記データの分析が、前記データオブジェクトが不適当であるとの評価を結果として生じていない場合には、その後、
前記モバイル通信機器上に存在する前記データオブジェクトの評価を提供するために、前記サーバによって前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記データを分析し、そして、
前記サーバによってアクセス可能なデータストア上の前記モバイル通信機器上に存在する前記データオブジェクトを識別する前記データの評価を格納する
ことを含む方法。                      
【請求項２７】
モバイル通信機器上に存在するデータオブジェクトを評価する方法であって、前記評価は、サーバコンピュータによって提供される方法であって、
前記モバイル通信機器で、ローカルストアに以前に格納された定義情報が、前記モバイル通信機器上に存在する前記データオブジェクトに対応しているかどうかを、前記モバイル通信機器によって、判断し、
前記モバイル通信機器での前記判断が、前記ローカルストアに前記以前に格納された定義情報が、前記モバイル通信機器上に存在する前記データオブジェクトに対応していないことを示す場合には、その後、サーバコンピュータで、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別するデータオブジェクトのデータを受信し、そして、前記モバイル通信機器に関連する機器データを受信し、
データオブジェクトのための以前に格納された定義情報が、前記受信されたデータオブジェクトおよび機器データに対応しているかどうかを、前記サーバコンピュータによって、判断し、前記定義情報は、前記サーバにアクセス可能にデータストアに格納され、前記データストアは、前記定義情報のための対応する評価を格納し、
前記以前に格納された定義情報が、前記受信されたデータオブジェクトおよび機器データに対応している場合には、その後、前記サーバで、前記以前に格納された定義情報に対応する前記評価を提供し、そして、
前記サーバにアクセス可能に前記データストアに前記以前に格納された定義情報が、前記受信されたデータオブジェクトおよび機器データに対応していない場合には、その後、前記サーバによって、前記モバイル通信機器上に存在する前記データオブジェクトおよび機器データに対応する評価を決定するために、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別する前記受信データの少なくとも一部を分析する
ことを含む方法。
【請求項２８】
請求項２７記載の方法において、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別する前記データは、前記モバイル通信機器上に存在する前記データオブジェクトのためのアプリケーションデータである
方法。
【請求項２９】
請求項２７記載の方法において、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別する前記データは、前記モバイル通信機器上に存在する前記データオブジェクトのための行動のデータである
方法。
【請求項３０】
請求項２７記載の方法において、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別する前記データは、前記モバイル通信機器上に存在する前記データオブジェクトのためのメタデータである
方法。
【請求項３１】
請求項２７記載の方法において、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別する前記データは、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を含んでいる
方法。
【請求項３２】
請求項２７記載の方法において、前記サーバによってアクセス可能な決定コンポーネントによって前記データを分析することを含む評価を決定するために、前記サーバによって、前記モバイル通信機器上に存在する前記データオブジェクトの少なくとも一部を識別する前記受信データの少なくとも一部を分析する
方法。
【請求項３３】
請求項２７記載の方法において、さらに、
前記サーバによって、前記モバイル通信機器上に存在する前記データオブジェクトについての追加データを要求し、そして、
前記モバイル通信機器上に存在する前記データオブジェクトに対応する評価を決定するために、前記追加データを分析する
方法。
【請求項３４】
請求項２７記載の方法において、さらに、前記評価を提供するステップの後で、前記評価が、前記モバイル通信機器上に存在する前記データオブジェクトが不適当であることを示している場合には、その後、前記サーバで、前記モバイル通信機器が前記モバイル通信機器上に存在する前記データオブジェクトにアクセスすることを防止するための指令を前記モバイル通信機器に送信すること
を含む方法。
【請求項３５】
請求項２７記載の方法において、さらに、前記評価を提供するステップの後で、前記評価が、前記モバイル通信機器上に存在する前記データオブジェクトが不適当であることを示している場合には、その後、前記サーバで、前記モバイル通信機器に対して通知を送信すること
を含む方法。
【請求項３６】
請求項３５記載の方法において、前記通知は、警告である
方法。
【請求項３７】
請求項３５記載の方法において、前記通知は、前記データオブジェクトをアンインストールするための指令である
方法。
【請求項３８】
請求項３５記載の方法において、前記通知は、前記モバイル通信機器が前記データオブジェクトにアクセスすることを防止する指令である
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、一般にはモバイルのセキュリティに関し、特に、データを検出し、データがモバイル通信機器またはモバイル通信機器のグループに悪影響を与えないようにすることに関するものである。
【背景技術】
【０００２】
今日のモバイル通信機器、つまり携帯電話、スマートフォン、ワイアレス対応のパーソナルデータアシスタント、タブレットPC、ネットブック、ネットブックサンドそして同類のものは、様々なソフトウェアアプリケーションのためのプラットフォームとしてより一般的になってきている。
【０００３】
モバイル通信機器ユーザは現在、異なるソフトウェアアプリケーションを選び、インストールし、それによりモバイル通信機器の経験（experience）.をカスタマイズすることに関し、より多くの自由を持っている。
【０００４】
しかし、市場に入手可能な多数のポジティブなソフトウェアアプリケーションがあるとはいえ、サードパーティのソフトウェアを相互作用し、インストールし、操作する能力は、必然的に、モバイル通信機器を、脆弱性（vulnerabilities）、マルウェアおよび他の有害なソフトウェアアプリケーションによって影響を受け易いままにしておくことになる。 
有害なソフトウェアアプリケーションから保護するウィルス対策ソフトウェアをインストールし、実行することができるデスクトップのコンピュータや他のより少ないポータブル・コンピュータ機器と違って、モバイル通信機器は、効果的に類似のソフトウェアを実行するには処理パワーあるいは資源を欠いている。
【０００５】
基本的にモバイル通信機器上でスキャンする機能を提供するサード・パーティー・アプリケーションは、開発されている。しかし、これらのアプリケーションは、しばしば特別の機器や特別のオペレーティングシステムや特別の用途のためのものである。
【０００６】
そういうことであり、モバイル通信機器を効率的に監視し、走査し、治療し、保護するための単一の一般的なプラットフォーム非依存型のシステムは、存在しない。 
どのようなモバイル通信機器上でも動作し、ハードウェアやソフトウェアに依存せず、常にリアルタイムの保護を提供するために継続的にアップデートされることができる、そのようなシステムを提供することは、望ましいことであろう。さらに、多くのモバイル通信機器に影響を及ぼす需要と変化に対して行動し反応することができ、それ故に知的なマルウェアの保護を提供できる、付加的なシステムを提供することは、望ましいことであろう。
【０００７】
多数のモバイル通信機器に共通している１つの特徴は、それらが常にネットワークに接続しているという事実である。しかし、この共通のリンクにもかかわらず、機器が、それらの両方がしばしばネットワークレベルの保護を迂回する、追加のネットワークと接続したり、暗号化されたサービスを利用することができる時には、モバイル・ネットワーク・レベルでは、完全にモバイル通信機器を守ることは難しい。
【０００８】
ネットワークの上の各々のモバイル通信機器の処理とメモリの資源にだけに頼るというよりもむしろ、各々の機器の上でローカルに動いているそれらの手段にオーバーヘッドなしで、複数の機器に対してマルウェアの防止と分析手段を提供して、遠隔でモバイル通信機器を保護するシステムを提供することは望ましいことであろう。
【０００９】
不適当なアプリケーションからモバイル通信機器を保護することを難しくする問題の１つは、そのような機器で利用可能な多数の異なるタイプのデータとアプリケーションがあることである。サービスプロバイダが、アプリケーションを提供することに際してネットワークのトラフィックを管理することができる間中に、アプリケーションがユーザのモバイル通信機器にインストールされてしまうとその後は、効果的にこれらのアプリケーションの挙動を監視する現在の方法が全然ない。さらなる結果として、アプリケーションがネットワークに解放されたら、新しく、これまで知られていない悪意に満ちたアプリケーションをそれらの挙動によって特定し、有害なアプリケーションとデータの拡散または配布を追跡したり、防止することは難しい。
【００１０】
モバイル通信機器上でのアプリケーションのインストールと挙動についてのデータを集めるために、モバイル通信機器のグループを積極的に監視することができるシステムを提供することは望ましいであろう。
【００１１】
ひとたび、そのようなシステムが適所に置かれると、ユーザに、彼らが彼らのモバイル通信機器上で実行するために選択されるアプリケーション関して、より教育的な決定を援助するために、そして、管理者とネットワークのオペレータが、個々の機器とネットワークの両方を全体として更に守るための予防手段をとることができるようにするために、モバイル通信機器について獲得されたデータと情報を使用することは望ましいことであろう。
【００１２】
より安全なモバイルのアプリケーションの開発を促進するためにモバイル通信機器の挙動と活動について匿名でデータを収集する方法を開発することは、さらに望ましいことであろう。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
この発明は、モバイル通信機器または製法やモデルを問わない多数のモバイル通信機器、モバイル通信ネットワーク、またはモバイル通信機器に現在搭載されているソフトウエアアプリケーションに影響するかもしれない好ましくないアプリケーションまたは他のデータオブジェクトの除去を提供するためにサーバを使うための方法およびシステムに向けられたものである。
【課題を解決するための手段】
【００１４】
この明細書では、モバイル通信機器保護と同様に、潜在的に望まれていないアプリケーションまたは他のデータオブジェクトの特定、分析、および除去に関連する全てのサービスは、「セキュリティ」という制限されない用語の下で説明される。従って、この発明の実施例は、従業員のグループのための多数のモバイル通信機器または特定のネットワークにアクセスする多数のモバイル通信機器などの多数のモバイル通信機器にセキュリティを提供することに向けられたものである。
【００１５】
この発明の実施例は、個々のモバイル通信機器またはモバイル・ネットワークに課金することなく、モバイル通信機器の安全を保証するためにアプリケーションについての情報を利用することなく、モバイル通信機器上のアプリケーションについての情報を安全かつ確実に収集することに向けられたものである。この発明の実施例は、モバイル通信機器のための今後の製品またはサービスを開発するために使われることができるユーザまたは機器の情報を生成するために、モバイル通信機器から集まった情報を使用することに向けられたものである。
【００１６】
この発明の実施例が、プロセス、装置、システム、機器、方法、コンピュータの読み取り可能な手順を含んでいるコンピュータの読み出し可能な記憶媒体などのコンピュータの読み出し可能なメディア、またはコンピュータプログラムコードとしてまたはコンピュータが使用可能なメディアから成るコンピュータプログラム製品として、それらの中で具体化されたコンピュータの読み取り可能なプログラムコードを持つものを含めて、様々な方法で実装されることができることは高く評価されるべきである。
【００１７】
人は、この明細書で説明されたモバイル通信機器が、スマートフォン、PDA、タブレット、携帯電話、およびそれらも類似したもののような携帯の機器またはモバイル機器上の使用しりためにオペレーティングシステムを実行しているあらゆるコンピュータまたはコンピューティング機器をも含むことができるということを理解するでしょう。
【００１８】
例えば、モバイル通信機器は、アップルiOS（登録商標）、Android（登録商標）ＯＳ，グーグルクロムOS、Symbian OS（登録商標）、Windows Mobile（登録商標） OS、Palm OS（登録商標）、Palm Web OS（登録商標）が実行されるアップルiPhone（登録商標）、アップルiPad（登録商標）、Palm Pre（登録商標）などあらゆる機器を含むことができる。この明細書では、モバイル通信機器は、またモバイル機器として、モバイルのクライアントとして、または単に機器またはクライアントと称することができる。
【００１９】
この明細書の文脈の中で、コンピュータの使用可能なメディアまたはコンピュータの読み出し可能なメディアは、手順実行システム、装置、または機器に関連した、あるいは使用のためにプログラムを含むか、または蓄えることができる、いずれのメディアとすることができる。
【００２０】
例えば、コンピュータ読み出し可能な記憶媒体またはコンピュータ使用可能メディアでは、情報を蓄えるためのいかなる大容量記憶装置機器、ハードディスク、CDROM、DVDROM、テープ、消去可能なプログラム化可能な読み出し専用メモリ（EPROMまたはフラッシュメモリ）、どのような磁石、電磁気、赤外線、光学式の、または電気的なシステムなどのランダムアクセスメモリ（RAM）、読み出し専用メモリ（ROM）、または持続的なストアまたは機器とすることができるが、それらに制限されることはない。 
代わりに、または加えて、コンピュータの読み出し可能な記憶媒体またはコンピュータの使用可能なメディアは、プログラムコードが例えば紙または他のメディアの光学式走査経由で電子的に捕らえられることができる時に、これらの機器または紙またはプログラムがコード化する別の適当なメディアのどのような組み合わせでもプリントされてもよく、コンパイルし、翻訳し、必要なら適当な方法で処理し、コンピュータメモリで貯蔵可能であるものであってもよい。
【００２１】
アプリケーション、ソフトウェアプログラム、またはコンピュータの読み出し可能な手順はコンポーネントまたはモジュールまたはデータオブジェクトまたはデータアイテムと称することができる。
【００２２】
アプリケーションは、ソフトウェアがロードされたとき、および／またはコンピュータによって実行されるときに、コンピュータが本発明を実行する装置になるように、ハード的に組み込まれているか、ハードウェアの中でハード的にコード化されているか、汎用コンピュータの上でソフトウェアを実行するソフトウエアの形式をとることができる。
【００２３】
アプリケーションは、また、本発明の実施例の創造と実施を可能にするソフトウェア開発キットまたはツールキットの使用を通して、全体としてあるいは部分的にダウンロードすることができる。 
この明細書において、この発明の実施例がとることができるこれらの実施や他の形式は、技術と称することができる。 一般に、開示されたプロセスのステップの順序は、発明の目的の範囲内で変更することができる。
【００２４】
先に、述べたように、セキュリティサービスは、一緒に動作するサーバまたはサーバのグループによって一つまたはそれ以上のモバイル通信機器に提供することができる。複数のサーバが、この発明の目的の範囲を逸脱せずにセキュリティサービスを提供するために一緒に作用するかもしれない多くの可能な方法がある。
【図面の簡単な説明】
【００２５】
この開示は一例として説明され、それによって制限されるものではなく、添付図面に示される同じ参照は同様な要素を示すものとする。
【図１】図１は、この発明の実施例を描いたブロック図の一例である。
【図２】図２は、この発明の実施例のステップを説明するフローチャートの一例である。
【図３】図３は、この発明の実施例のステップを説明するフローチャートの一例である。
【図４】図４は、この発明の実施例のステップを説明するフローチャートの一例である。  この発明のステップを説明するフローチャートの一例である。
【図５】図５は、この発明の実施例のステップを説明するフローチャートの一例である。
【図６】図６は、この発明の実施例のステップを説明するフローチャートの一例である。
【図７】図７は、この発明の実施例のステップを説明するフローチャートの一例である。
【図８】図８は、この発明の実施例のステップを説明するフローチャートの一例である。
【図９】図９は、この発明の実施例のステップを説明するフローチャートの一例である。  この発明のステップを説明するフローチャートの一例である。
【図１０】図１０は、この発明の実施例のステップを説明するフローチャートの一例である。
【図１１】図１１は、この発明の実施例のステップを説明するフローチャートの一例である。
【図１２】図１２は、この発明の実施例のステップを説明するフローチャートの一例である。
【発明を実施するための形態】
【００２６】
このシステムの実施例は図１に示される。１つまたはそれ以上のサーバ１５１が１つまたはそれ以上のモバイル通信機器１０１と、携帯電話、ワイアレスのインターネットまたは他のネットワーク１２１を介して通信する。前述したように、モバイル通信機器１０１は、「モバイルクライアント機器」または「機器」または「クライアント」と、そして単数または複数の形式で称することができる。
【００２７】
一つまたはそれ以上のサーバ１５１は、一つまたはそれ以上のモバイル通信機器１０１のためにセキュリティ情報を蓄えているデータストレージ１１１にアクセスできる。
【００２８】
データ、アセスメント情報、モバイル通信機器１０１についての情報、またはストレージのための他のオブジェクトは、サーバ１５１および／またはデータストレージ１１１上に格納することができる。 
サーバ１５１またはデータストレージ１１１は、単数であるか、複数であるかもしれず、また有形であるか、仮想的なものとすることができる。 
データストレージ１１１は、データベース、データ表、データ構造、ファイルシステム、または他のメモリストアとすることができる。 
データストレージ１１１は、一つまたはそれ以上のサーバ１５１のいずれにも主催することができるか、一つまたはそれ以上のサーバ１５１がデータストレージ１１１にアクセスできる限り一つまたはそれ以上サーバ１５１から外面的に存在することができる。 
実施例では、データストレージ１１１は、シンプルストレージサービス(S３)またはアマゾンWebサービスによって提供された他の製品、LLCなどのサードパーティによって提供された外部のサービスである。
【００２９】
図１において説明されたシステムの配置は、制限されたものではなく、単に模範的なものであり、他の配置が、この発明からかけ離れないものであれば可能であると理解するであろう。
【００３０】
モバイル通信機器１０１とサーバ１５１の間の通信が、さまざまなネットワーキングプロトコルとセキュリティ手段を利用することができると理解するであろう。 
実施例では、サーバ１５１は、ＨＴＴＰサーバとして動作し、機器１０１は、HTTPクライアントとして動作する。通信の際データを保障するために、モバイル通信機器１０１とサーバ１５１は、トランザクションレイヤセキュリティ(“TLS”).を使うことができる。さらに、モバイル通信機器１０１が、サーバ１５１にアクセスすること、および／または、モバイル通信機器１０１の同一性を確認する権限を持っていることを保証するために、機器１０１は、１つまたはそれ以上の識別子または認証証明書をサーバ１５１に送ることができる。例えば、認証証明書は、ユーザーネームとパスワード、機器固有の証明書またはサーバ１５１に対してモバイル通信機器１０１を識別する他のいかなるデータを含むことができる。
【００３１】
認証は、サーバ１５１が、モバイル通信機器１０１またはモバイル通信機器１０１に関連したアカウントに特有な情報を蓄えること、およびモバイル通信機器１０１にカスタマイズされたサービスを提供すること、およびモバイル通信機器１０１のセキュリティ状態の持続的な検証を維持することを可能にすることができる。
【００３２】
モバイル通信機器１０１のためのセキュリティサービスを提供するために、当業者は、モバイル通信機器１０１が一定のデータをサーバ１５１に送信するであろうことを理解するであろう。以下でより詳細に説明されるように、サーバ１５１は、このデータを分析し、評価、反応、および／または他の行動に関連するセキュリティを提供するであろう。
【００３３】
以下では、モバイル通信機器１０１からサーバ１５１に送信されたデータの形式およびサーバ１５１によって実行される分析およびモバイル通信機器１０１によってあるいはモバイル通信機器１０１ と一緒にとられる行動を説明する。
【００３４】
この発明の実施例が、モバイル通信機器１０１上で独立して存在することができること、あるいは２００８年１０月２１日に出願されて、ここに全部に組み入れられた、“SYSTEM AND METHOD FOR MONITORING AND ANALYZING MULTIPLE INTERFACES AND MULTIPLE PROTOCOLS,”という名称の米国特許出願No.１２／２５５，６１４中で説明されたもののように、モバイル通信機器に固有の既存のセキュリティシステムに組み入れられることができるということを理解するであろう。
【００３５】
当業者は、また、さまざまなモバイル通信機器のプラットフォームの上のこの発明の実施例を実装するために、２００８年１０月２１日に出願されて、ここに全部に組み入れられた“SYSTEM AND METHOD FOR A MOBILE CROSS PLATFORM SOFTWARE SYSTEM，”という名称の米国特許出願No.１２／２５５，６２６に開示されたもののように、クロス・プラットフォームのシステムに組み入れることが必要であることができることを理解するであろう。
【００３６】
さらに、以下でより説明されるように、この発明の形態は、２００８年１０月２１日に出願されて、ここに全部に組み入れられた、“SECURE MOBILE PLATFORM SYSTEM，”という名称の米国特許出願No.１２／２５５，６３２中で説明されたように、モバイル通信機器１０１のためのセキュリティ状態を決定するために使用することができる。
【００３７】
当業者は、モバイル通信機器がさまざまな形式のデータに晒されていることを理解するであろう。このデータは、ネットワークデータ、ファイル、実行可能および非実行なアプリケーション、Eメール、そしてモバイル通信機器に対して通信することができるか、モバイル通信機器によって受け取ることができるか、モバイル通信機器もインストールできる他の形式の対象物を含んでいる。
【００３８】
モバイル通信機器は、また一般的に、ブルートゥース、WiFi、赤外線、ラジオ受信機、およびそのようなものを含む１つまたはそれ以上のネットワークインタフェースを介してデータを送信し、データを受信する。同様に、データは、層化された通信プロトコルまたはTCP／IP、HTTP、ブルートゥースなどのプロトコルのセットの中に閉じ込められることができる。現在、デスクトップ・コンピュータとラップトップ・コンピュータで利用可能な現在のサーバクライアントセキュリティモデルは、多数のモバイル通信機器に対して適正な評価とセキュリティを提供するために、それらの機能を拡張することができない。
【００３９】
この発明は、モバイル通信機器を評価し、保護するために使うことができる少なくとも２つの形式のデータを想定する。最初の形式のデータは、たとえば「機器データ」のようなモバイル通信機器についてのデータを含む。
【００４０】
機器データは、状態、機能、オペレーティングシステム、ファームウェアバージョン、メモリ容量、利用可能な通信ポート、バッテリ制限、ハードウェアの特徴、およびユーザーによるカスタマイズがされていない全ての同様な機器に共通とすることができる他の情報に付随している。機器データは、それが製造元、サービスプロバイダ、またはITサービスから受信するときに、機器のためのデフォルトの仕様書を含むことができる。機器データは、それらが全て一応アップグレードされた後に、すべての同様なモバイル通信に共通する状態の情報を含むことができる。
【００４１】
以下でさらに説明されるように、機器データは、脆弱性が、無防備な通信ポート、オペレーティングシステムの功績、機器固有の攻撃、およびそれらに類似したもののために存在しているかどうかにかかわらず、評価するために使うことができる。
【００４２】
モバイル通信機器を評価するために使うことができる２番目の形式のデータは、モバイル通信機器にインストールされるか、モバイル通信機器で実行されることができる特定のアプリケーション、ファイル、またはオブジェクトに付随しているデータである。ここで使用されるように、このデータは「アプリケーションデータ」と称される。アプリケーションデータは、データオブジェクトと、行動のデータまたはメタデータなどのデータオブジェクトについての情報の両方を含む。
【００４３】
データオブジェクトは、一定のモバイル通信機器に特徴的であるかもしれないアプリケーションパッケージを含む。例えば、iPhone OS機器は、一般にIPAファイルまたはAPPパッケージを使い、アンドロイドOS機器は、一般にAPKファイルを使い、Windowsモバイル機器は、一般にCAB、EXE、またはDLLのファイルを使い、シンビアンOS機器は、一般にSISファイルを使う。
【００４４】
機器は、また、Java仮想コンピュータ上で実行することができるAdobe’sフラッシュランタイムまたはJARファイルの根底にあるSWFフォーマットなどのクロス・プラットフォームのアプリケーションフォーマットをサポートすることができる。
【００４５】
アプリケーションデータは、マルウェアまたはスパイウェアであり、従って、モバイル通信機器に悪影響を及ぼすデータオブジェクトを含む。マルウェアおよびスパイウェアは、アプリケーション、ファイルおよびモバイル通信機器に悪影響を与えるかあるいは情報を盗むように意図的に設計された他のデータオブジェクトを含む。アプリケーションデータはまた、極悪な理由で設計はされていないがコード化欠陥または機器に悪影響を与える他の問題を有しているであろうデータオブジェクトを含む。アプリケーションデータはまた、様々な理由のために不適当であるかもしれないデータオブジェクトを含む。 
例えば、データオブジェクトは、それがプライバシーを損い、機器のバッテリやネットワークの接続に過度の負担をかけるため、および／または好ましくないコンテンツを持っているため、不適当であるかもしれない。ここで使用されるように「データオブジェクト」は、「データアイテム」と称することができる。いずれの用語の使用も、データを、いかなる１つの形式に制限することを意図するものではない。
【００４６】
アプリケーションデータは、データオブジェクトについてメタデータを含む。例えば、メタデータは、データオブジェクト自身というよりも特定のデータオブジェクトについての情報である。
【００４７】
メタデータは、データオブジェクトがストアされ、データオブジェクトのハッシュ、データオブジェクトの名称、独自の識別子が存在するか、あるいはGUIDまたはUUIDなどのデータオブジェクト、暗号の署名者情報あるいは認証された許可の段階のようなデータオブジェクトに関連したセキュリティ情報に関連づけれており、データオブジェクトの特徴がインストールされるか、モバイル通信機器のオペレーティングシステムに統合する、モバイル通信機器のファイルシステム上の場所を含む。
【００４８】
データオブジェクトのためのメタデータは、またＵＲＬがダウンロードされるなどのデータオブジェクトが到来する場所、アプリケーションの市場がダウンロードされる場所、メモリカードがインストールされるかストアされる場所を含むことができる。メタデータは、またアプリケーションの市場から取り出されることができる。
【００４９】
市場のメタデータと呼ばれるようなメタデータは、ダウンロード数、データオブジェクトに関するユーザのコメント、データオブジェクトの説明、データオブジェクトによって要求された許可、データオブジェクトのためのハードウェアまたはソフトウェアの要求、データオブジェクトの作者についての情報、データオブジェクトの価格、言語、データオブジェクトによってサポートされる言語、市場が提供することができる他の情報のようなデータオブジェクトに関する情報を含む。
【００５０】
実施例では、アプリケーションデータは、また行動のデータを含む。行動のデータは、メモリの使用率、バッテリの使用量、ネットワークの使用量、ストレージの使用率、CPUの使用率、APIの使用量、エラー、キャッシュ、例えばリモートのホストアドレスおよびポートなどに接続されるネットワークサービス、ランタイムライブラリリンクなどのモバイル通信機器資源を、いかにしてアプリケーションがそれらと対話するか、あるいは使用するかについての情報を含む。
【００５１】
行動のデータは、また、アプリケーションが実行されるとき、プロセスまたはインストールされたアプリケーションとの間でのメッセージおよび通知書などのモバイル通信機器のオペレーティングシステムの機能をアプリケーションがどのように利用するかについての情報を含む。
【００５２】
以下でさらに説明されるように、機器データとアプリケーションデータの両方は、格納されたデータ(例えばインストールされたアプリケーション)かあるいは機器を通過するデータに基づいた機器のセキュリティの評価を提供することに有益である。
【００５３】
当業者は、機器データとアプリケーションデータが、単に、モバイル通信機器を守るためか、またはモバイル通信機器と関連した他の機能を提供するために、使用できる形式のデータの一例であると理解するであろう。他の形式のデータは、また、この発明の範囲を逸脱せずに開示されるシステムによって評価されることができる。ここで使用されるように、「評価」という用語は、データオブジェクトの演算または演算の結果を評価するか、そうでなければ更に理解するために使用することができるデータオブジェクトに関連している情報と称される。
【００５４】
例えば、評価は、アプリケーションが悪意に満ちているかまたは悪意に満ちていないか、あるいは悪いかまたは良いか、あるいは危険であるまたは安全であるか、若しくはアプリケーションがブラックリストまたはホワイトリストの上で出現することができるという決定を含むことができる。
【００５５】
評価は、セキュリティ格付け、プライバシー格付け、性能格付け、品質格付け、データオブジェクトに対するバッテリの影響の格付け、データオブジェクトに対する信頼性の格付け、データオブジェクトに対するデータの配列などの格付けおよびデータオブジェクトのためのデータの分類または性格付けを含むことができる
評価は、サーバ１５１によってデータを収集すること、および／またはデータを処理することで結果が得られるあろうし、API、ユーザインターフェイス、データ給送装置または他の方法を介してサーバ１５１によって、ユーザまたは他のシステムに晒されるであろう。評価のための予めの説明が、どのような様式にも制限することを意図するものでないことを理解するであろう。
【００５６】
Ａ．            機器データの収集
以下は、この発明の実施例に関連して、いかにして機器データとアプリケーションデータが収集されて、格納されるかに関する説明である。
【００５７】
一般に、以下の説明は、ネットワーク１２１におけるサーバ１５１とモバイル通信機器１０１の間の通信を含むものである。これらの通信がされている間に送信されたか、または受信されたいかなるデータも、サーバ１５１またはデータストレージ１１１に格納することができる。実施例では、データストレージ１１１またはサーバ１５１にで格納されたデータは、システムで知られている特定のアカウントまたは機器と関連するものである。
【００５８】
データと機器またはアカウントの間の関連は、サーバー１５１に対して、以前に受信したデータに基づいたアカウントまたは機器のために最適に調整された機能を提供することを可能にすることができる。実施例では、データのいくつかまたは全てが、特定のアカウントまたは機器に対して匿名でサーバ１５１またはデータストレージ１１１に格納される。
【００５９】
例えば、サーバ１５１またはデータストア１１１上でのデータの調査が、特定のアカウントまたは機器に対して匿名のデータで拘束しないように、プライバシー目的のために匿名で格納することができる。しかし、機器は、この匿名のデータを居留させ、アップデートすることができる。 匿名は、以下でさらに詳しく説明される。
【００６０】
実施例では、サーバ１５１は、情報を、要求された情報によって応じるであろうモバイル通信機器１０１に対して要求するであろう。実施例において、モバイル通信機器１０１は、分析と評価のために機器データ、および／またはアプリケーションデータをサーバ１５１に送信するであろう。例えば、モバイル通信機器１０１のユーザは、彼の機器にファイルをダウンロードすることを望むであろうが、ファイルをインストールすることに先行して、ファイルが悪意に満ちているかあるいは違った形で不適当であるかをチェックするためにサーバ１５１にファイルに関連したファイルまたは識別データを送ることを望むであろう。サーバ１５１は、いずれのモバイル通信機器１０１にでも利用可能なセキュリティの評価を提供するために、その時に、この受信した情報を分析するであろう。
【００６１】
別の例では、いかにして、評価されたデータオブジェクトが、モバイル通信機器の性能または行動、データオブジェクトの平均的なバッテリの影響または平均的なネットワーク使用法などの情報を含んでいる評価に影響するであろうかを知ることは有益であろう。
【００６２】
実施例では、サーバ１５１は、分析の後に、データオブジェクトの評価を格納して、多くの方法で、これらの評価へのアクセスを提供することができる。
【００６３】
サーバ１５１によって実行された分析は、以下でさらに説明されるであろう。 サーバ１５１によって提供される評価の情報へのアクセスのプロセスは、また以下でさらに説明されるであろう。
【００６４】
ネットワークの通信量についてネットワーク１２１とサーバ１５１の負担を抑制するために、様々な方法が、サーバ１５１によって要求されるかあるいはサーバ１５１に送信されるデータ量を減らすために使うことができる。例えば、分析のためにアプリケーションファイルまたはアプリケーションパッケージなどのデータオブジェクト全体を送信するというよりもむしろ、ハッシュした機能またはハッシュアルゴリズムがデータに適用されることができ、データの結果のハッシュがサーバ１５１に送信することができる。
【００６５】
サーバ１５１は、データオブジェクトを独自に識別するためにハッシュを使うことができる。サーバが以前にハッシュによって識別されたデータオブジェクトの評価を実行したならば、それがまだ有効ならば、サーバ１５１は、その以前の評価を取り戻すかもしれない。サーバ１５１がデータオブジェクトのためにまだ評価を実行していないならば、サーバ１５１は、評価が未知であることを示す反応を取り戻すかもしれず、および／または追加のデータをモバイル通信機器１０１に要求することができる。
【００６６】
当業者は、ハッシュアルゴリズムが任意のデータ量を固定された長さの識別子に変換するであろうことと理解するであろう。例えば、SHA-１ハッシュアルゴリズムは、任意の量の入力データを、１６０ビットのハッシュに整理することができる。
【００６７】
別の例では、データオブジェクトのハッシュの他にメタデータが、データオブジェクト自身の代わりに送信されるかもしれず、例えば、アプリケーションのためのメタデータはアプリケーション全体というよりもむしろ評価のために送信することができる。
【００６８】
パッケージ名、アプリケーション名、ファイル名、ファイルサイズ、要求された許可、暗号化された署名、ダウンロードソース、UUIDなどの独自の識別子、および他の情報などのメタデータは、多くの場合、データオブジェクトのために情報を識別するに十分であるであろう。従って、サーバ１５１が適切な識別情報を受信するならば、それは、データオブジェクトが不適当であるかどうかを決定することができる。
【００６９】
当業者は、データオブジェクト全体をサーバ１５１に送信することなく、サーバ１５１が機器１０１にインストールされたデータオブジェクトが悪意に満ちているかどうかを決定するやり方で、データオブジェクトを識別する様々な方法があることを理解するであろう。
【００７０】
この発明の実施例では、サーバ１５１は、完全なデータオブジェクトというよりもむしろデータオブジェクトの一部を要求することができる。ネットワーク１２１がネットワークの通信量によって負担のないように、データオブジェクト全体が、増大して送信されることができる。代わりにまたは加えて、サーバ１５１は、特定のアプリケーションについての情報を要求することができるが、このアプリケーションをそれぞれ有しているモバイル通信機器のグループに質問することができる。
【００７１】
この方法で、サーバ１５１は、１つのモバイル通信機器からデータの一部または大部分を受信するかもしれず、必要であれば２番目のモバイル通信機器からデータの他の部分を受信することができる。
【００７２】
サーバ１５１は、このようにして、いかなるモバイル通信機器に負担をかけることなくアプリケーション／ファイルのデータを有している多数のモバイル通信機器から情報が受信され、それによって情報が貯留されるときに、この情報を集めることができる。
【００７３】
この方法の例は、以下でさらに説明される。
【００７４】
図２は、モバイル通信機器１０１とサーバ１５１の間のさまざまな形式のデータの送信の一般的な概要である。
【００７５】
図２がブロック２０１中で示しているように、モバイル通信機器１０１は、アプリケーションデータを、このデータを受け取る(ブロック２０３)サーバ１５１に送信する。この実施例では、サーバ１５１がモバイル通信機器１０１についての以前に格納された識別または認証の情報を参照し、モバイル通信機器１０１に関連したデータを格納し、検索し、そして他のモバイル通信機器と特にモバイル通信機器１０１を識別するか、認証することができるように、モバイル通信機器は、識別または認証の情報をサーバ１５１に送信する。
【００７６】
実施例では、サーバ１５１は、通知書をモバイル通信機器１０１に送信する(ブロック２０５)。この通知書は、警告、メッセージ、手順、またはモバイル通信機器１０１に特有なアプリケーションデータまたは機器データに関連した他の情報とすることができる。実施例では、通知書は、最初はサーバ１５１によって不適当であると評価はされなかったがサーバ１５１によって後で不適当であると決定されたデータオブジェクトに一致しているアプリケーションデータを既に送信した機器に与えられるべきである。ブロック２０７中で、モバイル通信機器１０１は、通知書を受け取り、ブロック２０９中で、モバイル通信機器１０１は、通知書に基づいた行動をとる。以下でより詳細に説明されるように、そのような行動は、モバイル通信機器１０１上の１つまたはそれ以上の機能またはアプリケーションを非活性化することを含むことができる。
【００７７】
当業者は、モバイル通信機器１０１とサーバ１５１の間の相互影響が、サーバからモバイル通信機器への通信だけでなくモバイル通信機器からサーバーへの通信を含むことができると理解するであろう。例えば、実施例では、サーバ１５１はモバイル通信機器１０１からアプリケーションデータを受信することができるが、サーバ１５１は、評価を提供するか、通知書を送信する前に追加の情報を要求することができる。ブロック２１１中で、サーバ１５１は追加の情報をモバイル通信機器１０１に要求することができる。 
モバイル通信機器は要求を受信し(ブロック２１３)、サーバー１５１によって要求されたとおりの追加の情報を収集して (ブロック２１５)、ブロック２１７に示すように、追加の情報をサーバ１５１に送信する。 ブロック２１９中で、サーバ１５１は、要求された追加の情報を受信する。 必要であれば、このプロセスは繰り返すことができることを理解するであろう。
【００７８】
図 ３〜図７は、より詳細に、アプリケーションデータと機器データの送信と収集を示す。
【００７９】
図３は、サーバ１５１がモバイル通信機器１０１上に格納されたデータオブジェクトの変化を評価する実施例を表したものである。 
図３において、モバイル通信機器１０１は、特定のデータオブジェクトの変化を検出する(ブロック３０１)。当業者は、データオブジェクトの変化を検出することが、システム・コールまたはファイルシステム操作、ファイルシステムまたは他のデータオブジェクトの変化の聴取者を傍受し、パッケージ管理システム（例えばアンドロイド（登録商標）に専用のPACKAGE_UPDATED、および／またはPACKAGE_REPLACED）からイベントを受け取り、ファイルシステムまたはデータオブジェクトを列挙することが可能な他のシステムにデータオブジェクトのために投票するようなメカニズムを含むことができることを理解するであろう。
【００８０】
変化を検出するための他の技術をまた使用することができる。代わりにあるいは加えて、モバイル通信機器のユーザによる要求の上またはモバイル通信機器でデータオブジェクトを分析し、評価するための前に設定されたスケジュール上で、データオブジェクトへの変化が検出される時に、以下の方法をとることができる。
【００８１】
実施例において、データオブジェクトの変化は、データオブジェクトが追加されるか、または取り除かれるか、または修正されるのいずれの時をも含む。データオブジェクトのためのアプリケーションデータを送信した後に、モバイル通信機器１０１は、データオブジェクトのためのアプリケーションデータの送信が成功したことを記録する前に、サーバからの確認を待つ。モバイル通信機器１０１からデータオブジェクトのためのアプリケーションデータを受信した後に、サーバ１５１は確認を送信する。
【００８２】
送信にエラーがあったか、またはデータ自身によってエラーがあったならば、サーバ１５１は、エラーを戻す。データオブジェクトのためのアプリケーションデータを送信した後に、モバイル通信機器１０１が、サーバ１５１からエラーを受信するか、または、いずれの返答も受信しないならば、モバイル通信機器１０１は、データオブジェクトのためのアプリケーションデータが送信されたことを記録しないであろうし、モバイル通信機器１０１は、将来のある時点でデータを送信することを再度試みることができる。当業者は、モバイル通信機器が、時々ネットワークと接続することができないか、送信の途中でネットワークの接続が中断されたであろうことを認めることであろう。このように、モバイル通信機器１０１が、サーバ１５１でデータオブジェクトのためのアプリケーションデータの受信に成功したかどうかを記録することは、信頼できる情報収集システムの機能にとって重要なことである。実施例では、データオブジェクトのためのアプリケーションデータがモバイル通信機器１０１から送信されず、サーバ１５１によって受信されないときはいつでも、変更されるべきと考えられ、送信される必要があると考えられる。
【００８３】
実施例では、モバイル通信機器１０１は、それが通信されて、サーバ１５１が機器上に存在する１つまたはそれ以上のデータオブジェクトのためのアプリケーションデータの受信に成功したかどうかを格納する。いずれのデータオブジェクトがサーバ１５１に報告された適切なアプリケーションデータを有していたかを確認するために、モバイル通信機器１０１は、機器がそれらのデータオブジェクトのためのアプリケーションデータを送信する必要があるかどうかを決定するために、サーバ１５１に成功されて報告されているデータオブジェクトのための識別情報を含んでいるデータベースを格納することができる。
【００８４】
例えば、ファイルシステム上のファイルであるデータオブジェクトは、その内容のハッシュによって識別することができる。データオブジェクトが最初にモバイル通信機器１０１にインストールされる時に、データベースはデータオブジェクトのためのデータを全然含ませないことができる。データオブジェクトのための識別情報がないために、モバイル通信機器１０１は、データオブジェクトを新しいと認識し、データオブジェクトのためのアプリケーションデータを、オブジェクトが新しいことを示しているサーバ１５１に送信する。
【００８５】
データオブジェクトのためのアプリケーションデータをサーバ１５１に送信して、サーバがアプリケーションデータの受信に成功したとの確認を受け取った後に、機器は、ファイルがデータベースに備わっているファイルシステム上の位置とファイル内容のハッシュを格納する。
【００８６】
データオブジェクトが、削除されるべきであったならば、モバイル通信機器１０１は、以前に格納されたファイルシステムの位置にファイルがないことを検出でき、ファイルシステム位置および／またはデータオブジェクトのためのハッシュの識別情報を報告することによって、サーバ１５１に対してデータオブジェクトの削除を報告することができる。
【００８７】
アップデートされているアプリケーションの場合などのようにファイルが修正されるべきであったならば、モバイル通信機器は、ファイルシステム上の以前に格納された位置にファイルがあることを検出することができるが、ファイルの内容のハッシュは、格納されている内容のハッシュと合致することがない。このケースでは、モバイル通信機器１０１は、ファイルの位置によって識別されたデータオブジェクトおよび／または以前の内容のハッシュがアップデートされたことをサーバに報告し、ファイルの新しい内容のハッシュを報告することができる。
【００８８】
実施例において、モバイル通信機器１０１にインストールされたセキュリティシステムは、データオブジェクトの評価を受信する目的のために、データオブジェクトのためのアプリケーションデータをサーバ１５１に対して報告することができる。モバイル通信機器が、悪意に満ちている新しいアプリケーションをダウンロードするならば、セキュリティシステムができるだけ早くこの新しいアイテムを検出することが重要となる。
【００８９】
サーバ１５１は、新しいアプリケーションを分析し、その結果に基づいて対処をとることができるセキュリティの評価を提供することができる。別の例では、アプリケーションの最初のバージョンは安全であるかもしれないが、アプリケーションの２番目のバージョンは、悪意に満ちているかもしれない。それが２番目のバージョンの新しい評価を生み出し、最初の評価をただ報告しないように、セキュリティシステムが、このアップデートがアプリケーションの最初のバージョンと異なるものであると認識することは重要なことである。    
サーバ１５１は、アップデートされたアプリケーションを分析して、その結果に基づいて対処をとることができるセキュリティの評価を提供することができる。
【００９０】
図３のブロック３０３中で、モバイル通信機器１０１は、モバイル通信機器のための識別情報をサーバ１５１に送信する。実施例では、識別情報は、認証された情報である。
【００９１】
実施例では、識別情報は、秘密であると考えられない機器IDなどの機器のための正式のものでない識別子である。実施例では、識別情報は、モバイル通信機器(たとえば、製作、型、ハードウェアの特徴)のための機器情報を含む。さらに、モバイル通信機器１０１は、変化されたデータオブジェクトのための情報を送信する。そのような情報は、メタデータ(例えばハッシュ、パッケージ名、ファイル名、ファイルパス、暗号法の署名者、UUIDなどのユニークな識別子)およびそれらに類似したものなどのデータオブジェクトのための識別情報を含ませることができる。
【００９２】
ブロック３０５中で、サーバ１５１は、モバイル通信機器１０１のための識別子と、変化されたデータオブジェクトのための情報を受信する。受信データは、サーバの上またはデータストレージ１１１上にて、サーバ１５１によって格納される(ブロック３０７)。実施例では、サーバ１５１によって受信されたデータのうちいくつかだけが格納される。ブロック３０９中で、ここに明らかにされる技術または米国特許出願No.１２／２５５，６２１からの技術のいずれでも使用することで、サーバ１５１は、変化されたデータオブジェクトのための評価を提供し、その評価はここで全て具体化される。
【００９３】
評価は、手順、および／または安全かあるいは悪意に満ちているかあるいは未知であることとして、変化されたデータオブジェクトにラベルを付けられた分類を含ませることができる。
【００９４】
実施例では、受信データのいくつかまたは全てがサーバ１５１またはデータストレージ１１１上で格納されて、データを送信した機器に関連づけられる。例えば、これは、後で、サーバ１５１をして、機器がいずれのアプリケーションに遭遇したかを決定することを可能にすることができる。別の実施例では、受信データのいくつかまたは全てが、サーバが情報を特定の機器に直接結び付けることができない方法でサーバ１５１またはデータストレージ１１１上で格納される。例えば、サーバ１５１は、特定の機器またはアカウントに対してどのようなリンクもなしで受信データを格納することができる。別の実施例では、データは、格納される時に、サーバによってデータが識別子に関連づけられて、機器に匿名で関連づけられることができる。
【００９５】
サーバ１５１が、格納されたデータを特定の機器と関連づけることができないことを保証するために、識別子は、データを送信している機器のみに知られているだけであり、機器がデータを送信する時はいつでも、サーバに提供される。識別子が決してサーバ１５１またはデータストレージ１１１上で特定の機器またはアカウントと直接リンクしないように、サーバは、この識別子を格納しない。
【００９６】
実施例では、サーバ１５１は、サーバ上またはデータストレージ１１１上に、評価の結果を格納する。もしもデータオブジェクトのための評価がブロック３０９で必要とされていて、データオブジェクトのための以前の評価が存在していて、妥当であると考えられている場合には、新しい評価を実行する代わりに、サーバ１５１は、データストレージ１１１から以前の評価を取り出す。もしも評価が同じハッシュ、または同じパッケージ名、または同じ暗号法の署名者、または同じファイルパスによってデータオブジェクトと関連しているかを含めて、各オブジェクトと関連しているメタデータがさまざまな方法で合致しているならば、評価は、同じデータオブジェクトのためであると考えられるであろう。ブロック３１１中で、評価は、モバイル通信機器１０１に送られる。モバイル通信機器１０１は、サーバ１５１からこの評価を受信して(ブロック３１３)、それから評価を処理するか、適切な行動をとる(ブロック３１５)。
【００９７】
サーバ１５１が、先を見越して、評価が変化して、それによってモバイル通信機器１０１による行動を要求するデータオブジェクトを再調停する通知書または指示を送ることができることにおいて、当業者は、モバイル通信機器１０１とサーバー１５１の間の相互作用が動的であることを理解するであろう。
【００９８】
図４はそのような実施例を説明している。 図４のブロック４０１中で、モバイル通信機器１０１は、特定のデータオブジェクトにおける変化を検出する。
【００９９】
ブロック４０３中で、モバイル通信機器１０１は、機器のための識別情報と、変化されたデータオブジェクトについての情報をサーバ１５１に送信する。サーバ１５１は、モバイル通信機器１０１のための識別情報と、変化されたデータオブジェクトについての情報を受信する(ブロック４０５)。
【０１００】
ブロック４０７中で、サーバ１５１は、サーバ上にあるいはデータストレージ１１１上に、変化されたデータ情報を格納する。ブロック４０９中で、サーバ１５１は、変化されたデータオブジェクトを分析して、評価するかもしれず、評価をモバイル通信機器１０１に報告することができる(ブロック４１１)。既に説明したように、評価がすでにデータオブジェクトのために実行されたならば、その以前に実行された評価が、評価を再実行する代わりに取り出されて、使用されることができる。サーバ１５１が評価を報告するならば、モバイル通信機器１０１は、ブロック４１３中で評価または他の通知を受信して、評価を処理する(ブロック４１５)。 
実施例では、データオブジェクトのための評価を、変えることができる。例えば、以前に安全であるかまたは未知であるとして評価されたであろうデータオブジェクトは、後になって、いくつかのこれまで知られていなかった脆弱性を引き起こすか、ネットワーク乱用またはバッテリ消耗などの不適当な行動を引き起こして、悪意に満ちていると認定することができる。
【０１０１】
ブロック４１７中で、サーバ１５１が、以前に分析されたデータオブジェクトのための評価の中に変化を検出するならば、ブロック４１９中で、サーバ１５１は通知書または改善手順または同類のものをモバイル通信機器１０１に送信することができる。モバイル通信機器１０１は、サーバ１５１から通知書を受信し(ブロック４２１)、それから、推奨された行動または改善手順を実行する(ブロック４２３)。ブロック４２５中で、モバイル通信機器１０１は、要求された行動を実行したという確認を送信し、サーバ１５１はそれを受信する(ブロック４２７))。
【０１０２】
実施例では、データオブジェクトが、モバイル通信機器上に存在すると決定されているならば、通知書は、モバイル通信機器１５１に伝えられるだけである。実施例では、モバイル通信機器１０１が現在データオブジェクトを有しているか、あるいはデータオブジェクトのための評価を以前に要求したかどうかを決定することをサーバ１５１に許容してサーバ１５１は、サーバ１５１上またはデータストレージ１１１上に情報を格納する。
【０１０３】
当業者は、図４が、いかにしてサーバ１５１が評価の変化をモバイル通信機器に報告することができるかについての単なる一例を提供するものであると理解するであろうし、いくつかのステップは、この開示からかけ離れない範囲で省略することができる。例えば、モバイル通信機器は、確認をサーバ１５１に送信することなく改善手順または他の要求された行動を実行することができる。
【０１０４】
実施例では、サーバ１５１は、モバイル通信機器１０１からの特定のデータオブジェクトについての追加情報を要求することができる。例えば、モバイル通信機器１０１は、変化されたデータオブジェクトについての情報をサーバ１５１に送ることができる。しかし、送信された情報は、サーバ１５１にとって決定的な分析を実行するに不十分であるであろう。      
図５は、この実施例を説明する。 図５のブロック５０１中で、モバイル通信機器１０１は、データオブジェクトが変化したことを検出し、サーバー１５１に対して、変化されたデータオブジェクトのための情報と共にモバイル通信機器１０１のための識別情報を送信する(ブロック５０３)。
【０１０５】
サーバ１５１は、モバイル通信機器１０１のための識別情報と、変化されたデータオブジェクトのための情報を受信して(ブロック５０５)、サーバー上またはデータストレージ１１１上に、変化されたデータオブジェクトのための情報を格納する(ブロック５０７)。
【０１０６】
ブロック５０９中で、サーバ１５１は、それが変化されたデータオブジェクトについての追加情報を要求するかどうかを決定する。例えば、サーバ１５１は、変化されたデータオブジェクトが安全であるか悪意に満ちているかを評価することを試みることができるが、決定的な評価を提供することができない(すなわち評価は「未知」という結果となる)。
【０１０７】
評価を開始しさえすることに十分なデータがないならば、サーバ１５１が評価を実行する前あるいは評価が全く確定しないで、あるいはデータ不足で戻した後に、より多くの情報が必要であるかどうかの決定を実行することができる。追加情報が必要とされているならば、サーバ１５１は、追加情報をモバイル通信機器１０１に要求することができる(ブロック５１１)。
【０１０８】
図５のブロック５１３中で、モバイル通信機器１０１は、追加情報の要求を受信して、要求された情報を収集して(ブロック５１５)、それから、追加情報をサーバ１５１に送信する(ブロック５１７)。実施例では、追加情報は、データオブジェクトのための行動のデータと、データオブジェクトのための内容などのデータオブジェクトのためのアプリケーションデータを含む。ブロック５１９中で、サーバ１５１は、モバイル通信機器１０１から追加情報を受信して、追加情報を格納する(ブロック５２１)。サーバ１５１は、それから、モバイル通信機器１０１に送信されるであろう評価(ブロック５２３)を提供するために、追加情報により、変化されたデータオブジェクト情報を分析することができる(ブロック５２５)。ブロック５２７中で、モバイル通信機器１０１は、サーバ１５１から、変化されたデータオブジェクトの評価を受信して、それから、評価を処理する(ブロック５２９)。
【０１０９】
実施例では、モバイル通信機器１０１は、追加情報をサーバ１５１に送信することを選択することができる。例えば、サーバ１５１はデータオブジェクトを分析することができるが、決定的な評価を提供しないことができる。追加情報をモバイル通信機器１０１に要求するというよりも、機器は、サーバ１５１にデータオブジェクトのための追加情報を提供することによって、追加の評価を要求することができる。 図６はこの実施例を説明する。
【０１１０】
図６のブロック６０１中で、モバイル通信機器１０１は、データの変化を検出すると、ブロック６０３中で、モバイル通信機器１０１は、それの識別情報と、変化されたデータオブジェクトのための情報をサー１５１に送信する。ブロック６０５中で、サーバ１５１は、モバイル通信機器１０１のための識別情報と、変化されたデータオブジェクトのための情報を受信する。この情報は、サーバ上またはデータストレージ１１１上に、サーバ１５１によって格納されて(ブロック６０７)、それから、評価を結果として残すためにサーバ１５１によって分析される(ブロック６０９)。
【０１１１】
ブロック６１１中で、サーバ１５１は、評価または適切な通知書をモバイル通信機器１０１に送信する。モバイル通信機器１０１は、サーバ１５１から評価を受信する(図６のブロック６１３)。ブロック６１５中で、モバイル通信機器１０１は、データオブジェクトについての追加情報を送信するかどうかを決定する。例えば、サーバ１５１は、利用可能に与えられたデータによってオブジェクトのための評価を作り出すことができないかもしれず、それから、評価を作り出すことができるためには、より多くの情報を必要とする。
【０１１２】
ブロック６１７中で、モバイル通信機器１０１が、それがデータオブジェクトについての追加情報を送信すべきであると決定するならば、それから、この情報が収集される。ブロック６１９中で、モバイル通信機器１０１は、追加情報をサーバ１５１に送信し、サーバ１５１はこの情報を受信して(ブロック６２１)、受信した追加情報を格納する(ブロック６２３)。モバイル通信機器１０１が追加情報と共に識別情報を送信するのであるから、追加情報は以前にサーバ１５１によって受信された情報に付随するであろうことを、サーバ１５１は知ることになるであろうということを、理解することであろう(ブロック６０５) 。
【０１１３】
図６のブロック６２５中で、サーバ１５１は、モバイル通信機器１０１から受信された追加情報を分析する。実施例では、追加情報は、以前に受信された情報によって分析されることができる(ブロック６０５)。ブロック６２７中で、サーバ１５１は、評価をモバイル通信機器１０１に送信して、モバイル通信機器１０１は、評価を処理する(ブロック６２９)。モバイル通信機器１０１が未だ、追加情報を送る必要があるのであれば、必要に応じて、プロセスを繰り返すことができる。
【０１１４】
以前に言及したように、サーバ１５１は、大多数のモバイル通信機器にアクセスできるかもしれず、それらのいくつかが同じアプリケーションプログラムまたはデータオブジェクトを実行するか、格納することができる。１つのモバイル通信機器からデータオブジェクト情報を要求することは、単一のモバイル通信機器だけでなくネットワークの上の他の機器にも影響を与えて、ネットワークの通行を引き起こすことがある。
【０１１５】
実施例では、サーバ１５１が、１つより多いモバイル通信機器の上に格納されるデータオブジェクトについての情報を必要としているならば、サーバ１５１は、１つの機器に頼るというよりもモバイル通信機器のそれぞれから必要とされる情報の一部を収集することができる。一番目と２番目のモバイル通信機器を用い、従って２つ以上のモバイル通信機器からのデータ収集を最適化する実施例を、図７は、説明する。
【０１１６】
図７のブロック７０１中で、一番目のモバイル通信機器は、データオブジェクトにおける変化を検出する。データオブジェクトは、２番目のモバイル通信機器の上で、また発見されるが、同じ変化を再現することができるし、そうでないとすることもできる。一番目のモバイル通信機器は、その識別情報と、その変化されたデータオブジェクトのための情報をサーバ１５１に送信する(ブロック７０３)。
【０１１７】
ブロック７０５中で、サーバ１５１は、変化されたデータオブジェクトのための情報と共に一番目のモバイル通信機器のための識別情報を受信する。この情報は、サーバ１５１によって格納される(ブロック７０９)。ブロック７１１中で、サーバ１５１は、それがデータオブジェクトについての追加情報を必要としていることを決定する。ブロック７１３中で、サーバ１５１は、サーバ１５１が、また、データオブジェクトのための追加情報と同様にデータオブジェクトを格納することを知っている２番目のモバイル通信機器を識別する。
【０１１８】
図７のブロック７１５中で、サーバ１５１は、２番目のモバイル通信機器からデータオブジェクトのための追加情報を要求する。この要求は、２番目のモバイル通信機器によって受信される(ブロック７１７)。これに応答して、２番目のモバイル通信機器は、追加情報を収集するであろうし(ブロック７１９)、それから、追加情報をサーバ１５１に送信する(ブロック７２１)。  
サーバ１５１は受信して(ブロック７２３)、サーバ１５１上またはデータストレージ１１１上に、２番目のモバイル通信機器からのデータオブジェクトについての追加情報を格納して(ブロック７２５)、それから、評価をする１番目のモバイル通信機器から以前に受信した情報とともに、この追加情報を分析する(ブロック７２７)。
【０１１９】
この評価は、１番目のモバイル通信機器に送信され（ブロック７２９）、１番目のモバイル通信機器は、評価を受信して（ブロック７３１）、評価を実行する（ブロック７３３）。関連しているものであるならば、サーバ１５１がまた評価を２番目のモバイル通信機器に送信することができると理解するであろう。
【０１２０】
実施例では、サーバ１５１は、複数の機器から追加情報を収集することができる。実施例では、サーバ１５１は、以前にサーバによって格納された機器情報とアプリケーションデータを分析することによって、追加を要求するいずれかの機器を決定する。例えば、それがスパム目的のためにSMSを乱用しているかどうかを決定するためにSMSメッセージングのアプリケーションの使用を特徴付けるために、サーバ１５１は、以前に、それらがアプリケーションをインストールしたことを報告した多くのモバイル通信機器からアプリケーションによって送られたSMSメッセージのカウントを要求することができる。
【０１２１】
実施例では、サーバは、最初に機器からデータオブジェクトについての情報を受信するのを待つことなく評価を生み出すためにデータオブジェクトを分析することを試みる。代わりに、サーバは、他のソースからデータを受信して、データオブジェクトのための評価を作成するために、先を見越して情報を１つまたはそれ以上の機器に要求することができる。
【０１２２】
実施例では、収集され、モバイル通信機器１０１によってサーバ１５１に送信されるデータオブジェクトのためのアプリケーションデータは、データオブジェクトについての行動のデータを含ませることができる。分析中などのサーバー１５１によるそのようなデータの使用法は、下記にてさらに深く説明される。
【０１２３】
行動のデータは、それが機器の上で走った時に、データオブジェクトがなしたことについての情報を含ませることができる。
【０１２４】
行動のデータの例は、データオブジェクトによって起こされたネットワーク接続についての情報 (例えばサーバ名、ソース／終点アドレス、接続ポート、接続の持続、接続プロトコル、送受信されたデータ量、および接続の数、接続の頻度、データオブジェクトのためのネットワークインタフェースの情報、作成されたDNSの要求)、走ったときのデータオブジェクトの行動（例えばシステム・コール、APIコール、使用されたライブラリ、プロセス間の通信コール、送信されたSMSメッセージの数、送信されたEメールメッセージの数、表示されたユーザーインターフェイスについての情報、アクセスしたURL）、データオブジェクトによって引き起こされたオーバーヘッド(例えば、使用されたバッテリ、使用されたCPUの時間、送信されたネットワークデータ、使用されたストレージ、使用されたメモリ)を含む。
【０１２５】
他の行動のデータは、特定の行動が起こった時(例えば、データオブジェクトがSMSメッセージを送った時に、電話のスクリーンがオフになったかどうか、それがリモートサーバに接続した時に、ユーザがデータオブジェクトを使用していたかどうか)の文脈を含む。
【０１２６】
行動のデータが走るたびに、たくさんの量の行動のデータがデータオブジェクトによって生成されるので、モバイル通信機器にとって、可能な行動のデータのすべてを収集したり送信したりしないことが重要となる。さもなければ、行動のデータの収集と送信は、機器１０１、サーバ１５１およびネットワーク１２１上の資源を過剰に利用することになるであろう。
【０１２７】
実施例では、モバイル通信機器１０１が収集して送信するデータオブジェクトのための行動のデータのいずれかの形式を制限し、データオブジェクトが最後に変化してからの期間に基づき行動のデータを収集して送信する頻度の程度を制限する。
【０１２８】
例えば、データオブジェクトが最初にモバイル通信機器にインストールされる時に、機器は、毎日入手可能な行動のデータの全ての量のデータを収集して送信することができる。データオブジェクトのインストールに続く１週間後に、機器は、行動のデータの制限されたサブセットを毎週の間隔でしか送信することしかできない。インストールの１ヶ月後に、機器は、最小の量の行動のデータを毎月の間隔でしか送信することしかできない。
【０１２９】
実施例において、データオブジェクトが、アップデートされること(例えば、違うバージョンにアプリケーションをアップデートする)があったならば、機器は、毎日、行動のデータの完全な範囲を送信して、１週間の後、および／または１ヶ月の後に、収集され、送信されるデータの範囲と頻度を減らすことができる。実施例において、サーバ１５１は、環境設定を、機器が行動のデータの特定のタイプを、特定の頻度で送信するように要求しているモバイル通信機器１０１に送信する。機器が、データオブジェクトのために行動のデータを収集するか、および／または送信するかを決定することができるように、機器は、環境設定を格納する。実施例では、環境設定の情報は、特定のデータオブジェクトに対して特有のものである。実施例では、環境設定の情報は、機器によって遭遇された全てのデータオブジェクトのためのものである。実施例では、サーバが、不必要に収集されて送信された行動のデータを最小化することができるように、サーバ１５１は、機器から特定のデータオブジェクトのための行動のデータを要求する。
【０１３０】
実施例では、サーバ１５１は、機器１０１からサーバ１５１への行動のデータの収集と送信に影響を与える。たとえば、サーバが、機器が現在データオブジェクトを有していることを示す情報を有しているならば、そして、データオブジェクトをより一層よく評価するために、サーバが、更なる行動のデータが必要であるならば、サーバ１５１は、データオブジェクトのための行動のデータを要求するためにインストラクションをモバイル通信機器１０１に送ることができる。
【０１３１】
実施例では、サーバ１５１は、すでに行動のデータを報告した機器の数に基づいてオブジェクトのための行動のデータが必要であることを決定する。例えば、サーバは、確信のある評価を有するために各データオブジェクトのための行動のデータを報告するように少なくとも１００個(１００)の機器を必要とすることができる。実施例では、異なる機器によって報告された行動のデータの相違は、どれくらいの数の行動のデータが、評価を確信のものにするために必要であるかを決定するために使用される。例えば、３０個(３０)の全ての機器が小さな相違でデータオブジェクトによってバッテリ使用量を報告したのであるならば、サーバはそのオブジェクトのために、もはやこれ以上の行動のデータを要求しないであろう。しかし、それらの３０個(３０)の機器がバッテリ使用量の幅広い相違を提示したのであるならば、サーバは、行動のデータを２００個(２００)の機器に要求することができる。
【０１３２】
実施例では、データが正常な限界の外側にあるのであれば、モバイル通信機器は、行動のデータを送信することしかできない。実施例では、限界は、全てのデータオブジェクトにとって普遍的なものである。 それが動いている時間の５０%より多くの間、データオブジェクトが少なくとも１回のオープンな接続を維持しているならば、またはデータオブジェクトが２４時間の期間に１メガバイトを超えるデータを送信するならば、モバイル通信機器がデータオブジェクトネットワーク接続のための行動のデータを送信するように、例えばネットワーク使用上の限界を、設定することができる。
【０１３３】
実施例では、サーバ１５１は、アップデートされた限界の情報を機器に送信することによってモバイル通信機器１０１上の限界をアップデートすることができる。実施例では、限界は、１つまたはそれ以上のデータオブジェクトに特有のものとすることができる。
【０１３４】
例えば、機器は、それが行動のデータを送るであろうデフォルトの限界のセットを有しているかもしれないが、サーバは、ハッシュ、暗号法の署名者、パッケージ名、またはファイルシステム位置などの情報を識別することを介してそのデータオブジェクトを識別して、特定のデータオブジェクトのための限界を送信することができる。
【０１３５】
アップデートされた限界は、機器に、限界のデフォルトのセットよりも多少の行動のデータを送信することを指示することができる。例えば、モバイル通信機器は、決して行動のデータを送らないために履行を怠ることができる。新しいデータオブジェクトが機器にインストールされる時に、機器は、サーバにデータオブジェクトと関連したインストールのイベントとメタデータを報告する。
【０１３６】
サーバが他の機器から行動のデータを介してすでにデータオブジェクトを特徴付けていたならば、サーバは、もしデータオブジェクトがこれらの限界を逸脱するならば、モバイル通信機器がサーバに、逸脱された行動のデータを送信するがごとく、限界を、他の機器(例えば、１日あたり１００キロバイトのデータよりも少なく使用し、決して、SMSメッセージを送らず、決して、Eメールを送らない)上でデータオブジェクトの典型的な行動が特徴づけられている機器に送ることができる。そのような逸脱は、利用されて、特徴がない行動をとりはじめる合法なアプリケーションの場合または一定の時間の後に悪意に満ち始めるだけの時限爆弾のアプリケーションの場合に有益であろう。
【０１３７】
実施例では、モバイル通信機器１０１からサーバ１５１に送信されたデータは、ユーザープライバシーを保護するために、機器、ネットワーク、またはサーバの資源の乱用を防止するために、または他の理由のために、限定的である。いくつかの例の環境設定は、データが機器１０１からサーバー１５１にどんなアプリケーションを送信するか、何回アプリケーションデータが送信されるか、そして最初の送信が万一失敗であるならば、どのようにアプリケーションデータが再送信されるかを選択することを含むものである。
【０１３８】
環境設定の例は、さらに、識別するだけの情報(例えば無追加のメタデータまたは行動のデータ)を送信することを含むものである。決してどのようなアプリケーションデータも送信せず、決してデータオブジェクトコンテンツを送らず、データオブジェクトのソースに基づいたデータオブジェクトのためのアプリケーションデータを送信するだけであるのを含むかもしれない。１日あたりある程度のアプリケーションデータを送信しているだけであったり、１日あたり１つのデータオブジェクトの容量を送っているだけであったり、行動のデータあたり１日あたり一度に最大に、行動のデータを送信したりあるいは同様のものを含むかもしれない。
【０１３９】
当業者は、追加の環境設定が、本発明の開示の範囲を逸脱せずに可能であると認めることであろう。実施例では、環境設定は、一定の送信を行っているだけの機器によって、および／または機器から一定の要求をしているだけのサーバによって、モバイル機器１０１、および／またはサーバー１５１で、実施することができる。実施例では、環境設定は、１つまたはそれ以上のパーティーによってコントロールされる。例えば、環境設定は、モバイル通信機器１０１上にあるサーバ１５１またはソフトウェアによって自動的に設定されるか、サーバ１５１経由で管理者によってコントロールされて、および／またはモバイル機器１０１経由でユーザによってコントロールされるようにすることができる。.
実施例では、環境設定の一部は、違うパーティーによってコントロールされる。例えば、データオブジェクトがサーバ１５１に報告されるかどうかを、ユーザは、コントロールすることができるかもしれないが、サーバ１５１上の管理者は、すべての機器についてセキュリティシステムのバッテリ使用量を最適化するように、行動のデータを報告する頻度をコントロールすることができる。
【０１４０】
実施例では、それが、そのコンテンツまたは行動のデータなどのデータオブジェクトのためのアプリケーションデータを送信する要求を受け取る時に、モイル通信機器１０１上のソフトウェアは、ユーザーインターフェイスダイアログを表示する。
【０１４１】
上記述べたように、データオブジェクトの内容の要求は、全体の内容か、または内容の一部とすることができ、その要求は、一部が要求されているならば、内容のいずれかの一部を特定するものである。
【０１４２】
表示されたユーザーインターフェイスダイアログは、アプリケーションデータが送信されるべきデータオブジェクトを特定して、機器のユーザに、送信を許すか、拒絶するかのチャンスを与えることができる。
【０１４３】
実施例では、ダイアログは、ユーザが機器に将来のデータオブジェクトのために各自の決定を記憶させることを可能にする。実施例では、ダイアログは、送信されるアプリケーションデータについてのより詳細な情報を閲覧することをユーザに許し、プライバシー方針、プライバシー説明、またはどうデータが送信されて、格納されて、使われるかを記述している他のコンテンツにリンクしているようなデータを送信することのプライバシーの意味を理解する方法をユーザに提供する。
【０１４４】
実施例では、サーバ１５１が評価を作り出すために、より多くの情報を必要とするというであるという指示を受信するときに、モバイル通信機器は、データオブジェクトを送信することを試みる。この例では、機器がデータオブジェクトを送信することを試みるときに、データオブジェクトの内容を送信できるかどうかを選択することを機器ユーザに促すように、機器はユーザーインターフェイスダイアログを表示することができる。実施例では、メタデータまたは行動のデータなどの他の形式のアプリケーションデータが、ユーザ認証を必要とせずに送信される間、データオブジェクト容量などの一定の形式のアプリケーションデータのいくつかの試みられる送信が、認証のためのユーザーインターフェイスダイアログを結果として生じせることになる。
【０１４５】
特定のアプリケーションが複数のデータオブジェクトを利用するかもしれないために、アプリケーションが全体として分析されることができるように、モバイル通信機器１０１、および／またはサーバ１５１が複数のデータオブジェクトをグループ分けすることは望ましいことであろう。 
実施例では、モバイル通信機器１０１またはサーバ１５１は、複数のデータオブジェクトの間でアプリケーションデータを比較することによって、グループ分けを実行することができる。 例えば、データオブジェクトをグループ分けするために使用されるアプリケーションデータは、データオブジェクトが共にランタイムまたは動的にリンクされるどうか、
いかにしてデータオブジェクトをインストールされたかどうか(例えば同じインストーラからのデータオブジェクトは同じグループになるであろう)、複数のデータオブジェクトが同じファイルシステムのディレクトリの中にあるかどうか、そしてデータオブジェクトが、暗号化された署名を共有しているかどうかを含む。
【０１４６】
例えば、アプリケーションインストーラは、モバイル通信機器の上のファイルシステムに実行形式と複数のライブラリを抽出することができる。モバイル通信機器１０１は、データオブジェクトのグループ分けを考慮して共通のインストーラを使用することができ、行動のデータ(以下で説明される)を収集することの使用のためにグループ分け情報を格納することができる。
【０１４７】
サーバ１５１がグループを認識するために、各データオブジェクトのアプリケーションデータは、共通のインストーラのための識別情報を含ませることができる。 サーバ１５１は、分析の間、効率的にグループ分け情報にアクセスするために、明示的にサーバ１５１上またはデータストレージ１１１上に、グループ分けの関係を格納することができる。
【０１４８】
複数のオブジェクトが単一のプロセスの文脈の中など一緒に実行する時に、行動のデータがいつも１つのデータオブジェクトに帰することにはならないので、機器オペレーティングシステムがざらついた行動のデータをサポートしないか、他のメカニズムを通しているのであれば、モバイル通信機器１０１が複数のデータオブジェクトをグループ分けし、一緒にグループのための行動のデータを報告することは望ましいことであろう。 
実施例では、モバイル通信機器１０１は、グループ分けされたデータオブジェクトが関連することを示している情報を送信して、一緒にグループ分けされたデータオブジェクトのためのアプリケーションデータをサーバー１５１に送信する。
【０１４９】
例えば、モバイル通信機器上のプロセスが、異なるベンダから複数のコンポーネントをロードしてネットワークデータが１つのプロセスレベル当りで収集することができて、および／または、プロセスが、既知の悪意に満ちたサーバと接続していることを検出するならば、プロセスにおいてロードされたすべてのコンポーネントにとって、気に障るコンポーネントをサーバによって決定して特定することは望ましいことであろう。
【０１５０】
モバイル通信機器１０１が、行動のデータ(プロセスが接続したIPアドレスなど)をプロセスのために収集するときに、サーバにプロセスと関連するデータオブジェクトのすべてのために、機器は識別情報を報告する。サーバがデータオブジェクトのグループのための行動のデータを受信するときに、それが、複数の機器から行動のデータを分析して、特定のデータオブジェクトを含んでいるグループだけが悪意に満ちたサーバと接続するであろうことを決定することであろう。.従って、悪意に満ちたサーバと接続することが結果として生じているデータオブジェクトだけが、悪意に満ちていると考えられるであろう。
【０１５１】
実施例では、モバイル通信機器が特定のデータオブジェクトの行動についての気に障る情報を提供しないのあれば、機器のための行動のデータは全体として、機器にインストールされたすべてのデータオブジェクトのグループを代表するものとしてサーバに送信することができる。例えば、オペレーティングシステムが１つのプロセスあたりバッテリ使用量の情報を提供しないならば、そのオペレーティングシステムを実行している機器は、サーバ１５１に対して各機器のために、各機器にインストールされたアプリケーションのリストと全体のバッテリ寿命を送信することができる。
【０１５２】
どのアプリケーションがより良くあるいはより悪くバッテリの寿命と相関しているかどうか、そして機器にインストールされる時にバッテリの寿命への各アプリケーションの寄与を評価するかを決定するために、サーバは、それから、このデータについての分析を実行することができる。グループにおける複数のデータオブジェクトが、異なる行動のデータ収集の環境設定を持っている実施例では、モバイル通信機器は、環境設定を一緒に結合することであろう。
【０１５３】
例えば、モバイル通信機器１０１が、１つのデータオブジェクトのために毎日大量の行動のデータを報告するように設定されるものの別のデータオブジェクトためには異例の行動のデータを報告するだけのために設定されており、データオブジェクトがグループ分けされているならば、機器は２つの環境設定を結合して、グループのために大量の行動のデータを報告することができる。代わりに、２番目のデータオブジェクトが、プライバシー理由のために決して行動のデータを報告しないように設定されているならば、いずれの行動のデータも、グループにとってプライバシー強制を満たすために報告されないであろう。
【０１５４】
当業者は、サーバ１５１またはモバイル通信機器１０１によって送信されるデータ、つまりメタデータ、行動のデータ、設定情報、行動のデータ限界、グループデータ、追加データの要求、通知書、およびデータの他の形式が、バイナリフォーマットあるいは非バイナリのフォーマットを使用してフォーマットされることができると理解することであろう。
【０１５５】
例は、XML、JSONで、またはURIの一部として、データをフォーマットすることを含む。 データは、TCP、UDP、DNS、よびHTTPを含むさまざまなプロトコルを使用して、送信することができる。 他のフォーマット、および／またはプロトコルは、この開示からからかけ離れない範囲で、使用することができる。
【０１５６】
上記は、いかにしてデータが１つまたはそれ以上のモバイル通信機器から収集され集められるかの様々な制限しない例である。情報収集を最適化するための技術は、また以上にて明らかである。述べたように、サーバ１５１が、分析されたデータの評価を提供することができるように、モバイル通信機器１０１は、上記で説明されたデータのいくつかまたはすべてを、分析のためにサーバ１５１に送信することであろう。
【０１５７】
以下のセクションは、分析技術の制限しない例を説明する。当業者は、以下の例と開示が、ここで説明された方法を使用して収集されたデータを使用し、データの他の形式が送信される一方で、この開示が、ここで説明されたデータに制限されないということを理解するであろう。 
Ｂ．            情報収集システム
当業者は、サーバ１５１が、データオブジェクトを分析し、評価を生成することにおける使用のために、モバイル通信機器以外のソースからデータを受信することができることを理解するであろう。
【０１５８】
図１０は、サーバ１５１が複数のソースからデータを受信して、多重使用のための評価情報を送信する実施例を説明する。
【０１５９】
複数のサーバーが、ここに明らかにされた機能を提供するために、協同して実行するであろうことを強調するために、１つまたはそれ以上のサーバ１５１が、「クラウド」として説明される。複数の機器１０１が、情報をサーバ１５１に送信し、サーバ１５１ から受信するであろうことを強調するために、１つまたはそれ以上のモバイル通信機器１０１が、グループとして説明される。
【０１６０】
上で明らかにされたように、１つまたそれ以上のモバイル通信機器１０１がデータオブジェクトのためのアプリケーションデータをサーバ１５１に送信することができ、機器１０１は評価データ、詳細な情報の要求、通知書およびそのようなものをサーバ１５１から受信することができる。
【０１６１】
モバイル通信機器からデータを収集することに加えて、サーバ１５１はさまざまなデータ収集システムからデータオブジェクトに関連する情報を受信することができる。そのようなシステムは、サーバ１５１と別にすることができるし、あるいはサーバ１５１の一部とすることができる。. 実施例では、データ収集システムは、データベース、サーバ１５１上の他のストレージまたはデータストレージ１１１を、１つまたはそれ以上のデータオブジェクトのための情報で直接アップデートする。 実施例では、サーバ１５１に対して情報を提供するために、データ収集システムは、サーバ１５１と通信する。サーバ１５１へのデータ給送として使用することができる多くの形式のシステムが存在する。いくつかの例は、ウェブクローラー１００３、アプリケーションマーケットプレイスデータ収集システム１００５、ハニーポットおよびモバイル機器アプリケーションに関連した情報をサーバ１５１に伝えることができる他のシステムを含む。
【０１６２】
実施例では、ウェブクローラ１００３は、モバイル通信機器上で走ることができるデータオブジェクトをダウンロードし、データオブジェクトについての情報を検索して、両方をサーバ１５１に伝える。.例えば、ウェブクローラ１００３は、モバイルアプリケーションを主催するウェブサイトを捜すためにサーチ・エンジンを利用することができる。クローラ１００３がモバイルのダウンロードを主催しているサイトを識別したならば、クローラは、それらのサイト上で入手可能なWebページを取り出し、追加のページを取り出すことを決定するために、各ページのコンテンツを調査する。例えば、モバイルのダウンロードサイトの上のあるページは、データオブジェクトをダウンロードするためのリンクと同様に他のページへのリンクを含むかもしれない。モバイル通信機器(例えばPCソフトウェア)に影響しないインターネットの上に、入手可能な多くのコンテンツがあるので、モバイル機器に関連しているサーバ１５１に情報を送信するだけであることは、データ収集システムにとって望ましいことであろう。
【０１６３】
実施例では、クローラ１００３は、ダウンロードして利用可能かあるいは既にダウンロードされているデータオブジェクトがモバイル通信機器上で走ることができるかどうかを識別することができる。例えば、クローラ１００３は、URLがモバイルのアプリケーションパッケージ(たとえばSIS、APK、CAB、IPA)に対応していることを示している具体的なストリングのためにダウンロードURLを調査することができる。
【０１６４】
別の例では、それがモバイル通信機器に影響するかどうか、そしてもしそうであれば、それが特定のモバイルのプラットフォームに影響するかどうかを決定するためにダウンロードされた後に、クローラ１００３はデータオブジェクトを調査することができる。この場合に、それがどのようなモバイルのプラッとフォームとでも互換の実行可能なコードを含んでいるかどうか、または、特定のモバイル機器のプラットフォームのために典型的であるデータを含んでいるかどうかを、クローラ１００３は、その名前などの特徴のためにダウンロードされたデータオブジェクトを調査することができる。
【０１６５】
実施例では、ウェブクローラ１００３は、データアイテムに関するマーケットプレイスメタデータを収集し、マーケットプレイスメタデータをサーバ１５１に送信する。いくつかの例のマーケットプレイスメタデータは、ウェブサイトからダウンロードされて入手可能なデータオブジェクト、データオブジェクトのためのユーザ格付けおよびコメント、購入して入手可能であればデータオブジェクトの価格、データオブジェクトがダウンロードされた回数、データオブジェクトの作者についての情報およびウェブサイト上で入手可能なデータオブジェクトに関する他の情報を含む。
【０１６６】
以下で説明されるように、与えられたデータオブジェクトがどこで入手可能であるかは、データオブジェクトがどれほど信頼できるかを決定するために使用することができる。例えば、評判が良い会社のウェブサイトから入手可能なデータオブジェクトは、モバイル機器のフォーラムにフォーラムユーザの１人によってアップロードされたデータオブジェクトよりも信頼できると考えられる。
【０１６７】
多くのモバイルアプリケーションがモバイルのアプリケーションマーケットプレイス経由で入手可能であるだけなので、サーバ１５１が、アプリケーションマーケットプレイスで入手可能なデータオブジェクトについての情報を受信することは重要であろう。
【０１６８】
実施例では、アプリケーションマーケットプレイスデータ収集システム１００５は、モバイルのアプリケーションマーケットプレイスからデータオブジェクトのためのデータオブジェクトコンテンツとマーケットプレイスメタデータなどのデータオブジェクトについての情報を検索し、情報をサーバ１５１に報告する。
【０１６９】
実施例では、アプリケーションマーケットプレイスデータ収集システム１００５は、サーバ１５１の一部である。 代わりの実施例では、アプリケーションマーケットプレイスデータ収集システムは、サーバ１５１とは別である。アプリケーションマーケットプレイスは、しばしばモバイルのプラットフォームベンダ(たとえばアンドロイドマーケットプレイス、ブラックベリーアプリワールド、アップルアプリストア、ノキアOviストア)またはサード・パーティー(GetJar、Handango)によって提供されて、独自のAPIを使うことができる。 実施例では、アプリケーションマーケットプレイスデータ収集システム１００５は、独自のプロトコル経由でアプリケーションマーケットプレイスサーバと通信するために設定される。
【０１７０】
サーバ１５１によって使用可能な方法でサーバ１５１に対してアプリケーションマーケットプレイスサーバから受信されたデータを送信するために、アプリケーションマーケットプレイスデータ収集システム１００５は、サーバ１５１が分析のために利用することができるフォーマットへ独自のフォーマットからデータオブジェクトのためのアプリケーションデータを変換することができる。例えば、アプリケーションアプリケーションマーケットプレイスは、アプリケーションのためにユーザのコメントと格付けにアクセスするためにAPIを提供することができる。しかし、このAPIによって戻されたデータは、別のアプリケーションマーケットプレイスのコメントデータと異なるかもしれない。
【０１７１】
別の例では、データ収集システムが、繰り返しそれを質問する必要がないように、アプリケーションマーケットプレイスは、先を見越してデータをマーケットプレイスデータ収集システム１００５に送信することができる。サーバ１５１が、複数のアプリケーションマーケットプレイスからコメントデータを分析することができることを可能にするために、アプリケーションマーケットプレイスデータ収集システム１００５は、サーバ１５１への送信のために、異なってフォーマットされたコメントデータを、標準のフォーマットに変換することができる。
【０１７２】
実施例では、アプリケーションマーケットプレイスデータ収集システム１００５は、「バッテリの消耗」、「クラッシュ」、「プライバシー設定」、「上手くいかない」、「電話番号」、「コンタクト」などのユーザーレビューの中の一定の用語を検索することができて、それらはアプリケーションを既知の悪さと見なすために使うことができたり、あるいは、ここで説明されるシステムコンポーネントを用いてアプリケーションの信頼性を確立するために使うことができる。
【０１７３】
代わりの実施例では、アプリケーションマーケットプレイスデータ収集システム１００５は、すべてのコメントデータを集めることができ、コメントデータの分析は、サーバ１５１によって実行することができる。 同様に、サーバ１５１またはアプリケーションマーケットプレイスデータ収集システム１００５は、データオブジェクトのために積極的なレビューまたはスコアを認識することができ、従ってデータオブジェクトのための評価および／または信頼性を改善することが可能である。
【０１７４】
データオブジェクトの情報の収集を自動化することに加えて、サーバ１５１が人の情報１００７を受け入れることは重要なことであろう。 そのような情報は、モバイルのアプリケーションベンダにとって、具体的なキーワード、または疑い深いこととしてモバイルのアプリケーションを分類するであろうヒューリスティックスなどの他の特徴のために主体の信頼スコアを含むであろう。 
当業者は、この開示の範囲を逸脱せずに、モバイル機器のためにデータオブジェクトの分析に関連した他の形式の情報が、人によって提供可能であることを認識するであろう。実施例では、サーバ１５１は、特定のデータオブジェクト、データオブジェクトのグループ(例えば特定の開発者からのデータオブジェクト、特定のプラットフォーム上の全てのデータオブジェクト)に関し、または全体としての分析システム(例えばアップデートされた分析ヒューリスティックス)のために、誰かがサーバ１５１に提供するであろう情報によって、ユーザーインターフェイスを提供する。 実施例では、誰かが提供するであろう特定のデータオブジェクト、データオブジェクトのグループについてのまたは分析システム全体にとっての情報によって、ユーザーインターフェイスを提供する。
【０１７５】
この分離したサーバは、ユーザーで提供された情報をサーバ１５１に送信し、サーバ１５１は、サーバ１５１上またはデータストレージ１１１上にそれを格納する。実施例では、分離されたサーバは、直接ユーザで提供された情報によってデータストレージ１１１を直接アップデートする。
【０１７６】
図１０は、いかにサーバ１５１が外部システムに対してデータオブジェクトについての情報を提供するかについて説明する。
【０１７７】
実施例では、サーバ１５１によって提供された情報は、リスト、データ送給、リポート、またはファイアウォールあるいはウイルスの定義などのフォーマットされたデータとして、または他の形式で、API経由で送信されることができる。実施例では、サーバ１５１は、アプリケーションマーケットプレイス１００９に対してデータオブジェクトについての情報を提供する。例えば、サーバ１５１は、マーケットプレイス１００９に、マーケットプレイス１００９に存在する悪意に満ちたデータオブジェクトのリストを提供することができる。
【０１７８】
別の例では、サーバ１５１は、データオブジェクトが悪意に満ちると考えられるかあるいは違った形で不適当であると考えられるかを決定するために、アプリケーションプレイス１００９が識別情報(例えばデータオブジェクトのコンテンツのハッシュ)をサーバ１５１に対して送信することができるAPIを、サーバ１５１は晒すことができる。
【０１７９】
実施例では、ネットワークセキュリティインフラストラクチャ１０１１がネットワークレベルで悪意に満ちているか、望まれていないアプリケーションを防ぐことができるように、サーバ１５１は、ネットワークセキュリティインフラストラクチャ１０１１にデータを提供する。例えば、ネットワークレベルで保護することによって、インストールされたセキュリティソフトウェアを有していないモバイル通信機器さえも保護される利益が得られるであろう。
【０１８０】
実施例では、サーバ１５１は、脅威のサインをネットワークセキュリティインフラストラクチャ１０１１に送信する。そのような脅威サインは、例えば望まれていないアプリケーションのハッシュ、望まれていないアプリケーションのための２進シーケンス、望まれていないアプリケーションのパッケージ名、悪意に満ちたサーバまたは攻撃者を塞ぐファイアウォール規則、および「Snort」などのネットワークセキュリティシステムのための規則といったさまざまな形式を取ることができる。
【０１８１】
実施例では、サーバ１５１は、データ給送装置１０１３という形でデータを提供する。
【０１８２】
データ給送装置１０１３は、サーバのデータ収集からまたはさらなる分析(以下で説明される)からのいずれでも、サーバ１５１またはデータストレージ１１で利用可能なさまざまなデータを含むであろう。例えば、無作法な振る舞いをまたは口ぎたないアプリケーションを識別するために、与えられたしきい値よりむしろネットワークトラフィックを使用するいかなるデータオブジェクトのリスト、最も流行した悪意に満ちたデータオブジェクトのリスト、潜在的に悪意に満ちたアプリケーションを識別するためのヒューリスティックスのセットなどの標準とマッチしているアプリケーションのリストなどである。
【０１８３】
Ｃ．            サーバ側の分析システム
データオブジェクトの評価または他の有用な出力形式を生成するために、サーバは、分析のさまざまな方法を使用することができる。実施例では、サーバが１つまたはそれ以上のソースからデータオブジェクトについて収集された情報にアクセスできるので、サーバは、データオブジェクトのための評価を生成するための情報を処理することができる。
【０１８４】
図１１は、サーバ１５１がデータオブジェクトのためのアプリケーションデータを集めて、情報を格納して、データオブジェクトのための特徴付けと分類を生成して、評価情報を生成するためにデータオブジェクトを評価し、評価情報を送信する実施例を説明するものである。
【０１８５】
図１１のブロック１１０１中で、アプリケーションデータ(例えばデータオブジェクトのコンテンツ、メタデータ、行動のデータ、マーケットプレイスメタデータ)は、データオブジェクトのために収集される。収集するための可能な方法と収集されたデータの形式のいくつかが、上記のとおり説明された。 そのような方法は、機器から、ウェブサイトから、アプリケーションマーケットプレイスから、人々から、そして他のソースから収集されたデータを含むことができる。ブロック１１０３中で、データが、それが収集される時とは異なった時間に使用することができるように、データオブジェクトのためのアプリケーションデータは、サーバ１５１またはデータストレージ１１１上に格納される。
【０１８６】
ブロック１１０５中で、機器データは、収集されて、サーバ１５１またはデータストレージ１１１上に格納される(ブロック１１０７)。評価、分類、および説明がデータのソースを考慮することができることを報告した機器のためにアプリケーションデータと結び付くことは、機器データにとって望ましいことであろう。
【０１８７】
例えば、アプリケーションが、特殊な形式の機器にインストールされる時に誤動作するならば、特殊な形式の機器がデータを提供したものと同様の機器によって提供されたアプリケーションデータを分析することは、サーバ１５１とって重要なことである。
【０１８８】
In an embodiment， when application data is stored １１０３ it is associated with device data for the device that provided it.  実施例では、アプリケーションデータがブロック１１０３で格納されたときに、それを提供した機器が機器データと関連づけられる。 例えば、機器１０１がアプリケーションデータをサーバ１５１に送信する時に、機器１０１のために以前に格納されたデータをサーバ１５１が検索することを可能にする認証情報を、機器は送信することができる。機器１０１がすでに機器データをサーバ１５１に送信したならば、以前に格納された機器データは、その時新しいアプリケーションデータに関連付けることができる。そのようなデータ収集システムのにおいて、プライバシーを保護し、サーバ１５１またはデータストレージ１１１によって格納された同一視可能な情報を個々に最小化することは、重要なことであろう。
【０１８９】
実施例では、保存されたデータが特定の機器ではなくむしろ１つまたはそれ以上の機器によって共有された機器データのセットと接続するように、同じ機器データを持っている複数の機器のためのアプリケーションデータが収集される。そのようなシステムの設計において、機器データの粒状性と収集されたデータが特定の機器に帰することができるレベルとの間のバランスを考慮することは、重要なことであろう。
【０１９０】
データオブジェクトを分析する一部として、サーバ１５１がそれを特徴付けて、および／またはそれを分類することは望ましいことであろう(ブロック１１０９)。実施例では、サーバー１５１は、データオブジェクトのために特徴付けと分類のデータを格納する(ブロック１１１１)。より多くのデータが入手可能になるか、あるいはデータ分析が変化するにつれて、特徴付けと分類のデータがアップデートされることは望ましいことであろう。
【０１９１】
実施例では、サーバ１５１は、追加の分析を実行し(ブロック１１０９)、分析システムによって使われたデータオブジェクトのための新しいか、あるいはアップデートされたデータが入手可能な時に、データオブジェクトのために格納された分類と特徴付けデータをアップデートする(ブロック１１１１)。
【０１９２】
特徴付けデータは、データオブジェクト機能、行動、およびその機能などの評判、データオブジェクトのための測定基準、データオブジェクトと関連している他のデータの分析およびそのようなものなどを説明する情報を含む。
【０１９３】
実施例では、アプリケーションデータ、機器データ、マーケットプレイスデータ、配布データ、およびサーバ１５１に利用可能な他のデータを使って、サーバ１５１はデータオブジェクトについて特徴付けデータを生成する。いくつかの方法が以下で説明される一方で、当業者であれば、この開示の範囲を逸脱せずに使用されることができる説明情報を生成するための方法が他にあると理解するであろう。
【０１９４】
実施例では、サーバ１５１は、評価として特徴付け情報を送信する。アプリケーションをインストールするかどうかを決めるときに、特徴付け情報が、ユーザにとって理解するために有益であろうと理解するであろう。例えば、ユーザが、ゲームをダウンロードすることを考慮しているが、ユーザが、そのゲームが、インターネットに対してユーザの位置を送信する機能を持っていることを示している評価を受信したならば、ユーザは、そのゲームをインストールしないと決定することができる。別の例では、ユーザが、インスタントメッセージングアプリケーションをダウンロードすることを考慮していて、そのアプリケーションが不釣合な量のバッテリパワーを使うかもしれないことを心配するならば、ユーザは、そのアプリケーションによる平均的なバッテリ使用量の計測をみるために評価を受け取ることができ、その計測に基づいて、インストールするのに、そのアプリケーションが容認できることを決定することができる。
【０１９５】
実施例では、特徴付け情報は１つまたはそれ以上の他の分析システムへのインプットとして消費される。例えば、アプリケーションのプライバシーリスクの評価を生成している分析システムは、アプリケーションが、位置または接触のリスト情報をインターネットサーバに送るなどの危険な機能を持っているかを決定するために、特徴付け情報を使うことができる。
【０１９６】
機能は、サーバ１５１が生成することができる特徴付けデータの１つの形式である。実施例では、サーバ１５１は、機能をデータオブジェクトから取り出す。一定のモバイルのオペレーティングシステムまたはアプリケーション環境の中で、ネットワークデータを送るか、受け取るか、または電話位置にアクセスするか、接触入力を読み書きするなどの機器の上の特権を与えられた機能にアクセスするためにアプリケーションは、粒状の許可を要請することができる。
【０１９７】
実施例では、データオブジェクトの機能を決定するためにデータオブジェクトによって要請された許可について、サーバ１５１はデータを使用する。サーバは、機器、マーケットプレイスデータ、データオブジェクトの静的解析、およびデータオブジェクトの動態分析によって報告されたメタデータと行動のデータを含めて、さまざまな方法によって許可データを決定することができる。例えば、アンドロイドオペレーティングシステム上のアプリケーションは、インストール時間に許可を宣言しなければならない。従って、サーバ１５１は、直接、１つまたはそれ以上の機器によってまたはマーケットプレイスデータ経由で、または、許可データを決定すると報告されたアプリケーションパッケージについてのメタデータ経由で、アプリケーションパッケージの中でこれらの宣言された許可を分析することができる。
【０１９８】
実施例では、データオブジェクトが機器の上でどのようなAPIを利用するかを決定するために、サーバ１５１はデータオブジェクトのコンテンツの分析を実行する。
【０１９９】
実施霊では、API分析は、API呼び出しを示しているデータ連鎖のためにデータオブジェクトの検索を含むことができる。API呼び出しは、具体的なライブラリの分析、機能、クラス、または他はデータオブジェクトの中でのインポートされたデータ構造、動的なリンカ呼び出し、ローカルな、またはリモートのサービスへの呼び出しの分析、データオブジェクトの静的解析、データオブジェクトの動態分析、そして１つまたはそれ以上の機器によって報告された行動のデータの分析などである。
【０２００】
実施例では、アプリケーションが特定の機能を持っていることを決定するために、サーバ１５１は、抽出されたAPI呼び出し情報を利用する。例えば、機器上のGPSラジオと対話するために、アプリケーションがAPIにコールするならば、サーバ１５１は、アプリケーションが、機器位置を決定する機能を持っていると決定する。そのような分析は、データオブジェクトによって使われたAPIの大部分を検出することができるが、高度な自己書き換えコードが、データオブジェクトの徹底的な分析を防止できるであろうことは、可能なことである。
【０２０１】
実施例では、自身を修正するデータオブジェクトの機能は、データオブジェクトが、より直接的なデータオブジェクトより高いリスクをもっていることを意味するであろう。
【０２０２】
反マルウェアシステムから隠れるために、PCの上のマルウェアの多くの例が、自己書き換えコードを使う間、不正アクセスを防止するために、コピープロテクトシステムはまたしばしばコードを暗号化する。従って、自己部分修正はそれだけでは、悪意に満ちることとしてデータオブジェクトを分類することについて十分でないかもしれず、それは、データオブジェクトのための評価を生成するために、行動のデータなどの他の特徴に加えて分析システムによって使用されるかもしれない。
【０２０３】
実施例では、データオブジェクトのために機能を決定するために、サーバ１５１は行動のデータを分析する。例えば、サーバ１５１は、電話をかけているか、SMSメッセージを送信するか、インターネットにアクセスしているか、特定のアプリケーションの機能を示す他の行動を実行しているデータオブジェクトを捜すことができる。場合によっては、どのような単一の機能がデータオブジェクトによって利用されるかばかりでなく、アプリケーションがAPI間でデータを交換するかどうかを理解することが重要である。
【０２０４】
例えば、インターネットを使い、機器接触リストを読み出すことができるアプリケーションは、かなり、違うリスク持っている複数の機能を有しているであろう。例えば、単に、アップデートをチェックするために、インターネットを使用する住所録アプリケーションは、コンタクトを読み出し、それらのコンタクトをインターネットに送信する住所録アプリケーションよりプライバシーリスクは少ない。
【０２０５】
実施例では、データが戻って来たコードパスがあるかどうか、別のAPIまたはサービスに送られた１つのAPIまたはサービスによって生成されたコードパスがあるかどうかを決定するために、サーバ１５１はデータオブジェクトを分析する。
【０２０６】
例えば、サーバ１５１は、アプリケーションがAPIの間のデータを転送するかどうかを決定するために、２つのAPIの間で、汚染検査を実行することができる。例えば、サーバ１５１は、機器上のどのようなネットワークAPIにでも提供されることができるモバイル機器上のコンタクトAPIへのコールによって戻されたデータによってデータオブジェクトの中にコードパスがあるかどうかを決定することがきでる。
【０２０７】
そのようなコードパスがあるならば、サーバ１５１は、データオブジェクトが、コンタクトをインターネットに送る機能を持っていると決定する。そのような機能を持つことは、アプリケーションがコンタクトにアクセスし、それがインターネットにアクセスすることを単に知るよりも、サーバ１５１によるまたはユーザによる分析中、より貴重なことであろう。多くのアプリケーションは、両方の許可を使用することができる。しかし、少数は、実際に、コンタクトデータをインターネットに送信することができる。 ユーザーまたは自動分析システムは、より少ない粒状な機能の計測よりも機能のずっと強いインジケータとして、２つのAPIの間にコードパスがあることを知っている機能を使うことができるであろう。
【０２０８】
実施例では、バーチャルな(例えばシミュレーションされるか、エミュレートされる)、または実在の機器内で、サーバ１５１はデータオブジェクトを実行し、実行したときにデータオブジェクトの挙動を分析する。実施例では、バーチャルな、または実在の機器が計装され、それがデータオブジェクトのための行動のデータを報告する。 実施例では、バーチャルな、または実在の機器、ネットワークトラフィック、コールおよびSMSメッセージは、サーバ１５１によって分析される。例えば、バーチャルな機器は、どのような現実の世界状況にでも存在することがありそうにないその位置のAPI経由でいつでも特定の位置を報告するために設定されるであろう。
【０２０９】
バイナリの２倍のエンコーディング、基本の６４エンコーディング、およびテキストエンコーディングなどのその位置の様々なエンコーディングのための機器ネットワークトラフィックを分析することによって、サーバ１５１は、データオブジェクトが、機器位置をサーバに報告することを試みるかどうかを決定することができる。実施例では、データオブジェクトが機器上で実行される前とデータオブジェクトが実行された後に、サーバ１５１は、バーチャルな、または実在の機器の状態の違いを調査する。例えば、データオブジェクトは、それが、ステルスルートキットをインストールするためにインストールされる機器上のカーネルを利用することができる。この場合に、バーチャルな機器は、普通の状況の下で変わるべきでないシステム・コール・ディスパッチテーブル内などのメモリの一定のセクション内でかなり大きな相違を示すかもしれない。
【０２１０】
実施例では、実在のまたはバーチャルな機器は、信頼された証明書のそのリストの中にカスタムルート証明機関を持っていて、サーバ１５１は、カスタム認証局によってサインされるサーバ証明書を使用して、すべてのTLSトラフィックを傍受し、そして、そのオリジナルの宛先へのトラフィックを代理する。機器が、カスタム認証局を持っているので、データオブジェクトは、サーバ１５１を通して有効なTLS接続を確立することができて、すべての暗号化されたトラフィックは、サーバ１５１によって分析することができる。
【０２１１】
データオブジェクトの機能は別として、機器上で実行されるデータオブジェクトの影響または機器上での機能の使用に関連している測定基準を収集することは、サーバ１５１にとって重要なことであろう。例えば、ネットワークデータ、Eメール、またはSMSメッセージングの乱用は、罵倒か、悪意に満ちたか、利用されたアプリケーションを暗示すると考えられるであろう。 実施例では、メタデータと行動のデータ、機器データ、およびデータオブジェクトを特徴付けている測定基準のデータを生成するために、それがそれに利用可能な他のデータなどの多くのモバイル通信機器から、サーバ１５１はアプリケーションデータを分析する。
【０２１２】
例えばアプリケーションがすべての機器のまたは特殊なデバイスタイプの平均でどれくらいバッテリ消費を必要としているか、データオブジェクトがどれくらいデータをネットワークインタフェースの上、または電話対Wi-Fiのネットワークインタフェースの上でにでも送るか、いくつのメッセージまたはSMSメッセージをデータオブジェクトが送るか、いくつの電話のコールをオブジェクトが生成するか、および他の測定基準を、サーバ１５１は、決定する。
【０２１３】
サーバ１５１は、上記で説明されているものから他の特徴付け情報を生成することができ、その特徴付け情報は、評価を生成するためにサーバ１５１によってさらなる分析を助けるかもしれないか、直接サーバ１５１によって晒されるかもしれない。
【０２１４】
実施例では、サーバ１５１は、ネットワークキャラクタリゼーションデータを生み出すためにデータオブジェクトと関連したネットワークトラフィック情報を分析する。ネットワークトラフィック情報は、データオブジェクトが接続したサーバーのリスト、それらのサーバーデータオブジェクトが通信するポートとプロトコル、いかなる数が各サーバへ送信され各サーバで受信されたかである。
【０２１５】
実施例では、ネットワーク特徴付け情報は、特定のデータオブジェクトを実行している機器のうちどのような割合が各サーバと接続するかということを含む。例えば、IMサーバーまたは既知の悪意に満ちたボットコマンドとコントロールサーバと接続するアプリケーションは、それがインストールされるすべての機器上に対して１つまたは少数のサーバとしか接続しないであろう。しかし、ユーザで指定された接続を許すウェブブラウザまたはアプリケーションは、異なる機器上に対して非常に多くの異なるサーバと接続するかもしれない。
【０２１６】
実施例では、データオブジェクトが多くの異なるサーバと接続するならば、サーバ１５１は、報告している不要なデータを最小化するために、そのデータオブジェクトのためのネットワークの行動のデータを収集しない１つまたはそれ以上の機器に知らせる。実施例では、ネットワークトラフィック情報は、モバイル通信機器から行動のデータとして、集められるか、またはバーチャルな、または実在の機器上でデータオブジェクトを実行しているサーバ１５１によって集められる。
【０２１７】
実施例では、サーバ１５１は、データオブジェクトがモバイル通信機器１０１を、悪意に満ちたインターネットまたは他の公的なあるいは私的なネットワークにアクセスさせるかどうかを決定する。例えば、モバイル通信機器を、悪意に満ちたウェブサイトにアクセスさせるデータオブジェクトは、機器を搾取に服従させることであろう。アドレスがモバイル通信機器を極悪なウェブサイトまたはフィッシング詐欺というよりも安全なウェブサイトに向けるであろうかを決定することを、送信されたインターネットまたはイントラネットのアドレス(例えばURL)の解像度にとって、この開示の実施例は、可能にする。この情報は格納されて、それは特定のデータオブジェクトと関連付けられる。
【０２１８】
すべてのアプリケーションのために別個の決定を作ることなくユーザがアプリケーションポリシーをモバイル機器に適用するために、ユーザが、いずれのカテゴリのアプリケーションが許すか、否定するかを単に決めることができるように、アプリケーションを分類することは役立っているかもしれない。実施例では、それがアプリケーションデータ、機器データ、マーケットプレイスデータ、およびキャラクタリゼーションデータなどの入手可能に持っているデータを使って、サーバ１５１はデータオブジェクトを分類する。
【０２１９】
例えば、データオブジェクトが、モバイル通信機器上で位置をAPIと呼ぶと見なされるならば、サーバ１５１はマッピングまたは他の位置ベースのアプリケーションとしてデータオブジェクトを分類することができる。 実施例では、分類は、あなたのコンタクトリストを読みだしたアプリケーションまたはあなたの位置をインターネットに送ることができるアプリケーションなどの機能に対して、直接、割り当てることができる。
【０２２０】
他の例の分類は、データオブジェクトがモバイル通信機器コンタクトリストからのどのような情報でも伝えるかどうか、データオブジェクトが機器電話番号などの他のデータに、モバイル通信機器によって送信させられるかどうか、そして、モバイル通信機器のプライバシーセキュリティに影響するかもしれない他の行動を含むものである。
【０２２１】
実施例では、データオブジェクトがそれを分類するように、サーバ１５１は、それを分類するためにデータオブジェクトのための測定基準データを使用する。例えば、サーバは、一般に、機器のバッテリの１０%より多くを使うデータオブジェクトを含むヘビーなバッテリユーザの分類を持つかもしれない。 分類が、特徴付けデータに加えて機器データに依存しているかもしれないので、バッテリー浪費家のカテゴリは、評価がどのような形式の機器のためであるかに依存するかもしれない。例えば、１つの機器のバッテリの１０%より多くを使うデータオブジェクトは、別の機器のバッテリのわずか５%を使用するかもしれない。          
実施例では、データオブジェクトが直接分類情報を提供しないならば、サーバ１５１はそのような情報を推論することができる。例えば、データオブジェクトが既知のインスタントメッセージングサーバと通信するならば、サーバ１５１は、データオブジェクトがIMアプリケーションであることに決定することができる。例えば、ポピュラーな社会的なネットワークに付属しているサーバと接続するアプリケーションは、ソーシャルネットワーキングアプリケーションとして分析中に分類されるかもしれず、既知の悪意に満ちたIRCサーバと接続するアプリケーションは、悪意に満ちたボットとして分類されるかもしれず、１つまたはそれ以上の機器バッテリに、浪費するアプリケーションは、バッテリ浪費としてのフラッグを掲げられるであろう。
【０２２２】
アプリケーションの分類は、主観的でであり、自動的に判断するには困難であるかもしれないため、組織の内部または共同コミュニティの努力の一環として、一人またはそれ以上の人を有して、アプリケーションの分類を決定することは、望ましいことであろう。
【０２２３】
実施例では、サーバ１５１は、ユーザがデータ・オブジェクトの分類を示唆することが可能なインターフェイスを公開する。実施例では、データオブジェクトのための配布データを決定するために、サーバ１５１は、アプリケーションデータと機器データを処理する。
【０２２４】
例えば、サーバ１５１は、アプリケーションがポルノや暴力を含むコンテンツを持って、子供に不適切なアプリケーションの分類を定義するかもしれません。
【０２２５】
この実施例では、１つまたは複数のユーザが、サーバ１５１に知られているすべてのアプリケーションを検索し、閲覧することができ、Webアプリケーションとして提供され、コミュニティの投票システムにサインインすることができる。アプリケーションのリストは、マーケットプレイスのクロールおよび機器によって報告されたアプリケーションによってデータがロードされることがある。各アプリケーションには、ユーザーはそのアプリケーションのための彼らの推奨する分類を選択できるページがあるかもしれない。ユーザが分析の出力に基づいて決定を下すことができるように実施例では、ユーザインターフェイスは、集約されたアプリケーションデータ、データ・オブジェクトの特性、及びサーバ１５１が利用できるその他の情報としてデータオブジェクトに関する情報が表示される。
【０２２６】
実施例では、ユーザインターフェイスは、ユーザが、分類のリストから選択し、新しい分類を追加して、データ・オブジェクトのタグを追加することができる。実施例では、ユーザインターフェイスは、人々がデータ・オブジェクトのための適切な分類を議論することができるように、議論のコンポーネントを有している。実施形態では、アプリケーションの分類は、アプリケーションのための権威ある分類では、ほとんどのユーザーが選択した分類ごとに、好みの分類を選択するかもしれないことによって、投票システムによって決定される。実施例では、ユーザインタフェースは、モバイル通信機器に表示され、機器にインストールされているデータオブジェクトのリストを表示し、ユーザにそれらのデータ・オブジェクトの分類を示唆することができる。
【０２２７】
実施例では、サーバ１５１のプロセス・アプリケーションのデータと機器のデータは、データ・オブジェクトの分布データを決定する。分布データは、どれほど広く与えられたアプリケーションが現在配布されているか、アプリケーション配布の成長が、アプリケーションが入手可能であった期間の間にあったものか、アプリケーションがインストールされた地理などの顧客人口統計が何を持っているかを、モバイル通信機器のグループのアプリケーションの普及の他の機能を、配布データは含むであろう。
【０２２８】
例えば、サーバ１５１は、そのアプリケーションがどの程度普及しているかを判断するために、いかに多くのモバイル通信機器が、現時点でデータ・オブジェクトをインストールしたことを報告したかを検討することができる。
【０２２９】
実施例では、サーバ１５１は、後述するように、データ・オブジェクトの信頼性を判断するために、配信データを使用しているか、あるいはリスクのためのデータ・オブジェクトを分析する。例えば、アンインストールされずに長期間、多くの機器にインストールされたアプリケーションは新しいものであり、唯一のいくつかの機器にインストールされたアプリケーションよりもリスクが少ない可能性が高い。
【０２３０】
サーバ１５１は、開発されている正規のアプリケーションが発生する可能性があり、したがって、広く配布されていないため、この開示の実施例は、アプリケーションは開発中であり、したがってそれらが反マルウェアまたは他のシステムの中で不適当であることとして分類されることを防止することを識別するサーバ１５１に向けられている。
【０２３１】
サーバ１５１は、デバッグシンボル、デバッグ可能な権限やフラグ、デバッグ用ライブラリへのリンケージ、およびその他の特性として、開発中のアプリケーションに固有の特性を持っていることを示すデータオブジェクトのためのアプリケーションデータを受信することができる。
【０２３２】
開発中のアプリケーションはまた、低分布や孤立分布を持っている可能性が高いかもしれない。サーバ１５１は、アプリケーションが開発中であることを識別する場合は、開発において考慮されているアプリケーションの表示を格納して、不審なまたは望ましくないとアプリケーションを評価することからサーバ１５１を防ぐために、またはサーバがそのような評価に到達する可能性を減少させるために、指示を使用するかもしれない。
【０２３３】
実施例では、データ・オブジェクトが「開発中」として扱われるべきであるかどうかを判断する際にサーバ１５１は、問題のデータ・オブジェクトを検出した機器が遭遇する前のデータ・オブジェクトを考慮する。
【０２３４】
機器が、開発中のデータ・オブジェクトに頻繁に遭遇した場合は、サーバ１５１は、開発中として、データオブジェクトを分類する可能性が高くなる。機器が、開発中のデータ・オブジェクトに稀に遭遇した場合は、サーバ１５１は、開発中としてデータオブジェクトを分類する可能性が低くなる。
【０２３５】
実施例では、サーバ１５１は、データ・オブジェクトのための評判や信頼のレベルを確立する。.実施例では、信頼のレベルが手動または自動的に決定され、単一のデータ・オブジェクト、アプリケーションの一部である複数のデータ・オブジェクト、アプリケーションの複数のバージョン、または１つまたは複数のプラットフォーム上で開発者から与えられたすべてのアプリケーションに割り当てられる。
【０２３６】
実施例では、それが直接後で使用することができるように、あるいは評価を生成するための一部として使用することができるように、信頼のデータは、サーバ上またはデータストレージ１１１に、サーバ１５１によって格納される。
【０２３７】
実施例では、信頼は、アプリケーションのマニュアルレビュー・プロセスを介して付与される。たとえばサーバ１５１が、その能力（例えば、個人データへのアクセス権を持っているおよび／または機密APIを利用している）のみに基づいて、危険であるとアプリケーションを判断した場合、評価を見ているユーザは、アプリケーションが十分であっても、それをダウンロードすべきでないことを選択するであろう。この問題を解決するには、アプリケーションを手動で確認することによって信頼性のランクを割り当てることができる。レビューがアプリケーションを信頼できると判断した場合、評価は、アプリケーションが危険ではないことを報告する。しかしながら、レビュー上で、アプリケーションが不審であると判断され、評価がアプリケーションを危険であるとの報告をし続けることがある。評判の良いアプリケーションが、複数のデータ・オブジェクトで構成される可能性があり、新しいデータ・オブジェクトで更新されることがあり、複数のプラットフォーム用のバージョンがあるかもしれないため、信頼の格付けに、複数のデータオブジェクト、アプリケーション、そして、プラットフォームでさえも、またぐことを許容することは重要なことであろう。マニュアルレビューは、アプリケーションの一部であるすべてのバージョンまたはファイルのために完遂される必要があるわけではない。
【０２３８】
多くの評判のソフトウェアベンダーが、信頼できると仮定することができる複数のアプリケーションを生成することができると同様に、自動的にそれらのベンダーから発生するように識別されたデータ・オブジェクトへの高いレベルの信頼度を付与することは、望ましいことであろう。.実施例では、データ・オブジェクトは、データ・オブジェクトの暗号署名、パッケージ名、またはマーケットプレイスのメタデータとして、サーバ１５１に利用可能なデータを通して、信頼できるベンダーまたは信頼できるアプリケーションに帰因させることができる場合には、サーバ１５１は、データオブジェクトを、高い信頼レベルのものとみなす。
【０２３９】
実施例では、サーバ１５１は、アプリケーションの信頼を確立するために、配信データとアプリケーション・データを使用する。例えば、グーグルMaps（登録商標）などの一般的なアプリケーションは、モバイル通信機器の数百万にインストールすると、アプリケーションの複数の以前のバージョンが存在する場合は、すべてが暗号で同じ暗号署名と同様の分布特性、アプリケーションの後続バージョンを持つ署名者は、高いレベルの信頼度を有するとみなされるであろう。サーバ１５１は、グーグルMaps（登録商標）などの一般的なアプリケーションと同じ名前を持つ別のアプリケーションに遭遇し、それはいくつかのデバイスにしかインストールされていないが、別の暗号化署名を使用している場合には、サーバ１５１は、その低配布アプリケーションを低レベルの信頼性と認めることができる。
【０２４０】
アンチマルウェアシステムは、データ・オブジェクトが望ましくないとデータ・オブジェクトを自動的に評価するために、またはマニュアルのレビューのためにフラグを設定するために、データオブジェクトが、低い信頼性を有していることを示すようなデータを使用することができる。実施例では、アプリケーションのための信頼のデータは、同一のプラットフォームまたは異なるプラットフォームで同じ開発者によって作成されていると判定するアプリケーションなどのアカウントに関連付けられたアプリケーションを考慮に入れてもよい。 たとえば、会社が、多数のユーザーと良い評価を多数持っており、会社が別のプラットフォーム上に新しいアプリケーションをリリースする場合、新しいアプリケーションには、最初のアプリケーションとの関係に基づいた高い信頼格付けが与えられるかもしれない。
【０２４１】
実施例では、サーバ１５１は、データ・オブジェクトが、モバイル通信機器のオペレーティングシステムの一部であるか、または製造元またはオペレータによってプリロードされたかどうかを判断するために、アプリケーション・データを分析する。実施例では、データオブジェクトがモバイル・オペレーティング・システムの一部であるか、またはプリロードされているとサーバ１５１が判断した場合、自動的に高いレベルの信頼度が付与されたみなされる。
【０２４２】
実施例では、サーバ１５１は、このようなシステム１００５を収集するアプリケーションマーケットプレスデータによって収集されたものなど、アプリケーションのユーザーが生成した評価やコメントを分析する。例えば、サーバ１５１は、アプリケーションの信頼性のランクを決定するために評価とレビューを使用することができる。アプリケーションが低い評価およびそのアプリケーションが「クラッシュ」を示す否定的なコメントを持っているか、またはそうでなければ「悪い」とのコメントを持っている場合、サーバ１５１は、アプリケーションにそのコメントで示された評判に基づいて、低信頼であるとの評価を行う。しかしながら、アプリケーションが一貫して高い評価と多くのレビューを持っている場合には、サーバ１５１は、アプリケーションを高い信頼であるとの評価を行う。
【０２４３】
別の例では、サーバ１５１は、アプリケーション用の評価を生成する際に使用するためのアプリケーション品質の主観的な指標として、評価とレビューを使用する。アプリケーションが「バッテリを吸い上げる」あるいは「バッテリを消耗する」ことを示すテキスト付きレビューのかなりの数を持っている場合には、サーバ１５１は、アプリケーションがバッテリーへの不利な影響を持っているとの評価を得て、そのことを示すアプリケーションの評価を生成すると決定する。
【０２４４】
実施形態では、サーバは、APIを介して、サードパーティに信託データを公開する。たとえば、信頼されたアプリケーションは、見張りによって認定とみなすことができる。たとえば、APIによって公開される信頼レベルは、バイナリ（例えば、信頼されていない、信頼された）、ファジー（例えば、８６％信頼、１１％信頼性が高い）、またはカテゴリ（例えば、完全に信頼され、悪意のある、疑わしい、信頼度の低い）である。モバイルアプリケーション向けのマーケットプレイスでは、アプリケーションが良い評判を持っていることをシグナルとして、アプリケーションのダウンロードユーザーインターフェースでこの認定のインジケータを表示したい場合がある。この場合、サーバ１５１は、サードパーティがそのようなハッシュ識別子、パッケージ名、または暗号署名者としてデータ・オブジェクトのデータ・オブジェクトまたは識別情報を提供することのできるAPIを公開することがある。データ・オブジェクトまたは１つを識別するのに十分な情報を受信したに、サーバ１５１は、データオブジェクトが認定とみなされているかどうかの指標を使用して応答する。
【０２４５】
実施形態では、応答は、データオブジェクトが認定されたかどうかであるとサーバ１５１が、考えるかどうかを示すイメージである。.実施例では、応答は、ユーザがアプリケーションの認証が本物であることを確認することができるサーバ１５１へのハイパーリンクが含まれている。
【０２４６】
実施形態では、ハイパーリンクによって参照されるWebページは、アプリケーションについての追加情報を示し、それは、なぜそれが信頼されると考えられたか（例えば、手動の見直しによる、コメント、分布データ）、特性、アプリケーションが持つ機能、およびマニュアルレビュー中のアプリケーションに関する解説などのようなものである。
【０２４７】
評価を生成した後、それが後で取得されることができるように、サーバー１５１はデータオブジェクトの評価を格納することができる(ブロック１１１５)。
【０２４８】
その後、サーバはデータ・オブジェクトの評価を送信することができる（ブロック１１１７）。
【０２４９】
たとえば、サーバは、アプリケーション・プロバイダーのウェブサイトで評価を公表することができるモバイル通信機器に通知を送信し、検索可能なレポートの形で評価を提供し、与えられたデータオブジェクトが悪い、良い、または既知の知られているという評価を含むウイルスシグネチャを送信して、データ・オブジェクトの評価のために照会APIの呼び出しに応答を送信する。このような情報は、読み取り可能なテキスト、機械可読形式の形態であることができる、または「スコア」、「バッジ」、「アイコン」、または他のシンボリックな評価を含んでもよい。当業者は、本開示の範囲を逸脱することなく、サーバ１５１は、データ・オブジェクトのための評価を送信する他の状況が可能であることを理解するであろう。
【０２５０】
実施例では、評価データは、このような特性データ、分類データ、信頼データ、分布データとして分析システムからの出力が含まれている。たとえば、データ・オブジェクトの評価は（単独で又は他の情報に加えて）、データ・オブジェクトの検出機能、データオブジェクトのための平均バッテリ使用量、データ・オブジェクトによって送信されたSMSまたは電子メールメッセージの平均数、ほとんどのデータ・オブジェクトが接続する共通のサーバー、データ・オブジェクトのネットワーク・データの平均量、およびデータ・オブジェクトのための信頼評価を含むことができる。
【０２５１】
上記の評価データは、サーバ１５１への入力として提供され得ることを理解するであろう。たとえば、ネットワークオペレータまたは企業は、評価データを生成し、マスターサーバーに対してデータを供給するサーバを動作させることができる。別の例では、ユーザが評価データを決定することができると、それをWebアプリケーションなどのインターフェイスを介してサーバ１５１に提供する。この場合、ユーザが主観的信頼データ、リスク評価、分類、またはサーバによって使用されるかもしれない他の評価データを提供することができる。
【０２５２】
実施例では、サーバ１５１は、集約された評価を生成するために複数の送信元から受信した評価データを組み合わせる。たとえば、マルウェアの作成者が、悪意のあるアプリケーションが、サーバ１５１をして誤った評価を生成することを引き起こすことを願って、安全であることを示すサーバ１５１に対して評価を転送しようとした場合、サーバは、評価を提供するユニークなソースの数と信頼性を利用して、それらのソースで集約された評価を生成する。
【０２５３】
１００のアセスメントが、悪意に満ちているために、アプリケーションを示すネットワークオペレータと企業などの違う信頼すべき筋から受け取られるならばしかし、安全なために、特定の証明されていないソースからの１万のアセスメントがアプリケーションを示します。
【０２５４】
サーバーは、悪意に満ちているためにアプリケーションを示している集められたアセスメントを作り出します。
【０２５５】
百の評価が、そのようなネットワーク事業者や悪意があるアプリケーションを示しているが、特定の検証されていないソースからアプリケーションが安全であるとの１万の評価を企業など、さまざまな、信頼できる情報源から受信している場合には、サーバはアプリケーションを示す集約された評価を悪意があるものと生成する。
【０２５６】
実施例では、サーバ１５１によって生成される評価データは、データ・オブジェクトに対して１つ以上の評価を含んでいる。たとえば、データ・オブジェクトのための評価では、アプリケーションが機器からサーバに位置データ、連絡先データ、SMSメッセージ、またはファイルを送信する機能を持っているかどうかを考慮してサーバ１５１によるデータオブジェクトのプライバシーのための評価を含んでもよい。
【０２５７】
別の例では、データ・オブジェクトのための評価は、アプリケーションが安全満たしているかどうか、アプリケーションの既知の脆弱性が存在するかどうかを考慮した、サーバ１５１によるデータオブジェクトのセキュリティのための評価、アプリケーションが任意のポート上のネットワーク接続に耳を傾けるどうか、それが安全なコード化されたガイドラインに適合しているかどうか、アプリケーションの信頼レベルがどのようなものであるか、および、アプリケーションの中にどのような異常（例えば、ステルスコード、コード、構造異常を復号化された）でもあるかどうかを含むものである。
【０２５８】
別の例では、データ・オブジェクトのための評価は、サーバ１５１によって機器から報告されるバッテリーの使用状況データを考慮して取り入れることによって、電話のバッテリ寿命低下の分の推定数などのデータオブジェクトがバッテリーへ与える影響に対する評価を含んでいてもよい。別の例では、データ・オブジェクトのための評価は、サーバ１５１によってアプリケーションの平均CPU使用率、アプリケーションがユーザの入力イベントに応答しない周波数を考慮して取り入れることによって生成されるデータオブジェクトのパフォーマンスの評価を含んでもよい。別の例では、データ・オブジェクトのための評価は、アプリケーションクラッシュの頻度、ユーザのコメント、ユーザの評価および機器上に格納されるアプリケーションの平均時間を考慮したサーバ１５１によって生成される品質評価を含む。
【０２５９】
実施例では、サーバ１５１は、複数の次元に沿ってデータ・オブジェクトに関する情報を提供するように、１つの評価の一部として複数の評価を提供する。実施形態では、評価は、（例えば、良い、悪い）、またはファジー（例えば、１００％、９０％、１０％）バイナリであるかもしれない。実施形態では、複数の評価は、総合評価に結合される。
【０２６０】
実施例では、サーバ１５１は、データオブジェクトのための評価を生成するためにサーバ１５１に利用可能な複数のデータソースを処理する。
【０２６１】
例えば、サーバ１５１は、アプリケーションに悪意があるかどうかを判断するために、アプリケーション・データ、機器データ、特性データ、信頼データ、分布データ、およびユーザが提供したデータを利用することができる。サーバは、評価を生成するサーバで利用可能なデータに適用されるシステムや、さまざまなモデルを利用することができる。たとえば、データ・オブジェクトに悪意があるかどうかの評価を生成することは、悪意のある可能性が高いデータ・オブジェクトの動作を識別するための特徴的なデータを分析する、ヒューリスティックエンジンを含むマルウェア検知システムを伴うかもしれない。
【０２６２】
いくつかの例のヒューリスティックは、インストールされているOS上でアプリケーション一覧システムから非表示にすることにより、検出を回避するための任意の機能をデータオブジェクトが利用するかどうか、アプリケーションが、自身を修正することを試みるかどうか、アプリケーションが既知のスパイウェアと関連した機能を持っているかどうか、およびアプリケーションが既知の悪意に満ちたサーバと接続するかどうかを検出することを含む。
【０２６３】
当業者であれば、評価を生成するサーバ１５１で実行された分析の一部が、データオブジェクトのための特徴を抽出するものと考えられ、分析の別の部分は、モデルをそれらの機能に適用して、有益な評価を生成ることができるということを理解するであろう。従って、評価または格付けを所望の形式に到達させるためにデータ・オブジェクトのための機能を処理するための、そのような人工知能システムやアルゴリズムなどのシステムは、様々なシステムに適用することができる。
【０２６４】
実施例では、サーバ１５１は、異なる機器データや設定情報を考慮したデータオブジェクトに対する複数の評価を生成する。
【０２６５】
たとえばサーバ１５１が、データオブジェクトが正しく機能するであろうかどうかの評価を生成するために構成されており、データオブジェクトが機器の一種にインストールされる時に誤動作するが、別の種の機器にインストールされる時に正しく機能するような場合には、サーバは、データオブジェクトのために２つの評価を生成することができる。
【０２６６】
サーバ１５１が、モバイル通信機器１０１がデータオブジェクトのために情報を識別して、与えられたデータオブジェクトのための評価を要求することができるAPIを持っていて、モバイル通信機器が機器データをサーバ１５１に送信した場合には、サーバ１５１は、評価を要求している機器に対応するデータオブジェクトのための評価を提供することができる。
【０２６７】
データオブジェクトが誤動作して、機器１０１が評価を要求した場合、サーバ１５１は、機器１０１上のデータオブジェクトの誤動作の挙動を示す評価を返送するであろう。.データ・オブジェクトが正常に機能するであろう機器１０１が評価を要求する場合には、サーバ１５１は、機器１０１上で正常に機能して動作していることを示す評価を返送するであろう。
【０２６８】
実施例では、評価は、データオブジェクトが、管理者によって、ポリシー・セットを与えられた機器の上で動作するように許可されてるかどうかを示すものである。
【０２６９】
複数のポリシーがサーバ１５１上で設定されており、データストレージ１１１が機器１０１に適用されるポリシーを格納している場合には、与えられたデータオブジェクトは、評価のための質問をしている機器のポリシーに依存する複数の評価を持つことができる。
【０２７０】
たとえば、厳格なプライバシーポリシーを持つ機器が、ユーザーの場所を共有することができる、アプリケーションの評価を要求した場合、サーバ１５１は、アプリケーションが許可されていないことを示す評価を送信する。寛大なプライバシーポリシーを持つ機器が、同じアプリケーションのための評価を要求した場合、サーバ１５１は、アプリケーションが許可されていることを示す評価を送信する。実施例では、評価データが格納されず、情報だけが、アプリケーションデータ、機器データ、分布情報、特性情報、信頼データおよび分類情報などの評価を生成するために使用される情報のみが、格納されて、評価は、ポリシーを格納された情報に適用することによって要求に応じて実行される。
【０２７１】
自動分析システムは、ほとんどの場合、許容可能な結果を生み出すかもしれないが、手動分析は、自動分析の結果を上書きしている状況があるかもしれない。実施例では、サーバ１５１は、データオブジェクトの手動分析結果を格納して、評価などの手動分析結果を送信する。
【０２７２】
例えば、サーバ１５１は、その行動データに基づいて、ソーシャル・ネットワーキング・アプリケーションなどのアプリケーションを分類することがある。しかしながら、アプリケーションは、実際には、ユーザがソーシャルネットワークにノートを公開することを許容する、ワードプロセッサのアプリケーションであってもよい。この場合、ユーザーまたは管理者がデータ・オブジェクトの分類をオーバーライドし、サーバ１５１が分類を格納し、データ・オブジェクトのための評価を要求に応じて送信する。
【０２７３】
別の例では、アンチマルウェアシステムは、特定の特性を持つデータオブジェクトを、望ましくないとして識別する。また、特定のデータ・オブジェクトを、望ましくないと扱うようにサーバ１５１を手動で設定することは、ユーザにとって望ましいことであろう。サーバ１５１は、不適当であると考えられるデータオブジェクトのリストを格納し、これらのデータ・オブジェクトのいずれかの評価を尋ねられたときに、データオブジェクトが不適当であることを示している評価を返す。
【０２７４】
データオブジェクトについての評価は、実施の形態では、利用できる最新の情報を反映することが望ましいかもしれないので、サーバ１５１は最初に評価を生成して、その後、追加のアプリケーションデータまたは機器データが入手可能になるならば、または、分析システム自身がアップデートされるならば、それをアップデートする。
【０２７５】
実施例では、データ・オブジェクトが再評価されている場合（例えば、新しいアプリケーション・データ、機器データ、またはアップデートされた分析システムのために）、サーバ１５１は、新しい評価１１１１を格納して、それを １１１３ に送信する。たとえば１０個の機器から、機器データとデータ・オブジェクトのためのアプリケーション・データを収集した後、サーバ１５１は、そのデータ・オブジェクトのための評価を生成することができる。その後、サーバ１５１は、千以上の機器から機器データとアプリケーション・データを受信した場合、新しいデータに照らしてデータ・オブジェクトを再分析して、データ・オブジェクトのための新しい評価を生成することができる。アップデートされた評価が著しく最初のものと異なるならば、機器またはユーザを通知するなどの行動がサーバ１５１によって実行されるかもしれない。
【０２７６】
Ｃ．            アンチマルウェアシステム
実施例では、サーバ１５１と、モバイル通信機器１０１は、悪影響をモバイル通信機器に影響を与えることから、マルウェアやスパイウェアを防止するために一緒に機能するように構成されている。モバイル通信機器が、メモリ、処理能力、およびバッテリ能力において制限されているために、各機器が分析を実行することよりもむしろ、アプリケーションがマルウェアまたはスパイウェアのどちらであるかと考えられるかを決定するために、本明細書中に記載されているような分析を、サーバ１５１が実行することは望ましいことかもしれない。.
さらに、複数の機器が同じアプリケーションに遭遇した場合に、分析が繰り返される必要がないように、サーバが分析の結果を格納することは望ましいかもしれない。さらに、分析・システムで使用するために、さまざまなソースからのデータを提供するために、本明細書に記載のデータ収集システムを使用して、潜在的に悪意のあるアプリケーションに関するデータをサーバ１５１が収集することは、望ましいかもしれない。
【０２７７】
実施例では、モバイル通信機器１０１が、データ・オブジェクトは、悪意のある、またはそうでなければ望ましくないかどうかを判断するために、そのようなアプリケーション・パッケージまたは実行可能ファイルとして、データ・オブジェクトを評価するときに、データオブジェクトの評価のために機器は要求、つまりデータオブジェクトの識別情報を含んでいる要求をサーバ１５１に送信する。
【０２７８】
実施例では、モバイル通信機器１０１により送信された要求は、評価を行うことで、サーバで使用するためのデータ・オブジェクトのアプリケーション・データが含まれている。たとえば、そのようなアプリケーションのパッケージ名とハッシュ、モバイル通信機器などの識別情報を送信することに加えて、さらに、そのような静的分析を行うことにより、機器によって決定され、利用されるAPIのリストなどのデータオブジェクトや情報によって要求された権限を、モバイル通信機器は、送信することができる。
【０２７９】
実施例では、モバイル通信機器１０１は、オペレーティングシステムの提供する機能と潜在的に追加の処理を使用して、データ・オブジェクトのメタデータを収集する。例えば、ブラックベリーとアンドロイドの両プラットフォームは、アンチマルウェアアプリケーションがデバイスにインストールされたパッケージのリストを照会することができるメカニズムを提供する。.各々はまた、そのようなパッケージが、オペレーティングシステムに自分自身を統合したり、公開することを選択する方法についての暗号署名情報や情報などのパッケージについての追加情報を照会するためのメソッドを提供する。
【０２８０】
別の例では、モバイル通信機器１０１は、評価を生成するサーバ１５１を支援するためにデータ・オブジェクトから特徴を抽出することができる。実施形態では、モバイル通信機器１０１は、サーバ１５１に送信するアプリケーションデータを抽出するためにデータ・オブジェクトで静的分析を実行する。例えば、アンドロイド上では、機器は、典型的には、 「クラス  デックス（classes.dex）」と呼ばれるアプリケーションパッケージの実行可能部分を分析することができる。機器は、直接または間接的に 「バインダー」のメカニズムを利用し、アプリケーションパッケージを分析に使用するためのサーバ１５１へのコールに関する情報を送信し、実行可能ファイルが実行するプロセス間通信の呼び出しリストを抽出することができる。
【０２８１】
実施例では、サーバ１５１は、すぐにデータ・オブジェクトを分析することができるか、または、１つは本明細書に開示されるようなプロセスを使用して、追加情報を収集する必要があるかもしれない。
【０２８２】
データ・オブジェクトのための評価を生成した後、サーバは、モバイル通信機器１０１への評価を送信する。.実施例では、評価には、データオブジェクトが望ましくないかと考えられているかどうかを示す指標が含まれている。例えば、サーバ１５１は、既知の良い、既知の悪い、および知られていないという３つの評価のうち１つを送信することができる。.データ・オブジェクトが良いということが知られている（例えば、それは高い信頼レベルを持っているので）とサーバが判断した場合には、データオブジェクトが既知の良いであるとの評価を返送する。データ・オブジェクトが悪いということが知られている（例えば、それはマルウェアの一部であると判断されたため）とサーバは判断した場合は、データオブジェクトが既知の悪いとの評価を返送する。サーバが決定を下すのに十分な情報を持っていない場合、データ・オブジェクトは知られていないとの評価を返送する。
【０２８３】
実施例では、そのモバイル通信機器またはそのユーザがデータ・オブジェクトを分類する方法を決定するためにリスクや信頼性のレベルを使用できるように、評価には、データ・オブジェクトのリスクレベルまたは既知の良い、あるいは既知の悪いとの評価の信頼性のレベルが含まれている。
【０２８４】
実施例では、モバイル通信機器１０１に対してサーバ１５１により送信される評価は、サーバ１５１がデータオブジェクトが望ましくないと判断した理由についての情報が含まれている。
【０２８５】
例えば、サーバ１５１は、データオブジェクトが属していると決定されたマルウェアファミリーの名前を送信するかもしれないし、サーバは、モバイル通信機器１０１が、データオブジェクトについての追加情報を表示するために使うことができる、サーバ１５１を参照しているHTTP URLを送信するかもしれない。そのＵＲＬは、データオブジェクトについての格納された情報を検索することを可能にするためにサーバ１５１によってデコードされる識別子を含んでいる。
【０２８６】
ウェブページは、そのような評価を生成するために使用される様々な分析システムからの出力などの追加情報を表示することができる。たとえば、ウェブページは、データオブジェクトの分布情報、データオブジェクトによって接続された共通のサーバについての情報、データオブジェクトの人間分析によって提供された情報、データオブジェクトと関連付けられた信頼データ、データオブジェクトの地理的分布についての情報、同様なデータオブジェクトについての情報およびデータオブジェクトの作者についての情報を表示することができる。
【０２８７】
機器が送受信するデータ量を最小化し、受信したデータオブジェクトを評価するために必要な時間を短縮し、データオブジェクトを評価するために必要とされている時間を減らし、バッテリ消費を最適化し、そしてサーバ１５１上の負荷を最小化するように、データオブジェクトの評価のためにサーバ１５１に送信するに必要なモバイル通信機器１０１の要求を最小化することは、望ましいことであろう。
【０２８８】
実施例では、モバイル通信機器１０１は、サーバ１５１から受信した評価情報のローカルキャッシュを保持している。ローカルキャッシュは、SQLiteとして、または評価のストレージ用に最適化されて独自のバイナリファイル形式で、軽量のデータベースを使用して格納することができる。たとえば、キャッシュは、データオブジェクトが望ましくないか否かにかかわらず、データ・オブジェクトに関連付けられているリスクレベル、およびデータ・オブジェクトの識別情報などの定義情報であることを示す表示を含めることができる。
【０２８９】
機器がデータオブジェクトをスキャンする際に、ローカルキャッシュにデータオブジェクトを識別するための情報を調査することができる。.データ・オブジェクトのための評価がキャッシュされている場合は、その評価が使用される。評価がキャッシュされていない場合、機器はサーバ１５１から評価を取得する。実施例では、機器上で遭遇したデータオブジェクトのためにモバイル通信機器が評価をそのキャッシュに挿入するときに、データオブジェクトのための定義情報を生成する。
【０２９０】
たとえば、機器は、サーバからの評価結果をキャッシュしていることを確認するために、データオブジェクトの内容のハッシュを使用することができる。実施例では、モバイル通信機器が評価をアプリケーションの適切なセットに適用することができるように、サーバ１５１は、評価と一緒に定義情報を送信する。例えば、いくつかのケースでは、サーバは、ア評価が同じ暗号鍵によって署名されたすべてのデータオブジェクトに適用されることを示している可能性がありながら。サーバ１５１は、評価がその内容のハッシュによって識別された特定のデータオブジェクトにあてはまるだけであることを示すかもしれない。
【０２９１】
実施例では、モバイル通信装置１０１は、モバイル通信機器上で動作する認識コンポーネント（後述）で使用するために、既知の良好なデータオブジェクトおよび既知の不正なデータオブジェクトのために、定義されたローカルなキャッシュを格納する。認識コンポーネントを使用して、モバイル信機器は、ローカルなキャッシュが、疑わしいデータオブジェクトと対応する定義と対応する評価を含んでいるならば、疑わしいデータオブジェクトのために評価を決定することができる。
【０２９２】
たとえば、定義は、ハッシュ識別子、パッケージ名、およびデータオブジェクトに一致する暗号の署名などの基準を使用することができる。各定義は、対応する評価（例えば、「良い」、 「悪い」）を持つかもしれない。定義が疑わしいデータ・オブジェクトに一致した場合、定義の評価は、疑わしいデータ・オブジェクトに使用される。どの定義も安全であるか、安全でないと認められているデータなどのデータオブジェクトに対応していないならば、モバイル通信機器１０１は、より包括的な分析のためのサーバ１５１に疑わしいデータ・オブジェクトのアプリケーション・データを送信することができる。
【０２９３】
実施例では、キャッシュは、サーバ１５１を参照することなく、モバイル通信機器１０１上の反マルウェアソフトウェアがデータオブジェクトを悪意に満ちていると認識するであろうかどうかを決定する、主記憶の反マルウェアの定義として使われる。
【０２９４】
実施例では、キャッシュは、機器の認識コンポーネントによって使用される定義情報を格納する。たとえば、キャッシュは、パッケージ名、暗号署名、バイト配列、パターン、またはキャッシュされた評価で機器上のデータオブジェクトを対応させるために使用されるロジックのような定義情報を含ませることができる。
【０２９５】
キャッシュは、機器上の悪意のあるアプリケーションとデータ・オブジェクトであることの評価に特定のバイト配列を連結するエントリを含んでいて、機器上のデータオブジェクトがそのバイト列を含んでいる場合、その後、機器は、そのデータオブジェクトを、サーバ１５１に連絡することなく悪意に満ちていると決定することであろう。
【０２９６】
実施例では、キャッシュ単独は、定義情報、悪意のあるデータ・オブジェクトの単一の評価に対応するすべての定義が含まれている。実施例では、キャッシュは、ユーザに表示するための情報を取得する機器のために、サーバ１５１に送信することができ、上述したように評価情報、おそらく識別子を含む評価情報が含まれている可能性がある。サーバ１５１からデータを取得するために使用されているような識別子は、キャッシュは、それが潜在的なマルウェアについて格納する情報を最小限に抑えることができる。実施例では、機器のキャッシュがホワイトリストおよびブラックリストの両方として機能する。
【０２９７】
キャッシュは既知の良いまたは既知の悪いデータオブジェクトのための定義情報を含んでいて、データオブジェクトが、既知の良いものであるか、または既知の悪いものであると決定されているならば、機器は、評価をサーバ１５１に要求する必要はない。
【０２９８】
実施例では、ブラックリストとホワイトリストの両方として機能するキャッシュは、データオブジェクトが認識可能に不良または認識可能に良いかどうかを判断するために、モバイル通信機器で認識コンポーネントによって使用される。.機器で発生したデータ・オブジェクトがキャッシュに格納された定義データに基づいて認識可能に良いものでも認識可能に悪くもない場合には、その後、機器がサーバからデータオブジェクトのための評価を受け取ることができるように、機器はデータオブジェクトのためのアプリケーションデータをサーバ１５１に送信することができる。実施例では、新しい評価を受け取るか、格納された評価が、無効であると考えられているときに、モバイル通信機器の上の反マルウェアソフトウェアは、機器によって修正される定義のプレポピュレートキャッシュと一緒にインストールされる。
【０２９９】
実施例では、機器上でキャッシュされた評価と定義は、モバイル通信機器が、潜在的に時代遅れのデータに依存しないように、一定の期間有効であるとみなされる。実施例では、キャッシュされた評価や定義が無期限に保存され、時間的な制約がなくても有効であると考えられる。.実施例では、機器は、一定の形式の評価と定義を格納するだけである。たとえば、機器は、既知の良いという評価をキャッシュするだけかもしれず、または既知の悪いという評価をキャッシュするだけかもしれない。このケースでは、対応する評価がある場合には、定義が格納されるだけである。実施例では、キャッシュの一部は、RAMなどの揮発性記憶装置に格納され、キャッシュの一部は、フラッシュなどの不揮発性メモリに格納される。
【０３００】
揮発性メモリは、一般に不揮発性のメモリよりまだずっと速く、もっと制限されるために、より少し頻繁に不揮発性のメモリにおいて評価と定義にアクセスする間に、機器は、揮発性メモリの中に、頻繁にアクセスされた評価と定義を格納することができる。
【０３０１】
反マルウェアシステムが開かれるたびに、反マルウェアシステムがデータオブジェクトを分析するならば、それが最近スキャンされて、変更されていなかった場合、データオブジェクトのための評価を、非常に迅速に決定することは望ましいことであろう。
【０３０２】
揮発性メモリ内に最近使用した定義と評価を格納することによって、機器は非常に迅速に過去の評価をリコールすることができる。
【０３０３】
実施例では、サーバ１５１は、機器がそれをキャッシュして、そうであれば、どのくらいの間であるかを示す、評価とキャッシュ制御情報を送信する。.例えば、サーバ１５１は、機器が評価をキャッシュする必要があることを示すキャッシュ制御情報を含む、評判の良い会社からの一般的なアプリケーションのための評価を送信することができる。サーバ１５１は、あまり知られていないアプリケーションの評価を送信した場合、アプリケーションのより多くが知られた後に将来的に望ましくないと考えられることが判明するため、機器が評価をキャッシュするべきでないことを示すキャッシュ制御情報を含んでいてもよい。
【０３０４】
実施例では、サーバ１５１は、評価の信頼に基づいて、キャッシュ制御情報を決定する。.例えば、アプリケーションが未知であることを、サーバに利用可能なデータの不足のために示している評価が自信があるとは考えられない一方で、高い信頼レベルを持っているアプリケーションのために既知の良いという評価は、非常に自信があると考えられるかもしれない。実施例では、評価の有効期限が切れたときに、評価に関連付けられているキャッシュされた定義情報も期限切れになる。
【０３０５】
キャッシュされた評価を取り出すことが、サーバー１５１(それによってデータオブジェクトが悪意に満ちているかどうかを決定することによって遅延とオーバーヘッドを最小化する)から評価を取り出すよりも速いために、キャッシュされたデータからローカルに決定されることができる評価の数を最大化することは望ましいことかもしれない。
【０３０６】
実施例では、サーバは、評価を要求する機器を使用せずにモバイル通信機器に評価を送信し、モバイル通信機器では、そのキャッシュ内にこれらの評価を格納する。サーバ１５１が利用できる評価のすべては、モバイル通信機器１０１上に望ましい量よりも多くのストレージを必要とするかもしれないために、サーバは、その利用可能な評価のサブセットを送信するだけである。実施例では、評価は、機器のデータとアプリケーション・データを分析することにより、サーバ１５１はどの評価をモバイル通信機器１０１に送るかを決定する。例えば、サーバが、与えられたオペレーティングシステムに関連した評価のすべてをサーバが照会することができるような方法でデータ・オブジェクトの評価に関連付けられていると互換性があるオペレーティングシステムを、サーバ１５１は格納することができる。
【０３０７】
サーバ１５１は、その後に、機器で実行されているオペレーティングシステムと互換性のあるデータ・オブジェクトがあるモバイル通信機器に対して評価を送信するだけである。.その他の評価項目によって参照されるデータ・オブジェクトは、機器のオペレーティングシステム上で実行することができないために、その他の評価項目は、機器に送信されることはない。.
別の例では、サーバは機器に送信するために、どのような評価をするかを決定するために、機器の国、言語や地域コードを使用することができる。米国のユーザは、ロシアのユーザがスペイン語のアプリケーションをダウンロードしないのと同様に、ロシア語のアプリケーションをダウンロードすることはほとんどない。
【０３０８】
実施例では、評価が不必要に再送信されないように、すでに機器に送信されており、機器で正常に受信した評価を、サーバ１５１は格納する。機器が望まれている評価を受けていない場合、サーバは評価を機器が次回に接続したときに送信する。.いずれの評価がすでに機器によって受信されているかを効率的に追跡するために、与えられた機器が１グループ以上ですべての評価を受け取るように、サーバ１５１は評価をグループにすることができる。例えば、評価の与えられたグループは、変更（例えば、新しいデータオブジェクトが評価され、既存の評価への変更）を、一日に何回もしている可能性がある。しかしながら、機器は、一日一度だけ更新された評価を受けるように構成することができる。いずれの評価を機器に送信するかを決定するために、サーバは、機器がグループのために最後に最新の評価を受信した時間を記録し、機器が最後に評価を受信してからのグループへの変化を調査するだけでよい。たとえば、機器が月曜日に、与えられたグループのために評価のすべてを受け取り、２つの新しい評価が火曜日に、グループに追加されるならば、機器が水曜日に接続して、サーバは、どのような評価が月曜日以来グループで変わっているかを照会する必要があり、そして、まさにその２つの追加された評価を送る必要があることを判断するであろう。
【０３０９】
実施例では、サーバが１台の機器に送信する準備ができたという追加の評価があることを、機器に警告するために、サーバは本明細書に記載されるようなプッシュサービスを利用する。サーバが、グループの一部である評価をアップデートするときに、そのようなプッシュサービスを使う場合には、そのグループから評価を受け取るすべての機器は、ほぼ直ちに最新の評価によってアップデートされることができる。
【０３１０】
選択的に評価を機器に送るためにサーバ１５１によってグループ分けすることができるさまざまな方法がある。.例えば、与えられたオペレーティングシステムと互換のデータオブジェクトには、機器上に格納することが望まれるよりも、より多くの評価があるかもしれない。
【０３１１】
この場合、サーバは、配布データまたはサーバ１５１で入手可能なマーケットプレイスデータに基づいて、最も普及しているデータ・オブジェクトに対応する評価のグループを生成することがある。この場合、機器は、彼らが遭遇する可能性が最も高いデータオブジェクトに対して評価をキャッシュする。さらに、以前に機器によって遭遇されたデータオブジェクトと対応しており、それら以前の遭遇に基づいて、どんなデータオブジェクトであるかを予測して、機器が将来で遭遇するであろう、サーバーで入手可能なアプリケーションデータを分析して、サーバ１５１によって遭遇するデータオブジェクトのためにキャッシュされた評価を、機器が持っているという可能性を向上させることは、また可能である。これらの可能性が高いデータ・オブジェクトのための評価は、その後、機器に送信することができる。 
機器上のキャッシュに対する評価データの最適量は、機器のハードウェア、ユーザの行動や、ユーザの好みに応じて異なる場合があるために、データ量を調整できるようにすることは望ましいことであろう。実施例では、モバイル通信機器１０１上のキャッシュに対する評価データの量は、サーバ１５１によって決定される。
【０３１２】
例えば、サーバ１５１は、機器上で使用可能なストレージの量、ユーザがアプリケーションをダウンロードする頻度、そして、どのように、可能性の高い追加のキャッシュされた評価データが、機器によって送信された必須の評価要求の数を減らすことになるのであろうかを調べることができる。
【０３１３】
機器が使用可能な大量のストレージを持っていて、そのユーザーが大量のアプリケーションをダウンロードする場合には、サーバは、大量の評価データをキャッシュすることを判断することができる。しかしながら、機器が使用可能な少量のストレージを持っていて、そのユーザーが稀にしかアプリケーションをダウンロードしない場合には、サーバは、少量の評価データしか、あるいは全く評価データをキャッシュしないと判断することができる。
【０３１４】
それらの要求が追加の評価情報をキャッシュしている機器によって避けられたかもしれないかどうかを決定するために、サーバは、また、機器によって行われた前回の評価要求を調べるかもしれない。たとえば、機器が現在アプリケーションの特定のグループに属している評価を受信して、機器がアプリケーションの追加のグループのために評価を受信すべきであるかどうかの評価がサーバによりされているならば、サーバは、それらの評価のいくつが、２番目のグループに存在していたかを決定する以前の評価要求を調査する。
【０３１５】
サーバ１５１が、十分な評価要求が避けられたであろうと決定したならば、その後、両方のグループから機器に評価を送信し始めるであろう。実施例では、ユーザは、モバイル通信機器１０１上のキャッシュされた評価に割り当てるストレージの量を制御することができる。
【０３１６】
常に絶対の評価(例えば、既知の良いまたは既知の悪い)を生成する代わりに、サーバ１５１が、それが評価を未だ持っていないという報告することは、望ましいことかもしれない。実施例では、サーバ１５１は、オブジェクトの望ましくないことは、不明であることを示すデータ・オブジェクトのための評価を送信する。モバイル通信機器１０１は、データ・オブジェクトを検出すると、評価のためにサーバ１５１に要求を送信し、未知の評価を受信して、機器は、一時的にデータオブジェクトを信頼し、後になってから評価の要求をリトライする。不要な要求を避けるために、機器は、未知の評価を受信し続けるならば、リトライの間に時間遅延を増大させる。
【０３１７】
一時的な信託の期間中に、機器は、評価の要求をデータ・オブジェクトがスキャンされるたびに再送信することはない。例えば、彼らがアクセスされた際にファイルシステム上のファイルをスキャンするように設計されたモバイル機器上の反マルウェアシステムでは、データ・オブジェクトに最初にアクセスすると、サーバ１５１への評価要求を送信する機器をもたらすことができる。サーバが未知の評価を返した場合に、機器は、データオブジェクトのための識別情報、データオブジェクトが許可されてることを示す一時的な評価、および評価が妥当である時間、を示しているその評価データベースの一時的な入力を格納する。  
実施例では、未知の評価におけるデータ・オブジェクトについての情報をサーバ１５１が送信し、モバイル通信機器１０１は、ローカルな分析システムの中へのインプットとしてサーバ１５１からのそのデータ評価を使用する。例えば、モバイル通信機器１０１は、それが悪意のあるものかどうかを判断するために、データ・オブジェクトの内容を解析するヒューリスティックシステムを持つことができる。サーバ１５１から、既知の良い、または既知の悪いとの結果の場合には、機器がいずれかのヒューリスティックシステムを実行したり、ヒューリスティックシステムからの結果を破棄することはない。
【０３１８】
サーバ１５１は、データ・オブジェクトのための信頼レベルを含め不明な結果が返された場合には、機器１０１は、望ましくないか否かとしてデータ・オブジェクトを扱うかどうかを決定するために、サーバが提供する信頼レベルでヒューリスティックシステムからの結果を結合する。.例えば、モバイル通信機器１０１は、サーバ１５１によって報告された信頼レベルに基づいて局所的な分析から、結果を拡大・縮小することができる。
【０３１９】
機器上のヒューリスティックシステムは、データ・オブジェクトが６６％危険であると判断しており、サーバ１５１からの未知の評価は、データ・オブジェクトが不審な１％の信頼レベルを持っていることを示している場合には、機器は、データ・オブジェクトが望ましくないと判断する。しかしながら、サーバ１５１からの未知の評価は、データ・オブジェクトが７０％の信頼レベルを持っていることを示している場合には、その後、機器１０１は、データオブジェクトが望ましいと判断する。
【０３２０】
それらがそのようなものと認定されると同時にマルウェアとスパイウェアなどの不適当なアプリケーションに対処するために、以前に良いか、または未知であることとして分類された後に不適当であると決定されているデータオブジェクトについて、サーバ１５１が通知書をモバイル通信機器１０１に送信することは、望ましいかもしれない。
【０３２１】
実施例では、機器によって遭遇されたデータオブジェクトが、良いか、未知であると評価されたが、その後、不適当であると後で決定されていたならば、サーバ１５１は、データオブジェクトに遭遇した機器のすべてについて決定することができ、データオブジェクトが不適当であることを示す通知書を送るように、サーバ１５１は、モバイル通信機器１０１によって遭遇されたデータオブジェクトについての情報を格納する。
【０３２２】
実施例では、通知の対象であるデータオブジェクトが、機器のオペレーティングシステム上で動作することができるのであれば、サーバ１５１は、通知書を機器１０１に送信するだけである。たとえば、機器がブラックベリーを実行し、アンドロイドのスパイウェアアプリケーションが検出された場合には、サーバ１５１は、機器に通知を送信しないだろう。しかしながら、機器がブラックベリーのスパイウェアアプリケーションに遭遇したならば、サーバ１５１は通知を送信するであろう。
【０３２３】
本明細書に開示されるように、データオブジェクトが、指定された機器上で動作するかどうかの判定は、機器のための機器データとデータオブジェクトのためのアプリケーションデータを分析することによって決定されるであろう。
【０３２４】
実施例では、装置１０１にサーバ１５１から送信された通知は、機器によって消費されるように設計されており、データ・オブジェクトの識別情報と修復の両方の情報が含まれている。たとえば、通知は、プラットフォームのベンダーが提供するプッシュサービスを利用して、パッケージ名とデータ・オブジェクトのコンテンツのハッシュ値を含んでいてもよい。通知は、また、ユーザがデータオブジェクトをアンインストールするように要求し、ユーザ介入なしでデータオブジェクトを削除して、データオブジェクトを含んでいるどのようなプロセスでも「殺す」などの改善行動を指定することができるかもしれない。
【０３２５】
実施例では、通知は、是正命令、データオブジェクトは望ましくないと考えられる理由の説明、または特定の行動を取るための要求などのデータ・オブジェクトについてユーザーに表示するための情報が含まれている。実施例では、通知は、テキストメッセージ、電子メール、または電話の呼び出しのような人間が判読可能なメッセージの形である。ユーザが危険なデータオブジェクトに反応することを保証するために、サーバは、人間に解読可能であって機械で読み取りが可能な通知を実行することが望ましいかもしれない。たとえば、サーバがユーザに電子メールメッセージを送信し、ユーザの介入なしにデータ・オブジェクトを削除するために、機器のための通知を送信することができる。
【０３２６】
実施例では、モバイル通信機器１０１は、機器の上に存在するすべてのデータオブジェクトのデータベースを含んでいて、機器によって遭遇されたデータオブジェクトが、不適当であると決定されているときに、サーバ１５１はアップデートされた署名データを機器に送信する。
【０３２７】
機器がアップデートされた署名データを受信すると、それは機器上に存在するデータ・オブジェクトにアップデータされた署名データと比較される。機器上に存在するどのようなオブジェクトでも、アップデートされた署名データによって、不適当であると考えられるのであれば、データオブジェクトがスキャンされる次回のために待たずに、機器は直ちに改善行動を開始する。
【０３２８】
反マルウェアシステムがデータオブジェクトのために評価を実行する場合、データオブジェクトを再評価する必要があるのを避けるために、変更されていない限り、データ・オブジェクトを信頼するのは望ましいかもしれない。実施例では、モバイル通信機器１０１は、分析されていて、望ましいと考えられる識別されたデータオブジェクトのリストを管理する。
【０３２９】
データ・オブジェクトがスキャンされることが望まれている場合、機器は、データオブジェクトが存在するかどうかを確かめるために最初にこのリストをチェックすることができる。オブジェクトが存在している場合、機器はオブジェクトを再スキャンしない。ファイルをスキャンし、それが望ましいと決定した後、機器は、リスト内のデータ・オブジェクトの識別子を配置する。識別子は、ファイル名、ファイルシステムノードの識別子、またはオペレーティング・システム固有のデータ・オブジェクト・ハンドルが含まれている。
【０３３０】
実施例では、モバイル通信機器は、機器がリブートされるか、またはバッテリを使い切っている場合であって、リストを保存することができるように、非揮発性記憶装置へこのデータオブジェクトのリストを保存する。評価を保存し、後でそれにアクセスする場合、どのように格納された評価でもデータオブジェクトの内容の特定のセットのためにだけ有効であることは、重要なことである。データオブジェクトの内容が変更されているならば、データオブジェクトが、オリジナル・データ・オブジェクトに存在しなかった悪意に満ちたコードを含むように修正されている可能性があるために、別の評価は必要であるかもしれない。
【０３３１】
実施例では、このリストには、データオブジェクトの内容の暗号化ハッシュを含んでいる。機器がデータ・オブジェクトがリスト上にあるものと見なされているかどうかを決定すると、それは、リストに格納されたハッシュを使用して、機器に格納されたデータオブジェクトのハッシュ値と比較する。ハッシュが一致した場合、データ・オブジェクトは、リスト上にあると考えられる。
【０３３２】
実施例では、マルウェア対策ソフトウェアは、ファイルを開いたり閉じたりするときに決定することができる。リスト上のファイルが書込みアクセスでオープンされた場合、それはリストから削除される。ファイルがオープンされて書き込まれている間、ファイルはリストに追加されることはない。
【０３３３】
この開示の実施例は、モバイル通信機器を確保するために十分なオプションを提供する一方で、ネットワークトラフィックを削減するための他の方法が考えられることを理解するであろう。実施例では、モバイル通信機器が最初に動き出したとき、またはパワーオンしたとき、またはモバイル通信を監視することについて責任があるアプリケーションが最初に起動したときに、モバイル通信機器は分析を機器（「スキャン」）上のデータ常駐のすべてに要求することができる。これは、モバイル通信機器のセキュリティのベースライン分析を提供する。新しいアプリケーションが、モバイル通信機器によって、または予め設定された時間間隔で、またはユーザー要求によりアクセスされたときに、今後のスキャンを実行することができる。スキャンは、ネットワーク１２１へのアクセスに応じて調整することができる。接続性に問題があるならば、より新しいデータだけが評価されるか、データを疑うことができる。接続性が向上したときにスキャンが指示されて、実行されてもよい。
【０３３４】
実施例では、モバイル通信機器１０１上のマルウェア対策システムは、オンデマンドおよび機器上に存在するすべてのデータ・オブジェクトのスケジュールされたスキャンの両方を実行する機能がある。反マルウェアシステムは、データ・オブジェクトのための評価を実行するために、サーバ１５１を利用した場合は、スキャンを実行するのに必要な時間を最適化することが望ましいかもしれない。
【０３３５】
評価の要求が機器によって送られる時間と機器がサーバ１５１から反応を受ける時間との間で、ネットワーク潜在性が遅延を起こすために、反応を待つ間に、機器が単にアイドリングしないそのような方法で、要求のパイプラインを敷設することは望ましいことであろう。実施例では、モバイル通信機器は、複数のデータオブジェクトのための評価を提供するために、要求をサーバ１５１に送信して、サーバ１５１はそれらの複数のデータオブジェクトのための評価を機器に送信する。
【０３３６】
たとえば、要求に応じたスキャンの間に、機器は、最初に機器上のデータオブジェクトのすべてを列挙するために構成することができ、その後、列挙されたデータオブジェクトのすべてを評価するために、要求をサーバー１５１に送信することができる。.別の例では、機器は１度に１０個のデータオブジェクトを列挙することができ、その後、要求をサーバに送信することができ、そして、追加データオブジェクトをスキャンする前に、それらの１０個のデータオブジェクトのための反応を受信することができる。
【０３３７】
別の例では、機器は、データオブジェクトを列挙し、サーバからの評価反応を待たずに列挙処理を続けて、評価要求を送信することができる。列挙が完了すると、機器は反応を待つだけでよい。
【０３３８】
システムが処分に達するまで、データのロードやオブジェクトの実行をブロックするアンチマルウェアシステムでは、それがロードまたは実行する必要がある前に、データ・オブジェクトを評価することが望ましいであろう。実施例では、データ・オブジェクトがロードされたときに、機器が以前のスキャン結果を参照できるように、モバイル通信機器１０１は、先を見越してデータオブジェクトをスキャンし、結果を格納する。
【０３３９】
たとえば、例えば、機器が、複数の他のファイル(例えば、共有ライブラリにリンクされている実行可能ファイル)に依存するプログラムをロードするときに、機器上の反マルウェアシステムは、それが依存するライブラリのすべてを決定するためにプログラムを分析することができ、プログラムとその依存したライブラリのための評価のために要求をサーバ１５１に送信することができ、その後、機器が肯定的な評価結果を受信したら、プログラム実行に進むことを許容することができる。
【０３４０】
システムがすでにライブラリの最新の評価を持っているために、機器のオペレーティングシステムが、アプリケーションが依存するライブラリをロードするときに、サーバ１５１への要求は必要ない。ライブラリが先を見越して分析されなかった場合には、機器が、サーバ１５１への複数の要求がシリアルに発生するのを待つ必要があるために、プログラムのための全体のロード時間がより大きくなる可能性がある。実施例では、それらがダウンロードされた後、それらが実行される前に、モバイル通信機器の上のソフトウェアは、データオブジェクトを分析する。
【０３４１】
たとえば、機器上のマルウェア対策ソフトウェアは、新しいファイルをダウンロードしたディレクトリをウォッチしたり、または、単に、ファイルが作成されて、書き込まれ、それから閉じられることを待つこともできる。ダウンロードが完了したら、ファイルが開かれたときに、システムがすでにそれを評価し、前の評価を呼び戻すことができるように、ソフトウェアは、新しいファイルのスキャンを開始することができる。
【０３４２】
それがデータオブジェクトを評価している間に、アンチマルウェア・システムが、ユーザが要求した操作か、あるいはシステムの操作を妨げるた場合には、とりわけ評価が重要な潜伏期を過ごすであろうネットワーク接続に依存するならば、ユーザに評価が進行中であるという指示を与えることは望ましいことであろう。
【０３４３】
実施例では、モバイル通信機器１０１上のマルウェア対策システムは、システムがデータ・オブジェクトを走査し、ユーザが要求した操作をブロックしている途中に、データオブジェクトがスキャンされていることを示すユーザーインターフェイスを表示する。実施例では、反マルウェアシステムは、アプリケーションとそれに依存したライブラリのすべてが、自身でアプリケーションス起動プロセスに自分自身で介在することによって評価されるまで、反マルウェアシステムがアプリケーションの実行を防止しているならば、機器のユーザに感知が可能な重要な遅延を生じさせることになるであろう。遅延と関連した不快感は、単純に反応しない見せかけの機器の代わりに、何が起こっているかをユーザに知らせることによって、軽減することができる。
【０３４４】
ユーザがアプリケーションを起動すると、機器は、反マルウェアシステムが、ユーザが起動しているアプリケーションを評価していることを示すユーザインタフェース画面を表示する。実施例では、ユーザ・インタフェースは、機器のユーザに、スキャンが終了するのを待ってスキップすることを許容することができる。たとえば、データオブジェクトの機器のスキャンが、サーバ１５１に接続する必要があり、ユーザが、待ちたくない場合であれば， ユーザは、評価が戻るのを待たずに、処理を進めることができる。評価が、続いてデータ・オブジェクトが悪意であるということを返送した場合には、機器は、データ・オブジェクトの実行を許可されたにもかかわらず、このようなデータ・オブジェクトを含む任意のプロセスを強制終了し、データ・オブジェクトを削除するなどの修正アクションを開始することができる。
【０３４５】
ユーザは、評価されたアプリケーションを持つことに興味をもっているかもしれない。しかし、サーバ１５１からの反応に待機することは望まない。ユーザが分析結果を待っている間に、完全な分析を放棄して、アプリケーションを使用することを選択することができる。そのような状況では、サーバ１５１またはユーザのモバイル通信機器１０１が、正式な分析に先がけて一時的な信頼性評価を提供することができるのであれば、それは、役に立つことであろう。
【０３４６】
レポートは、インターフェース要素、通知、警告、リスク評価等の形態にすることができる。実施例では、モバイル通信機器１０１は、アプリケーションが一時的に信頼できるかどうかを判断するために局所分析を実行することができる。また、ユーザが誤って高リスクであるアイテムをスキップしないように、反マルウェア・システムがサーバからの評価を待っているときに示すユーザインタフェース上に、データオブジェクトに関する情報を表示することが望ましいことであろう。
【０３４７】
実施例では、サーバ１５１からの評価を待っている間に、待機しているユーザインタフェースは、ローカル分析の結果を表示する。たとえば、ユーザ・インターフェースには、データ・オブジェクトの機能またはデータオブジェクトのリスクスコアを表示することができる。実施例では、ローカル分析が、データ・オブジェクトが低リスクであると判断した場合に、機器は、ユーザに、サーバ１５１からの評価を待つことをスキップすることを許容するだけである。
【０３４８】
たとえば、リスクスコアは、データオブジェクトがアクセスする敏感な機能のものを分析することによって計算することができる。ユーザの連絡先リストとブラウザの履歴にアクセスするデータオブジェクトは、どのような敏感な機能にもアクセスしないデータオブジェクトよりも危険であるとみなすことができる。
【０３４９】
実施例では、機器１０１上のマルウェア対策システムは、それが、スキャンの文脈に基づいた結論に達する前に、サーバ１５１からの応答を待つべきであるかどうかを決定する。
【０３５０】
たとえば、システム起動の間に起きるか、アクティブなネットワーク接続が全然ないスキャンは、サーバからの応答を待って、ブロックすべきでない。ネットワーク接続が存在するかどうかを判断するために、反マルウェアシステムは、オペレーティングシステムによって提供されたネットワークインタフェースの状態情報を照会し、サーバ１５１への要求がタイムアウトするかどうかを分析するなどのさまざまな方法に依存することができる。
【０３５１】
反マルウェアシステムがシステム・コールを呼び出した場合に、サーバ１５１からの応答を待っている間に、データオブジェクトを実行しようとしているシステムの結果として発生するスキャンは、ブロックする必要がある一方で、応答を待っている間に、データオブジェクト(例えばデータオブジェクトのための抽出するファイルマネージャ)についての情報を得ているアプリケーションに起因しているスキャンは、ブロックすべきではない。
【０３５２】
実施例では、データ・オブジェクトの評価のための要求が完了することができない場合には、後に再試行される。
【０３５３】
実施例では、正確な評価が追加の分析なしで生成することができるのであれば、反マルウェアシステムは、サーバまたはローカル分析の一部を省略することができる。たとえば、ローカル分析が、データオブジェクトを危険でないと判断した場合には、機器は評価をサーバ１５１に要求しないことができる。機器の上のローカルな分析コンポーネントによって決定されるように、スキャンされているデータオブジェクトが最小の危険を持っている場合に、機器は、評価をサーバ１５１に要求することしかできない。
【０３５４】
この例では、追加の結果を待つことを省略するかどうかの判定は、結果およびどのシステムが各結果を返送したかの両方によって決定される。サーバ１５１から結果を受信する前のローカルな分析から得た「悪い」という結果は、データオブジェクトを、悪意に満ちているとみなすのに十分であるかもしれない。しかしながら、ローカルな分析から得た「良い」という結果は、サーバ１５１からの評価が、データオブジェクトが、最終的な処置を決定する前に「良い」ということを立証するのを待つ必要があり、まだシステムを必要とするかもしれない。
【０３５５】
実施例では、複数の分析システムが違う結果を引き起こすならば、データオブジェクトの最終的な処置について決定をするために、どんな結果が生み出されたか、そしてどのシステムが各結果を引き起こしたかの両方を考慮した決定をするために、機器上の反マルウェアシステムは、システムの結果を分析する。
【０３５６】
例えば、反マルウェアシステムは、単一の望ましくない結果は、望ましくないとしてデータ・オブジェクトにフラグを立てるのに十分であると判断することができる。別の例では、サーバ１５１は、権威的であるとみなすこともできるし、または機器１０１が、評価を、権威的であるとみなすかどうかを決定することができるように、サーバ１５１はその評価の信用度を送信することができる。別の例では、サーバ１５１からの既知の悪いという結果が、信頼できるかもしれない。しかし、サーバからの既知の良いという結果は、機器１０１のローカルな解析システムからの既知の悪いという結果で上書きすることができる。
【０３５７】
実施例では、サーバ１５１は、マルウェアのリストまたは機器上で検出されていて、まだ、機器上でアクティブとなっている他の不適当なアプリケーションのリストを格納する。このリストに移入されるために、不適当なアプリケーションに遭遇したときはいつでも、不適当なアプリケーションが取り除かれる時はいつでも、そして不適当なアプリケーションが無視される時はいつでも、モバイル通信機器１０１は、イベントを、サーバ１５１に送信する。サーバ１５１がイベントを既知のデータオブジェクトと関係づけることができるように、イベントは、データオブジェクトのためにの情報を識別することを含む。
【０３５８】
たとえば、ユーザがマルウェアを無視することを選ぶかもしれないために、ユーザが、状況を避けるために各自の無視されたマルウェアのリストを見ることができるようにすることは重要なことである。その状況とは、悪意に満ちたユーザがマルウェアを誰かの電話にインストールしたり、マルウェアを無視するために反マルウェアソフトウェアを電話に設定してシステムがそれを自動的に取り除くことを防止することである。
【０３５９】
この状況では、携帯電話の正当なユーザに、マルウェアの一部が各自の機器上でアクティブであると伝えることができるが、それは無視されることになる。.実施例では、サーバ１５１は、機器１０１が、現在アクティブなマルウェアを有しているかどうかを示すデータを持っているために、ネットワークへのアクセスは、そのマルウェア状態に依存している機器に与えられた機器の状態のためにサーバ１５１を紹介しているネットワークアクセス制御系によって許可されるか、拒まれることになる。
【０３６０】
本開示の実施例では、サーバ側または 「クラウド」の分析は、全てが本明細書に援用される米国特許出願番号１２／２５５、６２１で説明した３つのコンポーネントシステムのバージョンを使用して行うことができる。
【０３６１】
３つのコンポーネントシステムの例は図９に示されており、安全な、または、既知の良い（一部を成すか、またはホワイトリスト上に含まれることとしてここでまた参照されるもの）であるデータを確認するために使用することができる一番目のコンポーネント９０３を含む。２番目のコンポーネント９０５は、悪意に満ちていて、機器の資源を浪費するか、既知の悪い(一部を成すか、またはブラックリスト上に含まれるものとしてここでまた参照されるもの)であるデータを確認するために使用することができる。３番目のコンポーネント９０７は、既知の良いでも既知の悪いでもない、つまり未知であるとのデータを評価するために使用して決定するコンポーネントである。
【０３６２】
実施例では、既知の良いコンポーネント９０３と既知の悪いコンポーネント９０５は、モバイル通信機器１０１上に存在することができ、決定コンポーネント９０７は、サーバ１５１上に存在することができる。実施例では、既知の良いコンポーネント９０３、既知の悪いコンポーネント９０５、および決定コンポーネント９０７は、サーバ１５１上にすべて存在することができる。実施例では、既知の良いコンポーネント９０３、既知の悪いコンポーネント９０５、および／または決定コンポーネント９０７の一部は、モバイル通信機器１０１上に存在することができ、また既知のよいコンポーネント９０３、既知の悪いコンポーネント９０５、および／または決定コンポーネント９０７の一部は、サーバ１５１上に存在することができる。
【０３６３】
実施例では、既知の良いコンポーネント９０３と既知の悪いコンポーネント９０５は、サーバ１５１上に存在する一方で、決定コンポーネント９０７は、モバイル通信機器１０１上に存在する。
【０３６４】
たとえば、データストア１１１は、継続的にアップデートされて、サーバ１５１によってアクセス可能なマルウェアの定義を含めることができる。モバイル通信機器１０１は、分析のために、疑わしいデータオブジェクトのためのハッシュ識別子などのアプリケーションデータをサーバ１５１に送信するように構成することができる。
【０３６５】
サーバ１５１は、既知の良いコンポーネント９０３、既知の悪いコンポーネント９０５、および決定コンポーネント９０７を含むことができ、コンポーネントは２つ以上のサーバに分散させることができる。一つまたはそれ以上のサーバは、それによって疑わしいデータオブジェクトが認識可能に安全なデータオブジェクトであるかどうかを決定するために、アプリケーションデータを使用することができる。
【０３６６】
疑わしいデータオブジェクトが認識可能に安全であるならば、一つまたはそれ以上のサーバは、モバイル通信機器に通知するか、または、それがデータオブジェクトを受け入れて、処理することができることを機器に指示することができる。一つまたはそれ以上のサーバは、疑わしいデータオブジェクトが認識可能に悪意に満ちているかどうかを決定するために、そのときアプリケーションデータを使用することができる。疑わしいデータオブジェクトが認識可能に悪意に満ちているならば、一つまたはそれ以上のサーバは、モバイル通信機器に通知するか、データオブジェクトを拒絶し、さらにそれを処理しないことを機器に指示することができる。既知の良い、および、既知の悪いコンポーネントは、既知の良い、および既知の悪いデータオブジェクトを認知するためのさまざまな方法を持つことができる。
【０３６７】
データ、ロジック、およびそれぞれ認識可能に良いか、認識可能に悪いデータオブジェクトを識別するために、既知の良い、および／または既知の悪いコンポーネントによって使われたすべての他の情報は、「シグネチャ」または「定義」(以下でさらに説明される)と呼ばれることもある。
【０３６８】
既知の良いおよび既知の悪いコンポーネントが決定的でないならば、データオブジェクトの処置についての決定に達するために、１つまたはそれ以上のサーバは、追加の分析を実行することができる。実施例では、サーバ１５１は、データオブジェクトのためのアプリケーションデータを分析し、データオブジェクトが不適当であると考えられるかどうかについて判定を行うために、１つまたはそれ以上の分析システムを使用する決定コンポーネントを含んでいる。
【０３６９】
実施例では、追加の分析を実行するのに十分な情報がないのであれば、一つまたはそれ以上のサーバは、モバイル通信機器が分析のために追加のアプリケーションデータをサーバに送信するように要求することができる。たとえば、機器は、分析のために最初に、データオブジェクトのためのハッシュ識別子、パッケージ名、および暗号の署名者情報をサーバに送信することができる。既知の良いまたは既知の悪いコンポーネントが、データオブジェクトを既知の良いか、既知の悪いと認定することに失敗したならば、サーバは、データオブジェクト自身が分析されることができるように、機器がデータオブジェクト全体をサーバに送信することを要求することができる。追加のアプリケーションデータを受信すると、機器がデータオブジェクトを受信するか、拒絶すべきであるかどうかの処置に達するために、さらなる分析を、決定コンポーネント９０７によって、または手動で、実行することができる。
【０３７０】
実施例では、分析チームが、どのようなデータオブジェクトが、分析される必要があるかを容易に決定することができるように、与えられたデータオブジェクトについて、手動の分析が必要であるかどうかにかかわらず、サーバは、格納する。
【０３７１】
データオブジェクトのための評価が人の分析に依存することがあるために、サーバ１５１は、更なる検討が必要な、疑わしいデータオブジェクトのリストの格納を生成するために、分析システムを用いることができる。実施例では、サーバ１５１上の分析システムからのいくつかの結果は、モバイル通信機器１０１に送信される評価を生成し、他の残りの結果については、データオブジェクトは人の分析が必要であると認定する。
【０３７２】
たとえば、悪意に満ちたアプリケーションを識別するために、サーバ１５１が、一連のヒューリスティック（発見的学習）を利用しているのであれば、いくつかの一連のヒューリスティックは、十分にテストされていて、悪意に満ちた行動を正しく識別することにおいて容認できる精度を提供するかもしれない一方で、他の残りの一連のヒューリスティックは、結果が容認できるかどうかを決定するために人の分析を必要とする実験的なものであるかもしれない。
【０３７３】
以下では、より詳細に、上記の特定されたコンポーネントのそれぞれについて説明する。
【０３７４】
当業者であれば、モバイル通信機器のための既知の良いアプリケーションの総数が識別されることができるので、データベース、ロジック、または既知の良いデータオブジェクト(例えばハッシュ識別子などのアプリケーションデータ)のための定義を含んでいる他のデータストアに結合された既知の良いコンポーネント９０３の使用は、かなり偽陽性の不適当なアプリケーション検出を減らし、計算的に高価な分析を実行するか、分析のためにサーバに連絡する必要を減らすことができるということを理解するであろう。人は、また、既知の良いコンポーネント９０３の使用が、実行可能なソフトウェアコードを含んでいるデータのために特に効果的であるかもしれないということを理解するであろう。
【０３７５】
与えられたアプリケーションのための実行可能なソフトウェアコードは、めったに異なるモバイル通信機器の間で変わらないために、アプリケーションデータを評価するための既知の良いアプリケーションデータまたはロジックのデータベースを作成することは、安全な、または信頼できるデータを認識するための効果的な方法であるかもしれない。
【０３７６】
このデータベースは、モバイル通信機器上で入手可能な資源に応じてサイズが様々であるかもしれない。あるいは、既知の良いコンポーネントと既知の悪いコンポーネントなどとしてのこの開示の側面は、図１におけるデータストア１１１に結合されたサーバ１５１などの既知の良いか、既知の悪いのデータオブジェクトのためのアプリケーションデータのより大規模なライブラリとリモートのサーバにアクセスすることができる。
【０３７７】
この開示の実施例では、既知の悪いコンポーネント９０５は、データベース、ロジック、またはかなりの量のメモリを占有することなくモバイル通信機器上に格納することができる既知の悪いデータオブジェクトのための定義を含んでいる他のデータストアにアクセスすることができる。たとえば、ウイルスと他のマルウェアまたはスパイウェアの定義は、データベースまたは他のメモリ・キャッシュに格納されたハッシュ識別子などのアプリケーションデータ、パッケージ名、暗号署名、バイト配列、およびバイトのパターンを含むことができる。換言すれば、モバイル通信機器１０１上に格納された既知の良いデータベースを補完する既知の悪いデータベースがあるかもしれない。さらに、または代わりに、既知の悪いコンポーネント９０５は、他の悪意に満ちたソフトウェアコードに共通の特徴を使用して、マルウェアを識別することが可能であるかもしれない。
【０３７８】
ネットワークデータまたはデータ・ファイルに適用される時に、既知の悪いコンポーネント９０５は、パターンまたはセキュリティ脅威を示すプロトコルデータユニットまたはファイル形式の他の特徴を含んでいるデータベースにアクセスすることができる。
【０３７９】
既知の悪いコンポーネント９０５は、また、不正に、脆弱性を晒し、バッテリの寿命を消耗し、プライベートな、または無許可の情報をサード・パーティーに送信するか、不要に機器の資源を使い果たすなどのモバイル通信機器に影響するデータを識別することができきる。既知の良いコンポーネント９０３とデータベースと同様に、「悪い」と認定されたどのようなデータでもモバイル通信機器によってさらに処理から削除されて、隔離されるか、拒絶されるかもしれない。
【０３８０】
既知の悪いデータオブジェクトが検出された場合には、この開示の実施例は、同時係属中の米国特許出願番号１２／２５５、６３５、「セキュリティのステータスおよび情報表示システム」という表題を付けられて、２００８年１０月２１日にファイルされて、本明細書に全部に組み入れられたものに記載したのと同様の通知またはその他のメッセージが表示されることがあり、それに類似している他のメッセージを表示することができる。
【０３８１】
決定コンポーネント９０７は、既知の良いまたは既知の悪いのどちらかとも見なされることができないデータを評価するために使用することができる。モバイル通信機器１０１で受信されたデータの大半は、このカテゴリに該当する可能性があるために、このコンポーネントは、サーバ１５１上に存在することができる。このコンポーネントは、本明細書に開示される分析システムのどれでも使用することを含めて、データオブジェクトのための評価を生成するためにさまざまな方法を利用することができる。例えば、決定コンポーネント９０７は、受信データが、その意図されている宛先に手渡されるかもしれないか、害が機器に降り懸かることを防止するために拒絶されるかもしれないかを決定するために、静的解析、動態分析、配布分析、または分析の他の方法を適用することができる。この分析の例は以下で説明される。
【０３８２】
以下の例は、どのように１つまたはそれ以上のサーバが、米国特許出願No.１２／２５５，６２１中で説明された方法を拡張するか、または置換するために使用する方法を示している。
【０３８３】
既知の良いコンポーネント、既知の悪いコンポーネント、および決定コンポーネントを含んでいる複数のシステムは、可能である。分析されているデータの特定の形式と防止されているセキュリティ脅威の形式に依存して、各コンポーネントの出力に適用される実行とロジックの異なる順序を採用することができる。
【０３８４】
実施例では、データが、既知の良いコンポーネント９０３によって、良いと決定されていないならば(ブロック８０５)、それは処理８１３から拒否される。既知の良いコンポーネント９０３が、良いと決定しているデータは(ブロック８０５)、さらに既知の悪いコンポーネント９０５によって分析される(ブロック８０７)。既知の悪いコンポーネント９０５がデータを、悪いと決定しているならば(ブロック８０７)、それは、処理８１３から拒否されて、さもなければ、データは、決定コンポーネント９０７よって分析することができる(ブロック８０９)。
【０３８５】
実施例では、データが、既知の良いコンポーネント９０３によって、既知の良いであると決定されていないならば、既知の悪いコンポーネント９０５は、それを分析する。既知の良いコンポーネントがデータを、良いと決定しているならば、それは許容される。既知の悪いコンポーネント９０５がデータを、悪いと決定しているならば、それは、処理８１３から拒否される。既知の悪いコンポーネント９０５が、データを、悪いと決定していないならば、データは、データのための評価に達するように決定コンポーネント９０７によって分析することができる。
【０３８６】
モバイル通信機器の上に存在するネットワークデータまたはデータ・ファイルの事例解析は、図８において示される。
【０３８７】
図８に例示するように、ブロック８０１は、送信されたか、モバイル通信機器から受信された、収集データに関係するものである。データは、そのプロトコルとトラック状態を識別するために分析することができる(ブロック８０３)。ブロック８０５中で、モバイル通信機器上の既知の良いコンポーネント９０３の居住者は、既知の良い特徴のために集められたデータを評価することができる。既知の良い特徴は、米国特許出願No.１２／２５５，６２１中で説明されたか、上記で説明された特徴を含むことができる。データが十分な既知の良い特徴を含んでいるならば、それは、処理、実行、または他の操作のためにその意図されている宛先(ブロック８１１)に進むことを許可することができる。代わりに、データは、データが本当に安全であること(ブロック８０７)を確認するためにモバイル通信機器上の既知の悪いコンポーネント９０５の居住者によってさらに分析することができる。既知の悪いコンポーネントが、データが本当に安全であると決定した場合には、データは、その意図されている宛先(ブロック８１１)に進むことを許可することができる。決定コンポーネント９０７は、また、データが進むこと(ブロック８１１)を可能にする前に、最終的なチェック(ブロック８０９)を提供するために利用可能であるかもしれない。
【０３８８】
データオブジェクトの分析はいつでも可能である。例えば、データがアプリケーションであれば、アクセスする前またはダウンロードする前に、またはダウンロード後インストールする前に、またはインストール後、データオブジェクトの新バージョンインストール前に、またはデータオブジェクトの新バージョンのインストール後に、データオブジェクトは評価可能である。実施例では、まだ機器にダウンロードされていないデータオブジェクトはデータオブジェクトに関する認証情報を用いて評価される。例えば、モバイル通信にアクセス可能なアプリケーションマーケットが、ダウンロードが利用可能なアプリケーションを作り、アプリケーションコンテンツまたはアプリケーション用パッケージネームのハッシュのようなデータオブジェクトに関する認証情報を提供する場合、モバイル通信のソフトウェアは、ここに記載したどのシステムであってもローカル使用でもって認証情報を評価することにより、あるいはサーバー１５１に認証情報を送信し、サーバーから評価を受信することにより、アプリケーションの評価を決定するために、認証情報を利用できる。この方法で、モバイル通信のソフトウェアは、ユーザーがアプリケーションをダウンロードする前にそれらが不適当かそうでないかを評価できる。
【０３８９】
既知の良性コンポーネント９０３、既知の悪性コンポーネント９０５又は（以下にさらに述べる）決定コンポーネント９０７が、データは良性である、又はセキュリティに対する威嚇やデータ矛盾などを含んでいると明確に決定した場合、分析しているどのポイントでも、ブロック８１３においてデータはブロックされ、拒絶され、消去されるか、あるいは隔離される。本発明の実施例では、シグナルイベント又はセキュリティイベントの情報ログは汚染データと遭遇した記録をアップデートできる。
【０３９０】
モバイル通信のアプリケーション、プログラム及び又はライブラリのような実行可能フファイルデータの分析は、図９に説明したように実行できる。ブロック９０１で、実行可能ファイルにアクセスを試み、実行可能ファイルをインストールし、又は実行可能ファイルをダウンロードするかモバイル機器に移動させた結果として、実行可能ファイルは良性か、あるいは悪性かを分類する必要があるのかどうか決定される。モバイル通信機器（ブロック９０３）に常駐する既知の良性コンポーネント９０３により評価される前に、ハッシュ識別子、暗号サイン、パッケージネーム又はほかの特徴のような追加アプリケーションデータを抽出するために、実行可能ファイルを事前処理してもよいし、あるいはしなくてもよい。この評価は、実行可能ファイルのハッシュ識別子又はほかの特徴を、良性の特徴を持つデータベースと比較し、実行可能ファイルが十分に良性の特徴を持っているか、あるいは上記した又は米国特許出願番号１２／２５５，６２１に記載した判断基準のどれかを持っているか認定することを含ませてよい。
【０３９１】
実行可能ファイルが良性と認識された場合、ブロック９１１において、処理又はほかのオペレーションのためにそのコードを実行するか又はその意図した行き先に進むことができる。既知の良性コンポーネント９０３が実行可能ファイルデータを許可できない場合は、モバイル通信機器に常駐する既知の悪性コンポーネント９０５がその分析を実行してもよい（ブロック９０５）。既知の悪性コンポーネント９０５が実行可能ファイルには悪意があると確認した場合、実行可能ファイルを隔離、拒絶、又は消去することができ、またそのイベントは記録される（ブロック９０９）。既知の悪性コンポーネント９０５が実行可能ファイルを特徴付けられなかった場合、決定コンポーネント９０７が以下で述べるように（ブロック９０７）その分析を実行することができる。決定コンポーネント９０７が、実行可能ファイルは安全であると最終的に決定した場合、実行可能ファイルは許可される（ブロック９１１）。決定コンポーネント９０７が、実行可能ファイルは安全でない、あるいは不確定であると最終的に決定した場合、実行可能ファイルは隔離される（ブロック９０９）。実行可能ファイルがモバイル通信機器に対して顕著な害をもたらすことが可能なコードを含むかも知れないので、実行可能ファイルが次に進むことを許可する前に、さらに厳格な分析が必要であることを当業者は認めるであろう。
【０３９２】
常駐モバイル通信機器では、既知の良性コンポーネント９０３及び既知の悪性コンポーネント９０５を、それらモバイル通信機器により最もアクセスされやすいアプリケーションに関する定義情報を単に格納するだけに限定し、あまり重要性を持たせないようにしてもよい。上記したように、そのような情報は、例えば、機器データ、モバイル通信機器に前もってインストールしたアプリケーション、及びモバイル通信機器の使用方法（たとえばワーク対エンターテインメント、公共ネットワークアクセス対プライベートネットワークアクセスほか）に基づいて決定できることが理解される。各モバイル通信機器は異なる定義情報を格納でき、本発明の実施例がそのようなきめ細かさ(granularity)を想定していることを当業者は認めるであろう。
【０３９３】
上記したようにまた全体を通して、データが安全かどうかを既知の良性コンポーネント９０３及び既知の悪性コンポーネント９０５が決定できない場合、本発明の実施例はサーバー側のデータ分析に向けられている。実施例では、決定コンポーネント９０７が１つ以上のサーバー１５１に常駐し、ネットワーク１２１を介して、すなわち「クラウドで」モバイル通信機器と通信する。決定コンポーネントは、ここで開示された分析システムのような１つ以上の分析システムに依拠できる。決定コンポーネント９０７はモバイル通信機器より強力なコンピュータ資源に常駐するので、決定コンポーネントはデータが機器１０１に対して悪性か良性かを決定するための強靭な分析を提供する。さらに、サーバー１５１で行われる分析の場合、サーバーにより収集されたデータを利用して、モバイル通信機器１０１に利用可能なデータのみに依拠できない評価を出すことができる。例えば、機器から報告された挙動データに、データオブジェクトが機器にインストールされているプレミアムレートのSMSメッセージ又はダイアルプレミアムレートの電話番号を送ることが表示された場合、サーバー１５１の決定コンポーネント９０７はそのデータオブジェクトが悪意のあるものであると決定できる。
【０３９４】
実施例では、決定コンポーネント９０７は１つ以上の内部分析システムを用いてデータオブジェクトが良性か悪性か特徴付ける。決定コンポーネント９０７は、脅威から保護するために特化して定義することなくセキュリティ脅威を検出するように設計されている。言い換えれば、決定コンポーネント９０７は、良性コンポーネント９０３又は悪性コンポーネント９０５からの弱点を補償するとともに、以前は認証されていなかった新しい脅威を認証するための付加セキュリティコンポーネントとして動作可能である。
【０３９５】
決定コンポーネント９０７により利用できる多数の分析システムが存在することが正しく理解されよう。データオブジェクトの分類が可能なシステムとしては、ヒューリステックアルゴリズム、ルールに基づく又はルールに基づかないエキスパートシステム、ファジーロジックシステム、神経ネットワーク又はほかの方法を含むがこれに限られるものではない。上記したように、そのようなシステムは決定コンポーネント９０７が利用可能な各種のデータを利用できる。分配データ、特性データ、カテゴリ化データ、信頼性データ、アプリケーションデータ又はほかの同様なものを含むがこれに限られるものではない。例えば、決定コンポーネント９０７はモバイル通信機器のアプリケーション、ライブラリ、又は実行可能データを分析できる。１例として、決定コンポーネント９０７は、ネットワーク接続特性に基づいて実行可能データを分析し、セキュリティ評価を決定する神経ネットワークが含まれる。そのような特徴は実行可能ファイルフォーマットに含まれる情報に基づき又は実行可能ファイルの内容を処理した結果として決定できる。他の例として、決定コンポーネント９０７は、オープンシステムで実行可能ファイルが取れるファンクションコール、システムコール又はアクションを介して実行可能ファイルの挙動を分析するエキスパートシステムを含めることができる。実行可能ファイルに対してアクセスセンシティブなシステムが悪意ある挙動を示す仕方でコールを受けた場合、このシステムは実行可能ファイルがマルウェアの可能性があるとフラッグを出し、アクションを起こすことができる。
【０３９６】
決定コンポーネント９０７をモバイル通信機器１０１に搭載する場合、決定コンポーネントのパワー化のために実行可能ファイルのコードをアップデートするのとは関係なく、ルール又は分析パラメータをアップデートすることが望ましい。実施例の場合、決定コンポーネント９０７は仮想マシーンに基づく決定システムを含んでいる。この決定システムによれば、決定コンポーネント自身と関係なくアップデートされるルールセットで実行可能ファイルの分類ができる。このシステムでは、決定コンポーネント全体をアップデートすることなく進行中の不適当なアプリケーションのある新しい部類を検出するために新しいロジックを付加することができる。このシステムでは、実行可能ファイル自身を処理するよりむしろ仮想マシーンロジックが実行可能ファイルを象徴的に参照できるように実行可能ファイルを事前処理することができる。
【０３９７】
ある例では、決定コンポーネント９０７は、データを評価するためにサードパーティ情報を考慮できる。当業者なら、モバイル通信機器１０１が、モバイル通信機器においてダウンロードやインストールに利用可能なアプリケーションを提供するAppleアプリストア、Androidマーケット、あるいはほかのソフトウェアの宝庫やデジタル分配プラットフォームのようなアプリケーションプロバイダにアクセス可能なことを理解するだろう。実施例では、サーバー１５１はそのようなアプリケーションプロバイダにアクセスし、特定のアプリケーションに関する情報を収集できる。例えば、サーバー１５１はアプリケーションに関してユーザーが行うレビューやレーティングを検索、収集することが可能である。よいレーティングを持つアプリケーションは安全とみなせるが、相当ネガティブなレーティングを持つアプリケーションは不適当と見なせる。サーバー１５１はデータオブジェクトのための信頼性データも決定するので、ネガティブレビューを持つアプリケーションの評価が示唆することは、そのアプリケーションが低い信頼性レーティングを持つならば不適当であり、そのアプリケーションが高い信頼性レーティングとネガティブレビューを持つならばアンチマルウェアシステムにより依然として適しているということだけである。
【０３９８】
上記例は決定コンポーネント９０７が、モバイル通信機器により受信あるいは送信されたデータの脅威レベルを十分に評価するために、多数の分析方法をどのように利用するかを説明している。ほかの例も本発明の範囲から逸脱するものではない。
【０３９９】
モバイル通信機器１０１やサーバー１５１などにより良性と認識されたデータオブジェクト及び悪性と認識されたデータオブジェクトは、別個の「良性判別」及び「悪性判別」コンポーネントよりむしろ単一のコンポーネントで実行してよい。実施例において、単一の認識コンポーネントが、良性と認識したデータオブジェクト及び悪性と認識したデータオブジェクトの両方を認証する機能を実行することができる。
【０４００】
実施例において、認識コンポーネントは定義を利用してデータオブジェクトのための評価を決定する。認識コンポーネントはまずデータオブジェクトのためのアプリケーションデータを調べ、どの定義がデータオブジェクトに対応するかを決定する。例えば、認識コンポーネントがデータオブジェクトコンテントのハッシュである定義にアクセスすると、所与のデータオブジェクトコンテントのハッシュと同一のハッシュを持つ定義が、データオブジェクトに対応すると決定される。ほかの例では、認識コンポーネントがバイトシーケンスサインを含む定義にアクセスすると、データオブジェクトコンテントに含まれるバイトシーケンスを持つ定義がデータオブジェクトに対応すると決定される。各定義は評価と関連付けられるが、それは、対応する定義を決定し、定義のため対応する評価を決定し、それによりデータオブジェクトに対応する評価を生成するために、認識コンポーネントがデータオブジェクト用アプリケーションデータを調べることができるようにするためである。例えば、データオブジェクト用アプリケーションデータは、データオブジェクトハッシュ、パッケージネーム、独自の識別子、あるいはデータオブジェクトコンテントなどほかのアプリケーションデータのような認証情報を含んでよい。実施例では、認識コンポーネントが用いる定義は既知のデータオブジェクトを表す。このケースでは、既知のデータオブジェクトのための評価が分析中のデータオブジェクトに対応するかどうかを認識コンポーネントが決定するときに、分析中のデータオブジェクト及び既知のデータオブジェクトが完全に同一である必要はない。例えば、特別のデベロッパーの第１アプリケーションが分析を介して不適当であると決定された場合（たとえば、マニュアル分析、自動分析）、第１アプリケーションパッケージネームに一致する第１アプリケーション用の定義が作成される。デベロッパーが第１アプリケーションパッケージと同一のパッケージネームを持つ修正アプリケーションを作成し、認識コンポーネントがこの修正アプリケーションと遭遇した場合、定義のパッケージネームは修正アプリケーションパッケージネームに一致しているので、修正アプリケーションに対応するように定義が決定される。認識コンポーネントはそこで第１アプリケーションに対する不適当な評価を修正アプリケーションに適用することを決定する。
【０４０１】
例えば認識コンポーネントは、各定義がデータオブジェクトコンテンツのハッシュを示唆しまた定義に対応するデータオブジェクトが良性か悪性かを示唆するもろもろの定義のデータベースにアクセス可能である。実施例では、サーバー１５１で動作する１つ以上の認識コンポーネントで使用される定義は、サーバー１５１又はデータストレージ１１１に格納される。実施例では、良性判明コンポーネント９０３及び悪性判明コンポーネント９０５は、認識コンポーネントを使用しておのおのサーバー１５１で実行される。例えば、良性判定コンポーネントは認識コンポーネントを含むことができる。この認識コンポーネントでは、認識コンポーネントにより評価されたすべての定義は、データオブジェクトが良性であるとみなされた評価に対応する。実施例では、良性判明及び悪性判明コンポーネントは、良性判明及び悪性判明アプリケーションデータに対してデータオブジェクト用のアプリケーションデータと適合する認識コンポーネントとしておのおの実行される。例えば、分析中のデータオブジェクトと適合するかどうかをみるために、良性判明コンポーネントは良性判明ハッシュ認識子、パッケージネーム、及び暗号サインのリストを持つことができる。実施例では、データオブジェクトが良性判明リストに何か特徴を持てば、安全とみなされる。実施例では、サーバーは、分析中のデータオブジェクト用のアプリケーションデータに悪性判明データを適合させる類似した悪性判明システムを使用することができる。ほかの良性判明及び悪性判明分析システムも本発明の範囲を逸脱しないなら可能である。実施例では、認識コンポーネントは、単に「良性」あるいは「悪性」でない各種の評価を生成している。実施例では、データオブジェクトが「悪性である」かどうかを認識コンポーネントが単に認証する場合のように、すべての定義が対応する単一の評価を単に持つ場合、認識コンポーネントは複数の評価を格納する代わりに単一の評価を使用する。ほかのバリエーションも本発明を逸脱しない範囲で可能である。
【０４０２】
図１２において、モバイル通信機器のデータオブジェクトにアクセスするために使用される本発明の実施例を説明する。モバイル通信機器１０１はまず、フルシステムスキャンあるいはデータオブジェクトが実行中あるいはインストール中（ブロック１２０１）の場合のようにデータオブジェクトのスキャンを開始する。認識コンポーネントはデータオブジェクト用のアプリケーションデータを評価し（たとえば、パッケージネーム、データオブジェクトコンテンツのハッシュ、独自の識別子、データオブジェクトの内容）、認証コンポーネントにアクセス可能な定義がデータオブジェクトに対応するかどうか決定する（ブロック１２０２）。上記したように、例えば対応は、データオブジェクト用の認証情報を定義に含まれるデータに適合させること、あるいはデータオブジェクトコンテンツを定義に含まれるシーケンス、パターン、あるいはロジックに適合させることを含んでよい。定義がデータオブジェクトに対応すると、次に認証コンポーネントはデータオブジェクト用の対応評価を決定する。実施例では、ブロック１２０２の認識コンポーネントは定義及び評価情報の格納データを利用する。例えば、上記したように、モバイル通信機器がサーバー１５１から定義と評価情報を受信したときに、モバイル通信機器に格納された定義は事前生成あるいは生成される。実施例では、モバイル通信機器に格納された定義はキャッシュとみなされる。キャッシュは上記したように機能する。モバイル通信機器の認証コンポーネントがデータオブジェクト用の評価を決定する場合（ブロック１２０３）、その評価においてデータオブジェクトをどのように扱うかを決定する処理が行われる（ブロック１２０４）。例えば、評価でデータオブジェクトが悪意を持つと示唆された場合、モバイル通信機器はそのデータオブジェクトが実行されることを許可しないかあるいは機器のユーザーにそのデータオブジェクトをアンインストールするように促す。モバイル通信機器の認識コンポーネントがデータオブジェクト用の評価を決定しない場合（ブロック１２０３）、モバイル通信機器１０１は、アプリケーションデータ（たとえば、認証情報、データオブジェクトの内容）のようなデータオブジェクト情報をサーバー１５１に送信する（ブロック１２０５）。サーバーはデータオブジェクト情報を受信し（ブロック１２０６）、そしてサーバーの認識コンポーネントはデータオブジェクト情報を評価し、認識コンポーネントにアクセス可能な定義がデータオブジェクトに対応するかどうかを決定する（ブロック１２０７）。定義がデータオブジェクトに対応する場合（ブロック１２０８）、サーバー１５１はデータオブジェクト用の評価を決定し、その評価をモバイル通信機器に送信する（ブロック１２０９）。決定コンポーネントにより評価がなにもなされない場合は、サーバーはデータオブジェクトがモバイル通信機器に知られていないという指示を送信する（ブロック１２０９）。モバイル通信機器１０１はサーバーから評価を受信し（ブロック１２１１）、評価情報を処理してデータオブジェクトをどのように扱うか決定する（ブロック１２０４）。実施例では、評価情報を処理するときに、モバイル通信機器１０１は、サーバー１５１から受信した評価の情報をローカルな定義キャッシュに付け加える（ブロック１２０４）。例えば、機器はデータオブジェクト用の特徴（たとえば、「良性である」、「悪性である」、「マルウェア」、「スパイウェア」）、サーバーにより送信された識別子及び機器により生成されたあるいはサーバー１５１により送信された定義情報（たとえば、データオブジェクトコンテンツのハッシュ、データオブジェクトパッケージネーム）のような情報を格納する。
【０４０３】
実施例では、モバイル通信機器の認識コンポーネントが評価を決定しないとき、モバイル通信機器は、データオブジェクト情報をサーバー１５１に送信する前に、モバイル通信機器のローカル決定コンポーネントを用いてスキャン中のデータオブジェクトに対する分析を実行する。実施例では、ユーザーへの遅延が最小になるように、ローカルな決定コンポーネントによる分析とデータオブジェクト情報をサーバーに送信することは並行して行われる。クライアントサーバーアンチマルウェアを組み込んだシステムに各種のコンポーネント構成が本発明を逸脱しない範囲で可能であることを当業者は認めるであろう。
【０４０４】
実施例では、モバイル通信機器１０１は、データオブジェクトに関する情報を送信するたび、サーバーが変換された情報とサーバー上の特定のアカウントとを関連付けるために、認証証明書あるいはセッション情報のような認証情報をサーバー１５１に送信する。
【０４０５】
Ｄ．            アプリケーション評価及びアドバイスメントシステム
本発明の前半では、１つ以上のモバイル通信機器から異なったタイプのデータ及びほかの資源を収集するとともにデータオブジェクト用の評価をするため収集したデータを分析するための各種システムと方法とを説明した。以下において、サーバー１５１がディスプレイ、API経由のエクスポージャ、及び他の各種目的のための評価をどのように使用するか説明する。ここで開示したいくつかの評価例は、１つ以上の分析システムからのアウトプット（たとえば、特性データ、カテゴリ化データ、信頼性データ、及び分配データ）及びデータオブジェクト用の１つ以上のレーティング（たとえば、セキュリティレーティング、プライバシーレーティング、バッテリーレーティング、パフォーマンスレーティング、クオリティレーティング）からのアウトプットを含んでいる。当業者なら、評価情報は、典型的なアンチマルウェアシステムでのデータオブジェクトが悪意あるものかそうでないかの評価を超えて、モバイル通信機器の所与データオブジェクトをインストールする効果を理解するために用いられる各種情報に関連していることを認めるであろう。さらに、この評価情報は、異なったタイプのデータオブジェクトをダウンロードしインストールすべきかどうかについて、決定を行うために用いることができる。そのような情報はモバイル通信機器上にあるアプリケーションをインストールすべきかどうか決定しようとしている個々のユーザーにとって有用である。そのような情報はまた複数のモバイル通信機器にあるアプリケーションを分散して配置すべきかどうかを決定しようとしているIT管理者にとって有用である。実施例では、ユーザー又はIT管理者は、アプリケーションポリシー強化のためにこの評価情報を用いることができる。
【０４０６】
当業者なら、サーバー１５１に利用可能なデータ及びサーバーによりなされた評価がアンチマルウェアの目的を超えて有用であることを認めるであろう。例えば、評価は、データオブジェクトがモバイル通信機器のバッテリーを過度に使い果たしたかどうか、あるいはデータオブジェクトが不適当な量のネットワーク資源を利用しているかどうか詳述可能である。実施例では、サーバー１５１が、評価情報を生成するためにデータを収集、格納及び分析するので、サーバー１５１は、モバイル通信機器にデータオブジェクトがインストールされる前にデータオブジェクトがモバイル通信機器にどんな影響を与えるか推測する情報を提供できる。例えば、サーバー１５１は、アプリケーション用の推測バッテリー使用情報および／またはネットワーク使用情報を提供できる。
【０４０７】
ユーザーが評価に出会うとき、ユーザーがその評価があまりに広い又はあまりに狭いと感じないように、評価が適度のきめ細かさ(granularity)のレベルであることが望ましい。実施例では、サーバー１５１は多数のデータオブジェクトを単一の評価に融合し、融合した評価を送信する。例えば、アプリケーションが多数のデータオブジェクトを含む場合（たとえば、実行可能ファイルと多数のライブラリ）、ユーザーは構成するデータオブジェクトに対する多数の評価ではなく、アプリケーションに対する全体としての評価を知りたいであろう。同様に、類似した特徴を示す多数のアプリケーションバージョンがある場合（単一のプラットフォームあるいはマルチプラットフォーム上で）、情報に関する決定を行う企業ポリシー管理者は、アプリケーションのすべてのバージョンを網羅する単一の評価を知りたいであろう。
【０４０８】
多数のデータオブジェクトに対する評価を融合するために、サーバー１５１は、ファイルパス、バージョンナンバー、パッケージネーム、暗号サイン、インストラー資源、及びほかの情報のようなアプリケーションデータを用いて、データオブジェクトグループがアプリケーションの特定のバージョンに関連しているか、および／またはデータオブジェクトのデータオブジェクトあるいはデータオブジェクトグループがアプリケーションの異なるバージョンに属しているかを決定することができる。例えば、同一のディレクトリに実行可能ファイルが共通して見られた場合、サーバー１５１は、そのような実行可能ファイルがすべて同一のアプリケーションに付随していると決定することができる。ほかの例では、アプリケーションパッケージがパッケージネームとパッケージに埋め込まれたバージョン識別子をともに持つ場合、サーバー１５１は、同一のパッケージネームとヒューマンリーダブルアプリケーションネームを持ち、異なるバージョン識別子を持つ２つのデータオブジェクトが同一アプリケーションのマルチバージョンであることを決定できる。
【０４０９】
評価としては一貫した情報形式をプラットフォーム間に提供することが望ましいので、本発明の実施例は、異なるプラットフォームで走るデータオブジェクトに対する評価における同一フィールドのいくつかあるいはすべてを含むサーバー１５１に向けられている。例えば、システム動作する異なったスマートフォンのロケーションAPIはその機能が非常に異なるものの、サーバー１５１は、システムを動かしてデータオブジェクトの特定の分析を実行し、機器のロケーションに各データオブジェクトがアクセルするかどうかのクロスプラットフォーム評価を作り出すことができる。評価の形式がデータオブジェクトに対する能力リストであれば、ブラックベリーのマッピングアプリおよびアンドロイドの位置に基づくソーシャルネットワークはともに「アクセスデバイスロケーション」能力を持っていることになる。同様に、バッテリー使用は各プラットフォームで別々に計算できる。しかし、サーバー１５１は、全バッテリー能力のパーセンテージとして計測した日々のバッテリー使用の推測値のクロスプラットフォーム評価を作り出すことができる。実施例では、多数のデータオブジェクトに対する融合評価は、データオブジェクトに対する特徴及びカテゴリ化の範囲についての情報を含む。例えば、評価は、アプリケーションのマルチバージョンのバッテリー使用における傾向を示すことができる。古いバージョンではたくさんのバッテリーを使用したが、最近はバッテリー使用が低下しているアプリケーションは受入れられるが、バッテリー使用がたえず高いアプリケーションは受入れられない。
【０４１０】
本発明の実施例は、ウェブインターフェースを介して利用可能なデータオブジェクトに対する評価を行うサーバー１５１に向けられている。例えば、ユーザーは、彼らのモバイル機器が持っているアプリケーションの特徴及び能力についてもっと知りたいであろう。サーバー１５１は、ウェブインターフェースとして、どのアプリケーションに対して評価可能か及び各アプリケーションに対する評価の索引を公表できる。アプリケーションのロケーションを便利にするために、サーバー１５１は、アルファベットで、その特徴で、そのカテゴリ化で、及びプラットフォームのようないろんな方法でアプリケーションを整理することができる。加えて、サーバー１５１は、ユーザーがアプリケーションネーム、解説、あるいはアプリケーション評価のフィールド（例えば、アンドロイドOS上で走り、ロケーションをインターネットに送るすべてのアプリケーション）一致する用語を用いてアプリケーションを探すことを可能にする。さらに、公共的に表示する評価はアプリケーションの透明性に寄与することができる。
【０４１１】
例えば、アプリケーションベンダーは、アプリケーション能力に対する独立したサードバーティ評価としてサーバー１５１で生成した評価ページにユーザーを向かわせ、アプリケーションが何をしているのかをユーザーが確かめることができるようにすることが可能である。実施例では、サーバーは、機器データ（たとえば、このアプリケーションはMotoroa Droid上でどの程度バッテリーを使用するのか、このアプリケーションはAT&Tワイヤレス上でネットワークデータをどの程度使用するのか）に基づいたアプリケーションの条件付評価をユーザーが覗くことができ、異なる条件付評価（例えば、このアプリケーションのMotorolaDroid対a HTC Heroにおけるバッテリー使用、AT&Tワイヤレス対Verizonワイヤエスにおいて、このアプリケーションはネットワークデータをどの程度使用するか）をユーザーが比較できるウェブインターフェースを生成する。そのような条件付評価は、例えば、このアプリケーションに対する評価特徴において、ある子機セット、オペレーションシステムバージョン、あるいは機器にインストールされたほかのアプリケーションが高いエラーレートあるいは異常な変化が生じていることを評価ページが示したとき、特別の環境における異常な挙動を識別するために役立てられる。実施例では、サーバー１５１は、特別な評価値として極端な値を持つデータオブジェクトを認定する。例えば、サーバー１５１は、どのアプリケーションが１ギガバイト以上ネットワークデータを月毎に使用するのか、あるいはどのアプリケーションが機器のバッテリーの１０％以上を使用するのかを識別するウェブページを生成することができる。
【０４１２】
サーバー１５１により生成された評価は、ほかの各種プロダクツ及びサービスを提供するために利用できるため、本発明の実施例は、APIを介した評価データを公表するサーバー１５１に向けられている。上記したように、各種プロダクツ及びサービスが立ち上げられるように、ウェブページに公表したすべての機能もまたAPIとして公表することができる。例えば、サーバー１５１は、データオブジェクトのパッケージネームあるいはURLリクエストにあるハッシュコンテンツを供給するHTTP APIを提供でき、結果的にサーバーはパッケージネームあるいはハッシュコンテンツで識別したデータオブジェクトに対する評価を戻すことになる。ほかの例では、サーバー１５１は、遠隔のウェブページに含まれ、特定のデータオブジェクトに対して双方向評価ビューを表示することが可能なJavaScriptファイルを生成できる。
【０４１３】
実施例では、サーバー１５１は、アプリケーションが適当であるかどうかについてのレーチィングあるいは性質のような評価データをアプリケーションマーケットプレースに見えるようにすることができる。当業者は、PCベースのクライアントアプリケーション、及びSMSのようなメッセージサービスを用いてアプリケーションマーケットプレースが各種の方法で実行されることができることを認めるだろう。そのように、本発明の実施例は、ユーザーが提供する主観的なレビュー情報よりむしろ、アプリケーションあるいはほかのデータオブジェクトに対する客観的な評価情報を提供するものである。
【０４１４】
例えば、サーバー１５１は、評価データを問いただせるAPIを提供できる。あるいはサーバー１５１は、評価データをマーケットプレースのプロバイダに送信して、マーケットプレースにおける利用可能なすべてのアプリケーションを積極的に分析することができる。実施例では、ユーザーは、セキュリティ、プライバシー、デバイス効率、信頼性やそれに似たもののような、特定の望ましい基準に合致するアプリケーションだけに対してアプリケーションマーケットプレースを検索することができる。実施例では、アプリケーションプロバイダは、クオリティコントロール方法を提供するために統合した情報を使用可能である。アプリケーションプロバイダは、特定のバッテリー効率基準、受け入れ可能なクラッシュの数とエラーの数、特定のネットワークトラフィック制限、プライバシー保護、それに似たものに対する規格に合致するアプリケーションだけを特徴付けることができる。この方法で、本発明の実施例は、アプリケーションプレース上の提供品を向上させるので、デベロッパーはこれを励みによりよいアプリケーションを作成することができる。実施例では、評価情報は証明システムとして使用できる。そこでは、特定の基準に合致するアプリケーションは、シンボル、バッジあるいはアプリケーションに対してポジティブな評価を表示するほかのアイコンでマークできる。例えば、高い信頼性レーティングを持つアプリケーションあるいは最小のプライバシー情報セットだけにアクセスするアプリケーションは認定されたと考えられる。アプリケーションの認証を検証するために、認証メーカーは、サーバー１５１からユーザーが十分な評価を検索するためのリンクあるいはほかの方法を持つことができる。
【０４１５】
実施例では、サーバー１５１は評価情報を表示するためモバイル通信機器１０１に送信する。例えば、モバイル機器は、それによりユーザーが機器にインストールしたすべてのアプリケーションに対する評価を探索できるインターフェースを持つことができる。このインターフェースにより、ユーザーは特定のアプリケーションに対する評価情報を閲覧することができるとともに、ユーザーは評価基準セット（例えば、機器のロケーションをインターネットに送るすべてのアプリケーション、トップテンバッテリーユーザー、毎月５０メガバイト以上のネットワークトラフィックを使用するすべてのアプリケーション）に合致するアプリケーションを閲覧することができる。実施例では、ユーザーが、アプリケーションをダウンロード／インストールするのに利用可能なアプリケーションをブラウジングしてアプリケーションに対する評価情報を見られるように、モバイル通信機器１０１は、アプリケーションマーケットプレースの一部、アプリケーションダウンロードプロセス、あるいはモバイル通信機器のアプリケーションインストールプロセスとして、インターフェースを表示する。アプリケーションをブラウジング、ダウンロード、あるいはインストールするとき、機器はサーバー１５１に識別子情報を送信し、またアプリケーションに対する評価を受信するが、いくつかの評価あるいはすべての評価はユーザーインターフェース上に表示される。例えば、インターフェースは、アプリケーションの機能あるいはアプリケーションの特徴を表示する。またインターフェースは双方向的であり、ユーザーが評価の側面を探索できるようになっており、必要ならばインターフェースはサーバー１５１から追加の評価情報を要求できる。ほかの実施例では、機器はアプリケーションに対する信頼性指標を表示することができ、その信頼性指標はサーバー１５１により決定され、評価の一部として機器１０１に送信される。信頼性指標は各種の方法で表示でき、認証シール（例えば、「認証済Lookout.TM.」）あるいはレーティング（例えば、「A＋」、「B-」、「C＋」）を含む。
【０４１６】
ユーザーは長いセキュリティ説明書を読まないケースがままあるので、容易に理解できる方法でアプリケーションに関するセキュリティ情報を表示することは重要である。実施例では、モバイル通信機器１０１はアプリケーションに対するグラフィック評価を表示する。例えば、顕著な評価の側面を、アプリケーションに対するアイコンあるいはバッジとして表示することができる。例としては、「バッテリーが効率的」である、「バッテリー乱費」である、「アクセスロケーション」、「スパイ機能」、「ソーシャルネットワーク」である、および「ファイルシェアリングアプリ」であるというバッジがあげられる。顕著な評価用の各バッジには、理解が容易になるように、バッジのイラスト及び評価が単に通知的なものかあるいは潜在的に重要なものかどうかを示す配色が含まれてよい。例えば、バッテリー使用について効率的なアプリケーションにはフルバッテリーを示す緑のアイコンをもたせ、バッテリー消費が目立って多いアプリケーションには空バッテリーを示す赤のアイコンをもたせることができる。
【０４１７】
サーバー１５１は継続的に情報を収集し、評価を向上させるので、評価情報をアプリケーションマーケットプレース上および／または評価情報をキャッシュしているモバイル通信機器でアップデートすることができる。例えば、サーバー１５１は、アプリケーションマーケットプレースあるいはモバイル通信機器に新しい評価情報が利用可能であるという通知書を送ることができる。ほかの実施例では、サーバー１５１は、古い情報が上書きされるようにアップデートした評価情報を単に送信する。
【０４１８】
機器にインストールされたデータオブジェクトに対する評価を閲覧することに加えて、機器にインストールされたデータオブジェクトに対する評価をウェブインターフェースから閲覧することも望ましい。例えば、ユーザーは彼らのPCを用いて機器にインストールされたアプリケーションに対する評価を探索したいであろう。上記したように、実施例では、モバイル通信機器１０１は、サーバー１５１にインストールしたデータオブジェクトに対するアプリケーションデータを送信する。サーバー１５１は機器１０１に現在インストールしているアプリケーションを格納できるので、サーバーはそれらのアプリケーションに対する評価を表示するユーザーインターフェースを生成することができる。例えば、サーバー１５１がウェブインターフェースを生成し送信することで、ユーザーは機器にインストールしたすべてのアプリケーションのリストを閲覧することができ、各インストールされたアプリケーションに対する評価を見ることができ、そしてまたインストールしたどのアプリケーションが特定の評価値（例えば、自分のロケーションにアクセス可能なすべてのアプリケーション）に合致するか探索することができる。プライベート情報の開示を防止するためであるが、彼らの機器のアプリケーションに対する評価を閲覧するために、ユーザーが認証証明書を用いてログインすることをサーバー１５１は要求できる。さらに、企業管理者は中央管理室から機器グループに対する評価を閲覧したいであろう。
【０４１９】
実施例では、サーバー１５１はウェブインターフェースを生成し、多くの機器にインストールされたアプリケーションに対する評価をユーザーが閲覧できるようにしている。例えば、ウェブインターフェースにより、ユーザーは特定の評価フィールド（例えば、ファイルシェアリングアプリケーション）に合致する機器のグループにインストールされたすべてのアプリを探索することができ、機器のグループに対するリスクレーティング評価を閲覧することができ、配備した機器にインストールしたすべてのアプリケーションの機能を閲覧することができ、そしてまたどの機器がどのアプリが特定の機能及びリスク露見をもたらすのか決定することができる。ユーザーはスタートとしてサーバー１５１を用い、機器のグループに対するセキュリティセット、プライバシー、及びバッテリーリスクレーティングの総合的なセットを生成し、次にレーティングをクリックしてリスクレーティングに最も貢献するアプリケーションのリストを閲覧することができる。ユーザーは次にどの機器が所定のアプリケーションを持っているか閲覧できる。ほかの実施例では、ユーザーはスタートとしてサーバー１５１を用い、グループにインストールした全アプリケーションの機能のリストを生成し、次に所与の機能を持つグループにインストールしたすべてのアプリケーションの機能を閲覧するために所与の機能をクリックすることができる。ここから、ユーザーはグループのどの機器に所定の機能がインストールされているかさらに探索することができる。実施例では、機器のグループに対する評価は、管理コンソールなどの外部サービスによる使用に供するAPI形式でサーバー１５１により公表される。例えば、サーバー１５１は、機器グループに対するリスクレーティングを、HTTP APIを介して集中セキュリティ報告システムに晒すことができる。
【０４２０】
モバイル通信機器上で、バッテリー及びネットワークデータは、アプリケーションが機器のバッテリー寿命に悪影響を及ぼし、ネットワーク処理のオーバーエイジ負担をもたらすような仕方でしばしば制限される。本発明の実施例は、評価を用いることによりアプリケーションネットワークあるいはバッテリー処理をユーザーに知ってもらい、アプリケーションを乱用した場合にユーザーに警告するためのものである。機器上のソフトウェアは、アプリケーションのバッテリー及びネットワーク処理の特徴を含む評価をサーバー１５１から検索し、ユーザーにその評価を表示する。上記したように、サーバー１５１から評価情報を要求する機器には、アプリケーションに対するアプリケーションデータを含ませることができる。ユーザーが使用中の特定の機器に対する評価を、評価を検索するときに機器が機器データを送信することにより、あるいは以前送信した機器データに評価リクエストを関連付けた認証データを送信することにより、カスタマイズすることができる。例えば、評価により、アプリケーションがユーザーの電話器モデルのバッテリー寿命を５％あるいは１時間低下させることを示すことができる。一方、異なるバッテリー寿命特性を持つ他の電話器モデルは、同じアプリケーションが電話器のバッテリー寿命を１０％あるいは３時間低下させるという評価を受けるであろう。評価の表示は、オンデバイスアプリケーションマーケットプレースの一部として、あるいはユーザーインターフェースダイアログとして、アプリケーションのインストール前、インストール中、あるいはインストール後に行われる。
【０４２１】
さらに、ユーザーが多くのアプリケーションをインストールしたあと、機器のアプリケーションの実挙動に基づいて、どのアプリケーションが最もネットワーク処理あるいはバッテリー寿命に寄与しているかをユーザーが理解することが好ましい。実施例では、機器がアプリケーションのバッテリー及びネットワーク処理の挙動データを収集し、これによりユーザーは機器のインターフェースから実挙動データを閲覧できる。例えば、インターフェースにより、ユーザーは特定のアプリケーションのバッテリー及びネットワーク処理を閲覧できるとともに、ユーザーはどのアプリケーションがネットワークオーバーエイジあるいはバッテリー寿命の短縮に寄与しているかを認証するために、アプリケーションを用いたトップネットワークとバッテリーを閲覧できる。実施例では、モバイル通信機器１０１は、機器にインストールしたアプリケーションに対する挙動データをサーバー１５１に報告し、これによりユーザーはサーバーが生成したウェブインターフェースを介して実際の挙動データを閲覧できる。当業者なら、モバイルアプリケーションのほかの特徴も同様に監視でき、ユーザーに示すことができることを認めるであろう。
【０４２２】
バッテリー寿命、ネットワーク処理、あるいはほかの限られた資源に関する重大な問題を単一のアプリケーションが引き起こすことがあるので、アプリケーションが不適当な挙動をとるとき、ユーザーに通知することが望まれる。実施例では、モバイル通信機器１０１は、機器にインストールしたアプリケーションのネットワーク及びバッテリー処理を監視し、アプリケーションが望ましいリミットを越えたときに機器のユーザーに通知する。例えば、ユーザーは、通知される前に、データアプリケーションがどのくらい送信、受信可能かその閾値を設定できる。ほかの実施例では、アプリケーションがユーザーのバッテリー寿命あるいは電話料金に悪影響を及ぼすと機器が決定したときユーザーに通知される。充電前、ユーザーは電話器を２０時間標準的に使用するものとし、機器のアプリケーションが予想バッテリー寿命を２０時間より低下させる場合、ユーザーがバッテリーを切らすことはありうることである。そして、バッテリーが切れるのを回避する行動を取るように警告することが重要である。すなわち、そのアプリケーションをアンインストールする。さもないとハイバッテリーでアプリケーションを使用できなくなる。
【０４２３】
実施例では、ユーザーの機器のアプリケーションがユーザーのデータプランを超えるのを防止するために、機器１０１あるいはサーバー１５１が機器の今後のデータ処理を予測し、また機器のデータプランに関する情報を収集する。機器のデータプランに関する情報を収集するために、機器１０１あるいはサーバー１５１はネットワークオペレータサーバーに接続し、ビリングサイクルごとのデータ割り当て、ビリングサイクルは何か、そして現在のビリングサイクル間に使用されたデータはどのくらいかというようなデータプラン情報を決定する。ネットワークオペレータサーバーへの通信は、HTTP APIあるいはSMSメッセージなどのような各種の方法を取ることができる。機器のソフトウェアが、ユーザーのデータプラン情報を検索するためにSMSメッセージを使用する場合、ソフトウェアは、通信がユーザーのインボックスに表れることを防止するために、ネットワークオペレータサーバーから送られてきたレスポンスメッセージを自動的に消滅させることができる。今後のデータ処理を予測するために、サーバー１５１は、機器にインストールしたアプリケーションの標準的なデータ処理及び機器の実データ処理を分析することができる。アプリケーションが新しくインストールされる場合、標準的なデータ処理を用いることができる。一方、数ヶ月の間機器にあったアプリケーションには、実データ処理を用いることができる。機器１０１のアプリケーションが、ビリングサイクルのエンドまでに機器のデータプラン割り当てを超えるレートでネットワークデータを使用する場合、機器のソフトウェアは同様のオーバーエイジ負担を示す警告を表示する。警告は、データ処理に最も貢献するアプリケーションも表示でき、これによりユーザーがそのアプリケーションをアンインストールあるいは再構成できる。機器１０１は、データオーバーエイジに対する潜在能力を示す通知書（例えば、Eメールを介して）も送るサーバー１５１に警告をレポートできる。機器１０１あるいはサーバー１５１のソフトウェアは、それによりユーザーが彼らのアプリケーション処理パターンを調整できるようにするために、機器のデータ割り当てに関する現在の予想データ処理の指標を表示できる。例えば、ユーザーがデータプランを超えてしまうことを心配する場合、ビデオチャットに入る前に現在の予想データ処理がどんなものかをチェックできる。
【０４２４】
機器にインストールしたアプリケーションは機器のリスク表出に対して大きなインパクトを与えるため、ユーザーあるいは管理者が、機器あるいは機器グループにどんなアプリケーションをインストールするのが好適であるかポリシーを持つことが望まれる。以下では、１つ以上のモバイル通信機器に対して保護ポリシーをどのように実行できるかを説明する。実施例では、ポリシーはブラックリストとホワイトリストを含む。ブラックリストは、モバイル通信機器で走ることを明確に拒絶されたアプリケーションあるいは評価基準のセットであり、ホワイトリストは、モバイル通信機器で走ることを明確に許可されたアプリケーションあるいは評価基準のセットである。例えば、ポリシーはホワイトリストのアプリケーションだけあるいはブラックリストにないアプリケーションだけを許可する。実施例では、明確なアプリケーションエントリーは評価基準エントリーより高い優先度を持っている。例えば、ポリシーは、ブラックリストに載ってはいるもののホワイトリストに載っている特定のアプリケーションを特化する特定の機能（例えば、機器のロケーションをインターネットに送ること）を特化できる。この場合は、ロケーションをインターネットに送るすべてのアプリケーションは、ホワイトリストに明確に存在するアプリケーションはブラックリストに存在する評価基準よりはるかに高い優先度を持っているので、それらが明確にホワイトリストに存在しないならばブロックされる。当業者なら、本発明を逸脱しない範囲で各種のポリシースキームを実施できることを認めるであろう。
【０４２５】
ユーザーは機器に彼らの求めるアプリケーションタイプに対する個人的好みを持っている。例えば、あるユーザーはプライバシー問題に敏感であり、一方、ほかのユーザーはバッテリー寿命を最適化したいであろう。ユーザーがアプリケーション評価を利用して、彼らが使用するあるいは使用したいと考えているアプリケーションをより深く洞察するために、本発明の実施例は、モバイル通信機器のソフトウェアに向けたものであり、ユーザーはアプリケーション、不適当な閾値を超えるソフトウェアブロッキングアプリケーションに対する評価基準に基づきポリシーを設定することができる。  ユーザーがアプリケーションのインストールを試みると、ソフトウェアはサーバー１５１から評価をリクエストし、サーバーから評価を受け取る。
【０４２６】
例えば、ユーザーが、ロケーション情報をインターネットに送る機能を持つとともに彼らのロケーションをインターネットに送ることが可能ないかなるアプリケーションも許可しないというポリシーを持ったアプリケーションのインストールを試みると、モバイル通信機器のソフトウェアはインストールをブロックする。ほかの例では、ユーザーは、プライバシー、セキュリティ、及びバッテリー寿命のポリシー閾値を相対的な段階（例えば、０から１０）で設定できる。ユーザーがアプリケーションをインストールすると、機器のソフトウェアはアプリケーションに対する評価を検索し、アプリケーションのプライバシー、セキュリティ、及びバッテリーレーティングをポリシー閾値と比較し、そしてアプリケーションが構築したポリシーを超えると警告する。不適当なアプリケーションのインストールをブロックする代わりに、ユーザーは単に不適当であるという注意を希望することができる。
【０４２７】
実施例では、ユーザーは警告を無視してともかくアプリケーションを受け入れることができる。実施例では、機器は、このアプリケーションはユーザーに不適当であることを示すユーザーインターフェースを表示する。例えば、モバイル機器は、アプリケーションマーケットプレースにおいてダウンロードが可能か検索しているアプリケーションがユーザーの適格基準と合致するかどうかという指示を表示できる。ほかの例では、機器のソフトウェアにより、ユーザーは適格基準に合致しないすべてのアプリケーションを閲覧することができる。そのようなソフトウェアは、ユーザーが彼らの基準を変更し、新しい基準のもとで現在不適当なアプリケーションを閲覧したい場合に有用である。
【０４２８】
多数のモバイル通信機器に責任あるIT管理者、親、ネットワーク、オペレーターあるいはほかの人たちは、すべての機器に実際にアクセスせずにモバイル通信機器に対してポリシーを設定することができる。実施例では、サーバー１５１により、ユーザーあるいは管理者は機器あるいは機器のグループに対するポリシーを設定することができる。機器１０１がアプリケーションのインストールを試みるとき、機器はサーバー１５１にアプリケーションに対する評価リクエストを送る。サーバー１５１で構築したポリシーに基づき、評価は、アプリケーションが許可されるものかあるいは許可されないものかという指示を含んでおり、またなぜ不許可のアプリケーションは不許可であると評価されたのかについてのポリシー基準を含ませることができる。実施例では、サーバー１５１のポリシーはウェブインターフェースを介して構築できる。
【０４２９】
実施例では、サーバー１５１により、ポリシーは評価基準とともにアプリケーションに基づいて構築できる。例えば、管理者はサーバー１５１を用いて、機器からファイルあるいはほかの要注意データを送信する機能のようなすべてのアプリケーションをブロックできる。実施例では、管理者は、ホワイトリストを作成し、ホワイトリストに載っていないすべてのアプリケーションをブロックすることにより特別のアプリケーションだけを許可することができる。ほかの実施例では、管理者は、不適当であるとブラックリストに載った特別のアプリケーションをのぞくすべてのアプリケーションを許可できる。ポリシーのもと許可されあるいは拒絶されたアプリケーションセットは事前に算定できるので、本発明の実施例は、ポリシー定義セットを生成し、このポリシー定義を１つ以上のモバイル通信機器１０１に送信するサーバー１５１に向けられる。例えば、機器グループがホワイトリストにあるアプリケーションだけを許可するポリシーを持つ場合、サーバー１５１は、アプリケーションに出会うたびその評価を求めて機器がサーバーに接触する必要がないように、ホワイトリストに載せられたアプリケーションに対する認定情報リストをモバイル機器に送信することができる。
【０４３０】
アプリケーションカテゴリ化及び機能のようなアブストラクトコンセプトを用いてポリシーを構築するとき、構築の変更がなされる場合に、ユーザーあるいは管理者が、どんなアプリケーションが許可され／拒絶されるのかあるいは特別のアプリケーションが許可され／拒絶されのか調べることが望ましい。実施例では、モバイル通信機器１０１のポリシー構築ユーザーインターフェースあるいはサーバー１５１は、構築変更の一部としてブロックされあるいは許可されるアプリケーションを閲覧するインターフェースを含む。構築インターフェースがモバイル通信機器に表示される場合、インターフェースを配置するために、機器はサーバー１５１にデータリクエストを送信できる。構築変更により許可されブロックされたアプリケーションに効果があったかあるいは現在の構築と新しい構築の間で小さな差異しかでなかったとしてもその後、許可されブロックされたすべてのアプリケーションを表示することが望ましい。構築変更により影響を受けるアプリケーションの数は非常に大きいので、インターフェースは要約情報を表示し、ユーザーが特別のアプリケーションを探して構築変更がそのアプリケーションに影響があるか、また構築変更がアプリケーションの許可あるいは拒絶をもたらす結果となるかを決定することができる。実施例では、構築変更の効果を指示するインターフェースが、評判のアプリケーションのうちどれをブロックすべきか表示する。例えば、アプリケーションの人気度は、全分配データに基づいてサーバー１５１により、あるいは管理中の機器グループのアプリケーションの普及率により決定することができる。実施例では、変更結果インターフェースは、管理中の少なくとも１つの機器に現在インストールしているアプリケーションに影響を及ぼす変更だけを表示する。
【０４３１】
モバイル通信機器の受け入れ可能な処理とポリシーシステムが抵触するのを防止するために、本発明の実施例は、受け入れ可能なアプリセットを維持し、またユーザーあるいはIT管理者がそれらのセットを容易にホワイトリストに付け加えることができるようにするサーバー１５１に向けたものである。ホワイトリストは受け入れ可能アプリの変更を自動的に含む。例えば、サーバー１５１は、全般的に人気あるアプリケーションリストすなわちアプリケーションカテゴリにより人気あるアプリケーションリストを維持する。ポリシー構築インターフェースでは、ポリシーホワイトリストにおいて、サーバーはすべての人気あるアプリケーションあるいは特別のカテゴリ（例えば、ゲーム、ソーシャルネットワーク）で人気あるアプリケーションを含む方法を提示できる。実施例では、そのようなダイナミックなリストポリシーは、ブラックリストおよびホワイトリストの評価基準より高い優先度を持ち、一方明確なアプリケーションエントリーより低い優先度を持っている。ほかの実施例では、サーバー１５１は、高い信頼性でアプリケーションリストを維持できる。ポリシー構築インターフェースでは、サーバーはポリシーホワイトリストにあるすべての高い信頼度のアプリケーションを含ませる方法を提示できる。高い信頼度リストがアップデートされるたび、高い信頼度のアプリケーションは、ポリシー評価を行うときに実際上ホワイトリストに組み入れられる。
【０４３２】
モバイル機器にはすでに機器管理サーバーあるいはサービスが配置されているので、サーバーが、ポリシー施行を実際に行う機器管理サーバーにデータを提供できることが望ましい。実施例では、機器管理サーバーのアプリケーションポリシーを構築するためにサーバー１５１は機器管理サーバーと連結する。例えば、機器管理サーバーは、構築可能なアプリケーションブラックリストおよびホワイトリストをサポートする。ユーザーが、ホワイトリストにあるあるいは特定の評価基準に合致するアプリケーションだけを許可する構築をサーバー１５１に行うと、サーバー１５１はホワイトリストに組み入れるアプリケーションリストを生成し、機器管理サーバーがサポートするフォーマットであるいはプロトコルを介して機器管理サーバーにアプリケーションリストを送信する。同様に、ユーザーがサーバー１５１にブラックリストを構築する場合、サーバーは、ブラックリストにあるアプリケーションリストを生成し、ブラックリストを施行するために機器管理サーバーを構築する。実施例では、サーバーは多数の機器管理サーバーを構築することが可能である。例えば、機構が多数のモバイル機器オペレーティングシステムをサポートし、異なるモバイル機器管理サーバーを使用する場合、管理者はサーバー１５１にクロスプラットフォームポリシーを構築できる（例えば、すべてのシェアリングアプリケーションをブロックする）。次にサーバー１５１は、評価がポリシーに合致する多数のプラットフォーム間のすべてのアプリケーションを認証でき、機器管理サーバーの適当なアプリケーションポリシーを構築できる。各機器管理サーバーは、サーバー１５１がサポートするモバイル機器プラットフォームのサブセットだけをサポートできるので、サーバー１５１は機器管理サーバーに、機器管理サーバーでサポートされるオペレーティングシステムで走るデータオブジェクトに対応するポリシー情報のみを送信する。例えば、機器管理サーバーがブラックベリーのみをサポートする場合、サーバー１５１は、ブラックベリーアプリケーションに関する情報を持つ機器管理サーバーのブラックリストおよび／またはホワイトリストのみを構築できる。
【０４３３】
実施例では、ポリシーコンプライアンスチェックは、サーバー１５１あるいはモバイル通信機器１０１により実行できる。例えば、サーバーがコンプライアンスチェックを実行する場合、モバイル通信機器１０１で実行されるどの構成もサーバーに送信される構成になるように、どのコンプライアンス設定もサーバーに格納される。機器がサーバー１５１からアプリケーションに対する評価を要求すると、サーバーは評価にそのアプリケーションがポリシーにより許可されているか拒絶されているかの指示を含む。ほかの実施例では、モバイル通信機器１０１がコンプライアンスチェックを実行する場合、サーバー１５１で実行されるどの構成も機器に送信される構成になるように、どのコンプライアンス設定もモバイル通信機器１０１に格納される。機器がアプリケーションに対する評価を受信するとき、機器は評価とポリシー構成を比較してそのアプリケーションが許可されるか決定する。
【０４３４】
実施例では、サーバー１５１により提供されたアプリケーションに対する署名と評価により、機器１０１がポリシーに違反するデータオブジェクトをブロックできるように、ポリシー管理はサーバーと連結したアンチマルウェアシステムと統合される。例えば、機器１０１がサーバー１５１から評価を要求すると、サーバーの評価は、アプリケーションが悪意を持っているとみなされた場合あるいはアプリケーションがポリシーに違反する場合、そのアプリケーションは不適当であると指示する。どの場合も、作り出された評価は、そのアプリケーションがなぜ悪意を持つのかあるいはポリシー違反なのかに関するさらなる情報を指示できる。ほかの例では、サーバー１５１に接触することなしにデータオブジェクトが適当であるのかあるいは不適当であるのか機器が認識できるように、サーバー１５１はモバイル通信機器１０１に悪意あるあるいはポリシー違反しているアプリケーションに対する署名を事前に早めて署名を送信できる。
【０４３５】
機器１０１が、機器あるいはサーバー１５１のどれかに保護ポリシーに違反するアプリケーションをインストールした場合、あるいはアプリケーションに対する評価がアップデートされてそのアプリケーションが保護ポリシーに違反する場合、機器あるいはほかのシステムにより改定作業を起こすことが望ましい。実施例では、機器にインストールしたアプリケーションがその機器の保護ポリシーに違反する場合、機器のサーバーあるいはソフトウェアは改定作業を引き起こす。ポリシーコンプライアンスが機器１０１あるいはサーバー１５１のどちらで決定されるかに依拠して、機器あるいはサーバーがどのような改定行動を取るべきか決定できる。
【０４３６】
例えば、ユーザーがアプリケーションをインストールし、サーバー１５１から受信した評価が、今後ある点でサーバーがそのアプリケーションは受け入れ可能だがそのアプリケーションは受け入れ不可能であると決定すると指示する場合、サーバー１５１は、機器のために取る改定作業を含む機器にアップデートした評価を送信する。ほかの実施例では、ユーザーが機器にアプリケーションをインストールし、機器が、そのアプリケーションは受け入れ可能だが、機器のソフトウェアがアプリケーションがポリシーに違反する（例えば、アプリケーションがユーザーのロケーションを獲得しようとする）ことを示す挙動データを収集したという評価をサーバー１５１から受信した場合、機器はアプリケーションを削除するような事前構築した改定作業を行うことができる。機器はまたサーバー１５１にこの挙動を送信するとともにポリシー違反を指示する。当業者なら、ポリシーを施行する挙動データを用いることで、アプリケーションの脆弱性が襲われたとき、アプリケーションが機器のサブセットで不適当なふるまいだけをする（例えば、特定の会社の従業員に対する目標を定めた攻撃）場合、あるいはアプリケーションがある時間後に不適当なふるまいをする（例えば、時限爆弾）場合のようなさまざまな状況においてモバイル通信機器を保護できることを認めるであろう。
【０４３７】
機器がポリシーに違反していると検出されたとき、各種の改定作業が可能である。例えば、どのような違反するアプリケーションでもその処理を終わりにすることができ、アクセスする特定のネットワーク機能（例えば、インターネット、プライベートデータ）からアンインストールあるいは分離することができ、あるいは特定のネットワーク（例えば、Wi-Fiだけにアクセス可能、携帯電話ネットワークでない）にアクセスすることを制限することができる。情報漏洩を防ぐことはコンプライアンスを逸脱するが、企業のEメールあるいはVPNサーバーのような重大な資源にアクセスすることから全体の機器を分離することも望ましい。ほかの改定作業として、２００８年１０月２１日に提出された米国特許出願番号１２／２５５，６１４に記載されたものを含めることができる。
【０４３８】
管理者がサーバー１５１を用いてポリシーを設定できる場合、ユーザーが、サーバー１５１を使用して、ポリシーが適用される機器のコンプライアンス状態を閲覧できるようにするのが望ましい。実施例では、サーバー１５１は、モバイル通信機器のグループがアプリケーションポリシーに従っているかどうかおよびグループの機器にどのアプリケーションがインストールされているか決定する。例えば、モバイル通信機器がインストールしたアプリケーションを報告し、またサーバー１５１がポリシー構成を含む場合、サーバーはどの機器が現在管理者により設定されたポリシーに違反しているか決定できる。管理者がコンプライアンス状態を閲覧できるように、サーバー１５１は、どれかの機器がコンプライアンスを逸脱した場合、すべての機器は追従するのか否か、どのくらいあるのかということをリストしたウェブインターフェースを生成することができる。インターフェースにより、管理者はコンプライアンスを逸脱した特別の機器を閲覧することができ、どのアプリケーションにより機器のコンプライアンスが逸脱するのか閲覧することができ、さらに遠隔で改定作業（例えば、アプリケーションの削除）を始めることができる。
【０４３９】
実施例では、サーバー１５１は、管理者がシングルボタンをクリックして、管理者が管理するグループのすべての機器の改定作業を遠隔で始めるワンクリック改定作業を提示する。例えば、管理者が１００個の機器を管理しており、そのうちの１０個がポリシーに違反するアプリケーションを持っている場合、管理者はウェブインターフェースのワンクリック改定作業ボタンをクリックして、各コンプライアンスを逸脱した機器に指示を送り、ユーザーの介入を要求することなく不適当なアプリケーションを削除することができる。一旦改定作業が完了すると、各機器１０１はサーバー１５１にそれが成功したか否かを示す指示を送ることができる。改定作業の間、サーバー１５１はインターフェースを生成することができ、これにより管理者は改定の状態を閲覧できる。サーバーがコンプライアンス状態を表示するほかの方法には、サーバー１５１がAPI（例えば、セキュリティ管理コンソールによる利用）を表示する方法およびサーバー１５１がダウンロード可能な報告を生成する方法を含む。
【０４４０】
ある実施例では、不適当とみなすアプリケーションをインストールした場合あるいはアップデートした評価に基づき以前インストールしたアプリケーションを今は不適当とみなす場合、ユーザーあるいは管理者が通知書を受信できることが望ましい。実施例では、モバイル通信機器１０１は、サーバー１５１にデータオブジェクトのインストールに関する情報を送信する。サーバー１５１が、全面的に不適な特徴あるいはユーザーに対する特徴に基づきデータオブジェクトは不適当であると決定した場合、サーバーは通知書を送信する。例えば、ユーザーが、アプリケーションは今の時点では適当であるが、将来のある時点でそのアプリケーションが、バッテリー浪費のような悪意あるいはほかの不適当な挙動を示しだすと評価したアプリケーションをインストールする場合、サーバーは評価を変えて、そのアプリケーションは不適当であると指示することができる。通知書は、ウェブページ上、PC上、あるいはモバイル通信機器上のEメール、SMSメッセージ、あるいはユーザーインターフェースダイアログのようなさまざまの形を取ることができる。
【０４４１】
複数のモバイル通信機器を管理するIT管理者のために、そのアプリケーションが多数のプラットフォームで利用可能であり、また多数のバージョンを持っていたとしても、特別のアプリケーションに対してポリシーを設定することができる。例えば、IT管理者にとって、異なるオペレーティングシステムを走らせているモバイル通信機器の集団を管理することは珍しいことではない。モバイル通信機器の集団には、アイフォーン、ブラックベリーデバイスおよびアンドロイドデバイスを含めることができる。しかしながら、アプリケーションが１つのプラットフォームに重大な情報をシェアできるがほかにはシェアできない場合、IT管理者はアプリケーションのインストールが重大な情報をシェアしないプラットフォームだけに許可することができる。上記したように、IT管理者が、アプリケーションの多数のバージョンを個別の決定として取り扱うポリシーを維持する代わりに、すぐにアプリケーションのすべてのバージョンに関するポリシー決定できるようにすることが望ましい。非常に頻繁にアップデートされるアプリケーションがあるので、管理者が特別のアプリケーションのすべてのバージョンを１つのポリシー決定として処置できない場合、アプリケーションポリシーを管理することは非常に困難なタスクに急激になっている。
【０４４２】
アプリケーションはアップデート間で徹底的に変化することがあるため、管理者として、そのアプリケーションを許可するか否かの管理者の決定に影響を及ぼすことができるどんな変化にも気づくことが望ましい。本発明の実施例は、ブラックリストあるいはホワイトリストに機能あるいは特徴を多大に変化させるアプリケーションがある場合に通知書を送るサーバー１５１に向けられている。例えば、管理者のホワイトリストにあるアプリケーションの新バージョンはユーザー機器からファイルを送信する機能を持つが以前のバージョンはそうではない場合、サーバー１５１は管理者に変化を指示するEメールあるいはテキストメッセージを送ることができる。サーバー１５１のポリシー管理インターフェースもまた、変化した特徴に基づき注意を必要とするアプリケーションリストを表示できる。
【０４４３】
構成を簡単にするために、本発明の実施例は、モバイル通信機器１０１のソフトウェアあるいはコモンユースケースを説明するデフォルトポリシーを提供可能なサーバー１５１に向けられている。例えば、ユーザーは、バッテリー寿命およびロケーションプライバシーに関係するがネットワーク処理と電話番号プライバシーには関係しないことを選択できる。そのような関係を選択することにより、機器あるいはサーバーは、不適当なアプリケーションに対して自動的にポリシーと閾値を構築する。実施例では、サーバー１５１あるいは機器１０１は、規則に関するコンプライアンスの事前設定ポリシーを含む。例えば、金融業界あるいはヘルスケア業界のワーカーは、重大な情報の開示を防止するために、アプリケーションポリシーの特別なセットを持つことが要求される。これらの規則のもと許可されるあるいは拒絶されるアプリケーションのセットは時間につれ変化するかもしれないので、サーバー１５１は、管理者が特別にそれらを構築する必要なしにその規則を実行する特別なポリシー決断を自動的にアップデートできる。検査および監査を許可するために、サーバー１５１は、規則に従うように用いられたポリシー決断のリストを生成でき、ポリシー決断が変化したとき管理者に通知することができる。管理者が特定のポリシー決断を拒絶する場合、彼らはサーバー１５１により設定されたデフォルトポリシーを無効にする。
【０４４４】
ポリシー構築処理を簡単にするのが望ましいので、本発明の実施例は、ユーザーあるいは管理者に続いて質問を提示するサーバー１５１あるいはモバイル通信機器１０１に向けられており、質問に対する回答は自動的にポリシーを設定するように使用される。例えば、ユーザーがまず彼らの機器のアプリケーションポリシーソフトウェアを立ち上げると、ソフトウェアは、ユーザーは制限のないデータプランを持っているのかどうか、ユーザーは機器のロケーションにアクセスするサービスを希望しているのかどうか、そしてユーザーが、機器をスパイするために使用可能なすべてのツールをブロックしたいのかどうかを問いただすことができる。質問に対する回答に基づき、機器は、高度なデータ処理アプリケーションをブロックすべきか否か、高度なデータ処理アプリケーションの場合ユーザーに警告すべきか否か、インターネットにユーザーロケーションを送るアプリケーションをブロックすべきか否か、そしてスパイ行為アプリケーションをブロックすべきか否かのポリシーを設定することができる。最初にセットアップしたのち、ユーザーはポリシー決定を微調整することができるが、一方、ほかのユーザーは自動的に構築したポリシーを受信することができる。
【０４４５】
不正なアプリケーションはワイヤレスネットワークに実質的にネガティブなインパプトを与えるので、本発明の実施例は、潜在的に不正なアプリケーションに関する「早期警告」情報を提供することに向けられている。実施例では、サーバー１５１は、アプリケーションがモバイルネットワークに対して有害になるかもしれないネットワークアクセス特性を持っているか否かという評価を作り出すために、挙動データ及びそれを利用可能なほかのデータのような情報を使用することができる。例えば、多量のデータを受信し送信するアプリケーション、多数のSMSメッセージを送るアプリケーション、あるいは多数のしつこい接続を開くアプリケーションは、モバイルネットワーク性能に悪影響を及ぼす可能性がある。アプリケーションを評価してそれが潜在的にモバイルネットワークに有害になるか決定したのち、サーバー１５１はその評価を格納する。実施例では、サーバー１５１は、潜在的に有害なアプリケーションが認められたとき管理者に通知する。例えば、通知書はEメールあるいは潜在的に有害なデータオブジェクトに関する情報を含むテキストメッセージの形にすることができる。
【０４４６】
実施例では、サーバー１５１は、モバイルネットワークに潜在的に有害であると評価されたアプリケーションを表示するウェブインターフェースを生成する。ウェブインターフェースは、潜在的に有害なアプリケーションが管理者によってさらに分析できるように、レビューワークフローをサポートするためにデザイン可能である。アプリケーションを調べたのち、管理者はいくつかのケースで改定作業を行いたいかもしれないが、ほかのケースでは、監視者は作業を行いたくないかもしれない。管理者が作業を行わない場合、サーバー１５１をトリガーして再レビューのためにアプリケーションを確認し、アプリケーションの挙動に大きな変化がないならば、そのアプリケーションは潜在的に有害と見なされない。所定のアプリケーションのための多数のデータオブジェクトが潜在的に有害だと繰り返し確認されるのを防止するために、管理者がアプリケーションを無視することを選択した場合、そのアプリケーションのすべてのバージョンも無視される。それはサーバー１５１が多くのデータオブジェクトが同一のアプリケーションに属しているのかあるいはほかのグループなのかを決定できるためである。
【０４４７】
管理者が潜在的に有害なアプリケーションに気づいた場合、そのアプリケーションをさらにほかの機器にインストールすべきかという重大な問題を回避するため、彼らは予防の方法を取ることができる。実施例では、サーバー１５１は、管理者に有害であるとみなされたアプリケーションに対して改定作業を行うことを許可するウェッブインターフェースを生成する。さまざまな改定作業が可能である。例えば、サーバー１５１は、ネットワーク管理者にアプリケーションの発行人と通信し、有害な挙動に対してずっと解決していくことを許可するインターフェースを提示できる。サーバー１５１はマーケットプレースから発行人のEメールアドレスを抽出し、ネットワーク管理者に、サーバーのウェブのインターフェースを介して、サーバーが発行人に送るメッセージのタイプを打たせることを許可することができる。サーバー１５１がEメールを送る場合、発行人が回答するとき、サーバーは回答と最初のメッセージを関連付け、その回答をウェブインターフェースに公開して管理者が閲覧でき潜在的に会話を継続できるようにするために、出て行くEメールのアドレスに対する回答は特別に設定される。実施例では、サーバー１５１は、ウェブインターフェースを生成して、管理者に機器グループにインストールしたセキュリティソフトウェアを構築することを許可する。例えば、管理者は、アプリケーションが携帯電話ネットワークを介して通信できないようにするために、セキュリティソフトウェアを構築して潜在的に有害なアプリケーションをブロックすることができあるいはアプリケーションを分離することができる。管理者がアプリケーションをブロックしたい場合、サーバー１５１は、ここで開示したようなさまざまなメカニズムを使用して、アプリケーションが機器にインストールされることをブロックする、あるいはすでに機器にインストールされていた場合そのアプリケーションを削除することができる。サーバー１５１は同一のアプリケーションに対応する多くのデータオブジェクトを確認できるので、管理者がアプリケーションをブロックすると、そのアプリケーションに対するすべてのデータオブジェクトはブロックすべきであるとみなされる。潜在的に有害だったアプリケーションが次のバージョンで修繕される場合、サーバー１５１は、管理者がブロックするためのアプリケーションのバージョン範囲を特定することを許可する。
【０４４８】
不適当なアプリケーションのダウンロードを防止するのは好ましいことであるので、本発明の実施例は、ネットワークインフラストラクチャ構築データを生成するサーバー１５１に向けられたものである。例えば、サーバー１５１はブラックリスト化されたデータオブジェクトを格納でき、また侵入阻止システムあるいはHTTP委任ルールセットを生成することができる。このルールにより、ネットワークを通じてデータオブジェクトが送信されてきたときに、アプリケーションマーケットプレースからこのデータオブジェクトをダウンロードするために、モバイル機器で使用される識別子と合致するか試すことができ、あるいは不適当なデータオブジェクトのコンテンツの身元確認をすることができる。
【０４４９】
実施例では、サーバー１５１はネットワークインフラストラクチャ構築データを生成し、不適当なアプリケーションに関連付けられたネットワークトラフィックをブロックしている。サーバー１５１は、不適当なアプリケーションに対する挙動データを用いてサーバー１５１により不適当なアプリケーションと関連付けたネットワーク通信を防止するネットワークインフラストラクチャ構築ルールを生成し、これにより、そのアプリケーションおよび同一のネットワークトラフィック（例えば、同一のIPアドレスに対するトラフィック、サブネット、あるいはホストネーム）をブロックする生成ルールとを関連付けたネットワーク通信を特徴付ける。正当なトラフィックがブロックされることを防止するために、サーバー１５１は不適当なアプリケーションネットワークトラフィックが適当なアプリケーションと比較してどのように独特なのかを分析することができ、その不適当なアプリケーション独特のネットワークトラフィックのみをブロックすることができる。例えば、アプリケーションが２つのサーバー、すなわち１つが各種の正当なアプリケーションで使用される周知のサーバーであり他方がこのアプリケーションのみで通信する未知のサーバーの２つと通信する場合、サーバー１５１は、未知のサーバーを不適当なアプリケーション独特のもとして処理する。
【０４５０】
ブロックするのに適切なネットワークトラフィックを決定したのち、サーバー１５１は、ファイアウォールあるいはほかのネットワーク構築ルールを生成して、不適当なアプリケーションのネットワークトラフィックをブロックする。例えば、悪意あるアプリケーションが人々の電話器から重大なデータをこっそり抜き出すために独特のサーバーを使用している場合、アプリケーションに対する挙動データは、重大なデータを送信するために用いられるIPアドレス、ポート、およびプロトコルを指示することができる。管理者が、データを盗むための悪意あるアプリケーション機能をブロックしたいとき、彼らは、そのアプリケーションがサーバーと通信するサーバーリストを参照でき、サーバー１５１には未知のほかのアプリケーションのどくらいが一般的にサーバーと通信しているか参照できる。次に管理者はブロックするためにどのサーバーにするか選択できる。ブロックするためのサーバーを選択したのち、サーバー１５１はネットワークトラフィックをブロックするルールを生成する。実施例では、サーバー１５１は、ウェブインターフェースを介してダウンロードに利用できる、SnortR侵入検知・防止システムルール、のような構築データを作成する。実施例では、サーバー１５１は直接ネットワークインフラストラクチャ管理システムに接続するように構成されており、これにより構築データが実行される。
【０４５１】
管理者が最初に特別のネットワークに関連付けできるようにするため、本発明の実施例は、潜在的に有害なアプリケーションを確認するために統合した評価およびオペレーター特有の評価の両方を作り出し、またその両方を含むユーザーインターフェースを生成するサーバー１５１に向けられている。例えば、アプリケーションがモバイルネットワークの特別なタイプに接続された機器で走るときだけ不適当な振舞いをする場合、統合挙動データは正常な範囲とみなせる。しかしながら、特別のネットワークに対する挙動データは有害であるかもしれない。ネットワーク管理者は、彼らが管理しているネットワークのタイプのアプリケーションの挙動を閲覧したいであろう。個々のモバイルネットワークは、不正なものとして異なる挙動を取るので、サーバー１５１のユーザーはネットワークに有害なアプリケーションを考慮するための基準を構築できる。
【０４５２】
上記及び全体を通じた説明において、本発明の包括的な理解を供するために、たくさんの特別に詳細な説明を行った。しかし、当業者なら、これらの特別詳細な説明なしでも本発明が実施できることは認めるであろう。ほかの例の場合、説明を容易にするために周知の構成および機器がブロックダイヤグラムフォームで示してある。好適な実施例による説明はここに添付したクレームの範囲を制限するものではない。さらに、ここで開示した方法の場合、本発明の機能のいくつかを説明する各種ステップが開示されている。当業者なら、これらのステップは単に模範的なものであり、いかようにも制限されるものではないことを認めるだろう。ほかのステップ及び機能は本発明から逸脱しない限り想定可能である。
【図１】
0006019484.tif 000002
【図２】
0006019484.tif 000003
【図３】
0006019484.tif 000004
【図４】
0006019484.tif 000005
【図５】
0006019484.tif 000006
【図６】
0006019484.tif 000007
【図７】
0006019484.tif 000008
【図８】
0006019484.tif 000009
【図９】
0006019484.tif 000010
【図１０】
0006019484.tif 000011
【図１１】
0006019484.tif 000012
【図１２】
0006019484.tif 000013