KR101414959B1 - 네트워크 공격을 감지하는 이동 통신 단말기 및 그 감지 방법 - Google Patents

네트워크 공격을 감지하는 이동 통신 단말기 및 그 감지 방법 Download PDF

Info

Publication number
KR101414959B1
KR101414959B1 KR1020120020841A KR20120020841A KR101414959B1 KR 101414959 B1 KR101414959 B1 KR 101414959B1 KR 1020120020841 A KR1020120020841 A KR 1020120020841A KR 20120020841 A KR20120020841 A KR 20120020841A KR 101414959 B1 KR101414959 B1 KR 101414959B1
Authority
KR
South Korea
Prior art keywords
socket
data packet
network attack
control bits
connection history
Prior art date
Application number
KR1020120020841A
Other languages
English (en)
Other versions
KR20130101672A (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 KR1020120020841A priority Critical patent/KR101414959B1/ko
Priority to US13/658,170 priority patent/US20130227687A1/en
Priority to EP12193824.5A priority patent/EP2634989A1/en
Priority to CN2012105061799A priority patent/CN103297972A/zh
Priority to JP2013039690A priority patent/JP2013183458A/ja
Publication of KR20130101672A publication Critical patent/KR20130101672A/ko
Application granted granted Critical
Publication of KR101414959B1 publication Critical patent/KR101414959B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)

Abstract

일 실시예에 따른 무선 단말에서 네트워크 공격을 감지하는 방법은 소켓 데이터 패킷의 종류를 나타내는 복수의 제어 비트에 의해 결정되는 적어도 하나의 공격 패턴 정보를 패턴 데이터베이스(Pattern DB)에 저장하는 단계; 무선 통신 인터페이스를 통하여 접속하고자 하는 대상의 적어도 하나의 소켓 데이터 패킷을 수신하는 단계; 수신된 상기 소켓 데이터 패킷을 식별하고, 식별된 상기 소켓 데이터 패킷을 통해 상기 소켓 데이터 패킷의 종류를 나타내는 복수의 제어 비트를 추출하여 소켓 접속 히스토리를 생성하는 단계; 및 상기 패턴 데이터베이스 및 상기 소켓 접속 히스토리를 이용하여 네트워크 공격이 존재하는지 여부를 판단하는 단계소켓 데이터 패킷소켓 데이터 패킷소켓 데이터 패킷를 포함한다.

Description

