KR101869377B1 - Device and methods of analyzing dependency between network signatures or between signature pairs - Google Patents

Device and methods of analyzing dependency between network signatures or between signature pairs Download PDF

Info

Publication number
KR101869377B1
KR101869377B1 KR1020160075849A KR20160075849A KR101869377B1 KR 101869377 B1 KR101869377 B1 KR 101869377B1 KR 1020160075849 A KR1020160075849 A KR 1020160075849A KR 20160075849 A KR20160075849 A KR 20160075849A KR 101869377 B1 KR101869377 B1 KR 101869377B1
Authority
KR
South Korea
Prior art keywords
request
item
response
signature
regular expression
Prior art date
Application number
KR1020160075849A
Other languages
Korean (ko)
Other versions
KR20170142415A (en
Inventor
한동수
최현우
홍현욱
김용대
김정민
이종협
남궁훈
최우현
Original Assignee
한국과학기술원
가천대학교 산학협력단
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 한국과학기술원, 가천대학교 산학협력단 filed Critical 한국과학기술원
Priority to KR1020160075849A priority Critical patent/KR101869377B1/en
Publication of KR20170142415A publication Critical patent/KR20170142415A/en
Application granted granted Critical
Publication of KR101869377B1 publication Critical patent/KR101869377B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Abstract

기계어 분석 장치는 함수 특정부, 요청 시그너처 생성부, 응답 시그너처 생성부, 및 시그너처 의존도 분석부를 포함한다. 함수 특정부는 통신망으로 연결된 외부 단말이 갖는 응답 데이터에 대해 소정의 항목이 포함된 요청 형식에 따라 단말이 요청하도록 단말을 각각 제어하는 복수의 외부참조함수들을 단말에서 실행되는 기계어 코드의 역컴파일(decompile) 텍스트 내에서 특정한다. 요청 시그너처 생성부는 요청 형식의 항목에 대응되는 요청 항목 데이터가 가질 수 있는 모든 경우를 정규 표현(regular expression) 방법에 기초하여 표현한 요청 정규 표현식을 각각 갖는 복수의 요청 시그너처(signature)들을 생성한다. 응답 시그너처 생성부는 응답 데이터 중 단말이 이용하는 추출 항목에 대응되는 추출 항목 데이터가 가질 수 있는 모든 경우를 정규 표현 방법에 기초하여 표현한 응답 정규 표현식을 각각 갖는 복수의 응답 시그너처들을 생성한다. 시그너처 의존도 분석부는 응답 시그너처들 중 일 응답 시그너처의 추출 항목이 요청 시그너처들 중 일 요청 시그너처의 항목에 영향을 주는지 여부에 기초하여, 요청 시그너처들과 응답 시그너처들 사이의 의존도(dependency)를 분석한다.The machine language analyzing apparatus includes a function specifying unit, a request signature generating unit, a response signature generating unit, and a signature dependency analyzing unit. The function specifying unit may include a plurality of external reference functions for controlling each of the terminals to request the terminal according to a request format including a predetermined item for the response data of the external terminal connected to the communication network to decompile the machine code ) Within the text. The request signature generator generates a plurality of request signatures each having a request regular expression representing every case that the request item data corresponding to the item of the request type can have, based on a regular expression method. The response signature generation unit generates a plurality of response signatures each having a response regular expression expressed on the basis of the regular expression method in every case that the extracted item data corresponding to the extracted item used by the terminal among the response data can have. The signature dependency analysis unit analyzes the dependency between the request signatures and the response signatures based on whether or not the extracted item of the one response signature among the response signatures affects the item of the one request signature among the request signatures.

Description

네트워크 시그너처들 사이 또는 시그너처 페어들 사이의 의존도를 분석하는 기계어 분석 장치 및 기계어 분석 방법{DEVICE AND METHODS OF ANALYZING DEPENDENCY BETWEEN NETWORK SIGNATURES OR BETWEEN SIGNATURE PAIRS}Technical Field [0001] The present invention relates to a machine language analyzing apparatus and a machine language analyzing method for analyzing dependency between network signatures or between signature pairs,

본 발명은 기계어 분석 방법에 관한 것으로, 보다 상세하게는 네트워크 행동을 하는 어플리케이션의 프로토콜을 시그너처들 또는 시그너처 페어들 사이의 의존도에 기초하여 분석하는 기계어 분석 방법 및 기계어 분석 장치에 관한 것이다.The present invention relates to a machine language analysis method, and more particularly, to a machine language analysis method and a machine language analysis apparatus for analyzing a protocol of an application that performs network behavior based on dependencies between signatures or signature pairs.

반도체 기술이 발전하면서 휴대하기 쉬우면서도 성능이 향상된 스마트 기기가 제조되고 있다. 기존의 전자 기기와 달리 최근의 스마트 기기는 향상된 성능을 바탕으로 인터넷에 연결되어 다른 기기들과 정보를 주고받을 수 있다.With the development of semiconductor technology, smart devices that are easy to carry and have improved performance are being manufactured. Unlike conventional electronic devices, smart devices can connect to the Internet and exchange information with other devices based on improved performance.

그러나 인터넷으로 연결된 스마트 기기가 증가함에 따라 스마트 기기에서 발생되는 웹 트래픽(web traffic) 또한 증가하게 되었고, 특히 스마트 기기에서 구동되는 어플리케이션들은 각각의 서비스 목적에 따라 네트워크 행동을 하면서 웹 트래픽을 발생시킨다.However, as the number of smart devices connected to the Internet increases, web traffic generated by smart devices has also increased. In particular, applications running on smart devices generate web traffic while performing network actions according to the purpose of each service.

따라서 증가된 웹 트래픽에 대응하여 적시에 적절한 서비스를 제공할 수 있도록 웹 트래픽을 효율적으로 관리할 필요가 있다. 특히 웹 상에서 어플리케이션들 각각이 생성하는 웹 트래픽의 고유 특징을 분석할 수 있다면, 어플리케이션들 각각에 상응하는 웹 트래픽 관리가 가능해질 수 있다.Therefore, it is necessary to efficiently manage the web traffic so as to provide timely and appropriate services in response to the increased web traffic. In particular, if unique characteristics of web traffic generated by each application on the web can be analyzed, web traffic management corresponding to each application can be made possible.

이를 위해 아래 선행기술문헌은 웹 트래픽에 우선순위를 부여하는 내용을 설명하고 있으나, 어플리케이션들 각각이 생성하는 웹 트래픽의 고유 특징을 분석하는 내용을 포함하고 있지 않다는 문제점이 있다.To this end, the prior art documents described above give priority to web traffic, but they do not include contents for analyzing unique characteristics of web traffic generated by each application.

한국 공개특허 특2000-0071957(공개일자 2000년 12월 05일)Korean Patent Publication No. 2000-0071957 (published on December 05, 2000)

본 발명의 일 목적은 어플리케이션이 구동되는 단말에서 입출력되는 웹 트래픽의 고유 특징을 분석할 수 있는 기계어 분석 장치를 제공하는 것이다.It is an object of the present invention to provide a machine language analyzing apparatus capable of analyzing intrinsic characteristics of Web traffic input / output in a terminal in which an application is running.

본 발명의 다른 목적은 어플리케이션이 구동되는 단말로 입출력되는 웹 트래픽의 고유 특징을 분석할 수 있는 기계어 분석 방법을 제공하는 것이다.It is another object of the present invention to provide a machine language analysis method capable of analyzing intrinsic characteristics of Web traffic input / output to / from a terminal on which an application is running.

다만, 본 발명의 목적은 상기 목적들로 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.It should be understood, however, that the present invention is not limited to the above-described embodiments, and may be variously modified without departing from the spirit and scope of the present invention.

본 발명의 일 목적을 달성하기 위하여, 본 발명의 실시예들에 따른 기계어 분석 장치는 통신망으로 연결된 외부 단말이 갖는 응답 데이터에 대해 소정의 항목이 포함된 요청 형식에 따라 단말이 요청하도록 상기 단말을 각각 제어하는 복수의 외부참조함수들을 상기 단말에서 실행되는 기계어 코드의 역컴파일(decompile) 텍스트 내에서 특정하는 함수 특정부, 상기 요청 형식의 상기 항목에 대응되는 요청 항목 데이터가 가질 수 있는 모든 경우를 정규 표현(regular expression) 방법에 기초하여 표현한 요청 정규 표현식을 각각 갖는 복수의 요청 시그너처(signature)들을 생성하는 요청 시그너처 생성부, 상기 응답 데이터 중 상기 단말이 이용하는 추출 항목에 대응되는 추출 항목 데이터가 가질 수 있는 모든 경우를 상기 정규 표현 방법에 기초하여 표현한 응답 정규 표현식을 각각 갖는 복수의 응답 시그너처들을 생성하는 응답 시그너처 생성부, 및 상기 응답 시그너처들 중 일 응답 시그너처의 상기 추출 항목이 상기 요청 시그너처들 중 일 요청 시그너처의 상기 항목에 영향을 주는지 여부에 기초하여, 상기 요청 시그너처들과 상기 응답 시그너처들 사이의 의존도(dependency)를 분석하는 시그너처 의존도 분석부를 포함한다.In order to accomplish one object of the present invention, a machine language analyzing apparatus according to embodiments of the present invention is a machine language analyzing apparatus for analyzing response data of an external terminal connected to a communication network, A function specifying unit for specifying a plurality of external reference functions to be controlled in decompressed text of a machine code executed in the terminal, all cases in which request item data corresponding to the item of the request format can have A request signature generator for generating a plurality of request signatures each having a request regular expression expressed on the basis of a regular expression method, a request signature generation unit for generating extraction signature data corresponding to an extraction item used by the terminal, A response represented by the regular expression method A response signature generation unit that generates a plurality of response signatures each having an exponentiation expression, and a response signature generation unit that, based on whether the extracted item of the one response signature of the response signatures affects the item of the request signature of the request signatures And a signature dependency analyzer for analyzing a dependency between the request signatures and the response signatures.

일 실시예에 의하면, 상기 기계어 분석 장치는 상기 외부참조함수들이 공통되는지 여부에 기초하여 상기 요청 시그너처들을 상기 응답 시그너처들에 대응시킴으로써, 복수의 시그너처 페어들을 생성하는 시그너처 페어 생성부, 및 상기 의존도에 기초하여 상기 시그너처 페어들 중 일 시그너처 페어와 다른 시그너처 페어를 대응시키는 시그너처 페어 대응부를 더 포함할 수 있다.According to one embodiment, the machine language analysis apparatus includes a signature pair generator for generating a plurality of signature pairs by associating the request signatures with the response signatures based on whether the external reference functions are common, And a signature pair correspondence unit that associates one signature pair among the signature pairs with another signature pair based on the signature pair.

일 실시예에 의하면, 상기 기계어 분석 장치는 상기 역컴파일 텍스트를 생성하는 역컴파일부를 더 포함할 수 있다.According to an embodiment, the machine language analyzing apparatus may further include a decompiling unit for generating the decompiled text.

일 실시예에 의하면, 상기 기계어 분석 장치는 상기 역컴파일 텍스트 중 상기 요청 형식을 생성하는데 영향을 주는 요청 형식 생성 부분을 추출하는 요청 슬라이스 추출부, 및 상기 역컴파일 텍스트 중 상기 추출 항목에 의해 영향을 받는 응답 데이터 처리 부분을 추출하는 응답 슬라이스 추출부를 더 포함할 수 있고, 상기 요청 시그너처는 상기 요청 형식 생성 부분을 분석함으로써 생성될 수 있으며, 상기 응답 시그너처는 상기 응답 데이터 처리 부분을 분석함으로써 생성될 수 있다.According to an embodiment of the present invention, the machine language analyzing apparatus includes a request slice extracting unit that extracts a request format generating part that affects generation of the request format among the decompressed texts, And a response slice extracting unit for extracting a response data processing part for receiving the response data, wherein the request signature can be generated by analyzing the request type generating part, and the response signature can be generated by analyzing the response data processing part have.

일 실시예에 의하면, 상기 요청 형식은 상기 외부 단말의 주소에 대응되는 주소 항목, 상기 외부 단말에서 상기 응답 데이터가 갖는 위치에 대응되는 위치 항목, 및 상기 응답 데이터에 접근할 수 있는 권한에 대응되는 권한 항목을 포함할 수 있다.According to an embodiment, the request format may include at least one of an address item corresponding to the address of the external terminal, a location item corresponding to the location of the response data in the external terminal, And an authority item.

일 실시예에 의하면, 상기 요청 시그너처 생성부는 상기 역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 상기 요청 형식의 상기 항목을 특정하는 요청 시그너처 항목 특정부, 상기 요청 형식의 상기 항목에 부여되는 데이터 형식에 따라 상기 요청 항목 데이터가 갖는 모든 경우를 표현한 상기 요청 정규 표현식을 생성하는 요청 정규 표현식 생성부, 및 상기 요청 형식의 상기 항목과 상기 생성된 요청 정규 표현식을 대응시키는 요청 정규 표현식 대응부를 포함할 수 있다.According to an embodiment, the request signature generating unit may include a request signature item specifying unit for specifying the item of the request format by searching for a predetermined function in the decompiled text, A request regular expression generating unit for generating the request regular expression expressing all cases of the request item data, and a request regular expression correspondence unit for associating the item of the request format with the generated request regular expression.

일 실시예에 의하면, 상기 기 설정된 함수는 상기 요청 형식의 상기 항목에 상기 요청 항목 데이터를 대응시키는 함수일 수 있다.According to one embodiment, the predetermined function may be a function for mapping the item data in the request format to the item data.

일 실시예에 의하면, 상기 응답 시그너처 생성부는 상기 역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 상기 추출 항목을 특정하는 응답 시그너처 항목 특정부, 상기 추출 항목에 부여되는 데이터 형식에 따라 상기 추출 항목 데이터가 갖는 모든 경우를 표현한 상기 응답 정규 표현식을 생성하는 응답 정규 표현식 생성부, 및 상기 추출 항목과 상기 생성된 응답 정규 표현식을 대응시키는 응답 정규 표현식 대응부를 포함할 수 있다.According to an embodiment, the response signature generator may include a response signature item specifying unit for specifying the extracted item by searching for a predetermined function in the decompiled text, A response regular expression generating unit for generating the response regular expression expressing all cases, and a response regular expression correspondence unit for associating the extracted item with the generated response regular expression.

일 실시예에 의하면, 상기 기 설정된 함수는 상기 추출 항목 데이터를 상기 응답 데이터에서 추출하는 함수일 수 있다.According to an embodiment, the predetermined function may be a function of extracting the extracted item data from the response data.

