説明

携帯端末、プログラム、および通信システム

【課題】マルウェアをより効果的に駆除することができる携帯端末、プログラム、および通信システムを提供する。
【解決手段】記憶部14は、信頼されたアプリケーションの第1の名称情報と、第1のバージョン情報と、第1の公開鍵情報とを含むホワイトリストを記憶すると共に、インストールされたアプリケーションのプログラムを含むファイルを記憶する。アプリケーション消去部10cは、記憶部14にインストールされているアプリケーションから、当該アプリケーションの第2の名称情報と、第2のバージョン情報と、第2の公開鍵情報とを取得し、これらの情報を、ホワイトリストに含まれる各情報とそれぞれ比較し、少なくとも1組の情報が一致しなかった場合に、当該比較に係るアプリケーションのプログラムを記憶部14から消去する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信頼されたアプリケーションの情報を含むホワイトリストに基づいてアプリケーションの管理を行う携帯端末および通信システムに関する。また、本発明は、本携帯端末としてコンピュータを機能させるためのプログラムにも関する。
【背景技術】
【0002】
昨今、PC(Personal Computer)に近い高機能を実現したスマートフォン等の携帯端末の普及が進んでいる。また、スマートフォン等の携帯端末は、Android(登録商標)等のOS(Operating System)を採用しており、オープンプラットフォームでアプリケーションを開発可能な仕様となっている。このような携帯端末向けのOS上で動作する多数のアプリケーションがインターネット上のマーケットプレイスで公開されており、携帯端末のユーザは必要なアプリケーションを自由に選択して携帯端末にインストールすることが可能である。
【0003】
マーケットプレイスでは、情報漏洩や端末攻撃を行う多くの悪意のアプリケーション(マルウェア)が公開されており、悪意のアプリケーションのインストールによって、ユーザが意図せず被害を受ける可能性がある。上記のように、様々なアプリケーションの中から必要なアプリケーションを選択して携帯端末に容易に実装できるため、安全性の面から、法人等の団体毎に必要なアプリケーションのみを実装した携帯端末を各団体の構成員に提供するサービスが期待されている。
【0004】
一方、マルウェアによる被害を食い止めるため、携帯端末向けのマルウェア対策ソフトが公開されている。マルウェア対策ソフトの多くは、予め検出したマルウェアの挙動パターンとアプリケーションの挙動パターンとを比較することでマルウェアを検知するブラックリスト方式を採用している。しかし、予め検出したマルウェアの挙動パターンのリストであるブラックリストを頻繁に更新する必要があり、次々と公開されるアプリケーションの全てを検証してブラックリストを更新することは困難である。
【0005】
これに対して、信頼されたアプリケーションのリストであるホワイトリストに登録されたアプリケーション以外の起動を禁止するホワイトリスト方式のマルウェア対策ソフトがある(例えば非特許文献1参照)。上記のように、ブラックリスト方式では、公開される全てのアプリケーションに対応するようにブラックリストを更新することが困難であるため、限定されたアプリケーションのみを使用可能にする用途においては、ブラックリスト方式よりもホワイトリスト方式のほうが有効である。
【先行技術文献】
【特許文献】
【0006】
【非特許文献1】吉澤亨史、“ホワイトリスト方式採用のセキュリティソフト「H2softアプリケーションコントロール」”、[online]、2006年5月18日、[平成22年2月21日検索]、インターネット<http://japan.zdnet.com/news/sec/story/0,2000056194,20115887,00.htm>
【発明の概要】
【発明が解決しようとする課題】
【0007】
既存のホワイトリスト方式は、PC向けの用途で用いられており、ホワイトリストに登録する情報として、アプリケーションの名称や電子署名が用いられている。携帯端末向けのアプリケーションに関しては、アプリケーションの名称を詐称することや、電子署名を付与することが容易であるため、マルウェアによる被害を防止するためには、これら以外の情報についても管理する必要がある。また、携帯端末向けのアプリケーションがインストールされる際には、ユーザはインストール前にアプリケーションのパーミッション等の属性情報を確認することが可能であるが、アプリケーションがバージョンアップされる際には、ユーザがアプリケーションのパーミッションや改良されたコードを知ることができない仕様になっており、バージョンアップの際にマルウェアに変異するアプリケーションを見逃してしまう問題がある。
【0008】
本発明は、上述した課題に鑑みてなされたものであって、マルウェアをより効果的に駆除することができる携帯端末、プログラム、および通信システムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明は、上記の課題を解決するためになされたもので、信頼されたアプリケーションの名称を示す第1の名称情報と、当該信頼されたアプリケーションのバージョンを示す第1のバージョン情報と、当該信頼されたアプリケーションの開発者の公開鍵を示す第1の公開鍵情報とを含むホワイトリストを記憶すると共に、インストールされたアプリケーションのプログラムを含むファイルを記憶する記憶部と、前記記憶部に前記アプリケーションのプログラムをインストールするインストール実行部と、前記記憶部にインストールされているアプリケーションから、当該アプリケーションの名称を示す第2の名称情報と、当該アプリケーションのバージョンを示す第2のバージョン情報と、当該アプリケーションの開発者の公開鍵を示す第2の公開鍵情報とを取得し、前記第1の名称情報と前記第2の名称情報、前記第1のバージョン情報と前記第2のバージョン情報、前記第1の公開鍵情報と前記第2の公開鍵情報の3組の情報をそれぞれ比較し、少なくとも1組の情報が一致しなかった場合に、当該比較に係る前記アプリケーションのプログラムを前記記憶部から消去する消去部と、を備えたことを特徴とする携帯端末である。
【0010】
また、本発明の携帯端末において、前記第1の公開鍵情報および前記第2の公開鍵情報は、前記開発者の公開鍵をハッシュ処理した情報であることを特徴とする。
【0011】
また、本発明の携帯端末において、前記インストール実行部は、前記アプリケーションのプログラムのインストールが終了したタイミングで、当該インストールの終了を通知する終了情報を出力し、前記消去部は、前記終了情報を検知したタイミングで前記比較を行うことを特徴とする。
【0012】
また、本発明の携帯端末において、前記ホワイトリストはさらに、当該信頼されたアプリケーションのプログラムがインストールされている前記記憶部の記憶領域を示す領域情報を含み、前記消去部は、前記領域情報が示す領域以外の領域にインストールされているアプリケーションを前記比較の対象とすることを特徴とする。
【0013】
また、本発明は、上記の携帯端末としてコンピュータを機能させるためのプログラムである。
【0014】
また、本発明は、携帯端末およびサーバを備えた通信システムであって、前記携帯端末は、信頼されたアプリケーションの名称を示す第1の名称情報と、当該信頼されたアプリケーションのバージョンを示す第1のバージョン情報と、当該信頼されたアプリケーションの開発者の公開鍵を示す第1の公開鍵情報とを含むホワイトリストを前記サーバから受信する第1の通信部と、受信された前記ホワイトリストを記憶すると共に、インストールされたアプリケーションのプログラムを含むファイルを記憶する第1の記憶部と、前記第1の記憶部に前記アプリケーションのプログラムをインストールするインストール実行部と、前記第1の記憶部にインストールされているアプリケーションから、当該アプリケーションの名称を示す第2の名称情報と、当該アプリケーションのバージョンを示す第2のバージョン情報と、当該アプリケーションの開発者の公開鍵を示す第2の公開鍵情報とを取得し、前記第1の名称情報と前記第2の名称情報、前記第1のバージョン情報と前記第2のバージョン情報、前記第1の公開鍵情報と前記第2の公開鍵情報の3組の情報をそれぞれ比較し、少なくとも1組の情報が一致しなかった場合に、当該比較に係る前記アプリケーションのプログラムを前記第1の記憶部から消去する消去部と、を有し、前記サーバは、前記ホワイトリストを記憶する第2の記憶部と、前記ホワイトリストを前記携帯端末へ送信する第2の通信部と、を有することを特徴とする通信システムである。
【0015】
また、本発明の通信システムにおいて、前記第1の通信部はさらに、前記サーバに前記ホワイトリストの取得要求を定期的に送信し、前記サーバはさらに、前記携帯端末からの前記取得要求を監視し、最後に前記取得要求が受信されてから一定時間内に前記取得要求が受信されなかった場合に警告情報を生成する警告部を有し、前記第2の通信部は、前記携帯端末から前記取得要求を受信した場合に前記ホワイトリストを前記携帯端末へ送信することを特徴とする。
【発明の効果】
【0016】
本発明によれば、アプリケーションの名称、アプリケーションのバージョン、およびアプリケーションの開発者の公開鍵を用いたホワイトリスト方式を採用することによって、マルウェアをより効果的に駆除することができる。
【図面の簡単な説明】
【0017】
【図1】本発明の一実施形態によるアプリケーション管理システムの構成を示すブロック図である。
【図2】本発明の一実施形態による携帯端末の構成を示すブロック図である。
【図3】本発明の一実施形態による管理サーバの構成を示すブロック図である。
【図4】本発明の一実施形態におけるホワイトリストの内容を示す参考図である。
【図5】本発明の一実施形態による携帯端末の動作の手順を示すフローチャートである。
【図6】本発明の一実施形態における端末リストの内容を示す参考図である。
【図7】本発明の一実施形態による管理サーバの動作の手順を示すフローチャートである。
【発明を実施するための形態】
【0018】
以下、図面を参照し、本発明の実施形態を説明する。図1は、本発明の一実施形態によるアプリケーション管理システムの構成を示している。図1に示すアプリケーション管理システムは、携帯端末1、アプリケーション販売サーバ2、管理用端末3、および管理サーバ4を備える。
【0019】
携帯端末1は、ユーザが所持するスマートフォン等の端末である。アプリケーション販売サーバ2は、携帯端末1にインストールされる各種アプリケーションをインターネットサービスにより販売するサーバである。管理用端末3は、携帯端末1と同等のハードウェア構成を備えており、アプリケーション販売サーバ2で販売されるアプリケーションを収集し、そのアプリケーションをインストールおよび実行して挙動を解析する端末である。管理サーバ4は、携帯端末1にインストールされていてもよい信頼されたアプリケーションの情報が登録されたホワイトリストを管理するサーバである。
【0020】
ホワイトリストは管理サーバ4によって生成される。管理サーバ4は、ホワイトリストを生成するために必要な情報を管理用端末3から取得する。管理用端末3は、アプリケーション販売サーバ2からアプリケーションファイルを受信して自身の記憶装置に蓄積している。管理用端末3は、アプリケーションファイルに基づいてアプリケーションをインストールし、さらにインストールしたアプリケーションを実行し、アプリケーション実行時の挙動を実行ログに記録して保持する。さらに、管理用端末3は、インストールしたアプリケーションの実行ファイルから、ホワイトリストの生成に必要な情報を抽出する。
【0021】
ホワイトリストの生成に必要な情報の抽出は以下のようにして行われる。携帯端末向けのアプリケーションの実行ファイル(パッケージ)には、命令列を含む実行コード(実行プログラム)、アプリケーションの名称に相当するパッケージ名(名称情報)、アプリケーションのバージョンを示すバージョン情報、アプリケーションに付与された電子署名、およびアプリケーションを開発した開発者の公開鍵(公開鍵情報)等が含まれる。管理用端末3は、アプリケーションの実行ファイルから、文字列で構成されるパッケージ名、数値列で構成されるバージョン情報、文字列で構成される公開鍵を抽出する。
【0022】
管理用端末3は、アプリケーションの実行ファイルから抽出した情報と、保持している実行ログとを管理サーバ4へ送信する。管理用端末3が実行ログと共にアプリケーションの実行ファイルを管理サーバ4へ送信するようにしてもよい。管理サーバ4は、アプリケーションの実行ファイルから抽出された情報と実行ログとを受信し、実行ログに基づいて、アプリケーションの信頼性を検証する。アプリケーションの信頼性を検証する手法はどのような手法であってもよい。アプリケーションの信頼性を検証した結果、検証対象のアプリケーションが信頼できると判断した場合、管理サーバ4は、アプリケーションの実行ファイルから抽出された情報をホワイトリストに登録する。
【0023】
図2は携帯端末1の構成を示している。携帯端末1は、制御部10、通信部11、表示部12、操作部13、および記憶部14を備える。制御部10は携帯端末1内の各部を制御する。通信部11はアプリケーション販売サーバ2および管理用端末3と通信を行う。表示部12は各種情報を表示する。操作部13は、ユーザが操作する各種ボタンやキー等を備える。記憶部14はアプリケーションファイルやホワイトリスト等を記憶する。携帯端末1には、OSとしてAndroid(登録商標)が実装されている。
【0024】
制御部10は、ホワイトリスト取得部10a、インストール実行部10b、アプリケーション消去部10c、およびデバイス制御部10dを備える。ホワイトリスト取得部10aは、管理サーバ4からホワイトリストを取得するための処理を行う。インストール実行部10bは、記憶部14に格納されているアプリケーションファイルを用いてアプリケーションのインストールを実行する。アプリケーション消去部10cは、携帯端末1にインストールされているアプリケーションの検証(認証)を行い、不要なアプリケーションの消去(アンインストール)を実行する。ホワイトリスト取得部10a、インストール実行部10b、およびアプリケーション消去部10cは、アプリケーションとして実装される。デバイス制御部10dは、デバイスドライバとしての機能を有し、携帯端末1が備えるデバイス(通信部11、表示部12、操作部13、および記憶部14)の動作を制御する。
【0025】
図3は管理サーバ4の構成を示している。管理サーバ4は、制御部40、通信部41、表示部42、操作部43、および記憶部44を備える。制御部40は管理サーバ4内の各部を制御する。通信部41は携帯端末1および管理用端末3と通信を行う。表示部42は各種情報を表示する。操作部43は、ユーザが操作する各種ボタンやキー等を備える。記憶部44はホワイトリスト等を記憶する。
【0026】
制御部40は、アプリケーション検証部40a、ホワイトリスト管理部40b、端末管理部40c、およびデバイス制御部40dを備える。アプリケーション検証部40aは、アプリケーションの信頼性を検証する。ホワイトリスト管理部40bはホワイトリストを管理する。端末管理部40cは、ホワイトリストを取得している携帯端末1の状態を管理する。アプリケーション検証部40a、ホワイトリスト管理部40b、および端末管理部40cは、アプリケーションとして実装される。デバイス制御部40dは、デバイスドライバとしての機能を有し、管理サーバ4が備えるデバイス(通信部11、表示部12、操作部13、および記憶部14)の動作を制御する。
【0027】
ホワイトリストへの情報の登録は以下のようにして行われる。前述したように、アプリケーションの実行ファイルから抽出された情報と実行ログが管理用端末3から送信される。これらは、デバイス制御部40dによる制御に従って通信部41によって受信され、記憶部44に格納される。アプリケーション検証部40aは、デバイス制御部40dを介して記憶部44から実行ログを取得し、実行ログに基づいてアプリケーションの信頼性を検証する。
【0028】
アプリケーション検証部40aがアプリケーションの信頼性を検証した結果はホワイトリスト管理部40bに通知される。アプリケーション検証部40aによって、アプリケーションが信頼できると判断された場合、ホワイトリスト管理部40bは、デバイス制御部40dを介して記憶部44から、検証対象のアプリケーションについてのパッケージ名、バージョン情報、および公開鍵の各情報を取得する。
【0029】
既に記憶部44にホワイトリストが格納されていれば、ホワイトリスト管理部40bは、デバイス制御部40dを介して記憶部44からホワイトリストを取得し、上記の各情報をホワイトリストに追加することによってホワイトリストを更新し、デバイス制御部40dを介して、記憶部44に格納されている更新前のホワイトリストを更新後のホワイトリストで置き換える。また、記憶部44にホワイトリストが格納されていなければ、ホワイトリスト管理部40bは、上記の各情報を含むホワイトリストを新たに生成し、デバイス制御部40dを介してホワイトリストを記憶部44に格納する。
【0030】
図4はホワイトリストの内容の一例を示している。図4に示すようにホワイトリストでは、アプリケーション毎に、パッケージ名(例えばP1)、バージョン情報(例えばV1)、開発者の公開鍵(例えばPK1)が登録されている。
【0031】
次に、携帯端末1の動作を説明する。携帯端末1は定期的に管理サーバ4にアクセスし、ホワイトリストを取得する。具体的には、携帯端末1のホワイトリスト取得部10aは、ホワイトリストの取得要求を生成し、通信部11へ出力する。通信部11は、デバイス制御部40dによる制御に従って管理サーバ4と通信を行い、取得要求を管理サーバ4へ送信する。管理サーバ4の通信部41は、デバイス制御部40dによる制御に従って取得要求を受信し、ホワイトリスト管理部40bへ出力する。ホワイトリスト管理部40bは、取得要求に従って、デバイス制御部40dを介して記憶部44からホワイトリストを取得し、通信部41へ出力する。通信部41は、デバイス制御部40dによる制御に従って、取得要求の送信元である携帯端末1と通信を行い、ホワイトリストを携帯端末1へ送信する。
【0032】
携帯端末1の通信部11は、デバイス制御部10dによる制御に従ってホワイトリストを受信し、ホワイトリスト取得部10aへ出力する。ホワイトリスト取得部10aは、デバイス制御部10dを介してホワイトリストを記憶部14に格納する。上記のようにして携帯端末1は管理サーバ4からホワイトリストを取得し、保持する。
【0033】
携帯端末1は、ホワイトリストを用いて以下のように動作する。ユーザが操作部13を操作してアプリケーションのインストール指示を入力すると、デバイス制御部10dは、操作部13から出力される情報に基づいてインストール指示を検出し、インストール実行部10bにインストール指示を通知する。インストール実行部10bは、デバイス制御部10dを介して記憶部14からアプリケーションファイルを取得し、圧縮ファイルであるアプリケーションファイルを伸張し、デバイス制御部10dを介して伸張後のアプリケーションの実行ファイルを記憶部14に格納すると共に、アプリケーションを実行するための各種設定を行う。
【0034】
インストール実行部10bは、インストールが完了すると、インストールの完了を示すインテントの一種である“Package Added”(終了情報)を携帯端末1内にブロードキャストする。インテントは、Android(登録商標)のアプリケーションフレームワークで提供されている機能であり、アプリケーションを構成するオブジェクトであるアクティビティに対するメッセージとして機能するものである。
【0035】
図5は、ホワイトリストを用いてアプリケーションの確認(認証)を行う際の携帯端末1の動作を示している。アプリケーション消去部10cは、インストール実行部10bからインテント“Package Added”が出力されるまで待機している(ステップS100)。インテント“Package Added”を検知した場合、アプリケーション消去部10cは、デバイス制御部10dを介して、記憶部14に格納されているホワイトリストを取得する(ステップS105)。続いて、アプリケーション消去部10cは、デバイス制御部10dを介して、記憶部14にインストールされたアプリケーションの実行ファイルから、パッケージ名、バージョン情報、および開発者の公開鍵を取得する(ステップS110)。
【0036】
アプリケーション消去部10cは、アプリケーションの実行ファイルから取得したパッケージ名、バージョン情報、および開発者の公開鍵のそれぞれを、ホワイトリストに登録されている各情報と比較する(ステップS115)。図4に示したように、各情報はアプリケーション単位でホワイトリストに登録されており、ステップS115ではアプリケーション単位の情報の組合せに対して比較が行われる。例えば、アプリケーションの実行ファイルから取得した各情報が、ホワイトリスト内のパッケージ名P1、バージョン情報V1、開発者の公開鍵PK1と比較され、続いてパッケージ名P2、バージョン情報V2、開発者の公開鍵PK2と比較され、続いてパッケージ名P3、バージョン情報V3、開発者の公開鍵PK3と比較される。
【0037】
アプリケーションの実行ファイルから取得した各情報の組合せが、ホワイトリストに登録されているアプリケーション単位の情報の組合せのいずれかと完全に一致した場合(ステップS120)、ホワイトリストに登録されている正規のアプリケーションと同一のアプリケーションがインストールされたことになる。この場合、処理はステップS100に戻る。
【0038】
また、アプリケーションの実行ファイルから取得した各情報の組合せが、ホワイトリストに登録されているアプリケーション単位の情報の組合せのいずれとも一致しなかった場合(ステップS120)、アプリケーション消去部10cは、デバイス制御部10dを介して、ステップS100でインストールを検知したアプリケーションのプログラムや各種設定情報を記憶部14から消去(アンインストール)する(ステップS125)。続いて、処理はステップS100に戻る。
【0039】
上記の処理により、ホワイトリストに登録されている情報と一致しない情報を有するアプリケーションは携帯端末1から削除される。したがって、信頼されたアプリケーションのみがインストールされている状態に携帯端末1を保つことができる。図5に示す処理はアプリケーションのインストール動作と連動しており、アプリケーションの消去が行われるよりも前にユーザがインストール直後のアプリケーションを起動することは困難であるが、安全性をより向上するため、ステップS115の処理が終了してステップS100に戻るまで、またはステップS125の処理が終了するまではユーザによるアプリケーションの起動を受け付けないようにしてもよい。
【0040】
ステップS115で各情報の比較を行う際、文字列である開発者の公開鍵をそのまま用いて比較を行うと、1024ビットあるいは2048ビットの文字列の比較が必要になり、この文字列の比較に要する処理負荷が大きい。携帯端末ではCPU負荷や消費電力が制限されるため、携帯端末でこの文字列の比較を行うのは好ましくない。そこで、開発者の公開鍵については、ハッシュ計算(ハッシュ処理)を施した公開鍵を使用してもよい。具体的には、管理サーバ4において、開発者の公開鍵に対してハッシュ計算が行われ、計算結果が開発者の公開鍵としてホワイトリストに登録される。また、携帯端末1においてアプリケーション消去部10cは、ステップS110でアプリケーションから開発者の公開鍵を取得した際、公開鍵に対してハッシュ計算を施し、例えば160ビット程度の文字列に圧縮する。ハッシュ計算に要する処理負荷は上記の文字列の比較に要する処理負荷よりも小さい。
【0041】
上記では、パッケージ名、バージョン情報、開発者の公開鍵の3つを使用しているが、アプリケーションのインストールを制限することによる安全性と、アプリケーションのインストールを許容することによる利便性とを考慮して、上記の情報の組合せを変更してもよい。例えば、開発者の公開鍵のみを使用するパターン、開発者の公開鍵とパッケージ名を使用するパターン、開発者の公開鍵とパッケージ名とバージョン情報を使用するパターンの3つのパターンを用意しておき、携帯端末1がいずれかのパターンのみで動作するようにしてもよい。上記のパターンは、例えば携帯端末1のユーザが所属する団体毎に決定される。また、上記のパターンを変更するためには、例えば携帯端末1に実装されている、ホワイトリスト取得部10a、インストール実行部10b、アプリケーション消去部10cの機能を実現するアプリケーションの変更を要する。
【0042】
上記では、アプリケーションがインストールされるタイミングで、ホワイトリストを用いたアプリケーションの確認が行われているが、既にインストールされているアプリケーションを対象として、この確認を定期的に行ってもよい。例えば、アプリケーション消去部10cは、記憶部14にインストールされているアプリケーションの実行ファイルを対象として、定期的にステップS105〜S125の処理を実行する。
【0043】
この場合、携帯端末1の製造段階で予めインストール(プリインストール)されるアプリケーションについては信頼できるアプリケーションとみなし、そのアプリケーションを処理の対象から除外してもよい。例えば、プリインストールされるアプリケーションの多くはシステム領域に保存されるため、記憶部14において、システム領域以外の記憶領域に保存されているアプリケーションを処理の対象とすればよい。
【0044】
具体的には、前回処理を行ってから所定時間が経過した等の条件を満たした場合、アプリケーション消去部10cは、デバイス制御部10dを介して、記憶部14に格納されているホワイトリストを取得する。ホワイトリストには、信頼できるアプリケーションの実行ファイルが格納されている記憶領域(例えばシステム領域)を示す領域情報が付加されている。アプリケーション消去部10cは、記憶部14において、この領域情報が示す記憶領域に格納されているアプリケーションについては以降の処理から除外し、ステップS110〜S125と同様の処理を行う。
【0045】
なお、信頼できるアプリケーションの実行ファイルが格納されている記憶領域を示す領域情報をホワイトリストに付加する方法として、ホワイトリストにおいて、該当するアプリケーションのパッケージ名を絶対パスとして表記し、絶対パスの文字列の一部を領域情報とする方法を用いてもよい。
【0046】
次に、管理サーバ4が携帯端末1の状態を管理する動作を説明する。ホワイトリスト取得部10a、インストール実行部10b、およびアプリケーション消去部10cの機能を実装したアプリケーションが悪意のユーザによって携帯端末1から消去される可能性がある。このため、管理サーバ4は携帯端末1が定期的にホワイトリストを取得しているか否かを確認し、定期的にホワイトリストを取得していない携帯端末1があった場合に警告を発する。
【0047】
管理サーバ4の記憶部44には、携帯端末1の状態を管理するための端末リストが格納されている。図6は端末リストの内容の一例を示している。図6に示すように端末リストでは、法人名(例えばC1)、端末識別子(例えばN1)、取得時刻(例えばT1)が登録されている。法人名は、携帯端末1のユーザが所属している法人の名称である。端末識別子は、携帯端末1の個体を識別する情報であり、例えば電話番号である。取得時刻は、携帯端末1が最後にホワイトリストを取得した時刻である。
【0048】
図7は管理サーバ4の動作を示している。端末管理部40cは、デバイス制御部40dを介して通信部41から制御部40へ出力される情報を監視し、携帯端末1からホワイトリストの取得要求が受信されたか否かを判定する(ステップS200)。取得要求が受信された場合、端末管理部40cは、取得要求に含まれる携帯端末1の端末識別子を確認する(ステップS205)。
【0049】
続いて、端末管理部40cは、デバイス制御部40dを介して記憶部44から端末リストを取得し、端末リストにおいて、取得要求に含まれる端末識別子と同一の端末識別子と組み合わされている取得時刻を現在の時刻に置き換えることによって端末リストを更新し、デバイス制御部40dを介して、記憶部44に格納されている更新前の端末リストを更新後の端末リストで置き換える(ステップS210)。
【0050】
続いて、ホワイトリスト管理部40bは、取得要求に従って、デバイス制御部40dを介して記憶部44からホワイトリストを取得し、通信部41へ出力する。通信部41は、デバイス制御部40dによる制御に従って、取得要求の送信元である携帯端末1と通信を行い、ホワイトリストを携帯端末1へ送信する(ステップS215)。続いて、処理はステップS200に戻る。
【0051】
ステップS200において、取得要求が受信されていない場合、端末管理部40cは、デバイス制御部40dを介して記憶部44から端末リストを取得し、端末リストにおいて、各携帯端末1の取得時刻を順に確認する(ステップS220)。端末管理部40cは、ステップS220で取得時刻を確認した結果に基づいて、端末リストに記録されている取得時刻と現在の時刻との差が所定時間を超えている携帯端末1があるか否か(すなわち、最後にホワイトリストを取得してから所定時間以上ホワイトリストを取得していない携帯端末1があるか否か)を判定する(ステップS225)。
【0052】
端末リストに記録されている取得時刻と現在の時刻との差が所定時間を超えている携帯端末1があった場合、端末管理部40cは、安全性が保たれていない携帯端末1が存在していることをその携帯端末1の管理者に警告するための警告情報(例えば警告用の電子メール)を生成し、デバイス制御部40dを介して通信部41へ出力する。通信部41は、デバイス制御部40dによる制御に従って、管理者の端末と通信を行い、警告情報を端末へ送信する(ステップS230)。続いて、処理はステップS200に戻る。また、端末リストに記録されている取得時刻と現在の時刻との差が所定時間を超えている携帯端末1がなかった場合、処理はステップS200に戻る。
【0053】
上記の処理により、ホワイトリスト取得部10a、インストール実行部10b、およびアプリケーション消去部10cの機能を実装したアプリケーションが携帯端末1から消去されたことを検知し、管理者に警告を発して対策を促すことができる。
【0054】
本実施形態の携帯端末1および管理サーバ4に関しては、携帯端末1や管理サーバ4の動作および機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行させることにより、携帯端末1および管理サーバ4を構成することが可能である。
【0055】
ここで、「コンピュータ」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0056】
また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように、情報を伝送する機能を有する媒体のことをいう。また、上述したプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能を、コンピュータに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0057】
上述したように、本実施形態では、パッケージ名、バージョン情報、および開発者の公開鍵を用いたホワイトリスト方式を採用している。バージョン情報をホワイトリストに含めることによって、バージョンアップによりマルウェアに変異したアプリケーションを駆除することができる。また、開発者の公開鍵をホワイトリストに含めることによって、開発者に対しても認証を行うことが可能となり、正規のアプリケーションのパッケージ名を用いて正規のアプリケーションになりすましたマルウェアを駆除することができる。したがって、マルウェアをより効果的に駆除することができる。セキュリティ管理が重要な法人向けのサービスに本実施形態は好適である。
【0058】
また、ハッシュ計算を施した公開鍵を使用することによって、携帯端末のCPU負荷や消費電力を抑えることができる。また、アプリケーションのインストールが終了した直後のタイミングや、定期的に訪れるタイミングで、携帯端末にインストールされているアプリケーションを検証することによって、マルウェアが携帯端末に導入されている期間を極力短くすることができる。
【0059】
また、プリインストールされているアプリケーションを、信頼できるアプリケーションとみなし、携帯端末1におけるアプリケーションの検証の対象から除外することによって、携帯端末のCPU負荷や消費電力を抑えることができる。さらに、携帯端末がホワイトリストを定期的に取得しているか否かを確認することによって、携帯端末の状態をより安全に保つことができる。
【0060】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【0061】
1・・・携帯端末、2・・・アプリケーション販売サーバ、3・・・管理用端末、4・・・管理サーバ、10,40・・・制御部、10a・・・ホワイトリスト取得部、10b・・・インストール実行部、10c・・・アプリケーション消去部、10d,40d・・・デバイス制御部、11,41・・・通信部、12,42・・・表示部、13,43・・・操作部、14,44・・・記憶部、40a・・・アプリケーション検証部、40b・・・ホワイトリスト管理部、40c・・・端末管理部

