JP6280018B2 - Rule deviation application discovery apparatus, rule deviation application discovery system, and rule deviation application discovery method - Google Patents
Rule deviation application discovery apparatus, rule deviation application discovery system, and rule deviation application discovery method Download PDFInfo
- Publication number
- JP6280018B2 JP6280018B2 JP2014214139A JP2014214139A JP6280018B2 JP 6280018 B2 JP6280018 B2 JP 6280018B2 JP 2014214139 A JP2014214139 A JP 2014214139A JP 2014214139 A JP2014214139 A JP 2014214139A JP 6280018 B2 JP6280018 B2 JP 6280018B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- packet
- rule
- discovery
- function unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
本発明は、ルール逸脱アプリケーション発見装置、ルール逸脱アプリケーション発見システム及びルール逸脱アプリケーション発見方法に関する。より具体的には、本発明は、モバイルネットワーク事業者等が、自身が提示しているガイドラインに従っていないアプリケーションを発見するための技術に関する。 The present invention relates to a rule deviation application discovery apparatus, a rule deviation application discovery system, and a rule deviation application discovery method. More specifically, the present invention relates to a technique for a mobile network operator or the like to discover an application that does not follow the guidelines that it presents.
スマートフォン等のモバイルデバイスが広く普及し、処理能力が向上するにつれて、モバイルデバイス向けの様々なアプリケーションが提供されてきている。このため、モバイルネットワーク事業者等が提供しているアプリケーションが、アプリケーションを作成する上でのガイドラインに違反していないかを確認することが求められている。 As mobile devices such as smartphones have become widespread and processing capabilities have improved, various applications for mobile devices have been provided. For this reason, it is required to check whether an application provided by a mobile network operator or the like violates guidelines for creating an application.
従来、アプリケーションがガイドラインを記述したアプリケーション作成ルールに従っているかどうかの確認は静的解析で行われていた。例えば、プライバシー関連情報をインターネットにアップロードするスマートフォンアプリケーションを静的解析によって発見する手法が提案されている(非特許文献1参照)。 Conventionally, whether an application complies with application creation rules describing guidelines has been confirmed by static analysis. For example, a technique has been proposed in which a smartphone application that uploads privacy-related information to the Internet is discovered by static analysis (see Non-Patent Document 1).
従来の静的解析では、目的とするメソッドを発見することは可能であるが、実際のアプリケーションの動作を反映した確認を行うことができない。例えば、スマートフォンアプリケーションの通信タイミングが正しいかどうかは、静的解析ではソースコードを丹念に確認する必要があり、多くのアプリケーションが公開されるスマートフォンアプリケーションを対象として、このような確認を行うことは困難である。 In the conventional static analysis, it is possible to find the target method, but it is not possible to perform a check reflecting the actual operation of the application. For example, if the communication timing of a smartphone application is correct, it is necessary to carefully check the source code in static analysis, and it is difficult to perform such confirmation for smartphone applications where many applications are released It is.
本発明では、アプリケーションのソースコードからの静的解析と、アプリケーションの動作結果の動的解析との双方を用いて、アプリケーション作成ルールに逸脱した通信を行っているアプリケーションを発見することを目的とする。 An object of the present invention is to discover an application that performs communication that deviates from the application creation rule by using both static analysis from the source code of the application and dynamic analysis of the operation result of the application. .
本発明の一形態に係るルール逸脱アプリケーション発見装置は、
アプリケーションを作成する上でのガイドラインに違反するアプリケーションを発見するルール逸脱アプリケーション発見装置であって、
予め決められた通信関連メソッドと、当該通信関連メソッドを呼ぶことで発生したパケットの特徴とを関連付けたマッピングファイルを読み込み、発見対象のアプリケーションが生成するパケットの順序をパケットの特徴によって表したパケット生成順序を生成する事前処理部と、
前記発見対象のアプリケーションを含むアプリケーションが出力したパケットのキャプチャデータと、アプリケーションを作成する上でのガイドラインに従って記述されたアプリケーション作成ルールとを読み込み、前記パケット生成順序に基づいて、前記キャプチャデータから前記発見対象のアプリケーションのパケットを抽出し、前記アプリケーション作成ルールから逸脱しているパケットを発見するルール逸脱アプリケーション発見部と、
を有することを特徴とする。
A rule deviation application discovery apparatus according to an aspect of the present invention is provided.
A rule-deviation application discovery device that discovers applications that violate guidelines for creating applications,
A packet generation that reads a mapping file that associates a predetermined communication-related method with the characteristics of the packet generated by calling the communication-related method, and expresses the order of packets generated by the discovery target application using the packet characteristics A pre-processing unit for generating an order;
The packet capture data output by the application including the discovery target application and the application creation rules described in accordance with the guidelines for creating the application are read, and the discovery is performed from the capture data based on the packet generation order. A rule deviation application discovery unit for extracting a packet of a target application and finding a packet deviating from the application creation rule;
It is characterized by having.
また、本発明の一形態に係るルール逸脱アプリケーション発見システムは、
アプリケーションを作成する上でのガイドラインに違反するアプリケーションを発見するルール逸脱アプリケーション発見装置と、
予め決められた通信関連メソッドを呼ぶことで発生したパケットをキャプチャし、当該通信関連メソッドと、キャプチャしたパケットの特徴とを関連付けたマッピングファイルを生成するマッピングファイル生成装置と、
アプリケーションが出力したパケットのキャプチャデータを生成するキャプチャサーバと、
を有するルール逸脱アプリケーション発見システムであって、
前記ルール逸脱アプリケーション発見装置は、
前記マッピングファイルを読み込み、発見対象のアプリケーションが生成するパケットの順序をパケットの特徴によって表したパケット生成順序を生成する事前処理部と、
前記キャプチャデータと、アプリケーションを作成する上でのガイドラインに従って記述されたアプリケーション作成ルールとを読み込み、前記パケット生成順序に基づいて、前記キャプチャデータから前記発見対象のアプリケーションのパケットを抽出し、前記アプリケーション作成ルールから逸脱しているパケットを発見するルール逸脱アプリケーション発見部と、
を有することを特徴とする。
Further, the rule deviation application discovery system according to one aspect of the present invention is:
A rule deviation application discovery device for finding an application that violates the guidelines for creating an application;
A mapping file generating device that captures a packet generated by calling a predetermined communication-related method, and generates a mapping file that associates the communication-related method with the characteristics of the captured packet;
A capture server that generates capture data for packets output by the application;
A rule deviation application discovery system comprising:
The rule deviation application discovery device includes:
A pre-processing unit that reads the mapping file and generates a packet generation order that represents the order of packets generated by the discovery target application by the characteristics of the packet;
Reading the capture data and application creation rules described in accordance with guidelines for creating an application, extracting packets of the discovery target application from the capture data based on the packet generation order, and creating the application A rule deviation application detection unit for detecting a packet deviating from the rule;
It is characterized by having.
また、本発明の一形態に係るルール逸脱アプリケーション発見方法は、
アプリケーションを作成する上でのガイドラインに違反するアプリケーションを発見するルール逸脱アプリケーション発見装置におけるルール逸脱アプリケーション発見方法であって、
予め決められた通信関連メソッドと、当該通信関連メソッドを呼ぶことで発生したパケットの特徴とを関連付けたマッピングファイルを読み込み、発見対象のアプリケーションが生成するパケットの順序をパケットの特徴によって表したパケット生成順序を生成するステップと、
前記発見対象のアプリケーションを含むアプリケーションが出力したパケットのキャプチャデータと、アプリケーションを作成する上でのガイドラインに従って記述されたアプリケーション作成ルールとを読み込み、前記パケット生成順序に基づいて、前記キャプチャデータから前記発見対象のアプリケーションのパケットを抽出し、前記アプリケーション作成ルールから逸脱しているパケットを発見するステップと、
を有することを特徴とする。
Also, a rule deviation application discovery method according to an aspect of the present invention is:
A rule deviation application discovery method in a rule deviation application discovery device for discovering an application that violates a guideline for creating an application,
A packet generation that reads a mapping file that associates a predetermined communication-related method with the characteristics of the packet generated by calling the communication-related method, and expresses the order of packets generated by the discovery target application using the packet characteristics Generating a sequence;
The packet capture data output by the application including the discovery target application and the application creation rules described in accordance with the guidelines for creating the application are read, and the discovery is performed from the capture data based on the packet generation order. Extracting a packet of a target application and finding a packet deviating from the application creation rule;
It is characterized by having.
本発明によれば、アプリケーションのソースコードからの静的解析と、アプリケーションの動作結果の動的解析との双方を用いて、アプリケーション作成ルールに逸脱した通信を行っているアプリケーションを発見することが可能になる。 According to the present invention, it is possible to find an application that performs communication that deviates from the application creation rule by using both static analysis from the application source code and dynamic analysis of the operation result of the application. become.
以下、図面を参照して本発明の実施例を詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
本発明の実施例では、アプリケーションのソースコードからの静的解析と、アプリケーションの動作結果の動的解析との双方を行うことで、アプリケーションの振る舞いのタイミングを考慮した、アプリケーション作成ルールに逸脱したアプリケーションを発見するルール逸脱アプリケーション発見装置について説明する。ルール逸脱アプリケーション発見装置は、静的解析によって生成された、アプリケーションごとのパケット生成順序を用い、様々なアプリケーションのパケットが混在したパケットキャプチャデータから、それらの順序とマッチする部分を抽出することで、特定のアプリケーションに由来するパケットを抽出することができる。これにより、それぞれのアプリケーションごとに、アプリケーション作成ルールからの逸脱の発見を行い、アプリケーションごとの問題点を抽出する。 In an embodiment of the present invention, an application that deviates from an application creation rule that takes into account the timing of application behavior by performing both static analysis from the source code of the application and dynamic analysis of the operation result of the application. A rule deviation application discovery device for discovering the above will be described. The rule deviation application discovery device uses a packet generation order for each application generated by static analysis, and extracts a part matching the order from packet capture data in which packets of various applications are mixed, Packets originating from a specific application can be extracted. Thereby, the deviation from the application creation rule is found for each application, and the problem for each application is extracted.
以下の実施例では、特にスマートフォン向けのアプリケーションを例に挙げて説明するが、本発明の実施例は、スマートフォン向けのアプリケーション以外にも、通信に関連するメソッドが含まれる他のアプリケーションに適用可能である。 In the following examples, an application for smartphones will be described as an example, but the examples of the present invention can be applied to other applications including methods related to communication in addition to applications for smartphones. is there.
図1は、本発明の実施例に係るルール逸脱アプリケーション発見方法を示す概略図である。 FIG. 1 is a schematic diagram illustrating a rule deviation application discovery method according to an embodiment of the present invention.
まず、ルール逸脱アプリケーション発見前の準備として、各API(Application Program Interface)のメソッドとそれに対応するパケットの特徴とのマッピングファイルを作成する。マッピングファイルは、本発明の実施例に係るルール逸脱アプリケーション発見装置において作成されてもよく、ルール逸脱アプリケーション発見装置の外部の装置(マッピングファイル生成装置)において作成されてもよい。 First, as a preparation before finding a rule deviation application, a mapping file is created between each API (Application Program Interface) method and the corresponding packet characteristics. The mapping file may be created in the rule deviation application discovery device according to the embodiment of the present invention, or may be created in a device outside the rule deviation application discovery device (mapping file generation device).
具体的には、マッピングファイルを生成するために、代表的なAPIの各メソッドを呼ぶための専用アプリケーションを用意し、代表的なAPIの各メソッドを呼ぶ。代表的なAPIのメソッドは、例えば、Android(登録商標)、Java(登録商標)等のAPIドキュメントの中から通信に関係するメソッド(通信関連メソッドと呼ぶ)を抽出することにより、事前に決められる。例えば、図1に示すようにmethodA、methodB、methodX、methodY等の通信関連メソッドが事前に決められる。次に、専用アプリケーションにおいて、通信関連メソッドごとに発生するパケットをキャプチャする。キャプチャ結果を解析し、発生するパケットの特徴を抽出する。抽出する特徴としては、パケットの長さ、含まれる文字列、宛先IPアドレス、宛先ポートなどが考えられる。そして、通信関連メソッドと、抽出された特徴とを関連付けることにより、マッピングファイルを生成する。 Specifically, in order to generate a mapping file, a dedicated application for calling each representative API method is prepared, and each representative API method is called. Representative API methods are determined in advance by extracting methods related to communication (called communication-related methods) from API documents such as Android (registered trademark) and Java (registered trademark). . For example, as shown in FIG. 1, communication-related methods such as methodA, methodB, methodX, and methodY are determined in advance. Next, in the dedicated application, a packet generated for each communication-related method is captured. Analyze the capture result and extract the characteristics of the generated packet. As features to be extracted, the length of a packet, a character string included, a destination IP address, a destination port, and the like can be considered. Then, the mapping file is generated by associating the communication related method with the extracted feature.
更に、ルール逸脱アプリケーション発見前の準備として、アプリケーション作成に関するルール(アプリケーション作成ルールとも呼ばれる)を作成する。アプリケーション作成ルールは、本発明の実施例に係るルール逸脱アプリケーション発見装置において作成されてもよく、ルール逸脱アプリケーション発見装置の外部のアプリケーション作成ルール生成装置において作成されてもよい。 Further, as preparation before finding a rule-deviation application, a rule relating to application creation (also referred to as application creation rule) is created. The application creation rule may be created in the rule deviation application discovery device according to the embodiment of the present invention, or may be created in the application creation rule generation device outside the rule departure application discovery device.
具体的には、予め作成されているスマートフォンアプリケーションを作成する上でのガイドラインから、通信に関連する記述を抽出し、アプリケーション作成ルールとして記述する。アプリケーション作成ルールは、アプリケーションの通信関連メソッドのタイミングに関して作成される。例えば、methodAはランダム時間で呼ばなければならない、methodXのあと2秒以内にmethodYを呼ばなければならない等のタイミングがアプリケーション作成ルールとして記述される。 Specifically, a description related to communication is extracted from a guideline for creating a smartphone application created in advance, and is described as an application creation rule. The application creation rule is created regarding the timing of the communication-related method of the application. For example, methodA must be called in random time, and methodY must be called within 2 seconds after methodX, as described in the application creation rule.
次に、静的解析と動的解析との双方を行うことで、準備したマッピングファイル及びアプリケーション作成ルールを用いて、アプリケーション作成ルールに逸脱したスマートフォンアプリケーションを発見する。 Next, by performing both static analysis and dynamic analysis, a smartphone application that deviates from the application creation rules is found using the prepared mapping file and application creation rules.
静的解析の段階では、ステップS11において、アプリケーション配信サイト等から、スマートフォンアプリケーションをダウンロードし、バイナリファイルを取得する。ステップS12において、静的解析により、アプリケーション内のメソッドの呼出関係を表すコールグラフを生成する。ステップS13において、コールグラフから通信に関係するメソッドの呼出順序を抽出する。通信に関係するメソッドの呼出順序は、コールグラフに含まれるメソッドの中から、マッピングファイルの通信関連メソッドに一致するメソッドを抽出することにより生成される。ステップS14において、抽出されたメソッドの呼出順序と、各メソッドが呼ばれた時に発生するパケットの特徴の対応ファイルとから、アプリケーションごとに、生成されるパケットの順序をパケットの特徴によって表したパケット生成順序を生成する。パケット生成順序は、パケットの特徴をノードとした有向グラフにより表されてもよい。 In the static analysis stage, in step S11, a smartphone application is downloaded from an application distribution site or the like, and a binary file is acquired. In step S12, a call graph representing the calling relationship of methods in the application is generated by static analysis. In step S13, the calling order of methods related to communication is extracted from the call graph. The calling order of methods related to communication is generated by extracting a method that matches a communication-related method in the mapping file from methods included in the call graph. In step S14, a packet generation in which the order of packets to be generated is expressed by the packet characteristics for each application from the extracted method calling order and the corresponding file characteristic packet generated when each method is called. Generate order. The packet generation order may be represented by a directed graph with the packet characteristics as nodes.
動的解析の段階では、ステップS15において、モバイルネットワークから、アプリケーションが出力したパケットをキャプチャする。パケットは、本発明の実施例に係るルール逸脱アプリケーション発見装置に接続されたキャプチャサーバにおいてキャプチャされてもよい。ステップS16において、キャプチャ結果から、アプリケーションごとのパケット生成順序に一致する部分を発見することで、キャプチャ結果から、アプリケーションごとのパケットを抽出する。ステップS17において、抽出結果のアプリケーションごとのパケットの発生タイミングから、メソッドの呼出タイミングを抽出する。例えば、ルール逸脱アプリケーション発見前の準備において作成されるメソッドとそれに対応するパケットの特徴とのマッピングファイルを参照することで、アプリケーションごとのパケット発生タイミングから、メソッドの呼出タイミングを算出することが可能である。ステップS18において、抽出されたメソッドの呼出タイミングと、アプリケーション作成ルールとから、アプリケーション作成ルールに適合しない呼出をしているアプリケーションを抽出する。ステップS19において、アプリケーションルール作成ルールに適合しない呼出をしているアプリケーションと、その呼び出しによって発生するパケットを集計し、集計結果をルール逸脱アプリケーションの発見の結果として出力する。 In the dynamic analysis stage, in step S15, the packet output by the application is captured from the mobile network. The packet may be captured in a capture server connected to the rule deviation application discovery device according to an embodiment of the present invention. In step S16, a packet that matches the packet generation order for each application is found from the capture result, and a packet for each application is extracted from the capture result. In step S17, the method call timing is extracted from the packet generation timing for each application as the extraction result. For example, it is possible to calculate the method invocation timing from the packet generation timing for each application by referring to the mapping file of the method created in preparation before the rule deviation application discovery and the corresponding packet characteristics. is there. In step S18, an application making a call that does not match the application creation rule is extracted from the extracted method call timing and the application creation rule. In step S19, the application making a call that does not conform to the application rule creation rule and the packets generated by the call are totaled, and the totaled result is output as the result of finding the rule deviation application.
図2は、本発明の実施例に係るルール逸脱アプリケーション発見装置100を含むシステムの全体構成を示す図である。
FIG. 2 is a diagram showing an overall configuration of a system including the rule deviation
ルール逸脱アプリケーション発見装置100は、スマートフォンアプリケーションの振る舞いのタイミングを考慮した、アプリケーション作成ルールに逸脱したアプリケーションを発見する装置である。ルール逸脱アプリケーション発見装置100は、プロセッサ等のCPU(Central Processing Unit)、RAM(Random Access Memory)やROM(Read Only Memory)等のメモリ装置、ハードディスク等の記憶装置等から構成されたコンピュータでもよい。例えば、以下に説明するルール逸脱アプリケーション発見装置100の各機能及び処理は、記憶装置又はメモリ装置に格納されているデータやプログラムをCPUが実行することによって実現される。
The rule deviation
ルール逸脱アプリケーション発見装置100は、図1を参照して説明したように、予め「各APIのメソッドとそれに対応するパケットの特徴とのマッピングファイル」と、「アプリケーション作成に関するルール」とを読み込んでおく。
As described with reference to FIG. 1, the rule deviation
また、図1の静的解析の段階で説明したように、ルール逸脱アプリケーション発見装置100は、予め発見対象のアプリケーションのバイナリファイルを読み込み、アプリケーションごとにパケット生成順序を作成しておく。
Further, as described in the static analysis stage of FIG. 1, the rule deviation
更に、図1の動的解析の段階で説明したように、ルール逸脱アプリケーション発見装置100は、キャプチャサーバ等からモバイルネットワークでのパケットキャプチャデータを入力することで、キャプチャデータに含まれるパケットの発生源であるアプリケーションごとに、ルールに違反しているトラフィックの量を集計し、集計結果を出力する。
Further, as described in the dynamic analysis stage of FIG. 1, the rule deviation
図3は、本発明の実施例に係るルール逸脱アプリケーション発見装置100の全体ブロック図である。
FIG. 3 is an overall block diagram of the rule deviation
ルール逸脱アプリケーション発見装置100は、事前処理部110と、ルール逸脱アプリケーション発見部120とから構成される。
The rule deviation
事前処理部110は静的解析を行う機能部であり、「各APIのメソッドとそれに対応するパケットの特徴とのマッピングファイル」と、アプリケーションのバイナリファイル(例えば、APKファイル)とを読み込み、アプリケーションごとのパケット生成順序を生成し、保存する。
The
ルール逸脱アプリケーション発見部120は動的解析を行う機能部であり、キャプチャサーバ等からキャプチャデータを読み込み、予め生成されているアプリケーションごとのパケット生成順序を読み込み、パケット生成順序と近い部分をキャプチャデータから発見し、発見された部分とアプリケーション作成に関するルールとを比較し、ルールから逸脱しているアプリケーションを発見し、発見された部分のトラフィック量を集計し、集計結果を出力する。
The rule deviation
図4は、事前処理部110の詳細な機能ブロック図である。
FIG. 4 is a detailed functional block diagram of the
事前処理部110は、マッピングファイル読み込み機能部111と、アプリケーションバイナリファイル読み込み機能部112と、ソースコード生成機能部113と、コールグラフ生成機能部114と、部分グラフ生成機能部115と、パケット生成順序生成機能部116とから構成される。
The
マッピングファイル読み込み機能部111は、予め作成された「各APIのメソッドとそれに対応するパケットの特徴とのマッピングファイル」を読み込む。
The mapping file
アプリケーションバイナリファイル読み込み機能部112は、アプリケーションのバイナリファイルを1つ読み込み、それをソースコード生成機能部113に渡す。例えば、バイナリファイルはAPKファイルなどのフォーマットでもよい。
The application binary file
バイナリファイルを取得したソースコード生成機能部113は、バイナリファイルをソースコードに変換し、変換後のソースコードをコールグラフ生成機能部114に渡す。例えば、ソースコード生成機能部113は、APKファイルをJARファイルに変換してもよい。
The source code
ソースコードを取得したコールグラフ生成機能部114は、ソースコードからコールグラフを生成し、生成後のコールグラフを部分グラフ生成機能部115に渡す。コールグラフは、メソッドの呼び出し関係を表現した有向グラフである。 The call graph generation function unit 114 that has acquired the source code generates a call graph from the source code, and passes the generated call graph to the partial graph generation function unit 115. The call graph is a directed graph that represents a method call relationship.
コールグラフを取得した部分グラフ生成機能部115は、コールグラフから通信関連メソッドのみの部分グラフを抽出し、抽出結果をパケット生成順序生成機能部116に渡す。コールグラフから抽出される通信関連メソッドは、「各APIのメソッドとそれに対応するパケットの特徴とのマッピングファイル」に含まれるメソッドである。
The partial graph generation function unit 115 that has acquired the call graph extracts a partial graph of only communication-related methods from the call graph, and passes the extraction result to the packet generation order
部分グラフを取得したパケット生成順序生成機能部116は、マッピングファイル読み込み機能部111で読み込まれたマッピングファイルを参照し、部分グラフからパケット生成順序を表すグラフ構造を生成し、出力する。部分グラフ生成機能部115により通信関連メソッドのみの部分グラフが生成されているため、パケット生成順序生成機能部116は、パケットの特徴をノードとした有向グラフにより、パケット生成順序を生成することができる。
The packet generation order
図5は、ルール逸脱アプリケーション発見部120の詳細な機能ブロック図である。
FIG. 5 is a detailed functional block diagram of the rule deviation
ルール逸脱アプリケーション発見部120は、パケット生成順序読み込み機能部121と、ルール読み込み機能部122と、キャプチャデータ読み込み機能部123と、アプリケーション関連パケット発見機能部124と、ルール逸脱判定機能部125と、ルール逸脱パケット集計出力機能部126とから構成される。
The rule deviation
パケット生成順序読み込み機能部121は、事前処理部110において作成された、アプリケーションごとのパケット生成順序を読み込む。
The packet generation order reading
ルール読み込み機能部122は、予め作成されたアプリケーション作成に関するルールを読み込む。
The rule
キャプチャデータ読み込み機能部123は、キャプチャサーバからキャプチャデータを読み込み、アプリケーション関連パケット発見機能部124に渡す。
The capture data reading
キャプチャデータを取得したアプリケーション関連パケット発見機能部124は、パケット生成順序読み込み機能部121で読み込んだパケット生成順序を参照して、キャプチャデータから、アプリケーションごとのパケットを抽出し、それをルール逸脱判定機能部125に渡す。アプリケーションごとのパケットを抽出する具体的な手順は、図6を参照して以下に説明する。
The application-related packet discovery function unit 124 that has acquired the capture data refers to the packet generation order read by the packet generation order reading
アプリケーションごとのパケットを取得したルール逸脱判定機能部125は、ルール読み込み機能部122で読み込んだアプリケーション作成に関するルールを参照して、ルールから逸脱しているパケットを発見し、それをルール逸脱パケット集計出力機能部126に渡す。例えば、ルール逸脱判定機能部125は、パケットの発生タイミングからメソッドの呼出タイミングを算出し、メソッドの呼出タイミングがルールに逸脱したパケットを発見する。
The rule deviation determination function unit 125 that has acquired the packet for each application refers to the rules related to the application creation read by the rule
ルール逸脱パケットを取得したルール逸脱パケット集計出力機能部126は、全てのルール逸脱パケットを取得し、アプリケーションごとにルールから逸脱しているパケットの量を集計し、出力する。
The rule deviation packet totaling
図6は、アプリケーション関連パケット発見機能部124においてアプリケーションごとにパケットを抽出する手順を示す概略図である。 FIG. 6 is a schematic diagram illustrating a procedure for extracting a packet for each application in the application-related packet discovery function unit 124.
ステップS21において、コールグラフから通信関連のメソッドの部分グラフを抽出する。これは、部分グラフ生成機能部115において抽出された部分グラフに相当する。 In step S21, a partial graph of communication-related methods is extracted from the call graph. This corresponds to the partial graph extracted by the partial graph generation function unit 115.
更に、ステップS22において、抽出された部分グラフからパケット生成順序のグラフを生成する。これは、パケット生成順序生成機能部116において生成されたパケット生成順序の有向グラフに相当する。このグラフの各ノードはパケットの特徴を示すサイズ、プロトコル、宛先IPアドレス、宛先ポート等となる。
In step S22, a packet generation order graph is generated from the extracted subgraph. This corresponds to the directed graph of the packet generation order generated by the packet generation order
そして、ステップS23において、アプリケーション関連パケット発見機能部124は、パケット生成順序のグラフをテンプレートとし、キャプチャデータの中から、これと距離の近い部分をテンプレートマッチングで発見する。 In step S23, the application-related packet discovery function unit 124 uses the packet generation order graph as a template, and finds a portion close to the distance from the captured data by template matching.
このようにすることで、本発明の実施例によれば、アプリケーションのソースコードからの静的解析と、アプリケーションの動作結果の動的解析との双方を用いて、アプリケーション作成ルールに逸脱した通信を行っているアプリケーションを発見することが可能になる。 In this way, according to the embodiment of the present invention, communication that deviates from the application creation rule can be performed using both static analysis from the source code of the application and dynamic analysis of the operation result of the application. It will be possible to discover the application you are doing.
その結果、モバイルネットワーク事業者等が、自身が提供するネットワークにおいてルールを逸脱した通信を行うアプリケーションを発見し、アプリケーション作成者に対して是正を促すことで、ルールを逸脱しているアプリケーションによるネットワークの輻輳を抑えることができる。 As a result, mobile network operators, etc. discover applications that perform communications that deviate from the rules in the networks that they provide, and encourage application creators to correct the network by applications that deviate from the rules. Congestion can be suppressed.
説明の便宜上、本発明の実施例に係るルール逸脱アプリケーション発見装置は機能的なブロック図を用いて説明しているが、本発明の実施例に係るルール逸脱アプリケーション発見装置は、ハードウェア、ソフトウェアまたはそれらの組み合わせで実現されてもよい。例えば、本発明の実施例は、コンピュータに対して本発明の実施例に係るルール逸脱アプリケーション発見装置の各機能を実現させるプログラム、コンピュータに対して本発明の実施例に係る方法の各手順を実行させるプログラム等により、実現されてもよい。また、各機能部が必要に応じて組み合わせて使用されてもよい。また、本発明の実施例に係る方法は、実施例に示す順序と異なる順序で実施されてもよい。 For convenience of explanation, the rule deviation application discovery device according to the embodiment of the present invention is described using a functional block diagram. However, the rule departure application discovery device according to the embodiment of the present invention may be hardware, software, or A combination thereof may be realized. For example, the embodiment of the present invention executes a program for realizing each function of the rule deviation application discovery apparatus according to the embodiment of the present invention on a computer, and executes each procedure of the method according to the embodiment of the present invention on the computer It may be realized by a program to be executed. In addition, the functional units may be used in combination as necessary. In addition, the method according to the embodiment of the present invention may be performed in an order different from the order shown in the embodiment.
以上、アプリケーションのソースコードからの静的解析と、アプリケーションの動作結果の動的解析との双方を用いて、アプリケーション作成ルールに逸脱した通信を行っているアプリケーションを発見するための手法について説明したが、本発明は、上記の実施例に限定されることなく、特許請求の範囲内において、種々の変更・応用が可能である。 As described above, the method for discovering applications that are communicating outside the application creation rules using both static analysis from the application source code and dynamic analysis of the application operation results has been described. The present invention is not limited to the above-described embodiments, and various modifications and applications are possible within the scope of the claims.
100 ルール逸脱アプリケーション発見装置
110 事前処理部
111 マッピングファイル読み込み機能部
112 アプリケーションバイナリファイル読み込み機能部
113 ソースコード生成機能部
114 コールグラフ生成機能部
115 部分グラフ生成機能部
116 パケット生成順序生成機能部
120 ルール逸脱アプリケーション発見部
121 パケット生成順序読み込み機能部
122 ルール読み込み機能部
123 キャプチャデータ読み込み機能部
124 アプリケーション関連パケット発見機能部
125 ルール逸脱判定機能部
126 ルール逸脱パケット集計出力機能部
100 Rule Deviation
Claims (6)
予め決められた通信関連メソッドと、当該通信関連メソッドを呼ぶことで発生したパケットの特徴とを関連付けたマッピングファイルを読み込み、発見対象のアプリケーションが生成するパケットの順序をパケットの特徴によって表したパケット生成順序を生成する事前処理部と、
前記発見対象のアプリケーションを含むアプリケーションが出力したパケットのキャプチャデータと、アプリケーションを作成する上でのガイドラインに従って記述されたアプリケーション作成ルールとを読み込み、前記パケット生成順序に基づいて、前記キャプチャデータから前記発見対象のアプリケーションのパケットを抽出し、前記アプリケーション作成ルールから逸脱しているパケットを発見するルール逸脱アプリケーション発見部と、
を有するルール逸脱アプリケーション発見装置。 A rule-deviation application discovery device that discovers applications that violate guidelines for creating applications,
A packet generation that reads a mapping file that associates a predetermined communication-related method with the characteristics of the packet generated by calling the communication-related method, and expresses the order of packets generated by the discovery target application using the packet characteristics A pre-processing unit for generating an order;
The packet capture data output by the application including the discovery target application and the application creation rules described in accordance with the guidelines for creating the application are read, and the discovery is performed from the capture data based on the packet generation order. A rule deviation application discovery unit for extracting a packet of a target application and finding a packet deviating from the application creation rule;
A rule deviation application discovery device having:
前記マッピングファイルを読み込むマッピングファイル読み込み機能部と、
前記発見対象のアプリケーションのバイナリファイルを読み込むアプリケーションバイナリファイル読み込み機能部と、
前記バイナリファイルからソースコードを生成するソースコード生成機能部と、
前記ソースコードからコールグラフを生成するコールグラフ生成機能部と、
前記コールグラフから、前記予め決められた通信関連メソッドに含まれるメソッドのみからなる部分グラフを生成する部分グラフ生成機能部と、
前記マッピングファイルに基づいて、前記部分グラフから前記発見対象のアプリケーションのパケット生成順序を生成するパケット生成順序生成機能部と、
を有する、請求項1に記載のルール逸脱アプリケーション発見装置。 The preprocessing unit includes:
A mapping file reading function unit for reading the mapping file;
An application binary file reading function unit that reads a binary file of the application to be discovered;
A source code generation function unit for generating source code from the binary file;
A call graph generation function for generating a call graph from the source code;
A partial graph generation function unit that generates a partial graph consisting only of methods included in the predetermined communication-related method from the call graph;
A packet generation order generation function unit that generates a packet generation order of the application to be discovered from the subgraph based on the mapping file;
The rule deviation application discovery device according to claim 1, comprising:
前記キャプチャデータを読み込むキャプチャデータ読み込み機能部と、
前記パケット生成順序に基づいて、前記キャプチャデータから前記発見対象のアプリケーションのパケットを抽出するアプリケーション関連パケット発見機能部と、
前記アプリケーション作成ルールを読み込むルール読み込み機能部と、
前記キャプチャデータから抽出されたパケットの中で前記アプリケーション作成ルールから逸脱しているパケットを発見するルール逸脱判定機能部と、
前記アプリケーション作成ルールから逸脱しているパケットを集計するルール逸脱パケット集計出力機能部と、
を有する、請求項1又は2に記載のルール逸脱アプリケーション発見装置。 The rule deviation application discovery unit
A capture data reading function unit for reading the capture data;
An application-related packet discovery function unit that extracts a packet of the discovery target application from the capture data based on the packet generation order;
A rule reading function unit for reading the application creation rule;
A rule deviation determination function unit for finding a packet deviating from the application creation rule among the packets extracted from the capture data;
A rule deviation packet aggregation output function unit for aggregating packets deviating from the application creation rules;
The rule deviation application discovery device according to claim 1, comprising:
予め決められた通信関連メソッドを呼ぶことで発生したパケットをキャプチャし、当該通信関連メソッドと、キャプチャしたパケットの特徴とを関連付けたマッピングファイルを生成するマッピングファイル生成装置と、
アプリケーションが出力したパケットのキャプチャデータを生成するキャプチャサーバと、
を有するルール逸脱アプリケーション発見システムであって、
前記ルール逸脱アプリケーション発見装置は、
前記マッピングファイルを読み込み、発見対象のアプリケーションが生成するパケットの順序をパケットの特徴によって表したパケット生成順序を生成する事前処理部と、
前記キャプチャデータと、アプリケーションを作成する上でのガイドラインに従って記述されたアプリケーション作成ルールとを読み込み、前記パケット生成順序に基づいて、前記キャプチャデータから前記発見対象のアプリケーションのパケットを抽出し、前記アプリケーション作成ルールから逸脱しているパケットを発見するルール逸脱アプリケーション発見部と、
を有するルール逸脱アプリケーション発見システム。 A rule deviation application discovery device for finding an application that violates the guidelines for creating an application;
A mapping file generating device that captures a packet generated by calling a predetermined communication-related method, and generates a mapping file that associates the communication-related method with the characteristics of the captured packet;
A capture server that generates capture data for packets output by the application;
A rule deviation application discovery system comprising:
The rule deviation application discovery device includes:
A pre-processing unit that reads the mapping file and generates a packet generation order that represents the order of packets generated by the discovery target application by the characteristics of the packet;
Reading the capture data and application creation rules described in accordance with guidelines for creating an application, extracting packets of the discovery target application from the capture data based on the packet generation order, and creating the application A rule deviation application detection unit for detecting a packet deviating from the rule;
A rule deviation application discovery system comprising:
予め決められた通信関連メソッドと、当該通信関連メソッドを呼ぶことで発生したパケットの特徴とを関連付けたマッピングファイルを読み込み、発見対象のアプリケーションが生成するパケットの順序をパケットの特徴によって表したパケット生成順序を生成するステップと、
前記発見対象のアプリケーションを含むアプリケーションが出力したパケットのキャプチャデータと、アプリケーションを作成する上でのガイドラインに従って記述されたアプリケーション作成ルールとを読み込み、前記パケット生成順序に基づいて、前記キャプチャデータから前記発見対象のアプリケーションのパケットを抽出し、前記アプリケーション作成ルールから逸脱しているパケットを発見するステップと、
を有するルール逸脱アプリケーション発見方法。 A rule deviation application discovery method in a rule deviation application discovery device for discovering an application that violates a guideline for creating an application,
A packet generation that reads a mapping file that associates a predetermined communication-related method with the characteristics of the packet generated by calling the communication-related method, and expresses the order of packets generated by the discovery target application using the packet characteristics Generating a sequence;
The packet capture data output by the application including the discovery target application and the application creation rules described in accordance with the guidelines for creating the application are read, and the discovery is performed from the capture data based on the packet generation order. Extracting a packet of a target application and finding a packet deviating from the application creation rule;
A rule deviation application discovery method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014214139A JP6280018B2 (en) | 2014-10-21 | 2014-10-21 | Rule deviation application discovery apparatus, rule deviation application discovery system, and rule deviation application discovery method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014214139A JP6280018B2 (en) | 2014-10-21 | 2014-10-21 | Rule deviation application discovery apparatus, rule deviation application discovery system, and rule deviation application discovery method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016081400A JP2016081400A (en) | 2016-05-16 |
JP6280018B2 true JP6280018B2 (en) | 2018-02-14 |
Family
ID=55958739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014214139A Active JP6280018B2 (en) | 2014-10-21 | 2014-10-21 | Rule deviation application discovery apparatus, rule deviation application discovery system, and rule deviation application discovery method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6280018B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109636317B (en) * | 2018-11-23 | 2023-06-30 | 山东中创软件工程股份有限公司 | Service control method, device, system and storage medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4257096B2 (en) * | 2002-10-21 | 2009-04-22 | 株式会社日立製作所 | Static analysis device for source program |
JP4100638B2 (en) * | 2006-04-03 | 2008-06-11 | 株式会社インテリジェントワークス | Server operation information acquisition apparatus, method, and computer program |
JP5613000B2 (en) * | 2010-10-08 | 2014-10-22 | Kddi株式会社 | Application characteristic analysis apparatus and program |
JP2013030017A (en) * | 2011-07-28 | 2013-02-07 | Fujitsu Ltd | Method, device, and program for generating test program |
-
2014
- 2014-10-21 JP JP2014214139A patent/JP6280018B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016081400A (en) | 2016-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110275831B (en) | Mock data verification method and device of protocol interface | |
JP6740379B2 (en) | Botmaster discovery system and method | |
KR20170060280A (en) | Apparatus and method for automatically generating rules for malware detection | |
US11019096B2 (en) | Combining apparatus, combining method, and combining program | |
CN108076017B (en) | Protocol analysis method and device for data packet | |
JP6491356B2 (en) | Classification method, classification device, and classification program | |
JP6557334B2 (en) | Access classification device, access classification method, and access classification program | |
US11159560B1 (en) | Identifying network applications using images generated from payload data and time data | |
JP2016091549A (en) | Systems, devices, and methods for separating malware and background events | |
KR101859562B1 (en) | Method and Apparatus for Analyzing Vulnerability Information | |
KR102280845B1 (en) | Method and apparatus for detecting abnormal behavior in network | |
CN113595967A (en) | Data identification method, equipment, storage medium and device | |
CN113518042A (en) | Data processing method, device, equipment and storage medium | |
JP6280018B2 (en) | Rule deviation application discovery apparatus, rule deviation application discovery system, and rule deviation application discovery method | |
WO2020019524A1 (en) | Data processing method and device | |
CN106919844B (en) | A kind of android system vulnerability of application program detection method | |
CN111030978B (en) | Malicious data acquisition method and device based on block chain and storage device | |
JP2019082746A (en) | Abnormal log detection apparatus, method and program for detecting abnormal log | |
US11496502B2 (en) | Method and apparatus for generating attack string | |
KR102346751B1 (en) | Method and apparatus for generating malicious traffic using malicious file | |
KR101596603B1 (en) | Apparatus and method for creating signature using network packet flow sequence | |
EP2564558A1 (en) | Method and arrangement for message analysis | |
JP2015212877A (en) | Log management method, log management system, log management device, and log management program | |
JP6676790B2 (en) | Request control device, request control method, and request control program | |
CN116881915B (en) | File detection method, electronic device and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170307 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171228 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180116 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180118 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6280018 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |