(57)【特許請求の範囲】
【請求項１】
アプリケーションを作成する上でのガイドラインに違反するアプリケーションを発見するルール逸脱アプリケーション発見装置であって、
予め決められた通信関連メソッドと、当該通信関連メソッドを呼ぶことで発生したパケットの特徴とを関連付けたマッピングファイルを読み込み、発見対象のアプリケーションが生成するパケットの順序をパケットの特徴によって表したパケット生成順序を生成する事前処理部と、
前記発見対象のアプリケーションを含むアプリケーションが出力したパケットのキャプチャデータと、アプリケーションを作成する上でのガイドラインに従って記述されたアプリケーション作成ルールとを読み込み、前記パケット生成順序に基づいて、前記キャプチャデータから前記発見対象のアプリケーションのパケットを抽出し、前記アプリケーション作成ルールから逸脱しているパケットを発見するルール逸脱アプリケーション発見部と、
を有するルール逸脱アプリケーション発見装置。
【請求項２】
前記事前処理部は、
前記マッピングファイルを読み込むマッピングファイル読み込み機能部と、
前記発見対象のアプリケーションのバイナリファイルを読み込むアプリケーションバイナリファイル読み込み機能部と、
前記バイナリファイルからソースコードを生成するソースコード生成機能部と、
前記ソースコードからコールグラフを生成するコールグラフ生成機能部と、
前記コールグラフから、前記予め決められた通信関連メソッドに含まれるメソッドのみからなる部分グラフを生成する部分グラフ生成機能部と、
前記マッピングファイルに基づいて、前記部分グラフから前記発見対象のアプリケーションのパケット生成順序を生成するパケット生成順序生成機能部と、
を有する、請求項１に記載のルール逸脱アプリケーション発見装置。
【請求項３】
前記ルール逸脱アプリケーション発見部は、
前記キャプチャデータを読み込むキャプチャデータ読み込み機能部と、
前記パケット生成順序に基づいて、前記キャプチャデータから前記発見対象のアプリケーションのパケットを抽出するアプリケーション関連パケット発見機能部と、
前記アプリケーション作成ルールを読み込むルール読み込み機能部と、
前記キャプチャデータから抽出されたパケットの中で前記アプリケーション作成ルールから逸脱しているパケットを発見するルール逸脱判定機能部と、
前記アプリケーション作成ルールから逸脱しているパケットを集計するルール逸脱パケット集計出力機能部と、
を有する、請求項１又は２に記載のルール逸脱アプリケーション発見装置。
【請求項４】
前記ルール逸脱判定機能部は、前記キャプチャデータから抽出されたパケットの発生タイミングからメソッドの呼出タイミングを算出し、当該呼出タイミングが前記アプリケーション作成ルールから逸脱しているか否かを判定することにより、前記アプリケーション作成ルールから逸脱しているパケットを発見する、請求項３に記載のルール逸脱アプリケーション発見装置。
【請求項５】
アプリケーションを作成する上でのガイドラインに違反するアプリケーションを発見するルール逸脱アプリケーション発見装置と、
予め決められた通信関連メソッドを呼ぶことで発生したパケットをキャプチャし、当該通信関連メソッドと、キャプチャしたパケットの特徴とを関連付けたマッピングファイルを生成するマッピングファイル生成装置と、
アプリケーションが出力したパケットのキャプチャデータを生成するキャプチャサーバと、
を有するルール逸脱アプリケーション発見システムであって、
前記ルール逸脱アプリケーション発見装置は、
前記マッピングファイルを読み込み、発見対象のアプリケーションが生成するパケットの順序をパケットの特徴によって表したパケット生成順序を生成する事前処理部と、
前記キャプチャデータと、アプリケーションを作成する上でのガイドラインに従って記述されたアプリケーション作成ルールとを読み込み、前記パケット生成順序に基づいて、前記キャプチャデータから前記発見対象のアプリケーションのパケットを抽出し、前記アプリケーション作成ルールから逸脱しているパケットを発見するルール逸脱アプリケーション発見部と、
を有するルール逸脱アプリケーション発見システム。
【請求項６】
アプリケーションを作成する上でのガイドラインに違反するアプリケーションを発見するルール逸脱アプリケーション発見装置におけるルール逸脱アプリケーション発見方法であって、
予め決められた通信関連メソッドと、当該通信関連メソッドを呼ぶことで発生したパケットの特徴とを関連付けたマッピングファイルを読み込み、発見対象のアプリケーションが生成するパケットの順序をパケットの特徴によって表したパケット生成順序を生成するステップと、
前記発見対象のアプリケーションを含むアプリケーションが出力したパケットのキャプチャデータと、アプリケーションを作成する上でのガイドラインに従って記述されたアプリケーション作成ルールとを読み込み、前記パケット生成順序に基づいて、前記キャプチャデータから前記発見対象のアプリケーションのパケットを抽出し、前記アプリケーション作成ルールから逸脱しているパケットを発見するステップと、
を有するルール逸脱アプリケーション発見方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルール逸脱アプリケーション発見装置、ルール逸脱アプリケーション発見システム及びルール逸脱アプリケーション発見方法に関する。より具体的には、本発明は、モバイルネットワーク事業者等が、自身が提示しているガイドラインに従っていないアプリケーションを発見するための技術に関する。
【背景技術】
【０００２】
スマートフォン等のモバイルデバイスが広く普及し、処理能力が向上するにつれて、モバイルデバイス向けの様々なアプリケーションが提供されてきている。このため、モバイルネットワーク事業者等が提供しているアプリケーションが、アプリケーションを作成する上でのガイドラインに違反していないかを確認することが求められている。
【０００３】
従来、アプリケーションがガイドラインを記述したアプリケーション作成ルールに従っているかどうかの確認は静的解析で行われていた。例えば、プライバシー関連情報をインターネットにアップロードするスマートフォンアプリケーションを静的解析によって発見する手法が提案されている（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Clint Gibber, et.al., "AndroidLeaks: Automatically Detecting Potential Privacy Leaks in Android Applications on a Large Scale", Supringer, Pages 291-307, 2012
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の静的解析では、目的とするメソッドを発見することは可能であるが、実際のアプリケーションの動作を反映した確認を行うことができない。例えば、スマートフォンアプリケーションの通信タイミングが正しいかどうかは、静的解析ではソースコードを丹念に確認する必要があり、多くのアプリケーションが公開されるスマートフォンアプリケーションを対象として、このような確認を行うことは困難である。
【０００６】
本発明では、アプリケーションのソースコードからの静的解析と、アプリケーションの動作結果の動的解析との双方を用いて、アプリケーション作成ルールに逸脱した通信を行っているアプリケーションを発見することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一形態に係るルール逸脱アプリケーション発見装置は、
アプリケーションを作成する上でのガイドラインに違反するアプリケーションを発見するルール逸脱アプリケーション発見装置であって、
予め決められた通信関連メソッドと、当該通信関連メソッドを呼ぶことで発生したパケットの特徴とを関連付けたマッピングファイルを読み込み、発見対象のアプリケーションが生成するパケットの順序をパケットの特徴によって表したパケット生成順序を生成する事前処理部と、
前記発見対象のアプリケーションを含むアプリケーションが出力したパケットのキャプチャデータと、アプリケーションを作成する上でのガイドラインに従って記述されたアプリケーション作成ルールとを読み込み、前記パケット生成順序に基づいて、前記キャプチャデータから前記発見対象のアプリケーションのパケットを抽出し、前記アプリケーション作成ルールから逸脱しているパケットを発見するルール逸脱アプリケーション発見部と、
を有することを特徴とする。
【０００８】
また、本発明の一形態に係るルール逸脱アプリケーション発見システムは、
アプリケーションを作成する上でのガイドラインに違反するアプリケーションを発見するルール逸脱アプリケーション発見装置と、
予め決められた通信関連メソッドを呼ぶことで発生したパケットをキャプチャし、当該通信関連メソッドと、キャプチャしたパケットの特徴とを関連付けたマッピングファイルを生成するマッピングファイル生成装置と、
アプリケーションが出力したパケットのキャプチャデータを生成するキャプチャサーバと、
を有するルール逸脱アプリケーション発見システムであって、
前記ルール逸脱アプリケーション発見装置は、
前記マッピングファイルを読み込み、発見対象のアプリケーションが生成するパケットの順序をパケットの特徴によって表したパケット生成順序を生成する事前処理部と、
前記キャプチャデータと、アプリケーションを作成する上でのガイドラインに従って記述されたアプリケーション作成ルールとを読み込み、前記パケット生成順序に基づいて、前記キャプチャデータから前記発見対象のアプリケーションのパケットを抽出し、前記アプリケーション作成ルールから逸脱しているパケットを発見するルール逸脱アプリケーション発見部と、
を有することを特徴とする。
【０００９】
また、本発明の一形態に係るルール逸脱アプリケーション発見方法は、
アプリケーションを作成する上でのガイドラインに違反するアプリケーションを発見するルール逸脱アプリケーション発見装置におけるルール逸脱アプリケーション発見方法であって、
予め決められた通信関連メソッドと、当該通信関連メソッドを呼ぶことで発生したパケットの特徴とを関連付けたマッピングファイルを読み込み、発見対象のアプリケーションが生成するパケットの順序をパケットの特徴によって表したパケット生成順序を生成するステップと、
前記発見対象のアプリケーションを含むアプリケーションが出力したパケットのキャプチャデータと、アプリケーションを作成する上でのガイドラインに従って記述されたアプリケーション作成ルールとを読み込み、前記パケット生成順序に基づいて、前記キャプチャデータから前記発見対象のアプリケーションのパケットを抽出し、前記アプリケーション作成ルールから逸脱しているパケットを発見するステップと、
を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、アプリケーションのソースコードからの静的解析と、アプリケーションの動作結果の動的解析との双方を用いて、アプリケーション作成ルールに逸脱した通信を行っているアプリケーションを発見することが可能になる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施例に係るルール逸脱アプリケーション発見方法を示す概略図
【図２】本発明の実施例に係るルール逸脱アプリケーション発見装置を含むシステムの全体構成を示す図
【図３】本発明の実施例に係るルール逸脱アプリケーション発見装置の全体ブロック図
【図４】本発明の実施例に係るルール逸脱アプリケーション発見装置における事前処理部の機能ブロック図
【図５】本発明の実施例に係るルール逸脱アプリケーション発見装置におけるルール逸脱アプリケーション発見部の機能ブロック図
【図６】本発明の実施例に係るルール逸脱アプリケーション発見装置におけるアプリケーション関連パケット発見機能部においてアプリケーションごとにパケットを抽出する手順を示す概略図
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施例を詳細に説明する。
【００１３】
本発明の実施例では、アプリケーションのソースコードからの静的解析と、アプリケーションの動作結果の動的解析との双方を行うことで、アプリケーションの振る舞いのタイミングを考慮した、アプリケーション作成ルールに逸脱したアプリケーションを発見するルール逸脱アプリケーション発見装置について説明する。ルール逸脱アプリケーション発見装置は、静的解析によって生成された、アプリケーションごとのパケット生成順序を用い、様々なアプリケーションのパケットが混在したパケットキャプチャデータから、それらの順序とマッチする部分を抽出することで、特定のアプリケーションに由来するパケットを抽出することができる。これにより、それぞれのアプリケーションごとに、アプリケーション作成ルールからの逸脱の発見を行い、アプリケーションごとの問題点を抽出する。
【００１４】
以下の実施例では、特にスマートフォン向けのアプリケーションを例に挙げて説明するが、本発明の実施例は、スマートフォン向けのアプリケーション以外にも、通信に関連するメソッドが含まれる他のアプリケーションに適用可能である。
【００１５】
図１は、本発明の実施例に係るルール逸脱アプリケーション発見方法を示す概略図である。
【００１６】
まず、ルール逸脱アプリケーション発見前の準備として、各API（Application Program Interface）のメソッドとそれに対応するパケットの特徴とのマッピングファイルを作成する。マッピングファイルは、本発明の実施例に係るルール逸脱アプリケーション発見装置において作成されてもよく、ルール逸脱アプリケーション発見装置の外部の装置（マッピングファイル生成装置）において作成されてもよい。
【００１７】
具体的には、マッピングファイルを生成するために、代表的なAPIの各メソッドを呼ぶための専用アプリケーションを用意し、代表的なAPIの各メソッドを呼ぶ。代表的なAPIのメソッドは、例えば、Android（登録商標）、Java（登録商標）等のAPIドキュメントの中から通信に関係するメソッド（通信関連メソッドと呼ぶ）を抽出することにより、事前に決められる。例えば、図１に示すようにmethodA、methodB、methodX、methodY等の通信関連メソッドが事前に決められる。次に、専用アプリケーションにおいて、通信関連メソッドごとに発生するパケットをキャプチャする。キャプチャ結果を解析し、発生するパケットの特徴を抽出する。抽出する特徴としては、パケットの長さ、含まれる文字列、宛先IPアドレス、宛先ポートなどが考えられる。そして、通信関連メソッドと、抽出された特徴とを関連付けることにより、マッピングファイルを生成する。
【００１８】
更に、ルール逸脱アプリケーション発見前の準備として、アプリケーション作成に関するルール（アプリケーション作成ルールとも呼ばれる）を作成する。アプリケーション作成ルールは、本発明の実施例に係るルール逸脱アプリケーション発見装置において作成されてもよく、ルール逸脱アプリケーション発見装置の外部のアプリケーション作成ルール生成装置において作成されてもよい。
【００１９】
具体的には、予め作成されているスマートフォンアプリケーションを作成する上でのガイドラインから、通信に関連する記述を抽出し、アプリケーション作成ルールとして記述する。アプリケーション作成ルールは、アプリケーションの通信関連メソッドのタイミングに関して作成される。例えば、methodAはランダム時間で呼ばなければならない、methodXのあと2秒以内にmethodYを呼ばなければならない等のタイミングがアプリケーション作成ルールとして記述される。
【００２０】
次に、静的解析と動的解析との双方を行うことで、準備したマッピングファイル及びアプリケーション作成ルールを用いて、アプリケーション作成ルールに逸脱したスマートフォンアプリケーションを発見する。
【００２１】
静的解析の段階では、ステップＳ１１において、アプリケーション配信サイト等から、スマートフォンアプリケーションをダウンロードし、バイナリファイルを取得する。ステップＳ１２において、静的解析により、アプリケーション内のメソッドの呼出関係を表すコールグラフを生成する。ステップＳ１３において、コールグラフから通信に関係するメソッドの呼出順序を抽出する。通信に関係するメソッドの呼出順序は、コールグラフに含まれるメソッドの中から、マッピングファイルの通信関連メソッドに一致するメソッドを抽出することにより生成される。ステップＳ１４において、抽出されたメソッドの呼出順序と、各メソッドが呼ばれた時に発生するパケットの特徴の対応ファイルとから、アプリケーションごとに、生成されるパケットの順序をパケットの特徴によって表したパケット生成順序を生成する。パケット生成順序は、パケットの特徴をノードとした有向グラフにより表されてもよい。
【００２２】
動的解析の段階では、ステップＳ１５において、モバイルネットワークから、アプリケーションが出力したパケットをキャプチャする。パケットは、本発明の実施例に係るルール逸脱アプリケーション発見装置に接続されたキャプチャサーバにおいてキャプチャされてもよい。ステップＳ１６において、キャプチャ結果から、アプリケーションごとのパケット生成順序に一致する部分を発見することで、キャプチャ結果から、アプリケーションごとのパケットを抽出する。ステップＳ１７において、抽出結果のアプリケーションごとのパケットの発生タイミングから、メソッドの呼出タイミングを抽出する。例えば、ルール逸脱アプリケーション発見前の準備において作成されるメソッドとそれに対応するパケットの特徴とのマッピングファイルを参照することで、アプリケーションごとのパケット発生タイミングから、メソッドの呼出タイミングを算出することが可能である。ステップＳ１８において、抽出されたメソッドの呼出タイミングと、アプリケーション作成ルールとから、アプリケーション作成ルールに適合しない呼出をしているアプリケーションを抽出する。ステップＳ１９において、アプリケーションルール作成ルールに適合しない呼出をしているアプリケーションと、その呼び出しによって発生するパケットを集計し、集計結果をルール逸脱アプリケーションの発見の結果として出力する。
【００２３】
図２は、本発明の実施例に係るルール逸脱アプリケーション発見装置１００を含むシステムの全体構成を示す図である。
【００２４】
ルール逸脱アプリケーション発見装置１００は、スマートフォンアプリケーションの振る舞いのタイミングを考慮した、アプリケーション作成ルールに逸脱したアプリケーションを発見する装置である。ルール逸脱アプリケーション発見装置１００は、プロセッサ等のＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）等のメモリ装置、ハードディスク等の記憶装置等から構成されたコンピュータでもよい。例えば、以下に説明するルール逸脱アプリケーション発見装置１００の各機能及び処理は、記憶装置又はメモリ装置に格納されているデータやプログラムをＣＰＵが実行することによって実現される。
【００２５】
ルール逸脱アプリケーション発見装置１００は、図１を参照して説明したように、予め「各APIのメソッドとそれに対応するパケットの特徴とのマッピングファイル」と、「アプリケーション作成に関するルール」とを読み込んでおく。
【００２６】
また、図１の静的解析の段階で説明したように、ルール逸脱アプリケーション発見装置１００は、予め発見対象のアプリケーションのバイナリファイルを読み込み、アプリケーションごとにパケット生成順序を作成しておく。
【００２７】
更に、図１の動的解析の段階で説明したように、ルール逸脱アプリケーション発見装置１００は、キャプチャサーバ等からモバイルネットワークでのパケットキャプチャデータを入力することで、キャプチャデータに含まれるパケットの発生源であるアプリケーションごとに、ルールに違反しているトラフィックの量を集計し、集計結果を出力する。
【００２８】
図３は、本発明の実施例に係るルール逸脱アプリケーション発見装置１００の全体ブロック図である。
【００２９】
ルール逸脱アプリケーション発見装置１００は、事前処理部１１０と、ルール逸脱アプリケーション発見部１２０とから構成される。
【００３０】
事前処理部１１０は静的解析を行う機能部であり、「各APIのメソッドとそれに対応するパケットの特徴とのマッピングファイル」と、アプリケーションのバイナリファイル（例えば、APKファイル）とを読み込み、アプリケーションごとのパケット生成順序を生成し、保存する。
【００３１】
ルール逸脱アプリケーション発見部１２０は動的解析を行う機能部であり、キャプチャサーバ等からキャプチャデータを読み込み、予め生成されているアプリケーションごとのパケット生成順序を読み込み、パケット生成順序と近い部分をキャプチャデータから発見し、発見された部分とアプリケーション作成に関するルールとを比較し、ルールから逸脱しているアプリケーションを発見し、発見された部分のトラフィック量を集計し、集計結果を出力する。
【００３２】
図４は、事前処理部１１０の詳細な機能ブロック図である。
【００３３】
事前処理部１１０は、マッピングファイル読み込み機能部１１１と、アプリケーションバイナリファイル読み込み機能部１１２と、ソースコード生成機能部１１３と、コールグラフ生成機能部１１４と、部分グラフ生成機能部１１５と、パケット生成順序生成機能部１１６とから構成される。
【００３４】
マッピングファイル読み込み機能部１１１は、予め作成された「各APIのメソッドとそれに対応するパケットの特徴とのマッピングファイル」を読み込む。
【００３５】
アプリケーションバイナリファイル読み込み機能部１１２は、アプリケーションのバイナリファイルを１つ読み込み、それをソースコード生成機能部１１３に渡す。例えば、バイナリファイルはAPKファイルなどのフォーマットでもよい。
【００３６】
バイナリファイルを取得したソースコード生成機能部１１３は、バイナリファイルをソースコードに変換し、変換後のソースコードをコールグラフ生成機能部１１４に渡す。例えば、ソースコード生成機能部１１３は、APKファイルをJARファイルに変換してもよい。
【００３７】
ソースコードを取得したコールグラフ生成機能部１１４は、ソースコードからコールグラフを生成し、生成後のコールグラフを部分グラフ生成機能部１１５に渡す。コールグラフは、メソッドの呼び出し関係を表現した有向グラフである。
【００３８】
コールグラフを取得した部分グラフ生成機能部１１５は、コールグラフから通信関連メソッドのみの部分グラフを抽出し、抽出結果をパケット生成順序生成機能部１１６に渡す。コールグラフから抽出される通信関連メソッドは、「各APIのメソッドとそれに対応するパケットの特徴とのマッピングファイル」に含まれるメソッドである。
【００３９】
部分グラフを取得したパケット生成順序生成機能部１１６は、マッピングファイル読み込み機能部１１１で読み込まれたマッピングファイルを参照し、部分グラフからパケット生成順序を表すグラフ構造を生成し、出力する。部分グラフ生成機能部１１５により通信関連メソッドのみの部分グラフが生成されているため、パケット生成順序生成機能部１１６は、パケットの特徴をノードとした有向グラフにより、パケット生成順序を生成することができる。
【００４０】
図５は、ルール逸脱アプリケーション発見部１２０の詳細な機能ブロック図である。
【００４１】
ルール逸脱アプリケーション発見部１２０は、パケット生成順序読み込み機能部１２１と、ルール読み込み機能部１２２と、キャプチャデータ読み込み機能部１２３と、アプリケーション関連パケット発見機能部１２４と、ルール逸脱判定機能部１２５と、ルール逸脱パケット集計出力機能部１２６とから構成される。
【００４２】
パケット生成順序読み込み機能部１２１は、事前処理部１１０において作成された、アプリケーションごとのパケット生成順序を読み込む。
【００４３】
ルール読み込み機能部１２２は、予め作成されたアプリケーション作成に関するルールを読み込む。
【００４４】
キャプチャデータ読み込み機能部１２３は、キャプチャサーバからキャプチャデータを読み込み、アプリケーション関連パケット発見機能部１２４に渡す。
【００４５】
キャプチャデータを取得したアプリケーション関連パケット発見機能部１２４は、パケット生成順序読み込み機能部１２１で読み込んだパケット生成順序を参照して、キャプチャデータから、アプリケーションごとのパケットを抽出し、それをルール逸脱判定機能部１２５に渡す。アプリケーションごとのパケットを抽出する具体的な手順は、図６を参照して以下に説明する。
【００４６】
アプリケーションごとのパケットを取得したルール逸脱判定機能部１２５は、ルール読み込み機能部１２２で読み込んだアプリケーション作成に関するルールを参照して、ルールから逸脱しているパケットを発見し、それをルール逸脱パケット集計出力機能部１２６に渡す。例えば、ルール逸脱判定機能部１２５は、パケットの発生タイミングからメソッドの呼出タイミングを算出し、メソッドの呼出タイミングがルールに逸脱したパケットを発見する。
【００４７】
ルール逸脱パケットを取得したルール逸脱パケット集計出力機能部１２６は、全てのルール逸脱パケットを取得し、アプリケーションごとにルールから逸脱しているパケットの量を集計し、出力する。
【００４８】
図６は、アプリケーション関連パケット発見機能部１２４においてアプリケーションごとにパケットを抽出する手順を示す概略図である。
【００４９】
ステップＳ２１において、コールグラフから通信関連のメソッドの部分グラフを抽出する。これは、部分グラフ生成機能部１１５において抽出された部分グラフに相当する。
【００５０】
更に、ステップＳ２２において、抽出された部分グラフからパケット生成順序のグラフを生成する。これは、パケット生成順序生成機能部１１６において生成されたパケット生成順序の有向グラフに相当する。このグラフの各ノードはパケットの特徴を示すサイズ、プロトコル、宛先IPアドレス、宛先ポート等となる。
【００５１】
そして、ステップＳ２３において、アプリケーション関連パケット発見機能部１２４は、パケット生成順序のグラフをテンプレートとし、キャプチャデータの中から、これと距離の近い部分をテンプレートマッチングで発見する。
【００５２】
このようにすることで、本発明の実施例によれば、アプリケーションのソースコードからの静的解析と、アプリケーションの動作結果の動的解析との双方を用いて、アプリケーション作成ルールに逸脱した通信を行っているアプリケーションを発見することが可能になる。
【００５３】
その結果、モバイルネットワーク事業者等が、自身が提供するネットワークにおいてルールを逸脱した通信を行うアプリケーションを発見し、アプリケーション作成者に対して是正を促すことで、ルールを逸脱しているアプリケーションによるネットワークの輻輳を抑えることができる。
【００５４】
説明の便宜上、本発明の実施例に係るルール逸脱アプリケーション発見装置は機能的なブロック図を用いて説明しているが、本発明の実施例に係るルール逸脱アプリケーション発見装置は、ハードウェア、ソフトウェアまたはそれらの組み合わせで実現されてもよい。例えば、本発明の実施例は、コンピュータに対して本発明の実施例に係るルール逸脱アプリケーション発見装置の各機能を実現させるプログラム、コンピュータに対して本発明の実施例に係る方法の各手順を実行させるプログラム等により、実現されてもよい。また、各機能部が必要に応じて組み合わせて使用されてもよい。また、本発明の実施例に係る方法は、実施例に示す順序と異なる順序で実施されてもよい。
【００５５】
以上、アプリケーションのソースコードからの静的解析と、アプリケーションの動作結果の動的解析との双方を用いて、アプリケーション作成ルールに逸脱した通信を行っているアプリケーションを発見するための手法について説明したが、本発明は、上記の実施例に限定されることなく、特許請求の範囲内において、種々の変更・応用が可能である。
【符号の説明】
【００５６】
１００  ルール逸脱アプリケーション発見装置
１１０  事前処理部
１１１  マッピングファイル読み込み機能部
１１２  アプリケーションバイナリファイル読み込み機能部
１１３  ソースコード生成機能部
１１４  コールグラフ生成機能部
１１５  部分グラフ生成機能部
１１６  パケット生成順序生成機能部
１２０  ルール逸脱アプリケーション発見部
１２１  パケット生成順序読み込み機能部
１２２  ルール読み込み機能部
１２３  キャプチャデータ読み込み機能部
１２４  アプリケーション関連パケット発見機能部
１２５  ルール逸脱判定機能部
１２６  ルール逸脱パケット集計出力機能部
【図１】
0006280018.tif 000002
【図２】
0006280018.tif 000003
【図３】
0006280018.tif 000004
【図４】
0006280018.tif 000005
【図５】
0006280018.tif 000006
【図６】
0006280018.tif 000007