본 발명의 다른 목적을 달성하기 위하여, 본 발명의 실시예들에 따른 기계어 분석 방법은 통신망으로 연결된 외부 단말이 갖는 응답 데이터에 대해 소정의 항목이 포함된 요청 형식에 따라 단말이 요청하도록 상기 단말을 각각 제어하는 복수의 외부참조함수들을 상기 단말에서 실행되는 기계어 코드의 역컴파일 텍스트 내에서 특정하는 단계, 상기 요청 형식의 상기 항목에 대응되는 요청 항목 데이터가 가질 수 있는 모든 경우를 정규 표현 방법에 기초하여 표현한 요청 정규 표현식을 각각 갖는 복수의 요청 시그너처들을 생성하는 단계, 상기 응답 데이터 중 상기 단말이 이용하는 추출 항목에 대응되는 추출 항목 데이터가 가질 수 있는 모든 경우를 상기 정규 표현 방법에 기초하여 표현한 응답 정규 표현식을 각각 갖는 복수의 응답 시그너처들을 생성하는 단계, 및 상기 응답 시그너처들 중 일 응답 시그너처의 상기 추출 항목이 상기 요청 시그너처들 중 일 요청 시그너처의 상기 항목에 영향을 주는지 여부에 기초하여, 상기 요청 시그너처들과 상기 응답 시그너처들 사이의 의존도를 분석하는 단계를 포함한다.According to another aspect of the present invention, there is provided a machine language analysis method for analyzing response data of an external terminal connected to a communication network, the method comprising: Specifying a plurality of external reference functions to be controlled in the decompiled text of a machine code executed in the terminal; and all cases in which the request item data corresponding to the item of the request format can have a basis of a regular expression method The method includes generating a plurality of request signatures each having a request regular expression expressed by a regular expression, and generating all of the cases in which the extracted item data corresponding to the extracted item used by the terminal among the response data can have, Multiple response signatures each having an expression Based on whether the extracted item of the one of the response signatures affects the item of the one request signature of the request signatures, the dependency between the request signatures and the response signatures Lt; / RTI >

일 실시예에 의하면, 상기 기계어 분석 방법은 상기 외부참조함수들이 공통되는지 여부에 기초하여 상기 요청 시그너처들을 상기 응답 시그너처들에 대응시킴으로써, 복수의 시그너처 페어들을 생성하는 단계, 및 상기 의존도에 기초하여 상기 시그너처 페어들 중 일 시그너처 페어와 다른 시그너처 페어를 대응시키는 단계를 더 포함할 수 있다.According to one embodiment, the machine language analysis method comprises generating a plurality of signature pairs by mapping the request signatures to the response signatures based on whether the external reference functions are common, And associating one of the signature pairs with another signature pair.

일 실시예에 의하면, 상기 기계어 분석 방법은 상기 역컴파일 텍스트를 생성하는 단계를 더 포함할 수 있다.According to an embodiment, the machine language analysis method may further include generating the decompiled text.

일 실시예에 의하면, 상기 기계어 분석 방법은 상기 역컴파일 텍스트 중 상기 요청 형식을 생성하는데 영향을 주는 요청 형식 생성 부분을 추출하는 단계, 및 상기 역컴파일 텍스트 중 상기 추출 항목에 의해 영향을 받는 응답 데이터 처리 부분을 추출하는 단계를 더 포함할 수 있고, 상기 요청 시그너처는 상기 요청 형식 생성 부분을 분석함으로써 생성될 수 있으며, 상기 응답 시그너처는 상기 응답 데이터 처리 부분을 분석함으로써 생성될 수 있다.According to an embodiment, the machine language analysis method may further include extracting a request format generation part that affects generation of the request format among the decompressed texts, and extracting a response format data item The request signature may be generated by analyzing the request format generation portion, and the response signature may be generated by analyzing the response data processing portion.

일 실시예에 의하면, 상기 요청 시그너처들을 생성하는 단계는 상기 역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 상기 요청 형식의 상기 항목을 특정하는 단계, 상기 요청 형식의 상기 항목에 부여되는 데이터 형식에 따라 상기 요청 항목 데이터가 갖는 모든 경우를 표현한 상기 요청 정규 표현식을 생성하는 단계, 및 상기 요청 형식의 상기 항목과 상기 생성된 요청 정규 표현식을 대응시키는 단계를 포함할 수 있다.According to an embodiment, the step of generating the request signatures may include the steps of: specifying the item of the request format by searching for a predetermined function in the decompiled text; Generating the request regular expression expressing all cases of the request item data, and associating the generated request regular expression with the item of the request format.

일 실시예에 의하면, 상기 응답 시그너처들을 생성하는 단계는 상기 역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 상기 추출 항목을 특정하는 단계, 상기 추출 항목에 부여되는 데이터 형식에 따라 상기 추출 항목 데이터가 갖는 모든 경우를 표현한 상기 응답 정규 표현식을 생성하는 단계, 및 상기 추출 항목과 상기 생성된 응답 정규 표현식을 대응시키는 단계를 포함할 수 있다.According to an embodiment of the present invention, the step of generating the response signatures may include the steps of: identifying the extracted item by searching for a predetermined function in the decompiled text; extracting all of the extracted item data Generating the response regular expression expressing the case, and associating the extracted item with the generated response regular expression.

본 발명의 실시예들에 따른 기계어 분석 장치 및 기계어 분석 방법은 정규 표현식을 갖는 요청 시그너처들 및 응답 시그너처들을 생성함으로써 어플리케이션이 발생시키는 웹 트래픽의 고유 특징을 분석할 수 있다.The machine language analysis apparatus and the machine language analysis method according to embodiments of the present invention can analyze unique characteristics of web traffic generated by an application by generating request signatures and response signatures having a regular expression.

나아가, 본 발명의 실시예들에 따른 기계어 분석 장치 및 기계어 분석 방법은 요청 시그너처들과 응답 시그너처들 사이의 의존도를 분석함으로써 어플리케이션이 발생시키는 웹 트래픽의 사이의 상관관계를 분석할 수 있다.Further, the machine language analysis apparatus and the machine language analysis method according to the embodiments of the present invention can analyze the correlation between web traffic generated by the application by analyzing the dependency between the request signatures and the response signatures.

다만, 본 발명의 효과는 상기 효과들로 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.However, the effects of the present invention are not limited to the above effects, and may be variously extended without departing from the spirit and scope of the present invention.

도 1은 본 발명의 실시예들에 따른 기계어 분석 장치를 나타내는 블록도이다.
도 2는 도 1의 기계어 분석 장치와 관련된 웹 트래픽을 발생시키는 통신 시스템의 일 예를 나타내는 블록도이다.
도 3은 도 2의 통신 시스템에서 단말과 외부 단말 사이에 전송되는 요청 형식 및 응답 데이터의 일 예를 나타내는 도면이다.
도 4는 도 2의 통신 시스템에서 단말에서 실행되는 기계어 코드를 역컴파일하여 생성한 역컴파일 텍스트의 일 예를 나타내는 도면이다.
도 5는 도 4의 역컴파일 텍스트를 분석하여 생성한 요청 시그너처 및 응답 시그터처의 일 예를 나타내는 도면이다.
도 6은 본 발명의 실시예들에 따른 기계어 분석 방법을 나타내는 순서도이다.
1 is a block diagram illustrating a machine language analysis apparatus according to embodiments of the present invention.
2 is a block diagram illustrating an example of a communication system for generating web traffic associated with the machine language analysis apparatus of FIG.
3 is a diagram illustrating an example of request format and response data transmitted between a terminal and an external terminal in the communication system of FIG.
FIG. 4 is a diagram illustrating an example of a decompressed text generated by decompiling a machine code executed in a terminal in the communication system of FIG. 2. FIG.
FIG. 5 is a diagram illustrating an example of a request signature and a response signal generated by analyzing the decommissioned text of FIG.
6 is a flowchart illustrating a machine language analysis method according to embodiments of the present invention.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. The same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.

도 1은 본 발명의 실시예들에 따른 기계어 분석 장치를 나타내는 블록도이다.1 is a block diagram illustrating a machine language analysis apparatus according to embodiments of the present invention.

도 1을 참조하면, 기계어 분석 장치(100)는 함수 특정부(120), 요청 시그너처 생성부(140), 응답 시그너처 생성부(160), 및 시그너처 의존도 분석부(180)를 포함할 수 있다. 실시예에 따라, 기계어 분석 장치(100)는 시그너처 페어 생성부 및 시그너처 페어 대응부를 더 포함할 수 있고, 역컴파일부를 더 포함할 수 있으며, 요청 슬라이스 추출부 및 응답 슬라이스 추출부를 더 포함할 수 있다.Referring to FIG. 1, the machine language analyzer 100 may include a function specifying unit 120, a request signature generating unit 140, a response signature generating unit 160, and a signature dependency analyzing unit 180. According to an embodiment, the machine language analysis apparatus 100 may further include a signature pair generation unit and a signature pair correspondence unit, and may further include a reverse compilation unit, and may further include a request slice extraction unit and a response slice extraction unit .

역컴파일부는 단말에서 실행되는 기계어 코드를 역컴파일(decompile)함으로써 역컴파일 텍스트(DT)를 생성할 수 있다. 상대적으로 저수준에 있는 기계어를 역컴파일함으로써 분석이 상대적으로 용이한 고수준의 프로그램 코드가 생성될 수 있고, 이러한 프로그램 코드를 포함하는 역컴파일 텍스트(DT)가 생성될 수 있다. 실시예에 따라, 기계어는 안드로이드 운영체제 상에서 단말을 구동시킬 수 있다. 예를 들어, 안드로이드 운영체제 상에서 단말을 구동하는 기계어의 집합인 안드로이드 응용 프로그램 패키지(Android application package; APK)는 고수준의 프로그램 언어인 자바(JAVA) 등으로 구성된 프로그램 코드로 상대적으로 용이하게 역컴파일될 수 있다.The decompiling unit can generate the decompiled text (DT) by decompiling the machine code executed in the terminal. By decompiling the machine language at a relatively low level, high level program code that is relatively easy to analyze can be generated, and a decompiled text DT containing such program code can be generated. According to an embodiment, the machine language can run the terminal on the Android operating system. For example, an Android application package (APK), which is a collection of machine language that runs a terminal on an Android operating system, can be relatively easily decompiled with program code composed of a high-level programming language such as Java (JAVA) have.

단말의 동작을 제어하는 것은 단말에서 실행되는 기계어 코드일 수 있다. 기계어는 역컴파일 텍스트(DT)를 컴파일(compile)함으로써 생성될 수 있으므로, 역컴파일 텍스트(DT)를 분석함으로써 단말에서 실행되는 기계어 코드가 분석될 수 있다.The control of the operation of the terminal may be machine code executed in the terminal. The machine language can be generated by compiling the decompiled text (DT), so that the machine code executed in the terminal can be analyzed by analyzing the decompiled text (DT).

함수 특정부(120)는 복수의 외부참조함수들(f)을 역컴파일 텍스트(DT) 내에서 특정할 수 있다. 여기서, 외부참조함수들(f)은 단말을 각각 제어할 수 있고, 단말은 외부참조함수들(f)의 제어에 따라 통신망으로 연결된 외부 단말에 대해 외부 단말이 갖는 응답 데이터를 요청할 수 있다. 실시예에 따라, 외부참조함수들(f)은 외부 단말이 갖는 응답 데이터를 단말이 수신하도록 단말을 각각 제어할 수 있다.The function specifying unit 120 can specify a plurality of external reference functions f in the decompiled text DT. Here, the external reference functions f can control the terminals, respectively, and the terminal can request the response data of the external terminal to the external terminal connected to the communication network under the control of the external reference functions f. According to the embodiment, the external reference functions f can control each of the terminals so that the terminal receives the response data of the external terminal.

역컴파일 텍스트(DT)는 역컴파일부에서 생성된 것일 수 있지만, 미리 역컴파일된 기계어 코드의 역컴파일 텍스트(DT)를 기계어 분석 장치(100)의 사용자가 별도로 입력한 것일 수 있다.The decompiled text DT may be generated by the decompiling unit, but may be a separate input by the user of the machine language analyzer 100 of the decompiled text DT of the decompiled machine code.

단말은 단말에서 구동되는 어플리케이션의 목적에 따라 외부 단말이 갖는 응답 데이터를 필요로 할 수 있고, 외부 단말에 대해 응답 데이터를 전송해줄 것을 요청할 수 있다.The terminal may require response data of the external terminal according to the purpose of the application running on the terminal, and may request the external terminal to transmit the response data.

이러한 단말의 동작을 제어하는 기계어는 이를 역컴파일한 역컴파일 텍스트(DT)를 분석함으로써 분석될 수 있다. 따라서, 역컴파일 텍스트(DT) 내에서 상기 동작을 제어하는 외부참조함수들(f)을 분석함으로써 단말의 동작으로 발생되는 웹 트래픽의 고유 특징이 분석될 수 있다.The machine language controlling the operation of these terminals can be analyzed by analyzing the decompiled text (DT) which has been decompiled. Therefore, by analyzing the external reference functions f controlling the operation in the decompiled text DT, the intrinsic characteristics of the web traffic generated in the operation of the terminal can be analyzed.

여기서 단말은 소정의 항목을 포함한 요청 형식에 따라 응답 데이터를 요청할 수 있다. 실시예에 따라, 요청 형식은 주소 항목, 위치 항목 및 권한 항목을 포함할 수 있다. 주소 항목은 외부 단말의 주소에 대응될 수 있다. 위치 항목은 외부 단말에서 응답 데이터가 갖는 위치에 대응될 수 있다. 권한 항목은 응답 데이터에 접근할 수 있는 권한에 대응될 수 있다.Here, the terminal may request response data according to a request format including a predetermined item. According to an embodiment, the request format may include an address entry, a location entry, and an authority entry. The address item may correspond to the address of the external terminal. The location item may correspond to the location of the response data in the external terminal. An authority entry may correspond to authority to access response data.

예를 들어, 주소 항목은 어플리케이션이 필요로 하는 응답 데이터를 갖는 서버의 주소 데이터에 대응될 수 있다. 위치 항목은 서버 내에서 응답 데이터의 구체적 위치를 나타내는 위치 데이터에 대응될 수 있다. 권한 항목은 응답 데이터에 접근할 수 있는 권한 데이터에 대응될 수 있다.For example, the address entry may correspond to the address data of the server having the response data required by the application. The location item may correspond to location data indicating a specific location of the response data in the server. The authorization item may correspond to authorization data that can access the response data.

일 실시예에서, 응답 데이터는 적어도 하나 이상의 항목을 포함할 수 있다. 단말은 응답 데이터의 일부만 이용할 수 있다. 여기서 추출 항목은 응답 데이터가 갖는 항목 중 단말이 이용하는 추출 항목 데이터에 대응되는 항목일 수 있다.In one embodiment, the response data may include at least one or more items. The terminal can use only a part of the response data. Here, the extracted item may be an item corresponding to the extracted item data used by the terminal among the items of the response data.

