説明

携帯端末およびプログラム

【課題】情報の漏洩を検知することができる携帯端末およびプログラムを提供する。
【解決手段】重要情報取得部22は、携帯端末の利用者を識別する第1の識別情報をカード記憶部21から取得し、携帯端末の個体を識別する第2の識別情報を端末記憶部20から取得する。パターン生成部23は、重要情報取得部22によって取得された第1の識別情報および第2の識別情報に基づいてパターンマッチング用のパターンを生成する。情報漏洩監視部24は、携帯端末の情報送信時の挙動を示す情報を含むログを端末記憶部20から読み出し、ログに含まれる情報とパターンとのパターンマッチングを行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、携帯電話端末やスマートフォン等の携帯端末に関する。また、本発明は、本携帯端末としてコンピュータを機能させるためのプログラムにも関する。
【背景技術】
【0002】
昨今、PCに近い高機能を実現したスマートフォンの普及が進んでいる。また、スマートフォンに実装されるOS(オペレーティングシステム)として、例えばオープンプラットフォームと呼ばれる汎用的なOSであるAndroid(登録商標)が採用されている。このようなOS上で動作する多数のアプリケーションがインターネット上で公開されており、スマートフォンのユーザは必要なアプリケーションを選択してスマートフォンにインストールすることが可能である。
【0003】
しかし、スマートフォンの普及に伴って、端末の内部で管理される電話番号等の重要な情報を勝手に外部のホストへ送信するスパイウェアが問題になっている。OSとしてAndroid(登録商標)を使用する端末では、アプリケーションに対して、READ_PHONE_STATEと呼ばれるパーミッション(権限)を与えることで、重要な情報を簡単に読み出すことができてしまう。したがって、重要な情報の漏洩を検知することの重要性が高まっている。
【0004】
なお、特許文献1には、個人情報の一部をダミー情報として保持し、ダミー情報が示す宛先に通信が行われたこと、あるいはダミー情報がネットワーク上に公開されたことを検知することによって、個人情報の漏洩を検知する方法が記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−79233号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1に記載された方法では、漏洩した個人情報を取得した第3者が、ダミー情報を使用して通信を行ったり、ダミー情報をネットワーク上に公開したりすることが前提となる。また、この方法では、重要な個人情報そのものが漏洩する挙動を直接的に監視するわけではない。このため、検知に漏れが発生する可能性がある。
【0007】
本発明は、上述した課題に鑑みてなされたものであって、情報の漏洩を検知することができる携帯端末およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、上記の課題を解決するためになされたもので、携帯端末の利用者を識別する第1の識別情報を記憶する第1の記憶部から前記第1の識別情報を取得し、携帯端末の個体を識別する第2の識別情報を記憶する第2の記憶部から前記第2の識別情報を取得する情報取得部と、前記情報取得部によって取得された前記第1の識別情報および前記第2の識別情報に基づいてパターンマッチング用のパターンを生成する生成部と、携帯端末の情報送信時の挙動を示す情報を含むログを記憶する第3の記憶部から前記ログを読み出し、前記ログに含まれる情報と前記パターンとのパターンマッチングを行う処理部と、を備えたことを特徴とする携帯端末である。
【0009】
また、本発明の携帯端末において、前記生成部は、情報の送信を示す文字と前記第1の識別情報および前記第2の識別情報とを組み合わせた前記パターンを生成することを特徴とする。
【0010】
また、本発明の携帯端末において、前記生成部は、正規表現で表現された前記パターンを生成することを特徴とする。
【0011】
また、本発明の携帯端末は、前記パターンマッチングの結果を表示する表示部をさらに備えたことを特徴とする。
【0012】
また、本発明の携帯端末において、前記ログは、アプリケーションの挙動を記録したアプリケーションログ、カーネルの挙動を記録したカーネルログ、および通信時に送信および受信されるパケットの情報を記録した通信ログのいずれかであることを特徴とする。
【0013】
また、本発明の携帯端末において、前記第1の識別情報は、電話番号、メールアドレス、IMSI(International Mobile Subscriber Identity)、SIM(Subscriber Identity Module) Serial Numberのいずれかを含むことを特徴とする。
【0014】
また、本発明の携帯端末において、前記第2の識別情報は、IMEI(International Mobile Equipment Identity)またはAndroid(登録商標) IDを含むことを特徴とする。
【0015】
また、本発明は、上記の携帯端末としてコンピュータを機能させるためのプログラムである。
【発明の効果】
【0016】
本発明によれば、携帯端末上で動作するアプリケーションの情報送信時の挙動を示す情報を含むログに含まれる情報と、携帯端末の利用者を識別する第1の識別情報および携帯端末の個体を識別する第2の識別情報に基づいて生成されたパターンとのパターンマッチングを行うことによって、情報の漏洩を検知することができる。
【図面の簡単な説明】
【0017】
【図1】本発明の一実施形態による携帯端末の構成を示すブロック図である。
【図2】本発明の一実施形態による携帯端末の動作の手順を示すフローチャートである。
【発明を実施するための形態】
【0018】
以下、図面を参照し、本発明の実施形態を説明する。図1は、本発明の一実施形態による携帯端末の構成を示している。図1に示す携帯端末は、アプリケーション10、仮想マシン11、カーネル12、通信部13、操作部14、表示部15、アプリケーション監視部16、システムコール監視部17、パケット監視部18、ログ生成部19、端末記憶部20、カード記憶部21、重要情報取得部22、パターン生成部23、情報漏洩監視部24を有する。
【0019】
アプリケーション10は仮想マシン11上で動作する。図1では1つのアプリケーションのみを図示しているが、複数のアプリケーションが動作することが可能である。仮想マシン11は、Android(登録商標)プラットフォームで提供されているdalvikに相当し、OSであるAndroid(登録商標)上に実装されている。カーネル12はAndroid(登録商標)の中核部分であり、プロセス管理、メモリ管理、通信部13等のデバイスに係るデバイス管理、システムコールの制御を行う。
【0020】
通信部13は、ネットワークを介して外部の通信装置と通信を行う。操作部14は、ユーザが操作するキー等の操作部材を有する。表示部15は、各種の情報を表示する。
【0021】
アプリケーション監視部16は、アプリケーション10と仮想マシン11の間で入出力される情報を監視し、アプリケーション10の実行条件や状態に関する情報を出力する。アプリケーション監視部16の機能は、例えばDDMSやLogcatを利用することで実現することができる。システムコール監視部17は、カーネル12内でシステムコールを監視し、アプリケーション10の処理に関連するプロセスが呼び出したシステムコールの情報を出力する。システムコール監視部17の機能は、例えばstraceを利用することで実現することができる。
【0022】
パケット監視部18は、通信部13が送受信するパケットを監視し、パケットの宛先等の情報を出力する。パケット監視部18の機能は、例えばtcpdumpを利用することで実現することができる。ログ生成部19は、アプリケーション監視部16から出力された情報を記録したアプリケーションログ、システムコール監視部17から出力された情報を記録したカーネルログ、パケット監視部18から出力された情報を記録した通信ログを生成し、端末記憶部20に格納する。
【0023】
上記のように、端末記憶部20には、携帯端末の挙動(特に情報送信時の挙動)を記録した各ログが格納される。アプリケーションログには、アプリケーションの挙動に関する各種情報が記録されている。カーネルログには、カーネルの挙動、特にシステムコールの挙動が記録されている。通信ログには、通信時に送受信されるパケットの情報が記録されている。端末記憶部20は上記のログのほか、アプリケーション10の実行ファイル等の各種ファイルを記憶する。
【0024】
また、端末記憶部20は、携帯端末の個体を識別する識別情報である端末情報を記憶する。本実施形態の端末情報は、IMEI(International Mobile Equipment Identity)およびAndroid(登録商標) IDである。IMEIは、携帯端末の製造元や、機種、シリアル番号等の情報を含む。Android(登録商標) IDは、携帯端末においてAndroid(登録商標) OSが最初に起動するときにランダムに生成される64ビットの情報である。
【0025】
カード記憶部21は、取り外しが可能なSIM(Subscriber Identity Module)カード内の記憶部であり、携帯端末の利用者を識別する個人情報および契約者情報を記憶する。本実施形態の個人情報は電話番号およびメールアドレスである。また、本実施形態の契約者情報はIMSI(International Mobile Subscriber Identity)およびSIM Serial Numberである。IMSIは、契約者毎にユニークな識別子である。SIM Serial NumberはSIMカードのシリアル番号である。端末記憶部20内の端末情報とカード記憶部21内の個人情報および契約者情報が、漏洩させてはいけない重要情報である。
【0026】
重要情報取得部22は、カード記憶部21から個人情報および契約者情報を読み出し、端末記憶部20から端末情報を読み出すことで、重要情報を取得する。重要情報取得部22は、READ_PHONE_STATEをパーミッション(権限)として与えられて動作する。
【0027】
パターン生成部23は、重要情報取得部22が取得した重要情報に基づいて、パターンマッチングに使用するパターンを生成する。情報漏洩監視部24は、端末記憶部20に格納されているアプリケーションログ、カーネルログ、通信ログに記録されている情報と、パターン生成部23が生成したパターンとのパターンマッチングを行い、重要情報の漏洩を監視する。
【0028】
次に、パターンマッチング用のパターンについて説明する。パターン生成部23は、アプリケーションログ用のパターン、カーネルログ用のパターン、通信ログ用のパターンをそれぞれ生成する。パターン生成部23が生成するパターンは、正規表現で表現された文字列である。以下はパターンの一例である。
【0029】
アプリケーションログ用のパターン:send(.*(xxx|yyy|zzz).*\)
カーネルログ用のパターン:recv\(.*( xxx|yyy|zzz).*\)
通信ログ用のパターン: xxx|yyy|zzz
【0030】
アプリケーションログ用のパターンは、外部への送信を示す文字列である“send”と重要情報とを組み合わせた文字列パターンである。“.”は任意の文字を示し、“*”は0文字以上の繰り返しを示す。したがって、“.*”は任意の文字が0文字以上繰り返されることを示す。“xxx”は個人情報を示す。上記の例では個人情報を文字列xxxで表現しているが、実際のパターンでは文字列xxxは具体的な個人情報の文字列である。“yyy”は契約者情報を示す。上記の例では契約者情報を文字列yyyで表現しているが、実際のパターンでは文字列yyyは具体的な契約者情報の文字列である。“zzz”は端末情報を示す。上記の例では端末情報を文字列zzzで表現しているが、実際のパターンでは文字列zzzは具体的な端末情報の文字列である。“|”は前後の文字列を択一的に選択することを示す。
【0031】
アプリケーションログにおいて、“send(”の後に任意の文字列が続いた後、“(”の直後に個人情報、契約者情報、端末情報のいずれかの文字列と“)”が続き、その後、任意の文字列が続いた後、“\)”が続く文字列があった場合、アプリケーションログの情報とパターンとが一致したことになる。
【0032】
カーネルログ用のパターンは、外部への送信を示す文字列である“recv\”と重要情報とを組み合わせた文字列パターンである。パターンの内容はアプリケーションログ用のパターンと同様である。
【0033】
通信ログ用のパターンは、重要情報を含む文字列パターンである。“xxx|yyy|zzz”は個人情報、契約者情報、端末情報のいずれかを示す。通信ログにおいて、1つのパケットの情報を記録した部分のSource IPに携帯端末自身のIPアドレスが記載され、かつ、同じ1つのパケットの情報を記録した部分に個人情報、契約者情報、端末情報のいずれかの文字列があった場合、通信ログの情報とパターンとが一致したことになる。
【0034】
携帯端末自身のIPアドレスを取得する方法として、例えば以下の方法がある。第1の方法は、ifconfigコマンドを利用する方法である。root権限を持つシェルを起動し、ifconfigコマンドを実行することで、携帯端末自身に割り当てられたIPアドレスを取得することが可能である。
【0035】
第2の方法は、通信ログから携帯端末自身のIPアドレスを取得する方法である。OSにAndroid(登録商標)を使用している全ての携帯端末は28分周期でDestination IP=72.14.203.188、Destination Port=5228/TCP の通信を発生する。通信相手のIPアドレスであるDestination IPは変動する可能性があるが、通信相手のPort番号であるDestination Portは必ず5228/TCPとなる。したがって、通信ログにおいて、Destination Portに5228/TCPが記載された1つのパケットの情報を検出し、同じ1つのパケットの情報を記録した部分に含まれるSource IPを検出することで、携帯端末自身に割り当てられたIPアドレスを取得することが可能である。
【0036】
上記の各パターンは、各ログのフォーマットに合わせて適宜変更することが可能である。例えば、アプリケーションログによっては、外部への送信を示す文字列が“send”でない場合があるので、そのアプリケーションログのフォーマットで外部への送信を示す文字列を用いてパターンを生成すればよい。
【0037】
本実施形態では、一般的な文字列のパターンマッチングに使用される正規表現を使用しているので、様々な条件に対応したパターンマッチングを容易に行うことができる。
【0038】
次に、重要情報の漏洩の監視に係る動作を説明する。図2は、重要情報の漏洩の監視を行う際の処理を示している。端末記憶部20には、ログ生成部19が生成したアプリケーションログ、カーネルログ、通信ログが格納されているものとする。
【0039】
まず、重要情報取得部22は、カード記憶部21から個人情報および契約者情報を読み出し、端末記憶部20から端末情報を読み出すことで重要情報を取得し、パターン生成部23へ出力する(ステップS100)。続いて、パターン生成部23は、ステップS100で取得された重要情報に基づいて、正規表現で表現されたパターンマッチング用のパターンを生成し、情報漏洩監視部24へ出力する(ステップS105)。
【0040】
続いて、情報漏洩監視部24は、端末記憶部20に格納されているアプリケーションログ、カーネルログ、通信ログに記録されている情報と、パターン生成部23が生成したパターンとのパターンマッチングを行う(ステップS110)。以下、パターンマッチングの詳細な手順を説明する。
【0041】
情報漏洩監視部24は、端末記憶部20に格納されている解析対象であるアプリケーションログ、カーネルログ、通信ログの中からいずれか1つを選択する(ステップS111)。続いて、情報漏洩監視部24は、ステップS111で選択した解析対象を構成するデータを選択し、端末記憶部20から読み出す(ステップS112)。このとき、例えばログ中の1つの記録単位分のデータが選択される。
【0042】
続いて、情報漏洩監視部24は、解析対象を構成するデータとパターンとを比較する(ステップS113)。続いて、情報漏洩監視部24は、解析対象を構成するデータとパターンとが一致したか否かを判定する(ステップS114)。解析対象を構成するデータとパターンとが一致した場合、重要情報の漏洩が検知されたことになる。この場合、パターンマッチングが終了し、情報漏洩監視部24は、重要情報の漏洩が検知されたことを利用者に知らせるための情報を表示部15へ出力し、その情報に基づく表示を行わせる(ステップS120)。このとき、どのような重要情報が漏洩したのかを利用者に知らせるため、漏洩した重要情報の種別(個人情報、契約者情報、端末情報)を判別し、その種別を表示してもよい。
【0043】
一方、解析対象を構成するデータとパターンとが一致しなかった場合、重要情報の漏洩が検知されなかったことになる。この場合、情報漏洩監視部24は、解析対象中の全てのデータの解析が終了したか否かを判定する(ステップS115)。解析を行っていないデータが存在する場合、処理がステップS112に戻り、次のデータが選択される。また、解析対象中の全てのデータの解析が終了した場合、情報漏洩監視部24は、全ての解析対象の解析が終了したか否かを判定する(ステップS116)。解析を行っていない解析対象が存在する場合、処理がステップS111に戻り、次の解析対象が選択される。全ての解析対象の解析が終了した場合、パターンマッチングが終了する。
【0044】
上記では、重要情報の漏洩が検知された時点でパターンマッチングが終了するため、解析対象を構成するデータの一部については解析が行われないことがある。解析が行われなかったデータから別の重要情報の漏洩が検知される可能性もある。そこで、全ての解析対象のデータの解析が終了するまで、解析を継続してもよい。例えば、ステップS114で重要情報の漏洩が検知された場合に、重要情報の漏洩が発生したことを示す情報を端末記憶部20に一時保持してステップS115に進み、全ての解析対象の解析が終了した後、端末記憶部20に一時保持した情報に基づいて重要情報の漏洩の発生の有無を判定し、重要情報の漏洩が発生している場合に、その旨を表示部15に表示してもよい。複数の重要情報の漏洩が発生していた場合には、その旨が表示部15に表示される。
【0045】
上述したように、本実施形態によれば、携帯端末上で動作するアプリケーションの情報送信時の挙動を示す情報を含むアプリケーションログ、カーネルログ、通信ログに含まれる情報と、携帯端末の利用者を識別する個人情報および契約者情報や、携帯端末の個体を識別する端末情報に基づいて生成されたパターンとのパターンマッチングを行うことによって、重要情報の漏洩を検知することができる。
【0046】
また、情報の送信を示す文字列(“send”等)と個人情報、契約者情報、または端末情報とを組み合わせたパターンを生成することによって、携帯端末から外部への重要情報の漏洩をより確実に検知することができる。さらに、正規表現で表現されたパターンを生成することによって、様々な条件に対応したパターンマッチングを容易に行うことができる。
【0047】
また、パターンマッチングの結果を表示することによって、重要情報の漏洩が発生したか否かを利用者に通知することができる。パターンマッチングの結果として、重要情報の漏洩が発生したことを表示した場合には、携帯端末を安全な状態に修復するように利用者に促すことができる。
【0048】
本実施形態の利用形態として、携帯電話等の利用者が上記の携帯端末を利用することを想定しているが、これ以外の利用形態も可能である。例えば、携帯端末用のアプリケーションを販売する販売元において、アプリケーションの販売の可否を決定するために、本実施形態の携帯端末を用いてアプリケーションの特性解析を行ってもよい。
【0049】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、上述した実施形態による携帯端末の動作および機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行させてもよい。
【0050】
ここで、「コンピュータ」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0051】
また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように、情報を伝送する機能を有する媒体のことをいう。また、上述したプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能を、コンピュータに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【符号の説明】
【0052】
10・・・アプリケーション、11・・・仮想マシン、12・・・カーネル、13・・・通信部、14操作部、15・・・表示部、16・・・アプリケーション監視部、17・・・システムコール監視部、18・・・パケット監視部、19・・・ログ生成部、20・・・端末記憶部(第2の記憶部、第3の記憶部)、21・・・カード記憶部(第1の記憶部)、22・・・重要情報取得部(情報取得部)、23・・・パターン生成部(生成部)、24・・・情報漏洩監視部(処理部)

【特許請求の範囲】
【請求項1】
携帯端末の利用者を識別する第1の識別情報を記憶する第1の記憶部から前記第1の識別情報を取得し、携帯端末の個体を識別する第2の識別情報を記憶する第2の記憶部から前記第2の識別情報を取得する情報取得部と、
前記情報取得部によって取得された前記第1の識別情報および前記第2の識別情報に基づいてパターンマッチング用のパターンを生成する生成部と、
携帯端末の情報送信時の挙動を示す情報を含むログを記憶する第3の記憶部から前記ログを読み出し、前記ログに含まれる情報と前記パターンとのパターンマッチングを行う処理部と、
を備えたことを特徴とする携帯端末。
【請求項2】
前記生成部は、情報の送信を示す文字と前記第1の識別情報および前記第2の識別情報とを組み合わせた前記パターンを生成することを特徴とする請求項1に記載の携帯端末。
【請求項3】
前記生成部は、正規表現で表現された前記パターンを生成することを特徴とする請求項1または請求項2に記載の携帯端末。
【請求項4】
前記パターンマッチングの結果を表示する表示部をさらに備えたことを特徴とする請求項1〜請求項3のいずれか一項に記載の携帯端末。
【請求項5】
前記ログは、アプリケーションの挙動を記録したアプリケーションログ、カーネルの挙動を記録したカーネルログ、および通信時に送信および受信されるパケットの情報を記録した通信ログのいずれかであることを特徴とする請求項1〜請求項4のいずれか一項に記載の携帯端末。
【請求項6】
前記第1の識別情報は、電話番号、メールアドレス、IMSI(International Mobile Subscriber Identity)、SIM(Subscriber Identity Module) Serial Numberのいずれかを含むことを特徴とする請求項1〜請求項5のいずれか一項に記載の携帯端末。
【請求項7】
前記第2の識別情報は、IMEI(International Mobile Equipment Identity)またはAndroid(登録商標) IDを含むことを特徴とする請求項1〜請求項6のいずれか一項に記載の携帯端末。
【請求項8】
請求項1〜請求項7のいずれか一項に記載の携帯端末としてコンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate


【公開番号】特開2012−84054(P2012−84054A)
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願番号】特願2010−231537(P2010−231537)
【出願日】平成22年10月14日(2010.10.14)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】