네트워크 공격을 감지하는 이동 통신 단말기 및 그 감지 방법{A DETECTING METHOD OF A NETWORK ATTACK AND A MOBILE TERMINAL DETECTING A NETWORK ATTACK}
본 발명은 네트워크 공격을 감지하는 이동 통신 단말기 및 그 감지 방법에 관한 것이다.
최근 무선 네트워크의 빠른 발전으로 인한 광대역 서비스의 지원 및 스마트 폰 등을 통한 다양한 어플리케이션(Application)의 설치 및 기동이 가능해 짐에 따라 무선망 환경에서의 악성 코드를 통한 네트워크 공격(Network Attack)이 빈번하게 발생하고 있다. 네트워크 공격의 일 예로서 DoS(Denial of Service) 공격을 들 수 있는데, DoS 공격은 네트워크 또는 서버에서 제공되는 서비스를 방해하기 위한 악의적인 시도이다. 요즘, DoS 공격은 봇넷(botnet)을 통해 수 천대의 좀비 PC를 이용하는 DDoS(Distributed Denial of Service) 공격으로 강화되었다. DDoS 공격을 방어하기 위해 많은 방어 메커니즘이 제안되었으나, 최근에는 그 공격이 정상적인 트래픽과 유사하여 방어에 어려움을 겪고 있다.
하지만, 악성 코드를 발견하기 위한 프로그램들은 이미 알려진 악성 코드만을 검출하므로 실제 네트워크 테러 공격 시에 대응 방안이 되기 어렵다. 또한. 백신 프로그램은 일반적으로 네트워크 접속 허용을 프로그램 단위로 설정하기 때문에 활성화된 어플리케이션을 통한 사용자의 인식이 없는 상황에서 불특정한 사이트(site)에 대한 네트워크 테러 공격을 방지하기 어렵다. 따라서, 대상 사이트 등에서의 피해가 발생하기 이전에 미리 네트워크 공격을 방지할 수 있는 방법이 요구된다.
본 발명의 일 실시예는 송, 수신되는 적어도 하나의 소켓 데이터 패킷에 포함된 제어 비트들을 이용하여 생성한 소켓 접속 히스토리의 정보와 네트워크 액세스 패턴 데이터베이스에 저장된 정보와 비교하여 네트워크 공격을 감지 및 방지함으로써 동 시간대의 다수의 접속 시도에 따른 무선망의 불안정성을 방지할 수 있다.
본 발명의 일 실시예는 소켓 접속 히스토리의 정보와 네트워크 액세스 패턴 데이터베이스에 저장된 정보와의 비교 결과를 기초로 네트워크 어댑터에게 해당 소켓 데이터 패킷의 전송 차단을 요청함으로써 네트워크 공격 시점에 네트워크 공격을 방지할 수 있으며, 네트워크 공격에 기인한 부당한 데이터 사용량 증가에 의해 부당하게 요금이 부과되는 것을 방지할 수 있다.
또한. 일 실시예에 따르면 네트워크 공격으로 판단되는 소켓 데이터 패킷을 요청한 어플리케이션의 프로세서 아이디를 파악하여 네트워크 공격과 관련된 접속자 정보 및 어플리케이션 정보를 네트워크 공격 방지를 위한 관리 서버로 제공함으로써 네트워크 공격 당시의 가담자에 대한 즉각적인 추적 및 집중적인 관리가 가능하도록 할 수 있다.
일 실시예에 따른 무선 단말에서 네트워크 공격을 감지하는 방법은 소켓 데이터 패킷의 종류를 나타내는 복수의 제어 비트에 의해 결정되는 적어도 하나의 공격 패턴 정보를 패턴 데이터베이스(Pattern DB)에 저장하는 단계; 무선 통신 인터페이스를 통하여 접속하고자 하는 대상의 적어도 하나의 소켓 데이터 패킷을 수신하는 단계; 수신된 상기 소켓 데이터 패킷을 식별하고, 식별된 상기 소켓 데이터 패킷을 통해 상기 소켓 데이터 패킷의 종류를 나타내는 복수의 제어 비트를 추출하여 소켓 접속 히스토리를 생성하는 단계; 및 상기 패턴 데이터베이스 및 상기 소켓 접속 히스토리를 이용하여 네트워크 공격이 존재하는지 여부를 판단하는 단계를 포함한다. 수신된 상기 소켓 데이터 패킷을 식별하는 단계는 적어도 하나의 데스티네이션 각각의 어드레스 및 포트를 기준으로 상기 소켓 데이터 패킷을 식별할 수 있다.
상기 복수의 제어 비트들은 데이터 교환 혹은 어플리케이션 프로세스의 제어를 위해 전송할 데이터임을 나타내는 URG 비트, 확인 응답을 위한 ACK 번호 값을 나타내는 ACK 비트, 수신되는 데이터를 즉시 상위 계층의 프로세스에게 전달할 것을 나타내는 PSH 비트, 연결을 특정 에러 혹은 사용자의 명령에 의해 재설정하기 위해 사용하는 RST 비트, 연결 요청을 나타내는 SYN 비트, 연결 종료를 요청하는 FIN 비트 중 적어도 하나를 포함할 수 있다.
상기 소켓 접속 히스토리를 생성하는 단계는 적어도 하나의 데스티네이션 각각을 기준으로 상기 식별된 소켓 데이터 패킷에 포함된 복수의 제어 비트들을 분리하는 단계; 및 상기 분리된 복수의 제어 비트들의 시간 순서에 따른 이력을 기초로 상기 소켓 접속 히스토리를 생성하는 단계를 포함할 수 있다.
상기 네트워크 공격이 존재하는지 여부를 판단하는 단계는 미리 설정된 적어도 하나의 서칭 윈도우(searching window)를 이용하여 상기 소켓 접속 히스토리의 일정 영역을 스캔하는 단계; 상기 스캔된 일정 영역에 대응하는 소켓 접속 히스토리에 포함된 제어 비트들의 패턴에 관한 정보를 상기 패턴 데이터베이스에 저장된 상기 적어도 하나의 공격 패턴과 비교하는 단계; 및 상기 비교 결과를 기초로, 상기 네트워크 공격이 존재하는지 여부를 판단하는 단계를 포함할 수 있다.
상기 소켓 접속 히스토리의 일정 영역을 스캔하는 단계는 상기 적어도 하나의 서칭 윈도우의 사이즈 및 이동 방향을 조절하는 단계; 및 상기 조절된 적어도 하나의 서칭 윈도우의 사이즈 및 상기 조절된 이동 방향에 따라 상기 소켓 접속 히스토리의 일정 영역을 스캔하는 단계를 포함할 수 있다.
상기 판단 결과를 기초로, 네트워크 어댑터에게 적어도 하나의 데스티네이션의 어드레스로의 상기 소켓 데이터 패킷의 전송을 차단할 것을 요청하는 단계를 더 포함할 수 있다.
상기 소켓 데이터 패킷의 전송을 차단할 것을 요청하는 단계는 상기 적어도 하나의 데스티네이션의 어드레스로의 상기 소켓 데이터 패킷의 전송을 요청한 어플리케이션의 프로세스 아이디를 파악하는 단계; 및 상기 네트워크 어댑터에게 상기 어플리케이션의 프로세스 아이디를 포함하는 정보를 전송하는 단계를 포함할 수 있다.
일 실시예에 따른 네트워크 공격을 감지하는 방법은 데이터 패킷의 종류를 나타내는 복수의 제어 비트들에 의해 결정되는 적어도 하나의 공격 패턴을 패턴 데이터베이스(Pattern DB)에 저장하는 단계; 어플리케이션이 접속을 요청하는 대상으로부터 적어도 하나의 대상 데이터 패킷을 수신하는 단계; 적어도 하나의 데스티네이션 각각의 어드레스 및 포트를 기준으로 상기 적어도 하나의 대상 데이터 패킷을 식별하고, 상기 적어도 하나의 대상 데이터 패킷에 포함된 복수의 제어 비트들을 이용하여 접속 히스토리를 생성하는 단계; 및 상기 패턴 데이터베이스 및 상기 접속 히스토리를 이용하여 네트워크 공격이 존재하는지 여부를 판단하는 단계를 포함한다.
상기 접속 히스토리를 생성하는 단계는 상기 적어도 하나의 데스티네이션 각각의 어드레스 및 포트를 기준으로 상기 적어도 하나의 대상 데이터 패킷에 포함된 복수의 제어 비트들을 분리하는 단계; 및 상기 분리된 복수의 제어 비트들의 시간 순서에 따른 이력을 기초로 상기 소켓 접속 히스토리를 생성하는 단계를 포함할 수 있다.
상기 네트워크 공격이 존재하는지 여부를 판단하는 단계는 미리 설정된 적어도 하나의 서칭 윈도우(searching window)를 이용하여 상기 접속 히스토리의 일정 영역을 스캔하는 단계; 상기 스캔된 일정 영역에 대응하는 접속 히스토리에 포함된 제어 비트들의 패턴에 관한 정보를 상기 패턴 데이터베이스에 저장된 상기 적어도 하나의 공격 패턴과 비교하는 단계; 및 상기 비교 결과를 기초로, 상기 네트워크 공격이 존재하는지 여부를 판단하는 단계를 포함할 수 있다.
상기 접속 히스토리의 일정 영역을 스캔하는 단계는 상기 적어도 하나의 서칭 윈도우의 사이즈 및 이동 방향을 조절하는 단계; 및 상기 조절된 적어도 하나의 서칭 윈도우의 사이즈 및 상기 조절된 이동 방향에 따라 상기 접속 히스토리의 일정 영역을 스캔하는 단계를 포함할 수 있다.
일 실시예에 따른 무선 단말에서 네트워크 공격을 감지하는 장치는 소켓 데이터 패킷의 종류를 나타내는 복수의 제어 비트들에 의해 결정되는 적어도 하나의 공격 패턴을 포함하는 패턴 데이터베이스; 무선 통신 인터페이스를 통하여 접속하고자 하는 대상의 적어도 하나의 소켓 데이터 패킷을 수신하는 네트워크 모듈; 수신된 상기 소켓 데이터 패킷을 식별하고, 식별된 상기 소켓 데이터 패킷을 통해 상기 소켓 데이터 패킷의 종류를 나타내는 복수의 제어 비트를 추출하여 소켓 접속 히스토리를 생성하는 생성부; 및 상기 패턴 데이터베이스 및 상기 소켓 접속 히스토리를 이용하여 네트워크 공격이 존재하는지 여부를 판단하는 프로세서를 포함한다.
상기 생성부는 적어도 하나의 데스티네이션 각각의 어드레스 및 포트를 기준으로 상기 적어도 하나의 소켓 데이터 패킷을 식별할 수 있다.
상기 복수의 제어 비트들은 데이터 교환 혹은 어플리케이션 프로세스의 제어를 위해 전송할 데이터임을 나타내는 URG 비트, 확인 응답을 위한 ACK 번호 값을 나타내는 ACK 비트, 수신되는 데이터를 즉시 상위 계층의 프로세스에게 전달할 것을 나타내는 PSH 비트, 연결을 특정 에러 혹은 사용자의 명령에 의해 재설정하기 위해 사용하는 RST 비트, 연결 요청을 나타내는 SYN 비트, 연결 종료를 요청하는 FIN 비트 중 적어도 하나를 포함할 수 있다.
상기 생성부는 상기 적어도 하나의 데스티네이션 각각을 기준으로 식별된 상기 소켓 데이터 패킷에 포함된 복수의 제어 비트들을 분리하는 분리 수단; 및 상기 분리된 복수의 제어 비트들의 시간 순서에 따른 이력을 기초로 상기 소켓 접속 히스토리를 생성하는 생성 수단을 포함할 수 있다.
상기 프로세서는 미리 설정된 적어도 하나의 서칭 윈도우(searching window)를 이용하여 상기 소켓 접속 히스토리의 일정 영역을 스캔하는 스캔부; 상기 스캔된 일정 영역에 대응하는 소켓 접속 히스토리에 포함된 제어 비트들의 패턴에 관한 정보를 상기 패턴 데이터베이스에 저장된 상기 적어도 하나의 공격 패턴과 비교하는 비교부; 및 상기 비교 결과를 기초로, 상기 네트워크 공격이 존재하는지 여부를 판단하는 판단부를 포함할 수 있다.
상기 스캔부는 상기 적어도 하나의 서칭 윈도우의 사이즈 및 이동 방향을 조절하고, 상기 조절된 적어도 하나의 서칭 윈도우의 사이즈 및 상기 조절된 이동 방향에 따라 상기 소켓 접속 히스토리의 일정 영역을 스캔할 수 있다.
상기 프로세서는 상기 판단 결과를 기초로, 네트워크 어댑터에게 상기 적어도 하나의 데스티네이션의 어드레스로의 상기 소켓 데이터 패킷의 전송을 차단할 것을 요청할 수 있다.
일 실시예에 따르면, 송, 수신 소켓 데이터 패킷에 포함된 제어 비트들을 이용하여 생성한 소켓 접속 히스토리의 정보와 네트워크 액세스 패턴 데이터베이스에 저장된 정보와 비교하여 모바일 디바이스 자체에서 자기 방어 기능을 수행함으로써, 바이러스 등과 같은 네트워크 공격으로 인한 피해를 사전에 방지할 수 있으며, 무선상에서 발생할 수 있는 무선 네트워크 자원 고갈과 배터리 소모로 인한 서비스거부(DoS) 공격 형태를 효과적으로 방지할 수 있다.
일 실시예에 따르면, 적어도 하나의 소켓 데이터 패킷에 포함된 제어 비트들의 시간 순으로의 이력 정보인 소켓 액세스 히스토리를 서칭 윈도우로 스캔하여 종래의 공격 패턴들과 비교함으로써 네트워크 공격으로 인한 동시간대 다수의 접속 시도에 따른 무선망의 불안정성을 방지할 수 있다.
일 실시예에 따르면, 소켓 접속 히스토리의 정보와 네트워크 액세스 패턴 데이터베이스에 저장된 정보와의 비교 결과를 기초로 네트워크 어댑터에게 해당 소켓 데이터 패킷의 전송 차단을 요청함으로써 공격 시점 당시에 네트워크 공격을 차단하여 네트워크 공격에 기인한 부당한 데이터 사용량 증가에 의해 부당하게 요금이 부과되는 것을 방지할 수 있다.
일 실시예에 따르면, 네트워크 공격으로 판단되는 소켓 데이터 패킷을 요청한 어플리케이션의 프로세서 아이디를 파악하여 네트워크 공격과 관련된 접속자 정보 및 어플리케이션 정보를 네트워크 공격 방지를 위한 관리 서버로 제공함으로써 네트워크 공격 당시의 가담자에 대한 즉각적인 추적 및 집중적인 관리가 가능하도록 할 수 있다.
도 1은 일반적인 오픈 소스 모바일 어플리케이션 플랫폼의 구조를 나타낸 도면이다.
도 2는 일 실시예에 따른 무선 단말에서 네트워크 공격을 감지하는 방법이 수행되는 패킷 드라이버를 포함하는 일반적인 오픈 소스 모바일 어플리케이션 플랫폼을 나타낸 도면이다.
도 3은 일 실시예에 따른 무선 단말에서 네트워크 공격을 감지하는 방법을 나타낸 순서도이다.
도 4는 일 실시예에 따른 무선 단말에서 네트워크 공격을 감지하는 방법에서 송, 수신에 이용되는 소켓 데이터 패킷의 구조를 나타낸 도면이다.
도 5는 일 실시예에 따른 무선 단말에서 네트워크 공격을 감지하는 방법이 수행되는 패킷 드라이버의 구조를 나타낸 도면이다.
도 6은 도 5의 모니터링부(510)의 동작을 설명하기 위한 도면이다.
도 7은 도 5의 감지부(520). 차단부(530), 정보 수집부(540) 및 정보 전송부(550) 간의 동작을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 무선 단말에서 네트워크 공격을 감지하는 장치의 블록도이다.
도 9는 일 실시예에 따른 범용적인 장치에서 네트워크 공격을 감지하는 방법을 나타낸 순서도이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 일실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일반적인 오픈 소스 모바일 어플리케이션 플랫폼의 구조를 나타낸 도면이다.
도 1을 참조하면, 플랫폼(100)는 예를 들어, 달빅(dalvik) 가상 머신 등을 통해 자바로 작성된 어플리케이션(Application)을 별도의 프로세서에서 실행하는 구조로 되어 있다. 개발자들은 소프트웨어 개발 키트(Software Development Kit; SDK)를 사용하여 모바일 단말에서 동작하는 어플리케이션들을 만들 수 있다. 어플리케이션들은 자바 프로그래밍 언어로 작성하고 달빅 가상 머신 위에서 실행될 수 있다.
플랫폼(100)은 리눅스 커널(Linux Kernel)(110), 라이브러리(Library)(120), 어플리케이션 프레임워크(Application Framework)(130) 및 어플리케이션(Application)(140)을 포함할 수 있다.
리눅스 커널(110)은 메모리 관리, 프로세스 관리, 네트워크 스택 등의 하드웨어관리를 지원한다.
라이브러리(120)는 플랫폼(100)에서 필요한 C/C++ 라이브러리를 지원하며, 플랫폼(100)의 기본적인 기능을 제공하는 구성 요소들을 포함한다.
어플리케이션 프레임워크(130)는 어플리케이션 개발 시에 필요한 API(Application Programming Interface)를 제공한다. 어플리케이션 프레임워크(130)는 어플리케이션이 만들어지기 위해 필요한 구성 요소들을 포함한다.
어플리케이션(140)은 이메일 클라이언트, SMS 프로그램, 달력, 지도, 브라우저 등과 같이 기본적으로 제공되는 어플리케이션들을 포함한다.
이 밖에도 플랫폼(100)는 안드로이드 실행 환경에서의 동작을 위해 안드로이드 런타임(150)을 포함할 수 있다. 안드로이드 런타임(150)은 달빅 가상 머신과 안드로이드 실행 환경을 위한 코어 라이브러리를 포함할 수 있다. 플랫폼(100)는 리눅스 커널(110) -> 라이브러리(120) -> 어플리케이션 프레임워크(130) -> 어플리케이션(140)과 같은 순서로 실행될 수 있다.
도 2는 일 실시예에 따른 무선 단말에서 네트워크 공격을 감지하는 방법이 수행되는 패킷 드라이버를 포함하는 일반적인 오픈 소스 모바일 어플리케이션 플랫폼(200)을 나타낸 도면이다.
도 2를 참조하면, 일 실시예에 따른 무선 단말에서 네트워크 공격을 감지하는 방법은 리눅스 커널(210) 내의 위치한 패킷 드라이버(Packet Driver)(250)에 의해 수행될 수 있다. 하지만, 이러한 패킷 드라이버(250)의 위치는 일 실시예에 의해 한정되는 것은 아니며, 리눅스 커널(210) 이외에도 라이브러리(220), 어플리케이션 프레임워크(230) 및 어플리케이션(240) 등 필요에 따라 다양한 곳에 위치할 수 있다.
도 3은 일 실시예에 따른 무선 단말에서 네트워크 공격을 감지하는 방법을 나타낸 순서도이다.
도 3을 참조하면, 무선 단말에서 네트워크 공격을 감지하는 장치(이하, '감지 장치')는 소켓 데이터 패킷의 종류를 나타내는 복수의 제어 비트들에 의해 결정되는 적어도 하나의 공격 패턴을 패턴 데이터베이스(Pattern DB)에 저장한다(301). 이때, 적어도 하나의 공격 패턴은 무선 단말이 복수의 제어 비트들을 이용하여 직접 결정(혹은 파악)하거나, 중앙 관리 서버 등으로부터 수신한 것일 수 있다. 여기서, 복수의 제어 비트들에 대하여는 도 4를 참조하여 후술한다.
감지 장치는 무선 통신 인터페이스를 통하여 접속하고자 하는 대상의 적어도 하나의 소켓 데이터 패킷을 수신한다(303).
감지 장치는 적어도 하나의 소켓 데이터 패킷에 포함된 복수의 제어 비트들을 이용하여 소켓 접속 히스토리(Socket Access History)를 생성한다(305). 이때, 감지 장치는 적어도 하나의 데스티네이션 각각의 어드레스 및 포트를 기준으로 수신된 소켓 데이터 패킷을 식별하고, 식별된 소켓 데이터 패킷을 통해 소켓 데이터 패킷의 종류를 나타내는 복수의 제어 비트를 추출하여 소켓 접속 히스토리를 생성할 수 있다.
감지 장치가 소켓 접속 히스토리를 생성하는 방법은 다음과 같다.
감지 장치는 후술하는 도 6과 같이 적어도 하나의 데스티네이션 각각(보다 구체적으로는 데스티네이션 각각의 어드레스 및 포트)을 기준으로 식별된 소켓 데이터 패킷에 포함된 복수의 제어 비트들을 분리할 수 있다. 그 후, 감지 장치는 분리된 복수의 제어 비트들의 시간 순서에 따른 이력을 기초로 소켓 접속 히스토리를 생성할 수 있다.
감지 장치는 패턴 데이터베이스 및 소켓 접속 히스토리를 이용하여 네트워크 공격이 존재하는지 여부를 판단한다. 보다 구체적으로, 감지 장치는 미리 설정된 적어도 하나의 서칭 윈도우(searching window)를 이용하여 소켓 접속 히스토리의 일정 영역을 스캔할 수 있다(307). 이때, 감지 장치는 적어도 하나의 서칭 윈도우의 사이즈 및 이동 방향을 조절하고, 조절된 적어도 하나의 서칭 윈도우의 사이즈 및 조절된 이동 방향에 따라 소켓 접속 히스토리의 일정 영역을 스캔할 수 있다.
즉, 감지 장치는 서칭 윈도우의 사이즈를 '4'에서 '6'으로 조절하여 보다 넓은 영역에 해당하는 소켓 접속 히스토리를 스캔할 수도 있고, 서칭 윈도우를 현재의 위치에서 왼쪽 또는 오른쪽으로 이동시켜 소켓 접속 히스토리의 서로 다른 영역을 스캔할 수도 있다. 또한, 감지 장치는 두 개의 서칭 윈도우를 사용하여 소켓 접속 히스토리의 일정 영역을 스캔할 수도 있다. 예를 들어, 감지 장치는 두 개의 서칭 윈도우를 소켓 접속 히스토리의 일정 영역으로부터 바깥쪽으로 일정 위치만큼 이동시킨 영역을 스캔하거나, 바깥에서 안쪽으로 일정 위치만큼 이동시킨 영역을 스캔할 수도 있다.
이 후, 감지 장치는 스캔된 일정 영역에 대응하는 소켓 접속 히스토리에 포함된 제어 비트들의 패턴에 관한 정보를 패턴 데이터베이스에 저장된 적어도 하나의 공격 패턴과 비교할 수 있다(309). 이때, 소켓 접속 히스토리에 포함된 제어 비트들의 패턴에 관한 정보가 패턴 데이터베이스에 저장된 적어도 하나의 공격 패턴과 일치하면, 감지 장치는 네트워크 공격이 존재하는 것으로 판단할 수 있다(311). 예를 들어, 도 4에서 정상적인 제어 비트들의 패턴이 PSH, ACK, PSH, ACK, PSH와 같은 패턴이고, 패턴 데이터베이스에 저장된 적어도 하나의 공격 패턴이 PSH, PSH, PSH, ACK 라고 하자. 이때, 소켓 접속 히스토리에 포함된 제어 비트들의 패턴이 PSH, PSH, PSH, ACK와 같은 패턴을 가지면 감지 장치는 네트워크 공격이 존재하는 것으로 판단할 수 있다.
반면에, 소켓 접속 히스토리에 포함된 제어 비트들의 패턴에 관한 정보가 패턴 데이터베이스에 저장된 적어도 하나의 공격 패턴과 일치하지 않으면, 감지 장치는 네트워크 공격이 존재하지 않는 것으로 판단할 수 있다. 이에 따라, 감지 장치는 해당 제어 비트들의 패턴에 관한 정보를 소켓 접속 히스토리에서 삭제(315)한 후, 동작을 종료할 수 있다.
감지 장치는 311에서의 판단 결과를 기초로, 네트워크 어댑터에게 적어도 하나의 데스티네이션 어드레스로의 소켓 데이터 패킷의 전송을 차단할 것을 요청할 수 있다(313). 이때, 감지 장치는 적어도 하나의 데스티네이션 어드레스로의 소켓 데이터 패킷의 전송을 요청한 어플리케이션의 프로세스 아이디를 파악하고, 네트워크 어댑터에게 해당 어플리케이션의 프로세스 아이디를 포함하는 정보를 전송할 수 있다. 여기서, 어플리케이션의 프로세스 아이디는 프로세서 등에 의해 해당 어플리케이션이 구동되는 경우에 해당 어플리케이션에 할당되는 아이디를 의미한다.
이 밖에도, 감지 장치는 어플리케이션에 대한 정보 및 소켓 데이터(Socket data) 패킷에 대한 네트워크 공격과 관련된 정보들을 수집하고, 수집된 정보들을 단말의 사용자 및 관리 서버로 전송하여 네트워크 공격에 대한 집중적인 관리가 가능하도록 할 수 있다.
도 4는 일 실시예에 따른 무선 단말에서 네트워크 공격을 감지하는 방법에서 송, 수신에 이용되는 소켓 데이터 패킷의 구조를 나타낸 도면이다.
소켓 데이터 패킷(400)은 아이피 헤더(IP Header) 필드(410) 및 아이피 데이터(IP Data) 필드(450)를 포함한다. 아이피 헤더(IP Header) 필드(410)는 프로토콜(Protocol)(411), 소스 어드레스(Source Address)(413) 및 데스티네이션 어드레스(Destination Address)(415)를 포함한다.
프로토콜(411)은 아이피 소켓(IP socket)에 대한 상위 프로토콜을 표시한다. 예를 들어, TCP 6번, UDP 17번 등과 같이 표시할 수 있다.
소스 어드레스(413)는 무선 단말이 네트워크 망으로부터 부여 받은 단말의 아이피 어드레스(IP Address)이다.
데스티네이션 어드레스(415)는 어플리케이션의 네트워크 데이터가 실제 전송되기를 희망하는 아이피 어드레스, 즉 타겟 아이피 어드레스(Target IP Address)이다.
아이피 데이터 필드(450)는 TCP 헤더(430) 및 TCP 데이터(440)를 포함한다.
TCP 헤더(430)는 소스 포트(Source Port)(431), 데스티네이션 포트(Destination Port)(433) 및 복수의 제어 비트들(435)을 포함한다.
소스 포트(431)는 전체 16비트 길이를 가지며, 해당 TCP/IP 소스(source) 측 IP 포트 번호를 나타낸다. 예를 들어, Port 80는 HTTP를, Port 21은 FTP를 나타낸다.
데스티네이션 포트(433)는 해당 TCP/IP Destination측 IP 포트 번호이다.
복수의 제어 비트들(435)의 구성은 다음과 같다.
URG(Urgent) 비트는 Urgent Pointer 우선 순위 Packet을 표시한다. 즉, URG 비트가 '1'로 설정되면, 현재 Urgent Pointer에 명시된 항목이 기존의 바이트 스트림 즉, 데이터 교환 혹은 어플리케이션 프로세스의 제어를 위해 전송할 메시지 혹은 데이터임을 나타낸다.
ACK(Acknowledgement) 비트는 '1'로 설정되면, 확인 응답을 위한 번호 항목에 ACK 번호 값이 입력되어 있음을 나타낸다.
PSH(Push) 비트는 TCP에게 수신된 데이터를 즉시 상위 계층의 프로세스에게 전달해야 하는 때에 사용한다.
RST(Reset) 비트는 TCP 연결을 특정 에러 혹은 사용자의 명령에 의해 재설정하기 위해 사용한다. 즉, 세션(Session) 성립 이후의 비정상적인 동작으로 인한 강제 종료를 해야 하는 때에 사용한다.
SYN(Synchronize) 비트는 데스티네이션 호스트(Destination Host)측에 패킷 전송 작업 연결을 요청하는 데에 이용된다. 즉, SYN 비트가 '1'로 설정되면 TCP 연결을 위한 요청이 되었음을 나타낸다.
FIN(Finish) 비트는 연결의 종료에 대한 요청을 나타낸다. 즉, FIN 비트는 데스티네이션 호스트 측에 패킷 전송 작업의 종결을 통보하는 데에 이용된다.
도 5는 일 실시예에 따른 무선 단말에서 네트워크 공격을 감지하는 방법이 수행되는 패킷 드라이버의 구조를 나타낸 도면이다.
일 실시예에 따른 패킷 드라이버는 모니터링부(510), 감지부(520), 차단부(530), 정보 수집부(540) 및 정보 전송부(550)를 포함할 수 있다.
모니터링부(510)는 상위 어플리케이션(Application)에서 요청한, 희망하는 접속 대상의 서버(Server) 혹은 Web site, URL 주소에 해당되는 타겟(Target) IP에 대한 송, 수신 소켓 데이터를 모니터링한다. 이때, 관찰된 소켓 데이터의 접속 흐름과 관련된 정보는 타겟 IP 별로 저장될 수 있다.
감지부(520)는 모니터링부(510)에 저장된 타겟 IP 별 소켓 데이터의 접속 흐름과 관련된 정보에 대한 네트워크 공격 유형이 발생하였는지 여부를 확인한다.
감지부(520)는 네트워크 공격 유형이 발생한 것으로 확인되면, 이를 차단부(530)에 알려 네트워크 공격 유형이 발생한 소켓 데이터의 전송을 차단하도록 요청한다. 감지부(520)는 네트워크 공격 유형이 발생하지 않은 것으로 확인되면, 현시점까지의 타겟 IP별로 분류한 정보를 정리하고, 선택된 네트워크 어댑터(Network Adapter)를 통해 통상적인 소켓 데이터 패킷과 동일한 과정으로 처리한다.
차단부(530)는 감지부(520)를 통해 확인되는 타겟 아이피의 소켓 데이터 패킷에 대하여 네트워크 어댑터 측으로의 전송 동작을 수행하지 않고, 내부에서 해당 데이터를 파기한다. 이때, 차단부(530)는 해당 소켓 데이터 패킷을 요청한 어플리케이션에 대한 정보를 정보 수집부(540)에게 전달한다.
정보 수집부(540)는 차단부(530)를 통해 통보 받은 네트워크 공격 유형(혹은 공격 패턴)에 대한 관련 정보를 수집 및 정리한다.
이때, 정보 수집부(540)는 모니터링부(510)에 보관된 자료 및 어플리케이션 등록 정보를 통해, 소켓 데이터(Socket data) 패킷에 대한 네트워크 공격과 관련된 정보들(예를 들어, 목표가 된 타겟 IP, 네트워크 공격 시도 시점, 소켓 데이터 패킷의 전송이 차단된 시점) 및 네트워크 공격이 존재하는 소켓 데이터 패킷을 요청한 어플리케이션에 대한 정보(예를 들어, 해당 어플리케이션의 이름, 설치된 어플리케이션의 버전 등)를 수집할 수 있다.
정보 전송부(550)는 별도의 소켓 데이터 패킷을 이용하여 수집된 정보를 지정된 중앙 관리 서버에게 전송할 수 있다. 정보 전송부(550)는 전송 완료 후, 사용자가 인식 할 수 있도록 사용자의 무선 단말의 화면을 통해 네트워크 공격의 발생 여부 및 수집된 정보를 알려줄 수 있다.
도 6은 도 5의 모니터링부(510)의 동작을 설명하기 위한 도면이다.
도 6을 참조하면, 모니터링부(510)는 도 2의 패킷 드라이버(Packet Driver)에 의해 송, 수신되는 소켓 데이터 패킷을 타겟 IP 마다에 대하여 모니터링한다. 이때, 모니터링부(510)는 도 6과 같이 타겟 IP 마다에 대하여, IP 헤더 부분에 포함된 데스티네이션 어드레스(Destination Address)와 데스티네이션 포트(Destination Port)들을 기준으로 송, 수신 소켓 데이터 패킷의 TCP 제어 비트들을 분리한다.
그 후, 모니터링부(510)는 분리된 복수의 제어 비트들의 시간 순서에 따른 이력 정보를 별도의 파일 형태로 저장할 수 있다. 이때, 복수의 제어 비트들의 시간 순서에 따른 이력 정보는 데스티네이션 어드레스(Destination Address)와 데스티네이션 포트(Destination Port) 별로 구분하여 저장될 수 있으며, '소켓 접속 히스토리(Socket Access History)'라 부를 수 있다.
도 7은 도 5의 감지부(520). 차단부(530), 정보 수집부(540) 및 정보 전송부(550) 간의 동작을 설명하기 위한 도면이다.
감지부(520)는 모니터링부(510)에 의해 저장된 소켓 접속 히스토리(Socket Access History)를 사전에 정리된 패턴 데이터베이스와 비교하여 네트워크 공격 유형이 검출되었는지 여부를 확인(또는 판단)할 수 있다(710).
이때, 감지부(520)는 미리 설정된 적어도 하나의 서칭 윈도우(searching window)를 이용하여 소켓 접속 히스토리의 일정 영역을 스캔할 수 있다. 그리고, 감지부(520)는 스캔된 일정 영역에 대응하는 소켓 접속 히스토리에 포함된 제어 비트들의 패턴에 관한 정보를 패턴 데이터베이스(Network Attack Access Pattern DB)에 저장된 적어도 하나의 공격 패턴과 비교함으로써 네트워크 공격 유형이 발생했는지를 판단할 수 있다.
즉, 정상적인 제어 비트들의 패턴이 PSH, ACK, PSH, ACK, PSH와 같은 패턴이고, 패턴 데이터베이스에 저장된 적어도 하나의 공격 패턴이 PSH, PSH, PSH, ACK 라고 하자. 이때, 소켓 접속 히스토리에 포함된 제어 비트들의 패턴이 PSH, PSH, PSH, ACK와 같은 패턴을 가지면 감지부(520)는 네트워크 공격이 존재하는 것으로 판단할 수 있다.
여기서, '서칭 윈도우(searching window)'는 일정한 시간 간격 또는 제어 비트들의 개수를 의미하며, 미리 저장된 공격 패턴들과의 비교되는 일정 범위(혹은 일정 영역)의 크기에 해당한다.
감지부(520)는 스캔된 영역들에 대한 검출 결과, 미리 저장된 공격 패턴들을 포함하지 않는 영역들에 대한 자료는 소켓 접속 히스토리에서 삭제할 수 있다(720).
차단부(530)는 스캔된 영역들에 대해 해당 패턴 데이터베이스와 일치되는 형태가 관찰되면, 해당 데스티네이션 어드레스의 소켓 데이터 패킷에 대하여 감지부(520)에게 네트워크 어댑터 측으로 데이터 전달 행위를 정지할 것을 요청하여 실제 데스티네이션 어드레스로 해당 소켓 데이터 패킷이 전달되지 못하게 한다(730).
차단부(530)는 네트워크 공격 행위에 대한 정보를 정보 수집부(540)에게 전달할 수 있다(740). 여기서, 네트워크 공격 행위에 대한 정보는 예를 들어, 네트워크 공격 유형(혹은 공격 패턴), 네트워크 공격의 시도 시간 등과 같은 정보일 수 있다.
또한, 차단부(530)는 해당 데스티네이션 어드레스로의 소켓 데이터 패킷의 전송 서비스를 요청한 어플리케이션의 프로세스 아이디(Process ID)를 확보하여 정보 수집부(540)에게 전달할 수 있다(750).
정보 수집부(540)는 네트워크 공격 발생 행위에 대한 관련 정보를 수집 및 정리할 수 있다. 정보 수집부(540)는 예를 들어, ActivityManager.RunningAppProcessInfo 등과 같은 안드로이드 함수를 통해 취합되는 어플리케이션에 대한 정보를 획득할 수 있다. 여기서, 어플리케이션에 대한 정보에는 어플리케이션의 버전 정보, 최후 업데이트 시간 등이 포함될 수 있다.
이때, 정보 수집부(540)는 차단부(530)로부터 수신한 어플리케이션의 프로세스 아이디를 이용하여 상술한 정보들을 수집할 수 있다.
정보 수집부(540)는 최종적으로 차단부(530)로부터 수신한 네트워크 공격과 관련된 정보 및 어플리케이션에 대한 정보를 취합하여 저장할 수 있다. 이때, 최종 취합된 정보를 네트워크 공격 방지 정보(Network Attack Preventing Information)라고 부를 수 있다.
정보 수집부(540)는 네트워크 공격 방지 정보를 정보 전송부(550)에게 전달할 수 있다.
정보 전송부(550)는 네트워크 공격 방지 정보를 예를 들어, 사이버 경찰청, 혹은 별도 네트워크 공격 방지 대책 중앙 관리 서버 등에 소켓 데이터 패킷의 형태로 전송할 수 있다. 정보 전송부(550)는 사용자가 네트워크 공격을 인식할 수 있도록 사용자 단말의 화면 등을 통해서 네트워크 공격 방지 정보를 표시할 수 있다.
도 8은 일 실시예에 따른 무선 단말에서 네트워크 공격을 감지하는 장치의 블록도이다. 도 8을 참조하면, 무선 단말에서 네트워크 공격을 감지하는 장치(800)는 패턴 데이터베이스(810), 네트워크 모듈(830), 생성부(850) 및 프로세서(870)를 포함한다.
패턴 데이터베이스(810)는 소켓 데이터 패킷의 종류를 나타내는 복수의 제어 비트들에 의해 결정되는 적어도 하나의 공격 패턴을 포함한다. 이때, 적어도 하나의 공격 패턴은 무선 단말이 복수의 제어 비트들을 이용하여 직접 결정(혹은 파악)하거나, 중앙 관리 서버 등으로부터 수신한 것일 수 있다.
네트워크 모듈(830)은 무선 통신 인터페이스를 통하여 적어도 하나의 소켓 데이터 패킷을 수신한다.
생성부(850)는 네트워크 모듈(830)에서 수신된 소켓 데이터 패킷을 식별하고, 식별된 소켓 데이터 패킷을 통해 소켓 데이터 패킷의 종류를 나타내는 복수의 제어 비트를 추출하여 소켓 접속 히스토리를 생성한다.
복수의 제어 비트들은 데이터 교환 혹은 어플리케이션 프로세스의 제어를 위해 전송할 데이터임을 나타내는 URG 비트, 확인 응답을 위한 ACK 번호 값을 나타내는 ACK 비트, 수신되는 데이터를 즉시 상위 계층의 프로세스에게 전달할 것을 나타내는 PSH 비트, 연결을 특정 에러 혹은 사용자의 명령에 의해 재설정하기 위해 사용하는 RST 비트, 연결 요청을 나타내는 SYN 비트, 연결 종료를 요청하는 FIN 비트 중 적어도 하나를 포함할 수 있다.
생성부(850)는 적어도 하나의 데스티네이션 각각의 어드레스 및 포트를 기준으로 상기 적어도 하나의 소켓 데이터 패킷을 식별할 수 있다.
생성부(850)는 분리 수단(853) 및 생성 수단(856)을 포함할 수 있다.
분리 수단(853)은 적어도 하나의 데스티네이션 각각을 기준으로 식별된 소켓 데이터 패킷에 포함된 복수의 제어 비트들을 분리할 수 있다. 생성 수단(856)은 분리된 복수의 제어 비트들의 시간 순서에 따른 이력을 기초로 소켓 접속 히스토리를 생성할 수 있다.
프로세서(870)는 패턴 데이터베이스(810) 및 적어도 하나의 소켓 데이터 패킷에 포함된 복수의 제어 비트들의 패턴에 관한 정보를 이용하여 네트워크 공격이 존재하는지 여부를 판단한다.
프로세서(870)는 스캔부(873), 비교부(876) 및 판단부(879)를 포함할 수 있다.
스캔부(873)는 미리 설정된 적어도 하나의 서칭 윈도우(searching window)를 이용하여 소켓 접속 히스토리의 일정 영역을 스캔할 수 있다.
스캔부(873)는 적어도 하나의 서칭 윈도우의 사이즈 및 이동 방향을 조절하고, 조절된 적어도 하나의 서칭 윈도우의 사이즈 및 조절된 이동 방향에 따라 소켓 접속 히스토리의 일정 영역을 스캔할 수 있다.
비교부(876)는 스캔된 일정 영역에 대응하는 소켓 접속 히스토리에 포함된 제어 비트들의 패턴에 관한 정보를 패턴 데이터베이스에 저장된 적어도 하나의 공격 패턴과 비교할 수 있다.
판단부(879)는 비교 결과를 기초로, 네트워크 공격이 존재하는지 여부를 판단할 수 있다.
프로세서(870)는 판단 결과를 기초로, 네트워크 어댑터에게 적어도 하나의 데스티네이션의 어드레스로의 소켓 데이터 패킷의 전송을 차단할 것을 요청할 수 있다.
도 9는 일 실시예에 따른 범용적인 장치에서 네트워크 공격을 감지하는 방법을 나타낸 순서도이다. 도 9를 참조하면, 일 실시예에 따른 범용적인 장치(이하 '범용 장치')는 데이터 패킷의 종류를 나타내는 복수의 제어 비트들에 의해 결정되는 적어도 하나의 공격 패턴을 포함하는 패턴 데이터베이스를 유지한다(901).
이때, 적어도 하나의 공격 패턴은 범용 장치가 복수의 제어 비트들을 이용하여 직접 결정(혹은 파악)하거나, 중앙 관리 서버 등으로부터 수신한 것일 수 있다.
범용 장치는 어플리케이션이 접속을 요청하는 대상으로부터 적어도 하나의 대상 데이터 패킷을 수신한다(903).
범용 장치는 적어도 하나의 데스티네이션 각각의 어드레스 및 포트를 기준으로 적어도 하나의 대상 데이터 패킷을 식별한다(905).
범용 장치는 복수의 제어 비트들을 이용하여 접속 히스토리를 생성한다(907). 이때, 범용 장치는 적어도 하나의 데스티네이션 각각의 어드레스 및 포트를 기준으로 적어도 하나의 대상 데이터 패킷에 포함된 복수의 제어 비트들을 분리하고, 분리된 복수의 제어 비트들의 시간 순서에 따른 이력을 기초로 소켓 접속 히스토리를 생성할 수 있다.
범용 장치는 패턴 데이터베이스 및 접속 히스토리를 이용하여 네트워크 공격이 존재하는지 여부를 판단한다(909).
보다 구체적으로, 범용 장치는 미리 설정된 적어도 하나의 서칭 윈도우(searching window)를 이용하여 접속 히스토리의 일정 영역을 스캔하고, 스캔한 일정 영역에 대응하는 접속 히스토리에 포함된 제어 비트들의 패턴에 대한 정보를 패턴 데이터베이스에 저장된 적어도 하나의 공격 패턴과 비교함으로써 네트워크 공격이 존재하는지 여부를 판단할 수 있다.
범용 장치가 접속 히스토리의 일정 영역을 스캔하는 방법은 다음과 같다.
범용 장치는 적어도 하나의 서칭 윈도우의 사이즈 및 이동 방향을 조절한 후, 조절된 적어도 하나의 서칭 윈도우의 사이즈 및 조절된 이동 방향에 따라 접속 히스토리의 일정 영역을 스캔할 수 있다.
그리고, 범용 장치는 스캔된 일정 영역에 대응하는 접속 히스토리에 포함된 제어 비트들의 패턴에 관한 정보를 패턴 데이터베이스에 저장된 적어도 하나의 공격 패턴과 비교한 후, 비교 결과를 기초로 네트워크 공격이 존재하는지 여부를 판단할 수 있다. 여기서, 패턴 데이터베이스(Pattern DB)는 현재까지 확인된 네트워크 공격(Network Attack)의 TCP/IP 접속 시도 행위에 대한 제어 비트(Control bit)의 정보를 형태 별로 정리한 정보(예를 들어, Pattern 가, Pattern 나)를 저장할 수 있다.
사이버 수사대, 네트워크 관련 서버 등은 기존의 네트워크 공격에서 사용한 패턴들을 범용 장치에게 제공하고, 범용 장치는 해당 패턴들을 네트워크 공격 패턴 데이터베이스에 저장함으로써 기존 네트워크 공격에서 사용한 패턴에 대한 방어 또한 가능하도록 할 수 있다.
상술한 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가지 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
510: 모니터링부
520: 감지부
530: 차단부
540: 정보 수집부
550: 정보 전송부