예를 들어, 응답 데이터는 로그인 데이터 항목, 로그인 시간 항목, 제1 메시지 항목 및 제2 메시지 항목을 포함할 수 있다. 여기서 로그인 데이터 항목은 로그인 성공 여부 등의 정보를 갖는 로그인 데이터에 대응될 수 있고, 로그인 시간 항목은 로그인 시간 등의 정보를 갖는 로그인 시간 데이터에 대응될 수 있으며, 제1 메시지 항목은 로그인에 관련된 제1 메시지 데이터에 대응될 수 있고, 제2 메시지 항목은 로그인에 관련된 제2 메시지 데이터에 대응될 수 있다.For example, the response data may include a login data item, a login time item, a first message item, and a second message item. Here, the login data item may correspond to the login data having information such as whether or not the login is successful, the login time item may correspond to the login time data having the information such as the login time, and the first message item may be associated with the login 1 message data, and the second message item may correspond to the second message data associated with the login.

단말은 응답 데이터 중 로그인 시간 항목에 대응되는 로그인 시간 데이터를 이용하지 않을 수 있다. 이 경우, 추출 항목은 로그인 데이터 항목, 제1 메시지 항목 및 제2 메시지 항목일 수 있다.The terminal may not use the login time data corresponding to the login time item in the response data. In this case, the extracted item may be a login data item, a first message item, and a second message item.

다른 실시예에서, 응답 데이터는 단순히 단말의 요청을 수신완료했음을 나타내는 요청 상태 코드만을 포함할 수 있다.In another embodiment, the response data may only include a request status code indicating that the request for the terminal has been received.

요청 슬라이스 추출부는 역컴파일 텍스트(DT) 중 요청 형식을 생성하는데 영향을 주는 요청 형식 생성 부분을 추출할 수 있다. 단말에서 출력되는 웹 트래픽의 고유 특징은 요청 형식 생성 부분에 의해 결정될 수 있다. 따라서 분석의 범위를 요청 형식 생성 부분으로 한정함으로써 분석의 효율이 증가될 수 있다. 예를 들어, 요청 시그너처들(QSG)은 요청 형식 생성 부분을 분석함으로써 생성될 수 있다.The request slice extractor may extract a request format generation part that affects the generation of the request format among the decompiled text (DT). The unique characteristic of the web traffic output from the terminal can be determined by the request format generation part. Therefore, the efficiency of the analysis can be increased by limiting the scope of the analysis to the request format generation part. For example, the request signatures (QSG) may be generated by analyzing the request format generation portion.

요청 형식에 포함된 항목에 관련된 변수를 추적함으로써 요청 형식을 생성하는 데 영향을 주는지 여부가 판단될 수 있다. 예를 들어, 정적 분석 방법(static analysis) 중 하나인 테인트(taint) 분석 방법에 기초하여 변수를 추적함으로써 역컴파일 텍스트(DT)에서 요청 형식 생성 부분이 추출될 수 있다.It can be determined whether it affects the generation of the request format by tracking the variables associated with the items included in the request format. For example, the request format generation part can be extracted from the decompiled text (DT) by tracking the variable based on the taint analysis method, which is one of the static analysis methods.

요청 시그너처 생성부(140)는 항목에 대응되는 요청 항목 데이터가 가질 수 있는 모든 경우를 정규 표현(regular expression) 방법에 기초하여 표현한 요청 정규 표현식을 각각 갖는 복수의 요청 시그너처들(QSG)을 생성할 수 있다. 여기서 정규 표현 방법은 형식 언어를 이용하여 특정한 규칙을 가진 문자열의 집합을 표현하는 방법일 수 있다. 따라서 요청 항목 데이터가 갖는 규칙을 분석하여 요청 항목 데이터가 가질 수 있는 모든 경우를 정규 표현식으로 표현할 수 있다. 예를 들어, 문자열은 '.*'와 같이 단순히 표현될 수 있다.The request signature generation unit 140 generates a plurality of request signatures (QSG) each having a request regular expression expressed on the basis of a regular expression method for every case that the request item data corresponding to the item can have . Here, the regular expression method may be a method of representing a set of strings having a specific rule using a formal language. Therefore, by analyzing the rule of the request item data, all the cases that the request item data can have can be expressed as a regular expression. For example, a string can simply be represented as '. *'.

요청 항목 데이터가 갖는 규칙을 반영하여 요청 정규 표현식이 생성되므로, 이를 포함하는 요청 시그너처들(QSG)은 단말에서 출력되는 웹 트래픽의 고유 특성을 나타낼 수 있다. 즉, 요청 시그너처들(QSG)을 생성함으로써 단말에서 구동되는 어플리케이션이 생성하는 웹 트래픽의 고유 특성이 분석될 수 있다.Since the request regular expression is generated by reflecting the rule of the request item data, the request signatures (QSG) including the request regular expressions can represent the characteristic of the web traffic outputted from the terminal. That is, by generating the request signatures (QSG), the intrinsic characteristics of the web traffic generated by the application running on the terminal can be analyzed.

실시예에 따라, 요청 시그너처 생성부(140)는 요청 시그너처 항목 특정부, 요청 정규 표현식 생성부, 및 요청 정규 표현식 대응부를 포함할 수 있다.According to the embodiment, the request signature generation unit 140 may include a request signature item specification unit, a request regular expression generation unit, and a request regular expression correspondence unit.

요청 시그너처 항목 특정부는 역컴파일 텍스트(DT)에서 기 설정된 함수를 찾음으로써 항목을 특정할 수 있다. 여기서 기 설정된 함수는 항목에 요청 항목 데이터를 대응시키는 함수일 수 있다. 예를 들어, 기 설정된 함수는 요청 형식에 포함되는 주소 항목에 주소 데이터를 대응시키는 함수일 수 있고, 위치 항목에 위치 데이터를 대응시키는 함수일 수 있으며, 권한 항목에 권한 데이터를 대응시키는 함수일 수 있다. 이렇듯 역컴파일 텍스트(DT)에서 기 설정된 함수가 존재하면, 이와 관련된 항목이 존재할 수 있다. 따라서, 역컴파일 텍스트(DT)에서 기 설정된 함수를 찾음으로써 함수와 관련된 항목이 특정될 수 있다.The Request Signature Item Specification can identify an item by looking for a predefined function in the decompiled text (DT). Here, the predetermined function may be a function for mapping the item item data to the item. For example, the predetermined function may be a function that maps address data to address items included in a request format, a function that maps position data to position items, and a function that maps authority data to authority items. If there is a function preset in the decompressed text (DT), there may be an item related to it. Thus, the item associated with the function can be specified by looking for a preset function in the decompiled text (DT).

요청 정규 표현식 생성부는 항목에 부여되는 데이터 형식에 따라 요청 항목 데이터가 갖는 모든 경우를 표현한 요청 정규 표현식을 생성할 수 있다. 각 항목마다 데이터 형식이 실질적으로 상이할 수 있고, 이에 기초하여 생성된 요청 정규 표현식 또한 실질적으로 상이할 수 있다. 예를 들어, 주소 항목에 부여되는 데이터 형식이 문자열이라면 이를 표현할 수 있는 '.*' 와 같은 요청 정규 표현식이 생성될 수 있다.The requesting regular expression generating unit can generate a request regular expression expressing all cases of the request item data according to the data format given to the item. The data format may be substantially different for each item, and the requested regular expression generated based thereon may also be substantially different. For example, if the data type given to the address entry is a string, a request regular expression such as '. *' May be generated to represent it.

요청 정규 표현식 대응부는 항목과 생성된 요청 정규 표현식을 대응시킬 수 있다. 각 항목마다 실질적으로 상이한 요청 정규 표현식이 생성될 수 있고, 이렇게 생성된 요청 정규 표현식은 각 항목과 대응될 수 있다. 예를 들어, 주소 항목과 위에서 생성된 '.*' 와 같은 요청 정규 표현식은 서로 대응될 수 있다.The request regular expression correspondence unit can match the item with the generated request regular expression. A substantially different request regular expression may be generated for each item, and the generated request regular expression may correspond to each item. For example, an address entry and a request regular expression such as '. *' Generated above can be matched to each other.

응답 슬라이스 추출부는 역컴파일 텍스트(DT) 중 추출 항목에 의해 영향을 받는 응답 데이터 처리 부분을 추출할 수 있다. 단말로 입력되는 웹 트래픽의 고유 특징은 응답 데이터 처리 부분에 의해 결정될 수 있다. 따라서 분석의 범위를 응답 데이터 처리 부분으로 한정함으로써 분석의 효율이 증가될 수 있다. 예를 들어, 응답 시그너처들(RSG)은 응답 데이터 처리 부분을 분석함으로써 생성될 수 있다.The response slice extracting unit can extract a response data processing part affected by the extracted item in the decompiled text (DT). The unique characteristic of the web traffic inputted to the terminal can be determined by the response data processing part. Therefore, the efficiency of analysis can be increased by limiting the scope of the analysis to the response data processing part. For example, response signatures (RSG) may be generated by analyzing the response data processing portion.

추출 항목에 관련된 변수를 추적함으로써 추출 항목에 의해 영향을 받는지 여부가 판단될 수 있다. 예를 들어, 정적 분석 방법 중 하나인 테인트 분석 방법에 기초하여 변수를 추적함으로써 역컴파일 텍스트(DT)에서 응답 데이터 처리 부분이 추출될 수 있다.By tracking the variables associated with the extracted items, it can be determined whether they are affected by the extracted items. For example, the response data processing portion can be extracted in the decompiled text (DT) by tracking the variable based on the taint analysis method, which is one of the static analysis methods.

응답 시그너처 생성부(160)는 추출 항목 데이터가 가질 수 있는 모든 경우를 정규 표현 방법에 기초하여 표현한 응답 정규 표현식을 각각 갖는 복수의 응답 시그너처들(RSG)을 생성할 수 있다. 여기서 정규 표현 방법은 형식 언어를 이용하여 특정한 규칙을 가진 문자열의 집합을 표현하는 방법일 수 있다. 따라서 추출 항목 데이터가 갖는 규칙을 분석하여 추출 항목 데이터가 가질 수 있는 모든 경우를 정규 표현식으로 표현할 수 있다. 예를 들어, 문자열의 경우 '.*' 와 같이 단순히 표현할 수 있다.The response signature generator 160 may generate a plurality of response signatures (RSG) each having a response regular expression expressed on the basis of the regular expression method for every instance of the extracted item data. Here, the regular expression method may be a method of representing a set of strings having a specific rule using a formal language. Therefore, by analyzing the rule of the extracted item data, all the cases that the extracted item data can have can be expressed as a regular expression. For example, a string can be simply represented as '. *'.

추출 항목 데이터가 갖는 규칙을 반영하여 응답 정규 표현식이 생성되므로, 이를 포함하는 응답 시그너처들(RSG)은 단말로 입력되는 웹 트래픽의 고유 특성을 나타낼 수 있다. 즉, 응답 시그너처들(RSG)을 생성함으로써 단말에서 구동되는 어플리케이션이 생성하는 웹 트래픽의 고유 특성이 분석될 수 있다.Since the response regular expression is generated by reflecting the rules of the extracted item data, the response signatures (RSG) including the response regular expressions can represent the unique characteristics of the web traffic inputted to the terminal. That is, the unique characteristics of the web traffic generated by the application running on the terminal can be analyzed by generating the response signatures (RSG).

실시예에 따라, 응답 시그너처 생성부(160)는 응답 시그너처 항목 특정부, 응답 정규 표현식 생성부, 및 응답 정규 표현식 대응부를 포함할 수 있다.According to an embodiment, the response signature generator 160 may include a response signature item specifying unit, a response regular expression generating unit, and a response regular expression correspondence unit.

응답 시그너처 항목 특정부는 역컴파일 텍스트(DT)에서 기 설정된 함수를 찾음으로써 추출 항목을 특정할 수 있다. 여기서 기 설정된 함수는 추출 항목에 대응되는 추출 항목 데이터를 응답 데이터에서 추출하는 함수일 수 있다. 예를 들어, 기 설정된 함수는 로그인 데이터를 응답 데이터의 관련 추출 항목에서 추출하는 함수일 수 있고, 제1 메시지 데이터를 응답 데이터의 관련 추출 항목에서 추출하는 함수일 수 있으며, 제2 메시지 데이터를 응답 데이터의 관련 추출 항목에서 추출하는 함수일 수 있다. 이렇듯 역컴파일 텍스트(DT)에서 기 설정된 함수가 존재하면, 이와 관련된 추출 항목이 존재할 수 있다. 따라서, 역컴파일 텍스트(DT)에서 기 설정된 함수를 찾음으로써 함수와 관련된 추출 항목이 특정될 수 있다.The Response Signature Item Specification can identify the extraction item by looking for a predetermined function in the decompiled text (DT). Here, the predetermined function may be a function for extracting extraction item data corresponding to the extraction item from the response data. For example, the predetermined function may be a function extracting the login data from the related extraction item of the response data, and may be a function extracting the first message data from the related extraction item of the response data, It can be a function to extract from the related extraction item. Thus, if there is a function preset in the decompressed text (DT), there may be an extraction item related to it. Thus, an extraction item associated with a function can be identified by looking for a predetermined function in the decompiled text (DT).

응답 정규 표현식 생성부는 추출 항목에 부여되는 데이터 형식에 따라 추출 항목 데이터가 갖는 모든 경우를 표현한 응답 정규 표현식을 생성할 수 있다. 각 추출 항목마다 데이터 형식이 실질적으로 상이할 수 있고, 이에 기초하여 생성된 응답 정규 표현식 또한 실질적으로 상이할 수 있다. 예를 들어, 로그인 데이터 항목에 부여되는 데이터 형식이 문자열이라면 이를 표현할 수 있는 '.*' 와 같은 응답 정규 표현식이 생성될 수 있다.The response regular expression generation unit can generate a response regular expression expressing all cases of the extracted item data according to the data format given to the extracted item. The data format may be substantially different for each extraction item, and the response regular expression generated based thereon may also be substantially different. For example, if the data type given to the login data item is a string, a response regular expression such as '. *' May be generated.

응답 정규 표현식 대응부는 추출 항목과 생성된 응답 정규 표현식을 대응시킬 수 있다. 각 추출 항목마다 실질적으로 상이한 응답 정규 표현식이 생성될 수 있고, 이렇게 생성된 응답 정규 표현식은 각 추출 항목과 대응될 수 있다. 예를 들어, 로그인 데이터 항목과 위에서 생성된 '.*' 와 같은 응답 정규 표현식은 서로 대응될 수 있다.The response regular expression correspondence unit can match the extracted item with the generated response regular expression. For each extracted item, a substantially different response regular expression may be generated, and the generated response regular expression may correspond to each extracted item. For example, the login data item and the response regular expression such as '. *' Generated above may correspond to each other.

