KR101223597B1 - 운영체제 시그니처 생성 장치 및 방법 - Google Patents

운영체제 시그니처 생성 장치 및 방법 Download PDF

Info

Publication number
KR101223597B1
KR101223597B1 KR1020110036623A KR20110036623A KR101223597B1 KR 101223597 B1 KR101223597 B1 KR 101223597B1 KR 1020110036623 A KR1020110036623 A KR 1020110036623A KR 20110036623 A KR20110036623 A KR 20110036623A KR 101223597 B1 KR101223597 B1 KR 101223597B1
Authority
KR
South Korea
Prior art keywords
operating system
signature
information
packet
tcp
Prior art date
Application number
KR1020110036623A
Other languages
English (en)
Other versions
KR20120118960A (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 KR1020110036623A priority Critical patent/KR101223597B1/ko
Publication of KR20120118960A publication Critical patent/KR20120118960A/ko
Application granted granted Critical
Publication of KR101223597B1 publication Critical patent/KR101223597B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명에 따른 운영체제 시그니처를 생성 시, 네트워크 상의 지정된 모니터링 지점을 경유하는 패킷을 수집하고, 수집된 패킷 중 TCP 패킷을 추출하여 TCP 패킷 플로우를 생성하고, TCP 패킷 플로우 중 HTTP 헤더를 포함하는 HTTP 트래픽을 추출하고, HTTP 헤더의 정보에 기초하여 HTTP트래픽으로부터 사용 운영체제 정보 및 호스트 단말의 식별 정보를 획득하고, 호스트 단말의 식별 정보에 기초하여 TCP 패킷 플로우 중 호스트 단말의 패킷 플로우를 추출하고, 호스트 단말의 패킷 플로우 중 TCP 연결 설정용 패킷을 추출하고, 추출된 TCP 연결 설정용 패킷의 헤더 정보를 운영체제 시그니처로 생성하며, 생성된 운영체제 시그니처를 사용 운영체제 정보에 매칭하여 저장한다.

Description

운영체제 시그니처 생성 장치 및 방법{APPARATUS AND METHOD FOR GENERATING SIGNATURE OF OPERATING SYSTEM}
본 발명은 단말의 운영체제 시그니처(Operating System signature)를 자동으로 생성하는 장치 및 방법에 관한 것이다.
단말의 운영체제 정보는 보안적 측면과 네트워크 트래픽 분석 측면에서 유용한 정보이다. 해당 단말의 운영체제 정보를 파악함으로써 단말이 가질 수 있는 보안적 취약점을 대비할 수 있다. 또한, 단말의 운영체제 정보를 이용하여 실시간 네트워크 트래픽 분석을 위한 시그니처 탐색 공간도 축소시킬 수 있다.
단말의 운영체제를 판별하는 방법은 크게 수동형 방법과 능동형 방법으로 구분된다. 먼저, 능동형 방법은 조사 대상이 되는 단말에 직접적으로 조사용 패킷을 전송하여 그에 대한 응답 패킷을 수신하여 분석함으로써 해당 단말의 운영체제를 판별하는 방법이다. 대표적인 도구로 ‘nmap’과 ‘Xprobe2’가 존재한다. 다음, 수동형 방법은 네트워크의 특정 지점에서 해당 단말의 트래픽을 수집한 후 수집된 트래픽을 분석하여 해당 단말의 운영체제를 판별하는 방법이다. 대표적인 도구로 ‘p0f’와 ‘SinFP’가 있다.
앞선 두 가지 방법 중 네트워크 트래픽 분석 측면에서는 실시간 분석을 만족시키기 위해서 수동형 방법이 주로 사용된다. 그러나 수동형 방법은 능동형 방법에 비해 분석률과 정확도 측면에서 낮은 문제점을 가지고 있다. 이를 해결하기 위해서 다양한 운영체제 별 헤더 정보를 추출하여 시그니처로 사용하였으나, 수작업으로 시그니처를 생성하고 있어 다음과 같은 여러 문제점을 가지고 있다.
첫째, 사용자가 설치한 응용 프로그램에 의해서 헤더 정보가 변경될 수 있다. 수동형 방법에서는 헤더 정보를 이용하여 시그니처를 생성한다. 그런데, 일부 네트워크를 사용하는 응용 프로그램이 사용 환경을 최적으로 변경하기 위해서 운영체제의 헤더 정보를 변경할 수 있으며, 이에 따라 시그니처가 변경될 수 있다.
둘째, 사용자에 의해 임의로 헤더 정보가 변경될 수 있다. 이 또한 헤더 정보의 변경에 의해 시그니처가 변경될 수 있어 시그니처를 추가로 생성해야 하는 문제점이 있다.
마지막으로, 새로운 운영체제가 출시/업그레이드 되었을 경우 새로운 시그니처를 수작업으로 분석하여 시그니처를 추출해야 한다. 현재 스마트 폰과 같은 다양한 휴대기기들이 등장하면서 새로운 운영체제들의 수가 증가하고 있다. 이와 같이 새로운 운영체제의 시그니처를 생성하기 위해서는 운영체제 정보 관리자가 해당 운영체제의 트래픽만을 수집한 후 수집된 트래픽을 수작업으로 분석하여 시그니처를 추출해야 하는 문제점이 있다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 네트워크 상에 송수신되는 패킷으로부터 호스트 단말의 운영체제 정보를 확인할 수 있는 운영체제 시그니처를 자동으로 생성 및 저장 관리하는 운영체제 시그니처 생성 장치 및 방법을 제공하고자 한다.
상기와 같은 기술적 과제를 달성하기 위한 본 발명의 일 측면에 따른 운영체제 시그니처 생성 장치는, 네트워크 상의 기설정된 모니터링 지점을 경유하는 패킷을 수집하는 패킷 수집부; 상기 수집된 패킷 중 TCP 패킷을 추출하여 TCP 패킷 플로우를 생성하는 TCP 플로우 생성부; 상기 TCP 패킷 플로우 중 HTTP 트래픽을 추출하고, 상기 HTTP 트래픽으로부터 호스트 단말의 식별 정보 및 사용 운영체제 정보를 추출하는 호스트 정보 추출부; 상기 호스트 단말의 식별 정보에 기초하여 상기 TCP 패킷 플로우 중 상기 호스트 단말의 패킷 플로우를 추출하는 호스트 패킷 추출부; 상기 호스트 단말의 패킷 플로우 중 TCP 연결 설정용 패킷을 추출하고, 상기 추출된TCP 연결 설정용 패킷의 헤더 정보를 운영체제 시그니처로 생성하는 운영체제 시그니처 생성부; 및 상기 사용 운영체제 정보에 상응하는 운영체제 패턴에 상기 생성된 운영체제 시그니처를 매칭하여 저장하는 운영체제 패턴 관리부를 포함한다.
그리고, 본 발명의 다른 측면에 따른 운영체제 시그니처를 생성하는 방법은, 네트워크 상의 지정된 모니터링 지점을 경유하는 패킷을 수집하는 단계; 상기 수집된 패킷 중 TCP 패킷을 추출하여 TCP 패킷 플로우를 생성하는 단계; 상기 TCP 패킷 플로우 중 HTTP 헤더를 포함하는 HTTP 트래픽을 추출하는 단계; 상기 HTTP 헤더의 정보에 기초하여 상기 HTTP트래픽으로부터 사용 운영체제 정보 및 호스트 단말의 식별 정보를 획득하는 단계; 상기 호스트 단말의 식별 정보에 기초하여 상기 TCP 패킷 플로우 중 상기 호스트 단말의 패킷 플로우를 추출하는 단계; 상기 호스트 단말의 패킷 플로우 중 TCP 연결 설정용 패킷을 추출하고, 상기 추출된 TCP 연결 설정용 패킷의 헤더 정보를 운영체제 시그니처로 생성하는 단계; 및 상기 생성된 운영체제 시그니처를 상기 사용 운영체제 정보에 매칭하여 저장하는 단계를 포함한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 네트워크 상의 패킷 중 TCP 패킷의 헤더 정보를 운영체제 시그니처로 생성함으로써 클라이언트 또는 서버로서 동작하는 호스트 단말의 운영체제 시그니처를 자동으로 생성할 수 있다.
그리고, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 호스트 단말의 HTTP 트래픽으로부터 호스트 단말이 사용 중인 운영체제 정보를 획득하여 운영체제 패턴으로 등록함으로써 사전에 등록된 운영체제 패턴뿐만 아니라 새롭게 등록되는 운영체제 패턴에 대해서도 운영체제 시그니처를 생성할 수 있다.
도 1은 본 발명이 적용되는 네트워크 시스템의 구성을 나타내는 구성도이다.
도 2는 본 발명의 일실시예에 따른 운영체제 시그니처 생성 장치의 구성을 나타내는 블록도이다.
도 3은 본 발명의 일실시예에 따른 운영체제 패턴 리스트의 구조를 나타내는 도면이다.
도 4는 본 발명의 일실시예에 따른 운영체제 시그니처 생성 방법을 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명이 적용되는 네트워크 시스템의 구성을 나타내는 구성도이다.
도 1에서 도시한 바와 같이, 본 발명이 적용되는 네트워크 시스템 상에는, 호스트 단말의 운영체제 정보를 획득하여 운영체제 시그니처를 생성하는 운영체제 시그니처 생성 장치(100), 탐지 대상 네트워크의 호스트 단말(300)로부터 발생되는 패킷(packet)을 다른 네트워크(예를 들어, 인터넷)으로 전송하고, 다른 네트워크를 통해 수신되는 패킷을 탐지 대상 네트워크로 전송하는 스위치 장치(200)가 구성된다. 이때, 스위치 장치(200) 는 운영체제 시그니처 생성 장치(100)가 네트워크 상의 패킷을 수집하기 위해 기설정된 모니터링 지점이며, 허브, 라우터, 스위치 및 게이트웨이 등의 통신 장비로 구성될 수 있다.
도 2는 본 발명의 일실시예에 따른 운영체제 시그니처 생성 장치의 구성을 나타내는 블록도이다.
도 2에서 도시한 바와 같이, 본 발명의 일실시예에 따른 운영체제 시그니처 생성 장치(100)는 패킷 수집부(110), TCP 플로우 생성부(120), 호스트 정보 추출부(130), 호스트 패킷 추출부(140), 운영체제 시그니처 생성부(150), 운영체제 패턴 관리부(160)를 포함하여 구성된다.
패킷 수집부(110)는 네트워크 상의 기설정된 모니터링 지점으로부터 패킷을 수집한다. 이때, 상기 모니터링 지점은 네트워크 상에 클라이언트와 서버 간에 발생되는 패킷들이 경유하는 스위칭 장치(200) 이다.
패킷 수집부(110)는 실시간으로 수집되는 패킷들을 TCP 플로우 생성부(120)로 전달한다. 참고로, 패킷 수집부(110)는 기설정된 크기 단위로 패킷들을 전달할 수 있다.
TCP 플로우 생성부(120)는 수집된 패킷들 중 TCP 프로토콜에 의한 TCP 패킷들을 추출하고, 추출된 TCP 패킷들로 구성되는 TCP 패킷 플로우를 생성한다. 그리고, TCP 플로우 생성부(120)는 생성된 TCP 패킷 플로우를 호스트 정보 추출부(130) 및 호스트 패킷 추출부(140)로 전달한다.
이때, 지속적으로 TCP 패킷을 추출하여 TCP 패킷 플로우를 생성하는 경우 서로 다른 운영체제를 사용하는 호스트 단말의 TCP패킷을 추출하게 될 가능성이 있으므로, TCP 플로우 생성부(120)는 활성화 호스트(Active-Host)를 기반으로 TCP 패킷 플로우를 생성한다.
호스트 정보 추출부(130)는 TCP 패킷 플로우 중 HTTP 프로토콜에 의한 HTTP트래픽을 추출하고, 추출된 HTTP 트래픽으로부터 호스트 단말의 식별 정보 및 사용 운영체제 정보를 추출한다. 그리고, 호스트 정보 추출부(130)는 추출된 호스트 단말의 식별 정보 및 사용 운영체제 정보를 매칭하여 호스트 패킷 추출부(140)로 전달하고, 사용 운영체제 정보를 운영체제 패턴 관리부(160)로 전달한다.
이때, 호스트 정보 추출부(130)는TCP 패킷 플로우에 포함된 TCP 패킷 중 HTTP 패킷을 추출하고, HTTP 패킷의 헤더를 확인하여 호스트 단말의 식별 정보(예를 들어, IP 주소) 및 호스트 단말이 사용 중인 운영체제 정보(즉, 사용 운영체제 정보)를 추출한다.
구체적으로, 호스트 정보 추출부(130)는 HTTP 패킷의 헤더 정보 중 사용자 에이전트(User-Agent) 필드에 포함되어 있는 운영체제 정보를 확인하고, 확인된 운영체제 정보를 사용 운영체제 정보로서 추출한다.
호스트 패킷 추출부(140)는 호스트 단말의 식별 정보에 기초하여 TCP 패킷 플로우 중 호스트 단말의 패킷을 추출하여 호스트 단말의 패킷 플로우를 생성한다. 그리고 호스트 패킷 추출부(140)는 호스트 단말의 패킷 플로우를 운영체제 시그니처 생성부(150)로 전달한다.
운영체제 시그니처 생성부(150)는 호스트 단말의 패킷 플로우 중 TCP 연결 설정용 패킷을 추출하고, 추출된TCP 연결 설정용 패킷의 헤더 정보를 운영체제 시그니처로 생성한다. 그리고, 운영체제 시그니처 생성부(150)는 생성된 운영체제 시그니처와 사용 운영체제 정보를 매칭하여 운영체제 패턴 관리부(160)로 전달하여, 운영체제 시그니처 리스트에 저장한다.
구체적으로, 운영체제 시그니처 생성부(150)는 호스트 단말의 패킷 플로우 중 3-way handshake 방식의 TCP 연결 설정용 패킷인 응답 요청(SYN) 패킷, 응답 수신(SYN/ACK) 패킷, 및 응답 허락(ACK)을 추출한다.
그리고, 운영체제 시그니처 생성부(150)는 TCP 연결 설정용 패킷 중 SYN 패킷 및 SYN/ACK 패킷 중 적어도 하나의 헤더 정보를 운영체제 시그니처로서 생성한다. 참고로, 호스트 단말이 클라이언트로서 동작하는 경우 SYN 패킷이 추출되고, 서버로서 동작하는 경우 SYN/ACK 패킷이 추출되므로, SYN 패킷 및 SYN/ACK 패킷의 각 헤더 정보가 독립적으로 운영체제 시그니처로 생성하거나, 두 패킷의 헤더 정보를 조합하여 운영체제 시그니처로 생성하는 것도 가능하다.
운영체제 패턴 관리부(160)는 다수의 운영체제 패턴 별로 적어도 하나의 운영체제 시그니처가 매칭되어 저장되는 운영체제 시그니처 리스트를 생성한다.
구체적으로, 운영체제 패턴 관리부(160)는 운영체제 시그니처 리스트에 저장되어 있는 운영체제 패턴 중 운영체제 시그니처 생성부(150)로부터 수신된 사용 운영체제 정보와 상응하는 운영체제 패턴을 확인한다. 그리고, 운영체제 패턴 관리부(160)는 상기 확인된 운영체제 패턴에 상기 운영체제 시그니처 생성부(150)로부터 수신된 운영체제 시그니처(이하, ‘생성된 운영체제 시그니처’라고 함)를 매칭하여 저장한다.
이때, 운영체제 패턴 관리부(160)는 운영체제 시그니처 리스트에 기저장되어 있던 운영체제 시그니처와 상기 생성된 운영체제 시그니처의 충돌 여부를 판단한 후, 상기 생성된 운영체제 시그니처를 운영체제 시그니처 리스트에 추가 저장한다.
구체적으로, 운영체제 패턴 관리부(160)는 운영체제 시그니처 리스트에 기저장되어 있던 운영체제 시그니처들과 상기 생성된 운영체제 시그니처를 비교하여, 동일한 시그니처가 존재하는지 여부를 판단한다. 그리고, 운영체제 패턴 관리부(160)는 기저장되어 있던 운영체제 시그니처 중 상기 생성된 운영체제 시그니처와 동일한 시그니처가 존재하는 경우, 각각 해당하는 운영체제 패턴이 동일한지 여부를 판단한다.
그런 다음, 운영체제 패턴 관리부(160)는 기저장되어 있던 운영체제 시그니처와 상기 생성된 운영체제 시그니처가 각각 해당하는 운영체재 패턴이 동일하지 않은 경우, 운영체제 시그니처의 충돌이 발생한 것으로 판단한다. 이때, 운영체제 패턴 관리부(160)는 충돌하는 두 운영체제 시그니처를 삭제 처리한다. 참고로, 운영체제 패턴 관리부(160)는 상기 삭제된 두 운영체제 시그니처의 정보 및 각 운영체제 패턴의 정보를 장치 관리자가 확인할 수 있도록 운영체제 시그니처 생성 장치(100) 에 자체적으로 설치(또는 포함)되거나 외부에 연결된 출력 장치(모니터, 프린터 등)를 통해 출력한다.
반면, 운영체제 패턴 관리부(160)는 기저장되어 있던 운영체제 시그니처와 상기 생성된 운영체제 시그니처가 각각 해당하는 운영체재 패턴이 동일한 경우, 운영체제 시그니처 리스트의 갱신 처리를 수행하지 않는다.
한편, 운영체제 패턴 관리부(160)는 사전에 생성된 운영체제 패턴 리스트에 기초하여 상기 운영체제 시그니처 리스트를 생성한다.
구체적으로, 운영체제 패턴 리스트는 도 3에서와 같은 구조로 생성될 수 있다.
도 3은 본 발명의 일실시예에 따른 운영체제 패턴 리스트의 구조를 나타내는 도면이다.
도 3에서 도시된 바와 같이, 본 발명의 일실시예에 따른 운영체제 패턴 리스트에는 동일 제조사의 대표 운영체제(OS) 별로 적어도 하나의 운영체제 패턴(Pattern 1, Pattern 2, Pattern3)이 종류에 따라 매칭되어 저장된다. 이와 같은, 운영체제 패턴 리스트에 저장된 운영체제 패턴은 상기 운영체제 시그니처 리스트에 포함되는 운영체제 패턴들의 기준으로 사용된다.
이때, 운영체제 패턴 관리부(160)는 장치 관리자의 수작업 또는 자동으로 운영체제 패턴을 갱신 저장할 수 있다. 자동으로 운영체제 패턴을 갱신 저장할 경우, 운영체제 패턴 관리부(160)는 호스트 정보 추출부(130)로부터 수신된 사용 운영체제 정보와 운영체제 패턴 리스트에 기저장되어 있는 운영체제 패턴을 비교한다. 그리고, 운영체제 패턴 관리부(160)는 운영체제 패턴 리스트에 기저장된 운영체제 패턴 중 상기 수신된 사용 운영체제 정보와 동일한 운영체제 패턴의 종류가 존재하지 않는 경우, 상기 수신된 사용 운영체제 정보를 새로운 운영체제 패턴으로 추가 저장한다.
한편, 운영체제 패턴 관리부(160)는 외부 운영체제 정보 요청 장치(미도시)로부터 특정 호스트 단말에 대한 운영체제 정보 요청을 수신하거나 자체적으로 특정 호스트 단말의 운영체제 정보를 판별하고자 하는 경우, 특정 호스트 단말의 TCP 패킷의 헤더 정보를 이용하여 생성된 운영체제 시그니처와 운영체제 시그니처 리스트에 저장된 운영체제 시그니처를 비교하여 해당하는 운영체제 패턴을 추출하여 제공한다. 참고로, 운영체제 정보 요청에는 해당 호스트 단말의 TCP 패킷의 헤더 정보가 포함된다. 즉, 운영체제 정보 요청에는 SYN 패킷 및 SYN/ACK 패킷 중 어느 하나의 헤더 정보가 포함된다.
이하, 도 4를 참조하여 본 발명의 일실시예에 따른 운영체제 시그니처 생성 방법에 대해서 상세히 설명하도록 한다.
도 4는 본 발명의 일실시예에 따른 운영체제 시그니처 생성 방법을 설명하기 위한 순서도이다.
먼저, 네트워크 상에서 발생되는 패킷들을 수집한다(S410).
이때, 상기 패킷들은 네트워크 상에 기설정된 모니터링 지점을 경유하는 패킷이다.
그런 후, 상기 수집된 패킷들 중 TCP 프로토콜에 따른 TCP 패킷을 추출하고, 추출된 TCP 패킷들로 구성되는 TCP 패킷 플로우를 생성한다(S420).
그런 다음, 생성된 TCP 패킷 플로우 중 HTTP 프로토콜에 따른 HTTP 트래픽을 추출한다(S430).
상기 추출된 HTTP 트래픽에 포함되는 HTTP 패킷들의 헤더를 확인하여 HTTP 트래픽을 발생시킨 호스트 단말의 식별 정보 및 사용 운영체제 정보를 추출한다(S440).
이때, HTTP 패킷의 헤더 정보 중 사용자 에이전트(User-Agent) 항목을 확인하여 호스트 단말이 현재 사용 중인 운영체제 정보를 추출한다.
또한, 단계(S440)에서 사용 운영체제 정보를 추출한 이후 사전에 생성된 운영체제 패턴 리스트에 상기 추출된 사용 운영체제 정보와 동일한 운영체제 패턴이 존재하지 않는 경우, 상기 추출된 사용 운영체제 정보를 운영체제 패턴 리스트에 추가 저장함으로써 운영체제 패턴의 종류를 자동으로 관리할 수 있다.
그런 후, 단계(S420)에서 생성된 TCP 패킷 플로우 중 상기 추출된 호스트 단말의 식별 정보에 매칭되는 호스트 단말의 패킷 플로우를 추출한다(S450).
상기 추출된 호스트 단말의 패킷 플로우 중 TCP 연결 설정용 패킷들을 추출하고, 추출된 TCP 연결 설정용 패킷의 헤더 정보를 운영체제 시그니처로서 생성한다(S460).
이때, TCP 연결 설정용 패킷은 SYN 패킷 및 SYN/ACK 패킷 중 어느 하나를 포함한다.
그런 다음, 상기 생성된 운영체제 시그니처를 상기 사용 운영체제 정보에 매칭하여 저장한다(S470).
이때, 상기 생성된 운영체제 시그니처를 기생성된 운영체제 시그니처 리스트에 추가하여 갱신 저장함으로써, 운영체제 패턴 별 운영체제 시그니처의 관리 및 제공이 가능하다. 구체적으로, 운영체제 시그니처 리스트는 다수의 운영체제 패턴 별로 적어도 하나의 운영체제 시그니처가 매칭되어 저장되며, 상기 생성된 운영체제 시그니처는 상기 사용 운영체제 정보에 상응하는 운영체제 패턴에 매칭되어 저장된다.
이와 같은, 새롭게 생성된 운영체제 시그니처 및 그에 상응하는 사용 운영체제 정보는, 이후 호스트 단말의 TCP 패킷의 헤더 정보에 기초한 운영체제 정보 요청에 대해 매칭되는 운영체제 패턴를 판단하여 제공하는 기준이 된다.
한편, 단계 (S470)에서는 상기 생성된 운영체제 시그니처 및 상기 운영체제 시그니처 리스트에 기저장된 운영체제 시그니처 간의 충돌 여부를 판단한 후, 충돌이 발생하지 않는 경우 상기 생성된 운영체제 시그니처를 운영체제 시그니처 리스트에 추가 저장할 수 있다. 이때, 상기 생성된 운영체제 시그니처 및 그와 동일한 상기 기저장된 운영체제 시그니처가 각각 대응하는 운영체제 패턴이 상이한 경우 충돌되는 두 운영체제 시그니처를 삭제 처리하고, 상기 각각 대응하는 운영체제 패턴이 동일한 경우 상기 생성된 운영체제 시그니처의 추가를 수행하지 않는다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 운영체제 시그니처 생성 장치 200: 스위칭 장치
300: 호스트 단말

Claims (13)

  1. 운영체제 시그니처(Operating System Signature) 생성 장치에 있어서,
    네트워크 상의 기설정된 모니터링 지점을 경유하는 패킷을 수집하는 패킷 수집부;
    상기 수집된 패킷 중 TCP 패킷을 추출하여 TCP 패킷 플로우를 생성하는 TCP 플로우 생성부;
    상기 TCP 패킷 플로우 중 HTTP 트래픽을 추출하고, 상기 HTTP 트래픽으로부터 호스트 단말의 식별 정보 및 사용 운영체제 정보를 추출하는 호스트 정보 추출부;
    상기 호스트 단말의 식별 정보에 기초하여 상기 TCP 패킷 플로우 중 상기 호스트 단말의 패킷 플로우를 추출하는 호스트 패킷 추출부;
    상기 호스트 단말의 패킷 플로우 중 TCP 연결 설정용 패킷을 추출하고, 상기 추출된TCP 연결 설정용 패킷의 헤더 정보를 운영체제 시그니처로 생성하는 운영체제 시그니처 생성부; 및
    상기 사용 운영체제 정보에 상응하는 운영체제 패턴에 상기 생성된 운영체제 시그니처를 매칭하여 저장하는 운영체제 패턴 관리부를 포함하되,
    상기 호스트 정보 추출부는,
    상기 HTTP 트래픽의 헤더 정보 중 사용자 에이전트(User-Agent) 항목에 포함된 운영체제 정보를 확인하여 상기 사용 운영체제 정보를 추출하는 운영체제 시그니처 생성 장치.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 운영체제 시그니처 생성부는,
    TCP 패킷 플로우 중 SYN 패킷 및 SYN/ACK 패킷의 각 헤더 정보를 상기 운영체제 시그니처로 생성하는 운영체제 시그니처 생성 장치.
  4. 제 1 항에 있어서.
    상기 운영체제 패턴 관리부는,
    운영체제 패턴 별로 적어도 하나의 운영체제 시그니처가 매칭되어 저장되는 운영체제 시그니처 리스트를 생성하며,
    상기 운영체제 패턴 중 상기 사용 운영체제 정보와 매칭되는 운영체제 패턴에 상기 생성된 운영체제 시그니처를 매칭하여 저장하는 운영체제 시그니처 생성 장치.
  5. 제 4 항에 있어서,
    상기 운영체제 패턴 관리부는,
    상기 운영체제 시그니처 리스트에 기저장된 운영체제 시그니처와 상기 생성된 운영체제 시그니처의 충돌 여부를 판단하고,
    상기 충돌이 발생되는 경우 상기 기저장된 운영체제 시그니처와 상기 생성된 운영체제 시그니처를 상기 운영체제 패턴 리스트로부터 삭제하는 운영체제 시그니처 생성 장치.
  6. 제 4 항에 있어서,
    상기 운영체제 패턴 관리부는,
    상기 추출된 사용 운영체제 정보가 기저장된 운영체제 패턴에 포함되지 않는 경우 상기 추출된 사용 운영체제 정보를 운영체제 패턴에 추가하는 운영체제 시그니처 생성 장치.
  7. 제 1 항에 있어서,
    상기 운영체제 패턴 관리부는,
    호스트 단말 별로 수집되는 TCP 패킷의 헤더 정보를 포함하는 운영체제 정보 요청을 수신하면, 상기 운영체제 시그니처 리스트로부터 상기 운영체제 정보 요청에 포함된 TCP 패킷의 헤더 정보에 매칭되는 운영체제 패턴을 추출하여 제공하는 운영체제 시그니처 생성 장치.
  8. 운영체제 시그니처(Operating System Signature)를 생성하는 방법에 있어서,
    (a) 네트워크 상의 지정된 모니터링 지점을 경유하는 패킷을 수집하는 단계;
    (b) 상기 수집된 패킷 중 TCP 패킷을 추출하여 TCP 패킷 플로우를 생성하는 단계;
    (c) 상기 TCP 패킷 플로우 중 HTTP 헤더를 포함하는 HTTP 트래픽을 추출하는 단계;
    (d) 상기 HTTP 헤더의 정보에 기초하여 상기 HTTP트래픽으로부터 사용 운영체제 정보 및 호스트 단말의 식별 정보를 획득하는 단계;
    (e) 상기 호스트 단말의 식별 정보에 기초하여 상기 TCP 패킷 플로우 중 상기 호스트 단말의 패킷 플로우를 추출하는 단계;
    (f) 상기 호스트 단말의 패킷 플로우 중 TCP 연결 설정용 패킷을 추출하고, 상기 추출된 TCP 연결 설정용 패킷의 헤더 정보를 운영체제 시그니처로 생성하는 단계; 및
    (g) 상기 생성된 운영체제 시그니처를 상기 사용 운영체제 정보에 매칭하여 저장하는 단계를 포함하되,
    상기 (d) 단계에서,
    상기 HTTP 헤더의 사용자 에이전트(User-Agent) 항목을 확인하여 상기 사용 운영체제 정보를 추출하는 운영체제 시그니처 생성 방법.
  9. 삭제
  10. 제 8 항에 있어서,
    상기 (d) 단계 이후에,
    상기 사용 운영체제 정보가 기저장된 운영체제 패턴의 종류에 포함되지 않는 경우, 상기 사용 운영체제 정보를 새로운 운영체제 패턴으로 추가하는 운영체제 시그니처 생성 방법.
  11. 제 8 항에 있어서,
    상기 (g) 단계에서,
    다수의 운영체제 패턴 별로 적어도 하나의 운영체제 시그니처가 매칭되어 기저장되어 있는 운영체제 시그니처 리스트에 상기 생성된 운영체제 시그니처를 추가하는 운영체제 시그니처 생성 방법.
  12. 제 11 항에 있어서,
    상기 (g) 단계에서,
    상기 운영체제 시그니처 리스트에 기저장된 운영체제 시그니처 중 상기 생성된 운영체제 시그니처와 동일한 시그니처가 존재하는지 판단하는 단계;
    상기 존재할 경우, 상기 기저장된 운영체제 시그니처와 상기 생성된 운영체제 시그니처가 각각 매칭되는 운영체재 패턴을 비교하는 단계; 및
    상기 각각 매칭되는 운영체제 패턴이 상이한 경우 상기 기저장된 운영체제 시그니처와 상기 생성된 운영체제 시그니처를 상기 운영체제 패턴 리스트로부터 삭제하는 운영체제 시그니처 생성 방법.
  13. 제 11 항에 있어서,
    상기 (g) 단계 이후에,
    상기 운영체제 시그니처 리스트에 기초하여 특정 호스트 단말의 TCP 패킷의 헤더 정보에 매칭되는 운영체제 패턴을 검출하는 단계를 더 포함하는 운영체제 시그니처 생성 방법.
KR1020110036623A 2011-04-20 2011-04-20 운영체제 시그니처 생성 장치 및 방법 KR101223597B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110036623A KR101223597B1 (ko) 2011-04-20 2011-04-20 운영체제 시그니처 생성 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110036623A KR101223597B1 (ko) 2011-04-20 2011-04-20 운영체제 시그니처 생성 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20120118960A KR20120118960A (ko) 2012-10-30
KR101223597B1 true KR101223597B1 (ko) 2013-01-17

Family

ID=47286292

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110036623A KR101223597B1 (ko) 2011-04-20 2011-04-20 운영체제 시그니처 생성 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101223597B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080052086A (ko) * 2006-12-07 2008-06-11 한국전자통신연구원 인터넷 트래픽으로부터 특정 인터넷 응용 프로그램시그너춰를 추출하는 장치 및 방법.

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080052086A (ko) * 2006-12-07 2008-06-11 한국전자통신연구원 인터넷 트래픽으로부터 특정 인터넷 응용 프로그램시그너춰를 추출하는 장치 및 방법.

Also Published As

Publication number Publication date
KR20120118960A (ko) 2012-10-30

Similar Documents

Publication Publication Date Title
US10104124B2 (en) Analysis rule adjustment device, analysis rule adjustment system, analysis rule adjustment method, and analysis rule adjustment program
CN102307123B (zh) 基于传输层流量特征的nat流量识别方法
US9762546B2 (en) Multi-connection system and method for service using internet protocol
US20140189867A1 (en) DDoS ATTACK PROCESSING APPARATUS AND METHOD IN OPENFLOW SWITCH
US20140219101A1 (en) Feature Extraction Apparatus, and Network Traffic Identification Method, Apparatus, and System
US20120159623A1 (en) Method and apparatus for monitoring and processing dns query traffic
CN101854275A (zh) 一种通过分析网络行为检测木马程序的方法及装置
US20120173712A1 (en) Method and device for identifying p2p application connections
CN105554009A (zh) 一种通过网络数据获取设备操作系统信息的方法
CN106302450A (zh) 一种基于ddos攻击中恶意地址的检测方法及装置
US20090122721A1 (en) Hybrid network discovery method for detecting client applications
JP6324026B2 (ja) 通信装置、制御装置、ネットワークシステムおよびネットワーク監視制御方法
WO2020027250A1 (ja) 感染拡大攻撃検知装置、攻撃元特定方法及びプログラム
KR101469285B1 (ko) 정책기반 라우팅을 이용한 선택적인 인터넷 트래픽 분석 시스템 및 그 방법
JP5531064B2 (ja) 通信装置、通信システム、通信方法、および、通信プログラム
US8724506B2 (en) Detecting double attachment between a wired network and at least one wireless network
KR20110067871A (ko) Ip 망에서 oam 패킷을 이용한 트래픽 감시 및 제어를 위한 네트워크 액세스 장치 및 방법
KR20220029142A (ko) Sdn 컨트롤러 서버 및 이의 sdn 기반 네트워크 트래픽 사용량 분석 방법
KR102119636B1 (ko) 수동 핑거프린팅을 이용한 익명 네트워크 분석 시스템 및 방법
KR101223597B1 (ko) 운영체제 시그니처 생성 장치 및 방법
JP3892322B2 (ja) 不正アクセス経路解析システム及び不正アクセス経路解析方法
CN105827627A (zh) 一种信息获取方法和装置
JP6476853B2 (ja) ネットワーク監視システム及び方法
JP2010239392A (ja) サービス不能攻撃制御システム、装置、および、プログラム
JP6063340B2 (ja) 指令元特定装置、指令元特定方法、及び指令元特定プログラム

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160111

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170109

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee