JP6412849B2 - Communication feature extraction device, packet classification device, communication feature extraction method, packet classification method, and program - Google Patents

Communication feature extraction device, packet classification device, communication feature extraction method, packet classification method, and program Download PDF

Info

Publication number
JP6412849B2
JP6412849B2 JP2015230612A JP2015230612A JP6412849B2 JP 6412849 B2 JP6412849 B2 JP 6412849B2 JP 2015230612 A JP2015230612 A JP 2015230612A JP 2015230612 A JP2015230612 A JP 2015230612A JP 6412849 B2 JP6412849 B2 JP 6412849B2
Authority
JP
Japan
Prior art keywords
communication
program
feature extraction
source code
packet
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
Application number
JP2015230612A
Other languages
Japanese (ja)
Other versions
JP2017097700A (en
Inventor
中野 雄介
雄介 中野
上山 憲昭
憲昭 上山
塩本 公平
公平 塩本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015230612A priority Critical patent/JP6412849B2/en
Publication of JP2017097700A publication Critical patent/JP2017097700A/en
Application granted granted Critical
Publication of JP6412849B2 publication Critical patent/JP6412849B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、通信特徴抽出装置、パケット分類装置、通信特徴抽出方法、パケット分類方法、及びプログラムに関する。   The present invention relates to a communication feature extraction device, a packet classification device, a communication feature extraction method, a packet classification method, and a program.

従来、モバイルネットワーク事業者が,自身のネットワークを流れるパケットをアプリケーションごとに分離するための特徴を抽出するための技術が検討されている。例えば、非特許文献1では、スマートフォンアプリケーションに含まれる広告のリクエストに付随するIDなどの特徴的な文字列を通信の特徴として、ネットワーク内でどのようなアプリケーションが動作しているかをパケットキャプチャ結果から抽出する手法が提案されている(以下、「従来技術A」という。)。   2. Description of the Related Art Conventionally, techniques for extracting characteristics for allowing mobile network operators to separate packets flowing through their networks for each application have been studied. For example, in Non-Patent Document 1, a characteristic character string such as an ID accompanying an advertisement request included in a smartphone application is used as a communication feature to determine what application is operating in the network from the packet capture result. A method of extracting has been proposed (hereinafter referred to as “Prior Art A”).

また、スマートフォン内でアプリケーション毎に分類してパケットをキャプチャするアプリケーションが公開されており、これを用いることで、アプリケーションごとのパケットの宛先IPアドレスを特定できる。このようにして収集された宛先IPアドレスを用いることで、ネットワーク内でキャプチャされたパケットをアプリケーションごとに分類することができる(以下、「従来技術B」という。)。   In addition, an application that categorizes and captures packets for each application in the smartphone is disclosed. By using this, the destination IP address of the packet for each application can be specified. By using the destination IP addresses collected in this way, packets captured in the network can be classified for each application (hereinafter referred to as “conventional technology B”).

Shuaifu Dai, Alok Tongaonkar, Xiaoyin Wang, Antonio Nucci, and Dawn Song,"NetworkProfiler: Towards Automatic Fingerprinting of Android Apps," 2013 Proceedings IEEE INFOCOM.Shuaifu Dai, Alok Tongaonkar, Xiaoyin Wang, Antonio Nucci, and Dawn Song, "NetworkProfiler: Towards Automatic Fingerprinting of Android Apps," 2013 Proceedings IEEE INFOCOM.

しかしながら、従来技術Aは、アプリケーションの動作の有無を特定するための技術であり、複数のアプリケーションから送信されるパケットが混在するパケットキャプチャ結果をアプリケーションごとに分類するための特徴を抽出することはできない。   However, the conventional technique A is a technique for specifying the presence / absence of an application operation, and it is not possible to extract a feature for classifying a packet capture result in which packets transmitted from a plurality of applications are mixed for each application. .

また、従来技術Bでは、複数のアプリケーションが共通のサーバと通信する場合、宛先のサーバのIPアドレスに基づいてパケットキャプチャ結果をアプリケーションごとに分類するのは困難である。   Further, in the conventional technique B, when a plurality of applications communicate with a common server, it is difficult to classify the packet capture results for each application based on the IP address of the destination server.

本発明は、上記の点に鑑みてなされたものであって、パケットキャプチャ結果をアプリケーションごとに分類可能とすることを目的とする。   The present invention has been made in view of the above points, and an object of the present invention is to enable packet capture results to be classified for each application.

そこで上記課題を解決するため、通信特徴抽出装置は、プログラムのソースコードから通信関連のメソッドの呼び出し順序を抽出する抽出部と、前記メソッドのそれぞれの引数に対する設定値を前記ソースコードから抽出し、抽出された設定値を前記呼び出し順序に基づいて配列した特徴情報を生成する生成部と、を有する。   Therefore, in order to solve the above problem, the communication feature extraction device extracts from the source code the extraction unit that extracts the calling order of communication-related methods from the source code of the program, and the setting value for each argument of the method, And a generation unit that generates feature information in which the extracted setting values are arranged based on the calling order.

パケットキャプチャ結果をアプリケーションごとに分類可能とすることができる。   The packet capture result can be classified for each application.

本発明の実施の形態における特徴抽出装置の概要を説明するための図である。It is a figure for demonstrating the outline | summary of the feature extraction apparatus in embodiment of this invention. 本発明の実施の形態における特徴抽出装置のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the feature extraction apparatus in embodiment of this invention. 本発明の実施の形態における特徴抽出装置の機能構成例を示す図である。It is a figure which shows the function structural example of the feature extraction apparatus in embodiment of this invention. 特徴情報の抽出処理の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the extraction process of feature information. 呼び出し順序グラフの生成方法の一例を説明するための図である。It is a figure for demonstrating an example of the production | generation method of a call order graph. 前後関係が特定される記述の第1の例を示す図である。It is a figure which shows the 1st example of the description by which a context is specified. 前後関係が特定される記述の第2の例を示す図である。It is a figure which shows the 2nd example of the description by which a context is specified. 前後関係が特定される記述の第3の例を示す図である。It is a figure which shows the 3rd example of the description by which a context is specified. 前後関係が特定される記述の第4の例を示す図である。It is a figure which shows the 4th example of the description by which a context is specified. 部分グラフの生成方法の一例を説明するための図である。It is a figure for demonstrating an example of the production | generation method of a partial graph. 部分グラフへの通信内容の反映方法の一例を示す図である。It is a figure which shows an example of the reflection method of the communication content to a partial graph. 特徴情報に基づくパケットの分類方法を説明するための図である。It is a figure for demonstrating the classification method of the packet based on feature information. 類似度の算出方法の一例を示す図である。It is a figure which shows an example of the calculation method of a similarity degree. 類似度の算出結果の一例を示す図である。It is a figure which shows an example of the calculation result of similarity. 類似度の組み合わせの一例を示す図である。It is a figure which shows an example of the combination of similarity. 従来技術Aと本実施の形態との比較を説明するための図である。It is a figure for demonstrating the comparison with the prior art A and this Embodiment. 従来技術Bと本実施の形態との比較を説明するための図である。It is a figure for demonstrating the comparison with the prior art B and this Embodiment.

以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における特徴抽出装置の概要を説明するための図である。図1に示されるように、特徴抽出装置10は、アプリα、アプリβ等のアプリケーションのバイナリファイルを解析して、アプリα、アプリβ等のアプリケーションごとに、それぞれの通信の特徴(通信の内容と、それらの順番)とを抽出することで、各アプリケーションの通信の特徴を示す情報(以下、「特徴情報」という。)を生成する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram for explaining an outline of a feature extraction apparatus according to an embodiment of the present invention. As shown in FIG. 1, the feature extraction apparatus 10 analyzes a binary file of an application such as the application α and the application β, and each communication feature (content of communication) for each application such as the application α and the application β. And their order), information indicating the characteristics of communication of each application (hereinafter referred to as “feature information”) is generated.