Claims (20)

  1. 소켓 데이터 패킷의 종류를 나타내는 복수의 제어 비트에 의해 결정되는 적어도 하나의 공격 패턴 정보를 패턴 데이터베이스(Pattern DB)에 저장하는 단계;
    무선 통신 인터페이스를 통하여 접속하고자 하는 대상의 적어도 하나의 소켓 데이터 패킷을 수신하는 단계;
    적어도 하나의 데스티네이션 각각의 어드레스 및 포트를 기준으로 상기 소켓 데이터 패킷을 식별하는 단계;
    상기 식별된 소켓 데이터 패킷을 통해 상기 소켓 데이터 패킷의 종류를 나타내는 복수의 제어 비트를 추출하여 소켓 접속 히스토리를 생성하는 단계; 및
    상기 패턴 데이터베이스 및 상기 소켓 접속 히스토리를 비교하여 네트워크 공격이 존재하는지 여부를 판단하는 단계
    를 포함하는 무선 단말에서 네트워크 공격을 감지하는 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 복수의 제어 비트들은
    데이터 교환 혹은 어플리케이션 프로세스의 제어를 위해 전송할 데이터임을 나타내는 URG 비트, 확인 응답을 위한 ACK 번호 값을 나타내는 ACK 비트, 수신되는 데이터를 즉시 상위 계층의 프로세스에게 전달할 것을 나타내는 PSH 비트, 연결을 특정 에러 혹은 사용자의 명령에 의해 재설정하기 위해 사용하는 RST 비트, 연결 요청을 나타내는 SYN 비트, 연결 종료를 요청하는 FIN 비트 중 적어도 하나를 포함하는 무선 단말에서 네트워크 공격을 감지하는 방법.
  4. 제1항에 있어서,
    상기 소켓 접속 히스토리를 생성하는 단계는
    적어도 하나의 데스티네이션 각각을 기준으로 식별된 상기 소켓 데이터 패킷에 포함된 복수의 제어 비트들을 분리하는 단계; 및
    상기 분리된 복수의 제어 비트들의 시간 순서에 따른 이력을 기초로 상기 소켓 접속 히스토리를 생성하는 단계
    를 포함하는 무선 단말에서 네트워크 공격을 감지하는 방법.
  5. 제1항에 있어서,
    상기 네트워크 공격이 존재하는지 여부를 판단하는 단계는
    미리 설정된 적어도 하나의 서칭 윈도우(searching window)를 이용하여 상기 소켓 접속 히스토리의 일정 영역을 스캔하는 단계;
    상기 스캔된 일정 영역에 대응하는 소켓 접속 히스토리에 포함된 제어 비트들의 패턴에 관한 정보를 상기 패턴 데이터베이스에 저장된 상기 적어도 하나의 공격 패턴과 비교하는 단계; 및
    상기 비교 결과를 기초로, 상기 네트워크 공격이 존재하는지 여부를 판단하는 단계
    를 포함하는 무선 단말에서 네트워크 공격을 감지하는 방법.
  6. 제5항에 있어서,
    상기 소켓 접속 히스토리의 일정 영역을 스캔하는 단계는
    상기 적어도 하나의 서칭 윈도우의 사이즈 및 이동 방향을 조절하는 단계; 및
    상기 조절된 적어도 하나의 서칭 윈도우의 사이즈 및 상기 조절된 이동 방향에 따라 상기 소켓 접속 히스토리의 일정 영역을 스캔하는 단계
    를 포함하는 무선 단말에서 네트워크 공격을 감지하는 방법.
  7. 제1항에 있어서,
    상기 판단 결과를 기초로, 네트워크 어댑터에게 적어도 하나의 데스티네이션의 어드레스로의 상기 소켓 데이터 패킷의 전송을 차단할 것을 요청하는 단계
    를 더 포함하는 무선 단말에서 네트워크 공격을 감지하는 방법.
  8. 제7항에 있어서,
    상기 소켓 데이터 패킷의 전송을 차단할 것을 요청하는 단계는
    상기 적어도 하나의 데스티네이션의 어드레스로의 상기 소켓 데이터 패킷의 전송을 요청한 어플리케이션의 프로세스 아이디를 파악하는 단계; 및
    상기 네트워크 어댑터에게 상기 어플리케이션의 프로세스 아이디를 포함하는 정보를 전송하는 단계
    를 포함하는 무선 단말에서 네트워크 공격을 감지하는 방법.
  9. 데이터 패킷의 종류를 나타내는 복수의 제어 비트들에 의해 결정되는 적어도 하나의 공격 패턴을 패턴 데이터베이스(Pattern DB)에 저장하는 단계;
    어플리케이션이 접속을 요청하는 대상으로부터 적어도 하나의 대상 데이터 패킷을 수신하는 단계;
    적어도 하나의 데스티네이션 각각의 어드레스 및 포트를 기준으로 상기 적어도 하나의 대상 데이터 패킷을 식별하고, 상기 복수의 제어 비트들을 이용하여 접속 히스토리를 생성하는 단계; 및
    상기 패턴 데이터베이스 및 상기 접속 히스토리를 이용하여 네트워크 공격이 존재하는지 여부를 판단하는 단계
    를 포함하고,
    상기 복수의 제어 비트들은
    데이터 교환 혹은 어플리케이션 프로세스의 제어를 위해 전송할 데이터임을 나타내는 URG 비트, 확인 응답을 위한 ACK 번호 값을 나타내는 ACK 비트, 수신되는 데이터를 즉시 상위 계층의 프로세스에게 전달할 것을 나타내는 PSH 비트, 연결을 특정 에러 혹은 사용자의 명령에 의해 재설정하기 위해 사용하는 RST 비트, 연결 요청을 나타내는 SYN 비트, 연결 종료를 요청하는 FIN 비트 중 적어도 하나를 포함하는 네트워크 공격을 감지하는 방법.
  10. 제9항에 있어서,
    상기 접속 히스토리를 생성하는 단계는
    상기 적어도 하나의 데스티네이션 각각의 어드레스 및 포트를 기준으로 상기 적어도 하나의 대상 데이터 패킷에 포함된 복수의 제어 비트들을 분리하는 단계; 및
    상기 분리된 복수의 제어 비트들의 시간 순서에 따른 이력을 기초로 상기 접속 히스토리를 생성하는 단계
    를 포함하는 네트워크 공격을 감지하는 방법.
  11. 제9항에 있어서,
    상기 네트워크 공격이 존재하는지 여부를 판단하는 단계는
    미리 설정된 적어도 하나의 서칭 윈도우(searching window)를 이용하여 상기 접속 히스토리의 일정 영역을 스캔하는 단계;
    상기 스캔된 일정 영역에 대응하는 접속 히스토리에 포함된 제어 비트들의 패턴에 관한 정보를 상기 패턴 데이터베이스에 저장된 상기 적어도 하나의 공격 패턴과 비교하는 단계; 및
    상기 비교 결과를 기초로, 상기 네트워크 공격이 존재하는지 여부를 판단하는 단계
    를 포함하는 네트워크 공격을 감지하는 방법.
  12. 제11항에 있어서,
    상기 접속 히스토리의 일정 영역을 스캔하는 단계는
    상기 적어도 하나의 서칭 윈도우의 사이즈 및 이동 방향을 조절하는 단계; 및
    상기 조절된 적어도 하나의 서칭 윈도우의 사이즈 및 상기 조절된 이동 방향에 따라 상기 접속 히스토리의 일정 영역을 스캔하는 단계
    를 포함하는 네트워크 공격을 방지하는 방법.
  13. 제1항, 제3항 내지 제12항 중 어느 한 항의 방법을 수행하기 위한 프로그램이 기록되어 있는 컴퓨터로 판독 가능한 기록매체.
  14. 소켓 데이터 패킷의 종류를 나타내는 복수의 제어 비트들에 의해 결정되는 적어도 하나의 공격 패턴을 포함하는 패턴 데이터베이스;
    무선 통신 인터페이스를 통하여 접속하고자 하는 대상의 적어도 하나의 소켓 데이터 패킷을 수신하는 네트워크 모듈;
    적어도 하나의 데스티네이션 각각의 어드레스 및 포트를 기준으로 상기 소켓 데이터 패킷을 식별하고, 상기 식별된 소켓 데이터 패킷을 통해 상기 소켓 데이터 패킷의 종류를 나타내는 복수의 제어 비트를 추출하여 소켓 접속 히스토리를 생성하는 생성부; 및
    상기 패턴 데이터베이스 및 상기 소켓 접속 히스토리를 비교하여 네트워크 공격이 존재하는지 여부를 판단하는 프로세서
    를 포함하는 무선 단말에서 네트워크 공격을 감지하는 장치.
  15. 삭제
  16. 제14항에 있어서,
    상기 복수의 제어 비트들은
    데이터 교환 혹은 어플리케이션 프로세스의 제어를 위해 전송할 데이터임을 나타내는 URG 비트, 확인 응답을 위한 ACK 번호 값을 나타내는 ACK 비트, 수신되는 데이터를 즉시 상위 계층의 프로세스에게 전달할 것을 나타내는 PSH 비트, 연결을 특정 에러 혹은 사용자의 명령에 의해 재설정하기 위해 사용하는 RST 비트, 연결 요청을 나타내는 SYN 비트, 연결 종료를 요청하는 FIN 비트 중 적어도 하나를 포함하는 무선 단말에서 네트워크 공격을 감지하는 장치.
  17. 제14항에 있어서,
    상기 생성부는
    적어도 하나의 데스티네이션 각각을 기준으로 식별된 상기 소켓 데이터 패킷에 포함된 복수의 제어 비트들을 분리하는 분리 수단; 및
    상기 분리된 복수의 제어 비트들의 시간 순서에 따른 이력을 기초로 상기 소켓 접속 히스토리를 생성하는 생성 수단
    을 포함하는 무선 단말에서 네트워크 공격을 감지하는 장치.
  18. 제14항에 있어서,
    상기 프로세서는
    미리 설정된 적어도 하나의 서칭 윈도우(searching window)를 이용하여 상기 소켓 접속 히스토리의 일정 영역을 스캔하는 스캔부;
    상기 스캔된 일정 영역에 대응하는 소켓 접속 히스토리에 포함된 제어 비트들의 패턴에 관한 정보를 상기 패턴 데이터베이스에 저장된 상기 적어도 하나의 공격 패턴과 비교하는 비교부; 및
    상기 비교 결과를 기초로, 상기 네트워크 공격이 존재하는지 여부를 판단하는 판단부
    를 포함하는 무선 단말에서 네트워크 공격을 감지하는 장치.
  19. 제18항에 있어서,
    상기 스캔부는
    상기 적어도 하나의 서칭 윈도우의 사이즈 및 이동 방향을 조절하고, 상기 조절된 적어도 하나의 서칭 윈도우의 사이즈 및 상기 조절된 이동 방향에 따라 상기 소켓 접속 히스토리의 일정 영역을 스캔하는 무선 단말에서 네트워크 공격을 감지하는 장치.
  20. 제14항에 있어서,
    상기 프로세서는
    상기 판단 결과를 기초로, 네트워크 어댑터에게 적어도 하나의 데스티네이션의 어드레스로의 상기 소켓 데이터 패킷의 전송을 차단할 것을 요청하는 무선 단말에서 네트워크 공격을 감지하는 장치.