시그너처 의존도 분석부(180)는 요청 시그너처들(QSG)과 응답 시그너처들(RSG) 사이의 의존도(dependency, DPD)를 분석할 수 있다. 이를 위해, 시그너처 의존도 분석부(180)는 응답 시그너처들(RSG) 중 일 응답 시그너처에 포함된 추출 항목이 요청 시그너처들(QSG) 중 일 요청 시그너처에 포함된 항목에 영향을 주는지 여부를 판단할 수 있다. 예를 들어, 단말에 의해 제1 응답 데이터에서 추출된 데이터가 제2 응답 데이터를 요청하기 위한 요청 형식에 사용되는지 여부가 판단될 수 있다.The signature dependency analysis unit 180 can analyze the dependency (DPD) between the request signatures (QSG) and the response signatures (RSG). To this end, the signature dependency analysis unit 180 can determine whether the extracted item included in one response signature of the response signatures (RSG) affects items included in one request signature of the request signatures (QSG) have. For example, it can be determined whether the data extracted from the first response data by the terminal is used in a request format for requesting the second response data.

시그너처 의존도 분석부(180)는 추출 항목에 관련된 변수를 추적함으로써 요청 형식을 생성하는 항목에 영향을 주는지 여부를 판단할 수 있다. 예를 들어, 정적 분석 방법 중 하나인 테인트 분석 방법에 기초하여 변수를 추적함으로써 일 응답 시그너처의 추출 항목이 일 요청 시그너처의 항목에 영향을 주는지 여부가 판단될 수 있다.The signature dependency analyzer 180 can determine whether or not it influences an item for generating a request format by tracking a variable related to the extracted item. For example, it can be determined whether the extracted item of one response signature affects an item of one request signature by tracking the variable based on the Tainted analysis method, which is one of the static analysis methods.

실시예에 따라, 일 응답 시그너처의 추출 항목 중 일부가 일 요청 시그너처의 항목 중 일부와 실질적으로 동일할 때, 상기 일 응답 시그너처와 상기 일 요청 시그너처 사이에 의존도(DPD)가 존재할 수 있다. 예를 들어, 제1 응답 데이터의 일 추출 항목에 대응되는 추출 항목 데이터가 제2 응답 데이터를 요청하는데 필요한 요청 형식의 일 항목을 생성하는데 실질적으로 동일하게 사용될 경우 제1 응답 데이터에 상응하는 일 응답 시그너처와 제2 응답 데이터에 상응하는 일 요청 시그너처 사이에 의존도(DPD)가 존재할 수 있다.Depending on the embodiment, there may be a dependency (DPD) between the one response signature and the one request signature when some of the items of the one response signature are substantially the same as some of the items of the one request signature. For example, if the extract item data corresponding to the one extract item of the first response data is used substantially the same as the one item of the request format necessary for requesting the second response data, There may be a dependency (DPD) between the signature and one request signature corresponding to the second response data.

시그너처 페어 생성부는 요청 시그너처들(QSG)을 응답 시그너처들(RSG)에 대응시킴으로써, 복수의 시그너처 페어들을 생성할 수 있다. 이를 위해, 시그너처 페어 생성부는 요청 시그너처들(QSG)과 응답 시그너처들(RSG) 사이에 외부참조함수들(f)이 공통되는지 여부를 판단할 수 있다. 예를 들어, 외부참조함수들(f) 중 일 외부참조함수에 입력되는 요청 형식에 상응하는 일 요청 시그너처와 상기 일 외부참조함수에 의해 수신된 응답 데이터의 처리에 상응하는 일 응답 시그너처는 대응될 수 있고, 그 결과 일 시그너처 페어가 생성될 수 있다.The signature pair generation unit can generate a plurality of signature pairs by mapping request signatures (QSG) to response signatures (RSG). To this end, the signature pair generator can determine whether the external reference functions f are common between the request signatures (QSG) and the response signatures (RSG). For example, one response signature corresponding to the processing of the one request signature corresponding to the request format entered into one out of the xref functions (f) and the response data received by the one xref function will correspond And as a result, one signature pair can be generated.

시그너처 페어 대응부는 시그너처 페어 생성부에 의해 생성된 시그너처 페어들 중 일 시그너처 페어와 다른 시그너처 페어를 의존도(DPD)에 기초하여 대응시킬 수 있다. 예를 들어, 일 시그너처 페어에 포함된 일 응답 시그너처와 다른 시그너처 페어에 포함된 일 요청 시그너처 사이에 의존도가 존재할 경우 시그너처 페어 대응부는 상기 일 시그너처 페어와 다른 시그너처 페어를 서로 대응시킬 수 있다.The signature pair correspondence section can map one of the signature pairs generated by the signature pair generation section to another signature pair based on the dependency (DPD). For example, if there is a dependency between one response signature included in one signature pair and one request signature included in another signature pair, the signature pair correspondence unit can associate the one signature pair with another signature pair.

본 발명의 실시예들에 따른 기계어 분석 장치(100)는 정규 표현식을 갖는 요청 시그너처들(QSG) 및 응답 시그너처들(RSG)을 생성함으로써 어플리케이션이 발생시키는 웹 트래픽의 고유 특징을 분석할 수 있다.The machine language analysis apparatus 100 according to embodiments of the present invention can analyze unique characteristics of web traffic generated by an application by generating request signatures (QSG) and response signatures (RSG) having a regular expression.

나아가, 본 발명의 실시예들에 따른 기계어 분석 장치(100)는 요청 시그너처들(QSG) 응답 시그너처들(RSG) 사이의 의존도(DPD)를 분석함으로써 어플리케이션이 발생시키는 웹 트래픽의 사이의 상관관계를 분석할 수 있다.Furthermore, the machine language analysis apparatus 100 according to embodiments of the present invention analyzes the dependency (DPD) between request signatures (QSG) response signatures (RSG) Can be analyzed.

도 2는 도 1의 기계어 분석 장치와 관련된 웹 트래픽을 발생시키는 통신 시스템의 일 예를 나타내는 블록도이고, 도 3은 도 2의 통신 시스템에서 단말과 외부 단말 사이에 전송되는 요청 형식 및 응답 데이터의 일 예를 나타내는 도면이다.FIG. 2 is a block diagram illustrating an example of a communication system for generating web traffic related to the machine language analyzing apparatus of FIG. 1, FIG. 3 is a diagram illustrating a request format and response data transmitted between a terminal and an external terminal in the communication system of FIG. Fig.

도 2 및 도 3을 참조하면, 통신 시스템은 단말(220) 및 외부 단말(240)을 포함할 수 있다. 단말(220)은 외부 단말(240)과 통신망으로 연결될 수 있다. 단말(220)은 외부 단말(240)이 갖는 응답 데이터(RD)를 프로토콜에 기초하여 생성된 요청 형식(RF)을 통해 요청할 수 있다. 여기서, 요청 형식(RF)는 소정의 항목을 가질 수 있다. 외부 단말(240)은 요청 형식(RF)의 목적에 따라 프로토콜에 기초하여 생성된 응답 데이터(RD)를 단말(220)에 전송할 수 있다.2 and 3, the communication system may include a terminal 220 and an external terminal 240. The terminal 220 may be connected to the external terminal 240 through a communication network. The terminal 220 can request the response data RD of the external terminal 240 through a request format (RF) generated based on the protocol. Here, the request format (RF) may have a predetermined item. The external terminal 240 can transmit the response data RD generated based on the protocol to the terminal 220 according to the purpose of the request format (RF).

요청 형식(RF)은 주소 항목(ADDRESS), 위치 항목(LOCATION) 및 권한 항목(ID, PASSWORD)을 포함할 수 있다. 주소 항목(ADDRESS)은 외부 단말(240)의 주소에 대응될 수 있다. 위치 항목(LOCATION)은 외부 단말(240)에서 응답 데이터(RD)가 갖는 위치에 대응될 수 있다. 권한 항목(ID, PASSWORD)은 응답 데이터(RD)에 접근할 수 있는 권한에 대응될 수 있다.The request format (RF) may include an address item (ADDRESS), a location item (LOCATION), and an authorization item (ID, PASSWORD). The address item ADDRESS may correspond to the address of the external terminal 240. The location item LOCATION may correspond to the location of the response data RD in the external terminal 240. The authorization item (ID, PASSWORD) may correspond to the authority to access the response data (RD).

예를 들어, 주소 항목(ADDRESS)은 어플리케이션이 필요로 하는 응답 데이터(RD)를 갖는 서버의 주소 데이터(A)에 대응될 수 있다. 위치 항목(LOCATION)은 서버 내에서 응답 데이터(RD)의 구체적 위치를 나타내는 위치 데이터(B)에 대응될 수 있다. 권한 항목(ID, PASSWORD)은 응답 데이터(RD)에 접근할 수 있는 권한 데이터(C, D)에 대응될 수 있다.For example, the address item ADDRESS may correspond to the address data A of the server having the response data RD required by the application. The location item LOCATION may correspond to location data B indicating the specific location of the response data RD in the server. The authorization item (ID, PASSWORD) may correspond to authorization data (C, D) that can access the response data (RD).

응답 데이터(RD)는 적어도 하나 이상의 항목을 가질 수 있다. 단말(220)은 응답 데이터(RD)의 일부만 이용할 수 있다. 여기서 추출 항목은 응답 데이터(RD)가 갖는 항목 중 단말(220)이 이용하는 추출 항목 데이터에 대응되는 항목일 수 있다.The response data RD may have at least one item. The terminal 220 can use only a part of the response data RD. Here, the extracted item may be an item corresponding to the extracted item data used by the terminal 220 among the items of the response data RD.

예를 들어, 응답 데이터(RD)는 로그인 데이터 항목(LOG IN), 로그인 시간 항목(TIME), 제1 메시지 항목(MSG1) 및 제2 메시지 항목(MSG2)을 포함할 수 있다. 여기서 로그인 데이터 항목(LOG IN)은 로그인 성공 여부 등의 정보를 갖는 로그인 데이터(E)에 대응될 수 있고, 로그인 시간 항목(TIME)은 로그인 시간 등의 정보를 갖는 로그인 시간 데이터(F)에 대응될 수 있으며, 제1 메시지 항목(MSG1)은 로그인에 관련된 제1 메시지 데이터(G)에 대응될 수 있고, 제2 메시지 항목(MSG2)은 로그인에 관련된 제2 메시지 데이터(H)에 대응될 수 있다.For example, the response data RD may include a login data item LOGIN, a login time item TIME, a first message item MSG1, and a second message item MSG2. Here, the login data item LOG IN may correspond to the login data E having information such as whether or not the login is successful, and the login time item TIME corresponds to the login time data F having information such as the login time And the first message item MSG1 may correspond to the first message data G related to the login and the second message item MSG2 may correspond to the second message data H related to the login have.

단말(220)은 응답 데이터(RD) 중 로그인 시간 항목(TIME)에 대응되는 로그인 시간 데이터(F)를 이용하지 않을 수 있다. 이 경우, 추출 항목은 로그인 데이터 항목(LOG IN), 제1 메시지 항목(MSG1) 및 제2 메시지 항목(MSG2)일 수 있다.The terminal 220 may not use the login time data F corresponding to the login time item TIME among the response data RD. In this case, the extracted item may be a login data item (LOG IN), a first message item (MSG1), and a second message item (MSG2).

여기서, 추출 항목(LOG IN, MSG1, MSG2)에 관련된 변수를 추적함으로써 요청 형식을 생성하는 항목에 영향을 주는지 여부가 판단될 수 있다. 실시예에 따라, 일 응답 시그너처의 추출 항목(LOG IN, MSG1, MSG2) 중 일부가 일 요청 시그너처의 항목 중 일부와 실질적으로 동일할 때, 상기 일 응답 시그너처와 상기 일 요청 시그너처 사이에 의존도가 존재할 수 있다. 예를 들어, 추출 항목(LOG IN, MSG1, MSG2) 중 일 추출 항목(예를 들어, 제1 메시지 항목(MSG1))에 대응되는 추출 항목 데이터(예를 들어, 제1 메시지 데이터(G))가 다른 응답 데이터를 요청하는데 필요한 요청 형식의 일 항목을 생성하는데 실질적으로 동일하게 사용될 경우 응답 데이터(RD)에 상응하는 일 응답 시그너처와 다른 응답 데이터에 상응하는 일 요청 시그너처 사이에 의존도가 존재할 수 있다.Here, it can be determined whether or not the item that generates the request format is affected by tracking the variables related to the extracted items (LOG IN, MSG1, MSG2). According to an embodiment, there is a dependency between the one response signature and the one request signature when some of the one of the one response signature's signature (LOG IN, MSG1, MSG2) is substantially the same as some of the items of the one request signature . For example, extraction item data (e.g., first message data G) corresponding to a first extraction item (for example, first message item MSG1) among extraction items (LOG IN, MSG1, MSG2) There may be a dependency between one response signature corresponding to the response data RD and one request signature corresponding to the other response data when used substantially the same to generate one item of the request format required to request the other response data .

도 4는 도 2의 통신 시스템에서 단말에서 실행되는 기계어 코드를 역컴파일하여 생성한 역컴파일 텍스트의 일 예를 나타내는 도면이고, 도 5는 도 4의 역컴파일 텍스트를 분석하여 생성한 요청 시그너처 및 응답 시그터처의 일 예를 나타내는 도면이다.FIG. 4 is a diagram illustrating an example of decompressed text generated by decompiling a machine code executed in a terminal in the communication system of FIG. 2. FIG. 5 is a diagram illustrating an example of a request signature and response 1 is a diagram showing an example of a signal.

도 4 및 도 5를 참조하면, 역컴파일 텍스트(DT)는 요청 형식 생성 부분(QSL), 경계점(DP) 및 응답 데이터 처리 부분(RSL)을 포함할 수 있다.4 and 5, the decompiled text DT may include a request format generation portion QSL, a boundary point DP, and a response data processing portion RSL.

외부참조함수(f)는 통신망으로 연결된 외부 단말이 갖는 응답 데이터(RD)를 소정의 항목을 포함한 요청 형식(RF)에 따라 단말이 요청하도록 단말을 제어할 수 있고, 응답 데이터(RD)를 단말이 수신하도록 단말을 제어할 수 있다. 예를 들어, 외부참조함수(f)는 역컴파일 텍스트(DT) 내에서 요청 형식(RF)을 입력받아 응답 데이터(RD)를 출력하는 함수일 수 있다. 따라서, 외부참조함수(f)를 경계로 요청 형식 생성 부분(QSL)과 응답 데이터 처리 부분(RSL)이 분리될 수 있다. 즉, 외부참조함수(f)는 경계점(DP)일 수 있다.The external reference function f can control the terminal to request the terminal according to the request format RF including the predetermined item of the response data RD of the external terminal connected to the communication network, The terminal can be controlled to receive it. For example, the external reference function f may be a function that receives the request format (RF) and outputs the response data RD within the decompiled text DT. Therefore, the request format generation part QSL and the response data processing part RSL can be separated from each other by the external reference function f. That is, the external reference function f may be a boundary point DP.