図2は、本発明の実施の形態における特徴抽出装置のハードウェア構成例を示す図である。図2の特徴抽出装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。   FIG. 2 is a diagram illustrating a hardware configuration example of the feature extraction device according to the embodiment of the present invention. 2 includes a drive device 100, an auxiliary storage device 102, a memory device 103, a CPU 104, an interface device 105, and the like that are mutually connected by a bus B.

特徴抽出装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。   A program that realizes processing in the feature extraction apparatus 10 is provided by a recording medium 101 such as a CD-ROM. When the recording medium 101 storing the program is set in the drive device 100, the program is installed from the recording medium 101 to the auxiliary storage device 102 via the drive device 100. However, the program need not be installed from the recording medium 101 and may be downloaded from another computer via a network. The auxiliary storage device 102 stores the installed program and also stores necessary files and data.

メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って特徴抽出装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。   The memory device 103 reads the program from the auxiliary storage device 102 and stores it when there is an instruction to start the program. The CPU 104 executes a function related to the feature extraction device 10 according to a program stored in the memory device 103. The interface device 105 is used as an interface for connecting to a network.

なお、特徴抽出装置10は、例えば、図2に示されハードウェアを有する複数のコンピュータによって実現されてもよい。   Note that the feature extraction apparatus 10 may be realized by, for example, a plurality of computers shown in FIG. 2 and having hardware.

図3は、本発明の実施の形態における特徴抽出装置の機能構成例を示す図である。図3において、特徴抽出装置10は、バイナリファイル読込部11、ソースコード生成部12、順序情報生成部13、部分グラフ生成部14、通信内容反映部15、及びパケット分類部16等を有する。これら各部は、特徴抽出装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。特徴抽出装置10は、また、通信関連メソッド一覧記憶部17及び特徴情報記憶部18等を利用する。これら各記憶部は、例えば、補助記憶装置102、又は特徴抽出装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。   FIG. 3 is a diagram illustrating a functional configuration example of the feature extraction device according to the embodiment of the present invention. 3, the feature extraction apparatus 10 includes a binary file reading unit 11, a source code generation unit 12, an order information generation unit 13, a partial graph generation unit 14, a communication content reflection unit 15, a packet classification unit 16, and the like. Each of these units is realized by processing that one or more programs installed in the feature extraction apparatus 10 cause the CPU 104 to execute. The feature extraction apparatus 10 also uses a communication-related method list storage unit 17, a feature information storage unit 18, and the like. Each of these storage units can be realized by using, for example, a storage device that can be connected to the auxiliary storage device 102 or the feature extraction device 10 via a network.

バイナリファイル読込部11は、解析対象のアプリケーションのバイナリファイルを読み込む。本実施の形態において、アプリケーションは、Android(登録商標)アプリケーションであるとする。したがって、バイナリファイル読込部11は、APKファイルを読み込む。   The binary file reading unit 11 reads a binary file of an analysis target application. In the present embodiment, it is assumed that the application is an Android (registered trademark) application. Therefore, the binary file reading unit 11 reads the APK file.

ソースコード生成部12は、バイナリファイル読込部11によって読み込まれたAPKファイルからソースコードを生成する。   The source code generation unit 12 generates source code from the APK file read by the binary file reading unit 11.

順序情報生成部13は、ソースコード生成部12によって生成されたソースコードにおいて呼び出されているメソッドの呼び出し順序の前後関係を示す情報を生成する。当該情報として、メソッドの呼び出し順序を表すグラフ(以下、「呼び出し順序グラフ」という。)が生成される。   The order information generation unit 13 generates information indicating the order of the calling order of methods called in the source code generated by the source code generation unit 12. As the information, a graph representing the method call order (hereinafter referred to as “call order graph”) is generated.

部分グラフ生成部14は、呼び出し順序グラフから、通信に関連するメソッド(以下、「通信関連メソッド」という。)に関する部分を抽出した部分グラフを生成する。各メソッドが通信関連メソッドに該当するか否かは、通信関連メソッド一覧記憶部17を参照して判定可能である。通信関連メソッド一覧記憶部17には、通信関連メソッドのメソッド名の一覧が記憶されている。   The subgraph generation unit 14 generates a subgraph obtained by extracting a portion related to a method related to communication (hereinafter referred to as “communication related method”) from the call order graph. Whether each method corresponds to a communication-related method can be determined with reference to the communication-related method list storage unit 17. The communication-related method list storage unit 17 stores a list of method names of communication-related methods.

通信内容反映部15は、部分グラフに含まれる通信関連メソッドの引数に対する設定値をソースコードから抽出し、当該設定値を通信の内容として、部分グラフに反映することで、解析対象のアプリケーションの通信の内容と通信の順序を表すグラフ構造を特徴情報として生成する。したがって、特徴情報は、通信関連メソッドの引数に対する設定値が、通信関連メソッドの呼び出し順序に基づいて配列された情報である。通信内容反映部15は、生成した特徴情報を、特徴情報記憶部18に記憶する。   The communication content reflecting unit 15 extracts a setting value for an argument of a communication-related method included in the partial graph from the source code, and reflects the setting value as a communication content in the partial graph, whereby communication of the analysis target application is performed. And a graph structure representing the communication order as feature information. Therefore, the feature information is information in which setting values for arguments of communication-related methods are arranged based on the calling order of communication-related methods. The communication content reflecting unit 15 stores the generated feature information in the feature information storage unit 18.

パケット分類部16は、特徴情報記憶部18に記憶された特徴情報に基づいて、パケットのキャプチャ結果を分類する。   The packet classification unit 16 classifies the packet capture results based on the feature information stored in the feature information storage unit 18.

以下、特徴抽出装置10が実行する処理手順について説明する。図4は、特徴情報の抽出処理の一例を説明するためのフローチャートである。   Hereinafter, a processing procedure executed by the feature extraction apparatus 10 will be described. FIG. 4 is a flowchart for explaining an example of the feature information extraction process.

ステップS101において、バイナリファイル読込部11は、解析対象のアプリケーション(以下、「対象アプリ」という。)のバイナリファイルを読み込む。対象アプリのバイナリアプリは、例えば、GooglePlay(登録商標)等からダウンロードされてもよい。   In step S <b> 101, the binary file reading unit 11 reads a binary file of an analysis target application (hereinafter referred to as “target application”). For example, the binary application of the target application may be downloaded from Google Play (registered trademark) or the like.

