JP5891414B2 - 情報処理装置およびアプリケーション不正連携防止方法 - Google Patents

情報処理装置およびアプリケーション不正連携防止方法 Download PDF

Info

Publication number
JP5891414B2
JP5891414B2 JP2012505929A JP2012505929A JP5891414B2 JP 5891414 B2 JP5891414 B2 JP 5891414B2 JP 2012505929 A JP2012505929 A JP 2012505929A JP 2012505929 A JP2012505929 A JP 2012505929A JP 5891414 B2 JP5891414 B2 JP 5891414B2
Authority
JP
Japan
Prior art keywords
application
information
cooperation
unauthorized
call history
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012505929A
Other languages
English (en)
Other versions
JPWO2012046406A1 (ja
Inventor
芳賀 智之
智之 芳賀
松島 秀樹
秀樹 松島
前田 学
学 前田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2012505929A priority Critical patent/JP5891414B2/ja
Publication of JPWO2012046406A1 publication Critical patent/JPWO2012046406A1/ja
Application granted granted Critical
Publication of JP5891414B2 publication Critical patent/JP5891414B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、複数マルウェア間の不正な連携処理による個人情報などの秘密情報の外部漏洩を防止する情報処理装置およびアプリケーション不正連携防止方法に関する。
近年、スマートフォンを始め、オープンプラットフォームを採用した民生機器が急速に普及してきている。現在の民生機器向けオープンプラットフォーム環境では、誰もが、アプリケーションを開発でき、開発したアプリケーションを、アプリケーション配信サイトにアップロードすることが可能である。そして、アプリケーション配信サイトにアップロードされたアプリケーションは、誰もがダウンロード可能であり、ユーザは、それらをインストールすることで、自身の端末の機能を拡張することが可能となっている。
また、複数のアプリケーションを同時に起動可能なマルチタスク機能もサポートされ、あるアプリケーションをバックグラウンドで処理させながら、フォアグラウンドでは別のアプリケーションの処理をしたり、あるいは、複数のアプリケーション間で連携した処理をしたりと、ユーザの利便性は、ますます高くなっている。
また、このようなユーザ端末には、メールアドレスや電話番号などが登録されたアドレス帳や、パスワード情報や、写真等の個人情報が記録されている。誰もがアプリケーション配信サイトにアプリケーションをアップロードできるため、悪意のある者は、これらの個人情報を盗むことができる悪意のあるアプリケーションであるマルウェアを開発して、開発したマルウェアをアプリケーション配信サイトへアップロードする。そして、ユーザが、アップロードされたマルウェアをダウンロードすることで、当該ダウンロードしたユーザが被害を受けることが増加している。さらには、マルウェアも巧妙化しており、複数のマルウェア間で不正に連携しながら、不正な処理をするものも出現してきている。
一般に、複数アプリケーション間の連携処理は、ユーザの目に見えない形で行われる場合が多いため、複数のマルウェア間による連携により、ユーザの知らないうちに個人情報などが外部へ漏洩する危険性がある。
例えば、マルウェアAとマルウェアBとマルウェアCとがあり、それら3つのマルウェアが不正に連携する場合を考える。マルウェアAは、電話帳にアクセスするアプリケーション、マルウェアBがゲームアプリケーション、そしてマルウェアCがブラウザなどの外部の通信ネットワークにアクセスするアプリケーションとする。
マルウェア開発者は、各単体のアプリケーションの動作としては不正処理を行わない正常動作するアプリケーションとして、マルウェアA、B及びCをアプリケーション配信サイトにアップロードする。その後、マルウェア開発者は、それぞれのマルウェアを正常なアプリケーションだと見せかけて、さまざまな巧妙な手口を使い、ユーザに時間をかけてマルウェアA、B及びC全てをダウンロードさせる。
一方、ユーザは、正常なアプリケーションだと認識した上で、マルウェアA、B及びCをダウンロードする。マルウェアA、B及びCは、単体のアプリケーションとしては不正な処理を行わないため、ユーザは、それらマルウェアをアンインストールせずに利用し続ける。さらに、ユーザ端末はマルチタスクにも対応しているため、マルウェアA、B及びCがマルチタスクで起動された時、それらが初めてマルウェアとして動作し、マルウェア間同士で不正に連携し、アプリA→アプリB→アプリCという不正なプロセス間通信により、個人情報を外部の通信ネットワーク経由で漏洩させるという脅威が考えられる。
そこで、従来のマルウェア対策として、例えば、特許文献1に開示された方法が提案されている。特許文献1では、マルウェアに共通の振る舞いを予め不正ルールファイルとして規定し、マルウェアのシグネチャを利用することなく、プロセスによる通信がマルウェアによるものかどうかを判断して不正プロセスを止める方法が開示されている。
また、別のマルウェア対策として、特許文献2に開示された方法も提案されている。特許文献2では、疑わしいイベントが、予め決められた閾値を満たす場合、マルウェアと判定し、マルウェアが拡散しないように、セキュリティ設定に設定された制御を行う方法が開示されている。
特許第4327698号公報 特開2006−285983号公報
しかしながら、上記従来の特許文献1の構成では、不正ルールファイルが固定的な情報であり、アプリケーションがインストールされるような端末においては、ダウンロードされたアプリケーションに対応した新たな不正ルールファイルを、サーバから取得し更新する必要がある。そのため、アプリケーションがダウンロードされるような端末においては、ダウンロードされたアプリケーションによる不正な連携処理については、サーバから不正ルールファイルを取得し更新しない限り検知できないという課題を有していた。
また、上記従来の特許文献2の構成でも、マルウェアであるか否かの判定に利用する閾値情報は固定的な情報である。そのため、アプリケーションがインストールされるような端末においては、ダウンロードされたアプリケーションによる不正な連携処理については、サーバから当該閾値情報を取得し更新しない限り検知できないという同様の課題を有していた。
そこで、本発明は、上記従来の課題を解決するものであり、新たにインストールされたアプリケーションに対しても、個人情報などの秘密情報を漏洩するような不正なアプリケーション間の連携処理を防止することができる情報処理装置およびアプリケーション不正連携防止方法を提供することを目的とする。
上記従来の課題を解決するために、本発明の一形態に係る情報処理装置は、外部の通信ネットワークとの接続を行うネットワーク制御部と、アプリケーションのインストールを行うインストール制御部と、前記アプリケーションの起動及び前記アプリケーション間の連携処理を行うプロセス制御部と、前記アプリケーションの起動または前記アプリケーション間の連携処理が要求された場合に、前記アプリケーション間の呼出関係の履歴情報である呼出履歴マップを、要求された前記起動または前記連携処理が行われた場合での呼出履歴マップに更新する呼出履歴マップ更新部と、前記呼出履歴マップと前記アプリケーションのアクセス権限情報を含むアプリ権限リストとから得られる情報を用いて、秘密として管理されている情報である秘密情報に対するアプリケーション間の不正な連携処理の有無を判断し、前記不正な連携処理が有ると判断した場合には、前記秘密情報に対するアプリケーション間の不正な連携処理に応じたアプリケーションの実行制御方法に従って、前記アプリケーションの実行を制御するアプリ不正連携制御部とを備える。
この構成によれば、アプリケーション間の呼出関係の履歴情報である呼出履歴マップとアプリ権限リストとを参照することで、秘密情報に対するアプリケーション間の不正な連携処理の検知が可能になる。また、当該不正な連携処理の有無の判断のために参照する呼出履歴マップは、情報処理装置内のアプリケーションの起動やアプリケーション間の連携処理であるプロセス間通信の要求時に更新される。そのため、従来のサーバからのマルウェアのパターンファイルの更新が不要であり、新たにダウンロードされたアプリケーションに対する不正な連携処理を検知することが可能となる。したがって、当該情報処理装置によれば、新たにインストールされたアプリケーションに対しても、個人情報などの秘密情報を漏洩するような不正なアプリケーション間の連携処理を防止することができる。
また、好ましくは、前記アプリ不正連携制御部は、個人情報または機密情報へのアクセス権利であるアクセス権限情報を含む前記アプリ権限リストから得られる情報を用いて、前記不正な連携処理の有無を判断する。
この構成によれば、個人情報または機密情報に対するアプリケーションの不正な連携処理を検知することが可能となる。
また、好ましくは、前記アプリ不正連携制御部は、前記外部の通信ネットワークへのアクセス権利であるアクセス権限情報をさらに含む前記アプリ権限リストから得られる情報を用いて、前記不正な連携処理の有無を判断する。
この構成によれば、秘密情報を外部の通信ネットワークに漏洩させるような不正な連携を検知することが可能となる。
また、好ましくは、前記アプリ不正連携制御部は、前記外部の通信ネットワークを介して前記秘密情報を漏洩させるアプリケーション間の不正な連携処理の有無を判断し、当該不正な連携処理が有ると判断した場合には、当該不正な連携処理を防止することができるアプリケーションの実行制御方法を示すアプリ実行制御設定情報に基づき、前記アプリケーションの実行を制御する。
この構成によれば、外部の通信ネットワークを介して秘密情報を漏洩させるアプリケーション間の不正な連携処理を防止することができる。
また、好ましくは、前記アプリ不正連携制御部は、前記不正な連携処理が有ると判断した場合には、要求されたアプリケーションの起動を行わないアプリケーションの実行制御方法を示すアプリ実行制御設定情報に基づき、当該アプリ実行制御設定情報で示されるアプリケーションの実行制御方法に従って、アプリケーションの起動を行わない。
この構成によれば、アプリケーション間の不正な連携処理を検知した後に、アプリケーションを起動させない制御をすることで、不正な連携処理を防止することができる。
また、好ましくは、前記アプリ不正連携制御部は、前記不正な連携処理が有ると判断した場合には、前記外部の通信ネットワークとの接続を遮断するアプリケーションの実行制御方法を示すアプリ実行制御設定情報に基づき、当該アプリ実行制御設定情報で示されるアプリケーションの実行制御方法に従って、前記外部の通信ネットワークとの接続を遮断する。
この構成によれば、アプリケーション間の不正な連携処理を検知した後に、外部ネットワークとの接続を遮断するため、個人情報などの秘密情報が外部ネットワーク経由で漏洩されるのを防止することが可能となる。
また、好ましくは、前記アプリ不正連携制御部は、前記不正な連携処理が有ると判断した場合には、前記不正な連携処理が無いと判断するまでアプリケーションを終了させるアプリケーションの実行制御方法を示すアプリ実行制御設定情報に基づき、当該アプリ実行制御設定情報で示されるアプリケーションの実行制御方法に従って、前記不正な連携処理が無いと判断するまで既に起動されているアプリケーションを終了する。
この構成によれば、アプリケーション間の不正な連携処理を検知した後に、不正な連携処理が起こらないマルチタスク状態にまでアプリケーションを終了するため、不正な連携処理により秘密情報が漏洩されるのを防止することが可能となる。
また、好ましくは、前記アプリ不正連携制御部は、前記不正な連携処理が有ると判断した場合には、アプリケーションをアンインストールするアプリケーションの実行制御方法を示すアプリ実行制御設定情報に基づき、当該アプリ実行制御設定情報で示されるアプリケーションの実行制御方法に従って、要求されたアプリケーションをアンインストールする。
この構成によれば、不正な連携処理に関連するアプリケーションをアンインストールするため、不正な連携処理により秘密情報が漏洩されるのを防止することが可能となる。
また、好ましくは、前記アプリ不正連携制御部は、前記不正な連携処理が有ると判断した場合には、当該不正な連携処理が行われる危険性があることを示す情報をユーザに通知する。
この構成によれば、ユーザは、不正な連携処理の可能性がある場合に、当該不正な連携処理が行われる危険性があることを示す情報の通知を受けることで、ユーザ自身でアプリケーションの起動を制御することが可能となる。
また、好ましくは、前記呼出履歴マップ更新部は、さらに、更新後の前記呼出履歴マップと前記アプリ権限リストとを参照して、前記不正な連携処理が行われる可能性があるアプリケーションの起動状態を示すアプリ不正連携パターンを更新し、前記アプリ不正連携制御部は、前記アプリ不正連携パターンを参照して、前記アプリケーション間の不正な連携処理の有無を判断する。
この構成によれば、不正な連携処理となるアプリケーションのマルチタスク状態情報を示すアプリ不正連携パターンを用いることで、不正な連携処理の有無の判断において、呼出履歴マップの解析が不要になり、高速化が可能となる。
また、好ましくは、さらに、前記秘密情報を保持する秘密情報保持部と、前記呼出履歴マップを保持する呼出履歴マップ保持部と、前記アプリ権限リストを保持するアプリ権限リスト保持部と、前記秘密情報に対するアプリケーション間の不正な連携処理に応じたアプリケーションの実行制御方法を示すアプリ実行制御設定情報を保持するアプリ実行制御設定情報保持部とを備え、前記呼出履歴マップ更新部は、前記呼出履歴マップ保持部に保持されている前記呼出履歴マップを更新し、前記アプリ不正連携制御部は、更新された前記呼出履歴マップと前記アプリ権限リスト保持部に保持されている前記アプリ権限リストとから得られる情報を用いて、前記秘密情報保持部に保持されている前記秘密情報に対するアプリケーション間の不正な連携処理の有無を判断し、前記不正な連携処理が有ると判断した場合には、前記アプリ実行制御設定情報保持部に保持されている前記アプリ実行制御設定情報で示されるアプリケーションの実行制御方法に従って、前記アプリケーションの実行を制御する。
この構成によれば、情報処理装置は、秘密情報と呼出履歴マップとアプリ権限リストとアプリ実行制御設定情報とを保持しており、これらの情報を用いて、アプリケーションの実行を制御する。これにより、当該情報処理装置は、秘密情報を漏洩するような不正なアプリケーション間の連携処理を防止することができる。
なお、本発明は、このような情報処理装置として実現できるだけでなく、情報処理装置に含まれる特徴的な手段をステップとし、アプリケーション間の不正な連携処理を防止するアプリケーション不正連携防止方法として実現したり、そのような特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
さらに、本発明は、このような情報処理装置の機能の一部又は全てを実現する半導体集積回路(LSI)として実現できる。
本発明に係る情報処理装置によれば、新たにインストールされたアプリケーションに対しても、個人情報などの秘密情報を漏洩するようなアプリケーション間の不正な連携処理を防止することが可能になる。
図1は、本発明の実施の形態1におけるアプリケーション配信システムの構成図である。 図2は、本発明の実施の形態1におけるアプリケーションパッケージの構成図である。 図3は、本発明の実施の形態1における情報処理端末の全体構成図である。 図4は、本発明の実施の形態1における情報処理端末の動作の一例を示すフローチャートである。 図5は、本発明の実施の形態1におけるインストール制御部がアプリケーションをインストールする処理を示すシーケンス図である。 図6は、本発明の実施の形態1におけるアプリ権限リスト保持部が保持するアプリ権限リストの一例を示す図である。 図7は、本発明の実施の形態1におけるプロセス制御部が実行中のアプリプロセス状況を識別する際に保持しているプロセス管理情報の一例を示す図である。 図8は、本発明の実施の形態1における呼出履歴マップ更新部による呼出履歴マップ更新処理からアプリ不正連携制御部による不正連携判断までの処理を示すシーケンス図である。 図9は、本発明の実施の形態1における呼出履歴マップ更新部による呼出履歴マップ更新処理からアプリ不正連携制御部による不正連携判断までの処理を示すシーケンス図である。 図10は、本発明の実施の形態1におけるアプリ不正連携制御部が不正な連携処理の有無を判断する処理を示すフローチャートである。 図11は、本発明の実施の形態1におけるアプリ実行制御設定情報の一例を示す図である。 図12は、本発明の実施の形態1における呼出履歴マップの遷移イメージを示す図である。 図13は、本発明の実施の形態1における呼出履歴マップの構成を示す図である。 図14Aは、本発明の実施の形態1におけるアプリ不正連携制御部によるアプリ実行制御の例を示す図である。 図14Bは、本発明の実施の形態1におけるアプリ不正連携制御部によるアプリ実行制御の例を示す図である。 図15は、本発明の実施の形態2における情報処理端末40の全体構成図である。 図16は、本発明の実施の形態2におけるアプリ不正連携パターンを説明する図である。 図17は、本発明の実施の形態2における呼出履歴マップ更新部による呼出履歴マップ及びアプリ不正連携パターンの更新処理からアプリ不正連携制御部による不正連携判断までの処理を示すシーケンス図である。 図18は、本発明の実施の形態における情報処理端末の最小構成を示す図である。
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、構成要素、構成要素の配置位置及び、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。本発明は、請求の範囲だけによって限定される。よって、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、本発明の課題を達成するのに必ずしも必要ではないが、より好ましい形態を構成するものとして説明される。
(実施の形態1)
図1は、本発明の実施の形態1におけるアプリケーション配信システム10の構成図である。
同図に示すように、アプリケーション配信システム10は、アプリケーション配信サーバ20と、アプリ開発装置30と、情報処理装置である情報処理端末40、41とを有するシステムである。
情報処理端末40は、アプリケーション配信サーバ20のメモリ21に記憶されているアプリケーションパッケージ50を、通信ネットワーク60を介してダウンロードする。ダウンロード後、情報処理端末40は、アプリケーションパッケージ50をインストールすることで、新しい機能を追加する。アプリケーションパッケージ50の構成については、図2を用いて後述する。
アプリ開発装置30は、情報処理端末40上で動作するアプリケーションを開発する装置である。アプリ開発装置30は、Universal Serial Bus等のインターフェースで情報処理端末41と接続され、情報処理端末41上で、開発したアプリケーションが想定通りの動作を行うかのテストを実施する。その後、アプリ開発装置は、通信ネットワーク60を介して、開発したアプリケーションを、アプリケーション配信サーバ20へアップロードする。なお、情報処理端末40と情報処理端末41は、同じ機能を持つ端末である。
図2は、本発明の実施の形態1におけるアプリケーションパッケージ50の構成図である。アプリケーションパッケージ50は、アプリケーション51と、アクセス権限情報52と、アプリ署名リスト53と、公開鍵証明書54とを有する。
アプリケーション51は、情報処理端末40上で実行されるアプリケーションのコードである。つまり、アプリケーション51は、アプリ開発装置30内にある不図示のソフトウェア開発キット(Software Development Kit:SDK)のコンパイラやリンカによって生成されたコードである。
アクセス権限情報52は、アプリケーション51が情報処理端末40上で動作する際のアクセス権限の情報をリスト化したものである。アクセス権限情報52は、情報処理端末40が、アプリケーションパッケージ50のインストール時に、アプリケーションパッケージ50内のアプリケーション51がどのような権限で動作するかをユーザに提示する際に利用される。また、アクセス権限情報52は、情報処理端末40内でアプリケーション51を実行する際のアクセス制御に利用される。
ここで、アクセス権限情報52は、例えば、アプリケーション51が、個人情報などの秘密情報にアクセスする権利があるのか、通信ネットワーク60などの外部ネットワークにアクセスする権利があるかなどを示した情報がリスト化されたものである。なお、秘密情報とは、秘密として管理されている情報であり、例えば、個人情報または企業の機密情報などの情報である。
また、秘密情報にアクセスする権利には、秘密情報に直接アクセスする権利だけではなく、SDカードなどのメモリへの書き込みまたは読み出しを行う権利も含まれる。つまり、当該メモリに秘密情報を書き込み、また当該メモリから秘密情報を読み出すことで、当該秘密情報にアクセスすることができる。
なお、アクセス権限情報52は、秘密情報、または外部ネットワークにアクセスする権利があるかなどを示した情報に限らなくても良い。つまり、アクセス権限情報52は、情報処理端末40上でアプリケーション51を動作させるためのプラットフォームがサポートしているアクセス権限情報であればよい。
アプリ署名リスト53は、アプリケーションパッケージ50を構成する全ての情報についてハッシュ値をリスト化し、それに対してデジタル署名を付与したものである。アプリ署名リスト53は、アプリケーションパッケージ50のインストール時に、アプリケーションパッケージ50内の情報の署名検証に利用される。
公開鍵証明書54は、アプリ署名リスト53による署名検証に利用される公開鍵の情報が格納された証明書である。
アプリケーション署名生成・検証アルゴリズムは、公開鍵暗号基盤(Public Key Infrastructure:以降PKI)で広く利用されるアルゴリズムを利用すればよい。また、公開鍵証明書54は、PKIで広く利用される証明書フォーマットであるX.509のフォーマットであってもよい。
図3は、本発明の実施の形態1における情報処理端末40の全体構成図である。
同図に示すように、情報処理端末40は、5つのアプリケーションプロセスであるアプリAプロセス101、アプリBプロセス102、アプリCプロセス103、アプリDプロセス104及びアプリEプロセス105と、プロセス制御部200と、アプリ権限判断部210と、アプリ不正連携制御部220と、アプリ実行制御設定情報保持部230と、呼出履歴マップ更新部290と、個人情報保持部240と、ネットワーク制御部250と、インストール制御部260と、アプリ権限リスト保持部270と、呼出履歴マップ保持部280とを備えている。
ここでの情報処理端末40は、スマートフォンを始めとするモバイル機器や、DVD(Digital Versatile Disc)やBD(Blu−ray(登録商標) Disc)などのメディアを再生する機器や、TVやゲーム機などの民生機器や、PCなど、ネットワークが接続される機器であればよい。
また、アプリ実行制御設定情報保持部230、個人情報保持部240、アプリ権限リスト保持部270及び呼出履歴マップ保持部280のそれぞれは、情報処理端末40が備えるメモリ内の記憶領域である。
インストール制御部260は、アプリケーションのインストールを行う。具体的には、インストール制御部260は、図1及び図2で説明したアプリケーションパッケージ50をインストールする際に、アプリケーションの署名検証や、アクセス権限情報をユーザに通知し、ユーザによるインストール許可後、インストールを行う。
また、インストールされたアプリケーションパッケージ50は、アプリケーションを識別するためのアプリID204と関連づけられて、図示しない不揮発メモリに記録される。アプリケーションパッケージ50の公開鍵証明書54も、アプリID204と関連づけられて管理される。アプリケーションパッケージ50のアクセス権限情報52は、アプリ権限リスト保持部270が保持しているアプリ権限リスト271に記録される。アプリ権限リスト271は、図6を用いて後述する。
アプリAプロセス101、アプリBプロセス102、アプリCプロセス103、アプリDプロセス104及びアプリEプロセス105のそれぞれは、アプリケーションのプロセスである。図3の例では、5つのアプリケーションが実行されている例を示している。プロセスとしては、アプリケーションプロセス以外のプロセスがあってもよい。
プロセス制御部200は、アプリケーションの起動及び当該アプリケーション間の連携処理を行う。
具体的には、プロセス制御部200は、起動した5つのアプリケーションプロセス(アプリAプロセス101〜アプリEプロセス105)を管理する処理部であり、各アプリケーションプロセスに対し、プロセスを識別するためのプロセスID202と上述したアプリID204とを対応づけたプロセス管理情報201を保持している。プロセス管理情報201については、図7を用いて後述する。
さらに、プロセス制御部200は、プロセス間通信の制御も行う。プロセス制御部200は、プロセス間通信の制御の際に、呼出履歴マップ更新部290へ各プロセスの呼出関係を記録した呼出履歴マップ281を更新する要求を行う。呼出履歴マップ281の更新処理については、図13、図14A及び図14Bを用いて後述する。
個人情報保持部240は、個人情報となる電話番号や住所やメールアドレスなどが登録されたアドレス帳を保持する。また、個人情報保持部240は、アドレス帳でなく、写真データや電子メールなどを保持していてもよい。また、個人の行動履歴を記録する端末であれば、行動履歴情報も個人情報となる。行動履歴とは、商品購入履歴や個人の位置情報やインターネットでの検索履歴などが含まれる情報である。
ここで、個人情報保持部240は、個人情報とともに、または個人情報に代えて、企業秘密などの機密情報を保持していてもよい。つまり、個人情報保持部240は、秘密として管理されている個人情報または機密情報などの秘密情報を保持する秘密情報保持部であってもよい。この場合、情報処理端末40は、当該秘密情報の漏洩を防止する機能を有することにしてもよいが、以下では、個人情報の漏洩を防止することとして説明する。
なお、本実施の形態では、これら個人情報を全て外部へ漏洩しないようにしているが、それぞれの個人情報の種類毎に外部へ漏洩しないように設定できるようにしてもよい。例えば、個人のライフスタイルに適したサービスを受けるために、行動履歴の個人情報は外部のサーバに送信できるようにする場合が考えられる。本実施の形態では図示していないが、この場合は、行動履歴のみ外部に漏洩できないような設定がされ、さらに他の個人情報は外部漏洩を防止するという設定がされた設定情報を端末に保持しておき、アプリ不正連携制御部220が、当該設定情報を参照することで、個人情報に対するアクセス制御を行えばよい。また、当該設定情報は、ユーザによって設定されるようにしてもよい。
ネットワーク制御部250は、外部の通信ネットワーク60との接続を行う。つまり、ネットワーク制御部250は、外部ネットワークへ接続するためのネットワークデバイスの制御をする。外部ネットワークデバイスとは、無線ネットワークデバイスや有線ネットワークデバイスである。また、ネットワーク制御部250は、携帯電話の通信網への接続を制御する処理部であってもよい。
アプリ権限判断部210は、5つのアプリケーションプロセス(アプリAプロセス101〜アプリEプロセス105)が、プロセス制御部200を介し、個人情報保持部240やネットワーク制御部250へアクセスする際に、図6で示すアプリ権限リスト保持部270が保持するアプリ権限リスト271を参照し、アクセスが許可されているか否かを判断する。アプリ権限判断部210による判断結果は、プロセス制御部200へ返され、プロセス制御部200は、その判断結果に基づき、個人情報保持部240やネットワーク制御部250へのアクセス制御を行う。
次に、呼出履歴マップ更新部290と呼出履歴マップ保持部280について説明する。
呼出履歴マップ保持部280は、図3に示すアプリケーションプロセス(アプリAプロセス101〜アプリEプロセス105)間での呼出関係の履歴情報である呼出履歴マップ281を保持する。
呼出履歴マップ更新部290は、アプリケーションの起動またはアプリケーション間の連携処理が要求された場合に、呼出履歴マップ281を、要求された起動または連携処理が行われた場合での呼出履歴マップに更新する。具体的には、呼出履歴マップ更新部290は、プロセス制御部200から呼出履歴マップ281の更新要求を受け、呼出履歴マップ保持部280へアクセスし、呼出履歴マップ281を更新する。呼出履歴マップ281を更新する処理については、図13、図14A及び図14Bを用いて後述する。
次に、アプリ不正連携制御部220と、アプリ実行制御設定情報保持部230について説明する。
アプリ実行制御設定情報保持部230には、アプリケーション間の不正連携処理を検知した場合に、検知後のアプリケーションの振る舞いの設定情報が登録されている。具体的には、アプリ実行制御設定情報保持部230は、個人情報に対するアプリケーション間の不正な連携処理に応じたアプリケーションの実行制御方法を示すアプリ実行制御設定情報231を保持する。ここで、アプリ実行制御設定情報231は、外部の通信ネットワーク60を介して個人情報を漏洩させるアプリケーション間の不正な連携処理を防止することができるアプリケーションの実行制御方法を示す情報である。
アプリ不正連携制御部220は、呼出履歴マップ281とアプリ権限リスト271とを参照して、個人情報に対するアプリケーション間の不正な連携処理の有無を判断し、当該不正な連携処理が有ると判断した場合には、アプリ実行制御設定情報231で示されるアプリケーションの実行制御方法に従ってアプリケーションの実行を制御する。具体的には、アプリ不正連携制御部220は、当該不正な連携処理の有無を判断し、当該不正な連携処理が有ると判断した場合には、当該不正な連携処理を防止することができるアプリケーションの実行制御方法を示すアプリ実行制御設定情報231に基づき、アプリケーションの実行を制御する。
つまり、アプリ不正連携制御部220は、個人情報が外部ネットワークを経由して漏洩する危険性があるアプリケーションの起動状態にならないように、すなわちアプリケーション間で不正な連携処理が行われないように制御する処理部である。具体的には、アプリ不正連携制御部220は、アプリ権限リスト保持部270が保持するアプリ権限リスト271と、呼出履歴マップ保持部280が保持する呼出履歴マップ281とを参照し、個人情報が外部ネットワークを経由して漏洩する危険性があるアプリケーションの起動状態になるか否かを判断する。
アプリ不正連携制御部220は、不正連携と判断、すなわち、個人情報が外部ネットワーク経由で漏洩する危険性ありと判断した場合は、アプリ実行制御設定情報231に基づき、アプリケーションプロセスの実行制御を行う。アプリ不正連携制御部220による判断処理と、アプリ実行制御設定情報231に基づいたアプリ制御方法の詳細については、図8から図15を用いて例を示しながら後述する。
図4は、本発明の実施の形態1における情報処理端末40の動作の一例を示すフローチャートである。具体的には、同図は、情報処理端末40におけるアプリケーションパッケージ50のインストールから、個人情報が外部ネットワークに漏洩することを防止するためのアプリケーションの動作を制御するまでの概要フローである。
まず、情報処理端末40は、アプリケーション配信サーバ20にあるアプリケーションパッケージ50を、通信ネットワーク60を介してダウンロードする。ダウンロード後、情報処理端末40のインストール制御部260が、アプリケーションパッケージ50をインストールする(S401)。S401において、アプリケーションパッケージ50内のファイルの署名検証を実施し、署名検証OKなら、アクセス権限情報をユーザに通知し、ユーザによるインストール許可後、インストールを行う。インストール処理のフローについては、図5を用いて後述する。
次に、情報処理端末40内にインストールされているアプリケーションの起動要求、もしくは、アプリケーション間の連携処理要求が行われる(S402)。S402での要求は、プロセス制御部200へ通知される。S402における起動要求もしくはプロセス間通信要求されるアプリケーションは、アプリケーション配信サーバ20からダウンロードしたものだけでなく、プリインストールされたアプリケーションであってもよい。
この場合、プリインストールされたアプリケーションの公開鍵証明書54やアクセス権限情報52も、アプリケーション配信サーバ20からダウンロードしたアプリケーションのものと同様に管理される。また、ここでのアプリケーションの起動要求もしくは、プロセス間通信要求は、ユーザが明示的に行うケースもあれば、アプリケーションが起動中にユーザの要求なしに自動的に行われるケースもある。
次に、S402の要求を受けたプロセス制御部200は、呼出履歴マップ更新部290を介して起動要求対象のアプリケーション、もしくはプロセス間通信要求対象のアプリケーションを特定し、呼出元と呼出先とを特定し、呼出関係をマップ化して呼出履歴マップ保持部280に呼出履歴マップ281を生成し、更新する(S403)。
次に、アプリ不正連携制御部220は、アプリ権限リスト保持部270が保持するアプリ権限リスト271と、呼出履歴マップ保持部280が保持する呼出履歴マップ281とを参照し、S402で要求されたアプリケーションを起動した場合あるいはプロセス間通信要求がされた場合に、個人情報が外部ネットワークを経由して漏洩する危険性があるアプリケーションの起動状態になるか否かを、現在のプロセス起動状況から判断する(S404)。
次にS404の結果、個人情報が外部ネットワークを経由して漏洩する危険性がなし(不正連携ではない)と判断されれば(S404でNO)、プロセス制御部200がS402で要求されたアプリケーションの起動、もしくは、アプリケーション間の連携処理を行う(S405)。
もし、S404の結果、個人情報が外部ネットワークを経由して漏洩する(不正連携される)危険性があると判断されれば(S404でYES)、アプリ不正連携制御部220が、アプリ実行制御設定情報231に基づき、アプリケーションの実行を制御する(S406)。
図5は、本発明の実施の形態1におけるインストール制御部260がアプリケーションをインストールする処理を示すシーケンス図である。つまり、同図は、情報処理端末40が、アプリケーション配信サーバ20にあるアプリケーションパッケージ50を、通信ネットワーク60を介してダウンロードして、インストールする処理(図4におけるS401)の詳細フローである。
まず、情報処理端末40のインストール制御部260は、ネットワーク制御部250を介して外部の通信ネットワーク60に接続し、アプリケーション配信サーバ20へアプリダウンロード要求を行う(S501)。ここで、アプリダウンロード要求とは、アプリケーションパッケージ50をダウンロードする要求である。
次に、アプリケーション配信サーバ20は、情報処理端末40へ、要求されたアプリケーションパッケージ50を配信する(S502)。
次に、インストール制御部260は、アプリケーションパッケージ50をダウンロードする(S503)。
次に、インストール制御部260は、アプリケーションパッケージ50の署名検証を行う(S504)。署名検証には、公開鍵証明書54を利用し、アプリ署名リストが改竄されていないことを確認するステップと、アプリケーションパッケージ50内の各ファイルが改竄されていないかどうかを確認するステップとがある。署名検証の結果が「検証NG」であれば(S504でNG)、アプリケーションパッケージ50のインストールを終了する。そうではなく、署名検証の結果が「検証OK」であれば(S504でOK)、S505の処理に移る。
次に、インストール制御部260は、アプリケーションパッケージ50のアクセス権限情報52を参照し、インストール対象のアプリケーションがどのような権限を持ったアプリケーションであるのかチェックし、インストールの許可または不許可を判断する(S505)。
例えば、インストール制御部260は、ユーザにアクセス権限情報52の内容を提示し、ユーザにインストール許可の判断をさせてもよい。または、情報処理端末40内に、予めインストール許可なものをリスト化したホワイトリストもしくは、インストール不許可なものをリスト化したブラックリストを記録しておき、それらリストの内容によってインストール制御部260が判断するようにしてもよい。また、これらリストの内容は、ユーザが設定できるようにしてもよい。
次に、インストール制御部260は、S505の結果が「インストール不許可」と判断した場合には(S505で「不許可」)、アプリケーションパッケージ50のインストールを終了する。そうではなく、インストール制御部260は、S504の結果が「インストール許可」と判断した場合には(S505で「許可」)、アプリ権限リスト更新依頼を行う(S506)。ここで、アプリ権限リスト更新依頼とは、アプリ権限リスト271を更新する依頼である。
このアプリ権限リスト更新依頼により、アプリ権限リスト保持部270が保持しているアプリ権限リスト271に、インストール対象アプリケーションのアクセス権限情報52が追加される。
次に、インストール制御部260は、図示しない不揮発メモリにアプリケーション51を記録し、アプリケーション51を識別するためのアプリID204とアプリケーション51とを関連づけて管理する。アプリケーションパッケージ50の公開鍵証明書54も、アプリID204と関連づけて記録される(S508)。
以上で、アプリケーションパッケージ50のインストール処理フローの説明を終わる。
図6は、本発明の実施の形態1におけるアプリ権限リスト保持部270が保持するアプリ権限リスト271の一例を示す図である。図6では、図3のように5つのアプリケーションプロセス(アプリAプロセス101〜アプリEプロセス105)がインストールされた例を示している。
アプリ権限リスト271は、アプリケーションを識別するためのアプリID204のフィールドと、アプリケーションのインストール先を示したインストールパス272のフィールドと、各アプリケーションのアクセス権限情報52の内容が登録されたアクセス権限設定273のフィールドとを持つ。
図6の例では、図3のアプリAプロセス101で示されるアプリケーションAは、写真ビューワのアプリケーションであり、アプリIDが「A」で、インストールパスが、「/data/app/photoviewer.exe」であり、個人情報へアクセス可で、外部ネットワークへはアクセス不可であることを示している。
また、アプリCプロセス103で示されるアプリケーションCは、ブラウザアプリであり、アプリIDが「C」で、インストールパスが、「/data/app/browser.exe」であり、個人情報へアクセス不可で、外部ネットワークへはアクセス可であることを示している。他のアプリケーションについても同様なので、説明は省略する。
このように、アプリ権限リスト保持部270は、個人情報へのアクセス権利であるアクセス権限情報と、外部の通信ネットワーク60へのアクセス権利であるアクセス権限情報とを含むアプリ権限リスト271を保持している。
図7は、本発明の実施の形態1におけるプロセス制御部200が実行中のアプリプロセス状況を識別する際に保持しているプロセス管理情報201の一例を示す図である。
プロセス管理情報201は、プロセスを識別するためのプロセスID202のフィールドと、そのプロセスの親プロセスを識別するための親プロセスID203のフィールドと、そのプロセスがどのアプリケーションに対応するのかを識別するためのアプリID204のフィールドとから構成される。
図7の例では、図3のアプリAプロセス101で示されるアプリケーションAは、プロセスIDが「10」として動作し、親プロセスIDが「1」、アプリIDが「A」であることを示している。他のアプリケーションについても同様なので、説明は省略する。
図8及び図9は、本発明の実施の形態1における呼出履歴マップ更新部290による呼出履歴マップ更新処理からアプリ不正連携制御部220による不正連携判断までの処理を示すシーケンス図である。
まず、図8に示すように、プロセス制御部200が、アプリケーションのプロセスの制御に関する要求(アプリケーション起動要求もしくはプロセス間通信要求や、プロセス停止・終了要求等)を受信する(S801)。
次に、プロセス制御部200は、受信した要求が、アプリケーション起動もしくはプロセス間通信であるか否かを判断する(S802)。プロセス制御部200は、受信した要求が、アプリケーション起動もしくはプロセス間通信であると判断した場合には(S802でYES)、S803へ処理を移す。また、プロセス制御部200は、アプリケーション起動でなくプロセス間通信でもないと判断した場合には(S802でNO)、S801で要求された処理を実行する。
次に、呼出履歴マップ更新部290は、アプリ呼出元確認を行う(S803)。プロセス制御部200が受信した要求が、アプリケーション起動もしくはプロセス間通信の要求であれば、呼出履歴マップ更新部290は、呼出元と呼出先のプロセスを確認する。
次に、呼出履歴マップ更新部290は、S803で確認したプロセス呼出関係を、呼出履歴マップ保持部280の呼出履歴マップ281に書き込むことで、呼出履歴マップ281を更新する(S804)。
次に、呼出履歴マップ更新部290は、S801で要求されたプロセス制御要求を実行することで、個人情報が外部ネットワークを経由して漏洩する危険性があるアプリケーションの起動状態になるか否かを判断するために、アプリ不正連携制御部220に対して不正連携判定要求を出す(S805)。
次に、S805の判定要求を受けたアプリ不正連携制御部220は、呼出履歴マップ保持部280から呼出履歴マップ281を読み込む(S806)。
次に、アプリ不正連携制御部220は、アプリ権限リスト保持部270からアプリ権限リスト271を読み込む(S807)。
次に、アプリ不正連携制御部220は、プロセス制御部200からプロセス管理情報201を読み込む(S808)。
次に、図9に示すように、アプリ不正連携制御部220は、S806からS808で読み込んだ呼出履歴マップ281と、アプリ権限リスト271と、プロセス管理情報201とを参照し、S801で要求されたプロセス制御要求を実行することで、個人情報が外部ネットワークを経由して漏洩する危険性があるマルチタスク状態になるか否かを判断する(S809)。
上述した判断方法については、図10で詳細なステップを説明し、図12で具体例を用いて後述する。
S809の結果、個人情報が外部ネットワークを経由して漏洩する危険性がない(不正連携ではない)と判断されれば(S809でNO)、図8のS801で要求された処理が行われる(S810)。
また、アプリ不正連携制御部220は、個人情報が外部ネットワークを経由して漏洩する(不正連携される)危険性があると判断した場合には(S809でYES)、アプリ実行制御設定情報保持部230に登録されているアプリ実行制御設定情報231を読み出し(S811)、アプリケーションの実行を制御する(S812)。アプリ実行制御については、S813からS816と図11とを用いて説明する。
なお、図示していないが、アプリ不正連携制御部220は、S809で不正な連携処理が有ると判断した場合は、当該不正な連携処理が行われる危険性があることを示す情報をユーザに通知するようにしてもよい。このようにすることで、ユーザは、不正連携の可能性がある場合に、ユーザ自身でアプリケーションの起動を制御することが可能となる。
図10は、本発明の実施の形態1におけるアプリ不正連携制御部220が不正な連携処理の有無を判断する処理を示すフローチャートである。具体的には、同図は、図9のS809をさらに詳細なステップにしたシーケンス図である。
まず、アプリ不正連携制御部220は、図8のS807で読み込んだアプリ権限リスト271を参照し、個人情報にアクセスする権限のあるアプリIDを特定する(S901)。
次に、アプリ不正連携制御部220は、図8のS807で読み込んだアプリ権限リスト271を参照し、外部ネットワークにアクセスする権限のあるアプリIDを特定する(S902)。
次に、アプリ不正連携制御部220は、S901とS902で特定したアプリIDと、図8のS806で読み込んだ呼出履歴マップ281とを参照し、個人情報にアクセスするアプリケーションから外部ネットワークへアクセスするアプリケーションへの呼び出し可能なマルチタスク状態をリストアップする(S903)。
本実施の形態では、S903でリストアップされるマルチタスク状態は、1つに限定されることなく、複数であってもよい。本実施の形態では、個人情報が外部ネットワーク経由での漏洩防止達成するためには、S903で特定されたマルチタスク状態にならないようにアプリケーションの実行を制御する。
次に、アプリ不正連携制御部220は、図8のS808で読み込んだプロセス管理情報201を参照し、現在起動済みのプロセスを特定し、図8のS801での要求を実行した場合のマルチタスク状態パターンを予測する(S904)。
次に、アプリ不正連携制御部220は、S904で予想したマルチタスク状態が、S903で特定したマルチタスク状態としてリストアップされているか否かを判断する(S905)。
アプリ不正連携制御部220は、リストアップされていると判断した場合には(S905でYES)、個人情報が漏洩する可能性があるマルチタスク状態になるので、図9のS812へ処理を移し、アプリケーションの実行制御を行う。
また、アプリ不正連携制御部220は、リストアップされていないと判断した場合には(S905でNO)、個人情報が漏洩する可能性があるマルチタスク状態にはならないので、図9のS810へ処理を移し、図8のS801で要求された処理を実行する。
図11は、本発明の実施の形態1におけるアプリ実行制御設定情報231の一例を示す図である。
アプリ実行制御設定情報231は、図9のS809での判断の結果、個人情報が外部ネットワークを経由して漏洩する(不正連携される)危険性があると判断された場合の、アプリケーションの振る舞いの制御を設定した情報の集まりである。具体的には、アプリ実行制御設定情報231は、不正連携判定時のアプリケーションの振る舞いの制御内容233と、個々の制御内容がEnableもしくはDisableなのかを設定するON/OFF情報232とのフィールドから構成される。
図11の例では、「要求されたアプリを起動しない/プロセス間通信をしない」、「外部ネットワークを強制切断する」、「アプリをアンインストールする」、「個人情報が漏洩する可能性のない、安全なマルチタスク状態になるように起動中アプリを終了する」の4つの制御内容が登録されており、「要求されたアプリを起動しない/プロセス間通信をしない」が「ON」という設定になっている。
図11のように、「要求されたアプリを起動しない/プロセス間通信をしない」が「ON」であれば、図9のS812での判断後に、アプリ不正連携制御部220は、S801で要求されたアプリケーションを起動しないようにプロセス制御部200に通知する(図9のS813)。
これにより、図8のS801で要求がアプリケーション起動であれば、要求されたアプリケーションを起動させないため、個人情報が外部ネットワーク経由で漏洩される可能性のあるマルチタスク状態になることを防止できる。また、図8のS801で要求がプロセス間通信であれば、要求されたプロセス間通信を行わないので、個人情報が外部ネットワーク経由で漏洩される可能性のあるプロセス間通信を実行させないので、個人情報が外部ネットワーク経由で漏洩されることを防止できる。
つまり、アプリ実行制御設定情報保持部230は、要求されたアプリケーションの起動を行わないアプリケーションの実行制御方法を示すアプリ実行制御設定情報231を保持しており、アプリ不正連携制御部220は、不正な連携処理が有ると判断した場合には、当該アプリ実行制御設定情報231で示されるアプリケーションの実行制御方法に従って、アプリケーションの起動を行わない。
また、図11において、「個人情報が漏洩する可能性のない、安全なマルチタスク状態になるように起動中アプリを終了する」が「ON」であれば、アプリ不正連携制御部220は、図8のS801で要求されたアプリケーションを起動しても個人情報が外部ネットワーク経由で漏洩される可能性のあるマルチタスク状態にならない状態まで、既に起動している他アプリケーションを終了させ、図8のS801で要求されたアプリケーションを起動/プロセス間通信させる(図9のS814)。これにより、個人情報が外部ネットワーク経由で漏洩される可能性のあるマルチタスク状態になることを防止できる。
つまり、アプリ実行制御設定情報保持部230は、不正な連携処理が無いと判断するまでアプリケーションを終了させるアプリケーションの実行制御方法を示すアプリ実行制御設定情報231を保持し、アプリ不正連携制御部220は、不正な連携処理が有ると判断した場合には、当該アプリ実行制御設定情報231で示されるアプリケーションの実行制御方法に従って、不正な連携処理が無いと判断するまで既に起動されているアプリケーションを終了する。
また、図11において、「外部ネットワークを強制切断する」が「ON」であれば、図9のS812の判断後に、アプリ不正連携制御部220は、ネットワーク制御部250に対し、ネットワークを強制切断するように通知する(図9のS815)。これにより、外部ネットワークを切断した状態で、図8のS801で要求されたアプリケーションを起動する/プロセス通信をするので、個人情報が外部ネットワーク経由で漏洩することを防止できる。
つまり、アプリ実行制御設定情報保持部230は、外部の通信ネットワーク60との接続を遮断するアプリケーションの実行制御方法を示すアプリ実行制御設定情報231を保持し、アプリ不正連携制御部220は、不正な連携処理が有ると判断した場合には、当該アプリ実行制御設定情報231で示されるアプリケーションの実行制御方法に従って、外部の通信ネットワーク60との接続を遮断する。
また、図11において、「アプリをアンインストール」が「ON」であれば、図9のS812の判断後に、アプリ不正連携制御部220は、図8のS801で要求されたアプリケーションをアンインストールするようにインストール制御部260へ要求をする(図9のS816)。これにより、個人情報が外部ネットワーク経由で漏洩される可能性のあるマルチタスク状態のアプリケーションをアンインストールするため、個人情報漏洩を防止できる。
つまり、アプリ実行制御設定情報保持部230は、アプリケーションをアンインストールするアプリケーションの実行制御方法を示すアプリ実行制御設定情報231を保持し、アプリ不正連携制御部220は、不正な連携処理が有ると判断した場合には、当該アプリ実行制御設定情報231で示されるアプリケーションの実行制御方法に従って、要求されたアプリケーションをアンインストールする。
なお、図11に示されたいずれのアプリ実行制御設定情報231を「ON」にするかは、アプリ不正連携制御部220が自動で選択してもよいし、ユーザによって選択されてもよい。また、制御対象のアプリケーションが、優先的に起動したいアプリケーションである場合には、当該アプリケーションの実行制御は行わないようにしてもよい。
また、情報処理端末40がアプリ実行制御設定情報保持部230を備えておらず、アプリ不正連携制御部220は、アプリ実行制御設定情報231を参照することなく、予め定められたアプリケーションの実行制御方法に従って、アプリケーションの実行を制御することにしてもよい。
図12は、本発明の実施の形態1における呼出履歴マップ281の遷移イメージを示す図である。つまり、同図は、呼出履歴マップ281が、アプリケーション起動やプロセス間通信によりどのように更新されていくかをイメージ化した図である。
図12の状態1は、アプリCプロセス103、アプリDプロセス104、アプリEプロセス105を起動し、アプリDプロセス104がアプリCプロセス103とプロセス間通信をし、アプリDプロセス104がアプリEプロセス105とプロセス間通信をした状態を示している。
図12の状態2は、状態1の後、アプリBプロセス102を起動し、アプリBプロセス102がアプリCプロセス103とプロセス間通信をした状態を示している。
図12の状態3は、状態2の後、アプリAプロセス101を起動し、アプリAプロセス101がアプリBプロセス102とプロセス間通信をした状態を示している。
図12の状態4は、状態3の後、アプリAプロセス101がアプリDプロセス104とプロセス間通信をした状態を示している。
ここで、図6で示すように、アプリAプロセス101は個人情報にアクセスでき、アプリCプロセス103は、個人情報にはアクセスできないが、外部ネットワークにアクセスできる。したがって、アプリAプロセス101からアプリCプロセス103までの呼び出しパス上のアプリケーションをマルチタスクで起動すると、個人情報が外部ネットワークを介して外部へ漏洩する危険性があることになる。
具体的には、状態3の段階では、{アプリAプロセス101,アプリBプロセス102,アプリCプロセス103}というマルチタスク状態が、個人情報が外部ネットワークを介して外部へ漏洩される危険性のある状態であることを示している。また、状態4の段階では、状態3の場合に加え、{アプリAプロセス101,アプリDプロセス104,アプリCプロセス103}というマルチタスク状態が、個人情報が外部ネットワークを介して外部へ漏洩される危険性のある状態であることを示している。
したがって、例えば図12の状態4の場合、アプリ不正連携制御部220は、上述した2つのマルチタスク状態にならないようにアプリケーションの起動を制御することで、個人情報が外部ネットワーク漏洩を防止する。
図13は、本発明の実施の形態1における呼出履歴マップ281の構成を示す図である。具体的には、同図は、図12の状態4での呼出履歴マップ281のイメージを、リスト化して表現したものであり、実際には、呼出履歴マップ保持部280は、図13に示したリスト構造を持つ呼出履歴マップ281として保持している。
呼出履歴マップ281は、アプリID282と、各アプリケーションの呼出先のIDである呼出先アプリID283とから構成される。例えば、アプリID「A」は、アプリID「B」とアプリID「D」と呼出関係があることを示す。
この呼出履歴マップ281とアプリ権限リスト271とを参照することで、どんなマルチタスク状態が、個人情報が外部ネットワークで漏洩する危険性がある状態のかを判別することが可能になる。なお、図12及び図13の例では、プロセス間通信の呼出関係が片方向になっているが、プロセス間通信であるので、双方向の呼出関係であってもよい。
図14A及び図14Bは、本発明の実施の形態1におけるアプリ不正連携制御部220によるアプリ実行制御の例を示す図である。
図14Aは、呼出履歴マップ281が、図13(図12の状態4)の場合で、現在の起動されているアプリケーションが、アプリAプロセス101と、アプリCプロセス103のみで、アプリBプロセス102、アプリDプロセス104及びアプリEプロセス105は起動されていないマルチタスク状態を示している。
この状態で、アプリBプロセス102を起動しようとすると、アプリ不正連携制御部220は、もしアプリBプロセス102を起動した場合、{アプリAプロセス101,アプリBプロセス102,アプリCプロセス103}というマルチタスク状態になり、個人情報が漏洩する危険性があると判断し、アプリ実行制御設定情報231に基づき、アプリBプロセス102の起動を制御する。
図14Bは、呼出履歴マップ281が、図13(図12の状態4)の場合で、現在の起動されているアプリケーションが、アプリAプロセス101もしくはアプリCプロセス103のどちらかのみの状態を示している。この状態で、アプリBプロセス102を起動しようとすると、アプリ不正連携制御部220は、アプリBプロセス102を起動したとしても、{アプリAプロセス101,アプリBプロセス102,アプリCプロセス103}という個人情報が外部ネットワーク経由で漏洩する危険性のあるマルチタスク状態にならないと判断し、プロセス制御部200がアプリBプロセス102を起動する。
以上で実施の形態1の説明を終わる。
以上のようにすることで、マルウェアによる不正連携判定に利用するパターン情報の更新を、外部のサーバを利用せずに、自端末内でアプリケーション間の呼び出し関係に基づき呼出履歴マップ281を生成し更新することで、新たにインストールされたアプリケーションに対しても、個人情報を外部ネットワーク経由で漏洩するようなアプリケーションの不正連携処理を確実に防止することが可能になる。
具体的には、本発明の実施の形態1に係る情報処理端末40によれば、アプリケーション間の呼出関係の履歴情報である呼出履歴マップ281を情報処理端末40内で保持し、呼出履歴マップ281とアプリ権限リスト271とを参照することで、個人情報などの秘密情報に対するアプリケーション間の不正な連携処理の検知が可能になる。また、当該不正な連携処理の有無の判断のために参照する呼出履歴マップ281は、情報処理端末40内のアプリケーションの起動やアプリケーション間の連携処理であるプロセス間通信の要求時に更新される。そのため、従来のサーバからのマルウェアのパターンファイルの更新が不要であり、新たにダウンロードされたアプリケーションに対する不正な連携処理を検知することが可能となる。
したがって、情報処理端末40によれば、新たにインストールされたアプリケーションに対しても、個人情報などの秘密情報を漏洩するような不正なアプリケーション間の連携処理を防止することができる。
また、個人情報などの秘密情報を外部の通信ネットワークに漏洩させるような不正な連携を検知することが可能となり、外部の通信ネットワークを介して個人情報などの秘密情報を漏洩させるアプリケーション間の不正な連携処理を防止することができる。
また、アプリケーション間の不正な連携処理を検知した後に、アプリケーションを起動させない制御をすることで、不正な連携処理を防止することができる。また、アプリケーション間の不正な連携処理を検知した後に、外部ネットワークとの接続を遮断するため、個人情報などが外部ネットワーク経由で漏洩されるのを防止することが可能となる。また、アプリケーション間の不正な連携処理を検知した後に、不正な連携処理が起こらないマルチタスク状態にまでアプリケーションを終了するため、不正な連携処理により個人情報などの秘密情報が漏洩されるのを防止することが可能となる。また、不正な連携処理に関連するアプリケーションをアンインストールするため、不正な連携処理により個人情報などの秘密情報が漏洩されるのを防止することが可能となる。
また、ユーザは、不正な連携処理の可能性がある場合に、当該不正な連携処理が行われる危険性があることを示す情報の通知を受けることで、ユーザ自身でアプリケーションの起動を制御することが可能となる。
(実施の形態2)
続いて、本発明の実施の形態2に係る情報処理端末について説明する。
上記実施の形態1では、呼出履歴マップ281とアプリ権限リスト271とを参照し、個人情報などの秘密情報が外部ネットワーク経由で漏洩する危険性のあるマルチタスク状態を特定していた。しかし、アプリケーション実行もしくはプロセス間通信が呼び出される度に当該特定する処理をしていると効率が悪い。そこで、本実施の形態2では、個人情報などの秘密情報が外部ネットワーク経由で漏洩する危険性のあるマルチタスク状態が特定されたものは、不正な連携パターンとして記憶しておき、アプリケーション実行もしくはプロセス間通信が呼び出される度に行われる特定処理を高速化した実施の形態である。多くの処理が実施の形態1と同様であるため、実施の形態1と異なる箇所のみを説明することとし、詳細な説明は省略する。
図15は、本発明の実施の形態2における情報処理端末40aの全体構成図である。
実施の形態1と異なるのは、アプリ不正連携パターン保持部300が追加されていることである。アプリ不正連携パターン保持部300は、アプリ不正連携パターン301を保持するメモリ内の記憶領域である。アプリ不正連携パターン301については、図16を用いて説明する。
図16は、本発明の実施の形態2におけるアプリ不正連携パターン301を説明する図である。具体的には、同図は、アプリ不正連携パターン保持部300が保持するアプリ不正連携パターン301が、アプリケーションの呼び出しとともにどう変化するのかを示した図である。アプリケーションの呼び出し経過については、図12と同様として説明する。
アプリ不正連携パターン301は、不正な連携処理が行われる可能性があるアプリケーションの起動状態を示す情報である。具体的には、アプリ不正連携パターン301は、個人情報などの秘密情報が外部ネットワーク経由で漏洩する危険性のあるマルチタスク状態のパターンをアプリIDの集合パターンで示した情報の集まりである。
まず、状態1および状態2では、アプリ不正連携パターン301は、個人情報などの秘密情報が外部ネットワーク経由で漏洩する危険性のある呼出パスがないので、「空」(何も情報がないことを示す)である。
そして、状態3になると、アプリAプロセス101からアプリCプロセス103までの呼び出しパス上のアプリケーションをマルチタスクで起動すると、個人情報などの秘密情報が外部ネットワークで漏洩する危険性があることになるため、アプリ不正連携パターン301には、アプリID{A,B,C}が記録される。
また、状態4の段階では、状態3の場合に加え、{アプリAプロセス101,アプリDプロセス104,アプリCプロセス103}というマルチタスク状態が、個人情報などの秘密情報が外部ネットワークを介して外部へ漏洩される危険性のあるため、アプリ不正連携パターン301には、アプリID{A,B,C}に加えて、アプリID{A,D,C}が追加される。なお、アプリ不正連携パターン301に新しい不正連携パターンを更新するのは、呼出履歴マップ更新部290が行う。
次に、図17を用いて、呼出履歴マップ更新部290が、アプリ不正連携パターン保持部300に対してアプリ不正連携パターン301を更新するシーケンスについて説明する。
図17は、本発明の実施の形態2における呼出履歴マップ更新部290による呼出履歴マップ281及びアプリ不正連携パターン301の更新処理からアプリ不正連携制御部220による不正連携判断までの処理を示すシーケンス図である。
S1601からS1604までは、図8のS801からS804までと同等な処理なので、説明は省略する。
次に、呼出履歴マップ更新部290は、呼出履歴マップ保持部280から呼出履歴マップ281を読み込む(S1605)。
次に、呼出履歴マップ更新部290は、アプリ権限リスト保持部270から、アプリ権限リスト271を読み込む(S1606)。
次に、呼出履歴マップ更新部290は、個人情報などの秘密情報が外部ネットワーク経由で漏洩する危険性のあるマルチタスク状態となる新しい不正連携パターンがあるか否かを判断する(S1607)。
呼出履歴マップ更新部290は、新しい不正連携パターンがあると判断した場合には(S1607でYES)、アプリ不正連携パターン保持部300が保持しているアプリ不正連携パターン301に、その新しい不正連携パターンを追記し、更新する。また、呼出履歴マップ更新部290は、新しい不正連携パターンがないと判断した場合には(S1607でNO)、S1608へ処理を移す。
次に、呼出履歴マップ更新部290は、アプリ不正連携制御部220に対し、S1601で要求された処理をすることにより、個人情報などの秘密情報が外部ネットワーク経由で漏洩する危険性のあるマルチタスク状態となる危険性のある不正連携パターンになるか否かの判断を要求する(S1608)。
次に、S1608での要求を受けたアプリ不正連携制御部220は、アプリ不正連携パターン保持部300が保持するアプリ不正連携パターン301を読み込む(S1609)。
次に、アプリ不正連携制御部220は、プロセス制御部200からプロセス管理情報201を読み込む(S1610)。
次に、アプリ不正連携制御部220は、アプリ不正連携パターン301とプロセス管理情報201とを参照し、S1601で要求された処理をすることにより、個人情報などの秘密情報が外部ネットワーク経由で漏洩する危険性のあるマルチタスク状態となる危険性のある不正連携パターンになるか否かを判断する(1611)。
アプリ不正連携制御部220は、判断の結果、不正連携パターンと判断すれば、アプリ実行制御設定情報保持部230が保持するアプリ実行制御設定情報231に基づいて、アプリケーションの起動を制御する(S1612)。S1612の詳細については、実施の形態1の図9のS811からS816と同等な処理なので、説明は省略する。
これにより、実施の形態1よりも効率的にアプリケーション間の不正連携の判断が可能となる。つまり、複数のプロセス空間にロードされた共有ライブラリに対して、効率的に改竄チェックすることが可能となる。
以上で実施の形態2の説明を終わる。
このように、本発明の実施の形態2に係る情報処理端末40aによれば、不正な連携処理となるアプリケーションのマルチタスク状態情報を示すアプリ不正連携パターン301を、アプリケーションの呼び出し履歴情報である呼出履歴マップ281とは別に保持しておくことで、不正な連携処理の有無の判断において、呼出履歴マップ281の解析が不要になり、高速化が可能となる。
なお、本実施の形態では、図面を用いて説明していないが、呼出履歴マップ281やアプリ不正連携パターン301は、改竄されると、不正連携の検知処理を迂回される。そのため、これらの情報は、完全性検証するようにしてもよい。完全性検証には、デジタル署名やハッシュ関数などを一般に広く知られる技術を利用すればよい。
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。
例えば、情報処理端末は、図18に示すような構成であってもよい。図18は、本発明の実施の形態における情報処理端末の最小構成を示す図である。
具体的には、同図に示すように、情報処理端末40bは、プロセス制御部200と、アプリ不正連携制御部220と、ネットワーク制御部250と、インストール制御部260と、呼出履歴マップ更新部290とを備えている。つまり、個人情報保持部240、アプリ実行制御設定情報保持部230、アプリ権限リスト保持部270及び呼出履歴マップ保持部280は、情報処理端末40bには備えられておらず、SDカードなどの外付けのメモリや通信ネットワークを介して接続されたサーバのメモリなどの外部メモリに備えられていることにしてもよい。
この場合、情報処理端末40bは、外部メモリが備える当該保持部に情報を記憶させ、また当該保持部から情報を取得する。つまり、インストール制御部260は、アプリケーションのインストールを行い、プロセス制御部200は、アプリケーションの起動及びアプリケーション間の連携処理を行う。
そして、呼出履歴マップ更新部290は、アプリケーションの起動またはアプリケーション間の連携処理が要求された場合に、呼出履歴マップ281を外部メモリから読み出して、要求された起動または連携処理が行われた場合での呼出履歴マップに更新し、当該外部メモリに記憶させる。
そして、アプリ不正連携制御部220は、最新の呼出履歴マップ281とアプリ権限リスト271とを外部メモリから読み出して、秘密情報に対するアプリケーション間の不正な連携処理の有無を判断し、不正な連携処理が有ると判断した場合には、アプリ実行制御設定情報231を外部メモリから読み出して、アプリ実行制御設定情報231で示されるアプリケーションの実行制御方法に従って、アプリケーションの実行を制御する。
なお、実施の形態2についても同様に、アプリ不正連携パターン保持部300は、情報処理端末には備えられておらず、SDカードなどの外付けのメモリや通信ネットワークを介して接続されたサーバのメモリなどの外部メモリに備えられていることにしてもよい。
また、以下のような場合も本発明に含まれる。
(1)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、及びマウスなどから構成されるコンピュータシステムである。前記RAM又はハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(2)上記の各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。例えば、図18に示された情報処理端末40bの各構成要素を備える集積回路として実現してもよい。
システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM及びRAMなどを含むコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又は全てを含むように1チップ化されてもよい。
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
(3)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM及びRAMなどから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
(4)本発明は、情報処理端末に含まれる特徴的な手段をステップとし、アプリケーション間の不正な連携処理を防止するアプリケーション不正連携防止方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、又は半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、又はデータ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(5)上記実施の形態及び上記変形例における構成要素をそれぞれ組み合わせて構築される形態も、本発明の範囲内に含まれる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
本発明は、マルウェアによる不正連携判定に利用するパターン情報の更新を、外部のサーバを利用せずに、自端末内でアプリケーション間の呼び出し関係に基づきパターン情報を生成し更新することで、新たにインストールされたアプリケーションに対しても、個人情報などの秘密情報を漏洩するような不正なアプリケーション連携処理を確実に防止する情報処理端末を提供することができ、複数アプリケーションの不正な連携処理により、個人情報などの秘密情報が外部ネットワーク経由で防止することが可能であるため、個人情報などの秘密情報を扱うアプリケーションをマルチタスクで動作させる情報処理端末において有用である。
10 アプリケーション配信システム
20 アプリケーション配信サーバ
21 メモリ
30 アプリ開発装置
40、40a、40b、41 情報処理端末
50 アプリケーションパッケージ
51 アプリケーション
52 アクセス権限情報
53 アプリ署名リスト
54 公開鍵証明書
60 通信ネットワーク
101 アプリAプロセス
102 アプリBプロセス
103 アプリCプロセス
104 アプリDプロセス
105 アプリEプロセス
200 プロセス制御部
202 プロセスID
203 親プロセスID
204、282 アプリID
210 アプリ権限判断部
220 アプリ不正連携制御部
230 アプリ実行制御設定情報保持部
231 アプリ実行制御設定情報
232 ON/OFF情報
233 制御内容
240 個人情報保持部
250 ネットワーク制御部
260 インストール制御部
270 アプリ権限リスト保持部
271 アプリ権限リスト
272 インストールパス
273 アクセス権限設定
280 呼出履歴マップ保持部
281 呼出履歴マップ
283 呼出先アプリID
290 呼出履歴マップ更新部
300 アプリ不正連携パターン保持部
301 アプリ不正連携パターン

Claims (15)

  1. 外部の通信ネットワークとの接続を行うネットワーク制御部と、
    アプリケーションのインストールを行うインストール制御部と、
    前記アプリケーションの起動及び前記アプリケーション間の連携処理を行うプロセス制御部と、
    前記アプリケーションの起動または前記アプリケーション間の連携処理が要求された場合に、前記アプリケーション間の呼出関係の履歴情報である呼出履歴マップを、要求された前記起動または前記連携処理が行われた場合での呼出履歴マップに更新する呼出履歴マップ更新部と、
    前記呼出履歴マップと前記アプリケーションのアクセス権限情報を含むアプリ権限リストとから得られる情報を用いて、秘密として管理されている情報である秘密情報に対するアプリケーション間の不正な連携処理の有無を判断し、前記不正な連携処理が有ると判断した場合には、前記秘密情報に対するアプリケーション間の不正な連携処理に応じたアプリケーションの実行制御方法に従って、前記アプリケーションの実行を制御するアプリ不正連携制御部と
    を備える情報処理装置。
  2. 前記アプリ不正連携制御部は、個人情報または機密情報へのアクセス権利であるアクセス権限情報を含む前記アプリ権限リストから得られる情報を用いて、前記不正な連携処理の有無を判断する
    請求項1記載の情報処理装置。
  3. 前記アプリ不正連携制御部は、前記外部の通信ネットワークへのアクセス権利であるアクセス権限情報をさらに含む前記アプリ権限リストから得られる情報を用いて、前記不正な連携処理の有無を判断する
    請求項2記載の情報処理装置。
  4. 前記アプリ不正連携制御部は、前記外部の通信ネットワークを介して前記秘密情報を漏洩させるアプリケーション間の不正な連携処理の有無を判断し、当該不正な連携処理が有ると判断した場合には、当該不正な連携処理を防止することができるアプリケーションの実行制御方法を示すアプリ実行制御設定情報に基づき、前記アプリケーションの実行を制御する
    請求項1〜3のいずれか1項に記載の情報処理装置。
  5. 前記アプリ不正連携制御部は、前記不正な連携処理が有ると判断した場合には、要求されたアプリケーションの起動を行わないアプリケーションの実行制御方法を示すアプリ実行制御設定情報に基づき、当該アプリ実行制御設定情報で示されるアプリケーションの実行制御方法に従って、アプリケーションの起動を行わない
    請求項4記載の情報処理装置。
  6. 前記アプリ不正連携制御部は、前記不正な連携処理が有ると判断した場合には、前記外部の通信ネットワークとの接続を遮断するアプリケーションの実行制御方法を示すアプリ実行制御設定情報に基づき、当該アプリ実行制御設定情報で示されるアプリケーションの実行制御方法に従って、前記外部の通信ネットワークとの接続を遮断する
    請求項4記載の情報処理装置。
  7. 前記アプリ不正連携制御部は、前記不正な連携処理が有ると判断した場合には、前記不正な連携処理が無いと判断するまでアプリケーションを終了させるアプリケーションの実行制御方法を示すアプリ実行制御設定情報に基づき、当該アプリ実行制御設定情報で示されるアプリケーションの実行制御方法に従って、前記不正な連携処理が無いと判断するまで既に起動されているアプリケーションを終了する
    請求項4記載の情報処理装置。
  8. 前記アプリ不正連携制御部は、前記不正な連携処理が有ると判断した場合には、アプリケーションをアンインストールするアプリケーションの実行制御方法を示すアプリ実行制御設定情報に基づき、当該アプリ実行制御設定情報で示されるアプリケーションの実行制御方法に従って、要求されたアプリケーションをアンインストールする
    請求項4記載の情報処理装置。
  9. 前記アプリ不正連携制御部は、前記不正な連携処理が有ると判断した場合には、当該不正な連携処理が行われる危険性があることを示す情報をユーザに通知する
    請求項1〜8のいずれか1項に記載の情報処理装置。
  10. 前記呼出履歴マップ更新部は、さらに、更新後の前記呼出履歴マップと前記アプリ権限リストとを参照して、前記不正な連携処理が行われる可能性があるアプリケーションの起動状態を示すアプリ不正連携パターンを更新し、
    前記アプリ不正連携制御部は、前記アプリ不正連携パターンを参照して、前記アプリケーション間の不正な連携処理の有無を判断する
    請求項1〜9のいずれか1項に記載の情報処理装置。
  11. さらに、
    前記秘密情報を保持する秘密情報保持部と、
    前記呼出履歴マップを保持する呼出履歴マップ保持部と、
    前記アプリ権限リストを保持するアプリ権限リスト保持部と、
    前記秘密情報に対するアプリケーション間の不正な連携処理に応じたアプリケーションの実行制御方法を示すアプリ実行制御設定情報を保持するアプリ実行制御設定情報保持部とを備え、
    前記呼出履歴マップ更新部は、前記呼出履歴マップ保持部に保持されている前記呼出履歴マップを更新し、
    前記アプリ不正連携制御部は、更新された前記呼出履歴マップと前記アプリ権限リスト保持部に保持されている前記アプリ権限リストとから得られる情報を用いて、前記秘密情報保持部に保持されている前記秘密情報に対するアプリケーション間の不正な連携処理の有無を判断し、前記不正な連携処理が有ると判断した場合には、前記アプリ実行制御設定情報保持部に保持されている前記アプリ実行制御設定情報で示されるアプリケーションの実行制御方法に従って、前記アプリケーションの実行を制御する
    請求項1〜10のいずれか1項に記載の情報処理装置。
  12. アプリケーションのインストールを行うステップと、
    前記アプリケーションの起動及び前記アプリケーション間の連携処理を行うステップと、
    前記アプリケーションの起動または前記アプリケーション間の連携処理が要求された場合に、前記アプリケーション間の呼出関係の履歴情報である呼出履歴マップを、要求された前記起動または前記連携処理が行われた場合での呼出履歴マップに更新するステップと、
    前記呼出履歴マップと、前記アプリケーションのアクセス権限情報を含むアプリ権限リストとから得られる情報を用いて、秘密として管理されている情報である秘密情報に対するアプリケーション間の不正な連携処理の有無を判断するステップと、
    前記不正な連携処理が有ると判断された場合には、前記秘密情報に対するアプリケーション間の不正な連携処理に応じたアプリケーションの実行制御方法に従って、前記アプリケーションの実行を制御するステップと
    を含むアプリケーション不正連携防止方法。
  13. 請求項12に記載のアプリケーション不正連携防止方法に含まれるステップをコンピュータに実行させる
    プログラム。
  14. 請求項13に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
  15. 外部の通信ネットワークとの接続を行うネットワーク制御部と、
    アプリケーションのインストールを行うインストール制御部と、
    前記アプリケーションの起動及び前記アプリケーション間の連携処理を行うプロセス制御部と、
    前記アプリケーションの起動または前記アプリケーション間の連携処理が要求された場合に、前記アプリケーション間の呼出関係の履歴情報である呼出履歴マップを、要求された前記起動または前記連携処理が行われた場合での呼出履歴マップに更新する呼出履歴マップ更新部と、
    前記呼出履歴マップと、前記アプリケーションのアクセス権限情報を含むアプリ権限リストとから得られる情報を用いて、秘密として管理されている情報である秘密情報に対するアプリケーション間の不正な連携処理の有無を判断し、前記不正な連携処理が有ると判断された場合には、前記秘密情報に対するアプリケーション間の不正な連携処理に応じたアプリケーションの実行制御方法に従って、前記アプリケーションの実行を制御するアプリ不正連携制御部と
    を備える集積回路。
JP2012505929A 2010-10-04 2011-09-26 情報処理装置およびアプリケーション不正連携防止方法 Active JP5891414B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012505929A JP5891414B2 (ja) 2010-10-04 2011-09-26 情報処理装置およびアプリケーション不正連携防止方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010225232 2010-10-04
JP2010225232 2010-10-04
PCT/JP2011/005378 WO2012046406A1 (ja) 2010-10-04 2011-09-26 情報処理装置およびアプリケーション不正連携防止方法
JP2012505929A JP5891414B2 (ja) 2010-10-04 2011-09-26 情報処理装置およびアプリケーション不正連携防止方法

Publications (2)

Publication Number Publication Date
JPWO2012046406A1 JPWO2012046406A1 (ja) 2014-02-24
JP5891414B2 true JP5891414B2 (ja) 2016-03-23

Family

ID=45927414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012505929A Active JP5891414B2 (ja) 2010-10-04 2011-09-26 情報処理装置およびアプリケーション不正連携防止方法

Country Status (5)

Country Link
US (1) US8566937B2 (ja)
EP (1) EP2626803B1 (ja)
JP (1) JP5891414B2 (ja)
CN (1) CN102630320B (ja)
WO (1) WO2012046406A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9110750B2 (en) * 2011-10-19 2015-08-18 Good Technology Corporation Application installation system
JP5865180B2 (ja) * 2012-05-29 2016-02-17 Kddi株式会社 携帯通信端末、データ通信検知装置、データ通信検知方法、およびプログラム
US8869274B2 (en) * 2012-09-28 2014-10-21 International Business Machines Corporation Identifying whether an application is malicious
JP6254414B2 (ja) * 2012-10-09 2017-12-27 キヤノン電子株式会社 情報処理装置、情報処理システムおよび情報処理方法
JP6253333B2 (ja) * 2012-10-09 2017-12-27 キヤノン電子株式会社 情報処理装置、情報処理システムおよび情報処理方法
JP6098110B2 (ja) * 2012-10-24 2017-03-22 富士通株式会社 情報処理装置、データ保護方法、およびプログラム
US9292342B2 (en) * 2012-12-26 2016-03-22 Microsoft Technology Licensing, Llc Schedule based execution with extensible continuation based actions
US9202057B2 (en) * 2013-08-30 2015-12-01 Symantec Corporation Systems and methods for identifying private keys that have been compromised
JP5536944B1 (ja) * 2013-10-06 2014-07-02 春佳 西守 コンピュータプログラム
US9282100B2 (en) * 2013-12-02 2016-03-08 Cisco Technology, Inc. Privilege separation
CN103905207B (zh) * 2014-04-23 2017-02-01 福建联迪商用设备有限公司 一种统一apk签名的方法及其系统
US11275861B2 (en) * 2014-07-25 2022-03-15 Fisher-Rosemount Systems, Inc. Process control software security architecture based on least privileges
US9560028B1 (en) * 2014-08-04 2017-01-31 Symantec Corporation Systems and methods for filtering interprocess communications
US9710752B2 (en) * 2014-09-11 2017-07-18 Qualcomm Incorporated Methods and systems for aggregated multi-application behavioral analysis of mobile device behaviors
CN105404828A (zh) * 2014-09-12 2016-03-16 国际商业机器公司 用于数据安全的方法和系统
US9509697B1 (en) 2014-09-15 2016-11-29 Symantec Corporation Systems and methods for authorizing attempts to access shared libraries
CN105260673A (zh) * 2015-09-18 2016-01-20 小米科技有限责任公司 短信读取方法及装置
CN106096923A (zh) * 2016-06-27 2016-11-09 联想(北京)有限公司 一种安全支付防护方法及电子设备
CN106548048A (zh) * 2016-10-28 2017-03-29 北京优炫软件股份有限公司 一种用于进程控制的方法、装置与系统
JP6939595B2 (ja) * 2018-01-23 2021-09-22 富士通株式会社 情報処理装置、認証サーバ、認証制御方法および認証制御プログラム
JP7119480B2 (ja) * 2018-03-23 2022-08-17 日本電気株式会社 アプリケーション実行権限管理装置、方法およびプログラム
CN110832412B (zh) * 2018-06-07 2021-05-25 三菱电机株式会社 数控装置及信息处理装置
JP7020384B2 (ja) * 2018-11-29 2022-02-16 日本電信電話株式会社 アプリケーション動作制御装置、アプリケーション動作制御方法、および、アプリケーション動作制御プログラム
CN111222122A (zh) * 2019-12-31 2020-06-02 航天信息股份有限公司 应用权限管理方法、装置及嵌入式设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002065287A1 (en) * 2001-02-16 2002-08-22 Sony Corporation Data processing method and its apparatus
JP2002527841A (ja) * 1998-10-15 2002-08-27 コンピューター アソシエイツ シンク インコーポレーテッド 実行可能オブジェクトの好ましくない動作を防止するための方法およびシステム
JP2003140972A (ja) * 2001-11-08 2003-05-16 Nec Corp プログラム実行装置及びプログラム実行方法並びにそれを用いた携帯端末及び情報提供システム
WO2009049555A1 (fr) * 2007-10-15 2009-04-23 Beijing Rising International Software Co., Ltd. Procédé et appareil pour détecter le comportement malveillant d'un programme informatique
WO2010067703A1 (ja) * 2008-12-08 2010-06-17 日本電気株式会社 データ依存関係解析装置、情報処理装置、データ依存関係解析方法、及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04327698A (ja) 1991-04-25 1992-11-17 Pub Works Res Inst Ministry Of Constr シールド掘進機
US7203833B1 (en) * 2002-12-23 2007-04-10 Microsoft Corporation History based rights computation for managed code
JP4327698B2 (ja) * 2004-10-19 2009-09-09 富士通株式会社 ネットワーク型ウィルス活動検出プログラム、処理方法およびシステム
EP1669854A3 (en) 2004-12-06 2009-05-06 Microsoft Corporation Inter-process interference elimination
US7979889B2 (en) 2005-01-07 2011-07-12 Cisco Technology, Inc. Methods and apparatus providing security to computer systems and networks
US8516583B2 (en) 2005-03-31 2013-08-20 Microsoft Corporation Aggregating the knowledge base of computer systems to proactively protect a computer from malware
US8528087B2 (en) 2006-04-27 2013-09-03 Robot Genius, Inc. Methods for combating malicious software
JP2007334536A (ja) 2006-06-14 2007-12-27 Securebrain Corp マルウェアの挙動解析システム
JP5083760B2 (ja) 2007-08-03 2012-11-28 独立行政法人情報通信研究機構 マルウェアの類似性検査方法及び装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002527841A (ja) * 1998-10-15 2002-08-27 コンピューター アソシエイツ シンク インコーポレーテッド 実行可能オブジェクトの好ましくない動作を防止するための方法およびシステム
WO2002065287A1 (en) * 2001-02-16 2002-08-22 Sony Corporation Data processing method and its apparatus
JP2003140972A (ja) * 2001-11-08 2003-05-16 Nec Corp プログラム実行装置及びプログラム実行方法並びにそれを用いた携帯端末及び情報提供システム
WO2009049555A1 (fr) * 2007-10-15 2009-04-23 Beijing Rising International Software Co., Ltd. Procédé et appareil pour détecter le comportement malveillant d'un programme informatique
WO2010067703A1 (ja) * 2008-12-08 2010-06-17 日本電気株式会社 データ依存関係解析装置、情報処理装置、データ依存関係解析方法、及びプログラム

Also Published As

Publication number Publication date
CN102630320A (zh) 2012-08-08
EP2626803A4 (en) 2013-08-21
EP2626803B1 (en) 2017-07-05
US8566937B2 (en) 2013-10-22
CN102630320B (zh) 2015-06-17
US20120291138A1 (en) 2012-11-15
JPWO2012046406A1 (ja) 2014-02-24
EP2626803A1 (en) 2013-08-14
WO2012046406A1 (ja) 2012-04-12

Similar Documents

Publication Publication Date Title
JP5891414B2 (ja) 情報処理装置およびアプリケーション不正連携防止方法
US11379273B2 (en) Sharing extension points to allow an application to share content via a sharing extension
JP5821034B2 (ja) 情報処理装置、仮想マシン生成方法及びアプリ配信システム
JP5828081B2 (ja) 情報処理装置、情報処理方法、及びプログラム配信システム
JP5983940B2 (ja) 情報処理装置、情報処理方法、プログラム、集積回路
RU2575985C2 (ru) Способ и устройство для проверки исполняемой программы с использованием модели
EP3575999A1 (en) Secure booting a computing device
US20080165971A1 (en) Trusting an Unverified Code Image in a Computing Device
CN104885092A (zh) 用于操作系统的安全系统和方法
KR20110099310A (ko) 컴퓨터 플랫폼에 프로그램을 설치하기 위한 방법과 장치 및 컴퓨터 판독가능 저장 매체
CN106557669A (zh) 一种应用程序安装过程的权限控制方法及装置
Petracca et al. {AWare}: Preventing Abuse of {Privacy-Sensitive} Sensors via Operation Bindings
WO2017088135A1 (zh) 一种安全指示信息的配置方法及设备
US9344406B2 (en) Information processing device, information processing method, and computer program product
JP2009238153A (ja) マルウェア対処システム、方法及びプログラム
CN114651253A (zh) 用于策略强制实施的虚拟环境类型验证
CN106557687A (zh) 一种应用程序安装过程的权限控制方法及装置
KR101977428B1 (ko) 애플리케이션용 콘텐츠 핸들링 기법
CN111783087A (zh) 可执行文件恶意执行的检测方法及装置、终端、存储介质
JP2011145945A (ja) マルウェア検出装置及びマルウェア検出方法
JP6322961B2 (ja) アプリケーションプログラムおよびその実行方法
US20230115599A1 (en) Systems, methods, and media for sharing information with vendor applications in secure environments
KR102548900B1 (ko) 신뢰된 어플리케이션을 전자 디바이스에 설치하는 방법 및 장치
WO2022128143A1 (en) Protection of a computer system and its software from installing and running software applications on incompatible platforms
Mozos Pérez A study of vulnerabilities on Android systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140717

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20141008

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151111

R151 Written notification of patent or utility model registration

Ref document number: 5891414

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151