이러한 외부참조함수(f)는 역컴파일 텍스트(DT) 내에서 특정될 수 있다. 외부참조함수(f)를 특정하여 요청 형식 생성 부분(QSL)과 응답 데이터 처리 부분(RSL)을 분석함으로써 단말에서 구동되는 어플리케이션에 의해 발생되는 웹 트래픽의 고유 특징이 분석될 수 있다.This external reference function f may be specified within the decompiled text DT. By analyzing the request format generation part (QSL) and the response data processing part (RSL) by specifying the external reference function (f), the unique characteristics of the web traffic generated by the application running on the terminal can be analyzed.

역컴파일 텍스트(DT) 중 요청 형식(RF)을 생성하는데 영향을 주는 요청 형식 생성 부분(QSL)이 추출될 수 있다. 단말에서 출력되는 웹 트래픽의 고유 특징은 요청 형식 생성 부분(QSL)에 의해 결정될 수 있다. 따라서 분석의 범위를 요청 형식 생성 부분(QSL)으로 한정함으로써 분석의 효율이 증가될 수 있다. 예를 들어, 요청 시그너처(QSG)는 요청 형식 생성 부분(QSL)을 분석함으로써 생성될 수 있다.A Request Format Generation Part (QSL) may be extracted that affects the generation of Request Format (RF) among the decompiled text (DT). The unique characteristic of the web traffic output from the terminal can be determined by a request format generation part (QSL). Therefore, the efficiency of the analysis can be increased by limiting the scope of the analysis to the request format generation part (QSL). For example, the request signature (QSG) may be generated by analyzing the request format generation portion (QSL).

요청 형식(RF)에 포함된 항목에 관련된 변수(A, B, C, D)를 추적함으로써 요청 형식을 생성하는 데 영향을 주는지 여부가 판단될 수 있다. 예를 들어, 정적 분석 방법 중 하나인 테인트 분석 방법에 기초하여 변수(A, B, C, D)를 추적함으로써 역컴파일 텍스트(DT)에서 요청 형식 생성 부분(QSL)이 추출될 수 있다.It can be determined whether it affects the generation of the request format by tracking the variables (A, B, C, D) associated with the items included in the request format (RF). For example, the request format generation part (QSL) can be extracted from the decompiled text (DT) by tracking the variables (A, B, C, D) based on the Tain analysis method, which is one of the static analysis methods.

역컴파일 텍스트(DT)에서 기 설정된 함수(g1, g2, g3, g4, …)를 찾음으로써 항목(ADDRESS, LOCATION, ID, PASSWORD, …)이 특정될 수 있다. 여기서 기 설정된 함수(g1, g2, g3, g4, …)는 항목(ADDRESS, LOCATION, ID, PASSWORD, …)에 요청 항목 데이터(A, B, C, D, …)를 대응시키는 함수일 수 있다. 예를 들어, 기 설정된 함수는 요청 형식(RF)에 포함되는 주소 항목(ADDRESS)에 주소 데이터(A)를 대응시키는 함수(g1)일 수 있고, 위치 항목(LOCATION)에 위치 데이터(B)를 대응시키는 함수(g2)일 수 있으며, 권한 항목(ID, PASSWORD)에 권한 데이터(C, D)를 대응시키는 함수(g3, g4)일 수 있다. 이렇듯 역컴파일 텍스트(DT)에서 기 설정된 함수(g1, g2, g3, g4, …)가 존재하면, 이와 관련된 항목(ADDRESS, LOCATION, ID, PASSWORD, …)이 존재할 수 있다. 따라서, 역컴파일 텍스트(DT)에서 기 설정된 함수(g1, g2, g3, g4, …)를 찾음으로써 함수와 관련된 항목(ADDRESS, LOCATION, ID, PASSWORD, …)이 특정될 수 있다.(ADDRESS, LOCATION, ID, PASSWORD, ...) can be specified by searching for the predetermined functions g1, g2, g3, g4, ... in the decompiled text DT. Here, the predetermined functions g1, g2, g3, g4, ... may be a function for associating the request item data A, B, C, D, ... with the items ADDRESS, LOCATION, ID, PASSWORD, For example, the predetermined function may be a function g1 for associating the address data A with the address item ADDRESS included in the request format RF, and the position data B in the position item LOCATION And may be a function g3 or g4 for associating the authority data C and D with the authority item ID and PASSWORD. If the predefined functions (g1, g2, g3, g4, ...) exist in the decompressed text DT, there may exist items related thereto (ADDRESS, LOCATION, ID, PASSWORD, ...). Therefore, items (ADDRESS, LOCATION, ID, PASSWORD, ...) related to the function can be specified by searching for the predetermined functions g1, g2, g3, g4, ... in the decompiled text DT.

항목(ADDRESS, LOCATION, ID, PASSWORD, …)에 부여되는 데이터 형식에 따라 요청 항목 데이터(A, B, C, D, …)가 갖는 모든 경우를 표현한 요청 정규 표현식(RE1, RE2, RE3, RE4, …)이 생성될 수 있다. 각 항목(ADDRESS, LOCATION, ID, PASSWORD, …)마다 데이터 형식이 실질적으로 상이할 수 있고, 이에 기초하여 생성된 요청 정규 표현식(RE1, RE2, RE3, RE4, …) 또한 실질적으로 상이할 수 있다. 예를 들어, 주소 항목(ADDRESS)에 부여되는 데이터 형식이 문자열이라면 이를 표현할 수 있는 '.*' 와 같은 요청 정규 표현식(RE1)이 생성될 수 있다.(RE1, RE2, RE3, RE4) representing all the cases of the request item data (A, B, C, D, ...) according to the data format given to the item (ADDRESS, LOCATION, ID, PASSWORD, , ...) can be generated. The data format may be substantially different for each item (ADDRESS, LOCATION, ID, PASSWORD, ...) and the requested regular expression RE1, RE2, RE3, RE4, ... generated based thereon may also be substantially different . For example, if the data type given to the address item (ADDRESS) is a string, a request regular expression (RE1) such as '. *' That can express it can be generated.

항목(ADDRESS, LOCATION, ID, PASSWORD, …)과 생성된 요청 정규 표현식(RE1, RE2, RE3, RE4, …)은 대응될 수 있다. 각 항목(ADDRESS, LOCATION, ID, PASSWORD, …)마다 실질적으로 상이한 요청 정규 표현식(RE1, RE2, RE3, RE4, …)이 생성될 수 있고, 이렇게 생성된 요청 정규 표현식(RE1, RE2, RE3, RE4, …)은 각 항목(ADDRESS, LOCATION, ID, PASSWORD, …)과 대응될 수 있다. 예를 들어, 주소 항목(ADDRESS)과 위에서 생성된 '.*' 와 같은 요청 정규 표현식(RE1)은 서로 대응될 수 있다.The generated REQUEST REGULATION REQUIREMENTS RE1, RE2, RE3, RE4, ... may correspond to the items (ADDRESS, LOCATION, ID, PASSWORD, ...). The request regular expressions RE1, RE2, RE3, RE4, ... which are substantially different from one another can be generated for each item ADDRESS, LOCATION, ID, PASSWORD, RE4, ...) may correspond to each item (ADDRESS, LOCATION, ID, PASSWORD, ...). For example, an address entry (ADDRESS) and a request regular expression (RE1) such as '. *' Generated above may correspond to each other.

결과적으로, 요청 정규 표현식(RE1, RE2, RE3, RE4, …)은 항목(ADDRESS, LOCATION, ID, PASSWORD, …)에 대응되는 요청 항목 데이터(A, B, C, D, …)가 가질 수 있는 모든 경우를 정규 표현 방법에 기초하여 표현할 수 있고, 요청 시그너처(QSG)는 항목(ADDRESS, LOCATION, ID, PASSWORD, …)에 대응되는 요청 정규 표현식(RE1, RE2, RE3, RE4, …)을 가질 수 있다.As a result, the request regular expressions RE1, RE2, RE3, RE4, ... can have request item data A, B, C, D, ... corresponding to the items ADDRESS, LOCATION, ID, PASSWORD, (RE1, RE2, RE3, RE4, ...) corresponding to the items (ADDRESS, LOCATION, ID, PASSWORD, ...) can be represented on the basis of the regular expression method and the request signature (QSG) Lt; / RTI >

역컴파일 텍스트(DT) 중 추출 항목(LOG IN, MSG1, MSG2, …)에 의해 영향을 받는 응답 데이터 처리 부분(RSL)이 추출될 수 있다. 단말로 입력되는 웹 트래픽의 고유 특징은 응답 데이터 처리 부분(RSL)에 의해 결정될 수 있다. 따라서 분석의 범위를 응답 데이터 처리 부분(RSL)으로 한정함으로써 분석의 효율이 증가될 수 있다. 예를 들어, 응답 시그너처(RSG)는 응답 데이터 처리 부분(RSL)을 분석함으로써 생성될 수 있다.The response data processing part RSL affected by the extracted items LOG IN, MSG1, MSG2, ... in the decompressed text DT can be extracted. The unique characteristics of the web traffic inputted to the terminal can be determined by the response data processing part (RSL). Thus, by limiting the scope of the analysis to the Response Data Processing Part (RSL), the efficiency of the analysis can be increased. For example, a response signature (RSG) may be generated by analyzing the response data processing portion (RSL).