続いて、ソースコード生成部12は、対象アプリのバイナリファイルに基づいて、対象アプリのソースコードを生成する(ステップS102)。ソースコードの生成は、例えば、リバースエンジニアリングを用いて行われてもよい。リバースエンジニアリングには、Soot(http://sable.github.io/soot/)のような解析ツールが利用されてもよい。なお、当初から対象アプリのソースコードを入手可能であれば、ステップS101において、当該ソースコードが取得されてもよい。この場合、ステップS102は実行されなくてよい。   Subsequently, the source code generation unit 12 generates the source code of the target application based on the binary file of the target application (step S102). The generation of the source code may be performed using reverse engineering, for example. For reverse engineering, an analysis tool such as Soot (http://sable.github.io/soot/) may be used. If the source code of the target application can be obtained from the beginning, the source code may be acquired in step S101. In this case, step S102 does not have to be executed.

続いて、順序情報生成部13は、対象アプリのソースコードからメソッドを抽出し、抽出されたメソッドの呼び出し順序を示す呼び出し順序グラフを生成する(ステップS103)。   Subsequently, the order information generation unit 13 extracts a method from the source code of the target application, and generates a call order graph indicating the call order of the extracted method (step S103).

図5は、呼び出し順序グラフの生成方法の一例を説明するための図である。図5には、対象アプリを構成するクラスA(Class A)のソースコードを表現する矩形が示されている。順序情報生成部13は、ソースコードの先頭から順に、各記述(各行)を読み込み、メソッド内に別のメソッドの呼び出し等、メソッド間の前後関係が分かる記述を発見又は検出すると、当該記述に係る2つのメソッド間の前後関係を、呼び出し順序グラフG1として記録する。   FIG. 5 is a diagram for explaining an example of a method for generating a call order graph. FIG. 5 shows a rectangle representing the source code of class A (Class A) constituting the target application. When the order information generation unit 13 reads each description (each line) in order from the top of the source code and finds or detects a description in which the context between the methods is known, such as calling another method, the order information generation unit 13 relates to the description. The context between the two methods is recorded as a call order graph G1.

図5に示されるように、呼び出し順序グラフG1は、呼び出し順の前後関係を構成する2つのメソッドごとにレコードを含む。各レコードは、「前」及び「後」の項目を含む。「前」には、前後関係において前に位置するメソッドのメソッド名が記録される。「後」には、前後関係において後に位置するメソッドのメソッド名が記録される。   As shown in FIG. 5, the call order graph G1 includes a record for each of the two methods constituting the context of the call order. Each record includes items “before” and “after”. In “Previous”, a method name of a method positioned in front in the context is recorded. In “after”, a method name of a method positioned later in the context is recorded.

図6は、前後関係が特定される記述の第1の例を示す図である。図6は、2つのメソッド間に明確な呼び出し関係が有る場合を示す。図6に示されるように、メソッドa内からメソッドbを呼び出している場合、a→bのメソッド間の前後関係が特定される。   FIG. 6 is a diagram illustrating a first example of a description in which the context is specified. FIG. 6 shows a case where there is a clear call relationship between two methods. As shown in FIG. 6, when calling method b from within method a, the context between methods a → b is specified.

図7は、前後関係が特定される記述の第2の例を示す図である。図7は、Intentを使った呼び出し関係が有る場合を示す。Android(登録商標)では、Intentを用いてActivity(画面)の遷移が行われるため、Intentが使われている箇所を発見し、Intentの引数に設定されているクラス名から、次のクラスのメソッドを特定することができる。図7では、次のクラスのメソッドとしてClass BのメソッドonCreateが特定され、a→onCreateの前後関係が特定された例が示されている。なお、IntentでActivityが指定されている場合、次のメソッドはonCreateとなることは予め決まっている。   FIG. 7 is a diagram illustrating a second example of the description in which the context is specified. FIG. 7 shows a case where there is a calling relationship using Intent. In Android (registered trademark), since the transition of Activity (screen) is performed using Intent, the location where Intent is used is found, and the method of the next class is determined from the class name set in the Intent argument. Can be specified. FIG. 7 shows an example in which the class B method onCreate is specified as the method of the next class, and the context of a → onCreate is specified. Note that when Activity is specified in Intent, it is predetermined that the next method is onCreate.

図8は、前後関係が特定される記述の第3の例を示す図である。図8は、ActivityやAsyncTask等、ライフサイクルが指定されている場合を示す。すなわち、Android(登録商標)では、ActivityやAsyncTaskを継承したクラス内のメソッドは、予め決まった実行順序で呼び出されるため(例えば、onCreate→onStart等)、その順序で前後関係を特定することができる。   FIG. 8 is a diagram illustrating a third example of the description in which the context is specified. FIG. 8 shows a case where a life cycle is designated, such as Activity or AsyncTask. That is, in Android (registered trademark), methods in classes that inherit Activity and AsyncTask are called in a predetermined execution order (for example, onCreate → onStart, etc.), so the context can be specified in that order. .

図9は、前後関係が特定される記述の第4の例を示す図である。図9は、イベントリスナが有る場合を示す。ユーザの操作などをきっかけに実行されるメソッドが指定されている場合、イベントとの紐付けが行われるメソッドと、イベントの発生によって実行されるメソッドとの間に前後関係が有るため、setOn***Listener→on***のメソッド間の前後関係を特定することができる。なお、「***」には、実際には「Click」等のイベント名が入る。   FIG. 9 is a diagram illustrating a fourth example of the description in which the context is specified. FIG. 9 shows a case where there is an event listener. When a method that is executed in response to a user operation or the like is specified, since there is a context between the method that is associated with the event and the method that is executed when the event occurs, setOn ** It is possible to specify the context between the methods of * Listener → on ***. Note that “***” is actually an event name such as “Click”.

続いて、部分グラフ生成部14は、呼び出し順序グラフG1から通信関連メソッドの呼び出し順序を抽出して、通信関連メソッドの呼び出し順序を示す部分グラフを生成する(ステップS104)。   Subsequently, the partial graph generation unit 14 extracts the communication related method call order from the call order graph G1, and generates a partial graph indicating the communication related method call order (step S104).

図10は、部分グラフの生成方法の一例を説明するための図である。まず、部分グラフ生成部14は、呼び出し順序グラフG1において、先頭のメソッドを特定する。先頭のメソッドは、呼び出し順序グラフG1のいずれのレコードにおいても、「次」の項目にそのメソッド名が記録されていない「前」の項目のメソッドである。図10では、2番目のレコードの「前」のメソッドが先頭のメソッドとして特定された例が示されている。   FIG. 10 is a diagram for explaining an example of a method of generating a partial graph. First, the partial graph generation unit 14 specifies the first method in the call order graph G1. The first method is the method of the “previous” item in which the method name is not recorded in the “next” item in any record of the call order graph G1. FIG. 10 shows an example in which the “previous” method of the second record is specified as the first method.

続いて、部分グラフ生成部14は、先頭メソッドを起点として、呼び出し順序グラフG1を順方向に辿る。すなわち、先頭メソッドのレコードの「次」のメソッドを特定し、当該メソッドを「前」に含むレコードを特定し、当該レコードの「次」メソッドを特定し、といったように、メソッドが呼び出し順に辿られる。図10では、辿られる順序が破線によって示されている。部分グラフ生成部14は、呼び出し順にメソッドを辿る過程において、辿られた順に、各メソッドのメソッド名を、通信関連メソッド一覧記憶部17に記憶されている通信関連メソッド一覧L1と照合して、当該メソッドが通信関連メソッドであるか否かを判定する。当該メソッドが通信関連メソッドであれば、当該メソッドを、部分グラフG2の末尾に追加する。   Subsequently, the partial graph generation unit 14 traces the call order graph G1 in the forward direction, starting from the head method. That is, the “next” method of the first method record is specified, the record that includes the method in “previous” is specified, the “next” method of the record is specified, and the methods are traced in the order of calling. . In FIG. 10, the order in which they are traced is indicated by broken lines. In the process of tracing the methods in the calling order, the subgraph generating unit 14 compares the method names of the respective methods with the communication related method list L1 stored in the communication related method list storage unit 17 in the traced order. Determine whether the method is a communication-related method. If the method is a communication-related method, the method is added to the end of the subgraph G2.

なお、分岐が有る場合は、分岐の一方の順序を辿り、当該一方の順序において末尾のメソッドに到達したら、当該分岐に戻って他方の順序を辿る。ここでの「分岐」は、1つのメソッドの後に複数のメソッドが呼び出されている状況をいう。分岐において、部分グラフ生成部14は、ソースコード内での出現順に分岐先を辿る。図10では、Class B Method bにおいて、Class B Method bbが先に出現する例が示されている。   When there is a branch, the order of one of the branches is followed, and when the last method is reached in the one order, the process returns to the branch and follows the other order. Here, “branch” refers to a situation where a plurality of methods are called after one method. In branching, the subgraph generation unit 14 traces branch destinations in the order of appearance in the source code. FIG. 10 shows an example in which Class B Method bb appears first in Class B Method b.

続いて、通信内容反映部15は、部分グラフG2に含まれるメソッドの引数の設定値をソースコードから特定し、当該設定値を通信内容として部分グラフG2に反映することで、対象アプリの通信内容と通信の順序を表す特徴情報を生成する(ステップS105)。   Subsequently, the communication content reflecting unit 15 identifies the setting value of the argument of the method included in the partial graph G2 from the source code, and reflects the setting value as the communication content in the partial graph G2, thereby allowing the communication content of the target application to be reflected. And feature information representing the communication order is generated (step S105).

図11は、部分グラフへの通信内容の反映方法の一例を示す図である。図11では、図10の部分グラフG2において先頭のメソッドであるメソッドm1についての通信内容の反映方法が示されている。   FIG. 11 is a diagram illustrating an example of a method of reflecting the communication content on the partial graph. FIG. 11 shows a method of reflecting the communication contents for the method m1 that is the first method in the subgraph G2 of FIG.

通信内容反映部15は、まず、呼び出し順序グラフG1において、メソッドm1が「次」であるレコードを特定し、当該レコードの「前」のメソッドを特定する(S105−1〜S105−3)。すなわち、メソッドm1の呼び出し元の箇所に該当する記述d1が特定される。続いて、通信内容反映部15は、記述d1において、メソッドm1の引数に設定されている値を特定する(S105−4)。引数が変数である場合には、変数への代入元(代入箇所)を具体的な値が特定されるまで辿ることで、当該引数の値が特定される。但し、代入されている値がソースコード内に文字列として定義されている場合等、具体的な値が特定できる範囲で特定が行われればよい。例えば、ファイルから読み込まれた文字列が代入される場合や、動的に文字列が生成される場合等のように、引数が複雑な処理によって決まる場合には、引数の値は特定されなくてもよい。   First, the communication content reflecting unit 15 identifies a record in which the method m1 is “next” in the call order graph G1, and identifies a “previous” method of the record (S105-1 to S105-3). That is, the description d1 corresponding to the caller location of the method m1 is specified. Subsequently, the communication content reflection unit 15 specifies a value set in the argument of the method m1 in the description d1 (S105-4). When the argument is a variable, the value of the argument is specified by tracing the assignment source (assignment location) to the variable until a specific value is specified. However, when the assigned value is defined as a character string in the source code, it is only necessary to specify within a range where a specific value can be specified. For example, when the argument is determined by complicated processing, such as when a character string read from a file is substituted or when a character string is dynamically generated, the value of the argument is not specified. Also good.

図11の例では、記述d1において、bメソッドに対する引数は、変数uである。変数uの代入元を辿ると、変数uの値は、「User-Agent: abc"」という文字列であることが特定される。   In the example of FIG. 11, in the description d1, the argument for the b method is a variable u. When the assignment source of the variable u is traced, it is specified that the value of the variable u is a character string “User-Agent: abc” ”.

通信内容反映部15は、メソッドm1の引数について特定された値を、部分グラフG2において、メソッドm1の位置(ノード)に適用(反映)する(S105−5)。   The communication content reflecting unit 15 applies (reflects) the value specified for the argument of the method m1 to the position (node) of the method m1 in the subgraph G2 (S105-5).

なお、図11では、部分グラフG2のそれぞれの通信関連メソッドが、それぞれの引数の値によって置換された部分グラフが、特徴情報G2'として示されている。特徴情報G2'が、対象アプリによる通信の特徴(各通信の内容と、それらの順番)を示す情報である。特徴情報G2'は、対象アプリの識別情報に関連付けられて特徴情報記憶部18に記憶される。   In FIG. 11, a partial graph obtained by replacing each communication-related method of the partial graph G2 with the value of each argument is shown as feature information G2 ′. The characteristic information G2 ′ is information indicating the characteristics of communication by the target application (contents of each communication and their order). The feature information G2 ′ is stored in the feature information storage unit 18 in association with the identification information of the target application.

次に、特徴情報G2'を用いた、パケットの分類方法について説明する。   Next, a packet classification method using the feature information G2 ′ will be described.

図12は、特徴情報に基づくパケットの分類方法を説明するための図である。図12には、対象アプリから抽出された特徴情報G2'と、ネットワーク上におけるパケットのキャプチャデータD1〜D5等とが示されている。なお、特徴情報G2'は、通信内容n1〜n3を含む。   FIG. 12 is a diagram for explaining a packet classification method based on feature information. FIG. 12 shows feature information G2 ′ extracted from the target application, packet capture data D1 to D5 on the network, and the like. The feature information G2 ′ includes communication contents n1 to n3.

パケット分類部16は、特徴情報G2'の通信内容n1〜n3と、キャプチャデータD1〜D5との組み合わせごとに、類似度を算出する。なお、特徴情報G2'において先頭の通信内容n1については、全てのキャプチャデータとの組み合わせについて類似度が算出される。先頭以外の通信内容n2又はn3については、当該通信内容の一つ前の通信内容と組み合わされたキャプチャデータのうち、先頭のキャプチャデータを除くキャプチャデータとの組み合わせについて類似度が算出される。したがって、図12では、矢印によって接続された組み合わせごとに類似度が算出される。   The packet classification unit 16 calculates the similarity for each combination of the communication contents n1 to n3 of the feature information G2 ′ and the capture data D1 to D5. It should be noted that, for the first communication content n1 in the feature information G2 ′, the similarity is calculated for all combinations with the capture data. For the communication contents n2 or n3 other than the head, the similarity is calculated for the combination with the capture data excluding the head capture data among the capture data combined with the communication contents immediately before the communication contents. Therefore, in FIG. 12, the similarity is calculated for each combination connected by the arrows.

図13は、類似度の算出方法の一例を示す図である。図13では、通信内容n1とキャプチャデータD1との類似度の算出例が示されている。   FIG. 13 is a diagram illustrating an example of a similarity calculation method. FIG. 13 shows a calculation example of the similarity between the communication content n1 and the capture data D1.

まず、パケット分類部16は、通信内容n1とキャプチャデータD1とのそれぞれを、「:」、「 」(スペース)、「/」、「;」等をデリミタとして分割する。   First, the packet classification unit 16 divides each of the communication content n1 and the capture data D1 using “:”, “” (space), “/”, “;”, etc. as delimiters.

続いて、パケット分類部16は、以下の式に基づいて、通信内容n1とキャプチャデータD1との類似度を算出する。
類似度=双方で一致する文字列数÷キャプチャデータのパケットに含まれる文字列数
ここで、「文字列」とは、分割された単位での文字列をいう。図13において、通信内容n1の分割後の文字列群sn1と、キャプチャデータD1の分割後の文字列群sD1との間で、一致する文字列の数は、2である。すなわち、文字列群sD1において破線で囲まれた2つの文字列が、文字列群sn1に含まれるいずれかの文字列に一致する。また、文字列群sD1の文字列数は20である。したがって、この場合の類似度は、2÷20=0.1となる。
Subsequently, the packet classification unit 16 calculates the similarity between the communication content n1 and the capture data D1 based on the following equation.
Similarity = number of character strings that match on both sides / number of character strings included in packet of capture data Here, “character string” refers to a character string in divided units. In FIG. 13, the number of character strings that match between the character string group sn1 after the division of the communication content n1 and the character string group sD1 after the division of the capture data D1 is two. That is, two character strings surrounded by a broken line in the character string group sD1 match any character string included in the character string group sn1. The number of character strings in the character string group sD1 is 20. Therefore, the similarity in this case is 2 ÷ 20 = 0.1.

図14は、類似度の算出結果の一例を示す図である。図14では、通信内容n1〜n3と、キャプチャデータD1〜D5との間の類似度の算出結果が示されている。   FIG. 14 is a diagram illustrating an example of a similarity calculation result. FIG. 14 shows the calculation result of the similarity between the communication contents n1 to n3 and the capture data D1 to D5.

続いて、パケット分類部16は、通信内容n1、n2、及びn3のそれぞれについて算出された類似度の集合から一つずつ類似度を選択することで得られる3つの類似度の組み合わせごとに、類似度の平均値を求める。但し、或る組み合わせにおいて、2番目以降の通信内容について選択される類似度は、当該通信内容の一つ前の通信内容について選択された類似度に係るパケットデータよりも後のパケットデータとの類似度に限られる。   Subsequently, the packet classification unit 16 selects a similarity for each combination of three similarities obtained by selecting one similarity from a set of similarities calculated for each of the communication contents n1, n2, and n3. Find the average degree. However, in a certain combination, the similarity selected for the second and subsequent communication contents is similar to the packet data after the packet data related to the similarity selected for the communication contents immediately before the communication contents. Limited to degrees.

図15は、類似度の組み合わせの一例を示す図である。図15には、各ノードにキャプチャデータの符号が付与されたツリー構造が示されている。最上位のノードは、通信内容n1と当該ノードの符号に係るキャプチャデータとの類似度に対応する。2階層目のノードは、通信内容n2と当該ノードの符号に係るキャプチャデータとの類似度に対応する。最下位のノードは、通信内容n3と当該ノードの符号に係るキャプチャデータとの類似度に対応する。   FIG. 15 is a diagram illustrating an example of combinations of similarities. FIG. 15 shows a tree structure in which a capture data code is assigned to each node. The highest node corresponds to the similarity between the communication content n1 and the capture data related to the code of the node. The node in the second layer corresponds to the similarity between the communication content n2 and the capture data related to the code of the node. The lowest node corresponds to the similarity between the communication content n3 and the capture data related to the code of the node.

図14からは、図15に示される10通りの類似度の組み合わせが生成され、各組み合わせについて類似度の平均値が算出される。パケット分類部16は、当該平均値が閾値以上である組み合わせに係るキャプチャデータのパケットを、対象アプリのパケットとして分類する。   From FIG. 14, ten combinations of similarities shown in FIG. 15 are generated, and an average value of similarities is calculated for each combination. The packet classification unit 16 classifies the captured data packet related to the combination whose average value is equal to or greater than the threshold as the packet of the target application.

例えば、閾値が0.15であれば、図15において「D1−D4−D5」の組み合わせの平均値が0.167であるため、当該組み合わせに係るキャプチャデータD1、D4、及びD5のパケットが、対象アプリのパケットとして分類される。   For example, if the threshold is 0.15, the average value of the combination of “D1-D4-D5” in FIG. 15 is 0.167, and thus the packets of the capture data D1, D4, and D5 related to the combination are It is classified as a packet of the target application.

なお、仮に、平均値の最大値の組み合わせに係るキャプチャデータが対象アプリのパケットとして分類された場合、実際には対象アプリの通信に係るパケットではないパケットについても対象アプリのパケットとして分類される可能性が高くなるため、本実施の形態では、閾値に基づいて判定が行われている。   Note that if the capture data related to the combination of the maximum average values is classified as a packet of the target application, a packet that is not actually a packet related to communication of the target application can also be classified as a packet of the target application. In this embodiment, the determination is performed based on the threshold value.

また、キャプチャデータ内の複数箇所に、対象アプリのパケットが検出されてもよい。一方、キャプチャデータ内の特定箇所のパケットが、複数のアプリケーションのパケットと判定された場合は、類似度の高いアプリケーションのパケットであると判定されてもよし、人が見て決めてもよい。   Moreover, the packet of the target application may be detected at a plurality of locations in the capture data. On the other hand, when a packet at a specific location in the capture data is determined to be a packet of a plurality of applications, it may be determined to be a packet of an application having a high degree of similarity, or may be determined by human eyes.

上述したように、本実施の形態によれば、複数のアプリケーションのパケットが混在するパケットキャプチャ結果をアプリケーションごとに分類するための特徴(特徴情報)を、アプリケーションから抽出することができる。特徴情報を利用してアプリケーションごとのパケットの分類ができるようになると、モバイルネットワーク事業者が、自身が提供するネットワークにおいて、どのようなアプリケーションがどの程度のトラフィックを生成しているかを特定でき、輻輳の原因となるアプリケーションを特定できる。これにより、この様なアプリケーションの作成者に対して是正を促すことで、ネットワークの輻輳を抑えることができる。また、アプリケーションごとのトラフィック制御に必要な情報(IPアドレス、ポート番号、特徴的な文字列)を分類後のパケットから抽出することで、当該トラヒック制御が可能となる。   As described above, according to the present embodiment, a feature (feature information) for classifying a packet capture result in which packets of a plurality of applications are mixed for each application can be extracted from the application. Once the feature information can be used to classify packets for each application, mobile network operators can identify what applications are generating how much traffic in the networks they provide, and congestion The application that causes the problem can be identified. Thus, network congestion can be suppressed by prompting the creator of such an application to make corrections. Further, by extracting information (IP address, port number, characteristic character string) necessary for traffic control for each application from the classified packet, the traffic control can be performed.

なお、図16は、従来技術Aと本実施の形態との比較を説明するための図である従来技術Aでは、アプリAの広告の特徴的な文字列を含むパケット2のみを抽出可能であるが、本実施の形態によれば、アプリAの通信の特徴に類似したパケット群を、その順序も含めて抽出することができる。   Note that FIG. 16 is a diagram for explaining the comparison between the prior art A and the present embodiment, and in the prior art A, it is possible to extract only the packet 2 including the characteristic character string of the advertisement of the app A. However, according to the present embodiment, it is possible to extract a packet group similar to the communication characteristics of application A, including its order.

また、図17は、従来技術Bと本実施の形態との比較を説明するための図である。従来技術Bでは、パケット1〜パケット5までの宛先が同じである場合、各パケットをアプリケーションごとに分類することができないが、本実施の形態によれば、宛先ではなく、通信に含まれる文字列と順序が各アプリケーションの特徴情報に類似している部分が抽出されるため、各パケットをアプリケーションごとに分類することができる。   FIG. 17 is a diagram for explaining comparison between the related art B and the present embodiment. In the conventional technique B, when the destinations of the packets 1 to 5 are the same, each packet cannot be classified for each application. However, according to the present embodiment, the character string included in the communication, not the destination, is used. Since the portion whose order is similar to the feature information of each application is extracted, each packet can be classified for each application.

なお、本実施の形態では、Android(登録商標)アプリケーションについて説明したが、他のアプリケーションに関して本実施の形態が適用されてもよい。この場合は、当該他のアプリケーションの開発言語等に対応させて、メソッドの前後関係の特定方法等が適宜変更されてもよい。また、アプリケーション以外のプログラムについて本実施の形態が適用されてもよい。   In the present embodiment, the Android (registered trademark) application has been described. However, the present embodiment may be applied to other applications. In this case, the method for specifying the context of the method may be changed as appropriate in accordance with the development language of the other application. Further, the present embodiment may be applied to programs other than applications.

また、本実施の形態では、特徴抽出装置10がキャプチャデータのパケットの分類を実行する例を示したが、特徴情報を抽出する装置とパケットの分類を行う装置とは、別々であってもよい。   Further, in the present embodiment, an example is shown in which the feature extraction device 10 performs packet classification of capture data, but the device that extracts feature information and the device that performs packet classification may be different. .

なお、本実施の形態において、特徴抽出装置10は、通信特徴抽出装置及びパケット分類装置の一例である。順序情報生成部13及び部分グラフ生成部14は、抽出部の一例である。順序情報生成部13は、第1の抽出部の一例である。部分グラフ生成部14は、第2の抽出部の一例である。通信内容反映部15は、生成部の一例である。パケット分類部16は、分類部の一例である。   In the present embodiment, the feature extraction device 10 is an example of a communication feature extraction device and a packet classification device. The order information generation unit 13 and the partial graph generation unit 14 are examples of an extraction unit. The order information generation unit 13 is an example of a first extraction unit. The partial graph generation unit 14 is an example of a second extraction unit. The communication content reflection unit 15 is an example of a generation unit. The packet classification unit 16 is an example of a classification unit.

以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.

10 特徴抽出装置
11 バイナリファイル読込部
12 ソースコード生成部
13 順序情報生成部
14 部分グラフ生成部
15 通信内容反映部
16 パケット分類部
17 通信関連メソッド一覧記憶部
18 特徴情報記憶部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
B バス
DESCRIPTION OF SYMBOLS 10 Feature extraction apparatus 11 Binary file reading part 12 Source code generation part 13 Order information generation part 14 Partial graph generation part 15 Communication content reflection part 16 Packet classification part 17 Communication related method list storage part 18 Feature information storage part 100 Drive apparatus 101 Recording Medium 102 Auxiliary storage device 103 Memory device 104 CPU
105 Interface device B bus

Claims (8)

プログラムのソースコードから通信関連のメソッドの呼び出し順序を抽出する抽出部と、
前記メソッドのそれぞれの引数に対する設定値を前記ソースコードから抽出し、抽出された設定値を前記呼び出し順序に基づいて配列した特徴情報を生成する生成部と、
を有することを特徴とする通信特徴抽出装置。
An extractor that extracts the calling order of communication-related methods from the source code of the program;
A generation unit that extracts setting values for each argument of the method from the source code, and generates feature information in which the extracted setting values are arranged based on the calling order;
A communication feature extraction apparatus characterized by comprising:
前記抽出部は、
前記プログラムのソースコードにおいて呼び出されているメソッドごとに呼び出し順序の前後関係を前記ソースコードから抽出する第1の抽出部と、
通信関連のメソッドを示す情報に基づいて、前記前後関係から前記通信関連のメソッドの呼び出し順序を抽出する第2の抽出部とを含む、
ことを特徴とする請求項1記載の通信特徴抽出装置。
The extraction unit includes:
A first extraction unit that extracts the context of the calling order from the source code for each method called in the source code of the program;
A second extraction unit that extracts a calling order of the communication-related methods from the context based on information indicating communication-related methods,
The communication feature extraction apparatus according to claim 1.
前記生成部は、前記抽出部によって抽出されたメソッドごとに、前記前後関係に基づいて、前記ソースコードにおける当該メソッドの呼び出し箇所を特定し、当該呼び出し箇所において当該メソッドの引数に指定されている変数の代入元を辿ることで、当該引数に対する設定値を特定する、
ことを特徴とする請求項2記載の通信特徴抽出装置。
The generation unit specifies, for each method extracted by the extraction unit, a call location of the method in the source code based on the context, and a variable designated as an argument of the method at the call location Identify the setting value for the argument by following the assignment source of
The communication feature extraction apparatus according to claim 2.
請求項1乃至3いずれか一項記載の通信特徴抽出装置によって抽出された前記特徴情報に基づいて、パケットのキャプチャデータの中から前記プログラムに関するパケットを分類する分類部を有する、
ことを特徴とするパケット分類装置。
Based on the feature information extracted by the communication feature extraction device according to any one of claims 1 to 3, a classification unit that classifies packets related to the program from packet capture data.
A packet classification device.
コンピュータが、
プログラムのソースコードから通信関連のメソッドの呼び出し順序を抽出する抽出手順と、
前記メソッドのそれぞれの引数に対する設定値を前記ソースコードから抽出し、抽出された設定値を前記呼び出し順序に基づいて配列した特徴情報を生成する生成手順と、
を実行することを特徴とする通信特徴抽出方法。
Computer
An extraction procedure to extract the calling order of communication-related methods from the program source code;
A generation procedure for extracting setting values for each argument of the method from the source code, and generating feature information in which the extracted setting values are arranged based on the calling order;
The communication feature extraction method characterized by performing.
請求項1乃至いずれか一項記載の通信特徴抽出装置によって抽出された前記特徴情報に基づいて、パケットのキャプチャデータの中から前記プログラムに関するパケットを分類する手順をコンピュータが実行することを特徴とするパケット分類方法。 Based on the feature information extracted by the communication feature extraction apparatus according to claim 1 to 3 any one claim, and characterized in that the procedure for classifying packets for the program from among the captured data packets computer executes Packet classification method. 請求項1乃至3いずれか一項記載の各部としてコンピュータを機能させるためのプログラム。   The program for functioning a computer as each part as described in any one of Claims 1 thru | or 3. 請求項4記載の分類部としてコンピュータを機能させるためのプログラム。   The program for functioning a computer as a classification | category part of Claim 4.
JP2015230612A 2015-11-26 2015-11-26 Communication feature extraction device, packet classification device, communication feature extraction method, packet classification method, and program Active JP6412849B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015230612A JP6412849B2 (en) 2015-11-26 2015-11-26 Communication feature extraction device, packet classification device, communication feature extraction method, packet classification method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015230612A JP6412849B2 (en) 2015-11-26 2015-11-26 Communication feature extraction device, packet classification device, communication feature extraction method, packet classification method, and program

Publications (2)

Publication Number Publication Date
JP2017097700A JP2017097700A (en) 2017-06-01
JP6412849B2 true JP6412849B2 (en) 2018-10-24

Family

ID=58803904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015230612A Active JP6412849B2 (en) 2015-11-26 2015-11-26 Communication feature extraction device, packet classification device, communication feature extraction method, packet classification method, and program

Country Status (1)

Country Link
JP (1) JP6412849B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111797401B (en) * 2020-07-08 2023-12-29 深信服科技股份有限公司 Attack detection parameter acquisition method, device, equipment and readable storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05241799A (en) * 1992-02-21 1993-09-21 Nec Corp Argument reference structure analysis device
JP2004094496A (en) * 2002-08-30 2004-03-25 Ntt Comware Corp Sequence diagram preparing device, and method therefor, sequence diagram preparing program, and recording medium therefor
JP2011015253A (en) * 2009-07-03 2011-01-20 Nippon Telegr & Teleph Corp <Ntt> Communication traffic classification method and apparatus, and program
US9569326B2 (en) * 2010-04-15 2017-02-14 Ca, Inc. Rule organization for efficient transaction pattern matching
JP2012146243A (en) * 2011-01-14 2012-08-02 Nec Corp Software structure analysis device, software structure analysis method and program

Also Published As

Publication number Publication date
JP2017097700A (en) 2017-06-01

Similar Documents

Publication Publication Date Title
US9710455B2 (en) Feature text string-based sensitive text detecting method and apparatus
JP6832867B2 (en) Methods and devices for verifying images based on image verification codes
CN110515896B (en) Model resource management method, model file manufacturing method, device and system
US9811321B1 (en) Script compilation
JP5886447B2 (en) Location independent files
KR101535813B1 (en) System and method for dynamic updating of event composition rule for complex event processing
JP6903755B2 (en) Data integration job conversion
JP6373489B2 (en) Compress cascading style sheet files
WO2016206605A1 (en) Client terminal data collection method and apparatus
US11756301B2 (en) System and method for automatically detecting and marking logical scenes in media content
WO2019242442A1 (en) Multi-model feature-based malware identification method, system and related apparatus
US11126715B2 (en) Signature generation device, signature generation method, recording medium storing signature generation program, and software determination system
CN107577943B (en) Sample prediction method and device based on machine learning and server
KR102367859B1 (en) Appratus and method for classifying data using feature vector
JP6412849B2 (en) Communication feature extraction device, packet classification device, communication feature extraction method, packet classification method, and program
JP5890340B2 (en) Image classification device and image classification program
CN108140173A (en) The attachment parsed from communication is classified
CN114492365A (en) Method for determining similarity between binary files, computing device and storage medium
JP2013214159A (en) Log management method, log management system, and information processing apparatus
CN112765963A (en) Sentence segmentation method and device, computer equipment and storage medium
JP5414614B2 (en) Keyword type determination device and program
JPWO2020065778A1 (en) Information processing equipment, control methods, and programs
KR102499873B1 (en) Video Cut-editing online server according to category based on reflection of the purpose of video production and operating method of the online server
JP6453685B2 (en) Arithmetic control device, arithmetic control method, and arithmetic control program
JP6298014B2 (en) Manual generation device, manual generation system, manual generation method, and manual generation program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180814

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180912

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: 20180925

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181001

R150 Certificate of patent or registration of utility model

Ref document number: 6412849

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150