(57)【要約】  情報処理端末（４０）であって、ネットワーク制御部（２５０）と、インストール制御部（２６０）と、アプリケーションの起動及び連携処理を行うプロセス制御部（２００）と、アプリケーションの起動または連携処理が要求された場合に、アプリケーション間の呼出関係の履歴情報である呼出履歴マップ（２８１）を、要求された起動または連携処理が行われた場合での呼出履歴マップに更新する呼出履歴マップ更新部（２９０）と、呼出履歴マップ（２８１）とアプリケーションのアクセス権限情報を含むアプリ権限リスト（２７１）とから得られる情報を用いて、秘密情報に対するアプリケーション間の不正な連携処理の有無を判断し、不正な連携処理が有ると判断した場合には、秘密情報に対するアプリケーション間の不正な連携処理に応じたアプリケーションの実行制御方法に従って、アプリケーションの実行を制御するアプリ不正連携制御部（２２０）とを備える。
2012046406.tif 000002
【特許請求の範囲】
【請求項１】
外部の通信ネットワークとの接続を行うネットワーク制御部と、
アプリケーションのインストールを行うインストール制御部と、
前記アプリケーションの起動及び前記アプリケーション間の連携処理を行うプロセス制御部と、
前記アプリケーションの起動または前記アプリケーション間の連携処理が要求された場合に、前記アプリケーション間の呼出関係の履歴情報である呼出履歴マップを、要求された前記起動または前記連携処理が行われた場合での呼出履歴マップに更新する呼出履歴マップ更新部と、
前記呼出履歴マップと前記アプリケーションのアクセス権限情報を含むアプリ権限リストとから得られる情報を用いて、秘密として管理されている情報である秘密情報に対するアプリケーション間の不正な連携処理の有無を判断し、前記不正な連携処理が有ると判断した場合には、前記秘密情報に対するアプリケーション間の不正な連携処理に応じたアプリケーションの実行制御方法に従って、前記アプリケーションの実行を制御するアプリ不正連携制御部と
を備える情報処理装置。
【請求項２】
前記アプリ不正連携制御部は、個人情報または機密情報へのアクセス権利であるアクセス権限情報を含む前記アプリ権限リストから得られる情報を用いて、前記不正な連携処理の有無を判断する
請求項１記載の情報処理装置。
【請求項３】
前記アプリ不正連携制御部は、前記外部の通信ネットワークへのアクセス権利であるアクセス権限情報をさらに含む前記アプリ権限リストから得られる情報を用いて、前記不正な連携処理の有無を判断する
請求項２記載の情報処理装置。
【請求項４】
前記アプリ不正連携制御部は、前記外部の通信ネットワークを介して前記秘密情報を漏洩させるアプリケーション間の不正な連携処理の有無を判断し、当該不正な連携処理が有ると判断した場合には、当該不正な連携処理を防止することができるアプリケーションの実行制御方法を示すアプリ実行制御設定情報に基づき、前記アプリケーションの実行を制御する
請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記アプリ不正連携制御部は、前記不正な連携処理が有ると判断した場合には、要求されたアプリケーションの起動を行わないアプリケーションの実行制御方法を示すアプリ実行制御設定情報に基づき、当該アプリ実行制御設定情報で示されるアプリケーションの実行制御方法に従って、アプリケーションの起動を行わない
請求項４記載の情報処理装置。
【請求項６】
前記アプリ不正連携制御部は、前記不正な連携処理が有ると判断した場合には、前記外部の通信ネットワークとの接続を遮断するアプリケーションの実行制御方法を示すアプリ実行制御設定情報に基づき、当該アプリ実行制御設定情報で示されるアプリケーションの実行制御方法に従って、前記外部の通信ネットワークとの接続を遮断する
請求項４記載の情報処理装置。
【請求項７】
前記アプリ不正連携制御部は、前記不正な連携処理が有ると判断した場合には、前記不正な連携処理が無いと判断するまでアプリケーションを終了させるアプリケーションの実行制御方法を示すアプリ実行制御設定情報に基づき、当該アプリ実行制御設定情報で示されるアプリケーションの実行制御方法に従って、前記不正な連携処理が無いと判断するまで既に起動されているアプリケーションを終了する
請求項４記載の情報処理装置。
【請求項８】
前記アプリ不正連携制御部は、前記不正な連携処理が有ると判断した場合には、アプリケーションをアンインストールするアプリケーションの実行制御方法を示すアプリ実行制御設定情報に基づき、当該アプリ実行制御設定情報で示されるアプリケーションの実行制御方法に従って、要求されたアプリケーションをアンインストールする
請求項４記載の情報処理装置。
【請求項９】
前記アプリ不正連携制御部は、前記不正な連携処理が有ると判断した場合には、当該不正な連携処理が行われる危険性があることを示す情報をユーザに通知する
請求項１〜８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記呼出履歴マップ更新部は、さらに、更新後の前記呼出履歴マップと前記アプリ権限リストとを参照して、前記不正な連携処理が行われる可能性があるアプリケーションの起動状態を示すアプリ不正連携パターンを更新し、
前記アプリ不正連携制御部は、前記アプリ不正連携パターンを参照して、前記アプリケーション間の不正な連携処理の有無を判断する
請求項１〜９のいずれか１項に記載の情報処理装置。
【請求項１１】
さらに、
前記秘密情報を保持する秘密情報保持部と、
前記呼出履歴マップを保持する呼出履歴マップ保持部と、
前記アプリ権限リストを保持するアプリ権限リスト保持部と、
前記秘密情報に対するアプリケーション間の不正な連携処理に応じたアプリケーションの実行制御方法を示すアプリ実行制御設定情報を保持するアプリ実行制御設定情報保持部とを備え、
前記呼出履歴マップ更新部は、前記呼出履歴マップ保持部に保持されている前記呼出履歴マップを更新し、
前記アプリ不正連携制御部は、更新された前記呼出履歴マップと前記アプリ権限リスト保持部に保持されている前記アプリ権限リストとから得られる情報を用いて、前記秘密情報保持部に保持されている前記秘密情報に対するアプリケーション間の不正な連携処理の有無を判断し、前記不正な連携処理が有ると判断した場合には、前記アプリ実行制御設定情報保持部に保持されている前記アプリ実行制御設定情報で示されるアプリケーションの実行制御方法に従って、前記アプリケーションの実行を制御する
請求項１〜１０のいずれか１項に記載の情報処理装置。
【請求項１２】
アプリケーションのインストールを行うステップと、
前記アプリケーションの起動及び前記アプリケーション間の連携処理を行うステップと、
前記アプリケーションの起動または前記アプリケーション間の連携処理が要求された場合に、前記アプリケーション間の呼出関係の履歴情報である呼出履歴マップを、要求された前記起動または前記連携処理が行われた場合での呼出履歴マップに更新するステップと、
前記呼出履歴マップと、前記アプリケーションのアクセス権限情報を含むアプリ権限リストとから得られる情報を用いて、秘密として管理されている情報である秘密情報に対するアプリケーション間の不正な連携処理の有無を判断するステップと、
前記不正な連携処理が有ると判断された場合には、前記秘密情報に対するアプリケーション間の不正な連携処理に応じたアプリケーションの実行制御方法に従って、前記アプリケーションの実行を制御するステップと
を含むアプリケーション不正連携防止方法。
【請求項１３】
請求項１２に記載のアプリケーション不正連携防止方法に含まれるステップをコンピュータに実行させる
プログラム。
【請求項１４】
請求項１３に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１５】
外部の通信ネットワークとの接続を行うネットワーク制御部と、
アプリケーションのインストールを行うインストール制御部と、
前記アプリケーションの起動及び前記アプリケーション間の連携処理を行うプロセス制御部と、
前記アプリケーションの起動または前記アプリケーション間の連携処理が要求された場合に、前記アプリケーション間の呼出関係の履歴情報である呼出履歴マップを、要求された前記起動または前記連携処理が行われた場合での呼出履歴マップに更新する呼出履歴マップ更新部と、
前記呼出履歴マップと、前記アプリケーションのアクセス権限情報を含むアプリ権限リストとから得られる情報を用いて、秘密として管理されている情報である秘密情報に対するアプリケーション間の不正な連携処理の有無を判断し、前記不正な連携処理が有ると判断された場合には、前記秘密情報に対するアプリケーション間の不正な連携処理に応じたアプリケーションの実行制御方法に従って、前記アプリケーションの実行を制御するアプリ不正連携制御部と
を備える集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数マルウェア間の不正な連携処理による個人情報などの秘密情報の外部漏洩を防止する情報処理装置およびアプリケーション不正連携防止方法に関する。
【背景技術】
【０００２】
近年、スマートフォンを始め、オープンプラットフォームを採用した民生機器が急速に普及してきている。現在の民生機器向けオープンプラットフォーム環境では、誰もが、アプリケーションを開発でき、開発したアプリケーションを、アプリケーション配信サイトにアップロードすることが可能である。そして、アプリケーション配信サイトにアップロードされたアプリケーションは、誰もがダウンロード可能であり、ユーザは、それらをインストールすることで、自身の端末の機能を拡張することが可能となっている。【０００３】
また、複数のアプリケーションを同時に起動可能なマルチタスク機能もサポートされ、あるアプリケーションをバックグラウンドで処理させながら、フォアグラウンドでは別のアプリケーションの処理をしたり、あるいは、複数のアプリケーション間で連携した処理をしたりと、ユーザの利便性は、ますます高くなっている。【０００４】
また、このようなユーザ端末には、メールアドレスや電話番号などが登録されたアドレス帳や、パスワード情報や、写真等の個人情報が記録されている。誰もがアプリケーション配信サイトにアプリケーションをアップロードできるため、悪意のある者は、これらの個人情報を盗むことができる悪意のあるアプリケーションであるマルウェアを開発して、開発したマルウェアをアプリケーション配信サイトへアップロードする。そして、ユーザが、アップロードされたマルウェアをダウンロードすることで、当該ダウンロードしたユーザが被害を受けることが増加している。さらには、マルウェアも巧妙化しており、複数のマルウェア間で不正に連携しながら、不正な処理をするものも出現してきている。【０００５】
一般に、複数アプリケーション間の連携処理は、ユーザの目に見えない形で行われる場合が多いため、複数のマルウェア間による連携により、ユーザの知らないうちに個人情報などが外部へ漏洩する危険性がある。【０００６】
例えば、マルウェアＡとマルウェアＢとマルウェアＣとがあり、それら３つのマルウェアが不正に連携する場合を考える。マルウェアＡは、電話帳にアクセスするアプリケーション、マルウェアＢがゲームアプリケーション、そしてマルウェアＣがブラウザなどの外部の通信ネットワークにアクセスするアプリケーションとする。【０００７】
マルウェア開発者は、各単体のアプリケーションの動作としては不正処理を行わない正常動作するアプリケーションとして、マルウェアＡ、Ｂ及びＣをアプリケーション配信サイトにアップロードする。その後、マルウェア開発者は、それぞれのマルウェアを正常なアプリケーションだと見せかけて、さまざまな巧妙な手口を使い、ユーザに時間をかけてマルウェアＡ、Ｂ及びＣ全てをダウンロードさせる。【０００８】
一方、ユーザは、正常なアプリケーションだと認識した上で、マルウェアＡ、Ｂ及びＣをダウンロードする。マルウェアＡ、Ｂ及びＣは、単体のアプリケーションとしては不正な処理を行わないため、ユーザは、それらマルウェアをアンインストールせずに利用し続ける。さらに、ユーザ端末はマルチタスクにも対応しているため、マルウェアＡ、Ｂ及びＣがマルチタスクで起動された時、それらが初めてマルウェアとして動作し、マルウェア間同士で不正に連携し、アプリＡ→アプリＢ→アプリＣという不正なプロセス間通信により、個人情報を外部の通信ネットワーク経由で漏洩させるという脅威が考えられる。【０００９】
そこで、従来のマルウェア対策として、例えば、特許文献１に開示された方法が提案されている。特許文献１では、マルウェアに共通の振る舞いを予め不正ルールファイルとして規定し、マルウェアのシグネチャを利用することなく、プロセスによる通信がマルウェアによるものかどうかを判断して不正プロセスを止める方法が開示されている。【００１０】
また、別のマルウェア対策として、特許文献２に開示された方法も提案されている。特許文献２では、疑わしいイベントが、予め決められた閾値を満たす場合、マルウェアと判定し、マルウェアが拡散しないように、セキュリティ設定に設定された制御を行う方法が開示されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特許第４３２７６９８号公報
【特許文献２】特開２００６−２８５９８３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記従来の特許文献１の構成では、不正ルールファイルが固定的な情報であり、アプリケーションがインストールされるような端末においては、ダウンロードされたアプリケーションに対応した新たな不正ルールファイルを、サーバから取得し更新する必要がある。そのため、アプリケーションがダウンロードされるような端末においては、ダウンロードされたアプリケーションによる不正な連携処理については、サーバから不正ルールファイルを取得し更新しない限り検知できないという課題を有していた。【００１３】
また、上記従来の特許文献２の構成でも、マルウェアであるか否かの判定に利用する閾値情報は固定的な情報である。そのため、アプリケーションがインストールされるような端末においては、ダウンロードされたアプリケーションによる不正な連携処理については、サーバから当該閾値情報を取得し更新しない限り検知できないという同様の課題を有していた。【００１４】
そこで、本発明は、上記従来の課題を解決するものであり、新たにインストールされたアプリケーションに対しても、個人情報などの秘密情報を漏洩するような不正なアプリケーション間の連携処理を防止することができる情報処理装置およびアプリケーション不正連携防止方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記従来の課題を解決するために、本発明の一形態に係る情報処理装置は、外部の通信ネットワークとの接続を行うネットワーク制御部と、アプリケーションのインストールを行うインストール制御部と、前記アプリケーションの起動及び前記アプリケーション間の連携処理を行うプロセス制御部と、前記アプリケーションの起動または前記アプリケーション間の連携処理が要求された場合に、前記アプリケーション間の呼出関係の履歴情報である呼出履歴マップを、要求された前記起動または前記連携処理が行われた場合での呼出履歴マップに更新する呼出履歴マップ更新部と、前記呼出履歴マップと前記アプリケーションのアクセス権限情報を含むアプリ権限リストとから得られる情報を用いて、秘密として管理されている情報である秘密情報に対するアプリケーション間の不正な連携処理の有無を判断し、前記不正な連携処理が有ると判断した場合には、前記秘密情報に対するアプリケーション間の不正な連携処理に応じたアプリケーションの実行制御方法に従って、前記アプリケーションの実行を制御するアプリ不正連携制御部とを備える。【００１６】
この構成によれば、アプリケーション間の呼出関係の履歴情報である呼出履歴マップとアプリ権限リストとを参照することで、秘密情報に対するアプリケーション間の不正な連携処理の検知が可能になる。また、当該不正な連携処理の有無の判断のために参照する呼出履歴マップは、情報処理装置内のアプリケーションの起動やアプリケーション間の連携処理であるプロセス間通信の要求時に更新される。そのため、従来のサーバからのマルウェアのパターンファイルの更新が不要であり、新たにダウンロードされたアプリケーションに対する不正な連携処理を検知することが可能となる。したがって、当該情報処理装置によれば、新たにインストールされたアプリケーションに対しても、個人情報などの秘密情報を漏洩するような不正なアプリケーション間の連携処理を防止することができる。【００１７】
また、好ましくは、前記アプリ不正連携制御部は、個人情報または機密情報へのアクセス権利であるアクセス権限情報を含む前記アプリ権限リストから得られる情報を用いて、前記不正な連携処理の有無を判断する。【００１８】
この構成によれば、個人情報または機密情報に対するアプリケーションの不正な連携処理を検知することが可能となる。【００１９】
また、好ましくは、前記アプリ不正連携制御部は、前記外部の通信ネットワークへのアクセス権利であるアクセス権限情報をさらに含む前記アプリ権限リストから得られる情報を用いて、前記不正な連携処理の有無を判断する。【００２０】
この構成によれば、秘密情報を外部の通信ネットワークに漏洩させるような不正な連携を検知することが可能となる。【００２１】
また、好ましくは、前記アプリ不正連携制御部は、前記外部の通信ネットワークを介して前記秘密情報を漏洩させるアプリケーション間の不正な連携処理の有無を判断し、当該不正な連携処理が有ると判断した場合には、当該不正な連携処理を防止することができるアプリケーションの実行制御方法を示すアプリ実行制御設定情報に基づき、前記アプリケーションの実行を制御する。【００２２】
この構成によれば、外部の通信ネットワークを介して秘密情報を漏洩させるアプリケーション間の不正な連携処理を防止することができる。【００２３】
また、好ましくは、前記アプリ不正連携制御部は、前記不正な連携処理が有ると判断した場合には、要求されたアプリケーションの起動を行わないアプリケーションの実行制御方法を示すアプリ実行制御設定情報に基づき、当該アプリ実行制御設定情報で示されるアプリケーションの実行制御方法に従って、アプリケーションの起動を行わない。【００２４】
この構成によれば、アプリケーション間の不正な連携処理を検知した後に、アプリケーションを起動させない制御をすることで、不正な連携処理を防止することができる。【００２５】
また、好ましくは、前記アプリ不正連携制御部は、前記不正な連携処理が有ると判断した場合には、前記外部の通信ネットワークとの接続を遮断するアプリケーションの実行制御方法を示すアプリ実行制御設定情報に基づき、当該アプリ実行制御設定情報で示されるアプリケーションの実行制御方法に従って、前記外部の通信ネットワークとの接続を遮断する。【００２６】
この構成によれば、アプリケーション間の不正な連携処理を検知した後に、外部ネットワークとの接続を遮断するため、個人情報などの秘密情報が外部ネットワーク経由で漏洩されるのを防止することが可能となる。【００２７】
また、好ましくは、前記アプリ不正連携制御部は、前記不正な連携処理が有ると判断した場合には、前記不正な連携処理が無いと判断するまでアプリケーションを終了させるアプリケーションの実行制御方法を示すアプリ実行制御設定情報に基づき、当該アプリ実行制御設定情報で示されるアプリケーションの実行制御方法に従って、前記不正な連携処理が無いと判断するまで既に起動されているアプリケーションを終了する。【００２８】
この構成によれば、アプリケーション間の不正な連携処理を検知した後に、不正な連携処理が起こらないマルチタスク状態にまでアプリケーションを終了するため、不正な連携処理により秘密情報が漏洩されるのを防止することが可能となる。【００２９】
また、好ましくは、前記アプリ不正連携制御部は、前記不正な連携処理が有ると判断した場合には、アプリケーションをアンインストールするアプリケーションの実行制御方法を示すアプリ実行制御設定情報に基づき、当該アプリ実行制御設定情報で示されるアプリケーションの実行制御方法に従って、要求されたアプリケーションをアンインストールする。【００３０】
この構成によれば、不正な連携処理に関連するアプリケーションをアンインストールするため、不正な連携処理により秘密情報が漏洩されるのを防止することが可能となる。【００３１】
また、好ましくは、前記アプリ不正連携制御部は、前記不正な連携処理が有ると判断した場合には、当該不正な連携処理が行われる危険性があることを示す情報をユーザに通知する。【００３２】
この構成によれば、ユーザは、不正な連携処理の可能性がある場合に、当該不正な連携処理が行われる危険性があることを示す情報の通知を受けることで、ユーザ自身でアプリケーションの起動を制御することが可能となる。【００３３】
また、好ましくは、前記呼出履歴マップ更新部は、さらに、更新後の前記呼出履歴マップと前記アプリ権限リストとを参照して、前記不正な連携処理が行われる可能性があるアプリケーションの起動状態を示すアプリ不正連携パターンを更新し、前記アプリ不正連携制御部は、前記アプリ不正連携パターンを参照して、前記アプリケーション間の不正な連携処理の有無を判断する。【００３４】
この構成によれば、不正な連携処理となるアプリケーションのマルチタスク状態情報を示すアプリ不正連携パターンを用いることで、不正な連携処理の有無の判断において、呼出履歴マップの解析が不要になり、高速化が可能となる。【００３５】
また、好ましくは、さらに、前記秘密情報を保持する秘密情報保持部と、前記呼出履歴マップを保持する呼出履歴マップ保持部と、前記アプリ権限リストを保持するアプリ権限リスト保持部と、前記秘密情報に対するアプリケーション間の不正な連携処理に応じたアプリケーションの実行制御方法を示すアプリ実行制御設定情報を保持するアプリ実行制御設定情報保持部とを備え、前記呼出履歴マップ更新部は、前記呼出履歴マップ保持部に保持されている前記呼出履歴マップを更新し、前記アプリ不正連携制御部は、更新された前記呼出履歴マップと前記アプリ権限リスト保持部に保持されている前記アプリ権限リストとから得られる情報を用いて、前記秘密情報保持部に保持されている前記秘密情報に対するアプリケーション間の不正な連携処理の有無を判断し、前記不正な連携処理が有ると判断した場合には、前記アプリ実行制御設定情報保持部に保持されている前記アプリ実行制御設定情報で示されるアプリケーションの実行制御方法に従って、前記アプリケーションの実行を制御する。【００３６】
この構成によれば、情報処理装置は、秘密情報と呼出履歴マップとアプリ権限リストとアプリ実行制御設定情報とを保持しており、これらの情報を用いて、アプリケーションの実行を制御する。これにより、当該情報処理装置は、秘密情報を漏洩するような不正なアプリケーション間の連携処理を防止することができる。【００３７】
なお、本発明は、このような情報処理装置として実現できるだけでなく、情報処理装置に含まれる特徴的な手段をステップとし、アプリケーション間の不正な連携処理を防止するアプリケーション不正連携防止方法として実現したり、そのような特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。【００３８】
さらに、本発明は、このような情報処理装置の機能の一部又は全てを実現する半導体集積回路（ＬＳＩ）として実現できる。
【発明の効果】
【００３９】
本発明に係る情報処理装置によれば、新たにインストールされたアプリケーションに対しても、個人情報などの秘密情報を漏洩するようなアプリケーション間の不正な連携処理を防止することが可能になる。
【図面の簡単な説明】
【００４０】
【図１】図１は、本発明の実施の形態１におけるアプリケーション配信システムの構成図である。
【図２】図２は、本発明の実施の形態１におけるアプリケーションパッケージの構成図である。
【図３】図３は、本発明の実施の形態１における情報処理端末の全体構成図である。
【図４】図４は、本発明の実施の形態１における情報処理端末の動作の一例を示すフローチャートである。
【図５】図５は、本発明の実施の形態１におけるインストール制御部がアプリケーションをインストールする処理を示すシーケンス図である。
【図６】図６は、本発明の実施の形態１におけるアプリ権限リスト保持部が保持するアプリ権限リストの一例を示す図である。
【図７】図７は、本発明の実施の形態１におけるプロセス制御部が実行中のアプリプロセス状況を識別する際に保持しているプロセス管理情報の一例を示す図である。
【図８】図８は、本発明の実施の形態１における呼出履歴マップ更新部による呼出履歴マップ更新処理からアプリ不正連携制御部による不正連携判断までの処理を示すシーケンス図である。
【図９】図９は、本発明の実施の形態１における呼出履歴マップ更新部による呼出履歴マップ更新処理からアプリ不正連携制御部による不正連携判断までの処理を示すシーケンス図である。
【図１０】図１０は、本発明の実施の形態１におけるアプリ不正連携制御部が不正な連携処理の有無を判断する処理を示すフローチャートである。
【図１１】図１１は、本発明の実施の形態１におけるアプリ実行制御設定情報の一例を示す図である。
【図１２】図１２は、本発明の実施の形態１における呼出履歴マップの遷移イメージを示す図である。
【図１３】図１３は、本発明の実施の形態１における呼出履歴マップの構成を示す図である。
【図１４Ａ】図１４Ａは、本発明の実施の形態１におけるアプリ不正連携制御部によるアプリ実行制御の例を示す図である。
【図１４Ｂ】図１４Ｂは、本発明の実施の形態１におけるアプリ不正連携制御部によるアプリ実行制御の例を示す図である。
【図１５】図１５は、本発明の実施の形態２における情報処理端末４０の全体構成図である。
【図１６】図１６は、本発明の実施の形態２におけるアプリ不正連携パターンを説明する図である。
【図１７】図１７は、本発明の実施の形態２における呼出履歴マップ更新部による呼出履歴マップ及びアプリ不正連携パターンの更新処理からアプリ不正連携制御部による不正連携判断までの処理を示すシーケンス図である。
【図１８】図１８は、本発明の実施の形態における情報処理端末の最小構成を示す図である。
【発明を実施するための形態】
【００４１】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、構成要素、構成要素の配置位置及び、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。本発明は、請求の範囲だけによって限定される。よって、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、本発明の課題を達成するのに必ずしも必要ではないが、より好ましい形態を構成するものとして説明される。
【００４２】
（実施の形態１）
図１は、本発明の実施の形態１におけるアプリケーション配信システム１０の構成図である。
【００４３】
同図に示すように、アプリケーション配信システム１０は、アプリケーション配信サーバ２０と、アプリ開発装置３０と、情報処理装置である情報処理端末４０、４１とを有するシステムである。
【００４４】
情報処理端末４０は、アプリケーション配信サーバ２０のメモリ２１に記憶されているアプリケーションパッケージ５０を、通信ネットワーク６０を介してダウンロードする。ダウンロード後、情報処理端末４０は、アプリケーションパッケージ５０をインストールすることで、新しい機能を追加する。アプリケーションパッケージ５０の構成については、図２を用いて後述する。
【００４５】
アプリ開発装置３０は、情報処理端末４０上で動作するアプリケーションを開発する装置である。アプリ開発装置３０は、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ等のインターフェースで情報処理端末４１と接続され、情報処理端末４１上で、開発したアプリケーションが想定通りの動作を行うかのテストを実施する。その後、アプリ開発装置は、通信ネットワーク６０を介して、開発したアプリケーションを、アプリケーション配信サーバ２０へアップロードする。なお、情報処理端末４０と情報処理端末４１は、同じ機能を持つ端末である。
【００４６】
図２は、本発明の実施の形態１におけるアプリケーションパッケージ５０の構成図である。アプリケーションパッケージ５０は、アプリケーション５１と、アクセス権限情報５２と、アプリ署名リスト５３と、公開鍵証明書５４とを有する。
【００４７】
アプリケーション５１は、情報処理端末４０上で実行されるアプリケーションのコードである。つまり、アプリケーション５１は、アプリ開発装置３０内にある不図示のソフトウェア開発キット（Ｓｏｆｔｗａｒｅ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｋｉｔ：ＳＤＫ）のコンパイラやリンカによって生成されたコードである。
【００４８】
アクセス権限情報５２は、アプリケーション５１が情報処理端末４０上で動作する際のアクセス権限の情報をリスト化したものである。アクセス権限情報５２は、情報処理端末４０が、アプリケーションパッケージ５０のインストール時に、アプリケーションパッケージ５０内のアプリケーション５１がどのような権限で動作するかをユーザに提示する際に利用される。また、アクセス権限情報５２は、情報処理端末４０内でアプリケーション５１を実行する際のアクセス制御に利用される。
【００４９】
ここで、アクセス権限情報５２は、例えば、アプリケーション５１が、個人情報などの秘密情報にアクセスする権利があるのか、通信ネットワーク６０などの外部ネットワークにアクセスする権利があるかなどを示した情報がリスト化されたものである。なお、秘密情報とは、秘密として管理されている情報であり、例えば、個人情報または企業の機密情報などの情報である。
【００５０】
また、秘密情報にアクセスする権利には、秘密情報に直接アクセスする権利だけではなく、ＳＤカードなどのメモリへの書き込みまたは読み出しを行う権利も含まれる。つまり、当該メモリに秘密情報を書き込み、また当該メモリから秘密情報を読み出すことで、当該秘密情報にアクセスすることができる。
【００５１】
なお、アクセス権限情報５２は、秘密情報、または外部ネットワークにアクセスする権利があるかなどを示した情報に限らなくても良い。つまり、アクセス権限情報５２は、情報処理端末４０上でアプリケーション５１を動作させるためのプラットフォームがサポートしているアクセス権限情報であればよい。
【００５２】
アプリ署名リスト５３は、アプリケーションパッケージ５０を構成する全ての情報についてハッシュ値をリスト化し、それに対してデジタル署名を付与したものである。アプリ署名リスト５３は、アプリケーションパッケージ５０のインストール時に、アプリケーションパッケージ５０内の情報の署名検証に利用される。
【００５３】
公開鍵証明書５４は、アプリ署名リスト５３による署名検証に利用される公開鍵の情報が格納された証明書である。
【００５４】
アプリケーション署名生成・検証アルゴリズムは、公開鍵暗号基盤（Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ：以降ＰＫＩ）で広く利用されるアルゴリズムを利用すればよい。また、公開鍵証明書５４は、ＰＫＩで広く利用される証明書フォーマットであるＸ．５０９のフォーマットであってもよい。
【００５５】
図３は、本発明の実施の形態１における情報処理端末４０の全体構成図である。
【００５６】
同図に示すように、情報処理端末４０は、５つのアプリケーションプロセスであるアプリＡプロセス１０１、アプリＢプロセス１０２、アプリＣプロセス１０３、アプリＤプロセス１０４及びアプリＥプロセス１０５と、プロセス制御部２００と、アプリ権限判断部２１０と、アプリ不正連携制御部２２０と、アプリ実行制御設定情報保持部２３０と、呼出履歴マップ更新部２９０と、個人情報保持部２４０と、ネットワーク制御部２５０と、インストール制御部２６０と、アプリ権限リスト保持部２７０と、呼出履歴マップ保持部２８０とを備えている。
【００５７】
ここでの情報処理端末４０は、スマートフォンを始めとするモバイル機器や、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）やＢＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）などのメディアを再生する機器や、ＴＶやゲーム機などの民生機器や、ＰＣなど、ネットワークが接続される機器であればよい。
【００５８】
また、アプリ実行制御設定情報保持部２３０、個人情報保持部２４０、アプリ権限リスト保持部２７０及び呼出履歴マップ保持部２８０のそれぞれは、情報処理端末４０が備えるメモリ内の記憶領域である。
【００５９】
インストール制御部２６０は、アプリケーションのインストールを行う。具体的には、インストール制御部２６０は、図１及び図２で説明したアプリケーションパッケージ５０をインストールする際に、アプリケーションの署名検証や、アクセス権限情報をユーザに通知し、ユーザによるインストール許可後、インストールを行う。
【００６０】
また、インストールされたアプリケーションパッケージ５０は、アプリケーションを識別するためのアプリＩＤ２０４と関連づけられて、図示しない不揮発メモリに記録される。アプリケーションパッケージ５０の公開鍵証明書５４も、アプリＩＤ２０４と関連づけられて管理される。アプリケーションパッケージ５０のアクセス権限情報５２は、アプリ権限リスト保持部２７０が保持しているアプリ権限リスト２７１に記録される。アプリ権限リスト２７１は、図６を用いて後述する。
【００６１】
アプリＡプロセス１０１、アプリＢプロセス１０２、アプリＣプロセス１０３、アプリＤプロセス１０４及びアプリＥプロセス１０５のそれぞれは、アプリケーションのプロセスである。図３の例では、５つのアプリケーションが実行されている例を示している。プロセスとしては、アプリケーションプロセス以外のプロセスがあってもよい。
【００６２】
プロセス制御部２００は、アプリケーションの起動及び当該アプリケーション間の連携処理を行う。
【００６３】
具体的には、プロセス制御部２００は、起動した５つのアプリケーションプロセス（アプリＡプロセス１０１〜アプリＥプロセス１０５）を管理する処理部であり、各アプリケーションプロセスに対し、プロセスを識別するためのプロセスＩＤ２０２と上述したアプリＩＤ２０４とを対応づけたプロセス管理情報２０１を保持している。プロセス管理情報２０１については、図７を用いて後述する。
【００６４】
さらに、プロセス制御部２００は、プロセス間通信の制御も行う。プロセス制御部２００は、プロセス間通信の制御の際に、呼出履歴マップ更新部２９０へ各プロセスの呼出関係を記録した呼出履歴マップ２８１を更新する要求を行う。呼出履歴マップ２８１の更新処理については、図１３、図１４Ａ及び図１４Ｂを用いて後述する。
【００６５】
個人情報保持部２４０は、個人情報となる電話番号や住所やメールアドレスなどが登録されたアドレス帳を保持する。また、個人情報保持部２４０は、アドレス帳でなく、写真データや電子メールなどを保持していてもよい。また、個人の行動履歴を記録する端末であれば、行動履歴情報も個人情報となる。行動履歴とは、商品購入履歴や個人の位置情報やインターネットでの検索履歴などが含まれる情報である。
【００６６】
ここで、個人情報保持部２４０は、個人情報とともに、または個人情報に代えて、企業秘密などの機密情報を保持していてもよい。つまり、個人情報保持部２４０は、秘密として管理されている個人情報または機密情報などの秘密情報を保持する秘密情報保持部であってもよい。この場合、情報処理端末４０は、当該秘密情報の漏洩を防止する機能を有することにしてもよいが、以下では、個人情報の漏洩を防止することとして説明する。
【００６７】
なお、本実施の形態では、これら個人情報を全て外部へ漏洩しないようにしているが、それぞれの個人情報の種類毎に外部へ漏洩しないように設定できるようにしてもよい。例えば、個人のライフスタイルに適したサービスを受けるために、行動履歴の個人情報は外部のサーバに送信できるようにする場合が考えられる。本実施の形態では図示していないが、この場合は、行動履歴のみ外部に漏洩できないような設定がされ、さらに他の個人情報は外部漏洩を防止するという設定がされた設定情報を端末に保持しておき、アプリ不正連携制御部２２０が、当該設定情報を参照することで、個人情報に対するアクセス制御を行えばよい。また、当該設定情報は、ユーザによって設定されるようにしてもよい。
【００６８】
ネットワーク制御部２５０は、外部の通信ネットワーク６０との接続を行う。つまり、ネットワーク制御部２５０は、外部ネットワークへ接続するためのネットワークデバイスの制御をする。外部ネットワークデバイスとは、無線ネットワークデバイスや有線ネットワークデバイスである。また、ネットワーク制御部２５０は、携帯電話の通信網への接続を制御する処理部であってもよい。
【００６９】
アプリ権限判断部２１０は、５つのアプリケーションプロセス（アプリＡプロセス１０１〜アプリＥプロセス１０５）が、プロセス制御部２００を介し、個人情報保持部２４０やネットワーク制御部２５０へアクセスする際に、図６で示すアプリ権限リスト保持部２７０が保持するアプリ権限リスト２７１を参照し、アクセスが許可されているか否かを判断する。アプリ権限判断部２１０による判断結果は、プロセス制御部２００へ返され、プロセス制御部２００は、その判断結果に基づき、個人情報保持部２４０やネットワーク制御部２５０へのアクセス制御を行う。
【００７０】
次に、呼出履歴マップ更新部２９０と呼出履歴マップ保持部２８０について説明する。
【００７１】
呼出履歴マップ保持部２８０は、図３に示すアプリケーションプロセス（アプリＡプロセス１０１〜アプリＥプロセス１０５）間での呼出関係の履歴情報である呼出履歴マップ２８１を保持する。
【００７２】
呼出履歴マップ更新部２９０は、アプリケーションの起動またはアプリケーション間の連携処理が要求された場合に、呼出履歴マップ２８１を、要求された起動または連携処理が行われた場合での呼出履歴マップに更新する。具体的には、呼出履歴マップ更新部２９０は、プロセス制御部２００から呼出履歴マップ２８１の更新要求を受け、呼出履歴マップ保持部２８０へアクセスし、呼出履歴マップ２８１を更新する。呼出履歴マップ２８１を更新する処理については、図１３、図１４Ａ及び図１４Ｂを用いて後述する。
【００７３】
次に、アプリ不正連携制御部２２０と、アプリ実行制御設定情報保持部２３０について説明する。
【００７４】
アプリ実行制御設定情報保持部２３０には、アプリケーション間の不正連携処理を検知した場合に、検知後のアプリケーションの振る舞いの設定情報が登録されている。具体的には、アプリ実行制御設定情報保持部２３０は、個人情報に対するアプリケーション間の不正な連携処理に応じたアプリケーションの実行制御方法を示すアプリ実行制御設定情報２３１を保持する。ここで、アプリ実行制御設定情報２３１は、外部の通信ネットワーク６０を介して個人情報を漏洩させるアプリケーション間の不正な連携処理を防止することができるアプリケーションの実行制御方法を示す情報である。
【００７５】
アプリ不正連携制御部２２０は、呼出履歴マップ２８１とアプリ権限リスト２７１とを参照して、個人情報に対するアプリケーション間の不正な連携処理の有無を判断し、当該不正な連携処理が有ると判断した場合には、アプリ実行制御設定情報２３１で示されるアプリケーションの実行制御方法に従ってアプリケーションの実行を制御する。具体的には、アプリ不正連携制御部２２０は、当該不正な連携処理の有無を判断し、当該不正な連携処理が有ると判断した場合には、当該不正な連携処理を防止することができるアプリケーションの実行制御方法を示すアプリ実行制御設定情報２３１に基づき、アプリケーションの実行を制御する。
【００７６】
つまり、アプリ不正連携制御部２２０は、個人情報が外部ネットワークを経由して漏洩する危険性があるアプリケーションの起動状態にならないように、すなわちアプリケーション間で不正な連携処理が行われないように制御する処理部である。具体的には、アプリ不正連携制御部２２０は、アプリ権限リスト保持部２７０が保持するアプリ権限リスト２７１と、呼出履歴マップ保持部２８０が保持する呼出履歴マップ２８１とを参照し、個人情報が外部ネットワークを経由して漏洩する危険性があるアプリケーションの起動状態になるか否かを判断する。
【００７７】
アプリ不正連携制御部２２０は、不正連携と判断、すなわち、個人情報が外部ネットワーク経由で漏洩する危険性ありと判断した場合は、アプリ実行制御設定情報２３１に基づき、アプリケーションプロセスの実行制御を行う。アプリ不正連携制御部２２０による判断処理と、アプリ実行制御設定情報２３１に基づいたアプリ制御方法の詳細については、図８から図１５を用いて例を示しながら後述する。
【００７８】
図４は、本発明の実施の形態１における情報処理端末４０の動作の一例を示すフローチャートである。具体的には、同図は、情報処理端末４０におけるアプリケーションパッケージ５０のインストールから、個人情報が外部ネットワークに漏洩することを防止するためのアプリケーションの動作を制御するまでの概要フローである。
【００７９】
まず、情報処理端末４０は、アプリケーション配信サーバ２０にあるアプリケーションパッケージ５０を、通信ネットワーク６０を介してダウンロードする。ダウンロード後、情報処理端末４０のインストール制御部２６０が、アプリケーションパッケージ５０をインストールする（Ｓ４０１）。Ｓ４０１において、アプリケーションパッケージ５０内のファイルの署名検証を実施し、署名検証ＯＫなら、アクセス権限情報をユーザに通知し、ユーザによるインストール許可後、インストールを行う。インストール処理のフローについては、図５を用いて後述する。
【００８０】
次に、情報処理端末４０内にインストールされているアプリケーションの起動要求、もしくは、アプリケーション間の連携処理要求が行われる（Ｓ４０２）。Ｓ４０２での要求は、プロセス制御部２００へ通知される。Ｓ４０２における起動要求もしくはプロセス間通信要求されるアプリケーションは、アプリケーション配信サーバ２０からダウンロードしたものだけでなく、プリインストールされたアプリケーションであってもよい。
【００８１】
この場合、プリインストールされたアプリケーションの公開鍵証明書５４やアクセス権限情報５２も、アプリケーション配信サーバ２０からダウンロードしたアプリケーションのものと同様に管理される。また、ここでのアプリケーションの起動要求もしくは、プロセス間通信要求は、ユーザが明示的に行うケースもあれば、アプリケーションが起動中にユーザの要求なしに自動的に行われるケースもある。
【００８２】
次に、Ｓ４０２の要求を受けたプロセス制御部２００は、呼出履歴マップ更新部２９０を介して起動要求対象のアプリケーション、もしくはプロセス間通信要求対象のアプリケーションを特定し、呼出元と呼出先とを特定し、呼出関係をマップ化して呼出履歴マップ保持部２８０に呼出履歴マップ２８１を生成し、更新する（Ｓ４０３）。
【００８３】
次に、アプリ不正連携制御部２２０は、アプリ権限リスト保持部２７０が保持するアプリ権限リスト２７１と、呼出履歴マップ保持部２８０が保持する呼出履歴マップ２８１とを参照し、Ｓ４０２で要求されたアプリケーションを起動した場合あるいはプロセス間通信要求がされた場合に、個人情報が外部ネットワークを経由して漏洩する危険性があるアプリケーションの起動状態になるか否かを、現在のプロセス起動状況から判断する（Ｓ４０４）。
【００８４】
次にＳ４０４の結果、個人情報が外部ネットワークを経由して漏洩する危険性がなし（不正連携ではない）と判断されれば（Ｓ４０４でＮＯ）、プロセス制御部２００がＳ４０２で要求されたアプリケーションの起動、もしくは、アプリケーション間の連携処理を行う（Ｓ４０５）。
【００８５】
もし、Ｓ４０４の結果、個人情報が外部ネットワークを経由して漏洩する（不正連携される）危険性があると判断されれば（Ｓ４０４でＹＥＳ）、アプリ不正連携制御部２２０が、アプリ実行制御設定情報２３１に基づき、アプリケーションの実行を制御する（Ｓ４０６）。
【００８６】
図５は、本発明の実施の形態１におけるインストール制御部２６０がアプリケーションをインストールする処理を示すシーケンス図である。つまり、同図は、情報処理端末４０が、アプリケーション配信サーバ２０にあるアプリケーションパッケージ５０を、通信ネットワーク６０を介してダウンロードして、インストールする処理（図４におけるＳ４０１）の詳細フローである。
【００８７】
まず、情報処理端末４０のインストール制御部２６０は、ネットワーク制御部２５０を介して外部の通信ネットワーク６０に接続し、アプリケーション配信サーバ２０へアプリダウンロード要求を行う（Ｓ５０１）。ここで、アプリダウンロード要求とは、アプリケーションパッケージ５０をダウンロードする要求である。
【００８８】
次に、アプリケーション配信サーバ２０は、情報処理端末４０へ、要求されたアプリケーションパッケージ５０を配信する（Ｓ５０２）。
【００８９】
次に、インストール制御部２６０は、アプリケーションパッケージ５０をダウンロードする（Ｓ５０３）。
【００９０】
次に、インストール制御部２６０は、アプリケーションパッケージ５０の署名検証を行う（Ｓ５０４）。署名検証には、公開鍵証明書５４を利用し、アプリ署名リストが改竄されていないことを確認するステップと、アプリケーションパッケージ５０内の各ファイルが改竄されていないかどうかを確認するステップとがある。署名検証の結果が「検証ＮＧ」であれば（Ｓ５０４でＮＧ）、アプリケーションパッケージ５０のインストールを終了する。そうではなく、署名検証の結果が「検証ＯＫ」であれば（Ｓ５０４でＯＫ）、Ｓ５０５の処理に移る。
【００９１】
次に、インストール制御部２６０は、アプリケーションパッケージ５０のアクセス権限情報５２を参照し、インストール対象のアプリケーションがどのような権限を持ったアプリケーションであるのかチェックし、インストールの許可または不許可を判断する（Ｓ５０５）。
【００９２】
例えば、インストール制御部２６０は、ユーザにアクセス権限情報５２の内容を提示し、ユーザにインストール許可の判断をさせてもよい。または、情報処理端末４０内に、予めインストール許可なものをリスト化したホワイトリストもしくは、インストール不許可なものをリスト化したブラックリストを記録しておき、それらリストの内容によってインストール制御部２６０が判断するようにしてもよい。また、これらリストの内容は、ユーザが設定できるようにしてもよい。
【００９３】
次に、インストール制御部２６０は、Ｓ５０５の結果が「インストール不許可」と判断した場合には（Ｓ５０５で「不許可」）、アプリケーションパッケージ５０のインストールを終了する。そうではなく、インストール制御部２６０は、Ｓ５０４の結果が「インストール許可」と判断した場合には（Ｓ５０５で「許可」）、アプリ権限リスト更新依頼を行う（Ｓ５０６）。ここで、アプリ権限リスト更新依頼とは、アプリ権限リスト２７１を更新する依頼である。
【００９４】
このアプリ権限リスト更新依頼により、アプリ権限リスト保持部２７０が保持しているアプリ権限リスト２７１に、インストール対象アプリケーションのアクセス権限情報５２が追加される。
【００９５】
次に、インストール制御部２６０は、図示しない不揮発メモリにアプリケーション５１を記録し、アプリケーション５１を識別するためのアプリＩＤ２０４とアプリケーション５１とを関連づけて管理する。アプリケーションパッケージ５０の公開鍵証明書５４も、アプリＩＤ２０４と関連づけて記録される（Ｓ５０８）。
【００９６】
以上で、アプリケーションパッケージ５０のインストール処理フローの説明を終わる。
【００９７】
図６は、本発明の実施の形態１におけるアプリ権限リスト保持部２７０が保持するアプリ権限リスト２７１の一例を示す図である。図６では、図３のように５つのアプリケーションプロセス（アプリＡプロセス１０１〜アプリＥプロセス１０５）がインストールされた例を示している。
【００９８】
アプリ権限リスト２７１は、アプリケーションを識別するためのアプリＩＤ２０４のフィールドと、アプリケーションのインストール先を示したインストールパス２７２のフィールドと、各アプリケーションのアクセス権限情報５２の内容が登録されたアクセス権限設定２７３のフィールドとを持つ。
【００９９】
図６の例では、図３のアプリＡプロセス１０１で示されるアプリケーションＡは、写真ビューワのアプリケーションであり、アプリＩＤが「Ａ」で、インストールパスが、「／ｄａｔａ／ａｐｐ／ｐｈｏｔｏｖｉｅｗｅｒ．ｅｘｅ」であり、個人情報へアクセス可で、外部ネットワークへはアクセス不可であることを示している。
【０１００】
また、アプリＣプロセス１０３で示されるアプリケーションＣは、ブラウザアプリであり、アプリＩＤが「Ｃ」で、インストールパスが、「／ｄａｔａ／ａｐｐ／ｂｒｏｗｓｅｒ．ｅｘｅ」であり、個人情報へアクセス不可で、外部ネットワークへはアクセス可であることを示している。他のアプリケーションについても同様なので、説明は省略する。
【０１０１】
このように、アプリ権限リスト保持部２７０は、個人情報へのアクセス権利であるアクセス権限情報と、外部の通信ネットワーク６０へのアクセス権利であるアクセス権限情報とを含むアプリ権限リスト２７１を保持している。
【０１０２】
図７は、本発明の実施の形態１におけるプロセス制御部２００が実行中のアプリプロセス状況を識別する際に保持しているプロセス管理情報２０１の一例を示す図である。
【０１０３】
プロセス管理情報２０１は、プロセスを識別するためのプロセスＩＤ２０２のフィールドと、そのプロセスの親プロセスを識別するための親プロセスＩＤ２０３のフィールドと、そのプロセスがどのアプリケーションに対応するのかを識別するためのアプリＩＤ２０４のフィールドとから構成される。
【０１０４】
図７の例では、図３のアプリＡプロセス１０１で示されるアプリケーションＡは、プロセスＩＤが「１０」として動作し、親プロセスＩＤが「１」、アプリＩＤが「Ａ」であることを示している。他のアプリケーションについても同様なので、説明は省略する。
【０１０５】
図８及び図９は、本発明の実施の形態１における呼出履歴マップ更新部２９０による呼出履歴マップ更新処理からアプリ不正連携制御部２２０による不正連携判断までの処理を示すシーケンス図である。
【０１０６】
まず、図８に示すように、プロセス制御部２００が、アプリケーションのプロセスの制御に関する要求（アプリケーション起動要求もしくはプロセス間通信要求や、プロセス停止・終了要求等）を受信する（Ｓ８０１）。
【０１０７】
次に、プロセス制御部２００は、受信した要求が、アプリケーション起動もしくはプロセス間通信であるか否かを判断する（Ｓ８０２）。プロセス制御部２００は、受信した要求が、アプリケーション起動もしくはプロセス間通信であると判断した場合には（Ｓ８０２でＹＥＳ）、Ｓ８０３へ処理を移す。また、プロセス制御部２００は、アプリケーション起動でなくプロセス間通信でもないと判断した場合には（Ｓ８０２でＮＯ）、Ｓ８０１で要求された処理を実行する。
【０１０８】
次に、呼出履歴マップ更新部２９０は、アプリ呼出元確認を行う（Ｓ８０３）。プロセス制御部２００が受信した要求が、アプリケーション起動もしくはプロセス間通信の要求であれば、呼出履歴マップ更新部２９０は、呼出元と呼出先のプロセスを確認する。
【０１０９】
次に、呼出履歴マップ更新部２９０は、Ｓ８０３で確認したプロセス呼出関係を、呼出履歴マップ保持部２８０の呼出履歴マップ２８１に書き込むことで、呼出履歴マップ２８１を更新する（Ｓ８０４）。
【０１１０】
次に、呼出履歴マップ更新部２９０は、Ｓ８０１で要求されたプロセス制御要求を実行することで、個人情報が外部ネットワークを経由して漏洩する危険性があるアプリケーションの起動状態になるか否かを判断するために、アプリ不正連携制御部２２０に対して不正連携判定要求を出す（Ｓ８０５）。
【０１１１】
次に、Ｓ８０５の判定要求を受けたアプリ不正連携制御部２２０は、呼出履歴マップ保持部２８０から呼出履歴マップ２８１を読み込む（Ｓ８０６）。
【０１１２】
次に、アプリ不正連携制御部２２０は、アプリ権限リスト保持部２７０からアプリ権限リスト２７１を読み込む（Ｓ８０７）。
【０１１３】
次に、アプリ不正連携制御部２２０は、プロセス制御部２００からプロセス管理情報２０１を読み込む（Ｓ８０８）。
【０１１４】
次に、図９に示すように、アプリ不正連携制御部２２０は、Ｓ８０６からＳ８０８で読み込んだ呼出履歴マップ２８１と、アプリ権限リスト２７１と、プロセス管理情報２０１とを参照し、Ｓ８０１で要求されたプロセス制御要求を実行することで、個人情報が外部ネットワークを経由して漏洩する危険性があるマルチタスク状態になるか否かを判断する（Ｓ８０９）。
【０１１５】
上述した判断方法については、図１０で詳細なステップを説明し、図１２で具体例を用いて後述する。
【０１１６】
Ｓ８０９の結果、個人情報が外部ネットワークを経由して漏洩する危険性がない（不正連携ではない）と判断されれば（Ｓ８０９でＮＯ）、図８のＳ８０１で要求された処理が行われる（Ｓ８１０）。
【０１１７】
また、アプリ不正連携制御部２２０は、個人情報が外部ネットワークを経由して漏洩する（不正連携される）危険性があると判断した場合には（Ｓ８０９でＹＥＳ）、アプリ実行制御設定情報保持部２３０に登録されているアプリ実行制御設定情報２３１を読み出し（Ｓ８１１）、アプリケーションの実行を制御する（Ｓ８１２）。アプリ実行制御については、Ｓ８１３からＳ８１６と図１１とを用いて説明する。
【０１１８】
なお、図示していないが、アプリ不正連携制御部２２０は、Ｓ８０９で不正な連携処理が有ると判断した場合は、当該不正な連携処理が行われる危険性があることを示す情報をユーザに通知するようにしてもよい。このようにすることで、ユーザは、不正連携の可能性がある場合に、ユーザ自身でアプリケーションの起動を制御することが可能となる。
【０１１９】
図１０は、本発明の実施の形態１におけるアプリ不正連携制御部２２０が不正な連携処理の有無を判断する処理を示すフローチャートである。具体的には、同図は、図９のＳ８０９をさらに詳細なステップにしたシーケンス図である。
【０１２０】
まず、アプリ不正連携制御部２２０は、図８のＳ８０７で読み込んだアプリ権限リスト２７１を参照し、個人情報にアクセスする権限のあるアプリＩＤを特定する（Ｓ９０１）。
【０１２１】
次に、アプリ不正連携制御部２２０は、図８のＳ８０７で読み込んだアプリ権限リスト２７１を参照し、外部ネットワークにアクセスする権限のあるアプリＩＤを特定する（Ｓ９０２）。
【０１２２】
次に、アプリ不正連携制御部２２０は、Ｓ９０１とＳ９０２で特定したアプリＩＤと、図８のＳ８０６で読み込んだ呼出履歴マップ２８１とを参照し、個人情報にアクセスするアプリケーションから外部ネットワークへアクセスするアプリケーションへの呼び出し可能なマルチタスク状態をリストアップする（Ｓ９０３）。
【０１２３】
本実施の形態では、Ｓ９０３でリストアップされるマルチタスク状態は、１つに限定されることなく、複数であってもよい。本実施の形態では、個人情報が外部ネットワーク経由での漏洩防止達成するためには、Ｓ９０３で特定されたマルチタスク状態にならないようにアプリケーションの実行を制御する。
【０１２４】
次に、アプリ不正連携制御部２２０は、図８のＳ８０８で読み込んだプロセス管理情報２０１を参照し、現在起動済みのプロセスを特定し、図８のＳ８０１での要求を実行した場合のマルチタスク状態パターンを予測する（Ｓ９０４）。
【０１２５】
次に、アプリ不正連携制御部２２０は、Ｓ９０４で予想したマルチタスク状態が、Ｓ９０３で特定したマルチタスク状態としてリストアップされているか否かを判断する（Ｓ９０５）。
【０１２６】
アプリ不正連携制御部２２０は、リストアップされていると判断した場合には（Ｓ９０５でＹＥＳ）、個人情報が漏洩する可能性があるマルチタスク状態になるので、図９のＳ８１２へ処理を移し、アプリケーションの実行制御を行う。
【０１２７】
また、アプリ不正連携制御部２２０は、リストアップされていないと判断した場合には（Ｓ９０５でＮＯ）、個人情報が漏洩する可能性があるマルチタスク状態にはならないので、図９のＳ８１０へ処理を移し、図８のＳ８０１で要求された処理を実行する。
【０１２８】
図１１は、本発明の実施の形態１におけるアプリ実行制御設定情報２３１の一例を示す図である。
【０１２９】
アプリ実行制御設定情報２３１は、図９のＳ８０９での判断の結果、個人情報が外部ネットワークを経由して漏洩する（不正連携される）危険性があると判断された場合の、アプリケーションの振る舞いの制御を設定した情報の集まりである。具体的には、アプリ実行制御設定情報２３１は、不正連携判定時のアプリケーションの振る舞いの制御内容２３３と、個々の制御内容がＥｎａｂｌｅもしくはＤｉｓａｂｌｅなのかを設定するＯＮ／ＯＦＦ情報２３２とのフィールドから構成される。
【０１３０】
図１１の例では、「要求されたアプリを起動しない／プロセス間通信をしない」、「外部ネットワークを強制切断する」、「アプリをアンインストールする」、「個人情報が漏洩する可能性のない、安全なマルチタスク状態になるように起動中アプリを終了する」の４つの制御内容が登録されており、「要求されたアプリを起動しない／プロセス間通信をしない」が「ＯＮ」という設定になっている。
【０１３１】
図１１のように、「要求されたアプリを起動しない／プロセス間通信をしない」が「ＯＮ」であれば、図９のＳ８１２での判断後に、アプリ不正連携制御部２２０は、Ｓ８０１で要求されたアプリケーションを起動しないようにプロセス制御部２００に通知する（図９のＳ８１３）。
【０１３２】
これにより、図８のＳ８０１で要求がアプリケーション起動であれば、要求されたアプリケーションを起動させないため、個人情報が外部ネットワーク経由で漏洩される可能性のあるマルチタスク状態になることを防止できる。また、図８のＳ８０１で要求がプロセス間通信であれば、要求されたプロセス間通信を行わないので、個人情報が外部ネットワーク経由で漏洩される可能性のあるプロセス間通信を実行させないので、個人情報が外部ネットワーク経由で漏洩されることを防止できる。
【０１３３】
つまり、アプリ実行制御設定情報保持部２３０は、要求されたアプリケーションの起動を行わないアプリケーションの実行制御方法を示すアプリ実行制御設定情報２３１を保持しており、アプリ不正連携制御部２２０は、不正な連携処理が有ると判断した場合には、当該アプリ実行制御設定情報２３１で示されるアプリケーションの実行制御方法に従って、アプリケーションの起動を行わない。
【０１３４】
また、図１１において、「個人情報が漏洩する可能性のない、安全なマルチタスク状態になるように起動中アプリを終了する」が「ＯＮ」であれば、アプリ不正連携制御部２２０は、図８のＳ８０１で要求されたアプリケーションを起動しても個人情報が外部ネットワーク経由で漏洩される可能性のあるマルチタスク状態にならない状態まで、既に起動している他アプリケーションを終了させ、図８のＳ８０１で要求されたアプリケーションを起動／プロセス間通信させる（図９のＳ８１４）。これにより、個人情報が外部ネットワーク経由で漏洩される可能性のあるマルチタスク状態になることを防止できる。
【０１３５】
つまり、アプリ実行制御設定情報保持部２３０は、不正な連携処理が無いと判断するまでアプリケーションを終了させるアプリケーションの実行制御方法を示すアプリ実行制御設定情報２３１を保持し、アプリ不正連携制御部２２０は、不正な連携処理が有ると判断した場合には、当該アプリ実行制御設定情報２３１で示されるアプリケーションの実行制御方法に従って、不正な連携処理が無いと判断するまで既に起動されているアプリケーションを終了する。
【０１３６】
また、図１１において、「外部ネットワークを強制切断する」が「ＯＮ」であれば、図９のＳ８１２の判断後に、アプリ不正連携制御部２２０は、ネットワーク制御部２５０に対し、ネットワークを強制切断するように通知する（図９のＳ８１５）。これにより、外部ネットワークを切断した状態で、図８のＳ８０１で要求されたアプリケーションを起動する／プロセス通信をするので、個人情報が外部ネットワーク経由で漏洩することを防止できる。
【０１３７】
つまり、アプリ実行制御設定情報保持部２３０は、外部の通信ネットワーク６０との接続を遮断するアプリケーションの実行制御方法を示すアプリ実行制御設定情報２３１を保持し、アプリ不正連携制御部２２０は、不正な連携処理が有ると判断した場合には、当該アプリ実行制御設定情報２３１で示されるアプリケーションの実行制御方法に従って、外部の通信ネットワーク６０との接続を遮断する。
【０１３８】
また、図１１において、「アプリをアンインストール」が「ＯＮ」であれば、図９のＳ８１２の判断後に、アプリ不正連携制御部２２０は、図８のＳ８０１で要求されたアプリケーションをアンインストールするようにインストール制御部２６０へ要求をする（図９のＳ８１６）。これにより、個人情報が外部ネットワーク経由で漏洩される可能性のあるマルチタスク状態のアプリケーションをアンインストールするため、個人情報漏洩を防止できる。
【０１３９】
つまり、アプリ実行制御設定情報保持部２３０は、アプリケーションをアンインストールするアプリケーションの実行制御方法を示すアプリ実行制御設定情報２３１を保持し、アプリ不正連携制御部２２０は、不正な連携処理が有ると判断した場合には、当該アプリ実行制御設定情報２３１で示されるアプリケーションの実行制御方法に従って、要求されたアプリケーションをアンインストールする。
【０１４０】
なお、図１１に示されたいずれのアプリ実行制御設定情報２３１を「ＯＮ」にするかは、アプリ不正連携制御部２２０が自動で選択してもよいし、ユーザによって選択されてもよい。また、制御対象のアプリケーションが、優先的に起動したいアプリケーションである場合には、当該アプリケーションの実行制御は行わないようにしてもよい。
【０１４１】
また、情報処理端末４０がアプリ実行制御設定情報保持部２３０を備えておらず、アプリ不正連携制御部２２０は、アプリ実行制御設定情報２３１を参照することなく、予め定められたアプリケーションの実行制御方法に従って、アプリケーションの実行を制御することにしてもよい。
【０１４２】
図１２は、本発明の実施の形態１における呼出履歴マップ２８１の遷移イメージを示す図である。つまり、同図は、呼出履歴マップ２８１が、アプリケーション起動やプロセス間通信によりどのように更新されていくかをイメージ化した図である。
【０１４３】
図１２の状態１は、アプリＣプロセス１０３、アプリＤプロセス１０４、アプリＥプロセス１０５を起動し、アプリＤプロセス１０４がアプリＣプロセス１０３とプロセス間通信をし、アプリＤプロセス１０４がアプリＥプロセス１０５とプロセス間通信をした状態を示している。
【０１４４】
図１２の状態２は、状態１の後、アプリＢプロセス１０２を起動し、アプリＢプロセス１０２がアプリＣプロセス１０３とプロセス間通信をした状態を示している。
【０１４５】
図１２の状態３は、状態２の後、アプリＡプロセス１０１を起動し、アプリＡプロセス１０１がアプリＢプロセス１０２とプロセス間通信をした状態を示している。
【０１４６】
図１２の状態４は、状態３の後、アプリＡプロセス１０１がアプリＤプロセス１０４とプロセス間通信をした状態を示している。
【０１４７】
ここで、図６で示すように、アプリＡプロセス１０１は個人情報にアクセスでき、アプリＣプロセス１０３は、個人情報にはアクセスできないが、外部ネットワークにアクセスできる。したがって、アプリＡプロセス１０１からアプリＣプロセス１０３までの呼び出しパス上のアプリケーションをマルチタスクで起動すると、個人情報が外部ネットワークを介して外部へ漏洩する危険性があることになる。
【０１４８】
具体的には、状態３の段階では、｛アプリＡプロセス１０１，アプリＢプロセス１０２，アプリＣプロセス１０３｝というマルチタスク状態が、個人情報が外部ネットワークを介して外部へ漏洩される危険性のある状態であることを示している。また、状態４の段階では、状態３の場合に加え、｛アプリＡプロセス１０１，アプリＤプロセス１０４，アプリＣプロセス１０３｝というマルチタスク状態が、個人情報が外部ネットワークを介して外部へ漏洩される危険性のある状態であることを示している。
【０１４９】
したがって、例えば図１２の状態４の場合、アプリ不正連携制御部２２０は、上述した２つのマルチタスク状態にならないようにアプリケーションの起動を制御することで、個人情報が外部ネットワーク漏洩を防止する。
【０１５０】
図１３は、本発明の実施の形態１における呼出履歴マップ２８１の構成を示す図である。具体的には、同図は、図１２の状態４での呼出履歴マップ２８１のイメージを、リスト化して表現したものであり、実際には、呼出履歴マップ保持部２８０は、図１３に示したリスト構造を持つ呼出履歴マップ２８１として保持している。
【０１５１】
呼出履歴マップ２８１は、アプリＩＤ２８２と、各アプリケーションの呼出先のＩＤである呼出先アプリＩＤ２８３とから構成される。例えば、アプリＩＤ「Ａ」は、アプリＩＤ「Ｂ」とアプリＩＤ「Ｄ」と呼出関係があることを示す。
【０１５２】
この呼出履歴マップ２８１とアプリ権限リスト２７１とを参照することで、どんなマルチタスク状態が、個人情報が外部ネットワークで漏洩する危険性がある状態のかを判別することが可能になる。なお、図１２及び図１３の例では、プロセス間通信の呼出関係が片方向になっているが、プロセス間通信であるので、双方向の呼出関係であってもよい。
【０１５３】
図１４Ａ及び図１４Ｂは、本発明の実施の形態１におけるアプリ不正連携制御部２２０によるアプリ実行制御の例を示す図である。
【０１５４】
図１４Ａは、呼出履歴マップ２８１が、図１３（図１２の状態４）の場合で、現在の起動されているアプリケーションが、アプリＡプロセス１０１と、アプリＣプロセス１０３のみで、アプリＢプロセス１０２、アプリＤプロセス１０４及びアプリＥプロセス１０５は起動されていないマルチタスク状態を示している。
【０１５５】
この状態で、アプリＢプロセス１０２を起動しようとすると、アプリ不正連携制御部２２０は、もしアプリＢプロセス１０２を起動した場合、｛アプリＡプロセス１０１，アプリＢプロセス１０２，アプリＣプロセス１０３｝というマルチタスク状態になり、個人情報が漏洩する危険性があると判断し、アプリ実行制御設定情報２３１に基づき、アプリＢプロセス１０２の起動を制御する。
【０１５６】
図１４Ｂは、呼出履歴マップ２８１が、図１３（図１２の状態４）の場合で、現在の起動されているアプリケーションが、アプリＡプロセス１０１もしくはアプリＣプロセス１０３のどちらかのみの状態を示している。この状態で、アプリＢプロセス１０２を起動しようとすると、アプリ不正連携制御部２２０は、アプリＢプロセス１０２を起動したとしても、｛アプリＡプロセス１０１，アプリＢプロセス１０２，アプリＣプロセス１０３｝という個人情報が外部ネットワーク経由で漏洩する危険性のあるマルチタスク状態にならないと判断し、プロセス制御部２００がアプリＢプロセス１０２を起動する。
【０１５７】
以上で実施の形態１の説明を終わる。
【０１５８】
以上のようにすることで、マルウェアによる不正連携判定に利用するパターン情報の更新を、外部のサーバを利用せずに、自端末内でアプリケーション間の呼び出し関係に基づき呼出履歴マップ２８１を生成し更新することで、新たにインストールされたアプリケーションに対しても、個人情報を外部ネットワーク経由で漏洩するようなアプリケーションの不正連携処理を確実に防止することが可能になる。
【０１５９】
具体的には、本発明の実施の形態１に係る情報処理端末４０によれば、アプリケーション間の呼出関係の履歴情報である呼出履歴マップ２８１を情報処理端末４０内で保持し、呼出履歴マップ２８１とアプリ権限リスト２７１とを参照することで、個人情報などの秘密情報に対するアプリケーション間の不正な連携処理の検知が可能になる。また、当該不正な連携処理の有無の判断のために参照する呼出履歴マップ２８１は、情報処理端末４０内のアプリケーションの起動やアプリケーション間の連携処理であるプロセス間通信の要求時に更新される。そのため、従来のサーバからのマルウェアのパターンファイルの更新が不要であり、新たにダウンロードされたアプリケーションに対する不正な連携処理を検知することが可能となる。
【０１６０】
したがって、情報処理端末４０によれば、新たにインストールされたアプリケーションに対しても、個人情報などの秘密情報を漏洩するような不正なアプリケーション間の連携処理を防止することができる。
【０１６１】
また、個人情報などの秘密情報を外部の通信ネットワークに漏洩させるような不正な連携を検知することが可能となり、外部の通信ネットワークを介して個人情報などの秘密情報を漏洩させるアプリケーション間の不正な連携処理を防止することができる。
【０１６２】
また、アプリケーション間の不正な連携処理を検知した後に、アプリケーションを起動させない制御をすることで、不正な連携処理を防止することができる。また、アプリケーション間の不正な連携処理を検知した後に、外部ネットワークとの接続を遮断するため、個人情報などが外部ネットワーク経由で漏洩されるのを防止することが可能となる。また、アプリケーション間の不正な連携処理を検知した後に、不正な連携処理が起こらないマルチタスク状態にまでアプリケーションを終了するため、不正な連携処理により個人情報などの秘密情報が漏洩されるのを防止することが可能となる。また、不正な連携処理に関連するアプリケーションをアンインストールするため、不正な連携処理により個人情報などの秘密情報が漏洩されるのを防止することが可能となる。
【０１６３】
また、ユーザは、不正な連携処理の可能性がある場合に、当該不正な連携処理が行われる危険性があることを示す情報の通知を受けることで、ユーザ自身でアプリケーションの起動を制御することが可能となる。
【０１６４】
（実施の形態２）
続いて、本発明の実施の形態２に係る情報処理端末について説明する。
【０１６５】
上記実施の形態１では、呼出履歴マップ２８１とアプリ権限リスト２７１とを参照し、個人情報などの秘密情報が外部ネットワーク経由で漏洩する危険性のあるマルチタスク状態を特定していた。しかし、アプリケーション実行もしくはプロセス間通信が呼び出される度に当該特定する処理をしていると効率が悪い。そこで、本実施の形態２では、個人情報などの秘密情報が外部ネットワーク経由で漏洩する危険性のあるマルチタスク状態が特定されたものは、不正な連携パターンとして記憶しておき、アプリケーション実行もしくはプロセス間通信が呼び出される度に行われる特定処理を高速化した実施の形態である。多くの処理が実施の形態１と同様であるため、実施の形態１と異なる箇所のみを説明することとし、詳細な説明は省略する。
【０１６６】
図１５は、本発明の実施の形態２における情報処理端末４０ａの全体構成図である。
【０１６７】
実施の形態１と異なるのは、アプリ不正連携パターン保持部３００が追加されていることである。アプリ不正連携パターン保持部３００は、アプリ不正連携パターン３０１を保持するメモリ内の記憶領域である。アプリ不正連携パターン３０１については、図１６を用いて説明する。
【０１６８】
図１６は、本発明の実施の形態２におけるアプリ不正連携パターン３０１を説明する図である。具体的には、同図は、アプリ不正連携パターン保持部３００が保持するアプリ不正連携パターン３０１が、アプリケーションの呼び出しとともにどう変化するのかを示した図である。アプリケーションの呼び出し経過については、図１２と同様として説明する。
【０１６９】
アプリ不正連携パターン３０１は、不正な連携処理が行われる可能性があるアプリケーションの起動状態を示す情報である。具体的には、アプリ不正連携パターン３０１は、個人情報などの秘密情報が外部ネットワーク経由で漏洩する危険性のあるマルチタスク状態のパターンをアプリＩＤの集合パターンで示した情報の集まりである。
【０１７０】
まず、状態１および状態２では、アプリ不正連携パターン３０１は、個人情報などの秘密情報が外部ネットワーク経由で漏洩する危険性のある呼出パスがないので、「空」（何も情報がないことを示す）である。
【０１７１】
そして、状態３になると、アプリＡプロセス１０１からアプリＣプロセス１０３までの呼び出しパス上のアプリケーションをマルチタスクで起動すると、個人情報などの秘密情報が外部ネットワークで漏洩する危険性があることになるため、アプリ不正連携パターン３０１には、アプリＩＤ｛Ａ，Ｂ，Ｃ｝が記録される。
【０１７２】
また、状態４の段階では、状態３の場合に加え、｛アプリＡプロセス１０１，アプリＤプロセス１０４，アプリＣプロセス１０３｝というマルチタスク状態が、個人情報などの秘密情報が外部ネットワークを介して外部へ漏洩される危険性のあるため、アプリ不正連携パターン３０１には、アプリＩＤ｛Ａ，Ｂ，Ｃ｝に加えて、アプリＩＤ｛Ａ，Ｄ，Ｃ｝が追加される。なお、アプリ不正連携パターン３０１に新しい不正連携パターンを更新するのは、呼出履歴マップ更新部２９０が行う。
【０１７３】
次に、図１７を用いて、呼出履歴マップ更新部２９０が、アプリ不正連携パターン保持部３００に対してアプリ不正連携パターン３０１を更新するシーケンスについて説明する。
【０１７４】
図１７は、本発明の実施の形態２における呼出履歴マップ更新部２９０による呼出履歴マップ２８１及びアプリ不正連携パターン３０１の更新処理からアプリ不正連携制御部２２０による不正連携判断までの処理を示すシーケンス図である。
【０１７５】
Ｓ１６０１からＳ１６０４までは、図８のＳ８０１からＳ８０４までと同等な処理なので、説明は省略する。
【０１７６】
次に、呼出履歴マップ更新部２９０は、呼出履歴マップ保持部２８０から呼出履歴マップ２８１を読み込む（Ｓ１６０５）。
【０１７７】
次に、呼出履歴マップ更新部２９０は、アプリ権限リスト保持部２７０から、アプリ権限リスト２７１を読み込む（Ｓ１６０６）。
【０１７８】
次に、呼出履歴マップ更新部２９０は、個人情報などの秘密情報が外部ネットワーク経由で漏洩する危険性のあるマルチタスク状態となる新しい不正連携パターンがあるか否かを判断する（Ｓ１６０７）。
【０１７９】
呼出履歴マップ更新部２９０は、新しい不正連携パターンがあると判断した場合には（Ｓ１６０７でＹＥＳ）、アプリ不正連携パターン保持部３００が保持しているアプリ不正連携パターン３０１に、その新しい不正連携パターンを追記し、更新する。また、呼出履歴マップ更新部２９０は、新しい不正連携パターンがないと判断した場合には（Ｓ１６０７でＮＯ）、Ｓ１６０８へ処理を移す。
【０１８０】
次に、呼出履歴マップ更新部２９０は、アプリ不正連携制御部２２０に対し、Ｓ１６０１で要求された処理をすることにより、個人情報などの秘密情報が外部ネットワーク経由で漏洩する危険性のあるマルチタスク状態となる危険性のある不正連携パターンになるか否かの判断を要求する（Ｓ１６０８）。
【０１８１】
次に、Ｓ１６０８での要求を受けたアプリ不正連携制御部２２０は、アプリ不正連携パターン保持部３００が保持するアプリ不正連携パターン３０１を読み込む（Ｓ１６０９）。
【０１８２】
次に、アプリ不正連携制御部２２０は、プロセス制御部２００からプロセス管理情報２０１を読み込む（Ｓ１６１０）。
【０１８３】
次に、アプリ不正連携制御部２２０は、アプリ不正連携パターン３０１とプロセス管理情報２０１とを参照し、Ｓ１６０１で要求された処理をすることにより、個人情報などの秘密情報が外部ネットワーク経由で漏洩する危険性のあるマルチタスク状態となる危険性のある不正連携パターンになるか否かを判断する（１６１１）。
【０１８４】
アプリ不正連携制御部２２０は、判断の結果、不正連携パターンと判断すれば、アプリ実行制御設定情報保持部２３０が保持するアプリ実行制御設定情報２３１に基づいて、アプリケーションの起動を制御する（Ｓ１６１２）。Ｓ１６１２の詳細については、実施の形態１の図９のＳ８１１からＳ８１６と同等な処理なので、説明は省略する。
【０１８５】
これにより、実施の形態１よりも効率的にアプリケーション間の不正連携の判断が可能となる。つまり、複数のプロセス空間にロードされた共有ライブラリに対して、効率的に改竄チェックすることが可能となる。
【０１８６】
以上で実施の形態２の説明を終わる。
【０１８７】
このように、本発明の実施の形態２に係る情報処理端末４０ａによれば、不正な連携処理となるアプリケーションのマルチタスク状態情報を示すアプリ不正連携パターン３０１を、アプリケーションの呼び出し履歴情報である呼出履歴マップ２８１とは別に保持しておくことで、不正な連携処理の有無の判断において、呼出履歴マップ２８１の解析が不要になり、高速化が可能となる。
【０１８８】
なお、本実施の形態では、図面を用いて説明していないが、呼出履歴マップ２８１やアプリ不正連携パターン３０１は、改竄されると、不正連携の検知処理を迂回される。そのため、これらの情報は、完全性検証するようにしてもよい。完全性検証には、デジタル署名やハッシュ関数などを一般に広く知られる技術を利用すればよい。
【０１８９】
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。
【０１９０】
例えば、情報処理端末は、図１８に示すような構成であってもよい。図１８は、本発明の実施の形態における情報処理端末の最小構成を示す図である。
【０１９１】
具体的には、同図に示すように、情報処理端末４０ｂは、プロセス制御部２００と、アプリ不正連携制御部２２０と、ネットワーク制御部２５０と、インストール制御部２６０と、呼出履歴マップ更新部２９０とを備えている。つまり、個人情報保持部２４０、アプリ実行制御設定情報保持部２３０、アプリ権限リスト保持部２７０及び呼出履歴マップ保持部２８０は、情報処理端末４０ｂには備えられておらず、ＳＤカードなどの外付けのメモリや通信ネットワークを介して接続されたサーバのメモリなどの外部メモリに備えられていることにしてもよい。
【０１９２】
この場合、情報処理端末４０ｂは、外部メモリが備える当該保持部に情報を記憶させ、また当該保持部から情報を取得する。つまり、インストール制御部２６０は、アプリケーションのインストールを行い、プロセス制御部２００は、アプリケーションの起動及びアプリケーション間の連携処理を行う。
【０１９３】
そして、呼出履歴マップ更新部２９０は、アプリケーションの起動またはアプリケーション間の連携処理が要求された場合に、呼出履歴マップ２８１を外部メモリから読み出して、要求された起動または連携処理が行われた場合での呼出履歴マップに更新し、当該外部メモリに記憶させる。
【０１９４】
そして、アプリ不正連携制御部２２０は、最新の呼出履歴マップ２８１とアプリ権限リスト２７１とを外部メモリから読み出して、秘密情報に対するアプリケーション間の不正な連携処理の有無を判断し、不正な連携処理が有ると判断した場合には、アプリ実行制御設定情報２３１を外部メモリから読み出して、アプリ実行制御設定情報２３１で示されるアプリケーションの実行制御方法に従って、アプリケーションの実行を制御する。
【０１９５】
なお、実施の形態２についても同様に、アプリ不正連携パターン保持部３００は、情報処理端末には備えられておらず、ＳＤカードなどの外付けのメモリや通信ネットワークを介して接続されたサーバのメモリなどの外部メモリに備えられていることにしてもよい。
【０１９６】
また、以下のような場合も本発明に含まれる。
【０１９７】
（１）上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、及びマウスなどから構成されるコンピュータシステムである。前記ＲＡＭ又はハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１９８】
（２）上記の各装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。例えば、図１８に示された情報処理端末４０ｂの各構成要素を備える集積回路として実現してもよい。
【０１９９】
システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ及びＲＡＭなどを含むコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０２００】
また、上記の各装置を構成する構成要素の各部は、個別に１チップ化されていても良いし、一部又は全てを含むように１チップ化されてもよい。
【０２０１】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【０２０２】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【０２０３】
（３）上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしてもよい。前記ＩＣカード又は前記モジュールは、マイクロプロセッサ、ＲＯＭ及びＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカード又は前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカード又は前記モジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
【０２０４】
（４）本発明は、情報処理端末に含まれる特徴的な手段をステップとし、アプリケーション間の不正な連携処理を防止するアプリケーション不正連携防止方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０２０５】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、又は半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【０２０６】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、又はデータ放送等を経由して伝送するものとしてもよい。
【０２０７】
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【０２０８】
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０２０９】
（５）上記実施の形態及び上記変形例における構成要素をそれぞれ組み合わせて構築される形態も、本発明の範囲内に含まれる。
【０２１０】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０２１１】
本発明は、マルウェアによる不正連携判定に利用するパターン情報の更新を、外部のサーバを利用せずに、自端末内でアプリケーション間の呼び出し関係に基づきパターン情報を生成し更新することで、新たにインストールされたアプリケーションに対しても、個人情報などの秘密情報を漏洩するような不正なアプリケーション連携処理を確実に防止する情報処理端末を提供することができ、複数アプリケーションの不正な連携処理により、個人情報などの秘密情報が外部ネットワーク経由で防止することが可能であるため、個人情報などの秘密情報を扱うアプリケーションをマルチタスクで動作させる情報処理端末において有用である。
【符号の説明】
【０２１２】
１０  アプリケーション配信システム
２０  アプリケーション配信サーバ
２１  メモリ
３０  アプリ開発装置
４０、４０ａ、４０ｂ、４１  情報処理端末
５０  アプリケーションパッケージ
５１  アプリケーション
５２  アクセス権限情報
５３  アプリ署名リスト
５４  公開鍵証明書
６０  通信ネットワーク
１０１  アプリＡプロセス
１０２  アプリＢプロセス
１０３  アプリＣプロセス
１０４  アプリＤプロセス
１０５  アプリＥプロセス
２００  プロセス制御部
２０２  プロセスＩＤ
２０３  親プロセスＩＤ
２０４、２８２  アプリＩＤ
２１０  アプリ権限判断部
２２０  アプリ不正連携制御部
２３０  アプリ実行制御設定情報保持部
２３１  アプリ実行制御設定情報
２３２  ＯＮ／ＯＦＦ情報
２３３  制御内容
２４０  個人情報保持部
２５０  ネットワーク制御部
２６０  インストール制御部
２７０  アプリ権限リスト保持部
２７１  アプリ権限リスト
２７２  インストールパス
２７３  アクセス権限設定
２８０  呼出履歴マップ保持部
２８１  呼出履歴マップ
２８３  呼出先アプリＩＤ
２９０  呼出履歴マップ更新部
３００  アプリ不正連携パターン保持部
３０１  アプリ不正連携パターン
【図１】
2012046406.tif 000003
【図２】
2012046406.tif 000004
【図３】
2012046406.tif 000005
【図４】
2012046406.tif 000006
【図５】
2012046406.tif 000007
【図６】
2012046406.tif 000008
【図７】
2012046406.tif 000009
【図８】
2012046406.tif 000010
【図９】
2012046406.tif 000011
【図１０】
2012046406.tif 000012
【図１１】
2012046406.tif 000013
【図１２】
2012046406.tif 000014
【図１３】
2012046406.tif 000015
【図１４Ａ】
2012046406.tif 000016
【図１４Ｂ】
2012046406.tif 000017
【図１５】
2012046406.tif 000018
【図１６】
2012046406.tif 000019
【図１７】
2012046406.tif 000020
【図１８】
2012046406.tif 000021
【国際調査報告】
2012046406.tif 000022
2012046406.tif 000023
2012046406.tif 000024
2012046406.tif 000025