KR101803443B1 - 네트워크 행동을 하는 어플리케이션의 프로토콜을 분석하는 기계어 분석 방법 및 기계어 분석 장치 - Google Patents

네트워크 행동을 하는 어플리케이션의 프로토콜을 분석하는 기계어 분석 방법 및 기계어 분석 장치 Download PDF

Info

Publication number
KR101803443B1
KR101803443B1 KR1020160009924A KR20160009924A KR101803443B1 KR 101803443 B1 KR101803443 B1 KR 101803443B1 KR 1020160009924 A KR1020160009924 A KR 1020160009924A KR 20160009924 A KR20160009924 A KR 20160009924A KR 101803443 B1 KR101803443 B1 KR 101803443B1
Authority
KR
South Korea
Prior art keywords
item
response data
text
decompiled
terminal
Prior art date
Application number
KR1020160009924A
Other languages
English (en)
Other versions
KR20170089563A (ko
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 KR1020160009924A priority Critical patent/KR101803443B1/ko
Publication of KR20170089563A publication Critical patent/KR20170089563A/ko
Application granted granted Critical
Publication of KR101803443B1 publication Critical patent/KR101803443B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • G06F17/271
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L67/16

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

기계어 분석 방법은 역컴파일 텍스트(decompile text)를 생성하는 단계, 외부참조함수를 특정하는 단계 및 요청 시그너처(signature)를 생성하는 단계를 포함한다. 단말에서 실행되는 기계어 코드를 역컴파일(decompile)함으로써 역컴파일 텍스트가 생성될 수 있다. 통신망으로 연결된 외부 단말이 갖는 응답 데이터를 소정의 항목을 포함한 요청 형식에 따라 단말이 요청하도록 단말을 제어하는 외부참조함수가 역컴파일 텍스트 내에서 특정될 수 있다. 항목에 대응되는 항목 데이터가 가질 수 있는 모든 경우를 정규 표현(regular expression) 방법에 기초하여 표현한 정규 표현식을 갖는 요청 시그너처가 생성될 수 있다.

Description

네트워크 행동을 하는 어플리케이션의 프로토콜을 분석하는 기계어 분석 방법 및 기계어 분석 장치{METHOD OF ANALYZING MACHINE LANGUAGE AND MACHINE LANGUAGE ANALYZING DEVICE}
본 발명은 기계어 분석 방법에 관한 것으로, 보다 상세하게는 네트워크 행동을 하는 어플리케이션의 프로토콜을 분석하는 기계어 분석 방법 및 기계어 분석 장치에 관한 것이다.
반도체 기술이 발전하면서 휴대하기 쉬우면서도 성능이 향상된 스마트 기기가 제조되고 있다. 기존의 전자 기기와 달리 최근의 스마트 기기는 향상된 성능을 바탕으로 인터넷에 연결되어 다른 기기들과 정보를 주고받을 수 있다.
그러나 인터넷으로 연결된 스마트 기기가 증가함에 따라 스마트 기기에서 발생되는 웹 트래픽(web traffic) 또한 증가하게 되었고, 특히 스마트 기기에서 구동되는 어플리케이션들은 각각의 서비스 목적에 따라 네트워크 행동을 하면서 웹 트래픽을 발생시킨다.
따라서 증가된 웹 트래픽에 대응하여 적시에 적절한 서비스를 제공할 수 있도록 웹 트래픽을 효율적으로 관리할 필요가 있다. 특히 웹 상에서 어플리케이션들 각각이 생성하는 웹 트래픽의 고유 특징을 분석할 수 있다면, 어플리케이션들 각각에 상응하는 웹 트래픽 관리가 가능해질 수 있다.
이를 위해 아래 선행기술문헌은 웹 트래픽에 우선순위를 부여하는 내용을 설명하고 있으나, 어플리케이션들 각각이 생성하는 웹 트래픽의 고유 특징을 분석하는 내용을 포함하고 있지 않다는 문제점이 있다.
한국 공개특허 특2000-0071957(공개일자 2000년 12월 05일)
본 발명의 일 목적은 어플리케이션이 구동되는 단말에서 출력되는 웹 트래픽의 고유 특징을 분석할 수 있는 기계어 분석 방법 및 기계어 분석 장치를 제공하는 것이다.
본 발명의 다른 목적은 어플리케이션이 구동되는 단말로 입력되는 웹 트래픽의 고유 특징을 분석할 수 있는 기계어 분석 방법 및 기계어 분석 장치를 제공하는 것이다.
다만, 본 발명의 목적은 상기 목적들로 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.
본 발명의 일 목적을 달성하기 위하여, 본 발명의 실시예들에 따른 기계어 분석 방법은 단말에서 실행되는 기계어 코드를 역컴파일(decompile)함으로써 역컴파일 텍스트(decompile text)를 생성하는 단계, 통신망으로 연결된 외부 단말이 갖는 응답 데이터를 소정의 항목을 포함한 요청 형식에 따라 상기 단말이 요청하도록 상기 단말을 제어하는 외부참조함수를 상기 역컴파일 텍스트 내에서 특정하는 단계 및 상기 항목에 대응되는 항목 데이터가 가질 수 있는 모든 경우를 정규 표현(regular expression) 방법에 기초하여 표현한 정규 표현식을 갖는 요청 시그너처(signature)를 생성하는 단계를 포함한다.
일 실시예에 의하면, 상기 역컴파일 텍스트 중 상기 요청 형식을 생성하는데 영향을 주는 요청 형식 생성 부분을 추출하는 단계를 더 포함할 수 있고, 상기 요청 시그너처는 상기 요청 형식 생성 부분을 분석함으로써 생성될 수 있다.
일 실시예에 의하면, 상기 기계어는 안드로이드 운영체제 상에서 상기 단말을 구동시킬 수 있다.
일 실시예에 의하면, 상기 요청 형식은 상기 외부 단말의 주소에 대응되는 주소 항목, 상기 외부 단말에서 상기 응답 데이터가 갖는 위치에 대응되는 위치 항목 및 상기 응답 데이터에 접근할 수 있는 권한에 대응되는 권한 항목을 포함할 수 있다.
일 실시예에 의하면, 상기 요청 시그너처를 생성하는 단계는 상기 역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 상기 항목을 특정하는 단계, 상기 항목에 부여되는 데이터 형식에 따라 상기 항목 데이터가 갖는 모든 경우를 표현한 상기 정규 표현식을 생성하는 단계 및 상기 항목과 상기 생성된 정규 표현식을 대응시키는 단계를 포함할 수 있다.
일 실시예에 의하면, 상기 기 설정된 함수는 상기 항목에 상기 항목 데이터를 대응시키는 함수일 수 있다.
본 발명의 다른 목적을 달성하기 위하여, 본 발명의 실시예들에 따른 기계어 분석 방법은 단말에서 실행되는 기계어 코드를 역컴파일함으로써 역컴파일 텍스트를 생성하는 단계, 통신망으로 연결된 외부 단말이 갖는 응답 데이터를 상기 단말이 수신하도록 상기 단말을 제어하는 외부참조함수를 상기 역컴파일 텍스트 내에서 특정하는 단계 및 상기 응답 데이터 중 상기 단말이 이용하는 추출 항목에 대응되는 항목 데이터가 가질 수 있는 모든 경우를 정규 표현 방법에 기초하여 표현한 정규 표현식을 갖는 응답 시그너처를 생성하는 단계를 포함한다.
일 실시예에 의하면, 상기 역컴파일 텍스트 중 상기 추출 항목에 의해 영향을 받는 응답 데이터 처리 부분을 추출하는 단계를 더 포함할 수 있고, 상기 응답 시그너처는 상기 응답 데이터 처리 부분을 분석함으로써 생성될 수 있다.
일 실시예에 의하면, 상기 기계어는 안드로이드 운영체제 상에서 상기 단말을 구동시킬 수 있다.
일 실시예에 의하면, 상기 응답 시그너처를 생성하는 단계는 상기 역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 상기 추출 항목을 특정하는 단계, 상기 추출 항목에 부여되는 데이터 형식에 따라 상기 항목 데이터가 갖는 모든 경우를 표현한 상기 정규 표현식을 생성하는 단계 및 상기 추출 항목과 상기 생성된 정규 표현식을 대응시키는 단계를 포함할 수 있다.
일 실시예에 의하면, 상기 기 설정된 함수는 상기 항목 데이터를 상기 응답 데이터에서 추출하는 함수일 수 있다.
본 발명의 일 목적을 달성하기 위하여, 본 발명의 실시예들에 따른 기계어 분석 장치는 단말에서 실행되는 기계어 코드를 역컴파일함으로써 역컴파일 텍스트를 생성하는 역컴파일부, 통신망으로 연결된 외부 단말이 갖는 응답 데이터를 소정의 항목을 포함한 요청 형식에 따라 상기 단말이 요청하도록 상기 단말을 제어하는 외부참조함수를 상기 역컴파일 텍스트 내에서 특정하는 함수 특정부 및 상기 항목에 대응되는 항목 데이터가 가질 수 있는 모든 경우를 정규 표현 방법에 기초하여 표현한 정규 표현식을 갖는 요청 시그너처를 생성하는 시그너처 생성부를 포함할 수 있다.
본 발명의 다른 목적을 달성하기 위하여, 본 발명의 실시예들에 따른 기계어 분석 장치는 단말에서 실행되는 기계어 코드를 역컴파일함으로써 역컴파일 텍스트를 생성하는 역컴파일부, 통신망으로 연결된 외부 단말이 갖는 응답 데이터를 상기 단말이 수신하도록 상기 단말을 제어하는 외부참조함수를 상기 역컴파일 텍스트 내에서 특정하는 함수 특정부 및 상기 응답 데이터 중 상기 단말이 이용하는 추출 항목에 대응되는 항목 데이터가 가질 수 있는 모든 경우를 정규 표현 방법에 기초하여 표현한 정규 표현식을 갖는 응답 시그너처를 생성하는 시그너처 생성부를 포함할 수 있다.
본 발명의 실시예들에 따른 기계어 분석 방법은 정규 표현식을 갖는 요청 시그너처 또는 응답 시그너처 중 적어도 하나 이상을 생성함으로써 어플리케이션이 발생시키는 웹 트래픽의 고유 특징을 분석할 수 있다.
다만, 본 발명의 효과는 상기 효과들로 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.
도 1은 본 발명의 실시예들에 따른 기계어 분석 방법을 나타내는 순서도이다.
도 2는 본 발명의 실시예들에 따른 기계어 분석 방법을 나타내는 순서도이다.
도 3은 도 1의 기계어 분석 방법 또는 도 2의 기계어 분석 방법과 관련된 웹 트래픽을 발생시키는 통신 시스템의 일 예를 나타내는 블록도이다.
도 4는 도 3의 통신 시스템에서 단말과 외부 단말 사이에 전송되는 요청 형식 및 응답 데이터의 일 예를 나타내는 도면이다.
도 5는 도 3의 통신 시스템에서 단말에서 실행되는 기계어 코드를 역컴파일하여 생성한 역컴파일 텍스트의 일 예를 나타내는 도면이다.
도 6은 도 5의 역컴파일 텍스트를 분석하여 생성한 요청 시그너처 및 응답 시그터처의 일 예를 나타내는 도면이다.
도 7은 본 발명의 실시예들에 따른 기계어 분석 장치를 나타내는 블록도이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 기계어 분석 방법을 나타내는 순서도이다.
도 1을 참조하면, 기계어 분석 방법은 역컴파일 텍스트(decompile text)를 생성(S120)할 수 있고, 외부참조함수를 역컴파일 텍스트 내에서 특정(S140)할 수 있으며, 정규 표현식을 갖는 요청 시그너처(signature)를 생성(S180)할 수 있다. 실시예에 따라, 기계어의 분석 방법은 요청 형식 생성 부분을 추출(S160)할 수 있다.
단말에서 실행되는 기계어 코드를 역컴파일(decompile)함으로써 역컴파일 텍스트가 생성(S120)될 수 있다. 상대적으로 저수준에 있는 기계어를 역컴파일함으로써 분석이 상대적으로 용이한 고수준의 프로그램 코드가 생성될 수 있고, 이러한 프로그램 코드를 포함하는 역컴파일 텍스트가 생성될 수 있다. 실시예에 따라, 기계어는 안드로이드 운영체제 상에서 단말을 구동시킬 수 있다. 예를 들어, 안드로이드 운영체제 상에서 단말을 구동하는 기계어의 집합인 안드로이드 응용 프로그램 패키지(Android application package; APK)는 고수준의 프로그램 언어인 자바(JAVA) 등으로 구성된 프로그램 코드로 상대적으로 용이하게 역컴파일될 수 있다.
단말의 동작을 제어하는 것은 단말에서 실행되는 기계어 코드일 수 있다. 기계어는 역컴파일 텍스트를 컴파일(compile)함으로써 생성될 수 있으므로, 역컴파일 텍스트를 분석함으로써 단말에서 실행되는 기계어 코드가 분석될 수 있다.
통신망으로 연결된 외부 단말이 갖는 응답 데이터를 단말이 요청하도록 단말을 제어하는 외부참조함수가 역컴파일 텍스트 내에서 특정(S140)될 수 있다.
단말은 단말에서 구동되는 어플리케이션의 목적에 따라 외부 단말이 갖는 응답 데이터를 필요로 할 수 있고, 외부 단말에 대해 응답 데이터를 전송해줄 것을 요청할 수 있다. 일 실시예에서, 응답 데이터는 적어도 하나 이상의 항목을 포함할 수 있다. 다른 실시예에서, 응답 데이터는 단순히 단말의 요청을 수신완료했음을 나타내는 요청 상태 코드만을 포함할 수 있다.
이러한 단말의 동작을 제어하는 기계어는 이를 역컴파일한 역컴파일 텍스트를 분석함으로써 분석될 수 있다. 따라서, 역컴파일 텍스트 내에서 상기 동작을 제어하는 외부참조함수를 분석함으로써 단말의 동작으로 발생되는 웹 트래픽의 고유 특징이 분석될 수 있다.
여기서 단말은 소정의 항목을 포함한 요청 형식에 따라 응답 데이터를 요청할 수 있다. 실시예에 따라, 요청 형식은 주소 항목, 위치 항목 및 권한 항목을 포함할 수 있다. 주소 항목은 외부 단말의 주소에 대응될 수 있다. 위치 항목은 외부 단말에서 응답 데이터가 갖는 위치에 대응될 수 있다. 권한 항목은 응답 데이터에 접근할 수 있는 권한에 대응될 수 있다.
예를 들어, 주소 항목은 어플리케이션이 필요로 하는 응답 데이터를 갖는 서버의 주소 데이터에 대응될 수 있다. 위치 항목은 서버 내에서 응답 데이터의 구체적 위치를 나타내는 위치 데이터에 대응될 수 있다. 권한 항목은 응답 데이터에 접근할 수 있는 권한 데이터에 대응될 수 있다.
역컴파일 텍스트 중 요청 형식을 생성하는데 영향을 주는 요청 형식 생성 부분이 추출(S160)될 수 있다. 단말에서 출력되는 웹 트래픽의 고유 특징은 요청 형식 생성 부분에 의해 결정될 수 있다. 따라서 분석의 범위를 요청 형식 생성 부분으로 한정함으로써 분석의 효율이 증가될 수 있다. 예를 들어, 요청 시그너처는 요청 형식 생성 부분을 분석함으로써 생성될 수 있다.
요청 형식에 포함된 항목에 관련된 변수를 추적함으로써 요청 형식을 생성하는 데 영향을 주는지 여부가 판단될 수 있다. 예를 들어, 정적 분석 방법(static analysis) 중 하나인 테인트(taint) 분석 방법에 기초하여 변수를 추적함으로써 역컴파일 텍스트에서 요청 형식 생성 부분이 추출될 수 있다.
항목에 대응되는 항목 데이터가 가질 수 있는 모든 경우를 정규 표현(regular expression) 방법에 기초하여 표현한 정규 표현식을 갖는 요청 시그너처가 생성(S180)될 수 있다. 여기서 정규 표현 방법은 형식 언어를 이용하여 특정한 규칙을 가진 문자열의 집합을 표현하는 방법일 수 있다. 따라서 항목 데이터가 갖는 규칙을 분석하여 항목 데이터가 가질 수 있는 모든 경우를 정규 표현식으로 표현할 수 있다. 예를 들어, 문자열의 경우 '.*'와 같이 단순히 표현할 수 있다.
항목 데이터가 갖는 규칙을 반영하여 정규 표현식이 생성되므로, 이를 포함하는 요청 시그너처는 단말에서 출력되는 웹 트래픽의 고유 특성을 나타낼 수 있다. 즉, 요청 시그너처를 생성함으로써 단말에서 구동되는 어플리케이션이 생성하는 웹 트래픽의 고유 특성이 분석될 수 있다.
요청 시그너처를 생성하기 위해, 기계어 분석 방법은 역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 항목을 특정할 수 있고, 항목에 부여되는 데이터 형식에 따라 항목 데이터가 갖는 모든 경우를 표현한 정규 표현식을 생성할 수 있으며, 항목과 생성된 정규 표현식을 대응시킬 수 있다.
역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 항목이 특정될 수 있다. 여기서 기 설정된 함수는 항목에 항목 데이터를 대응시키는 함수일 수 있다. 예를 들어, 기 설정된 함수는 요청 형식에 포함되는 주소 항목에 주소 데이터를 대응시키는 함수일 수 있고, 위치 항목에 위치 데이터를 대응시키는 함수일 수 있으며, 권한 항목에 권한 데이터를 대응시키는 함수일 수 있다. 이렇듯 역컴파일 텍스트에서 기 설정된 함수가 존재하면, 이와 관련된 항목이 존재할 수 있다. 따라서, 역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 함수와 관련된 항목이 특정될 수 있다.
항목에 부여되는 데이터 형식에 따라 항목 데이터가 갖는 모든 경우를 표현한 정규 표현식이 생성될 수 있다. 각 항목마다 데이터 형식이 실질적으로 상이할 수 있고, 이에 기초하여 생성된 정규 표현식 또한 실질적으로 상이할 수 있다. 예를 들어, 주소 항목에 부여되는 데이터 형식이 문자열이라면 이를 표현할 수 있는 '.*' 와 같은 정규 표현식이 생성될 수 있다.
항목과 생성된 정규 표현식은 대응될 수 있다. 각 항목마다 실질적으로 상이한 정규 표현식이 생성될 수 있고, 이렇게 생성된 정규 표현식은 각 항목과 대응될 수 있다. 예를 들어, 주소 항목과 위에서 생성된 '.*' 와 같은 정규 표현식은 서로 대응될 수 있다.
본 발명의 실시예들에 따른 기계어 분석 방법은 정규 표현식을 갖는 요청 시그너처를 생성함으로써 어플리케이션이 발생시키는 웹 트래픽의 고유 특징을 분석할 수 있다.
도 2는 본 발명의 실시예들에 따른 기계어 분석 방법을 나타내는 순서도이다.
도 2를 참조하면, 기계어 분석 방법은 역컴파일 텍스트를 생성(S220)할 수 있고, 외부참조함수를 역컴파일 텍스트 내에서 특정(S240)할 수 있으며, 정규 표현식을 갖는 응답 시그너처를 생성(S280)할 수 있다. 실시예에 따라, 기계어의 분석 방법은 응답 데이터 처리 부분을 추출(S260)할 수 있다.
단말에서 실행되는 기계어 코드를 역컴파일함으로써 역컴파일 텍스트가 생성(S220)될 수 있다. 상대적으로 저수준에 있는 기계어를 역컴파일함으로써 분석이 상대적으로 용이한 고수준의 프로그램 코드가 생성될 수 있고, 이러한 프로그램 코드를 포함하는 역컴파일 텍스트가 생성될 수 있다. 실시예에 따라, 기계어는 안드로이드 운영체제 상에서 단말을 구동시킬 수 있다. 예를 들어, 안드로이드 운영체제 상에서 단말을 구동하는 기계어의 집합인 안드로이드 응용 프로그램 패키지는 고수준의 프로그램 언어인 자바 등으로 구성된 프로그램 코드로 상대적으로 용이하게 역컴파일될 수 있다.
단말의 동작을 제어하는 것은 단말에서 실행되는 기계어 코드일 수 있다. 기계어는 역컴파일 텍스트를 컴파일함으로써 생성될 수 있으므로, 역컴파일 텍스트를 분석함으로써 단말에서 실행되는 기계어 코드가 분석될 수 있다.
통신망으로 연결된 외부 단말이 갖는 응답 데이터를 단말이 수신하도록 단말을 제어하는 외부참조함수가 역컴파일 텍스트 내에서 특정(S240)될 수 있다.
단말은 단말에서 구동되는 어플리케이션의 목적에 따라 외부 단말이 갖는 응답 데이터를 필요로 할 수 있다. 따라서, 단말은 외부 단말이 갖는 응답 데이터를 수신할 수 있다. 이러한 단말의 동작을 제어하는 기계어는 이를 역컴파일한 역컴파일 텍스트를 분석함으로써 분석될 수 있다. 따라서, 역컴파일 텍스트 내에서 상기 동작을 제어하는 외부참조함수를 분석함으로써 단말에서 구동되는 어플리케이션에 의해 발생되는 웹 트래픽의 고유 특징이 분석될 수 있다.
여기서 응답 데이터는 적어도 하나 이상의 항목을 가질 수 있다. 단말은 응답 데이터의 일부만 이용할 수 있다. 여기서 추출 항목은 응답 데이터가 갖는 항목 중 단말이 이용하는 항목 데이터에 대응되는 항목일 수 있다.
예를 들어, 응답 데이터는 로그인 데이터 항목, 로그인 시간 항목, 제1 메시지 항목 및 제2 메시지 항목을 포함할 수 있다. 여기서 로그인 데이터 항목은 로그인 성공 여부 등의 정보를 갖는 로그인 데이터에 대응될 수 있고, 로그인 시간 항목은 로그인 시간 등의 정보를 갖는 로그인 시간 데이터에 대응될 수 있으며, 제1 메시지 항목은 로그인에 관련된 제1 메시지 데이터에 대응될 수 있고, 제2 메시지 항목은 로그인에 관련된 제2 메시지 데이터에 대응될 수 있다.
단말은 응답 데이터 중 로그인 시간 항목에 대응되는 로그인 시간 데이터를 이용하지 않을 수 있다. 이 경우, 추출 항목은 로그인 데이터 항목, 제1 메시지 항목 및 제2 메시지 항목일 수 있다.
역컴파일 텍스트 중 추출 항목에 의해 영향을 받는 응답 데이터 처리 부분이 추출(S260)될 수 있다. 단말로 입력되는 웹 트래픽의 고유 특징은 응답 데이터 처리 부분에 의해 결정될 수 있다. 따라서 분석의 범위를 응답 데이터 처리 부분으로 한정함으로써 분석의 효율이 증가될 수 있다. 예를 들어, 응답 시그너처는 응답 데이터 처리 부분을 분석함으로써 생성될 수 있다.
추출 항목에 관련된 변수를 추적함으로써 추출 항목에 의해 영향을 받는지 여부가 판단될 수 있다. 예를 들어, 정적 분석 방법 중 하나인 테인트 분석 방법에 기초하여 변수를 추적함으로써 역컴파일 텍스트에서 응답 데이터 처리 부분이 추출될 수 있다.
항목 데이터가 가질 수 있는 모든 경우를 정규 표현 방법에 기초하여 표현한 정규 표현식을 갖는 응답 시그너처가 생성(S280)될 수 있다. 여기서 정규 표현 방법은 형식 언어를 이용하여 특정한 규칙을 가진 문자열의 집합을 표현하는 방법일 수 있다. 따라서 항목 데이터가 갖는 규칙을 분석하여 항목 데이터가 가질 수 있는 모든 경우를 정규 표현식으로 표현할 수 있다. 예를 들어, 문자열의 경우 '.*' 와 같이 단순히 표현할 수 있다.
항목 데이터가 갖는 규칙을 반영하여 정규 표현식이 생성되므로, 이를 포함하는 응답 시그너처는 단말로 입력되는 웹 트래픽의 고유 특성을 나타낼 수 있다. 즉, 응답 시그너처를 생성함으로써 단말에서 구동되는 어플리케이션이 생성하는 웹 트래픽의 고유 특성이 분석될 수 있다.
응답 시그너처를 생성하기 위해, 기계어 분석 방법은 역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 추출 항목을 특정할 수 있고, 항목에 부여되는 데이터 형식에 따라 항목 데이터가 갖는 모든 경우를 표현한 정규 표현식을 생성할 수 있으며, 항목과 생성된 정규 표현식을 대응시킬 수 있다.
역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 추출 항목이 특정될 수 있다. 여기서 기 설정된 함수는 추출 항목에 대응되는 항목 데이터를 응답 데이터에서 추출하는 함수일 수 있다. 예를 들어, 기 설정된 함수는 로그인 데이터를 응답 데이터의 관련 추출 항목에서 추출하는 함수일 수 있고, 제1 메시지 데이터를 응답 데이터의 관련 추출 항목에서 추출하는 함수일 수 있으며, 제2 메시지 데이터를 응답 데이터의 관련 추출 항목에서 추출하는 함수일 수 있다. 이렇듯 역컴파일 텍스트에서 기 설정된 함수가 존재하면, 이와 관련된 추출 항목이 존재할 수 있다. 따라서, 역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 함수와 관련된 추출 항목이 특정될 수 있다.
추출 항목에 부여되는 데이터 형식에 따라 항목 데이터가 갖는 모든 경우를 표현한 정규 표현식이 생성될 수 있다. 각 추출 항목마다 데이터 형식이 실질적으로 상이할 수 있고, 이에 기초하여 생성된 정규 표현식 또한 실질적으로 상이할 수 있다. 예를 들어, 로그인 데이터 항목에 부여되는 데이터 형식이 문자열이라면 이를 표현할 수 있는 '.*' 와 같은 정규 표현식이 생성될 수 있다.
추출 항목과 생성된 정규 표현식은 대응될 수 있다. 각 추출 항목마다 실질적으로 상이한 정규 표현식이 생성될 수 있고, 이렇게 생성된 정규 표현식은 각 추출 항목과 대응될 수 있다. 예를 들어, 로그인 데이터 항목과 위에서 생성된 '.*' 와 같은 정규 표현식은 서로 대응될 수 있다.
본 발명의 실시예들에 따른 기계어 분석 방법은 정규 표현식을 갖는 응답 시그너처를 생성함으로써 어플리케이션이 발생시키는 웹 트래픽의 고유 특징을 분석할 수 있다.
도 3은 도 1의 기계어 분석 방법 또는 도 2의 기계어 분석 방법과 관련된 웹 트래픽을 발생시키는 통신 시스템의 일 예를 나타내는 블록도이고, 도 4는 도 3의 통신 시스템에서 단말과 외부 단말 사이에 전송되는 요청 형식 및 응답 데이터의 일 예를 나타내는 도면이다.
도 3 및 도 4를 참조하면, 통신 시스템은 단말(120) 및 외부 단말(140)을 포함할 수 있다. 단말(120)은 통신망으로 연결된 외부 단말(140)이 갖는 응답 데이터(RD)를 프로토콜에 기초하여 소정의 항목을 갖는 요청 형식(RF)에 따라 요청할 수 있다. 외부 단말(140)은 요청 형식(RF)에 따라 프로토콜에 기초하여 응답 데이터(RD)를 단말(120)에 전송할 수 있다.
요청 형식(RF)은 주소 항목(ADDRESS), 위치 항목(LOCATION) 및 권한 항목(ID, PASSWORD)을 포함할 수 있다. 주소 항목(ADDRESS)은 외부 단말(140)의 주소에 대응될 수 있다. 위치 항목(LOCATION)은 외부 단말(140)에서 응답 데이터(RD)가 갖는 위치에 대응될 수 있다. 권한 항목(ID, PASSWORD)은 응답 데이터(RD)에 접근할 수 있는 권한에 대응될 수 있다.
예를 들어, 주소 항목(ADDRESS)은 어플리케이션이 필요로 하는 응답 데이터(RD)를 갖는 서버의 주소 데이터(A)에 대응될 수 있다. 위치 항목(LOCATION)은 서버 내에서 응답 데이터(RD)의 구체적 위치를 나타내는 위치 데이터(B)에 대응될 수 있다. 권한 항목(ID, PASSWORD)은 응답 데이터(RD)에 접근할 수 있는 권한 데이터(C, D)에 대응될 수 있다.
응답 데이터(RD)는 적어도 하나 이상의 항목을 가질 수 있다. 단말(120)은 응답 데이터(RD)의 일부만 이용할 수 있다. 여기서 추출 항목은 응답 데이터(RD)가 갖는 항목 중 단말(120)이 이용하는 항목 데이터에 대응되는 항목일 수 있다.
예를 들어, 응답 데이터(RD)는 로그인 데이터 항목(LOG IN), 로그인 시간 항목(TIME), 제1 메시지 항목(MSG1) 및 제2 메시지 항목(MSG2)을 포함할 수 있다. 여기서 로그인 데이터 항목(LOG IN)은 로그인 성공 여부 등의 정보를 갖는 로그인 데이터(E)에 대응될 수 있고, 로그인 시간 항목(TIME)은 로그인 시간 등의 정보를 갖는 로그인 시간 데이터(F)에 대응될 수 있으며, 제1 메시지 항목(MSG1)은 로그인에 관련된 제1 메시지 데이터(G)에 대응될 수 있고, 제2 메시지 항목(MSG2)은 로그인에 관련된 제2 메시지 데이터(H)에 대응될 수 있다.
단말(120)은 응답 데이터(RD) 중 로그인 시간 항목(TIME)에 대응되는 로그인 시간 데이터(F)를 이용하지 않을 수 있다. 이 경우, 추출 항목은 로그인 데이터 항목(LOG IN), 제1 메시지 항목(MSG1) 및 제2 메시지 항목(MSG2)일 수 있다.
도 5는 도 3의 통신 시스템에서 단말에서 실행되는 기계어 코드를 역컴파일하여 생성한 역컴파일 텍스트의 일 예를 나타내는 도면이고, 도 6은 도 5의 역컴파일 텍스트를 분석하여 생성한 요청 시그너처 및 응답 시그터처의 일 예를 나타내는 도면이다.
도 5 및 도 6을 참조하면, 역컴파일 텍스트(DT)는 요청 형식 생성 부분(QSL), 경계점(DP) 및 응답 데이터 처리 부분(RSL)을 포함할 수 있다.
외부참조함수(f)는 통신망으로 연결된 외부 단말이 갖는 응답 데이터(RD)를 소정의 항목을 포함한 요청 형식(RF)에 따라 단말이 요청하도록 단말을 제어할 수 있고, 응답 데이터(RD)를 단말이 수신하도록 단말을 제어할 수 있다. 예를 들어, 외부참조함수(f)는 역컴파일 텍스트(DT) 내에서 요청 형식(RF)을 입력받아 응답 데이터(RD)를 출력하는 함수일 수 있다. 따라서, 외부참조함수(f)를 경계로 요청 형식 생성 부분(QSL)과 응답 데이터 처리 부분(RSL)이 분리될 수 있다. 즉, 외부참조함수(f)는 경계점(DP)일 수 있다.
이러한 외부참조함수(f)는 역컴파일 텍스트(DT) 내에서 특정될 수 있다. 외부참조함수(f)를 특정하여 요청 형식 생성 부분(QSL)과 응답 데이터 처리 부분(RSL)을 분석함으로써 단말에서 구동되는 어플리케이션에 의해 발생되는 웹 트래픽의 고유 특징이 분석될 수 있다.
역컴파일 텍스트(DT) 중 요청 형식(RF)을 생성하는데 영향을 주는 요청 형식 생성 부분(QSL)이 추출될 수 있다. 단말에서 출력되는 웹 트래픽의 고유 특징은 요청 형식 생성 부분(QSL)에 의해 결정될 수 있다. 따라서 분석의 범위를 요청 형식 생성 부분(QSL)으로 한정함으로써 분석의 효율이 증가될 수 있다. 예를 들어, 요청 시그너처(QSG)는 요청 형식 생성 부분(QSL)을 분석함으로써 생성될 수 있다.
요청 형식(RF)에 포함된 항목에 관련된 변수(A, B, C, D)를 추적함으로써 요청 형식을 생성하는 데 영향을 주는지 여부가 판단될 수 있다. 예를 들어, 정적 분석 방법 중 하나인 테인트 분석 방법에 기초하여 변수(A, B, C, D)를 추적함으로써 역컴파일 텍스트(DT)에서 요청 형식 생성 부분(QSL)이 추출될 수 있다.
역컴파일 텍스트(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, …)에 부여되는 데이터 형식에 따라 항목 데이터(A, B, C, D, …)가 갖는 모든 경우를 표현한 정규 표현식(RE1, RE2, RE3, RE4, …)이 생성될 수 있다. 각 항목(ADDRESS, LOCATION, ID, PASSWORD, …)마다 데이터 형식이 실질적으로 상이할 수 있고, 이에 기초하여 생성된 정규 표현식(RE1, RE2, RE3, RE4, …) 또한 실질적으로 상이할 수 있다. 예를 들어, 주소 항목(ADDRESS)에 부여되는 데이터 형식이 문자열이라면 이를 표현할 수 있는 '.*' 와 같은 정규 표현식(RE1)이 생성될 수 있다.
항목(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)은 서로 대응될 수 있다.
결과적으로, 정규 표현식(RE1, RE2, RE3, RE4, …)은 항목(ADDRESS, LOCATION, ID, PASSWORD, …)에 대응되는 항목 데이터(A, B, C, D, …)가 가질 수 있는 모든 경우를 정규 표현 방법에 기초하여 표현할 수 있고, 요청 시그너처(QSG)는 항목(ADDRESS, LOCATION, ID, PASSWORD, …)에 대응되는 정규 표현식(RE1, RE2, RE3, RE4, …)을 가질 수 있다.
역컴파일 텍스트(DT) 중 추출 항목(LOG IN, MSG1, MSG2, …)에 의해 영향을 받는 응답 데이터 처리 부분(RSL)이 추출될 수 있다. 단말로 입력되는 웹 트래픽의 고유 특징은 응답 데이터 처리 부분(RSL)에 의해 결정될 수 있다. 따라서 분석의 범위를 응답 데이터 처리 부분(RSL)으로 한정함으로써 분석의 효율이 증가될 수 있다. 예를 들어, 응답 시그너처(RSG)는 응답 데이터 처리 부분(RSL)을 분석함으로써 생성될 수 있다.
추출 항목(LOG IN, MSG1, MSG2, …)에 관련된 변수(E, G, H, …)를 추적함으로써 추출 항목(LOG IN, MSG1, MSG2, …)에 의해 영향을 받는지 여부가 판단될 수 있다. 예를 들어, 정적 분석 방법 중 하나인 테인트 분석 방법에 기초하여 변수(E, G, H, …)를 추적함으로써 역컴파일 텍스트(DT)에서 응답 데이터 처리 부분(RSL)이 추출될 수 있다.
역컴파일 텍스트(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, …)에 부여되는 데이터 형식에 따라 항목 데이터(E, G, H, …)가 갖는 모든 경우를 표현한 정규 표현식(RE5, RE6, RE7, …)이 생성될 수 있다. 각 추출 항목(LOG IN, MSG1, MSG2, …)마다 데이터 형식이 실질적으로 상이할 수 있고, 이에 기초하여 생성된 정규 표현식(RE5, RE6, RE7, …) 또한 실질적으로 상이할 수 있다. 예를 들어, 로그인 데이터 항목(LOG IN)에 부여되는 데이터 형식이 문자열이라면 이를 표현할 수 있는 '.*' 와 같은 정규 표현식(RE5)이 생성될 수 있다.
추출 항목(LOG IN, MSG1, MSG2, …)과 생성된 정규 표현식(RE5, RE6, RE7, …)은 대응될 수 있다. 각 추출 항목(LOG IN, MSG1, MSG2, …)마다 실질적으로 상이한 정규 표현식(RE5, RE6, RE7, …)이 생성될 수 있고, 이렇게 생성된 정규 표현식(RE5, RE6, RE7, …)은 각 추출 항목(LOG IN, MSG1, MSG2, …)과 대응될 수 있다. 예를 들어, 로그인 데이터 항목(LOG IN)과 위에서 생성된 '.*' 와 같은 정규 표현식(RE5)은 서로 대응될 수 있다.
결과적으로, 정규 표현식(RE5, RE6, RE7, …)은 추출 항목(LOG IN, MSG1, MSG2, …)에 대응되는 항목 데이터(E, G, H, …)가 가질 수 있는 모든 경우를 정규 표현 방법에 기초하여 표현할 수 있고, 응답 시그너처(RSG)는 추출 항목(LOG IN, MSG1, MSG2, …)에 대응되는 정규 표현식(RE5, RE6, RE7, …)을 가질 수 있다.
도 7은 본 발명의 실시예들에 따른 기계어 분석 장치를 나타내는 블록도이다.
도 7을 참고하면, 기계어 분석 장치(200)는 역컴파일부(220), 함수 특정부(240) 및 시그너처 생성부(260)를 포함할 수 있다.
일 실시예에서, 역컴파일부(220)는 단말에서 실행되는 기계어 코드(ML)를 역컴파일함으로써 역컴파일 텍스트(DT)를 생성할 수 있다. 함수 특정부(240)는 통신망으로 연결된 외부 단말이 갖는 응답 데이터를 소정의 항목을 포함한 요청 형식에 따라 단말이 요청하도록 단말을 제어하는 외부참조함수(f)를 역컴파일 텍스트(DT) 내에서 특정할 수 있다. 시그너처 생성부(260)는 항목에 대응되는 항목 데이터가 가질 수 있는 모든 경우를 정규 표현 방법에 기초하여 표현한 정규 표현식을 갖는 요청 시그너처(QSG)를 생성할 수 있다.
다른 실시예에서, 역컴파일부(220)는 단말에서 실행되는 기계어 코드(ML)를 역컴파일함으로써 역컴파일 텍스트(DT)를 생성할 수 있다. 함수 특정부(240)는 통신망으로 연결된 외부 단말이 갖는 응답 데이터를 단말이 수신하도록 단말을 제어하는 외부참조함수(f)를 역컴파일 텍스트(DT) 내에서 특정할 수 있다. 시그너처 생성부(260)는 응답 데이터 중 단말이 이용하는 추출 항목에 대응되는 항목 데이터가 가질 수 있는 모든 경우를 정규 표현 방법에 기초하여 표현한 정규 표현식을 갖는 응답 시그너처(RSG)를 생성할 수 있다.
본 발명의 실시예들에 따른 기계어 분석 장치는 정규 표현식을 갖는 요청 시그너처(QSG) 및/또는 응답 시그너처(RSG)를 생성함으로써 어플리케이션이 발생시키는 웹 트래픽의 고유 특징을 분석할 수 있다.
이상, 본 발명의 실시예들에 따른 기계어 분석 방법 및 기계어 분석 장치에 대하여 도면을 참조하여 설명하였지만, 상기 설명은 예시적인 것으로서 본 발명의 기술적 사상을 벗어나지 않는 범위에서 해당 기술 분야에서 통상의 지식을 가진 자에 의하여 수정 및 변경될 수 있을 것이다. 예를 들어, 상기에서는 항목으로 주소 항목, 위치 항목 및 권한 항목을 예시하였으나, 항목의 종류는 이에 한정되는 것이 아니다.
본 발명은 외부 단말의 응답 데이터를 요청하는 어플리케이션을 구동시킬 수 있는 전자 기기에 다양하게 적용될 수 있다. 예를 들어, 본 발명은 컴퓨터, 노트북, 디지털 카메라, 비디오 캠코더, 휴대폰, 스마트폰, 스마트패드, 피엠피(PMP), 피디에이(PDA), MP3 플레이어, 차량용 네비게이션, 비디오폰, 감시 시스템, 추적 시스템, 동작 감지 시스템 등에 적용될 수 있다.
상기에서는 본 발명의 실시예들을 참조하여 설명하였지만, 해당 기술분야에서 통상의 지식을 가진 자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.
S120, S220: 역컴파일 텍스트를 생성하는 단계
S140, S240: 외부참조함수를 특정하는 단계
S160: 요청 형식 생성 부분을 추출하는 단계
S180: 요청 시그너처를 생성하는 단계
S260: 응답 데이터 처리 부분을 추출하는 단계
S280: 응답 시그너처를 생성하는 단계
200: 기계어 분석 장치
220: 역컴파일부
240: 함수 특정부
260: 시그너처 생성부
RF: 요청 형식
RD: 응답 데이터
DT: 역컴파일 텍스트
QSL: 요청 형식 생성 부분
RSL: 응답 데이터 처리 부분
QSG: 요청 시그너처
RSG: 응답 시그너처

Claims (11)

  1. 단말에서 실행되는 기계어 코드를 역컴파일(decompile)함으로써 요청 형식 생성 부분(QSL), 경계점(DP), 및 응답 데이터 처리 부분(RSL)을 포함하는 역컴파일 텍스트(decompile text)를 생성하는 단계;
    통신망으로 연결된 외부 단말이 갖는 응답 데이터를 소정의 항목을 포함한 요청 형식에 따라 요청하도록 상기 단말을 제어하는 외부참조함수를 상기 역컴파일 텍스트 내에서 특정하는 단계, -상기 경계점(DP)에 대응하는 상기 외부참조함수는, 상기 역컴파일 텍스트 내에서 상기 요청 형식을 입력받아 상기 응답 데이터를 출력하는 관계를 나타내는 함수임-;
    상기 외부참조함수를 기준으로 상기 역컴파일 텍스트 중 상기 요청 형식 생성 부분(QSL)과, 상기 응답 데이터 처리 부분(RSL)을 추출하는 단계; 및
    상기 추출된 요청 형식 생성 부분(QSL)과 상기 응답 데이터 처리 부분(RSL)을 분석하여, 웹 트래픽의 고유 특징을 결정하는 단계;를 포함하고,
    상기 웹 트래픽의 고유 특징을 결정하는 단계는, 상기 추출된 요청 형식 생성 부분(QSL)과 상기 응답 데이터 처리 부분(RSL)을 분석하여, 상기 항목에 대응되는 항목 데이터가 가질 수 있는 모든 경우를 정규 표현(regular expression) 방법에 기초하여 표현한 정규 표현식을 갖는 요청 시그너처(signature)를 생성하는,
    기계어 분석 방법.
  2. 삭제
  3. 제 1 항에 있어서, 상기 요청 형식은
    상기 외부 단말의 주소에 대응되는 주소 항목;
    상기 외부 단말에서 상기 응답 데이터가 갖는 위치에 대응되는 위치 항목; 및
    상기 응답 데이터에 접근할 수 있는 권한에 대응되는 권한 항목;을 포함하는 것을 특징으로 하는 기계어 분석 방법.
  4. 제 1 항에 있어서, 상기 요청 시그너처를 생성하는 단계는
    상기 역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 상기 항목을 특정하는 단계;
    상기 항목에 부여되는 데이터 형식에 따라 상기 항목 데이터가 갖는 모든 경우를 표현한 상기 정규 표현식을 생성하는 단계; 및
    상기 항목과 상기 생성된 정규 표현식을 대응시키는 단계;를 포함하는 것을 특징으로 하는 기계어 분석 방법.
  5. 제 4 항에 있어서, 상기 기 설정된 함수는 상기 항목에 상기 항목 데이터를 대응시키는 함수인 것을 특징으로 하는 기계어 분석 방법.
  6. 단말에서 실행되는 기계어 코드를 역컴파일함으로써 요청 형식 생성 부분(QSL), 경계점(DP), 및 응답 데이터 처리 부분(RSL)을 포함하는 역컴파일 텍스트를 생성하는 단계;
    통신망으로 연결된 외부 단말이 갖는 응답 데이터를 상기 단말이 수신하도록 상기 단말을 제어하는 외부참조함수를 상기 역컴파일 텍스트 내에서 특정하는 단계, -상기 경계점(DP)에 대응하는 상기 외부참조함수는, 상기 역컴파일 텍스트 내에서 상기 요청 형식을 입력받아 상기 응답 데이터를 출력하는 관계를 나타내는 함수임-;
    상기 외부참조함수를 기준으로 상기 역컴파일 텍스트 중 상기 요청 형식 생성 부분(QSL)과, 상기 응답 데이터 처리 부분(RSL)을 추출하는 단계; 및
    상기 추출된 요청 형식 생성 부분(QSL)과 상기 응답 데이터 처리 부분(RSL)을 분석하여, 웹 트래픽의 고유 특징을 결정하는 단계;를 포함하고,
    상기 웹 트래픽의 고유 특징을 결정하는 단계는, 상기 추출된 요청 형식 생성 부분(QSL)과 상기 응답 데이터 처리 부분(RSL)을 분석하여, 상기 응답 데이터 중 상기 단말이 이용하는 추출 항목에 대응되는 항목 데이터가 가질 수 있는 모든 경우를 정규 표현 방법에 기초하여 표현한 정규 표현식을 갖는 응답 시그너처를 생성하는,
    기계어 분석 방법.
  7. 삭제
  8. 제 6 항에 있어서, 상기 응답 시그너처를 생성하는 단계는
    상기 역컴파일 텍스트에서 기 설정된 함수를 찾음으로써 상기 추출 항목을 특정하는 단계;
    상기 추출 항목에 부여되는 데이터 형식에 따라 상기 항목 데이터가 갖는 모든 경우를 표현한 상기 정규 표현식을 생성하는 단계; 및
    상기 추출 항목과 상기 생성된 정규 표현식을 대응시키는 단계;를 포함하는 것을 특징으로 하는 기계어 분석 방법.
  9. 제 8 항에 있어서, 상기 기 설정된 함수는 상기 항목 데이터를 상기 응답 데이터에서 추출하는 함수인 것을 특징으로 하는 기계어 분석 방법.
  10. 단말에서 실행되는 기계어 코드를 역컴파일함으로써 요청 형식 생성 부분(QSL), 경계점(DP), 및 응답 데이터 처리 부분(RSL)을 포함하는 역컴파일 텍스트를 생성하는 역컴파일부;
    통신망으로 연결된 외부 단말이 갖는 응답 데이터를 소정의 항목을 포함한 요청 형식에 따라 요청하도록 상기 단말을 제어하는 외부참조함수를 상기 역컴파일 텍스트 내에서 특정하는 함수 특정부; 및
    상기 외부참조함수를 기준으로 상기 역컴파일 텍스트 중 상기 요청 형식 생성 부분(QSL)과, 상기 응답 데이터 처리 부분(RSL)을 추출하고, 상기 추출된 요청 형식 생성 부분(QSL)과 상기 응답 데이터 처리 부분(RSL)을 분석하여, 웹 트래픽의 고유 특징을 결정하되, 상기 추출된 요청 형식 생성 부분(QSL)과 상기 응답 데이터 처리 부분(RSL)을 분석하여 상기 항목에 대응되는 항목 데이터가 가질 수 있는 모든 경우를 정규 표현 방법에 기초하여 표현한 정규 표현식을 갖는 요청 시그너처를 생성하는 시그너처 생성부;를 포함하고,
    상기 경계점(DP)에 대응하는 상기 외부참조함수는, 상기 역컴파일 텍스트 내에서 상기 요청 형식을 입력받아 상기 응답 데이터를 출력하는 관계를 나타내는 함수인,
    기계어 분석 장치.
  11. 단말에서 실행되는 기계어 코드를 역컴파일함으로써 요청 형식 생성 부분(QSL), 경계점(DP), 및 응답 데이터 처리 부분(RSL)을 포함하는 역컴파일 텍스트를 생성하는 역컴파일부;
    통신망으로 연결된 외부 단말이 갖는 응답 데이터를 상기 단말이 수신하도록 상기 단말을 제어하는 외부참조함수를 상기 역컴파일 텍스트 내에서 특정하는 함수 특정부; 및
    상기 외부참조함수를 기준으로 상기 역컴파일 텍스트 중 상기 요청 형식 생성 부분(QSL)과, 상기 응답 데이터 처리 부분(RSL)을 추출하고, 상기 추출된 요청 형식 생성 부분(QSL)과 상기 응답 데이터 처리 부분(RSL)을 분석하여, 웹 트래픽의 고유 특징을 결정하되, 상기 추출된 요청 형식 생성 부분(QSL)과 상기 응답 데이터 처리 부분(RSL)을 분석하여 상기 응답 데이터 중 상기 단말이 이용하는 추출 항목에 대응되는 항목 데이터가 가질 수 있는 모든 경우를 정규 표현 방법에 기초하여 표현한 정규 표현식을 갖는 응답 시그너처를 생성하는 시그너처 생성부;를 포함하고,
    상기 경계점(DP)에 대응하는 상기 외부참조함수는, 상기 역컴파일 텍스트 내에서 상기 요청 형식을 입력받아 상기 응답 데이터를 출력하는 관계를 나타내는 함수인,
    기계어 분석 장치.
KR1020160009924A 2016-01-27 2016-01-27 네트워크 행동을 하는 어플리케이션의 프로토콜을 분석하는 기계어 분석 방법 및 기계어 분석 장치 KR101803443B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160009924A KR101803443B1 (ko) 2016-01-27 2016-01-27 네트워크 행동을 하는 어플리케이션의 프로토콜을 분석하는 기계어 분석 방법 및 기계어 분석 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160009924A KR101803443B1 (ko) 2016-01-27 2016-01-27 네트워크 행동을 하는 어플리케이션의 프로토콜을 분석하는 기계어 분석 방법 및 기계어 분석 장치

Publications (2)

Publication Number Publication Date
KR20170089563A KR20170089563A (ko) 2017-08-04
KR101803443B1 true KR101803443B1 (ko) 2017-12-01

Family

ID=59654506

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160009924A KR101803443B1 (ko) 2016-01-27 2016-01-27 네트워크 행동을 하는 어플리케이션의 프로토콜을 분석하는 기계어 분석 방법 및 기계어 분석 장치

Country Status (1)

Country Link
KR (1) KR101803443B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100274755A1 (en) * 2009-04-28 2010-10-28 Stewart Richard Alan Binary software binary image analysis
US20150205703A1 (en) * 2008-09-30 2015-07-23 Interactive TKO, Inc. Service Modeling and Virtualization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150205703A1 (en) * 2008-09-30 2015-07-23 Interactive TKO, Inc. Service Modeling and Virtualization
US20100274755A1 (en) * 2009-04-28 2010-10-28 Stewart Richard Alan Binary software binary image analysis

Also Published As

Publication number Publication date
KR20170089563A (ko) 2017-08-04

Similar Documents

Publication Publication Date Title
US9021468B1 (en) Bundling extension installation with web browser installation
CN109214196B (zh) 一种数据交互方法、装置及设备
US10445507B2 (en) Automated security testing for a mobile application or a backend server
CN110245518B (zh) 一种数据存储方法、装置及设备
KR20150122149A (ko) 컴파일러 기반 난독화 기법
CN103607385A (zh) 基于浏览器进行安全检测的方法和装置
JP2015527685A (ja) アプリケーションのセキュリティ検証のためのクラウド支援された方法及びサービス
CN107580013B (zh) 跨域请求数据的方法及装置
CN113961919B (zh) 恶意软件检测方法和装置
CN110071924B (zh) 基于终端的大数据分析方法及系统
CN113806037A (zh) 服务的调用方法、装置、存储介质及电子设备
CN112434348A (zh) 数据的验证处理方法、装置及设备
CN113946602A (zh) 数据查找方法、装置、设备和介质
CN109818972B (zh) 一种工业控制系统信息安全管理方法、装置及电子设备
CN110140144B (zh) 用于验证渲染的数据的图像处理系统
EP1422958B1 (en) Permission token management system, permission token management method, program and recording medium
CN116360809B (zh) 一种嵌入式智能终端固件远程升级方法、系统及介质
US9398041B2 (en) Identifying stored vulnerabilities in a web service
CN111460448B (zh) 一种恶意软件家族检测方法及装置
KR101803443B1 (ko) 네트워크 행동을 하는 어플리케이션의 프로토콜을 분석하는 기계어 분석 방법 및 기계어 분석 장치
KR101869377B1 (ko) 네트워크 시그너처들 사이 또는 시그너처 페어들 사이의 의존도를 분석하는 기계어 분석 장치 및 기계어 분석 방법
CN115203674A (zh) 一种应用程序自动登录方法、系统、装置及存储介质
US11556649B2 (en) Methods and apparatus to facilitate malware detection using compressed data
CN110719274B (zh) 网络安全控制方法、装置、设备及存储介质
CN109933990B (zh) 基于多模式匹配的安全漏洞发现方法、装置及电子设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant