(57)【要約】【課題】アプリケーションの異常性を判定することができるアプリケーション判定システムおよびプログラムを提供する。【解決手段】パーミッションリスト記憶部１１は、アプリケーションの種別を示す第１の種別情報と、当該第１の種別情報が示す種別の正常なアプリケーションが機能およびデータにアクセスする権限を示す第１の権限情報とを対応付けて記憶する。パーミッション抽出部１２は、第２の権限情報を含む判定対象のアプリケーションの実行ファイルから第２の権限情報を抽出する。パーミッション比較部１３は、判定対象のアプリケーションに対応する第２の種別情報と一致する第１の種別情報に対応する第１の権限情報と、抽出された第２の権限情報とを比較する。判定部１４は、権限比較部が行った比較の結果に基づいて、判定対象のアプリケーションが異常であるか否かを判定する。【選択図】図１
2011233081.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションの種別を示す第１の種別情報と、当該第１の種別情報が示す種別の正常なアプリケーションが機能およびデータにアクセスする権限を示す第１の権限情報とを対応付けて記憶する権限記憶部と、
アプリケーションが機能およびデータにアクセスする権限を示す第２の権限情報を含むアプリケーションの実行ファイルと、当該アプリケーションの種別を示す第２の種別情報とを対応付けて記憶するアプリケーション記憶部と、
判定対象のアプリケーションの実行ファイルから前記第２の権限情報を抽出する抽出部と、
前記判定対象のアプリケーションに対応する前記第２の種別情報と一致する前記第１の種別情報に対応する前記第１の権限情報と、前記抽出部によって抽出された前記第２の権限情報とを比較する権限比較部と、
前記権限比較部が行った比較の結果に基づいて、前記判定対象のアプリケーションが異常であるか否かを判定する判定部と、
を備えたことを特徴とするアプリケーション判定システム。
【請求項２】
前記第１の種別情報と、当該第１の種別情報が示す種別の正常なアプリケーションが通信を行う際の通信相手を示す第１の通信相手情報とを対応付けて記憶する通信相手記憶部と、
前記判定対象のアプリケーションの実行ファイルを実行する実行部と、
通信を行う通信部と、
前記判定対象のアプリケーションの実行ファイルが実行されたときに前記通信部が行う通信を監視し、前記通信部が行った通信の相手を示す第２の通信相手情報を生成する監視部と、
前記判定対象のアプリケーションに対応する前記第２の種別情報と一致する前記第１の種別情報に対応する前記第１の通信相手情報と、前記監視部によって生成された前記第２の通信相手情報とを比較する通信相手比較部と、
をさらに備え、前記判定部は、前記権限比較部および前記通信相手比較部が行った比較の結果に基づいて、前記判定対象のアプリケーションが異常であるか否かを判定する
ことを特徴とする請求項１に記載のアプリケーション判定システム。
【請求項３】
アプリケーションによってアクセスされるファイルをディレクトリに格納して記憶するファイル記憶部と、
前記第１の種別情報と、当該第１の種別情報が示す種別の正常なアプリケーションがアクセスするファイルまたはディレクトリを示す第１のアクセス情報とを対応付けて記憶するアクセス記憶部と、
前記判定対象のアプリケーションの実行ファイルを実行する実行部と、
前記判定対象のアプリケーションの実行ファイルが実行されたときに前記ファイル記憶部が記憶しているファイルまたはディレクトリへのアクセスを監視し、アクセスされたファイルまたはディレクトリを示す第２のアクセス情報を生成する監視部と、
前記判定対象のアプリケーションに対応する前記第２の種別情報と一致する前記第１の種別情報に対応する前記第１のアクセス情報と、前記監視部によって生成された前記第２のアクセス情報とを比較するアクセス比較部と、
をさらに備え、前記判定部は、前記権限比較部および前記アクセス比較部が行った比較の結果に基づいて、前記判定対象のアプリケーションが異常であるか否かを判定する
ことを特徴とする請求項１に記載のアプリケーション判定システム。
【請求項４】
前記判定部は、前記第１の権限情報と前記第２の権限情報とが一致せず、前記第１の権限情報が示す機能およびデータ毎の権限の数よりも、前記第２の権限情報が示す機能およびデータ毎の権限の数のほうが多い場合に、当該権限の数の差が所定数以上であれば、前記判定対象のアプリケーションが異常であると判定することを特徴とする請求項１に記載のアプリケーション判定システム。
【請求項５】
前記権限記憶部はさらに、異常なアプリケーションが機能およびデータにアクセスする複数の権限の組合せを示す第３の権限情報を記憶し、
前記判定部は、前記第１の権限情報と前記第２の権限情報とが一致せず、前記第２の権限情報が示す権限から前記第１の権限情報が示す権限と一致する権限を除いた残りの権限が複数であって、当該複数の権限の組合せが、前記第３の権限情報が示す複数の権限の組合せと一致する場合に、前記判定対象のアプリケーションが異常であると判定する
ことを特徴とする請求項１に記載のアプリケーション判定システム。
【請求項６】
請求項１〜請求項５のいずれか一項に記載のアプリケーション判定システムとしてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯電話等で動作するアプリケーションが異常であるか否か（良性であるか悪性であるか）を判定するアプリケーション判定システムに関する。また、本発明は、本アプリケーション判定システムとしてコンピュータを機能させるためのプログラムにも関する。
【背景技術】
【０００２】
Web上でソースコードが公開されオープンに開発されている、オープンOSと呼ばれるOS（オペレーティングシステム）がある。また、Android等のオープンOSを用いた携帯電話が普及しており、携帯電話用のアプリケーションを販売するWebサイトが増えている。オープンOSでは、アプリケーションが機能（デバイス）やデータにアクセスする権限がパーミッションリストとして定義されており（例えばhttp://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=core/res/AndroidManifest.xml;hb=HEAD参照）、この範囲内でしか動作できない制限が設けられている。アプリケーションがアクセスする機能（デバイス）は、電話番号発信機能、インターネットアクセス機能、位置情報取得機能、システム設定機能等である。また、アプリケーションがアクセスするデータは、所有者データ、カレンダーデータ、ユーザ定義辞書等である。
【０００３】
パーミッションの候補は、あらゆるアプリケーションに共通して適用可能となっている。アプリケーションの作成者は、パーミッションを自由に選択してアプリケーションに付与することができるため、アプリケーションに求められる本来の挙動とは異なる処理を行うアプリケーションを作成することができる。したがって、コンピュータに侵入し、データの消去やファイルの外部流出、他のコンピュータの攻撃などを行う、いわゆるトロイの木馬を作成することもできる。
【０００４】
ユーザが携帯電話上でアプリケーションのインストールを行う場合、図１５に示す画面が表示され、アプリケーションに付与されているパーミッションの一覧が表示される。図１５（ａ）は、FTPサーバアプリケーションに関する画面の一例である。このアプリケーションは、インターネットアクセスに関するパーミッションと、電話デバイスへのアクセスに関するパーミッションと、無線通信の状態変更等に関するパーミッションとを有している。
【０００５】
図１５（ｂ）は、コミック系アプリケーションに関する画面の一例である。このアプリケーションは、インターネットアクセスに関するパーミッションを有している。図１５（ｃ）は、キーボードアプリケーションに関する画面の一例である。このアプリケーションは、インターネットアクセスに関するパーミッションと、個人情報へのアクセスに関するパーミッションとを有している。
【０００６】
ユーザはパーミッションの一覧を確認し、インストールを行う場合には「OK」と書かれたボタンＢ１をGUI（Graphical User Interface）により操作し、インストールを中止する場合には「Cancel」と書かれたボタンＢ２をGUIにより操作する。ボタンＢ１が操作されると、アプリケーションが携帯電話にインストールされ、アプリケーションの使用が可能となる。
【０００７】
本発明に関連する技術として、特許文献１には、マルウェアによる通信を検知する方法が記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−１５５１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
図１５に示したパーミッションを有するアプリケーションは、本来のアプリケーションの動作とは異なる異常な動作を行うことが確認されたものである。FTPサーバアプリケーションがインターネットアクセスに関するパーミッションを持っていることは問題ないが、電話デバイスへのアクセスに関するパーミッションを持つのは異常である。また、コミック系アプリケーションがインターネットアクセスに関するパーミッションを持つのも異常である。また、キーボードアプリケーションがインターネットアクセスに関するパーミッションと個人情報へのアクセスに関するパーミッションを持つのも異常である。
【００１０】
ユーザは、パーミッションに関する知識を有していなければ、図１５に示した画面から、アプリケーションの良性／悪性を判定することは困難である。携帯電話用のアプリケーションの販売サイトの多くは、開発者から投稿されたアプリケーションの審査を行わずにそのままアプリケーションをWebに公開するため、ユーザの携帯電話が悪意のソフトウェア（マルウェア）に感染してしまう事例が発生している。
【００１１】
本発明は、上述した課題に鑑みてなされたものであって、アプリケーションの異常性を判定することができるアプリケーション判定システムおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、上記の課題を解決するためになされたもので、アプリケーションの種別を示す第１の種別情報と、当該第１の種別情報が示す種別の正常なアプリケーションが機能およびデータにアクセスする権限を示す第１の権限情報とを対応付けて記憶する権限記憶部と、アプリケーションが機能およびデータにアクセスする権限を示す第２の権限情報を含むアプリケーションの実行ファイルと、当該アプリケーションの種別を示す第２の種別情報とを対応付けて記憶するアプリケーション記憶部と、判定対象のアプリケーションの実行ファイルから前記第２の権限情報を抽出する抽出部と、前記判定対象のアプリケーションに対応する前記第２の種別情報と一致する前記第１の種別情報に対応する前記第１の権限情報と、前記抽出部によって抽出された前記第２の権限情報とを比較する権限比較部と、前記権限比較部が行った比較の結果に基づいて、前記判定対象のアプリケーションが異常であるか否かを判定する判定部と、を備えたことを特徴とするアプリケーション判定システムである。
【００１３】
また、本発明のアプリケーション判定システムは、前記第１の種別情報と、当該第１の種別情報が示す種別の正常なアプリケーションが通信を行う際の通信相手を示す第１の通信相手情報とを対応付けて記憶する通信相手記憶部と、前記判定対象のアプリケーションの実行ファイルを実行する実行部と、通信を行う通信部と、前記判定対象のアプリケーションの実行ファイルが実行されたときに前記通信部が行う通信を監視し、前記通信部が行った通信の相手を示す第２の通信相手情報を生成する監視部と、前記判定対象のアプリケーションに対応する前記第２の種別情報と一致する前記第１の種別情報に対応する前記第１の通信相手情報と、前記監視部によって生成された前記第２の通信相手情報とを比較する通信相手比較部と、をさらに備え、前記判定部は、前記権限比較部および前記通信相手比較部が行った比較の結果に基づいて、前記判定対象のアプリケーションが異常であるか否かを判定することを特徴とする。
【００１４】
また、本発明のアプリケーション判定システムは、アプリケーションによってアクセスされるファイルをディレクトリに格納して記憶するファイル記憶部と、前記第１の種別情報と、当該第１の種別情報が示す種別の正常なアプリケーションがアクセスするファイルまたはディレクトリを示す第１のアクセス情報とを対応付けて記憶するアクセス記憶部と、前記判定対象のアプリケーションの実行ファイルを実行する実行部と、前記判定対象のアプリケーションの実行ファイルが実行されたときに前記ファイル記憶部が記憶しているファイルまたはディレクトリへのアクセスを監視し、アクセスされたファイルまたはディレクトリを示す第２のアクセス情報を生成する監視部と、前記判定対象のアプリケーションに対応する前記第２の種別情報と一致する前記第１の種別情報に対応する前記第１のアクセス情報と、前記監視部によって生成された前記第２のアクセス情報とを比較するアクセス比較部と、をさらに備え、前記判定部は、前記権限比較部および前記アクセス比較部が行った比較の結果に基づいて、前記判定対象のアプリケーションが異常であるか否かを判定することを特徴とする。
【００１５】
また、本発明のアプリケーション判定システムにおいて、前記判定部は、前記第１の権限情報と前記第２の権限情報とが一致せず、前記第１の権限情報が示す機能およびデータ毎の権限の数よりも、前記第２の権限情報が示す機能およびデータ毎の権限の数のほうが多い場合に、当該権限の数の差が所定数以上であれば、前記判定対象のアプリケーションが異常であると判定することを特徴とする。
【００１６】
また、本発明のアプリケーション判定システムにおいて、前記権限記憶部はさらに、異常なアプリケーションが機能およびデータにアクセスする複数の権限の組合せを示す第３の権限情報を記憶し、前記判定部は、前記第１の権限情報と前記第２の権限情報とが一致せず、前記第２の権限情報が示す権限から前記第１の権限情報が示す権限と一致する権限を除いた残りの権限が複数であって、当該複数の権限の組合せが、前記第３の権限情報が示す複数の権限の組合せと一致する場合に、前記判定対象のアプリケーションが異常であると判定することを特徴とする。
【００１７】
また、本発明は、上記のアプリケーション判定システムとしてコンピュータを機能させるためのプログラムである。
【発明の効果】
【００１８】
本発明によれば、アプリケーションが機能およびデータにアクセスする権限を示す第２の権限情報を判定対象のアプリケーションの実行ファイルから抽出し、正常なアプリケーションが機能およびデータにアクセスする権限を示す第１の権限情報と比較することによって、アプリケーションの異常性を判定することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施形態によるアプリケーション判定装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態におけるアプリケーションの実行ファイルの構成を示す参考図である。
【図３】本発明の第１の実施形態におけるパーミッションを示す参考図である。
【図４】本発明の第１の実施形態によるアプリケーション判定装置の動作の手順を示すフローチャートである。
【図５】本発明の第１の実施形態におけるパーミッションリストの比較およびアプリケーションの判定の様子を示す参考図である。
【図６】本発明の第１の実施形態におけるパーミッションリストの比較およびアプリケーションの判定の様子を示す参考図である。
【図７】本発明の第１の実施形態におけるパーミッションリストの比較およびアプリケーションの判定の様子を示す参考図である。
【図８】本発明の第１の実施形態におけるパーミッションリストの比較およびアプリケーションの判定の様子を示す参考図である。
【図９】本発明の第２の実施形態によるアプリケーション判定システムの構成を示すブロック図である。
【図１０】本発明の第２の実施形態によるアプリケーション判定システムの動作の手順を示すシーケンス図である。
【図１１】本発明の第３の実施形態によるアプリケーション判定システムの構成を示すブロック図である。
【図１２】本発明の第３の実施形態によるアプリケーション判定システムの動作の手順を示すシーケンス図である。
【図１３】本発明の他の実施形態によるアプリケーション判定装置の構成を示すブロック図である。
【図１４】本発明の他の実施形態によるアプリケーション判定装置の構成を示すブロック図である。
【図１５】アプリケーションのインストール時に表示される画面を示す参考図である。
【図１６】Androidのディレクトリ構造を示す参考図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照し、本発明の実施形態を説明する。以下では、携帯電話用のオープンOSの一つであるAndroidに適用されるアプリケーションを例として説明する。
【００２１】
（第１の実施形態）
まず、本発明の第１の実施形態を説明する。図１は、本実施形態によるアプリケーション判定装置（本発明のアプリケーション判定システムに対応）の構成を示している。図１に示すアプリケーション判定装置１ａは、例えば携帯電話用のアプリケーションをWeb上で販売する販売サイトを管理する企業に設置される。アプリケーション判定装置１ａはPC（Personal Computer）であっても携帯電話であってもよい。このアプリケーション判定装置１ａは、アプリケーション記憶部１０と、パーミッションリスト記憶部１１と、パーミッション抽出部１２と、パーミッション比較部１３と、判定部１４と、表示部１５とを有する。
【００２２】
アプリケーション記憶部１０は、開発者から販売サイトへの登録が申請されたアプリケーションの実行ファイルを記憶する。図２はアプリケーションの実行ファイルの構成を示している。図２に示すように実行ファイル２００は、命令列を含む実行コード２０１、アプリケーションに付与されているパーミッションの情報を含むパーミッションリスト２０２、実行ファイル２０２の実行時に参照されるライブラリ２０３やパラメータ２０４等のファイルで構成されている。アプリケーションの実行ファイルは、アプリケーションの種別を示す種別情報と対応付けられた形式でアプリケーション記憶部１０に格納されている。アプリケーションの種別は、開発者からの申告に基づいて販売サイト側で決定されるものとする。
【００２３】
パーミッションリスト記憶部１１は、マルウェアを含まないことが確認されている正常なアプリケーションが機能（デバイス）およびデータにアクセスする権限を示すパーミッション情報を含むパーミッションリストを記憶する。本実施形態では、アプリケーションの種別毎にパーミッションリストが用意されている。パーミッションリストは、アプリケーションの種別を示す種別情報と上記のパーミッション情報とが対応付けられた形式でパーミッションリスト記憶部１１に格納されている。
【００２４】
本実施形態では、一例として、アプリケーションは以下の２２種類の種別のいずれかに属するものとしている。
［ゲーム系］
（１）アーケード＆アクション
（２）カジュアル
（３）カード＆カジノ
（４）パズル
［アプリケーション］
（５）エンターテイメント
（６）ショッピング
（７）ソーシャルネットワーク
（８）ツール
（９）ニュース＆天気情報
（１０）ファイナンス
（１１）マルチメディア
（１２）ライフスタイル
（１３）リファレンス
（１４）仕事効率化
（１５）旅行
（１６）通信
（１７）デモ
（１８）ソフトウェアライブラリ
（１９）コミック
（２０）スポーツ
（２１）テーマ
（２２）健康
【００２５】
図３は、Androidで定義されているパーミッションの一部を抜粋して示している。図３では、パーミッションの名称と、パーミッションの意味（ラベル）と、危険度とが示されている。危険度には「dangerous」と「normal」の２種類があり、危険度が「dangerous」のパーミッションは、アプリケーションのインストール時の初期状態の画面に表示される。危険度が「normal」のパーミッションは、アプリケーションのインストール時の初期状態の画面には表示されていないが、図１５に示した「Show all」と書かれた部分をユーザがGUIにより操作することで、危険度が「normal」のパーミッションを画面に表示することができる。本実施形態では、上記の２２種類の種別毎に、正常なアプリケーションが本来の機能を実行する上で持っていてよいパーミッションを予め選定し、リスト化しておく。
【００２６】
パーミッション抽出部１２は、判定対象のアプリケーションの実行ファイルからパーミッションリストを抽出する。パーミッション比較部１３は、判定対象のアプリケーションの種別に対応するパーミッションリストをパーミッションリスト記憶部１１から読み出し、読み出したパーミッションリストと、パーミッション抽出部１２によって抽出されたパーミッションリストとを比較する。判定部１４は、パーミッション比較部１３がパーミッションリストを比較した結果に基づいて、判定対象のアプリケーションが異常であるか否か（良性であるか悪性であるか）を判定する。表示部１５は、判定部１４が行った判定の結果を表示する。
【００２７】
図１では、アプリケーション記憶部１０とパーミッションリスト記憶部１１の２つの記憶部が設けられているが、これらは異なる記録媒体で構成されていてもよいし、同一の記録媒体上の異なる記憶領域で構成されていてもよい。
【００２８】
次に、本実施形態によるアプリケーション判定装置１ａの動作を説明する。図４は、アプリケーション判定装置１ａの動作の手順を示している。販売サイトの管理者等により動作開始の指示がなされると、パーミッション抽出部１２は、判定対象のアプリケーションの実行ファイルと種別情報のペアをアプリケーション記憶部１０から読み出し、読み出した実行ファイルからパーミッションリストを抽出し、抽出したパーミッションリストと種別情報をパーミッション比較部１３へ出力する（ステップＳ１００）。
【００２９】
続いて、パーミッション比較部１３は、パーミッション抽出部１２から入力された種別情報と一致する種別情報と対応付けられているパーミッションリストをパーミッションリスト記憶部１１から読み出し、読み出したパーミッションリストと、パーミッション抽出部１２から出力されたパーミッションリストとを比較する（ステップＳ１０５）。この比較は、パーミッションリストを構成する個々のパーミッション情報の単位で行われ、比較の単位毎に「一致」または「不一致」を示す比較結果が判定部１４へ出力される。
【００３０】
続いて、判定部１４は、パーミッション比較部１３から出力された比較結果に基づいて、判定対象のアプリケーションが異常であるか否か（良性であるか悪性であるか）を判定する（ステップＳ１１０）。続いて、表示部１５は、判定部１４が行った判定の結果を表示する（ステップＳ１１５）。アプリケーションが異常（悪性）であると判定された場合、例えば、販売サイトの管理者は、このアプリケーションの登録を許可しない。
【００３１】
図５は、ステップＳ１０５，Ｓ１１０の処理の様子を示している。図５に示すパーミッションＡ〜Ｅは個々のパーミッション情報である。ステップＳ１１０において、パーミッション比較部１３は、パーミッションリストを構成する個々のパーミッション情報について一致するか否かを判断する。
【００３２】
図５（ａ）では、判定対象のアプリケーションのパーミッションリストを構成する全てのパーミッション情報（パーミッションＡ〜Ｃ）が、パーミッションリスト記憶部１１に格納されているパーミッションリストを構成するパーミッション情報（パーミッションＡ〜Ｄ）のいずれかと一致している。パーミッション比較部１３は、判定対象のアプリケーションに関する全てのパーミッション情報について、個々のパーミッション毎に比較結果を出力する。判定部１４は、比較結果が全て「一致」であるので、判定対象のアプリケーションが正常（良性）であると判定する。
【００３３】
図５（ｂ）では、判定対象のアプリケーションのパーミッションリストを構成するパーミッション情報（パーミッションＡ〜Ｅ）のうち一部（パーミッションＡ〜Ｃ）は、パーミッションリスト記憶部１１に格納されているパーミッションリストを構成するパーミッション情報（パーミッションＡ〜Ｄ）のいずれかと一致している。しかし、残りの一部（パーミッションＥ）は、パーミッションリスト記憶部１１に格納されているパーミッションリストを構成するパーミッション情報（パーミッションＡ〜Ｄ）のいずれとも一致しない。パーミッション比較部１３は、判定対象のアプリケーションに関する全てのパーミッション情報について、個々のパーミッション毎に比較結果を出力する。
【００３４】
同種別のアプリケーションのパーミッションとして付与されてよいものとは異なるものが付与されているアプリケーションは、アプリケーションの本来の動作とは異なる動作を行いうるため、トロイの木馬である可能性がある。判定部１４は、比較結果に「不一致」が含まれるので、判定対象のアプリケーションが異常（悪性）であると判定する。
【００３５】
次に、ステップＳ１０５，Ｓ１１０の処理の変形例を説明する。図６は、第１の変形例に関するステップＳ１０５，Ｓ１１０の処理の様子を示している。図６に示すパーミッションＡ〜Ｆは個々のパーミッション情報である。ステップＳ１０５において、パーミッション比較部１３は、パーミッションリストを構成する個々のパーミッション情報について一致するか否かを判断する。
【００３６】
図６では、判定対象のアプリケーションのパーミッションリストを構成するパーミッション情報（パーミッションＡ〜Ｆ）のうち一部（パーミッションＡ〜Ｃ）は、パーミッションリスト記憶部１１に格納されているパーミッションリストを構成するパーミッション情報（パーミッションＡ〜Ｄ）のいずれかと一致している。しかし、残りの一部（パーミッションＥ，Ｆ）は、パーミッションリスト記憶部１１に格納されているパーミッションリストを構成するパーミッション情報（パーミッションＡ〜Ｄ）のいずれとも一致しない。
【００３７】
パーミッション比較部１３は、判定対象のアプリケーションに関する全てのパーミッション情報について、個々のパーミッション毎に比較結果を出力する。判定部１４は、比較結果に「不一致」が含まれるので、判定対象のアプリケーションのパーミッションリストには、同種別のアプリケーションのパーミッションとして付与されてよいものとは異なるものが含まれていると判断し、判定対象のアプリケーションが異常（悪性）であると判定する。
【００３８】
また、判定部１４は、比較結果が「不一致」であったパーミッション情報の数と所定の閾値（例えば２）とを比較する。図６に示す例では、比較結果が「不一致」であったパーミッション情報の数は２であり、所定の閾値以上であるため、判定部１４は危険度が高いと判定する。また、比較結果が「不一致」であったパーミッション情報の数が所定の閾値未満であった場合、判定部１４は危険度が低いと判定する。この危険度は、アプリケーションの異常性の度合いを示す。
【００３９】
正常なアプリケーションの本来の動作に必要なパーミッションよりも多くのパーミッションが付与されたアプリケーションは、本来の動作を行う以外に他の不要な動作を行い、トロイの木馬として動作する可能性がある。また、携帯電話のCPUやメモリの資源には制約があるため、不要なパーミッションが付与されていることは望ましくない。したがって、第１の変形例では、判定部１４は、不要なパーミッションがより多く付与されているアプリケーションについて、危険度が高いと判定している。なお、危険度をより細かく定義しておき、比較結果が「不一致」であったパーミッション情報の数が多くなればなるほど危険度がより高いと判定してもよい。
【００４０】
図７は、第２の変形例に関するアプリケーション判定装置の構成を示している。図７に示すアプリケーション判定装置１ｂは、図１に示したアプリケーション判定装置１ａに対して悪性パーミッション記憶部１６を追加したものである。悪性パーミッション記憶部１６は、異常（悪性）なアプリケーションが機能およびデータにアクセスする権限を示す複数のパーミッション情報の組合せを示すパーミッションリストを記憶する。
【００４１】
図８は、第２の変形例に関するステップＳ１０５，Ｓ１１０の処理の様子を示している。図８に示すパーミッションＡ〜Ｆは個々のパーミッション情報である。ステップＳ１１０において、パーミッション比較部１３は、パーミッションリストを構成する個々のパーミッション情報について一致するか否かを判断する。
【００４２】
パーミッション比較部１３は、判定対象のアプリケーションに関する全てのパーミッション情報について、個々のパーミッション毎に比較結果を出力する。また、パーミッション比較部１３は、比較結果が「不一致」であった場合、その比較に用いた、判定対象のアプリケーションのパーミッション情報も出力する。判定部１４は、比較結果に「不一致」が含まれるので、判定対象のアプリケーションのパーミッションリストには、同種別のアプリケーションのパーミッションとして付与されてよいものとは異なるものが含まれていると判断し、判定対象のアプリケーションが異常（悪性）であると判定する。
【００４３】
また、判定部１４は、悪性パーミッション記憶部１６からパーミッションリストを読み出し、比較結果が「不一致」であったパーミッション情報と、悪性パーミッション記憶部１６から読み出したパーミッションリスト内のパーミッション情報の組合せとを比較する。図８に示す例では、比較結果が「不一致」であった２つのパーミッション情報（パーミッションＥ，Ｆ）の組合せと、悪性パーミッション記憶部１６から読み出したパーミッションリスト内のパーミッション情報（パーミッションＥ，Ｆ）の組合せとが一致するため、判定部１４は危険度が高いと判定する。また、２つの組合せが一致しない場合、判定部１４は危険度が低いと判定する。この危険度は、アプリケーションの異常性の度合いを示す。
【００４４】
トロイの木馬として動作するアプリケーションは、本来のアプリケーションの動作とは異なる動作として、個人情報にアクセスしてインターネット上に送信したり、録音機能を有する携帯電話では録音を行って録音したデータをインターネット上に送信したりする。このような動作に関する複数のパーミッションの組合せを悪性パーミッション記憶部１６に登録しておくことで、トロイの木馬としての動作を行う可能性のあるアプリケーションを検出することができる。第２の変形例では、判定部１４は、異常（悪性）なアプリケーションに付与されやすい複数のパーミッションが付与されているアプリケーションについて、危険度が高いと判定している。
【００４５】
悪性パーミッション記憶部１６に予め登録されるパーミッション情報の組合せの例として、所有者データの読み取りに関する「android.permission.READ_OWNER_DATA」とインターネットアクセスに関する「android.permission.INTERNET」との組合せや、録音に関する「android.permission.RECORD_AUDIO」とインターネットアクセスに関する「android.permission.INTERNET」との組合せ等がある。
【００４６】
上述したように、本実施形態によれば、判定対象のアプリケーションの実行ファイルからパーミッションリストを抽出し、マルウェアを含まないことが確認されている正常なアプリケーションのパーミッションリストと比較することによって、アプリケーションの異常性を判定することができる。また、第１の変形例や第２の変形例のように、アプリケーションの危険度も判定することによって、アプリケーションの異常性をより細かく判定することができる。また、このアプリケーションの危険度は、販売サイトの管理者がアプリケーションの登録を許可するか否かを判断する際の判断材料として使用できる。
【００４７】
販売サイトの管理者は、アプリケーションの登録を許可するか否かを判断する際に、アプリケーションの危険度を考慮してもしなくてもよい。例えば、図５を用いて説明した方法により異常であると判定された全てのアプリケーションについて登録を許可しないようにしてもよい。また、図５を用いて説明した方法により異常であると判定されたアプリケーションのうち、危険度が高いと判定されたアプリケーションについては登録を許可せず、危険度が低いと判定されたアプリケーションについては、詳細な調査を行った後、登録を許可するか否かを再度判断してもよい。
【００４８】
（第２の実施形態）
次に、本発明の第２の実施形態を説明する。本実施形態では、第１の実施形態で説明したパーミッションリストの比較結果のほかに、判定対象のアプリケーションを実行したときに行われる通信の宛先と、正常なアプリケーションを実行したときに行われる通信の宛先とを比較した結果に基づいて、アプリケーションの判定が行われる。
【００４９】
図９は、本実施形態によるアプリケーション判定システムの構成を示している。図９に示すアプリケーション判定システムは、例えば携帯電話用のアプリケーションをWeb上で販売する販売サイトを管理する企業に設置される。このアプリケーション判定システムは、PC等のアプリケーション判定装置１ｃと携帯電話３ａとを有する。アプリケーション判定装置１ｃは、パーミッションリスト記憶部１１と、パーミッション比較部１３と、判定部１４と、表示部１５と、通信部１７と、通知情報分離部１８と、宛先リスト記憶部１９と、宛先比較部２０とを有する。
【００５０】
通信部１７は、ネットワーク４を介して、あるいは直接、携帯電話３ａと通信を行い、携帯電話３ａから通知情報を受信する。通知情報には、判定対象のアプリケーションから抽出したパーミッションリストと、判定対象のアプリケーションを実行したときに行われた通信の宛先を示す宛先リストとが含まれる。通知情報分離部１８は、通知情報を上記のパーミッションリストと宛先リストとに分離して、パーミッションリストをパーミッション比較部１３へ出力し、宛先リストを宛先比較部２０へ出力する。
【００５１】
パーミッションリスト記憶部１１は、マルウェアを含まないことが確認されている正常なアプリケーションのパーミッションリストとアプリケーションの種別情報とを対応付けて記憶する。パーミッション比較部１３は、判定対象のアプリケーションの種別に対応するパーミッションリストをパーミッションリスト記憶部１１から読み出し、読み出したパーミッションリストと、通知情報分離部１８からのパーミッションリストとを比較する。
【００５２】
宛先リスト記憶部１９は、マルウェアを含まないことが確認されている正常なアプリケーションの実行ファイルが実行されたときに行われる通信の宛先（通信相手）を示す宛先情報を含む宛先リストを記憶する。本実施形態における個々の宛先情報は、IPアドレス、FQDN（Fully Qualified Domain Name）、Port番号のいずれかで構成されている。本実施形態では、アプリケーションの種別毎に宛先リストが用意されている。宛先リストは、アプリケーションの種別を示す種別情報と上記の宛先情報とが対応付けられた形式で宛先リスト記憶部１９に格納されている。
【００５３】
宛先比較部２０は、判定対象のアプリケーションの種別に対応する宛先リストを宛先リスト記憶部１９から読み出し、読み出した宛先リストと、通知情報分離部１８からの宛先リストとを比較する。判定部１４は、パーミッション比較部１３がパーミッションリストを比較した結果および宛先比較部２０が宛先リストを比較した結果に基づいて、判定対象のアプリケーションが異常であるか否か（良性であるか悪性であるか）を判定する。表示部１５は、判定部１４が行った判定の結果を表示する。
【００５４】
携帯電話３ａは、通信部３０と、監視部３１と、通信ログ記憶部３２と、アプリケーション記憶部３３と、パーミッション抽出部３４と、通知情報生成部３５と、アプリケーション実行部３６とを有する。通信部３０は、ネットワーク４を介して、あるいは直接、アプリケーション判定装置１ｃと通信を行い、アプリケーション判定装置１ｃへ通知情報を送信する。また、通信部３０は、ネットワーク４を介して外部の通信装置と通信を行う。
【００５５】
監視部３１は、判定対象のアプリケーションの実行ファイルが実行されたときに行われる通信を監視し、通信結果を示す通信ログを生成する。通信ログには、通信時刻と、前述した宛先情報とが含まれる。宛先情報は、送信または受信されるパケットから抽出される。IPアドレスは、携帯電話３ａから外部へ送信されたパケットのDestination IPまたは携帯電話３ａで受信されたパケットのSource IPから抽出される。FQDNは、名前解決のためのDNS用パケットから抽出される。DNS用のパケットは、ポート番号がUDP53であるパケットとして検出することができる。ポート番号は、携帯電話３ａから外部へ送信されたパケットのDestination Portまたは携帯電話３ａで受信されたパケットのSource Portから抽出される。
【００５６】
通信ログ記憶部３２は、上記の通信ログを記憶する。アプリケーション記憶部３３は、開発者から販売サイトへの登録が申請されたアプリケーションの実行ファイルを記憶する。アプリケーションの実行ファイルは、アプリケーションの種別情報と対応付けられた形式でアプリケーション記憶部３３に格納されている。パーミッション抽出部３４は、判定対象のアプリケーションの実行ファイルからパーミッションリストを抽出する。
【００５７】
通知情報生成部３５は、パーミッション抽出部３４によって抽出されたパーミッションリストと、通信ログ記憶部３２に格納されている通信ログから抽出した宛先情報を含む宛先リストとを含む通知情報を生成する。アプリケーション実行部３６は、判定対象のアプリケーションの実行ファイルを実行する。
【００５８】
図９では、アプリケーション判定装置１ｃ内にパーミッションリスト記憶部１１と宛先リスト記憶部１９の２つの記憶部が設けられているが、これらは異なる記録媒体で構成されていてもよいし、同一の記録媒体上の異なる記憶領域で構成されていてもよい。また、携帯電話３ａ内に通信ログ記憶部３２とアプリケーション記憶部３３の２つの記憶部が設けられているが、これらは異なる記録媒体で構成されていてもよいし、同一の記録媒体上の異なる記憶領域で構成されていてもよい。
【００５９】
次に、本実施形態によるアプリケーション判定システムの動作を説明する。図１０は、アプリケーション判定システムの動作の手順を示している。アプリケーション判定装置１ｃにおいて、販売サイトの管理者等により動作開始の指示がなされると、アプリケーション判定装置１ｃは通知情報の受信待ちとなる。また、携帯電話３ａにおいて、販売サイトの管理者等により動作開始の指示がなされると、アプリケーション実行部３６は判定対象のアプリケーションの実行ファイルをアプリケーション記憶部３３から読み出し、読み出した実行ファイルを実行する（ステップＳ２００）。
【００６０】
続いて、監視部３１は、実行ファイルが実行されてから所定時間（例えば３０秒間）に行われる通信を監視し、送信または受信されるパケットから宛先情報を抽出して、通信ログとして通信ログ記憶部３２に格納する（ステップＳ２０５）。なお、通信が行われなかった場合には、通信ログ記憶部３２に通信ログは格納されない。
【００６１】
続いて、パーミッション抽出部１２は、判定対象のアプリケーションの実行ファイルと種別情報のペアをアプリケーション記憶部１０から読み出し、読み出した実行ファイルからパーミッションリストを抽出し、抽出したパーミッションリストと種別情報を通知情報生成部３５へ出力する（ステップＳ２１０）。なお、ステップＳ２１０の処理をステップＳ２００の処理の前に行ってもよい。
【００６２】
続いて、通知情報生成部３５は、通信ログ記憶部３２から通信ログを読み出し、通信ログから宛先情報を抽出する。また、通知情報生成部３５は、抽出した宛先情報を含む宛先リストを生成する。通知情報生成部３５は、上記のパーミッションリストと宛先リストおよび種別情報をパケットに格納して通知情報を生成し、通信部３０へ出力する（ステップＳ２１５）。通信が行われなかった場合、宛先リストは空となる。続いて、通信部３０は、通知情報をアプリケーション判定装置１ｃへ送信する（ステップＳ２２０）。
【００６３】
アプリケーション判定装置１ｃにおいて、通信部１７は通知情報を受信し、通知情報分離部１８へ出力する（ステップＳ２２５）。続いて、通知情報分離部１８は、通知情報に含まれるパーミッションリストと種別情報をパーミッション比較部１３へ出力し、宛先リストと種別情報を宛先比較部２０へ出力する（ステップＳ２３０）。
【００６４】
続いて、パーミッション比較部１３は、通知情報分離部１８からの種別情報と一致する種別情報と対応付けられているパーミッションリストをパーミッションリスト記憶部１１から読み出し、読み出したパーミッションリストと、通知情報分離部１８からのパーミッションリストとを比較する（ステップＳ２３５）。この比較は、パーミッションリストを構成する個々のパーミッション情報の単位で行われ、比較の単位毎に「一致」または「不一致」を示す比較結果が判定部１４へ出力される。
【００６５】
続いて、宛先比較部２０は、通知情報分離部１８からの種別情報と一致する種別情報と対応付けられている宛先リストを宛先リスト記憶部１９から読み出し、読み出した宛先リストと、通知情報分離部１８からの宛先リストとを比較する（ステップＳ２４０）。この比較は、宛先リストを構成する個々の宛先情報の単位で行われる。通知情報分離部１８からの宛先リスト内の全ての宛先情報が、宛先リスト記憶部１９から読み出した宛先リスト内の宛先情報のいずれかと一致した場合、「一致」を示す比較結果が判定部１４へ出力される。また、通知情報分離部１８からの宛先リスト内の宛先情報のうちいずれか１つでも、宛先リスト記憶部１９から読み出した宛先リスト内の宛先情報のいずれとも一致しなかった場合、「不一致」を示す比較結果が判定部１４へ出力される。また、通知情報分離部１８からの宛先リストが空であった場合、宛先リストの比較は行われない。なお、ステップＳ２４０の処理をステップＳ２３５の処理の前に行ってもよい。
【００６６】
続いて、判定部１４は、パーミッション比較部１３および宛先比較部２０から出力された比較結果に基づいて、判定対象のアプリケーションが異常であるか否か（良性であるか悪性であるか）を判定する（ステップＳ２４５）。続いて、表示部１５は、判定部１４が行った判定の結果を表示する（ステップＳ２５０）。アプリケーションが異常（悪性）であると判定された場合、例えば、販売サイトの管理者は、このアプリケーションの登録を許可しない。
【００６７】
以下、ステップＳ２４５の詳細を説明する。まず、判定部１４は、第１の実施形態と同様にして、パーミッション比較部１３から出力された比較結果に基づいて、アプリケーションの異常性を判定する。アプリケーションが異常であると判定された場合、判定部１４は、宛先比較部２０から出力された比較結果に基づいて、アプリケーションの危険度を判定する。正常なアプリケーションの通信相手として想定される宛先とは異なる宛先と通信を行うアプリケーションは、攻撃のための通信を行うトロイの木馬である可能性がある。宛先比較部２０から出力された比較結果が「不一致」を示す場合、危険度が高いと判定し、宛先比較部２０から出力された比較結果が「一致」を示す場合、判定部１４は危険度が低いと判定する。
【００６８】
上述したように、本実施形態によれば、アプリケーションの異常性を判定することができる。また、アプリケーションが実行されたときに行われる通信相手の情報に基づいてアプリケーションの危険度も判定することによって、アプリケーションの異常性をより細かく判定することができる。
【００６９】
（第３の実施形態）
次に、本発明の第３の実施形態を説明する。本実施形態では、第１の実施形態で説明したパーミッションリストの比較結果のほかに、判定対象のアプリケーションを実行したときアクセスされたファイルやディレクトリ（フォルダ）と、正常なアプリケーションを実行したときアクセスされるファイルやディレクトリとを比較した結果に基づいて、アプリケーションの判定が行われる。
【００７０】
図１１は、本実施形態によるアプリケーション判定システムの構成を示している。図１１に示すアプリケーション判定システムは、例えば携帯電話用のアプリケーションをWeb上で販売する販売サイトを管理する企業に設置される。このアプリケーション判定システムは、PC等のアプリケーション判定装置１ｄと携帯電話３ｂとを有する。アプリケーション判定装置１ｄは、パーミッションリスト記憶部１１と、パーミッション比較部１３と、判定部１４と、表示部１５と、通信部１７と、通知情報分離部１８と、ファイルアクセスリスト記憶部２１と、ファイルアクセス比較部２２とを有する。
【００７１】
アプリケーション判定装置１ｄの構成について、第２の実施形態と同様の部分については説明を省略する。本実施形態において、携帯電話３ｂからアプリケーション判定装置１ｄへ送信される通知情報には、判定対象のアプリケーションから抽出したパーミッションリストと、判定対象のアプリケーションを実行したときにアクセスされるファイルやディレクトリを示すファイルアクセス情報を含むファイルアクセスリストとが含まれる。通知情報分離部１８は、通知情報を上記のパーミッションリストとファイルアクセスリストとに分離して、パーミッションリストをパーミッション比較部１３へ出力し、ファイルアクセスリストをファイルアクセス比較部２２へ出力する。
【００７２】
ファイルアクセスリスト記憶部２１は、マルウェアを含まないことが確認されている正常なアプリケーションの実行ファイルが実行されたときにアクセスされるファイルやディレクトリを示すファイルアクセス情報を含むファイルアクセスリストを記憶する。本実施形態では、アプリケーションの種別毎にファイルアクセスリストが用意されている。ファイルアクセスリストは、アプリケーションの種別を示す種別情報と上記のファイルアクセス情報とが対応付けられた形式でファイルアクセスリスト記憶部２１に格納されている。
【００７３】
図１６は、Androidのディレクトリ構成を示している。携帯電話のメモリ上には階層構造を有するディレクトリが作成されている。ディレクトリＤ１には、インストールされたアプリケーションの実行ファイルが格納される。また、ディレクトリＤ２は、各アプリケーションが用いるデータを保管するディレクトリであり、ディレクトリＤ２の下に、各アプリケーションの名称と同じ名称を有するディレクトリＤ３ａ〜Ｄ３ｃが並んでいる。アプリケーションは、そのアプリケーションに対応するディレクトリおよびそのディレクトリ下にあるディレクトリおよびファイルにしかアクセスすることができない。したがって、アプリケーションが、そのアプリケーションに対応するディレクトリやファイル以外のディレクトリやファイルにアクセスするか否かを監視することによって、アプリケーションの異常性を判定することができる。本実施形態における個々のファイルアクセス情報は、ファイルまたはディレクトリの識別情報（ファイル名やディレクトリ名等）で構成されている。
【００７４】
携帯電話３ｂは、通信部３０と、アプリケーション記憶部３３と、パーミッション抽出部３４と、通知情報生成部３５と、アプリケーション実行部３６と、監視部３７と、ファイル記憶部３８と、ファイルアクセスログ記憶部３９とを有する。携帯電話３ｂの構成について、第２の実施形態と同様の部分については説明を省略する。
【００７５】
監視部３７は、判定対象のアプリケーションの実行ファイルが実行されたときに行われるファイルアクセスを監視し、アクセス結果を示すファイルアクセスログを生成する。ファイルアクセスログには、アクセス時刻と、前述したファイルアクセス情報とが含まれる。ファイル記憶部３８は、図１６に示したようなディレクトリを有し、ディレクトリ内にファイルを格納している。ファイルアクセスログ記憶部３９は、上記のアクセスログを記憶する。また、本実施形態の通知情報生成部３５は、パーミッション抽出部３４によって抽出されたパーミッションリストと、ファイルアクセスログ記憶部３９に格納されているファイルアクセスログから抽出したファイルアクセス情報を含むファイルアクセスリストとを含む通知情報を生成する。
【００７６】
図１１では、アプリケーション判定装置１ｄ内にパーミッションリスト記憶部１１と宛先リスト記憶部１９の２つの記憶部が設けられているが、これらは異なる記録媒体で構成されていてもよいし、同一の記録媒体上の異なる記憶領域で構成されていてもよい。また、携帯電話３ｂ内にアプリケーション記憶部３３とファイル記憶部３８とファイルアクセスログ記憶部３９の３つの記憶部が設けられているが、これらは異なる記録媒体で構成されていてもよいし、同一の記録媒体上の異なる記憶領域で構成されていてもよい。
【００７７】
次に、本実施形態によるアプリケーション判定システムの動作を説明する。図１２は、アプリケーション判定システムの動作の手順を示している。アプリケーション判定装置１ｄにおいて、販売サイトの管理者等により動作開始の指示がなされると、アプリケーション判定装置１ｄは通知情報の受信待ちとなる。また、携帯電話３ｂにおいて、販売サイトの管理者等により動作開始の指示がなされると、アプリケーション実行部３６は判定対象のアプリケーションの実行ファイルをアプリケーション記憶部３３から読み出し、読み出した実行ファイルを実行する（ステップＳ３００）。
【００７８】
続いて、監視部３７は、実行ファイルが実行されてから所定時間（例えば３０秒間）にファイル記憶部３８内のファイルおよびディレクトリに対して行われるアクセスを監視し、アクセス結果をファイルアクセスログとしてファイルアクセスログ記憶部３９に格納する（ステップＳ３０５）。続いて、パーミッション抽出部１２は、判定対象のアプリケーションの実行ファイルと種別情報のペアをアプリケーション記憶部１０から読み出し、読み出した実行ファイルからパーミッションリストを抽出し、抽出したパーミッションリストと種別情報を通知情報生成部３５へ出力する（ステップＳ３１０）。なお、ステップＳ３１０の処理をステップＳ３００の処理の前に行ってもよい。
【００７９】
続いて、通知情報生成部３５は、ファイルアクセスログ記憶部３９からファイルアクセスログを読み出し、ファイルアクセスログからファイルアクセス情報を抽出する。また、通知情報生成部３５は、抽出したファイルアクセス情報を含むファイルアクセスリストを生成する。通知情報生成部３５は、上記のパーミッションリストとファイルアクセスリストおよび種別情報をパケットに格納して通知情報を生成し、通信部３０へ出力する（ステップＳ３１５）。続いて、通信部３０は、通知情報をアプリケーション判定装置１ｄへ送信する（ステップＳ３２０）。
【００８０】
アプリケーション判定装置１ｄにおいて、通信部１７は通知情報を受信し、通知情報分離部１８へ出力する（ステップＳ３２５）。続いて、通知情報分離部１８は、通知情報に含まれるパーミッションリストと種別情報をパーミッション比較部１３へ出力し、ファイルアクセスリストと種別情報をファイルアクセス比較部２２へ出力する（ステップＳ３３０）。
【００８１】
続いて、パーミッション比較部１３は、通知情報分離部１８からの種別情報と一致する種別情報と対応付けられているパーミッションリストをパーミッションリスト記憶部１１から読み出し、読み出したパーミッションリストと、通知情報分離部１８からのパーミッションリストとを比較する（ステップＳ３３５）。この比較は、パーミッションリストを構成する個々のパーミッション情報の単位で行われ、比較の単位毎に「一致」または「不一致」を示す比較結果が判定部１４へ出力される。
【００８２】
続いて、ファイルアクセス比較部２２は、通知情報分離部１８からの種別情報と一致する種別情報と対応付けられているファイルアクセスリストをファイルアクセスリスト記憶部２１から読み出し、読み出したファイルアクセスリストと、通知情報分離部１８からのファイルアクセスリストとを比較する（ステップＳ３４０）。この比較は、ファイルアクセスリストを構成する個々のファイルアクセス情報の単位で行われる。通知情報分離部１８からのファイルアクセスリスト内の全てのファイルアクセス情報が、ファイルアクセスリスト記憶部２１から読み出したファイルアクセスリスト内のファイルアクセス情報のいずれかと一致した場合、「一致」を示す比較結果が判定部１４へ出力される。また、通知情報分離部１８からのファイルアクセスリスト内のファイルアクセス情報のうちいずれか１つでも、ファイルアクセスリスト記憶部２１から読み出したファイルアクセスリスト内のファイルアクセス情報のいずれとも一致しなかった場合、「不一致」を示す比較結果が判定部１４へ出力される。なお、ステップＳ３４０の処理をステップＳ３３５の処理の前に行ってもよい。
【００８３】
続いて、判定部１４は、パーミッション比較部１３およびファイルアクセス比較部２２から出力された比較結果に基づいて、判定対象のアプリケーションが異常であるか否か（良性であるか悪性であるか）を判定する（ステップＳ３４５）。続いて、表示部１５は、判定部１４が行った判定の結果を表示する（ステップＳ３５０）。アプリケーションが異常（悪性）であると判定された場合、例えば、販売サイトの管理者は、このアプリケーションの登録を許可しない。
【００８４】
以下、ステップＳ３４５の詳細を説明する。まず、判定部１４は、第１の実施形態と同様にして、パーミッション比較部１３から出力された比較結果に基づいて、アプリケーションの異常性を判定する。アプリケーションが異常であると判定された場合、判定部１４は、ファイルアクセス比較部２２から出力された比較結果に基づいて、アプリケーションの危険度を判定する。正常なアプリケーションがアクセスすると想定されるファイルやディレクトリとは異なるファイルやディレクトリにアクセスするアプリケーションは、個人情報等にアクセスしてネットワーク上に流出させるトロイの木馬である可能性がある。判定部１４は、ファイルアクセス比較部２２から出力された比較結果が「不一致」を示す場合、判定部１４は危険度が高いと判定し、ファイルアクセス比較部２２から出力された比較結果が「一致」を示す場合、判定部１４は危険度が低いと判定する。
【００８５】
上述したように、本実施形態によれば、アプリケーションの異常性を判定することができる。また、アプリケーションが実行されたときにアクセスされるファイルやディレクトリの情報に基づいてアプリケーションの危険度も判定することによって、アプリケーションの異常性をより細かく判定することができる。
【００８６】
（他の実施形態）
第２の実施形態および第３の実施形態では、アプリケーション判定装置と携帯電話の２台が連携してアプリケーションの判定を行っているが、１台のコンピュータ（携帯電話でもよい）でアプリケーションの判定を行ってもよい。図１３および図１４は、この場合の構成を示している。
【００８７】
図１３に示すアプリケーション判定装置１ｅは、第２の実施形態によるアプリケーション判定システムに対応しており、パーミッションリスト記憶部１１と、パーミッション比較部１３と、判定部１４と、表示部１５と、通信部１７と、通知情報分離部１８と、宛先リスト記憶部１９と、宛先比較部２０と、通信部３０と、監視部３１と、通信ログ記憶部３２と、アプリケーション記憶部３３と、パーミッション抽出部３４と、通知情報生成部３５と、アプリケーション実行部３６とを有する。アプリケーション判定装置１ｅは、第２の実施形態で示した動作と同様の動作を行うことによって、アプリケーションの判定を行う。ただし、２台の装置間の通信に係る処理は除く。
【００８８】
図１４に示すアプリケーション判定装置１ｆは、第３の実施形態によるアプリケーション判定システムに対応しており、パーミッションリスト記憶部１１と、パーミッション比較部１３と、判定部１４と、表示部１５と、通信部１７と、通知情報分離部１８と、ファイルアクセスリスト記憶部２１と、ファイルアクセス比較部２２と、通信部３０と、アプリケーション記憶部３３と、パーミッション抽出部３４と、通知情報生成部３５と、アプリケーション実行部３６と、監視部３７と、ファイル記憶部３８と、ファイルアクセスログ記憶部３９とを有する。アプリケーション判定装置１ｆは、第３の実施形態で示した動作と同様の動作を行うことによって、アプリケーションの判定を行う。ただし、２台の装置間の通信に係る処理は除く。
【００８９】
上述したアプリケーション判定装置１ａ〜１ｆの各機能は、各装置の動作および機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行させることにより、実現される。ここで、「コンピュータ」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００９０】
また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように、情報を伝送する機能を有する媒体のことをいう。また、上述したプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能を、コンピュータに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【００９１】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【００９２】
１ａ，１ｂ，１ｃ，１ｄ，１ｅ，１ｆ・・・アプリケーション判定装置、３ａ，３ｂ・・・携帯電話、１０・・・アプリケーション記憶部、１１・・・パーミッションリスト記憶部（権限記憶部）、１２・・・パーミッション抽出部（抽出部）、１３・・・パーミッション比較部（権限比較部）、１４・・・判定部、１５・・・表示部、１６・・・悪性パーミッション記憶部（権限記憶部）、１７，３０・・・通信部、１８・・・通知情報分離部、１９・・・宛先リスト記憶部（通信相手記憶部）、２０・・・宛先比較部（通信相手比較部）、２１・・・ファイルアクセスリスト記憶部（アクセス記憶部）、２２・・・ファイルアクセス比較部（アクセス比較部）、３１，３７・・・監視部、３２・・・通信ログ記憶部、３３・・・アプリケーション記憶部、３４・・・パーミッション抽出部、３５・・・通知情報生成部、３６・・・アプリケーション実行部（実行部）、３８・・・ファイル記憶部、３９・・・ファイルアクセスログ記憶部
【図１】
2011233081.tif 000003
【図２】
2011233081.tif 000004
【図３】
2011233081.tif 000005
【図４】
2011233081.tif 000006
【図５】
2011233081.tif 000007
【図６】
2011233081.tif 000008
【図７】
2011233081.tif 000009
【図８】
2011233081.tif 000010
【図９】
2011233081.tif 000011
【図１０】
2011233081.tif 000012
【図１１】
2011233081.tif 000013
【図１２】
2011233081.tif 000014
【図１３】
2011233081.tif 000015
【図１４】
2011233081.tif 000016
【図１５】
2011233081.tif 000017
【図１６】
2011233081.tif 000018