【特許請求の範囲】
【請求項1】
信頼されたアプリケーションの名称を示す第1の名称情報と、当該信頼されたアプリケーションのバージョンを示す第1のバージョン情報と、当該信頼されたアプリケーションの開発者の公開鍵を示す第1の公開鍵情報とを含むホワイトリストを記憶すると共に、インストールされたアプリケーションのプログラムを含むファイルを記憶する記憶部と、
前記記憶部に前記アプリケーションのプログラムをインストールするインストール実行部と、
前記記憶部にインストールされているアプリケーションから、当該アプリケーションの名称を示す第2の名称情報と、当該アプリケーションのバージョンを示す第2のバージョン情報と、当該アプリケーションの開発者の公開鍵を示す第2の公開鍵情報とを取得し、前記第1の名称情報と前記第2の名称情報、前記第1のバージョン情報と前記第2のバージョン情報、前記第1の公開鍵情報と前記第2の公開鍵情報の3組の情報をそれぞれ比較し、少なくとも1組の情報が一致しなかった場合に、当該比較に係る前記アプリケーションのプログラムを前記記憶部から消去する消去部と、
を備えたことを特徴とする携帯端末。
【請求項2】
前記第1の公開鍵情報および前記第2の公開鍵情報は、前記開発者の公開鍵をハッシュ処理した情報であることを特徴とする請求項1に記載の携帯端末。
【請求項3】
前記インストール実行部は、前記アプリケーションのプログラムのインストールが終了したタイミングで、当該インストールの終了を通知する終了情報を出力し、
前記消去部は、前記終了情報を検知したタイミングで前記比較を行う
ことを特徴とする請求項1または請求項2に記載の携帯端末。
【請求項4】
前記ホワイトリストはさらに、当該信頼されたアプリケーションのプログラムがインストールされている前記記憶部の記憶領域を示す領域情報を含み、
前記消去部は、前記領域情報が示す領域以外の領域にインストールされているアプリケーションを前記比較の対象とする
ことを特徴とする請求項1〜請求項3のいずれか一項に記載の携帯端末。
【請求項5】
請求項1〜請求項4のいずれか一項に記載の携帯端末としてコンピュータを機能させるためのプログラム。
【請求項6】
携帯端末およびサーバを備えた通信システムであって、
前記携帯端末は、
信頼されたアプリケーションの名称を示す第1の名称情報と、当該信頼されたアプリケーションのバージョンを示す第1のバージョン情報と、当該信頼されたアプリケーションの開発者の公開鍵を示す第1の公開鍵情報とを含むホワイトリストを前記サーバから受信する第1の通信部と、
受信された前記ホワイトリストを記憶すると共に、インストールされたアプリケーションのプログラムを含むファイルを記憶する第1の記憶部と、
前記第1の記憶部に前記アプリケーションのプログラムをインストールするインストール実行部と、
前記第1の記憶部にインストールされているアプリケーションから、当該アプリケーションの名称を示す第2の名称情報と、当該アプリケーションのバージョンを示す第2のバージョン情報と、当該アプリケーションの開発者の公開鍵を示す第2の公開鍵情報とを取得し、前記第1の名称情報と前記第2の名称情報、前記第1のバージョン情報と前記第2のバージョン情報、前記第1の公開鍵情報と前記第2の公開鍵情報の3組の情報をそれぞれ比較し、少なくとも1組の情報が一致しなかった場合に、当該比較に係る前記アプリケーションのプログラムを前記第1の記憶部から消去する消去部と、
を有し、
前記サーバは、
前記ホワイトリストを記憶する第2の記憶部と、
前記ホワイトリストを前記携帯端末へ送信する第2の通信部と、
を有することを特徴とする通信システム。
【請求項7】
前記第1の通信部はさらに、前記サーバに前記ホワイトリストの取得要求を定期的に送信し、
前記サーバはさらに、前記携帯端末からの前記取得要求を監視し、最後に前記取得要求が受信されてから一定時間内に前記取得要求が受信されなかった場合に警告情報を生成する警告部を有し、
前記第2の通信部は、前記携帯端末から前記取得要求を受信した場合に前記ホワイトリストを前記携帯端末へ送信する
ことを特徴とする請求項6に記載の通信システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−185745(P2012−185745A)
【公開日】平成24年9月27日(2012.9.27)
【国際特許分類】
【出願番号】特願2011−49570(P2011−49570)
【出願日】平成23年3月7日(2011.3.7)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】