KR1020120020841A 2012-02-29 2012-02-29 네트워크 공격을 감지하는 이동 통신 단말기 및 그 감지 방법 KR101414959B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020120020841A KR101414959B1 (ko) 2012-02-29 2012-02-29 네트워크 공격을 감지하는 이동 통신 단말기 및 그 감지 방법
US13/658,170 US20130227687A1 (en) 2012-02-29 2012-10-23 Mobile terminal to detect network attack and method thereof
EP12193824.5A EP2634989A1 (en) 2012-02-29 2012-11-22 Mobile terminal to detect network attack and method thereof
CN2012105061799A CN103297972A (zh) 2012-02-29 2012-11-30 用于检测网络攻击的移动终端及其方法
JP2013039690A JP2013183458A (ja) 2012-02-29 2013-02-28 ネットワーク攻撃を感知する移動通信端末機およびその感知方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120020841A KR101414959B1 (ko) 2012-02-29 2012-02-29 네트워크 공격을 감지하는 이동 통신 단말기 및 그 감지 방법

Publications (2)

Publication Number Publication Date
KR20130101672A KR20130101672A (ko) 2013-09-16
KR101414959B1 true KR101414959B1 (ko) 2014-07-09

Family

ID=47355822

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120020841A KR101414959B1 (ko) 2012-02-29 2012-02-29 네트워크 공격을 감지하는 이동 통신 단말기 및 그 감지 방법