추출 항목(LOG IN, MSG1, MSG2, …)에 관련된 변수(E, G, H, …)를 추적함으로써 추출 항목(LOG IN, MSG1, MSG2, …)에 의해 영향을 받는지 여부가 판단될 수 있다. 예를 들어, 정적 분석 방법 중 하나인 테인트 분석 방법에 기초하여 변수(E, G, H, …)를 추적함으로써 역컴파일 텍스트(DT)에서 응답 데이터 처리 부분(RSL)이 추출될 수 있다.It can be judged whether or not it is influenced by the extracted items (LOG IN, MSG 1, MSG 2, ...) by tracking the variables (E, G, H, ...) related to the extracted items (LOG IN, MSG 1, MSG 2, . For example, the response data processing part (RSL) may be extracted from the decompiled text (DT) by tracking the variables (E, G, H, ...) based on the Tain analysis method, which is one of the static analysis methods.

역컴파일 텍스트(DT)에서 기 설정된 함수(h1, h2, h3, …)를 찾음으로써 추출 항목(LOG IN, MSG1, MSG2, …)이 특정될 수 있다. 여기서 기 설정된 함수(h1, h2, h3, …)는 추출 항목(LOG IN, MSG1, MSG2, …)에 대응되는 추출 항목 데이터(E, G, H, …)를 응답 데이터(RD)에서 추출하는 함수일 수 있다. 예를 들어, 기 설정된 함수는 로그인 데이터(E)를 응답 데이터(RD)의 관련 추출 항목(LOG IN)에서 추출하는 함수(h1)일 수 있고, 제1 메시지 데이터(G)를 응답 데이터(RD)의 관련 추출 항목(MSG1)에서 추출하는 함수(h2)일 수 있으며, 제2 메시지 데이터(H)를 응답 데이터(RD)의 관련 추출 항목(MSG2)에서 추출하는 함수(h3)일 수 있다. 이렇듯 역컴파일 텍스트(DT)에서 기 설정된 함수(h1, h2, h3, …)가 존재하면, 이와 관련된 추출 항목(LOG IN, MSG1, MSG2, …)이 존재할 수 있다. 따라서, 역컴파일 텍스트(DT)에서 기 설정된 함수(h1, h2, h3, …)를 찾음으로써 함수와 관련된 추출 항목(LOG IN, MSG1, MSG2, …)이 특정될 수 있다.(LOG IN, MSG1, MSG2, ...) can be specified by finding predetermined functions h1, h2, h3, ... in the decompiled text DT. Here, the predetermined functions h1, h2, h3,... Are extracted from the response data RD from the extraction item data E, G, H, ... corresponding to the extraction items LOG IN, MSG1, MSG2, Function. For example, the predetermined function may be a function h1 for extracting the login data E from the related extraction item LOG IN of the response data RD, and the first message data G to the response data RD And a function h3 for extracting the second message data H from the related extraction item MSG2 of the response data RD. The function h2 may be a function h2 extracted from the related extraction item MSG1 of the response data RD. Thus, if there are functions (h1, h2, h3, ...) predefined in the decompressed text DT, the extracted items LOG IN, MSG1, MSG2,. Therefore, the extraction items (LOG IN, MSG1, MSG2, ...) associated with the function can be specified by finding the predetermined functions h1, h2, h3, ... in the decompiled text DT.

추출 항목(LOG IN, MSG1, MSG2, …)에 부여되는 데이터 형식에 따라 추출 항목 데이터(E, G, H, …)가 갖는 모든 경우를 표현한 추출 정규 표현식(RE5, RE6, RE7, …)이 생성될 수 있다. 각 추출 항목(LOG IN, MSG1, MSG2, …)마다 데이터 형식이 실질적으로 상이할 수 있고, 이에 기초하여 생성된 추출 정규 표현식(RE5, RE6, RE7, …) 또한 실질적으로 상이할 수 있다. 예를 들어, 로그인 데이터 항목(LOG IN)에 부여되는 데이터 형식이 문자열이라면 이를 표현할 수 있는 '.*' 와 같은 추출 정규 표현식(RE5)이 생성될 수 있다.(RE5, RE6, RE7, ...) expressing all cases of the extracted item data (E, G, H, ...) according to the data format given to the extracted items LOG IN, MSG1, MSG2, Lt; / RTI > The data format may be substantially different for each extraction item (LOG IN, MSG1, MSG2, ...), and the extraction regular expressions (RE5, RE6, RE7, ...) generated based thereon may also be substantially different. For example, if the data type given to the login data item (LOG IN) is a string, an extraction regular expression (RE5) such as '. *' That can express it can be generated.

추출 항목(LOG IN, MSG1, MSG2, …)과 생성된 추출 정규 표현식(RE5, RE6, RE7, …)은 대응될 수 있다. 각 추출 항목(LOG IN, MSG1, MSG2, …)마다 실질적으로 상이한 추출 정규 표현식(RE5, RE6, RE7, …)이 생성될 수 있고, 이렇게 생성된 추출 정규 표현식(RE5, RE6, RE7, …)은 각 추출 항목(LOG IN, MSG1, MSG2, …)과 대응될 수 있다. 예를 들어, 로그인 데이터 항목(LOG IN)과 위에서 생성된 '.*' 와 같은 추출 정규 표현식(RE5)은 서로 대응될 수 있다.The extracted items (LOG IN, MSG1, MSG2, ...) and the extracted extracted regular expressions (RE5, RE6, RE7, ...) can be matched. RE6, RE7, ...) may be generated for each of the extracted items (LOG IN, MSG1, MSG2, ...), and the extracted extracted regular expressions (RE5, RE6, Can correspond to each extracted item (LOG IN, MSG1, MSG2, ...). For example, the login data item (LOG IN) and the extracted regular expression (RE5) such as '. *' Generated above may correspond to each other.

결과적으로, 추출 정규 표현식(RE5, RE6, RE7, …)은 추출 항목(LOG IN, MSG1, MSG2, …)에 대응되는 추출 항목 데이터(E, G, H, …)가 가질 수 있는 모든 경우를 정규 표현 방법에 기초하여 표현할 수 있고, 응답 시그너처(RSG)는 추출 항목(LOG IN, MSG1, MSG2, …)에 대응되는 추출 정규 표현식(RE5, RE6, RE7, …)을 가질 수 있다.As a result, the extraction regular expressions (RE5, RE6, RE7, ...) are all cases in which the extraction item data (E, G, H, ...) corresponding to the extraction items (LOG IN, MSG1, MSG2, And the response signature RSG may have extraction regular expressions RE5, RE6, RE7, ... corresponding to the extracted items LOG IN, MSG1, MSG2, ....

도 6은 본 발명의 실시예들에 따른 기계어 분석 방법을 나타내는 순서도이다.6 is a flowchart illustrating a machine language analysis method according to embodiments of the present invention.

도 6을 참조하면, 기계어를 분석함에 있어서, 외부참조함수들이 역컴파일 텍스트 내에서 특정(S120)될 수 있고, 복수의 요청 시그너처들이 생성(S140)될 수 있으며, 복수의 응답 시그너처들이 생성(S160)될 수 있고, 요청 시그너처들과 응답 시그너처들 사이의 의존도가 분석(S180)될 수 있다. 실시예에 따라, 복수의 시그너처 페어들이 생성될 수 있고, 일 시그너처 페어와 다른 시그너처 페어가 대응될 수 있다. 실시예에 따라, 역컴파일 텍스트가 생성될 수 있다. 실시예에 따라, 요청 형식 생성 부분이 추출될 수 있고, 응답 데이터 처리 부분이 추출될 수 있다.Referring to FIG. 6, in analyzing the machine language, the outer reference functions may be specified (S120) within the decompiled text, a plurality of request signatures may be created (S140), a plurality of response signatures are generated ), And the dependency between the request signatures and the response signatures can be analyzed (S180). According to an embodiment, a plurality of signature pairs may be generated, and one signature pair and another signature pair may be mapped. Depending on the embodiment, the decompiled text may be generated. According to the embodiment, the request format generation portion can be extracted, and the response data processing portion can be extracted.

단말에서 실행되는 기계어 코드를 역컴파일함으로써 역컴파일 텍스트가 생성될 수 있다. 상대적으로 저수준에 있는 기계어를 역컴파일함으로써 분석이 상대적으로 용이한 고수준의 프로그램 코드가 생성될 수 있고, 이러한 프로그램 코드를 포함하는 역컴파일 텍스트가 생성될 수 있다. 실시예에 따라, 기계어는 안드로이드 운영체제 상에서 단말을 구동시킬 수 있다. 예를 들어, 안드로이드 운영체제 상에서 단말을 구동하는 기계어의 집합인 안드로이드 응용 프로그램 패키지는 고수준의 프로그램 언어인 자바 등으로 구성된 프로그램 코드로 상대적으로 용이하게 역컴파일될 수 있다.The decompiled text can be generated by decompiling the machine code executed in the terminal. By decompiling a relatively low level machine language, high level program code can be generated that is relatively easy to analyze, and decompile text containing such program code can be generated. According to an embodiment, the machine language can run the terminal on the Android operating system. For example, an Android application package, which is a collection of machine language that runs on a terminal on the Android operating system, can be relatively easily decompiled with program code composed of Java, etc., which is a high-level programming language.

단말의 동작을 제어하는 것은 단말에서 실행되는 기계어 코드일 수 있다. 기계어는 역컴파일 텍스트를 컴파일함으로써 생성될 수 있으므로, 역컴파일 텍스트를 분석함으로써 단말에서 실행되는 기계어 코드가 분석될 수 있다.The control of the operation of the terminal may be machine code executed in the terminal. Since the machine language can be generated by compiling the decompiled text, the machine code executed on the terminal can be analyzed by analyzing the decompiled text.

복수의 외부참조함수들은 역컴파일 텍스트 내에서 특정(S120)될 수 있다. 여기서, 외부참조함수들은 단말을 각각 제어할 수 있고, 단말은 외부참조함수들(f)의 제어에 따라 통신망으로 연결된 외부 단말에 대해 외부 단말이 갖는 응답 데이터를 요청할 수 있다. 실시예에 따라, 외부참조함수들은 외부 단말이 갖는 응답 데이터를 단말이 수신하도록 단말을 각각 제어할 수 있다.A plurality of external reference functions may be specified (S120) within the decompiled text. Here, the external reference functions can control each of the terminals, and the terminal can request response data of the external terminal to external terminals connected to the communication network under the control of the external reference functions f. According to an embodiment, the external reference functions can control each of the terminals so that the terminal receives the response data of the external terminal.

단말은 단말에서 구동되는 어플리케이션의 목적에 따라 외부 단말이 갖는 응답 데이터를 필요로 할 수 있고, 외부 단말에 대해 응답 데이터를 전송해줄 것을 요청할 수 있다.The terminal may require response data of the external terminal according to the purpose of the application running on the terminal, and may request the external terminal to transmit the response data.

이러한 단말의 동작을 제어하는 기계어는 이를 역컴파일한 역컴파일 텍스트를 분석함으로써 분석될 수 있다. 따라서, 역컴파일 텍스트 내에서 상기 동작을 제어하는 외부참조함수들을 분석함으로써 단말의 동작으로 발생되는 웹 트래픽의 고유 특징이 분석될 수 있다.The machine language that controls the operation of these terminals can be analyzed by analyzing the decompiled text of the decompiled text. Thus, by analyzing the external reference functions controlling the operation within the decompiled text, the intrinsic characteristics of the web traffic generated by the operation of the terminal can be analyzed.

여기서 단말은 소정의 항목을 포함한 요청 형식에 따라 응답 데이터를 요청할 수 있다. 실시예에 따라, 요청 형식은 주소 항목, 위치 항목 및 권한 항목을 포함할 수 있다. 주소 항목은 외부 단말의 주소에 대응될 수 있다. 위치 항목은 외부 단말에서 응답 데이터가 갖는 위치에 대응될 수 있다. 권한 항목은 응답 데이터에 접근할 수 있는 권한에 대응될 수 있다.Here, the terminal may request response data according to a request format including a predetermined item. According to an embodiment, the request format may include an address entry, a location entry, and an authority entry. The address item may correspond to the address of the external terminal. The location item may correspond to the location of the response data in the external terminal. An authority entry may correspond to authority to access response data.

예를 들어, 주소 항목은 어플리케이션이 필요로 하는 응답 데이터를 갖는 서버의 주소 데이터에 대응될 수 있다. 위치 항목은 서버 내에서 응답 데이터의 구체적 위치를 나타내는 위치 데이터에 대응될 수 있다. 권한 항목은 응답 데이터에 접근할 수 있는 권한 데이터에 대응될 수 있다.For example, the address entry may correspond to the address data of the server having the response data required by the application. The location item may correspond to location data indicating a specific location of the response data in the server. The authorization item may correspond to authorization data that can access the response data.

일 실시예에서, 응답 데이터는 적어도 하나 이상의 항목을 포함할 수 있다. 단말은 응답 데이터의 일부만 이용할 수 있다. 여기서 추출 항목은 응답 데이터가 갖는 항목 중 단말이 이용하는 추출 항목 데이터에 대응되는 항목일 수 있다.In one embodiment, the response data may include at least one or more items. The terminal can use only a part of the response data. Here, the extracted item may be an item corresponding to the extracted item data used by the terminal among the items of the response data.

예를 들어, 응답 데이터는 로그인 데이터 항목, 로그인 시간 항목, 제1 메시지 항목 및 제2 메시지 항목을 포함할 수 있다. 여기서 로그인 데이터 항목은 로그인 성공 여부 등의 정보를 갖는 로그인 데이터에 대응될 수 있고, 로그인 시간 항목은 로그인 시간 등의 정보를 갖는 로그인 시간 데이터에 대응될 수 있으며, 제1 메시지 항목은 로그인에 관련된 제1 메시지 데이터에 대응될 수 있고, 제2 메시지 항목은 로그인에 관련된 제2 메시지 데이터에 대응될 수 있다.For example, the response data may include a login data item, a login time item, a first message item, and a second message item. Here, the login data item may correspond to the login data having information such as whether or not the login is successful, the login time item may correspond to the login time data having the information such as the login time, and the first message item may be associated with the login 1 message data, and the second message item may correspond to the second message data associated with the login.

단말은 응답 데이터 중 로그인 시간 항목에 대응되는 로그인 시간 데이터를 이용하지 않을 수 있다. 이 경우, 추출 항목은 로그인 데이터 항목, 제1 메시지 항목 및 제2 메시지 항목일 수 있다.The terminal may not use the login time data corresponding to the login time item in the response data. In this case, the extracted item may be a login data item, a first message item, and a second message item.

다른 실시예에서, 응답 데이터는 단순히 단말의 요청을 수신완료했음을 나타내는 요청 상태 코드만을 포함할 수 있다.In another embodiment, the response data may only include a request status code indicating that the request for the terminal has been received.

역컴파일 텍스트 중 요청 형식을 생성하는데 영향을 주는 요청 형식 생성 부분이 추출될 수 있다. 단말에서 출력되는 웹 트래픽의 고유 특징은 요청 형식 생성 부분에 의해 결정될 수 있다. 따라서 분석의 범위를 요청 형식 생성 부분으로 한정함으로써 분석의 효율이 증가될 수 있다. 예를 들어, 요청 시그너처들은 요청 형식 생성 부분을 분석함으로써 생성될 수 있다.A portion of the request format generation that affects the generation of the request format among the decompiled texts may be extracted. The unique characteristic of the web traffic output from the terminal can be determined by the request format generation part. Therefore, the efficiency of the analysis can be increased by limiting the scope of the analysis to the request format generation part. For example, request signatures can be generated by analyzing the request format generation portion.

요청 형식에 포함된 항목에 관련된 변수를 추적함으로써 요청 형식을 생성하는 데 영향을 주는지 여부가 판단될 수 있다. 예를 들어, 정적 분석 방법 중 하나인 테인트 분석 방법에 기초하여 변수를 추적함으로써 역컴파일 텍스트에서 요청 형식 생성 부분이 추출될 수 있다.It can be determined whether it affects the generation of the request format by tracking the variables associated with the items included in the request format. For example, the request format generation part can be extracted from the decompiled text by tracking the variable based on the Tain analysis method, which is one of the static analysis methods.

항목에 대응되는 요청 항목 데이터가 가질 수 있는 모든 경우를 정규 표현 방법에 기초하여 표현한 요청 정규 표현식을 각각 갖는 복수의 요청 시그너처들이 생성(S140)될 수 있다. 여기서 정규 표현 방법은 형식 언어를 이용하여 특정한 규칙을 가진 문자열의 집합을 표현하는 방법일 수 있다. 따라서 요청 항목 데이터가 갖는 규칙을 분석하여 요청 항목 데이터가 가질 수 있는 모든 경우를 정규 표현식으로 표현할 수 있다. 예를 들어, 문자열은 '.*'와 같이 단순히 표현될 수 있다.A plurality of request signatures each having a request regular expression expressing every case that the request item data corresponding to the item can have (S140) can be generated based on the regular expression method. Here, the regular expression method may be a method of representing a set of strings having a specific rule using a formal language. Therefore, by analyzing the rule of the request item data, all the cases that the request item data can have can be expressed as a regular expression. For example, a string can simply be represented as '. *'.

요청 항목 데이터가 갖는 규칙을 반영하여 요청 정규 표현식이 생성되므로, 이를 포함하는 요청 시그너처들은 단말에서 출력되는 웹 트래픽의 고유 특성을 나타낼 수 있다. 즉, 요청 시그너처들을 생성함으로써 단말에서 구동되는 어플리케이션이 생성하는 웹 트래픽의 고유 특성이 분석될 수 있다.Since the request regular expression is generated by reflecting the rule of the request item data, the request signatures including the request regular expression can represent the characteristic of the web traffic outputted from the terminal. That is, the unique characteristics of the web traffic generated by the application running on the terminal can be analyzed by generating the request signatures.

실시예에 따라, 요청 시그너처들이 생성(S140)됨에 있어서, 요청 형식의 항목이 특정될 수 있고, 요청 정규 표현식이 생성될 수 있으며, 항목과 요청 정규 표현식이 대응될 수 있다.In accordance with an embodiment, in request signatures are created (S140), an item of the request form can be specified, a request regular expression can be generated, and the item and the request regular expression can be matched.

역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 항목이 특정될 수 있다. 여기서 기 설정된 함수는 항목에 요청 항목 데이터를 대응시키는 함수일 수 있다. 예를 들어, 기 설정된 함수는 요청 형식에 포함되는 주소 항목에 주소 데이터를 대응시키는 함수일 수 있고, 위치 항목에 위치 데이터를 대응시키는 함수일 수 있으며, 권한 항목에 권한 데이터를 대응시키는 함수일 수 있다. 이렇듯 역컴파일 텍스트에서 기 설정된 함수가 존재하면, 이와 관련된 항목이 존재할 수 있다. 따라서, 역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 함수와 관련된 항목이 특정될 수 있다.The item can be specified by looking for a preset function in the decompiled text. Here, the predetermined function may be a function for mapping the item item data to the item. For example, the predetermined function may be a function that maps address data to address items included in a request format, a function that maps position data to position items, and a function that maps authority data to authority items. If there is a predefined function in the decompiled text, there may be an item related to it. Thus, the item associated with the function can be specified by looking for a preset function in the decompiled text.

항목에 부여되는 데이터 형식에 따라 요청 항목 데이터가 갖는 모든 경우를 표현한 요청 정규 표현식이 생성될 수 있다. 각 항목마다 데이터 형식이 실질적으로 상이할 수 있고, 이에 기초하여 생성된 요청 정규 표현식 또한 실질적으로 상이할 수 있다. 예를 들어, 주소 항목에 부여되는 데이터 형식이 문자열이라면 이를 표현할 수 있는 '.*' 와 같은 요청 정규 표현식이 생성될 수 있다.A request regular expression expressing all cases of the request item data may be generated according to a data format given to the item. The data format may be substantially different for each item, and the requested regular expression generated based thereon may also be substantially different. For example, if the data type given to the address entry is a string, a request regular expression such as '. *' May be generated to represent it.

항목과 생성된 요청 정규 표현식은 대응될 수 있다. 각 항목마다 실질적으로 상이한 요청 정규 표현식이 생성될 수 있고, 이렇게 생성된 요청 정규 표현식은 각 항목과 대응될 수 있다. 예를 들어, 주소 항목과 위에서 생성된 '.*' 와 같은 요청 정규 표현식은 서로 대응될 수 있다.The item and the generated request regular expression can be matched. A substantially different request regular expression may be generated for each item, and the generated request regular expression may correspond to each item. For example, an address entry and a request regular expression such as '. *' Generated above can be matched to each other.

역컴파일 텍스트 중 추출 항목에 의해 영향을 받는 응답 데이터 처리 부분이 추출될 수 있다. 단말로 입력되는 웹 트래픽의 고유 특징은 응답 데이터 처리 부분에 의해 결정될 수 있다. 따라서 분석의 범위를 응답 데이터 처리 부분으로 한정함으로써 분석의 효율이 증가될 수 있다. 예를 들어, 응답 시그너처들은 응답 데이터 처리 부분을 분석함으로써 생성될 수 있다.The response data processing part affected by the extracted items in the decompiled text can be extracted. The unique characteristic of the web traffic inputted to the terminal can be determined by the response data processing part. Therefore, the efficiency of analysis can be increased by limiting the scope of the analysis to the response data processing part. For example, response signatures can be generated by analyzing the response data processing portion.

추출 항목에 관련된 변수를 추적함으로써 추출 항목에 의해 영향을 받는지 여부가 판단될 수 있다. 예를 들어, 정적 분석 방법 중 하나인 테인트 분석 방법에 기초하여 변수를 추적함으로써 역컴파일 텍스트에서 응답 데이터 처리 부분이 추출될 수 있다.By tracking the variables associated with the extracted items, it can be determined whether they are affected by the extracted items. For example, the response data processing part can be extracted from the decompiled text by tracing the variable based on the taint analysis method, which is one of the static analysis methods.

추출 항목 데이터가 가질 수 있는 모든 경우를 정규 표현 방법에 기초하여 표현한 응답 정규 표현식을 각각 갖는 복수의 응답 시그너처들이 생성(S160)될 수 있다. 여기서 정규 표현 방법은 형식 언어를 이용하여 특정한 규칙을 가진 문자열의 집합을 표현하는 방법일 수 있다. 따라서 추출 항목 데이터가 갖는 규칙을 분석하여 추출 항목 데이터가 가질 수 있는 모든 경우를 정규 표현식으로 표현할 수 있다. 예를 들어, 문자열의 경우 '.*' 와 같이 단순히 표현할 수 있다.A plurality of response signatures each having a response regular expression expressing every case that the extracted item data can have based on the regular expression method may be generated (S160). Here, the regular expression method may be a method of representing a set of strings having a specific rule using a formal language. Therefore, by analyzing the rule of the extracted item data, all the cases that the extracted item data can have can be expressed as a regular expression. For example, a string can be simply represented as '. *'.

추출 항목 데이터가 갖는 규칙을 반영하여 응답 정규 표현식이 생성되므로, 이를 포함하는 응답 시그너처들은 단말로 입력되는 웹 트래픽의 고유 특성을 나타낼 수 있다. 즉, 응답 시그너처들을 생성함으로써 단말에서 구동되는 어플리케이션이 생성하는 웹 트래픽의 고유 특성이 분석될 수 있다.Since the response regular expression is generated by reflecting the rule of the extracted item data, the response signatures including the response regular expressions can represent the characteristic of the web traffic inputted to the terminal. That is, the unique characteristics of the web traffic generated by the application running on the terminal can be analyzed by generating the response signatures.

실시예에 따라, 응답 시그너처들이 생성(S160)됨에 있어서, 추출 항목이 특정될 수 있고, 응답 정규 표현식이 생성될 수 있으며, 추출 항목과 응답 정규 표현식이 대응될 수 있다.In accordance with an embodiment, in generating response symbols (S160), an extraction item can be specified, a response regular expression can be generated, and the extraction item and the response regular expression can be matched.

역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 추출 항목이 특정될 수 있다. 여기서 기 설정된 함수는 추출 항목에 대응되는 추출 항목 데이터를 응답 데이터에서 추출하는 함수일 수 있다. 예를 들어, 기 설정된 함수는 로그인 데이터를 응답 데이터의 관련 추출 항목에서 추출하는 함수일 수 있고, 제1 메시지 데이터를 응답 데이터의 관련 추출 항목에서 추출하는 함수일 수 있으며, 제2 메시지 데이터를 응답 데이터의 관련 추출 항목에서 추출하는 함수일 수 있다. 이렇듯 역컴파일 텍스트에서 기 설정된 함수가 존재하면, 이와 관련된 추출 항목이 존재할 수 있다. 따라서, 역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 함수와 관련된 추출 항목이 특정될 수 있다.The extracted item can be specified by looking for a preset function in the decompiled text. Here, the predetermined function may be a function for extracting extraction item data corresponding to the extraction item from the response data. For example, the predetermined function may be a function extracting the login data from the related extraction item of the response data, and may be a function extracting the first message data from the related extraction item of the response data, It can be a function to extract from the related extraction item. If there is a predefined function in the decompiled text, there may be an extraction item related to it. Thus, the extraction items associated with the function can be specified by looking for a preset function in the decompiled text.

추출 항목에 부여되는 데이터 형식에 따라 추출 항목 데이터가 갖는 모든 경우를 표현한 응답 정규 표현식이 생성될 수 있다. 각 추출 항목마다 데이터 형식이 실질적으로 상이할 수 있고, 이에 기초하여 생성된 응답 정규 표현식 또한 실질적으로 상이할 수 있다. 예를 들어, 로그인 데이터 항목에 부여되는 데이터 형식이 문자열이라면 이를 표현할 수 있는 '.*' 와 같은 응답 정규 표현식이 생성될 수 있다.A response regular expression expressing all cases of the extracted item data may be generated according to the data format given to the extracted item. The data format may be substantially different for each extraction item, and the response regular expression generated based thereon may also be substantially different. For example, if the data type given to the login data item is a string, a response regular expression such as '. *' May be generated.

추출 항목과 생성된 응답 정규 표현식은 대응될 수 있다. 각 추출 항목마다 실질적으로 상이한 응답 정규 표현식이 생성될 수 있고, 이렇게 생성된 응답 정규 표현식은 각 추출 항목과 대응될 수 있다. 예를 들어, 로그인 데이터 항목과 위에서 생성된 '.*' 와 같은 응답 정규 표현식은 서로 대응될 수 있다.The extracted item and the generated response regular expression can be matched. For each extracted item, a substantially different response regular expression may be generated, and the generated response regular expression may correspond to each extracted item. For example, the login data item and the response regular expression such as '. *' Generated above may correspond to each other.

요청 시그너처들과 응답 시그너처들 사이의 의존도가 분석(S180)될 수 있다. 이를 위해, 응답 시그너처들 중 일 응답 시그너처에 포함된 추출 항목이 요청 시그너처들 중 일 요청 시그너처에 포함된 항목에 영향을 주는지 여부가 판단될 수 있다. 예를 들어, 단말에 의해 제1 응답 데이터에서 추출된 데이터가 제2 응답 데이터를 요청하기 위한 요청 형식에 사용되는지 여부가 판단될 수 있다.The dependency between the request signatures and the response signatures can be analyzed (S180). To this end, it may be determined whether the extracted item included in one response signature of the response signatures affects items included in one request signature of the request signatures. For example, it can be determined whether the data extracted from the first response data by the terminal is used in a request format for requesting the second response data.

추출 항목에 관련된 변수를 추적함으로써 요청 형식을 생성하는 항목에 영향을 주는지 여부가 판단될 수 있다. 예를 들어, 정적 분석 방법 중 하나인 테인트 분석 방법에 기초하여 변수를 추적함으로써 일 응답 시그너처의 추출 항목이 일 요청 시그너처의 항목에 영향을 주는지 여부가 판단될 수 있다.It can be judged whether or not the item generating the request format is influenced by tracking the variable related to the extracted item. For example, it can be determined whether the extracted item of one response signature affects an item of one request signature by tracking the variable based on the Tainted analysis method, which is one of the static analysis methods.

실시예에 따라, 일 응답 시그너처의 추출 항목 중 일부가 일 요청 시그너처의 항목 중 일부와 실질적으로 동일할 때, 상기 일 응답 시그너처와 상기 일 요청 시그너처 사이에 의존도가 존재할 수 있다. 예를 들어, 제1 응답 데이터의 일 추출 항목에 대응되는 추출 항목 데이터가 제2 응답 데이터를 요청하는데 필요한 요청 형식의 일 항목을 생성하는데 실질적으로 동일하게 사용될 경우 제1 응답 데이터에 상응하는 일 응답 시그너처와 제2 응답 데이터에 상응하는 일 요청 시그너처 사이에 의존도가 존재할 수 있다.Depending on the embodiment, there may be a dependency between the one response signature and the one request signature when some of the items of the one response signature are substantially the same as some of the items of the one request signature. For example, if the extract item data corresponding to the one extract item of the first response data is used substantially the same as the one item of the request format necessary for requesting the second response data, There may be a dependency between the signature and one request signature corresponding to the second response data.

요청 시그너처들을 응답 시그너처들에 대응시킴으로써, 복수의 시그너처 페어들이 생성될 수 있다. 이를 위해, 요청 시그너처들과 응답 시그너처들 사이에 외부참조함수들이 공통되는지 여부가 판단될 수 있다. 예를 들어, 외부참조함수들 중 일 외부참조함수에 입력되는 요청 형식에 상응하는 일 요청 시그너처와 상기 일 외부참조함수에 의해 수신된 응답 데이터의 처리에 상응하는 일 응답 시그너처는 대응될 수 있고, 그 결과 일 시그너처 페어가 생성될 수 있다.By associating request signatures with response signatures, a plurality of signature pairs can be generated. To this end, it may be determined whether the external reference functions are common between the request signatures and the response signatures. For example, one response signature corresponding to the processing of one request signature corresponding to the request format entered into one out of the external reference functions and the response data received by the one external reference function may correspond, As a result, one signature pair can be generated.

의존도에 기초하여 시그너처 페어들 중 일 시그너처 페어와 다른 시그너처 페어가 대응될 수 있다. 예를 들어, 일 시그너처 페어에 포함된 일 응답 시그너처와 다른 시그너처 페어에 포함된 일 요청 시그너처 사이에 의존도가 존재할 경우 상기 일 시그너처 페어와 다른 시그너처 페어는 서로 대응될 수 있다.Depending on the dependency, one of the signature pairs may be mapped to another signature pair. For example, if there is a dependency between one response signature included in one signature pair and one request signature included in another signature pair, the one signature pair and the other signature pair may correspond to each other.

본 발명의 실시예들에 따른 기계어 분석 방법은 정규 표현식을 갖는 요청 시그너처들 및 응답 시그너처들을 생성함으로써 어플리케이션이 발생시키는 웹 트래픽의 고유 특징을 분석할 수 있다.The machine language analysis method according to embodiments of the present invention can analyze unique characteristics of web traffic generated by an application by generating request signatures and response signatures having a regular expression.

나아가, 본 발명의 실시예들에 따른 기계어 분석 장치 및 기계어 분석 방법은 요청 시그너처들 응답 시그너처들 사이의 의존도를 분석함으로써 어플리케이션이 발생시키는 웹 트래픽의 사이의 상관관계를 분석할 수 있다.Furthermore, the machine language analyzer and the machine language analysis method according to the embodiments of the present invention can analyze the correlation between web traffic generated by the application by analyzing the dependency between the request signatures and the response signatures.

이상, 본 발명의 실시예들에 따른 기계어 분석 장치 및 기계어 분석 방법에 대하여 도면을 참조하여 설명하였지만, 상기 설명은 예시적인 것으로서 본 발명의 기술적 사상을 벗어나지 않는 범위에서 해당 기술 분야에서 통상의 지식을 가진 자에 의하여 수정 및 변경될 수 있을 것이다. 예를 들어, 상기에서는 항목으로 주소 항목, 위치 항목 및 권한 항목을 예시하였으나, 항목의 종류는 이에 한정되는 것이 아니다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it should be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined in the following claims. And can be modified and changed by those skilled in the art. For example, address items, location items, and authority items are illustrated as items in the above description, but the types of items are not limited thereto.

본 발명은 외부 단말의 응답 데이터를 요청하는 어플리케이션을 구동시킬 수 있는 전자 기기에 다양하게 적용될 수 있다. 예를 들어, 본 발명은 컴퓨터, 노트북, 디지털 카메라, 비디오 캠코더, 휴대폰, 스마트폰, 스마트패드, 피엠피(PMP), 피디에이(PDA), MP3 플레이어, 차량용 네비게이션, 비디오폰, 감시 시스템, 추적 시스템, 동작 감지 시스템 등에 적용될 수 있다.The present invention can be variously applied to an electronic apparatus that can drive an application that requests response data of an external terminal. For example, the present invention may be applied to a computer, a notebook, a digital camera, a video camcorder, a mobile phone, a smart phone, a smart pad, a PMP, a PDA, an MP3 player, A motion detection system, and the like.

상기에서는 본 발명의 실시예들을 참조하여 설명하였지만, 해당 기술분야에서 통상의 지식을 가진 자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those skilled in the art that various changes and modifications may be made therein without departing from the spirit and scope of the invention as defined in the appended claims. You will understand.

100: 기계어 분석 장치
120: 함수 특정부
140: 요청 시그너처 생성부
160: 응답 시그너처 생성부
180: 시그너처 의존도 분석부
220: 단말
240: 외부 단말
100: Machine tool analyzer
120: function specific part
140: request signature generation unit
160: Response signature generation unit
180: Signature Dependency Analysis Unit
220: terminal
240: external terminal

Claims (15)

통신망으로 연결된 외부 단말이 갖는 응답 데이터에 대해 소정의 항목이 포함된 요청 형식에 따라 단말이 요청하도록 상기 단말을 각각 제어하는 복수의 외부참조함수들을 상기 단말에서 실행되는 기계어 코드의 역컴파일(decompile) 텍스트 내에서 특정하는 함수 특정부;
상기 요청 형식의 상기 항목에 대응되는 요청 항목 데이터가 가질 수 있는 모든 경우를 정규 표현(regular expression) 방법에 기초하여 표현한 요청 정규 표현식을 각각 갖는 복수의 요청 시그너처(signature)들을 생성하는 요청 시그너처 생성부;
상기 응답 데이터 중 상기 단말이 이용하는 추출 항목에 대응되는 추출 항목 데이터가 가질 수 있는 모든 경우를 상기 정규 표현 방법에 기초하여 표현한 응답 정규 표현식을 각각 갖는 복수의 응답 시그너처들을 생성하는 응답 시그너처 생성부; 및
상기 응답 시그너처들 중 일 응답 시그너처의 상기 추출 항목이 상기 요청 시그너처들 중 일 요청 시그너처의 상기 항목에 영향을 주는지 여부에 기초하여, 상기 요청 시그너처들과 상기 응답 시그너처들 사이의 의존도(dependency)를 분석하는 시그너처 의존도 분석부;를 포함하는 기계어 분석 장치.
A plurality of external reference functions for controlling each of the terminals to request the terminal according to a request format including a predetermined item with respect to the response data of the external terminal connected to the communication network are decompiled into machine code executed in the terminal, A function specification part specifying in the text;
A request signature generation unit for generating a plurality of request signatures each having a request regular expression expressing every case that request item data corresponding to the item of the request format can have on the basis of a regular expression method, ;
A response signature generation unit for generating a plurality of response signatures each having a response regular expression in which all items of the response data corresponding to the extracted item used by the terminal can be represented based on the regular expression method; And
And analyzing a dependency between the request signatures and the response signatures based on whether the extracted item of the one of the response signatures affects the item of the one request signature of the request signatures. And a signature dependency analyzing unit for analyzing the signature.
제 1 항에 있어서,
상기 외부참조함수들이 공통되는지 여부에 기초하여 상기 요청 시그너처들을 상기 응답 시그너처들에 대응시킴으로써, 복수의 시그너처 페어들을 생성하는 시그너처 페어 생성부; 및
상기 의존도에 기초하여 상기 시그너처 페어들 중 일 시그너처 페어와 다른 시그너처 페어를 대응시키는 시그너처 페어 대응부;를 더 포함하는 것을 특징으로 하는 기계어 분석 장치.
The method according to claim 1,
A signature pair generation unit for generating a plurality of signature pairs by associating the request signatures with the response signatures based on whether the external reference functions are common; And
And a signature pair correspondence unit for associating one signature pair among the signature pairs with another signature pair based on the dependency.
제 1 항에 있어서,
상기 역컴파일 텍스트를 생성하는 역컴파일부;를 더 포함하는 것을 특징으로 하는 기계어 분석 장치.
The method according to claim 1,
And a decompiling unit for generating the decompiled text.
제 1 항에 있어서,
상기 역컴파일 텍스트 중 상기 요청 형식을 생성하는데 영향을 주는 요청 형식 생성 부분을 추출하는 요청 슬라이스 추출부; 및
상기 역컴파일 텍스트 중 상기 추출 항목에 의해 영향을 받는 응답 데이터 처리 부분을 추출하는 응답 슬라이스 추출부;를 더 포함하고,
상기 요청 시그너처는 상기 요청 형식 생성 부분을 분석함으로써 생성되고, 상기 응답 시그너처는 상기 응답 데이터 처리 부분을 분석함으로써 생성되는 것을 특징으로 하는 기계어 분석 장치.
The method according to claim 1,
A request slice extracting unit for extracting a request format generation part that affects generation of the request format among the decompiled texts; And
And a response slice extracting unit for extracting a response data processing part affected by the extraction item among the decompiled texts,
Wherein the request signature is generated by analyzing the request format generation portion and the response signature is generated by analyzing the response data processing portion.
제 1 항에 있어서, 상기 요청 형식은
상기 외부 단말의 주소에 대응되는 주소 항목;
상기 외부 단말에서 상기 응답 데이터가 갖는 위치에 대응되는 위치 항목; 및
상기 응답 데이터에 접근할 수 있는 권한에 대응되는 권한 항목;을 포함하는 것을 특징으로 하는 기계어 분석 장치.
The method of claim 1,
An address item corresponding to an address of the external terminal;
A position item corresponding to a position of the response data in the external terminal; And
And an authority item corresponding to an authority to access the response data.
제 1 항에 있어서, 상기 요청 시그너처 생성부는
상기 역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 상기 요청 형식의 상기 항목을 특정하는 요청 시그너처 항목 특정부;
상기 요청 형식의 상기 항목에 부여되는 데이터 형식에 따라 상기 요청 항목 데이터가 갖는 모든 경우를 표현한 상기 요청 정규 표현식을 생성하는 요청 정규 표현식 생성부; 및
상기 요청 형식의 상기 항목과 상기 생성된 요청 정규 표현식을 대응시키는 요청 정규 표현식 대응부;를 포함하는 것을 특징으로 하는 기계어 분석 장치.
The method of claim 1, wherein the request signature generator
A request signature item specifying unit for specifying the item of the request format by finding a predetermined function in the decompiled text;
A request regular expression generation unit for generating the request regular expression expressing all cases of the request item data according to a data format given to the item of the request format; And
And a request regular expression correspondence unit for associating the item of the request format with the generated request regular expression.
제 6 항에 있어서, 상기 기 설정된 함수는 상기 요청 형식의 상기 항목에 상기 요청 항목 데이터를 대응시키는 함수인 것을 특징으로 하는 기계어 분석 장치.The machine analysis apparatus of claim 6, wherein the predetermined function is a function for mapping the request item data to the item of the request format. 제 1 항에 있어서, 상기 응답 시그너처 생성부는
상기 역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 상기 추출 항목을 특정하는 응답 시그너처 항목 특정부;
상기 추출 항목에 부여되는 데이터 형식에 따라 상기 추출 항목 데이터가 갖는 모든 경우를 표현한 상기 응답 정규 표현식을 생성하는 응답 정규 표현식 생성부; 및
상기 추출 항목과 상기 생성된 응답 정규 표현식을 대응시키는 응답 정규 표현식 대응부;를 포함하는 것을 특징으로 하는 기계어 분석 장치.
The method of claim 1, wherein the response signature generation unit
A response signature item specifying unit for specifying the extracted item by finding a predetermined function in the decompiled text;
A response regular expression generation unit for generating the response regular expression expressing all cases of the extracted item data according to a data format given to the extracted item; And
And an answer regular expression correspondence unit for associating the extracted item with the generated response regular expression.
제 8 항에 있어서, 상기 기 설정된 함수는 상기 추출 항목 데이터를 상기 응답 데이터에서 추출하는 함수인 것을 특징으로 하는 기계어 분석 장치.The machine analysis apparatus according to claim 8, wherein the predetermined function is a function for extracting the extraction item data from the response data. 기계어 분석 장치에서 실행되는 기계어 분석 방법에 있어서,
함수 특정부가 통신망으로 연결된 외부 단말이 갖는 응답 데이터에 대해 소정의 항목이 포함된 요청 형식에 따라 단말이 요청하도록 상기 단말을 각각 제어하는 복수의 외부참조함수들을 상기 단말에서 실행되는 기계어 코드의 역컴파일 텍스트 내에서 특정하는 단계;
요청 시그너처 생성부가 상기 요청 형식의 상기 항목에 대응되는 요청 항목 데이터가 가질 수 있는 모든 경우를 정규 표현 방법에 기초하여 표현한 요청 정규 표현식을 각각 갖는 복수의 요청 시그너처들을 생성하는 단계;
응답 시그너처 생성부가 상기 응답 데이터 중 상기 단말이 이용하는 추출 항목에 대응되는 추출 항목 데이터가 가질 수 있는 모든 경우를 상기 정규 표현 방법에 기초하여 표현한 응답 정규 표현식을 각각 갖는 복수의 응답 시그너처들을 생성하는 단계; 및
시그너처 의존도 분석부가 상기 응답 시그너처들 중 일 응답 시그너처의 상기 추출 항목이 상기 요청 시그너처들 중 일 요청 시그너처의 상기 항목에 영향을 주는지 여부에 기초하여, 상기 요청 시그너처들과 상기 응답 시그너처들 사이의 의존도를 분석하는 단계;를 포함하는 기계어 분석 방법.
A machine language analysis method executed in a machine language analysis apparatus,
A plurality of external reference functions for controlling each of the terminals to request the terminal according to a request format including a predetermined item with respect to the response data of the external terminal connected to the function specific accessory communication network, Specifying within the text;
Generating a plurality of request signatures each having a request regular expression each representing a case in which the request signature generator generates all cases that the request item data corresponding to the item of the request format can have, based on the regular expression method;
Generating a plurality of response signatures each having a response regular expression in which all of the response item data corresponding to the extracted item used by the terminal among the response data is represented based on the regular expression method; And
The signature dependency analysis unit determines the dependency between the request signatures and the response signatures based on whether the extracted item of the one of the response signatures affects the item of the request signature of the request signatures And analyzing the machine language.
제 10 항에 있어서,
시그너처 페어 생성부가 상기 외부참조함수들이 공통되는지 여부에 기초하여 상기 요청 시그너처들을 상기 응답 시그너처들에 대응시킴으로써, 복수의 시그너처 페어들을 생성하는 단계; 및
시그너처 페어 대응부가 상기 의존도에 기초하여 상기 시그너처 페어들 중 일 시그너처 페어와 다른 시그너처 페어를 대응시키는 단계;를 더 포함하는 것을 특징으로 하는 기계어 분석 방법.
11. The method of claim 10,
Generating a plurality of signature pairs by mapping the request signatures to the response signatures based on whether the external reference functions are common; And
Further comprising: mapping a signature pair of the signature pairs to another signature pair based on the dependency of the signature pair counterpart.
제 10 항에 있어서,
역컴파일부가 상기 역컴파일 텍스트를 생성하는 단계;를 더 포함하는 것을 특징으로 하는 기계어 분석 방법.
11. The method of claim 10,
And the decompiling unit generates the decompiled text. ≪ Desc / Clms Page number 19 >
제 10 항에 있어서,
요청 슬라이스 추출부가 상기 역컴파일 텍스트 중 상기 요청 형식을 생성하는데 영향을 주는 요청 형식 생성 부분을 추출하는 단계; 및
응답 슬라이스 추출부가 상기 역컴파일 텍스트 중 상기 추출 항목에 의해 영향을 받는 응답 데이터 처리 부분을 추출하는 단계;를 더 포함하고,
상기 요청 시그너처는 상기 요청 형식 생성 부분을 분석함으로써 생성되고, 상기 응답 시그너처는 상기 응답 데이터 처리 부분을 분석함으로써 생성되는 기계어 분석 방법.
11. The method of claim 10,
Extracting a request format generation part that affects the request slice extraction part to generate the request format among the decompiled text; And
The response slice extracting step extracting a response data processing part affected by the extraction item in the decompiled text,
Wherein the request signature is generated by analyzing the request format generation portion and the response signature is generated by analyzing the response data processing portion.
제 10 항에 있어서, 상기 요청 시그너처들을 생성하는 단계는
요청 시그너처 항목 특정부가 상기 역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 상기 요청 형식의 상기 항목을 특정하는 단계;
요청 정규 표현식 생성부가 상기 요청 형식의 상기 항목에 부여되는 데이터 형식에 따라 상기 요청 항목 데이터가 갖는 모든 경우를 표현한 상기 요청 정규 표현식을 생성하는 단계; 및
요청 정규 표현식 대응부가 상기 요청 형식의 상기 항목과 상기 생성된 요청 정규 표현식을 대응시키는 단계;를 포함하는 것을 특징으로 하는 기계어 분석 방법.
11. The method of claim 10, wherein generating the request signatures comprises:
Identifying the item of the request type by the requested signature item specific part looking for a predetermined function in the decompiled text;
The request regular expression generating unit generating the request regular expression expressing all cases of the request item data according to the data format given to the item of the request format; And
And the requesting regular expression correspondence unit associating the item of the request format with the generated request regular expression.
제 10 항에 있어서, 상기 응답 시그너처들을 생성하는 단계는
응답 시그너처 항목 특정부가 상기 역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 상기 추출 항목을 특정하는 단계;
응답 정규 표현식 생성부가 상기 추출 항목에 부여되는 데이터 형식에 따라 상기 추출 항목 데이터가 갖는 모든 경우를 표현한 상기 응답 정규 표현식을 생성하는 단계; 및
응답 정규 표현식 대응부가 상기 추출 항목과 상기 생성된 응답 정규 표현식을 대응시키는 단계;를 포함하는 것을 특징으로 하는 기계어 분석 방법.
11. The method of claim 10, wherein generating the response signatures comprises:
Identifying the extracted item by finding a predetermined function in the decompiled text of the response signature item specifying part;
The response regular expression generating unit generating the response regular expression expressing all cases of the extracted item data according to a data format given to the extracted item; And
And the response regular expression correspondence unit associating the extracted item with the generated response regular expression.
KR1020160075849A 2016-06-17 2016-06-17 Device and methods of analyzing dependency between network signatures or between signature pairs KR101869377B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160075849A KR101869377B1 (en) 2016-06-17 2016-06-17 Device and methods of analyzing dependency between network signatures or between signature pairs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160075849A KR101869377B1 (en) 2016-06-17 2016-06-17 Device and methods of analyzing dependency between network signatures or between signature pairs

Publications (2)

Publication Number Publication Date
KR20170142415A KR20170142415A (en) 2017-12-28
KR101869377B1 true KR101869377B1 (en) 2018-06-20

Family

ID=60939930

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160075849A KR101869377B1 (en) 2016-06-17 2016-06-17 Device and methods of analyzing dependency between network signatures or between signature pairs

Country Status (1)

Country Link
KR (1) KR101869377B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140021774A (en) * 2012-08-10 2014-02-20 주식회사 아이디어웨어 Device for detection of application packet pattern

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000071957A (en) 2000-05-09 2000-12-05 황대훈 Web Traffic Control System Through a Grant of Priority Order and Control Method Thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140021774A (en) * 2012-08-10 2014-02-20 주식회사 아이디어웨어 Device for detection of application packet pattern

Also Published As

Publication number Publication date
KR20170142415A (en) 2017-12-28

Similar Documents

Publication Publication Date Title
US11120018B2 (en) Spark query method and system supporting trusted computing
CN111311251B (en) Binding processing method, device and equipment
CN109214196B (en) Data interaction method, device and equipment
KR20150122149A (en) Compiler based obfuscation
CN108090351B (en) Method and apparatus for processing request message
CN104598815B (en) Recognition methods, device and the client of malice advertising program
JP2016524765A (en) Method and apparatus for generating a customized software development kit (SDK)
CN103607385A (en) Method and apparatus for security detection based on browser
CN110084064B (en) Big data analysis processing method and system based on terminal
CN107995153B (en) Form data verification method and form data verification device
JP6121447B2 (en) Reducing web browsing overhead using external code proof
CN110532176A (en) A kind of formalization verification method, electronic device and the storage medium of intelligence contract
CN111770063B (en) Derivation and verification method, device and equipment for digital identity information
CN110071924B (en) Big data analysis method and system based on terminal
CN110704816B (en) Interface cracking recognition method, device, equipment and storage medium
CN108494762A (en) Web access method, device and computer readable storage medium, terminal
CN112434348A (en) Data verification processing method, device and equipment
CN113946602A (en) Data searching method, device, equipment and medium
EP1422958B1 (en) Permission token management system, permission token management method, program and recording medium
CN105930713A (en) Method and terminal for generating identifying codes
CN108153745B (en) Application data calling method and application development system
KR101869377B1 (en) Device and methods of analyzing dependency between network signatures or between signature pairs
CN115203674A (en) Automatic login method, system, device and storage medium for application program
CN105550250A (en) Access log processing method and apparatus
CN113220949B (en) Construction method and device of private data identification system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right