(57)【特許請求の範囲】
【請求項１】
アプリケーションの処理として規定された処理を実行するアプリケーション処理部と、
端末の外部から実行制御用のコマンド情報を受信して端末内のOSに前記コマンド情報を通知するコマンド制御部と、
端末内の機能の利用や設定の変更に係る権限として最高権限を有している場合に変更することができる前記コマンド制御部の動作の権限を変更するコマンドが端末に設定されているか否かを判定する判定部と、
前記コマンドが設定されていると判定された場合に、前記アプリケーション処理部を停止する停止部と、
を備えることを特徴とする携帯端末。
【請求項２】
前記停止部はさらに、前記コマンドが設定されていると判定された場合に、前記コマンド制御部を停止することを特徴とする請求項１に記載の携帯端末。
【請求項３】
前記コマンド制御部の実行ファイルを記憶する記憶部をさらに備え、
前記停止部はさらに、前記コマンド制御部の停止後、前記実行ファイルを削除する
ことを特徴とする請求項２に記載の携帯端末。
【請求項４】
前記コマンド制御部の実行ファイルを記憶する記憶部をさらに備え、
前記停止部はさらに、前記コマンド制御部の停止後、前記実行ファイルを、当該実行ファイルが実行する処理とは異なる処理を実行する他の実行ファイルに置き換える
ことを特徴とする請求項２に記載の携帯端末。
【請求項５】
前記コマンドが設定されていると判定された場合に警告を表示する表示部をさらに備えることを特徴とする請求項１に記載の携帯端末。
【請求項６】
アプリケーションの処理として規定された処理を実行するアプリケーション処理部と、
端末の外部から実行制御用のコマンド情報を受信して端末内のOSに前記コマンド情報を通知するコマンド制御部と、
端末内の機能の利用や設定の変更に係る権限として最高権限を有している場合に変更することができる前記コマンド制御部の動作の権限を変更するコマンドが端末に設定されているか否かを判定する判定部と、
前記コマンドが設定されていると判定された場合に、前記アプリケーション処理部を停止する停止部と、
として携帯端末のコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯電話端末、携帯情報端末、スマートフォン等の携帯端末に関する。また、本発明は、携帯端末のコンピュータに処理を実行させるためのプログラムにも関する。
【背景技術】
【０００２】
PC用のOS（オペレーティングシステム）をベースに、一般のユーザが様々な機能を操作できる携帯端末用に開発されたOSが普及している。このような状況の中、著作権の管理が必要な各種コンテンツを扱うアプリケーションや通信サービスのアプリケーション等、通信事業者にとって重要なアプリケーションを携帯端末のユーザに不正に利用されることを防ぐ必要がある。
【０００３】
端末が動作する際には、端末が有する機能の利用や設定の変更に係る権限が設定され、ユーザはその権限の範囲内で端末を動作させることが可能である。例えば、一般ユーザ権限が設定された場合、一般ユーザ権限の範囲内で各種アプリケーションやコマンドの実行が可能となる。また、最高権限であるroot権限（スーパーユーザ権限）が設定された場合、一般ユーザ権限の範囲内で可能な動作に加えて、端末内の重要な設定の変更等が可能となる。通常、携帯端末は一般ユーザ権限で動作するように設定されている。
【０００４】
悪意のユーザは、OSの脆弱性を突いてroot権限を不正に取得し、アプリケーションの挙動を監視して不正な制御を施すため、このようなアプリケーションの不正な利用を防止する必要がある。なお、特許文献１には、不正データの入力によるスタックオーバーフローの発生を検知することにより、root権限を不正に取得するためのスタックスマッシング攻撃からコンピュータを保護する方法が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−３２１８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の、最も普及しているタイプの携帯電話端末では、ユーザがPCから端末を操作するようなインタフェースは設けられていないこと、インストールできるアプリケーションが限られていること、アプリケーションが利用できる端末の機能が限られていること等から、そもそもroot権限の不正な取得が行われることはなかった。これに対して、近年登場したスマートフォンでは、ユーザがPCから端末を操作するインタフェースが設けられており、端末の各種機能を利用できるアプリケーションが登場しているが、root権限の不正な取得が行われたことを検知する手段は考えられておらず、アプリケーションを不正な利用から保護することができなかった。
【０００７】
本発明は、上述した課題に鑑みてなされたものであって、アプリケーションの不正な利用を防止することができる携帯端末およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、上記の課題を解決するためになされたもので、アプリケーションの処理として規定された処理を実行するアプリケーション処理部と、端末の外部から実行制御用のコマンド情報を受信して端末内のOSに前記コマンド情報を通知するコマンド制御部と、端末内の機能の利用や設定の変更に係る権限として最高権限を有している場合に変更することができる前記コマンド制御部の動作の権限を変更するコマンドが端末に設定されているか否かを判定する判定部と、前記コマンドが設定されていると判定された場合に、前記アプリケーション処理部を停止する停止部と、を備えることを特徴とする携帯端末である。
【００１０】
また、本発明の携帯端末において、前記停止部はさらに、前記コマンドが設定されていると判定された場合に、前記コマンド制御部を停止することを特徴とする。
【００１５】
また、本発明の携帯端末は、前記コマンド制御部の実行ファイルを記憶する記憶部をさらに備え、前記停止部はさらに、前記コマンド制御部の停止後、前記実行ファイルを削除することを特徴とする。
【００１６】
また、本発明の携帯端末は、前記コマンド制御部の実行ファイルを記憶する記憶部をさらに備え、前記停止部はさらに、前記コマンド制御部の停止後、前記実行ファイルを、当該実行ファイルが実行する処理とは異なる処理を実行する他の実行ファイルに置き換えることを特徴とする。
【００１７】
また、本発明の携帯端末は、前記コマンドが設定されていると判定された場合に警告を表示する表示部をさらに備えることを特徴とする。
【００１８】
また、本発明は、アプリケーションの処理として規定された処理を実行するアプリケーション処理部と、端末の外部から実行制御用のコマンド情報を受信して端末内のOSに前記コマンド情報を通知するコマンド制御部と、端末内の機能の利用や設定の変更に係る権限として最高権限を有している場合に変更することができる前記コマンド制御部の動作の権限を変更するコマンドが端末に設定されているか否かを判定する判定部と、前記コマンドが設定されていると判定された場合に、前記アプリケーション処理部を停止する停止部と、として携帯端末のコンピュータを機能させるためのプログラムである。
【発明の効果】
【００１９】
本発明によれば、端末内の機能の利用や設定の変更に係る権限として最高権限を有している場合に変更することができる設定の変更がなされていると判定された場合に、実行中のアプリケーションを停止することによって、アプリケーションの不正な利用を防止することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施形態による携帯端末と制御装置の機能構成を示すブロック図である。
【図２】本発明の第１の実施形態におけるアプリケーションの機能構成を示すブロック図である。
【図３】本発明の第１の実施形態における記憶部中のディレクトリ構成を示す参考図である。
【図４】本発明の第１の実施形態におけるアプリケーションの動作の手順を示すフローチャートである。
【図５】本発明の第１の実施形態におけるアプリケーションの動作の手順を示すフローチャートである。
【図６】本発明の第２の実施形態による携帯端末の部分機能構成を示すブロック図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照し、本発明の実施形態を説明する。本実施形態は、悪意のユーザがroot権限を不正に取得するために行うであろう設定や、悪意のユーザがroot権限を不正に取得した後に行うであろう設定に注目し、これらの設定に異常性が検知された場合にアプリケーションを停止するというものである。
【００２２】
（第１の実施形態）
まず、本発明の第１の実施形態を説明する。特定のOSが携帯端末に搭載されている場合、携帯端末とPC等の制御装置とをRS232C等の制御用ケーブルで接続し、制御装置を介して携帯端末を操作することが可能である。図１は、携帯端末と制御装置の機能構成を示している。携帯端末１と制御装置２はRS232C等のケーブル３で接続されている。
【００２３】
携帯端末１は、アプリケーション１０、OS１２、コマンド制御部１３、記憶部１４、表示部１５、および作業領域Ｗ１を有している。アプリケーション１０、OS１２、およびコマンド制御部１３は、SRAM等のデバイスで構成される作業領域Ｗ１上で動作する。これらの実行ファイル（プログラム）は記憶部１４に格納されており、これらの実行ファイルが記憶部１４から作業領域Ｗ１に読み込まれることで、これらが起動する。
【００２４】
アプリケーション１０は、OS１２上で動作し、OS１２に対するシステムコールの発行やOS１２からの実行結果の受け取り等を行う。これによって、アプリケーション１０は各種コマンドの実行や記憶部１４へのアクセス等を行う。
【００２５】
コマンド制御部１３は、ユーザが制御装置２の操作部２３を操作して入力するコマンドに関する制御を行う。具体的には、コマンド制御部１３は制御装置２のコマンド制御部２０と通信を行い、入力されたコマンドを示すコマンド情報を受信し、コマンド情報をOS１２に通知する。OS１２は、コマンド情報に基づいて各種コマンドに係る処理を実行する。また、コマンド制御部１３は、OS１２から処理の実行結果の通知を受け、実行結果を示す実行結果情報をコマンド制御部２０へ送信する。コマンド制御部１３は通常、一般ユーザ権限を与えられて動作するが、悪意のユーザがroot権限を不正に取得した場合、コマンド制御部１３はroot権限を与えられて動作する。
【００２６】
記憶部１４は、フラッシュメモリ等のデバイスで構成され、携帯端末１内で使用する各種情報や実行ファイルを記憶する。表示部１５は、液晶表示装置等で構成され、各種情報を表示する。
【００２７】
制御装置２は、コマンド制御部２０、OS２１、記憶部２２、操作部２３、表示部２４、および作業領域Ｗ２を有している。コマンド制御部２０およびOS２１は、SDRAM等のデバイスで構成される作業領域Ｗ２上で動作する。これらの実行ファイル（プログラム）は記憶部２２に格納されており、これらの実行ファイルが記憶部２２から作業領域Ｗ２に読み込まれることで、これらが起動する。
【００２８】
コマンド制御部２０は、ユーザが操作部２３を操作して入力するコマンドに関する制御を行う。具体的には、コマンド制御部２０は携帯端末１のコマンド制御部１３と通信を行い、入力されたコマンドを示すコマンド情報を送信し、また、実行結果を示す実行結果情報を受信する。
【００２９】
記憶部２２は、ハードディスクドライブ等のデバイスで構成され、制御装置２内で使用する各種情報や実行ファイルを記憶する。操作部２３は、キーボードやマウス等のデバイスで構成され、ユーザが操作した結果に基づく信号を出力する。表示部２４は、液晶表示装置等で構成され、実行結果情報に基づく実行結果等を表示する。
【００３０】
図２はアプリケーション１０の機能構成を示している。アプリケーション１０は、アプリケーション処理部１０ａ、権限昇格コマンド判定部１０ｂ、権限設定ファイル判定部１０ｃ、通信制御ファイル判定部１０ｄ、アクセス権判定部１０ｅ、権限取得実行ファイル判定部１０ｆ、およびアプリケーション制御部１０ｇを有する。
【００３１】
アプリケーション処理部１０ａは、本来のアプリケーションの処理として規定された処理を行う。権限昇格コマンド判定部１０ｂ、権限設定ファイル判定部１０ｃ、通信制御ファイル判定部１０ｄ、アクセス権判定部１０ｅ、権限取得実行ファイル判定部１０ｆ、およびアプリケーション制御部１０ｇは、保護対象のアプリケーションに対して新たに追加される部分である。
【００３２】
権限昇格コマンド判定部１０ｂ、権限設定ファイル判定部１０ｃ、通信制御ファイル判定部１０ｄ、およびアクセス権判定部１０ｅは、携帯端末１内の機能の利用や設定の変更に係る権限として最高権限であるroot権限（スーパーユーザ権限）を有している場合に変更することができる設定の変更の有無を判定する。特に、権限昇格コマンド判定部１０ｂおよび権限設定ファイル判定部１０ｃは、root権限を有していなければ変更できない設定であって、端末利用時の権限をroot権限に変更するための設定の有無を判定する。
【００３３】
権限昇格コマンド判定部１０ｂは、コマンド制御部１３の動作の権限を変更するコマンド（例えばsuコマンド）が携帯端末１に設定されているか否かを判定する。通常、携帯端末１には権限を変更するコマンドの実行ファイルが存在しないため、コマンドを実行することができない。また、コマンドの実行ファイルを携帯端末１に導入するためには、その実行ファイルにroot権限を付与する必要がある。したがって、root権限が付与された上記コマンドの実行ファイルが携帯端末１に含まれる場合、root権限の不正な取得が行われたことになる。なお、悪意のユーザは、一般ユーザ権限でのみ端末を利用するための設定がなされている状態でOSの脆弱性を突いて一時的にroot権限を不正に取得し、権限を変更するコマンドを端末に導入して、次回からこのコマンドを実行してroot権限で端末を利用できるようにする。
【００３４】
権限設定ファイル判定部１０ｃは、コマンド制御部１３の動作の権限を設定するファイルにroot権限の設定がなされているか否かを判定する。コマンド制御部１３は、起動時にこのファイルに従った権限を与えられる。このファイルには、コマンド制御部１３がroot権限で動作するか、一般ユーザ権限で動作するかを規定する値が設定されている。通常、このファイルには、一般ユーザ権限でのみ端末を利用するための設定がなされており、root権限を有していなければ、このファイルの設定を変更することができない。したがって、コマンド制御部１３の動作の権限を設定するファイルにroot権限の設定がなされている場合、root権限の不正な取得が行われたことになる。なお、悪意のユーザは、上記のファイルに一般ユーザ権限でのみ端末を利用するための設定がなされている状態でOSの脆弱性を突いて一時的にroot権限を不正に取得し、上記のファイルに変更を施して、次回から通常の操作によりroot権限で端末を利用できるようにする。
【００３５】
通信制御ファイル判定部１０ｄは、root権限を有している場合に変更することができる通信制御用のファイルの設定が変更されているか否かを判定する。パケット制御に関わる名前解決制御用のファイル（例えばhostsファイル）は重要なファイルであり、root権限を有していなければ、これらのファイルの設定を変更することができない。したがって、通信制御用のファイルが改竄されている場合、root権限の不正な取得が行われたことになる。
【００３６】
アクセス権判定部１０ｅは、root権限を有している場合に変更することができるアクセス権限であって、記憶部１４中の特定のディレクトリに設定される読み出し／書き込みのアクセス権限が変更されているか否かを判定する。記憶部１４中のディレクトリには、読み出し／書き込みに関するアクセス権限（パーミッション）が設定されている。root権限、一般ユーザ権限のいずれであっても、記憶部１４中のディレクトリにアクセスする際には、このアクセス権限に従う。図３は、記憶部１４のディレクトリ構成を示している。
【００３７】
領域３００は、OSに関連するファイルが保存されるディレクトリで構成される領域である。通常、この領域３００に対する読み出しは許可されているが、書き込みは許可されていない。また、root権限を有していなければ、領域３００の各ディレクトリに関するアクセス権限の設定を変更することができない。したがって、領域３００のアクセス権限が書き込み可能に設定されている場合、root権限の不正な取得が行われたことになる。
【００３８】
権限取得実行ファイル判定部１０ｆは、端末利用時の権限をroot権限に変更する既知の実行ファイルが端末内に存在するか否かを判定する。２０１０年４月において、root権限を不正に取得するアプリケーションは、root権限を奪う共通の悪意のアプリケーションを内包している。図３において、ディレクトリＤ１には、携帯端末１にインストールされたアプリケーションの実行ファイルが格納される。このディレクトリＤ１に、特定の名称（共通の悪意のアプリケーション名）を有する実行ファイルが存在する場合、root権限の不正な取得が行われる（または既に行われた）可能性がある。
【００３９】
アプリケーション制御部１０ｇは、アプリケーション処理部１０ａ、権限昇格コマンド判定部１０ｂ、権限設定ファイル判定部１０ｃ、通信制御ファイル判定部１０ｄ、アクセス権判定部１０ｅ、および権限取得実行ファイル判定部１０ｇに対する処理の振り分けの制御を行う。また、アプリケーション制御部１０ｇは、権限昇格コマンド判定部１０ｂ、権限設定ファイル判定部１０ｃ、通信制御ファイル判定部１０ｄ、およびアクセス権判定部１０ｅによる判定の結果に基づいて、アプリケーション１０の動作を停止（終了）する制御を行う。
【００４０】
次に、本実施形態によるアプリケーション１０の動作を説明する。図４は、アプリケーション１０の第１の動作例を示している。ユーザは、アプリケーション１０を起動するため、操作部２３を操作し、アプリケーション１０を起動する指示を入力する。この後、前述したようにコマンド情報が制御装置２のコマンド制御部２０から携帯端末１のコマンド制御部１３へ送信され、OS１２がコマンド情報に基づいて、アプリケーション１０を起動する処理を実行する。アプリケーション１０の実行ファイルが記憶部１４から作業領域Ｗ１に読み込まれ、アプリケーション１０が起動すると、アプリケーション１０は以下のように動作する。
【００４１】
まず、権限昇格コマンド判定部１０ｂは、端末利用時の権限をroot権限に昇格するコマンド（以下、権限昇格コマンド）に関する設定を確認する（ステップＳ１００）。具体的には、権限昇格コマンド判定部１０ｂは、権限昇格コマンドの実行ファイルが所定のディレクトリに格納されているか否かを確認する。例えばwhichコマンドを実行することにより、この確認を行うことが可能である。または、権限昇格コマンド判定部１０ｂは、権限昇格コマンドを実行し、OS１２から通知された実行結果を確認する。
【００４２】
続いて、権限昇格コマンド判定部１０ｂは、ステップＳ１００で確認を行った結果に基づいて、権限昇格コマンドが携帯端末１に設定されているか否かを判定する（ステップＳ１０５）。権限昇格コマンドの実行ファイルが所定のディレクトリに格納されている場合、または、権限昇格コマンドの実行結果として、root権限への昇格が行われたことが通知された場合、権限昇格コマンドが携帯端末１に設定されていることになり、処理はステップＳ１５５に進む。また、権限昇格コマンドの実行ファイルが所定のディレクトリに格納されていない場合、または、権限昇格コマンドの実行結果として、root権限への昇格が拒否されたことや権限昇格コマンドが存在しないことが通知された場合、権限昇格コマンドが携帯端末１に設定されていないことになり、処理はステップＳ１１０に進む。
【００４３】
ステップＳ１１０では、権限設定ファイル判定部１０ｃは、コマンド制御部１３の動作の権限を設定するファイル（以下、権限設定ファイル）の設定内容を確認する（ステップＳ１１０）。具体的には、権限設定ファイル判定部１０ｃは、権限設定ファイルに設定されている値を確認する。
【００４４】
続いて、権限設定ファイル判定部１０ｃは、ステップＳ１１０で確認を行った結果に基づいて、権限設定ファイルにroot権限の設定がなされているか否かを判定する（ステップＳ１１５）。権限設定ファイルに、root権限での動作を規定する値が設定されている場合、権限設定ファイルにroot権限の設定がなされていることになり、処理はステップＳ１５５に進む。また、権限設定ファイルに、一般ユーザ権限での動作を規定する値が設定されている場合、権限設定ファイルにroot権限の設定がなされていないことになり、処理はステップＳ１２０に進む。
【００４５】
ステップＳ１２０では、通信制御ファイル判定部１０ｄは、root権限を有している場合に変更することができる通信制御用のファイル（以下、通信制御ファイル）の設定内容を確認する（ステップＳ１２０）。具体的には、アプリケーション１０の最初の起動時には、通信制御ファイル判定部１０ｄは、通信制御ファイルの内容を確認し、確認した内容を記憶部１４中の所定のファイルに記録する。また、アプリケーション１０の２回目以降の起動時には、通信制御ファイル判定部１０ｄは、通信制御ファイルの内容を確認すると共に、アプリケーション１０の最初の起動時に通信制御ファイルの内容を記録した所定のファイルを記憶部１４から読み出す。
【００４６】
続いて、通信制御ファイル判定部１０ｄは、通信制御ファイルが変更されているか否かを判定する（ステップＳ１２５）。アプリケーション１０の最初の起動時には処理はステップＳ１３０に進む。アプリケーション１０の２回目以降の起動時には、通信制御ファイル判定部１０ｄは、ステップＳ１２０で確認した通信制御ファイルの内容と記憶部１４から読み出した所定のファイルの内容とを比較する。両者が異なる場合、通信制御ファイルが変更されていることになり、処理はステップＳ１５５に進む。また、両者が一致する場合、通信制御ファイルが変更されていないことになり、処理はステップＳ１３０に進む。
【００４７】
ステップＳ１３０では、アクセス権判定部１０ｅは、root権限を有している場合に変更することができるアクセス権限であって、記憶部１４中の特定のディレクトリに設定される読み出しまたは書き込みのアクセス権限の設定内容を確認する（ステップＳ１３０）。具体的には、アクセス権判定部１０ｅは、アクセス権限の設定内容を確認するコマンド（例えばls -lコマンド）を実行することによって、記憶部１４中の特定のディレクトリのアクセス権限の設定内容を確認する。
【００４８】
続いて、アクセス権判定部１０ｅは、ステップＳ１３０で確認を行った結果に基づいて、アクセス権限が変更されているか否かを判定する（ステップＳ１３５）。記憶部１４中の特定のディレクトリの書き込みが許可されている場合、アクセス権限が変更されていることになり、処理はステップＳ１５５に進む。また、記憶部１４中の特定のディレクトリの読み出しのみが許可され、書き込みが許可されていない場合、アクセス権限が変更されていないことになり、処理はステップＳ１４０に進む。
【００４９】
ステップＳ１４０では、権限取得実行ファイル判定部１０ｆは、携帯端末１にインストールされているアプリケーションを確認する（ステップＳ１４０）。具体的には、権限取得実行ファイル判定部１０ｆは、図３のディレクトリＤ１に格納されているアプリケーションの実行ファイルの名称を取得する。
【００５０】
続いて、権限取得実行ファイル判定部１０ｆは、ステップＳ１４０で取得した実行ファイルの名称と、端末利用時の権限をroot権限に変更する既知の実行ファイルの名称とを比較し、端末利用時の権限をroot権限に変更する既知の実行ファイル（以下、権限取得実行ファイル）が端末内に存在するか否かを判定する（ステップＳ１４５）。ステップＳ１４０で取得した実行ファイルの名称のいずれかが権限取得実行ファイルの名称と一致した場合、権限取得実行ファイルが端末内に存在することになり、処理はステップＳ１５５に進む。また、ステップＳ１４０で取得した実行ファイルの名称のいずれも権限取得実行ファイルの名称と一致しなかった場合、権限取得実行ファイルが端末内に存在しないことになり、処理はステップＳ１５０に進む。
【００５１】
ステップＳ１５０では、アプリケーション処理部１０ａはアプリケーション本来の処理を行う（ステップＳ１５０）。なお、図４では図示していないが、アプリケーション本来の処理において、例えばユーザからの指示等によりアプリケーションの終了が指示された場合、通常の手順に従ってアプリケーション１０は処理を停止（終了）する。
【００５２】
ステップＳ１５５では、アプリケーション制御部１０ｇは、アプリケーション１０を停止する処理を実行する（ステップＳ１５５）。アプリケーション１０の処理が停止されると、アプリケーション１０は作業領域Ｗ１から消滅する。上記のように、root権限を有している場合に変更することができる設定が変更された場合、または端末利用時の権限をroot権限に変更する既知の実行ファイルが端末内に存在する場合に、アプリケーション１０が停止されるので、アプリケーションの不正な利用を防止することができる。
【００５３】
root権限を不正に取得したユーザが、アプリケーションを実行できなくなったことで、アプリケーションの不具合が発生したとしてクレームを訴えるケースが考えられる。これを避けるため、「端末が危険な状態に陥り、個人情報の漏洩を防ぐ目的から重要なアプリケーションを停止する」旨を通知する警告メッセージを表示してもよい。具体的には、ステップＳ１５５において、アプリケーション制御部１０ｇは、アプリケーション１０の処理を停止する前に、表示部１５にメッセージを表示する処理を実行する。表示部１５は、OS１２からの指示に従ってメッセージを表示する。
【００５４】
図５は、アプリケーション１０の第２の動作例を示している。以下、図４に示した第１の動作例と異なる部分についてのみ説明する。ステップＳ１００〜Ｓ１５０，Ｓ１５５の処理は、図４に示した各処理と同様である。ステップＳ１５０に続いて、アプリケーション制御部１０ｇは、ステップＳ１００の処理を開始してから経過した時間が所定の監視周期に到達したか否かを判定する（ステップＳ１６０）。経過時間が監視周期に到達していない場合、アプリケーション制御部１０ｇはアプリケーション処理部１０ａに処理を実行させる。また、経過時間が監視周期に到達した場合、処理はステップＳ１００に戻る。
【００５５】
図４に示した第１の動作例では、アプリケーション１０の起動時のみ、アプリケーションの不正な利用を防止するための処理が実行される。一方、図５に示した第２の動作例では、アプリケーション１０の起動後、アプリケーションの不正な利用を防止するための処理が定期的に実行される。これによって、アプリケーションの実行中にroot権限を不正に取得する行為にも対応することができる。
【００５６】
上述したように、本実施形態によれば、アプリケーションの不正な利用を防止することができる。また、アプリケーションの停止前に警告メッセージを表示することによって、root権限を不正に取得したユーザに対して、自身の行為が不正な行為であることの自覚を促すことができる。また、ユーザの知らないうちに、root権限を不正に取得する悪意のアプリケーションが端末に導入された場合でも、上記のようにアプリケーションの停止や警告メッセージの表示を行うことによって、ユーザが、端末に不具合が発生していると判断して端末を安全な状態に修理させることも期待できる。
【００５７】
本実施形態では、アプリケーションの不正な利用を防止するための仕組みを保護対象のアプリケーション内に実装した例を説明したが、アプリケーションの不正な利用を防止するための処理のみを実行するアプリケーションを保護対象のアプリケーションとは別に用意してもよい。ただし、上記のように、アプリケーションの不正な利用を防止するための仕組みを保護対象のアプリケーション内に実装することによって、アプリケーションの起動を監視する負荷が軽減される。
【００５８】
（第２の実施形態）
次に、本発明の第２の実施形態を説明する。図６は、本実施形態による携帯端末１において、第２の実施形態に係る部分のみを抽出して示している。図示していない部分については、図１と同様である。
【００５９】
本実施形態では、監視部１６が追加されている。監視部１６は作業領域Ｗ１上で動作する。監視部１６の実行ファイル（プログラム）は記憶部１４に格納されており、この実行ファイルが記憶部１４から作業領域Ｗ１に読み込まれることで、監視部１６が起動する。
【００６０】
監視部１６は、判定部１６ａ、停止部１６ｂ、および実行ファイル処理部１６ｃを有する。判定部１６ａは、図２に示した権限昇格コマンド判定部１０ｂ、権限設定ファイル判定部１０ｃ、通信制御ファイル判定部１０ｄ、およびアクセス権判定部１０ｅの一部または全部と同様の判定を行う。停止部１６ｂは、作業領域Ｗ１上で動作しているコマンド制御部１３の動作を停止する。実行ファイル処理部１６ｃは、記憶部１４に格納されている実行ファイルの削除等の処理を行う。
【００６１】
監視部１６は、コマンド制御部１３の動作の停止や実行ファイルの削除を行うため、root権限で動作する。このため、携帯端末１の出荷前の段階で、販売者の操作によって監視部１６の実行ファイルにroot権限を与えるコマンド（例えばchownコマンド）が実行される。このコマンドの実行にはroot権限が必要である。
【００６２】
次に、監視部１６の動作を説明する。監視部１６は、携帯端末１の起動と同時に起動する。起動した監視部１６は、root権限を有している場合に変更することができる設定の変更の有無、または端末利用時の権限をroot権限に変更する既知の実行ファイルの存在の有無を判定する。root権限を有している場合に変更することができる設定が変更されている場合、または端末利用時の権限をroot権限に変更する既知の実行ファイルが存在する場合、停止部１６ｂはコマンド制御部１３を停止する処理を実行する。コマンド制御部１３の処理が停止されると、コマンド制御部１３は作業領域Ｗ１から消滅する。
【００６３】
コマンド制御部１３の処理が停止された後、実行ファイル処理部１６ｃは、コマンド制御部１３の実行ファイルを記憶部１４から削除する。コマンド制御部１３が作業領域Ｗ１上で動作している間、コマンド制御部１３の実行ファイルを記憶部１４から削除することはできないので、コマンド制御部１３の停止後にその実行ファイルが削除される。
【００６４】
上記では、コマンド制御部１３の実行ファイルを記憶部１４から削除しているが、コマンド制御部１３の実行ファイルを、その実行ファイルと同一のファイル名を有し、コマンド制御部１３が実行する処理とは異なる処理を行う偽（ダミー）の実行ファイルに置き換えてもよい。この場合、偽の実行ファイルはコマンド制御部１３の実行ファイルが格納されていたディレクトリと同一のディレクトリに格納される。また、コマンド制御部１３の実行ファイルは、削除される、またはファイル名が変更される、または別のディレクトリに移動される。
【００６５】
上記では、アプリケーションとは別に監視部１６を設けているが、監視対象のアプリケーションが監視部１６と同様の処理を行ってもよい。また、第１の実施形態で説明した方法によりアプリケーションを停止すると共にコマンド制御部１３を停止してもよい。
【００６６】
上述したように、本実施形態によれば、root権限を有している場合に変更することができる設定が変更されている場合、または端末利用時の権限をroot権限に変更する既知の実行ファイルが存在する場合にコマンド制御部１３が停止するので、ユーザは制御装置２から携帯端末１を制御することができなくなる。これによって、アプリケーションの不正な利用を防止することができる。
【００６７】
また、コマンド制御部１３の停止後、コマンド制御部１３の実行ファイルを記憶部１４から削除したり、コマンド制御部１３の実行ファイルを偽の実行ファイルに置き換えたりすることによって、コマンド制御部１３を再起動することができなくなる。これによって、アプリケーションの不正な利用をより確実に防止することができる。コマンド制御部１３の停止やコマンド制御部１３の実行ファイルの削除等を行う前に、第１の実施形態と同様に警告メッセージを表示してもよい。これによって、root権限を不正に取得したユーザに対して、自身の行為が不正な行為であることの自覚を促すことができる。
【００６８】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、上述した実施形態によるアプリケーション１０や監視部１６の動作および機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムを携帯端末１のコンピュータに読み込ませ、実行させてもよい。
【００６９】
ここで、「コンピュータ」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００７０】
また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように、情報を伝送する機能を有する媒体のことをいう。また、上述したプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能を、コンピュータに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００７１】
１・・・携帯端末、２・・・制御装置、３・・・USBケーブル、１０・・・アプリケーション、１０ａ・・・アプリケーション処理部、１０ｂ権限昇格コマンド判定部、１０ｃ・・・権限設定ファイル判定部、１０ｄ・・・通信制御ファイル判定部、１０ｅ・・・アクセス権判定部、１０ｆ・・・権限取得実行ファイル判定部、１０ｇ・・・アプリケーション制御部、１２・・・OS，２１、１３，２０・・・コマンド制御部、１４，２２・・・記憶部、１５，２４・・・表示部、１６・・・監視部、１６ａ・・・判定部、１６ｂ・・・停止部、１６ｃ・・・実行ファイル処理部、２３・・・操作部、Ｗ１，Ｗ２・・・作業領域
【図１】
0005560110.tif 000002
【図２】
0005560110.tif 000003
【図３】
0005560110.tif 000004
【図４】
0005560110.tif 000005
【図５】
0005560110.tif 000006
【図６】
0005560110.tif 000007