Country Status (5)

Country Link
US (1) US20130227687A1 (ko)
EP (1) EP2634989A1 (ko)
JP (1) JP2013183458A (ko)
KR (1) KR101414959B1 (ko)
CN (1) CN103297972A (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10469498B2 (en) * 2013-08-21 2019-11-05 Nec Corporation Communication system, control instruction apparatus, communication control method and program
JP6528448B2 (ja) * 2015-02-19 2019-06-12 富士通株式会社 ネットワーク攻撃監視装置、ネットワーク攻撃監視方法、及びプログラム
KR101649828B1 (ko) 2015-07-30 2016-08-19 엘에스산전 주식회사 이더넷 프레임 감지 장치 그의 동작 방법
US9992212B2 (en) * 2015-11-05 2018-06-05 Intel Corporation Technologies for handling malicious activity of a virtual network driver
CN106330550B (zh) * 2016-08-29 2019-06-28 天脉聚源(北京)传媒科技有限公司 一种应对海量并发访问的方法及装置
US10601845B2 (en) 2016-09-06 2020-03-24 Radware, Ltd. System and method for predictive attack sequence detection
TWI610196B (zh) 2016-12-05 2018-01-01 財團法人資訊工業策進會 網路攻擊模式之判斷裝置、判斷方法及其電腦程式產品
CN109005181B (zh) * 2018-08-10 2021-07-02 深信服科技股份有限公司 一种dns放大攻击的检测方法、系统及相关组件
US11743135B2 (en) 2019-07-23 2023-08-29 Vmware, Inc. Presenting data regarding grouped flows
US11321213B2 (en) 2020-01-16 2022-05-03 Vmware, Inc. Correlation key used to correlate flow and con text data
CN111800409B (zh) * 2020-06-30 2023-04-25 杭州数梦工场科技有限公司 接口攻击检测方法及装置
US11991187B2 (en) 2021-01-22 2024-05-21 VMware LLC Security threat detection based on network flow analysis
US11785032B2 (en) * 2021-01-22 2023-10-10 Vmware, Inc. Security threat detection based on network flow analysis
CN113507455B (zh) * 2021-06-25 2022-06-24 湖州瑞云信息科技有限公司 基于大数据的网络安全检测方法及系统
US11997120B2 (en) 2021-07-09 2024-05-28 VMware LLC Detecting threats to datacenter based on analysis of anomalous events
US11831667B2 (en) 2021-07-09 2023-11-28 Vmware, Inc. Identification of time-ordered sets of connections to identify threats to a datacenter
US11792151B2 (en) 2021-10-21 2023-10-17 Vmware, Inc. Detection of threats based on responses to name resolution requests
US12015591B2 (en) 2021-12-06 2024-06-18 VMware LLC Reuse of groups in security policy

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030042318A (ko) * 2001-11-22 2003-05-28 한국전자통신연구원 패킷 필터링을 이용한 아이에스피 보더 라우터의 공격자차단 방법 및 그 시스템
KR20050063477A (ko) * 2003-12-22 2005-06-28 백남균 네트워크 정보에 대한 보안 시스템 및 그 방법
KR20060039984A (ko) * 2004-11-04 2006-05-10 한국전자통신연구원 비정상 아이피 주소를 사용하는 네트워크 공격을 차단하는장치 및 그 방법
KR20110028106A (ko) * 2009-09-11 2011-03-17 한국전자통신연구원 접속 이력 기반 분산 서비스 공격 트래픽 제어 장치 및 그 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6725377B1 (en) * 1999-03-12 2004-04-20 Networks Associates Technology, Inc. Method and system for updating anti-intrusion software
US20030051026A1 (en) * 2001-01-19 2003-03-13 Carter Ernst B. Network surveillance and security system
US7454499B2 (en) * 2002-11-07 2008-11-18 Tippingpoint Technologies, Inc. Active network defense system and method
US7266754B2 (en) * 2003-08-14 2007-09-04 Cisco Technology, Inc. Detecting network denial of service attacks
JP2005124055A (ja) * 2003-10-20 2005-05-12 Nippon Telegr & Teleph Corp <Ntt> ネットワーク攻撃の防御装置
US7752670B2 (en) * 2004-09-23 2010-07-06 Xiangrong Cai Detecting an attack of a network connection
US7936682B2 (en) * 2004-11-09 2011-05-03 Cisco Technology, Inc. Detecting malicious attacks using network behavior and header analysis
US7434262B2 (en) * 2004-12-08 2008-10-07 At&T Intellectual Property I, L.P. Methods and systems that selectively resurrect blocked communications between devices
US8631483B2 (en) * 2005-06-14 2014-01-14 Texas Instruments Incorporated Packet processors and packet filter processes, circuits, devices, and systems
US7609625B2 (en) * 2005-07-06 2009-10-27 Fortinet, Inc. Systems and methods for detecting and preventing flooding attacks in a network environment
US7685627B2 (en) * 2005-12-30 2010-03-23 Microsoft Corporation Unified networking diagnostics
US20100180331A1 (en) * 2006-03-30 2010-07-15 Nec Corporation Communication terminal device, rule distribution device, and program
JP2011053893A (ja) * 2009-09-01 2011-03-17 Hitachi Ltd 不正プロセス検知方法および不正プロセス検知システム
US20130074143A1 (en) * 2011-09-15 2013-03-21 Mcafee, Inc. System and method for real-time customized threat protection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030042318A (ko) * 2001-11-22 2003-05-28 한국전자통신연구원 패킷 필터링을 이용한 아이에스피 보더 라우터의 공격자차단 방법 및 그 시스템
KR20050063477A (ko) * 2003-12-22 2005-06-28 백남균 네트워크 정보에 대한 보안 시스템 및 그 방법
KR20060039984A (ko) * 2004-11-04 2006-05-10 한국전자통신연구원 비정상 아이피 주소를 사용하는 네트워크 공격을 차단하는장치 및 그 방법
KR20110028106A (ko) * 2009-09-11 2011-03-17 한국전자통신연구원 접속 이력 기반 분산 서비스 공격 트래픽 제어 장치 및 그 방법

Also Published As

Publication number Publication date
EP2634989A1 (en) 2013-09-04
JP2013183458A (ja) 2013-09-12
KR20130101672A (ko) 2013-09-16
CN103297972A (zh) 2013-09-11
US20130227687A1 (en) 2013-08-29

Similar Documents

Publication Publication Date Title
KR101414959B1 (ko) 네트워크 공격을 감지하는 이동 통신 단말기 및 그 감지 방법
CN101009607B (zh) 用于检测并防止网络环境中的洪流攻击的系统和方法
CN111737696A (zh) 一种恶意文件检测的方法、系统、设备及可读存储介质
CN101714931B (zh) 一种未知恶意代码的预警方法、设备和系统
US7188366B2 (en) Distributed denial of service attack defense method and device
CN103843002B (zh) 使用云技术对恶意软件的动态清理
JP2019153875A (ja) 不正通信検知装置および不正通信検知プログラム
US20100235917A1 (en) System and method for detecting server vulnerability
JP5920169B2 (ja) 不正コネクション検出方法、ネットワーク監視装置及びプログラム
KR101272670B1 (ko) 사용자 단말의 접속 네트워크 식별 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
KR20140022975A (ko) 캡차를 기반으로 하는 트래픽 제어 장치 및 그 방법
KR100548154B1 (ko) 유무선 통신망에서의 패킷 전송 제어 및 패킷 과금 데이터생성을 위한 방법 및 장치
WO2014055354A1 (en) Protecting users from undesirable content
CN114145004A (zh) 用于使用dns消息以选择性地收集计算机取证数据的系统及方法
KR20130017333A (ko) 응용 계층 기반의 슬로우 분산서비스거부 공격판단 시스템 및 방법
KR101980901B1 (ko) SVM-SOM 결합 기반 DDoS 탐지 시스템 및 방법
KR101250899B1 (ko) 응용계층 분산 서비스 거부 공격 탐지 및 차단 장치 및 그 방법
CN110266650B (zh) Conpot工控蜜罐的识别方法
WO2008001972A1 (en) Method for proactively preventing wireless attacks and apparatus thereof
CN111565203B (zh) 业务请求的防护方法、装置、系统和计算机设备
KR101494329B1 (ko) 악성 프로세스 검출을 위한 시스템 및 방법
WO2019240054A1 (ja) 通信装置、パケット処理方法及びプログラム
KR20130009130A (ko) 좀비 피씨 및 디도스 대응 장치 및 방법
EP4274179A1 (en) Traffic processing method in protection device, and protection device
CN114244610A (zh) 一种文件传输方法、装置,网络安全设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee