KR101038507B1 - 지식 기반의 객체 명세를 이용한 네트워크 분석장치 및 그 분석 방법 - Google Patents

지식 기반의 객체 명세를 이용한 네트워크 분석장치 및 그 분석 방법 Download PDF

Info

Publication number
KR101038507B1
KR101038507B1 KR1020100120748A KR20100120748A KR101038507B1 KR 101038507 B1 KR101038507 B1 KR 101038507B1 KR 1020100120748 A KR1020100120748 A KR 1020100120748A KR 20100120748 A KR20100120748 A KR 20100120748A KR 101038507 B1 KR101038507 B1 KR 101038507B1
Authority
KR
South Korea
Prior art keywords
analysis
data
object specification
network
user
Prior art date
Application number
KR1020100120748A
Other languages
English (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 KR1020100120748A priority Critical patent/KR101038507B1/ko
Application granted granted Critical
Publication of KR101038507B1 publication Critical patent/KR101038507B1/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/04Processing captured monitoring data, e.g. for logfile generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 지식 기반의 지능형 객체 명세를 이용한 네트워크 분석장치 및 그 분석 방법에 관한 것으로서, 더욱 상세하게는 네트워크 패킷에 포함된 정보들을 계층적으로 표현한 온톨로지와 사용자로부터 입력된 분석 요구사항을 표현한 온톨로지 간의 매핑 과정을 통해, 전체 네트워크 패킷 정보 중에서 네트워크 분석에 필요한 속성들에 대한 데이터만을 선별적으로 메모리에 로딩하여 네트워크 분석을 수행함으로써, 시스템의 자원을 효율적으로 사용하여 대용량의 네트워크 트래픽 데이터에 대한 신뢰성 있는 분석을 할 수 있는 네트워크 분석장치 및 그 분석 방법에 관한 것이다.

Description

지식 기반의 객체 명세를 이용한 네트워크 분석장치 및 그 분석 방법{Network behavior analysis apparatus using knowledge based specification of the objects and the analysis method using the same}
본 발명은 지식 기반의 지능형 객체 명세를 이용한 네트워크 분석장치 및 그 분석 방법에 관한 것으로서, 더욱 상세하게는 네트워크 패킷에 포함된 정보들을 계층적으로 표현한 온톨로지와 사용자로부터 입력된 분석 요구사항을 표현한 온톨로지 간의 매핑 과정을 통해, 전체 네트워크 패킷 정보 중에서 네트워크 분석에 필요한 속성들에 대한 데이터만을 선별적으로 메모리에 로딩하여 네트워크 분석을 수행함으로써, 시스템의 자원을 효율적으로 사용하여 대용량의 네트워크 트래픽 데이터에 대한 신뢰성 있는 분석을 할 수 있는 네트워크 분석장치 및 그 분석 방법에 관한 것이다.
현재 네트워크 사용자, 특히 인터넷 사용자의 수는 기하급수적으로 증가하고 있고, 더불어 사용자의 수준이 높아지면서 더욱 고품질의 서비스에 대한 요구가 거세지고 있는 추세이다. 이와같은 상황은 필연적으로 네트워크 트래픽(network traffic)의 폭증을 야기하고 있으며, 이에 따라 네트워크 트래픽의 효율적 분석 및 관리는 과거에 비해 더욱 중요한 이슈가 되고 있다.
최근들어, 네트워크의 유지 관리비를 절감하고 갑작스런 트래픽의 증가로 인해 발생되는 시스템의 오류를 신속하고 효과적인 분석을 위한 방법론을 찾기 위한 연구가 끊임없이 이뤄지고 있는데, 이러한 연구를 통하여 다양한 네트워크 분석기들이 개발되고 있다.
종래의 대표적인 네트워크 분석기로는 TCPDump와 Ethereal 등의 응용프로그램이 있다. 이들 네트워크 분석기는 네트워크에서 발생하는 트래픽 이벤트에 대한 모든 데이터를 포함하고 있는 정보를 한 번에 시스템 메모리에 불러들여 사용자의 요구에 맞는 분석 결과를 제공해주고 있다.
그러나 종래의 네트워크 분석기는 발생한 모든 네트워크 트래픽 정보, 즉 실제 분석에 필요한 데이터뿐만 아니라 불필요한 데이터까지 모두 포함된 전체 트래픽 정보를 시스템 메모리에 로드한 후 필요한 분석을 수행하기 때문에, 시스템 메모리의 낭비와 그로 인한 시스템 성능의 저하를 초래하게 되는 문제점이 있다.
앞서 설명한 바와 같이, 실제로 네트워크 상에서 발생하는 이벤트 수는 매우 크며, 그 예로 일 초 동안 일반적인 규모의 서브넷 내부에서 전송되는 패킷의 수는 대략 1410 내지 2000 개에 달하는 것으로 알려져 있다. 이러한 환경 하에서 월간 단위 또는 연간 단위의 네트워크 트래픽 분석을 필요로 하는 경우를 가정해보면, 해당 기간 동안 수집된 트래픽 데이터에는 막대한 수의 이벤트가 포함되어 있게 되고, 종래의 네트워크 분석기를 이용하여 이와 같은 거대한 네트워크 트레픽 데이터를 분석 및 평가하는 데에는 아주 오랜 시간이 소요되거나, 메모리 오버플로우(overflow)로 인해 분석 작업 자체가 어려워 질 수 있다. 특히, 고성능의 네트워크 분석용 서버를 별도로 구비하지 않고 네트워크 상의 일반 데스크탑 컴퓨터 상에 네트워크 분석기를 설치하여 사용하는 경우에는 허용 가능한 최대 메모리를 탑재한 경우에도 일정 기간 이상 수집된 네트워크 트래픽 데이터를 메모리 상에 로드할 수 없는 상황이 발생하게 되어 분석 자체가 불가능하게 될 수 있는 문제점이 있다.
본 발명은 상기와 같은 종래의 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 네트워크 패킷에 포함된 정보들을 계층적으로 표현한 온톨로지와 사용자로부터 입력된 분석 요구사항을 표현한 온톨로지 간의 매핑 과정을 통해, 전체 네트워크 패킷 정보 중에서 네트워크 분석에 필요한 속성들에 대한 데이터만을 선별적으로 메모리에 로딩하여 네트워크 분석을 수행함으로써, 시스템 자원을 효율적으로 사용하여 일반 데스크탑 컴퓨터에서도 대용량의 트래픽 데이터에 대한 신뢰성 있는 분석 결과를 얻을 수 있는 네트워크 분석장치 및 그 분석 방법을 제공하는 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 바람직한 제 1 실시예에 따른 지식 기반의 지능형 객체 명세를 이용한 네트워크 분석장치는, 서브 네트워크 상에서 발생하는 네트워크 트래픽 데이터를 주기적으로 수집하고, 네트워크 패킷 헤더에 포함된 속성 정보들을 계층적으로 표현하도록 기 설계된 대표 객체명세에 따라, 상기 수집된 네트워크 트래픽 데이터를 변환시킨 수집데이터를 생성하고 저장하는 수집데이터 처리부; 사용자로부터 입력된 분석 요구사항에 따라 분석에 필요한 속성들만으로 표현된 세부 객체명세를 생성하고, 상기 저장된 수집데이터와 상기 세부 객체명세 간의 매핑 과정을 통해 분석에 사용될 분석데이터를 생성하고 저장하는 분석데이터 처리부; 상기 분석데이터 중에서 분석에 필요한 데이터를 추출하여 메모리에 로드하는 데이터 추출부; 및 상기 메모리에 로드된 데이터를 이용하여 사용자가 요구한 분석을 수행하는 분석부; 를 포함하여 구성된다.
상기와 같은 목적을 달성하기 위한 본 발명의 바람직한 제 1 실시예에 따른 지식 기반의 지능형 객체 명세를 이용한 네트워크 분석 방법은, (a) 네트워크 상에서 발생하는 네트워크 트래픽 데이터를 주기적으로 수집하고, 네트워크 패킷 헤더에 포함된 속성 정보들을 계층적으로 표현하도록 기 설계된 대표 객체명세에 따라, 상기 수집된 네트워크 트래픽 데이터를 변환시킨 수집데이터를 생성하고 저장하는 단계; (b) 사용자로부터 분석 요구사항이 입력되면, 상기 입력된 분석 요구사항에 따라 분석에 필요한 속성들만으로 표현된 세부 객체명세를 생성하는 단계; (c) 상기 생성된 세부 객체명세와 상기 저장된 수집데이터를 서로 매핑시키는 과정을 통해 상기 저장된 수집데이터로부터 사용자가 요구하는 분석에 필요한 정보만을 추출하여 분석에 사용될 분석데이터를 생성하고 저장하는 단계; (d) 상기 저장된 분석데이터로부터 분석에 필요한 개수의 패킷 전송 이벤트에 대응되는 속성 데이터들을 추출하여 메모리에 로드하는 단계; 및 (e) 상기 메모리에 로드된 속성 데이터를 이용하여 사용자가 요구한 분석을 수행한 후, 분석 결과를 사용자에게 제공해주는 단계; 를 포함한다.
상기와 같은 목적을 달성하기 위한 본 발명의 바람직한 제 2 실시예에 따른 지식 기반의 지능형 객체 명세를 이용한 네트워크 분석장치는, 서브 네트워크 상에서 발생하는 네트워크 트래픽 데이터를 주기적으로 수집하고, 네트워크 패킷 헤더에 포함된 속성 정보들을 계층적으로 표현하도록 기 설계된 대표 객체명세에 따라, 상기 수집된 네트워크 트래픽 데이터를 변환시킨 수집데이터를 생성하고 저장하는 수집데이터 처리부; 사용자로부터 입력된 분석 요구사항에 따라 분석에 필요한 속성들만으로 표현된 세부 객체명세를 생성하고, 상기 세부 객체명세를 평면(flat) 세부 객체명세로 변환한 후에, 상기 수집데이터와 평면 세부 객체명세 간의 매핑 과정을 통해 분석에 사용될 분석데이터를 생성하고 저장하는 분석데이터 처리부; 상기 분석데이터 중에서 분석에 필요한 데이터를 추출하여 메모리에 로드하는 데이터 추출부; 및 상기 메모리에 로드된 데이터를 이용하여 사용자가 요구한 분석을 수행하는 분석부; 를 포함하여 구성된다. 여기서, 상기 세부 객체명세는 상위 객체들이 연결 요소를 통해 하위 객체로 연결된 트리 구조를 가지며, 상기 평면 세부 객체명세는 연결 요소로 연결된 상위 객체와 하위 객체가 타 연결 요소를 통해 하나의 객체로 구성됨과 동시에 세부 객체 명세의 분해 구조가 유지되도록 구성된다.
상기와 같은 목적을 달성하기 위한 본 발명의 바람직한 제 2 실시예에 따른 지식 기반의 지능형 객체 명세를 이용한 네트워크 분석 방법은, (a) 네트워크 상에서 발생하는 네트워크 트래픽 데이터를 주기적으로 수집하고, 네트워크 패킷 헤더에 포함된 속성 정보들을 계층적으로 표현하도록 기 설계된 대표 객체명세에 따라, 상기 수집된 네트워크 트래픽 데이터를 변환시킨 수집데이터를 생성하고 저장하는 단계; (b) 사용자로부터 분석 요구사항이 입력되면, 상기 입력된 분석 요구사항에 따라 분석에 필요한 속성들만으로 표현된 세부 객체명세를 생성한 후에, 상기 세부 객체명세를 평면 세부 객체명세로 변환하는 단계; (c) 상기 평면 세부 객체명세와 상기 저장된 수집데이터를 서로 매핑시키는 과정을 통해 상기 저장된 수집데이터로부터 사용자가 요구하는 분석에 필요한 정보만을 추출하여 분석에 사용될 분석데이터를 생성하고 저장하는 단계; (d) 상기 저장된 분석데이터로부터 분석에 필요한 개수의 패킷 전송 이벤트에 대응되는 속성 데이터들을 추출하여 메모리에 로드하는 단계; 및 (e) 상기 메모리에 로드된 속성 데이터를 이용하여 사용자가 요구한 분석을 수행한 후, 분석 결과를 사용자에게 제공해주는 단계; 를 포함한다. 여기서, 상기 세부 객체명세는 상위 객체들이 연결 요소를 통해 하위 객체로 연결된 트리 구조를 가지며, 상기 평면 세부 객체명세는 연결 요소로 연결된 상위 객체와 하위 객체가 타 연결 요소를 통해 하나의 객체로 구성됨과 동시에 세부 객체 명세의 분해 구조가 유지되도록 구성된다.
본 발명에 따른 지식 기반의 지능형 객체 명세를 이용한 네트워크 분석장치 및 그 분석 방법은 사용자의 요구에 따라 분석에 필요한 데이터만을 선별적으로 시스템 메모리에 로딩하여 처리함으로써, 모든 데이터를 불러들여 처리하는 기존의 네트워크 분석 방법에 비해 메모리 사용량을 감소시키고 대용량의 트래픽 데이터를 효율적으로 분석할 수 있으며, 이를 통해 네트워크의 유지 관리비를 절감할 뿐 아니라 외부의 공격에 대해 신속한 대처를 가능하게 함으로서 정보의 유출을 방지해주는 효과가 있다.
또한, 본 발명은 네트워크 관리자가 복잡한 네트워크 토폴로지를 관리할 수 있게 지원해주며, 보안 및 효율적인 데이터 전송을 위한 최적의 해법을 제시해주는 효과도 있다.
도 1은 일반적인 네트워크 트래픽 분석과 사용자의 요구에 맞는 특성화된 네트워크 트래픽 분석에 대한 지식의 계층적 구조를 나타내는 도면.
도 2는 도 1에 도시된 일반적인 네트워크 트래픽 분석에 대한 지식을 SES를 이용하여 설계한 지능형 객체 명세(즉, 대표 객체 명세)의 예를 나타내는 도면.
도 3은 도 1에 도시된 특성화된 네트워크 트래픽 분석에 대한 지식을 SES를 이용하여 설계한 지능형 객체 명세(즉, 세부 객체 명세)의 예를 나타내는 도면.
도 4는 도 1에 도시된 특성화된 네트워크 트래픽 분석에 대한 지식을 SES를 이용하여 설계한 지능형 객체 명세(즉, 평면(flat) 세부 객체 명세)를 설명하기 위한 도면.
도 5a는 세부 객체 명세의 일 예를 나타내는 도면이며, 도 5b는 평면 세부 객체 명세의 일 예를 나타내는 도면.
도 6a는 세부 객체 명세의 일 예를 나타내는 도면이며, 도 6b는 평면 세부 객체 명세의 일 예를 나타내는 도면.
도 7은 본 발명이 적용되는 네트워크 시스템의 구성도.
도 8은 도 7의 분석용 호스트에 설치되는 본 발명의 바람직한 제1실시예에 따른 네트워크 분석장치의 구성을 나타내는 블록도.
도 9는 본 발명의 바람직한 제1실시예에 따른 네트워크 분석 방법을 나타내는 순서도.
도 10 도 9의 분석 요구사항 입력 단계에서 분석 대상을 선택적으로 입력받는 사용자 인터페이스의 예를 보여주는 도면.
도 11은 도 9의 분석 데이터 생성 단계를 통해 생성된 분석 데이터 객체의 예를 보여주는 도면.
도 12는 본 발명의 바람직한 제2실시예에 따른 네트워크 분석장치의 구성을 나타내는 블록도.
도 13은 본 발명의 제2실시예에 따른 네트워크 분석 방법을 나타내는 순서도.
도 14는 본 발명에 따른 네트워크 분석장치와 기존의 네트워크 분석기인 Ethereal의 네트워크 트래픽 분석 결과를 비교 평가하기 위한 도표.
이하, 본 발명의 바람직한 실시예를 첨부 도면에 의거하여 상세하게 설명하기로 한다.
우선, 본 발명에 대한 상세한 설명에 앞서, 본 발명에 따른 네트워크 분석을 위해 제안된 지식 기반의 지능형 객체 명세에 대한 전반적인 개념에 대하여 설명하기로 한다.
일반적으로 네트워크 트래픽 분석에 있어서 상황에 따라 혹은 사용자에 따라 서로 다른 다양한 형태의 분석을 필요로 하게 된다. 예를 들면, 어떤 사용자는 특정 시간대에 사용된 프로토콜에 대한 분석을 원하고, 또 다른 사용자는 전체 트래픽의 처리량을 조사하기를 원할 수 있다. 이 두 가지의 분석에 필요한 데이터들은 일부는 동일한 종류의 데이터가 사용될 수도 있으나 대부분은 그 분석 목적에 따라 서로 다른 종류의 데이터가 사용된다. 즉, 프로토콜 분석을 위해서는 네트워크 패킷 헤더에 포함된 많은 데이터 중에서 패킷이 전송된 시간과 프로토콜의 종류에 대한 두 개의 데이터만을 필요로 하는 반면, 트래픽 처리량 분석을 위해서는 패킷 전송 시간과 패킷의 크기에 대한 데이터를 필요로 한다.
따라서, 본 발명에서는 종래의 네트워크 분석기들이 네트워크 분석을 위해 네트워크 트래픽 데이터를 처리하는 방법, 즉 수집된 모든 데이터를 한 번에 시스템 메모리에 적재시킨 후 사용자가 원하는 평가 내용을 입력받아 시스템 메모리에 적재된 전체 데이터에서 필요한 정보를 추출하여 분석하는 방법 대신, 사용자로부터 요구되는 분석 내용을 먼저 입력받은 후, 그 분석에 필요한 데이터만을 시스템 메모리에 적재시킨 후 분석을 수행함으로써, 장치의 자원 소모를 감소시켜 효과적이고 신속한 분석을 수행하게 된다.
이와 같이 전체 네트워크 트래픽 데이터로부터 사용자가 요구하는 분석과 관련된 데이터만을 선별적으로 메모리에 적재하기 위해서는 일반적인 네트워크 트래픽 분석과 사용자가 요구하는 네트워크 트래픽 분석을 온톨로지(ontology) 공학 방법론을 이용하여 지식 기반의 지능형 객체 명세서로 표현하고, 이를 이용하여 사용자의 요구에 대한 의미의 해석 및 추론을 수행하여 사용자의 요구 사항을 이해하고, 이로부터 최적화된 데이터를 추출하는 기능이 요구된다.
온톨로지란 시스템 및 기관들 간에 공유되는 지식의 개념화에 대한 형식적이고 명확한 명세, 즉 특정 분야의 현실 세계를 모델링할 때 이와 관련된 모든 개인이나 집단들이 합의하여 도출한 개념들을 명시적으로 정의할 뿐만 아니라, 이를 컴퓨터가 이해하고 처리할 수 있는 형태로 표현하여 나타낸 용어들의 논리적 집합인 개념과, 개념들 간의 관계를 나타내는 명세서이다.
이러한 온톨로지를 컴퓨터공학 분야에 적용한 온톨로지 공학 방법론은 처음에는 시멘틱웹(semantic web)을 구축하기 위한 방법으로 제안되었지만, 현재는 웹서비스, 소프트웨어 공학, 인공지능 분야 등 지식 공유를 위한 수단으로 다양하게 사용되고 있다.
온톨로지 공학 방법론은 객체의 지식 표현을 자유롭게 해주며, 그 결과 사람의 표현 방법인 자연어로부터 기계가 이해할 수 있는 코드로의 변환을 용이하게 해준다. 따라서, 사용자의 요구가 갖고 있는 실제 의미를 기계가 이해하고 분석 하는 데에 편의를 제공해줄 뿐 아니라, 사용자의 다양한 요구를 나타낼 수 있는 표현력을 증가시켜준다.
이와 같은 온톨로지 공학 방법론을 적용하면 네트워크 트래픽 분석을 위한 데이터 구조, 즉 네트워크 패킷 헤더에 포함되어 있는 정보를 온톨로지를 이용하여 SES(System Entity Structure)에 기반한 구조로 설계할 수 있다.
SES는 선택된 시스템 경계 안에 둘러싸인 실제 시스템을 시스템 객체로 표현하는 모델링 구조로서, 데이터 처리 개념과 온톨로지를 기반으로 다중레벨(상위의 응용 프로그램과 하위 레벨 데이터 명세사항) 모델링과 시뮬레이션에 유용한 XML(eXtensible Markup Language) 모델링 구조에 의해 표현되며, 시각적, 논리적으로 표현이 가능한 계층적인 트리 구조이기 때문에 쉽고 빠른 정보 수집이 가능하고, 빠른 응답시간을 보여주는 사용자 친화적 스키마이다.
SES와 XML 모델링은 네트워크 분석 시스템이 거대한 데이터를 다루기 쉽게 온톨로지를 설계하고 메타 데이터를 구성하는데 도움을 줄 수 있는데, 그 이유는 SES의 구조가 빠른 접근이 가능한 계층적 트리 구조이며, XML의 확장성, 이식성 등의 특징이 메타 데이터를 관리하는 데 유용하게 작용하기 때문이다.
본 발명에서는 이와 같은 SES 모델링을 통해 일반적인 네트워크 분석에 필요한 네트워크 패킷의 각 정보들을 계층적으로 표현한 온톨로지와, 사용자의 요구를 계층적으로 표현한 온톨로지를 매핑 과정을 통해 실제 네트워크 분석 시스템에서 사용 가능한 XML(eXtensible Markup Language) 형식의 데이터를 생성하는데, 이에 대한 구체적인 설명은 후술하여 상세히 하기로 한다.
도 1은 일반적인 네트워크 트래픽 분석과 사용자의 요구에 맞는 특성화된 네트워크 트래픽 분석에 대한 지식의 계층적 구조를 나타내는 도면이고, 도 2는 도 1에 도시된 일반적인 네트워크 트래픽 분석에 대한 지식을 SES를 이용하여 설계한 지능형 객체 명세를 나타내는 도면이며, 도 3은 도 1에 도시된 특성화된 네트워크 트래픽 분석에 대한 지식을 SES를 이용하여 설계한 지능형 객체 명세를 나타내는 도면이다.
도 1에 도시된 바와 같이, 상위 요소인 대표 객체명세는 일반적인 네트워크 트래픽 분석을 위하여 네트워크 패킷 헤더에 포함된 속성(attribute) 객체명세로서, 그 하위 요소로 표현되는 다양한 관점의 세부 객체명세들과 연결되어 있으며, 각각의 세부 객체명세는 사용자의 분석 요구사항에 따라 대표 객체명세의 각 속성들 중 필요한 속성만을 선별적으로 추출하여 다양한 형태로 구성될 수 있다.
대표 객체명세는, 도 2에서와 같이 일반적인 네트워크 트래픽 정보, 즉 네트워크 패킷 헤더의 정보를 계층적으로 표현한 지식 기반의 지능형 객체 명세(온톨로지) 모델로서, 전술한 SES를 이용하여 네트워크 패킷에 포함된 정보에 신속한 접근을 위해 각 정보를 특징별로 분류하여 계층적으로 모델링되는데, 이는 특히 호스트(컴퓨터)에서의 트래픽 분석에 최적화된 형태이다. 여기서, 각 상위 객체(entity)는 그 하위 객체들과 다양한 연결 요소에 의해 연결되며, 연결 요소의 종류로는 상위 객체가 다수의 하위 구성들로 분할되는 것을 나타내는 객체-측면(entity-aspect) 요소(|), 상위 객체가 그 하위 객체로 다수 분할되는 것을 나타내는 다중 객체(multiple entity) 요소(|||), 상위 객체의 분류를 나타내는 객체-세분화(entity-specialization) 요소(||)가 있다.
이와 같이 모델링된 대표 객체명세에 대응하여 사용자의 요구사항이 반영된 특정 네트워크 트래픽 분석을 위한 세부 객체명세가 생성될 수 있는데, 예를 들어, 만약 사용자가 얼마나 많은 TCP 패킷을 수신하고 있는가에 대한 측정인 프로토콜 분석을 원한다면, 프로토콜의 종류와 패킷에 대한 고유번호를 요구하는 입력을 하게되며, 이러한 요구에 따라 도 3의 (a)에서와 같이 프로토콜 종류(~protocol type)와 패킷의 고유번호(~id_number)에 해당하는 두 개의 최하위 요소로 구성된 네트워크 프로토콜 분석에 대한 세부 객체명세를 생성할 수 있다. 한편, 사용자가 네트워크 트래픽 처리량 분석을 원하는 경우에는 트래픽이 발생한 이벤트 시간(~event_time)과 패킷의 크기(~packet_size)가 포함된 세부 객체명세를 생성하게 된다.
그리고, 본 발명에서는 상기와 같은 세부 객체명세의 객체 수를 줄이기 위한 방안으로서 세부 객체 명세를 평면(flat) 세부 객체명세로 변경할 수 있는데, 이와 같은 평면(flat) 세부 객체명세를 생성함에 있어서는 연결 요소로 연결된 상위 객체와 하위 객체를 "."(도트)와 같은 세부 객체명세에서 사용하지 않은 타 연결 요소로 연결하여 하나의 객체처럼 존재하도록 변경하되 세부 객체명세의 분해 구조(decomposition structure)를 유지함으로써 이후에 형성될 XML 형식의 데이터의 사이즈를 최소화할 수 있도록 한다.
도 4에는 세부 객체명세를 평면(flat) 세부 객체명세로 변경하는 방법을 개념적으로 도시하였으며, 이와 같은 도 4를 참조하면 평면 세부 객체명세는 연결 요소로 연결된 상위 객체와 하위 객체를 "."로 연결하여 하나의 객체처럼 존재하도록 하되 세부 객체명세의 분해 구조는 유지함을 할 수 있다.
도 5a에는 세부 객체명세의 예를 도시하였고, 도 5b에는 도 5a의 세부 객체명세를 평면(flat) 세부 객체 명세로 변경한 예를 도시하였으며, 도 6a에는 세부 객체명세의 예를 도시하였고, 도 6b에는 도 6a의 세부 객체명세를 평면(flat) 세부 객체 명세로 변경한 예를 도시하였으며, 이와 같은 도 5a 내지 도 6b를 참조하면 세부 객체명세를 평면 세부 객체명세로 변경함으로써 객체의 수가 최소화되었음을 알 수 있다.
이와 같이 세부 객체명세를 평면 세부 객체명세로 변경하여 얻을 수 있는 효율성 비율(efficiency rate)은 평면(flat) 세부 객체명세의 객체의 수를 세부 객체명세의 객체의 수로 나눈 값과 같으며, 객체 이름의 총 길이는 서브 루트(sub root) 객체의 이름의 길이와 그 서브 루트 객체의 자식 객체들의 이름의 길이의 합과 같다.
본 발명에서는 이상에서 설명한 온톨로지 기반 SES를 이용하여 사람이 이해할 수 있는 자연어 형태로 입력받은 사용자의 요구사항을 세부 객체명세(또는 평면 세부 객체명세), 즉 지식 기반 명세인 온톨로지로 표현할 수 있게 되며, 이후 세부 객체명세(또는 평면 세부 객체명세)를 기계가 이해할 수 있는 XML 형식의 데이터로 자동적으로 생성하여, 생성된 XML 기반 데이터에 따라 네트워크 분석을 수행하기 때문에, 사용자에게 편리한 사용성을 제공할 뿐 아니라, 세부 객체명세(또는 평면 세부 객체명세)를 기초로 분석에 필요한 정보만을 선별적으로 추출하여 시스템 메모리에 적재하여 분석하기 때문에 효율적으로 시스템 자원을 사용할 수 있다.
도 7은 본 발명이 적용되는 네트워크 시스템의 구성도이고, 도 8은 도 7의 분석용 호스트에 설치되는 본 발명의 제1실시예에 따른 네트워크 분석장치의 구성을 나타내는 블록도이다.
도 7에 도시된 바와 같이, 본 발명이 적용되는 네트워크 시스템은 네트워크 회선(10)을 통해 다수의 컴퓨터(20)가 서로 연결되어 있는 서브 네트워크로서, 통상적으로 하나의 라우터(미도시)에 의해 관리되며 여러 서브 네트워크가 모여 대규모 네트워크를 구성하게 된다.
본 발명에 따른 네트워크 분석장치는 이와 같이 서브 네트워크를 구성하는 컴퓨터(20) 중 임의의 컴퓨터(예를들면, 20-1) 상에 구현되어 단독적으로 동작하면서 네트워크 트래픽 데이터를 수집 및 분석하게 되는데, 그 세부 구성 및 기능은 다음과 같다.
도 8에 도시된 바와 같이, 본 발명의 제1실시예에 따른 네트워크 분석장치는 수집데이터 처리부(110), 분석데이터 처리부(140), 데이터 추출부(170), 분석부(190), 데이터 추출부(170), 메모리(180), 분석부(190)를 포함하여 구성된다. 또한, 수집 및 분석 데이터 저장을 위한 데이터 저장소인 수집데이터 리포지터리(130)와 분석데이터 리포지터리(160)가 각각 구비된다.
수집데이터 처리부(110)는 데이터 수집부(111)와 수집 필터(112)로 구성되는데, 데이터 수집부(111)는 서브 네트워크 상에서 발생하는 네트워크 트래픽 데이터를 주기적으로 캡쳐(capture)하여 수집하며, 수집 필터(112)는 데이터 수집부(111)에 의해 수집된 네트워크 트래픽 데이터를 기 설계된 대표 객체명세에 따라 변환하여 수집데이터를 생성하고, 생성된 수집데이터를 XML 형식의 파일로 수집데이터 리포지터리(130)에 저장한다. 여기서, 수집 필터(112)는 대표 객체명세, 즉 일반적인 네트워크 분석을 위해 SES 구조로 모델링된 온톨로지에 따라 수집된 네트워크 트래픽 데이터를 변환하게 된다.
분석데이터 처리부(140)는 입력 처리부(141)와 분석 필터(142)로 구성되며, 입력 처리부(141)는 사용자에게 분석하고자 하는 요구사항을 입력받을 수 있는 사용자 인터페이스를 제공하여 사용자로부터 사람이 이해할 수 있는 자연어 형태의 요구사항을 입력받고, 내장된 자연어 해석기를 이용하여 사용자 입력으로부터 사용자가 원하는 분석 종류를 해석한 후 이에 따라 분석에 필요한 속성들만으로 표현되는 새로운 세부 객체명세인 SES 구조의 온톨로지를 생성한다. 또한, 분석 필터(142)는 입력 처리부(141)에 의해 생성된 세부 객체명세와 수집데이터 리포지터리(130)에 저장되어 있는 XML 형식의 수집데이터 간의 매핑 과정을 통해 사용자가 원하는 분석에 필요한 속성값들로 이루어진 분석데이터를 생성하며, 생성된 분석데이터를 XML형식의 파일로 분석데이터 리포지터리(160)에 저장한다.
데이터 추출부(170)는 분석데이터 리포지터리(160)에 저장되어 있는 분석데이터 객체로부터 분석에 필요한 데이터를 추출하여 메모리(180)에 로드하며, 분석부(190)는 메모리(180)에 로드된 분석 정보를 이용하여 사용자가 요구한 분석을 수행하고, 분석 결과를 도표 등의 형태로 사용자에게 제공해준다.
이와 같이 본 발명에서는 사용자가 요구하는 네트워크 분석을 수행하기 위한 최소한의 정보만을 포함하고 있는 작은 크기의 데이터 집합을 메모리(180)에 로딩하여 분석을 수행하기 때문에, 데이터 로딩 시간을 빠르게 하고, 메모리(180)의 사용량을 줄이며, 신속한 분석 및 응답 시간을 사용자에게 제공함으로서 전체적인 시스템의 성능 향상을 얻을 수 있다.
이하, 본 발명의 제1실시예에 따른 네트워크 분석 과정에 대하여 상세히 설명한다.
도 9는 본 발명의 제1실시예에 따른 네트워크 분석 방법을 나타내는 순서도이고, 도 10은 도 9의 분석 요구사항 입력 단계에서 분석 대상을 선택적으로 입력받는 사용자 인터페이스의 예를 보여주는 도면이며, 도 11은 도 9의 분석 데이터 생성 단계를 통해 생성된 분석 데이터 객체의 예를 보여주는 도면이다.
도 9를 참조하면, 먼저 네트워크 상에서 발생하는 네트워크 트래픽 데이터를 수집하여(S10), 일반적인 네트워크 분석을 위해 SES 구조의 온톨로지로 설계된 대표 객체명세에 따라, 수집된 네트워크 트래픽 데이터를 변환시킨 수집 데이터를 생성하고, 생성된 수집 데이터를 XML 형식의 파일로 저장한다(S20). 여기서, 대표 객체명세는, 앞서 설명한 바와 같이, 일반적인 네트워크 패킷 헤더에 포함된 속성 정보들을 계층화된 구조로 표현하도록 설계되어 있는 온톨로지로서(전술한 도 2 참조), 수집된 네트워크 트래픽 데이터의 패킷 헤더에 포함된 정보들을 기 설계된 대표 객체명세에 따라 재구성하여 수집데이터를 생성하고, 생성된 수집데이터를 기계가 이해할 수 있는 XML 형식의 파일로 데이터저장소인 수집데이터 리포지터리(130)에 저장해둔다.
이후, 사용자에게 제공되는 사용자 인터페이스를 통해 사용자로부터 자연어 형태의 분석 요구사항이 입력되면(S30), 사용자가 입력한 자연어로부터 사용자가 원하는 분석(무엇을 평가하고자 하는가)의 의미(pragmatic)를 해석한 후 해석된 결과에 따라 새로운 세부 객체명세인 SES 구조의 온톨로지를 생성한다(S40). 이 때, 사용자가 분석하고자 하는 내용을 자연어 형태로 입력하면 입력 처리부(141)의 자연어 해석기가 작동하여 사용자가 원하는 분석의 의미를 해석하게 되고, 해석된 분석의 종류에 따라 필요한 네트워크 트래픽 정보로 구성된 계층화된 세부 객체명세를 온톨로지로 생성하게 된다. 예를 들면, 사용자가 "프로토콜 사용 상태 분석"이라는 문장을 입력하면 자연어 해석기는 사용자가 원하는 분석의 종류가 "프로토콜 사용 분석"이라는 해석을 하게 되고, 이로부터 "프로토콜 사용 분석"에 대해 미리 정의되어 있는 필요 속성 정보를 참조하여 해당 속성들을 SES 구조를 통해 계층적으로 표현한 세부 객체명세를 생성하게 된다.
여기서, 사용자의 자연어 입력을 위해 임의의 문장을 입력할 수 있는 텍스트박스 등의 사용자 인터페이스를 제공하게 되는데, 텍스트박스 대신 분석 대상을 선택적으로 입력받는 사용자 인터페이스를 제공하여 사용자가 원하는 분석을 제공된 목록 중에서 선택하도록 할 수도 있다. 예를 들면, 도 10에서와 같이 분석 대상의 종류, 즉 "프로토콜 사용 분석" 또는 "트래픽 처리량(throughput) 분석" 등의 목록이 나열된 분석 대상 선택 창을 제공하여 사용자로부터 원하는 분석 대상을 선택받을 수 있으며, 이로부터 분석에 사용될 네트워크 트래픽 정보의 특정 속성(ID, Event Time, Src IP 등)을 자동적으로 선택하거나, 또는 별도의 속성 선택 창을 제공하여 사용자가 수동으로 선택할 수 있도록 할 수 있다.
한편, 사용자로부터 분석 요구사항 입력이 없는 경우에는, 상기 S10 단계로 되돌아가 그 이하의 단계를 지속적으로 반복 수행함으로써 네트워크 트래픽 데이픽 데이터를 수집하여 XML 형식으로 저장하게 된다.
상기 S40 단계가 완료되면, 상기 S40 단계에서 생성된 세부 객체명세와, 상기 S20 단계에서 저장된 XML 형식의 수집데이터를 서로 매핑시키는 과정을 통해 기저장된 수집데이터로부터 사용자가 요구하는 분석에 필요한 정보만을 추출하여 분석에 실제로 사용될 분석데이터를 생성하고, 생성된 분석데이터를 XML 형식의 파일로 저장한다(S50). 예를 들어, S40 단계에서 생성된 세부 객체명세와 기저장된 XML 형식의 수집데이터를 매핑시킴으로써, 도 11의 (a)와 같이 프로토콜 분석(protocol analyses)과 관련하여 두 개의 튜플(tuple)로 이루어진 하위 요소가 추출되는 경우, 이로부터 도 11의 (b)와 같이 상기 추출된 튜플들로 이루어진 새로운 XML 형식의 분석데이터를 생성할 수 있다. 여기서, 튜플이란 수집된 네트워크 트래픽 데이터 중에서 세부 객체명세와의 매핑을 통해 선별적으로 추출된 관련 속성 값들의 집합을 의미하는 것으로서, 각각의 튜플은 네트워크상에서의 단일 패킷 전송 이벤트에 대응되는 관련 속성값들을 포함하고 있다.
이어서, 상기 생성된 XML 형식의 분석데이터로부터 분석에 필요한 개수의 패킷 전송 이벤트에 대응되는 속성 데이터들을 추출하여 메모리(180)에 로드하고(S60), 상기 메모리(180)에 로드된 속성 데이터를 이용하여 사용자가 요구한 분석을 수행한 후, 분석 결과를 도표 등의 형태로 사용자에게 제공해준다(S70).
이하, 본 발명의 바람직한 제2실시예에 따른 네트워크 분석장치에 대하여 설명한다.
도 12에 도시된 바와 같이, 본 발명의 제2실시예에 따른 네트워크 분석장치는 수집데이터 처리부(210), 분석데이터 처리부(240), 데이터 추출부(270), 분석부(290), 데이터 추출부(270), 메모리(280), 분석부(290)를 포함하여 구성된다. 또한, 수집 및 분석 데이터 저장을 위한 데이터 저장소인 수집데이터 리포지터리(230)와 분석데이터 리포지터리(260)가 각각 구비된다.
수집데이터 처리부(210)는 데이터 수집부(211)와 수집 필터(212)로 구성되는데, 데이터 수집부(211)는 서브 네트워크 상에서 발생하는 네트워크 트래픽 데이터를 주기적으로 캡쳐(capture)하여 수집하며, 수집 필터(212)는 데이터 수집부(211)에 의해 수집된 네트워크 트래픽 데이터를 기 설계된 대표 객체명세에 따라 변환하여 수집데이터를 생성하고, 생성된 수집데이터를 XML 형식의 파일로 수집데이터 리포지터리(230)에 저장한다. 여기서, 수집 필터(212)는 대표 객체명세, 즉 일반적인 네트워크 분석을 위해 SES 구조로 모델링된 온톨로지에 따라 수집된 네트워크 트래픽 데이터를 변환하게 된다.
분석데이터 처리부(240)는 입력 처리부(241), 입력 재처리부(243) 및 분석 필터(242)로 구성되며, 입력 처리부(241)는 사용자에게 분석하고자 하는 요구사항을 입력받을 수 있는 사용자 인터페이스를 제공하여 사용자로부터 사람이 이해할 수 있는 자연어 형태의 요구사항을 입력받고, 내장된 자연어 해석기를 이용하여 사용자 입력으로부터 사용자가 원하는 분석 종류를 해석한 후 이에 따라 분석에 필요한 속성들만으로 표현되는 새로운 세부 객체명세인 SES 구조의 온톨로지를 생성한다. 이에 더하여, 입력 재처리부(243)는 세부 객체 명세를 평면(flat) 세부 객체명세로 변환한다. 또한, 분석 필터(242)는 입력 재처리부(243)에 의해 생성된 평면(flat) 세부 객체명세와 수집데이터 리포지터리(230)에 저장되어 있는 XML 형식의 수집데이터 간의 매핑 과정을 통해 사용자가 원하는 분석에 필요한 속성값들로 이루어진 분석데이터를 생성하며, 생성된 분석데이터를 XML형식의 파일로 분석데이터 리포지터리(260)에 저장한다. 여기서, 상기 세부 객체명세는 상위 객체들이 연결 요소를 통해 하위 객체로 연결된 트리 구조를 가지며, 상기 평면 세부 객체명세는 연결 요소로 연결된 상위 객체와 하위 객체가 타 연결 요소를 통해 하나의 객체로 구성됨과 동시에 세부 객체명세의 분해 구조가 유지되도록 구성된다.
데이터 추출부(270)는 분석데이터 리포지터리(260)에 저장되어 있는 분석데이터 객체로부터 분석에 필요한 데이터를 추출하여 메모리(280)에 로드하며, 분석부(290)는 메모리(280)에 로드된 분석 정보를 이용하여 사용자가 요구한 분석을 수행하고, 분석 결과를 도표 등의 형태로 사용자에게 제공해준다.
이와 같이 본 발명에서는 사용자가 요구하는 네트워크 분석을 수행하기 위한 최소한의 정보만을 포함하고 있는 작은 크기의 데이터 집합을 메모리(280)에 로딩하여 분석을 수행하기 때문에, 데이터 로딩 시간을 빠르게 하고, 메모리(280)의 사용량을 줄이며, 신속한 분석 및 응답 시간을 사용자에게 제공함으로써 전체적인 시스템의 성능 향상을 얻을 수 있다.
이하, 본 발명의 제2실시예에 따른 네트워크 분석 과정을 상세히 설명한다.
도 13에는 본 발명의 제2실시예에 따른 네트워크 분석 방법을 나타내는 순서도를 도시하였다.
도 13을 참조하면, 먼저 네트워크 상에서 발생하는 네트워크 트래픽 데이터를 수집하여(S110), 일반적인 네트워크 분석을 위해 SES 구조의 온톨로지로 설계된 대표 객체명세에 따라, 수집된 네트워크 트래픽 데이터를 변환시킨 수집 데이터를 생성하고, 생성된 수집 데이터를 XML 형식의 파일로 저장한다(S120). 여기서, 대표 객체명세는, 앞서 설명한 바와 같이, 일반적인 네트워크 패킷 헤더에 포함된 속성 정보들을 계층화된 구조로 표현하도록 설계되어 있는 온톨로지로서(전술한 도 2 참조), 수집된 네트워크 트래픽 데이터의 패킷 헤더에 포함된 정보들을 기 설계된 대표 객체명세에 따라 재구성하여 수집데이터를 생성하고, 생성된 수집데이터를 기계가 이해할 수 있는 XML 형식의 파일로 데이터저장소인 수집데이터 리포지터리(230)에 저장해둔다.
이후, 사용자에게 제공되는 사용자 인터페이스를 통해 사용자로부터 자연어 형태의 분석 요구사항이 입력되면(S130), 사용자가 입력한 자연어로부터 사용자가 원하는 분석(무엇을 평가하고자 하는가)의 의미(pragmatic)를 해석한 후 해석된 결과에 따라 새로운 세부 객체명세인 SES 구조의 온톨로지를 생성한다(S140). 이 때, 사용자가 분석하고자 하는 내용을 자연어 형태로 입력하면 입력 처리부(241)의 자연어 해석기가 작동하여 사용자가 원하는 분석의 의미를 해석하게 되고, 해석된 분석의 종류에 따라 필요한 네트워크 트래픽 정보로 구성된 계층화된 세부 객체명세를 온톨로지로 생성하게 된다. 예를 들면, 사용자가 "프로토콜 사용 상태 분석"이라는 문장을 입력하면 자연어 해석기는 사용자가 원하는 분석의 종류가 "프로토콜 사용 분석"이라는 해석을 하게 되고, 이로부터 "프로토콜 사용 분석"에 대해 미리 정의되어 있는 필요 속성 정보를 참조하여 해당 속성들을 SES 구조를 통해 계층적으로 표현한 세부 객체명세를 생성하게 된다.
여기서, 사용자의 자연어 입력을 위해 임의의 문장을 입력할 수 있는 텍스트박스 등의 사용자 인터페이스를 제공하게 되는데, 텍스트박스 대신 분석 대상을 선택적으로 입력받는 사용자 인터페이스를 제공하여 사용자가 원하는 분석을 제공된 목록 중에서 선택하도록 할 수도 있다.
한편, 사용자로부터 분석 요구사항 입력이 없는 경우에는, 상기 S110 단계로 되돌아가 그 이하의 단계를 지속적으로 반복 수행함으로써 네트워크 트래픽 데이픽 데이터를 수집하여 XML 형식으로 저장하게 된다.
상기 S140 단계 후에는, 상기 S140 단계에서 생성된 세부 객체명세를 변환하여 평면(flat) 세부 객체명세를 생성한다(S150). 여기서, 상기 세부 객체명세는 상위 객체들이 연결 요소를 통해 하위 객체로 연결된 트리 구조를 가지며, 상기 평면 세부 객체명세는 연결 요소로 연결된 상위 객체와 하위 객체가 타 연결 요소를 통해 하나의 객체로 구성됨과 동시에 세부 객체명세의 분해 구조가 유지되도록 구성된다.
상기 S150 단계가 완료되면, 상기 S150 단계에서 생성된 평면 세부 객체명세와 상기 S120 단계에서 저장된 XML 형식의 수집데이터를 서로 매핑시키는 과정을 통해 기저장된 수집데이터로부터 사용자가 요구하는 분석에 필요한 정보만을 추출하여 분석에 실제로 사용될 분석데이터를 생성하고, 생성된 분석데이터를 XML 형식의 파일로 저장한다(S160). 예를 들어, S150 단계에서 생성된 평면 세부 객체명세와 기저장된 XML 형식의 수집데이터를 매핑시킴으로써, 프로토콜 분석(protocol analyses)과 관련하여 두 개의 튜플(tuple)로 이루어진 하위 요소가 추출되는 경우, 이로부터 상기 추출된 튜플들로 이루어진 새로운 XML 형식의 분석데이터를 생성할 수 있다.
이어서, 상기 생성된 XML 형식의 분석데이터로부터 분석에 필요한 개수의 패킷 전송 이벤트에 대응되는 속성 데이터들을 추출하여 메모리(280)에 로드하고(S170), 상기 메모리(280)에 로드된 속성 데이터를 이용하여 사용자가 요구한 분석을 수행한 후, 분석 결과를 도표 등의 형태로 사용자에게 제공해준다(S180).
이하에서는, 본 발명에 따른 네트워크 분석장치의 성능을 평가하기 위하여 두 가지 네트워크 분석(프로토콜 분석, 네트워크 트래픽 처리량 분석)에 대한 시스템 메모리(RAM) 사용량과 수행 시간을 측정한 결과를 기존의 네트워크 분석기인 Ethereal의 경우와 비교하여 설명하기로 한다.
도 14는 본 발명에 따른 네트워크 분석장치와 기존의 네트워크 분석기인 Ethereal의 네트워크 트래픽 분석 결과를 비교 평가하기 위한 도표로서, 도 14의 (a)는 프로토콜 분석 결과에 대하여, 도 14의 (b)는 네트워크 트래픽 처리량 분석 결과에 대하여 각각 수행 시간 및 시스템 메모리 사용량 측면에서의 비교 결과를 보여주고 있다.
본 발명에 따라 구현된 네트워크 분석장치(SES/NZER)와 기존 제품인 Ethereal의 성능 평가를 위해 1/2일, 하루, 이틀 동안의 네트워크의 행동(activities)을 수집 한 후, 수행 시간과 시스템 메모리 사용량을 측정/비교하였다.
초당 1420개의 평균 패킷 전송이 일어나는 소규모의 서브 네트워크를 대상으로 하였으며, 네트워크 분석장치는 대상 서브 네트워크 상의 일반 데스크탑 컴퓨터(CPU:Pentium 4 2.0GHz, RAM:2GB, OS:Windows XP SP2)에 설치된 상태에서 수행되었다. 또한, 분석을 위한 네트워크 데이터는 만 하루를 기준으로 그 크기가 텍스트 파일 포맷으로 288MB였는데, 실제 기업과 같은 대규모 조직에서 사용되는 서브 네트워크는 이보다 훨씬 많은 네트워크 데이터가 수집될 것으로 예상된다.
도 14의 각 도표에서 로딩 시간(Loading time)이란 데이터 저장소에 보관되어있는 정보를 사용하기 위해 네트워크 분석장치의 메모리 영역으로 해당 정보를 불러오는 시간을 의미하는데, 두 가지 분석의 경우 모두 1/2일(Half day) 및 하루(One day) 동안의 데이터에 대한 로딩 시간 평가에서는 Ethereal이 본 발명에 따른 네트워크 분석장치보다 약 4배 빠른 성능을 보여준다. 또한, 1/2일과 하루 동안의 데이터를 분석하는 시간에서도 Ethereal의 성능이 약 13배(프로토콜 분석), 약 11배(네트워크 트래픽 처리량 분석) 빠른 성능을 보여준다.
그러나 시스템 메모리 사용량(Memory Usage)에 대한 평가에서는 본 발명에 따른 네트워크 분석장치가 좋은 효율을 보인다. Ethereal이 필요로 하는 시스템 메모리의 크기는 패킷 전송 이벤트의 수(1/2일 1,063,803 패킷, 하루 2,045,700 패킷)에 따라 선형적으로 증가(1/2일 706MB, 하루 1323MB)하는 데에 반하여, 본 발명에 따른 네트워크 분석장치의 경우에는 항상 98MB를 유지하는 것을 볼 수 있다. 즉, 시스템 메모리 사용량에서는 본 발명이 Ethereal에 비해 1/2일의 경우는 13%(), 하루의 경우는 7.4% 더 효율적으로 메모리를 사용하고 있는 것을 알 수 있다. 그 이유로는, Ethereal은 방대한 양의 데이터를 한 번에 불러와 시스템 메모리에 저장하여 분석하는 반면, 본 발명에 따른 네트워크 분석장치는 불필요한 데이터는 제거하고, 한 번의 분석시간에 필요한 최소양의 데이터만을 불러와서 사용하는 분석 방법의 차이를 들 수 있다.
더욱 주목할 만한 점은, 이틀 간의 수집 데이터에 대해서는 Ethereal의 경우 메모리 부족 현상이 일어나 분석 자체가 불가능했으나, 본 발명에 따른 네트워크 분석장치는 수집 데이터의 크기에 상관없이 항상 일정한 시스템 메모리를 필요로 하기 때문에 이틀 간의 수집 데이터를 성공적으로 분석할 수 있었다는 점이다. 부연하면, 통상적으로 데스크탑 컴퓨터에 장착 가능한 최대 메모리는 하드웨어적인 한계와 OS의 메모리 인식 한계로 인하여 제한을 받을 수 밖에 없으므로, 데스크탑 컴퓨터에서 단독으로 작동되는 경우, 기존의 분석기로는 일정 기간 이상 수집된 대용량의 데이터를 분석하는 데에 한계가 있지만, 본 발명에 따른 네트워크 분석장치는 효율적인 메모리 사용을 통해 신뢰성 있는 분석 결과를 얻을 수 있다.
따라서, 본 발명에 따른 네트워크 분석장치 및 분석 방법은 분석 대상이 되는 네트워크 트래픽 데이터의 수집 기간이 길수록, 그 크기가 클수록 기존의 분석기인 Ethereal에 비해 더욱 뛰어난 메모리 사용 효율을 보이는 것을 알 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백하다 할 것이다.
10 : 네트워크 회선 20 : 컴퓨터
110, 210 : 수집데이터 처리부 111, 211 : 데이터 수집부
112, 212 : 수집 필터 130, 230 : 수집데이터 리포지터리
140, 240 : 분석 데이터 처리부 141, 241 : 입력 처리부
142, 242 : 분석 필터 243 : 입력 재처리부
160, 260 : 분석데이터 리포지터리 170, 270 : 데이터 추출부
180, 280 : 메모리 190, 290 : 분석부

Claims (11)

  1. 서브 네트워크 트래픽을 분석하기 위한 분석장치에 있어서,
    서브 네트워크 상에서 발생하는 네트워크 트래픽 데이터를 주기적으로 수집하고, 네트워크 패킷 헤더에 포함된 속성 정보들을 계층적으로 표현하도록 기 설계된 대표 객체명세에 따라, 상기 수집된 네트워크 트래픽 데이터를 변환시킨 수집데이터를 생성하고 저장하는 수집데이터 처리부;
    사용자로부터 입력된 분석 요구사항에 따라 분석에 필요한 속성들만으로 표현된 세부 객체명세를 생성하고, 상기 저장된 수집데이터와 상기 세부 객체명세 간의 매핑 과정을 통해 분석에 사용될 분석데이터를 생성하고 저장하는 분석데이터 처리부;
    상기 분석데이터 중에서 분석에 필요한 데이터를 추출하여 메모리에 로드하는 데이터 추출부; 및
    상기 메모리에 로드된 데이터를 이용하여 사용자가 요구한 분석을 수행하는 분석부;
    를 포함하여 구성되는 것을 특징으로 하는 지식 기반의 객체 명세를 이용한 네트워크 분석장치.
  2. 제 1 항에 있어서, 상기 네트워크 분석장치는, 상기 수집데이터 처리부에 의해 생성된 수집데이터를 저장해두는 수집데이터 리포지터리와, 상기 분석데이터 처리부에 의해 생성된 분석데이터를 저장해두는 분석데이터 리포지터리를 더 포함하는 것을 특징으로 하는 지식 기반의 객체 명세를 이용한 네트워크 분석장치.
  3. 제 1 항에 있어서, 상기 대표 객체명세 및 세부 객체명세는 SES(System Entity Structure) 구조로 모델링된 온톨로지인 것을 특징으로 하는 지식 기반의 객체 명세를 이용한 네트워크 분석장치.
  4. 제 1 항에 있어서, 상기 수집데이터 처리부에 의해 생성된 수집데이터 및 상기 분석데이터 처리부에 의해 생성된 분석데이터는 XML 형식의 파일로 저장되는 것을 특징으로 하는 지식 기반의 객체 명세를 이용한 네트워크 분석장치.
  5. 제 1 항에 있어서, 상기 분석데이터 처리부는, 사용자에게 분석하고자 하는 요구사항을 자연어 형태로 입력받을 수 있는 사용자 인터페이스를 제공하여 분석 요구사항을 입력받고, 내장된 자연어 해석기를 통해 상기 입력된 분석 요구사항으로부터 사용자가 원하는 분석의 종류를 해석하여, 분석에 필요한 속성들만으로 이루어진 세부 객체명세를 생성하는 것을 특징으로 하는 지식 기반의 객체 명세를 이용한 네트워크 분석장치.
  6. 제 1 항에 있어서, 상기 분석 데이터 처리부는 세부 객체명세를 평면(flat) 세부 객체명세로 변환한 후에, 상기 수집데이터와 평면 세부 객체명세 간의 매핑 과정을 통해 분석에 사용될 분석데이터를 생성하며,
    상기 세부 객체명세는 상위 객체들이 연결 요소를 통해 하위 객체로 연결된 트리 구조를 가지며, 상기 평면 세부 객체명세는 연결 요소로 연결된 상위 객체와 하위 객체가 타 연결 요소를 통해 하나의 객체로 구성됨과 동시에 세부 객체 명세의 분해 구조가 유지되도록 구성된 것을 특징으로 하는 지식 기반의 객체 명세를 이용한 네트워크 분석장치.
  7. (a) 네트워크 상에서 발생하는 네트워크 트래픽 데이터를 주기적으로 수집하고, 네트워크 패킷 헤더에 포함된 속성 정보들을 계층적으로 표현하도록 기 설계된 대표 객체명세에 따라, 상기 수집된 네트워크 트래픽 데이터를 변환시킨 수집데이터를 생성하고 저장하는 단계;
    (b) 사용자로부터 분석 요구사항이 입력되면, 상기 입력된 분석 요구사항에 따라 분석에 필요한 속성들만으로 표현된 세부 객체명세를 생성하는 단계;
    (c) 상기 생성된 세부 객체명세와 상기 저장된 수집데이터를 서로 매핑시키는 과정을 통해 상기 저장된 수집데이터로부터 사용자가 요구하는 분석에 필요한 정보만을 추출하여 분석에 사용될 분석데이터를 생성하고 저장하는 단계;
    (d) 상기 저장된 분석데이터로부터 분석에 필요한 개수의 패킷 전송 이벤트에 대응되는 속성 데이터들을 추출하여 메모리에 로드하는 단계; 및
    (e) 상기 메모리에 로드된 속성 데이터를 이용하여 사용자가 요구한 분석을 수행한 후, 분석 결과를 사용자에게 제공해주는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 지식 기반의 객체 명세를 이용한 네트워크 분석 방법.
  8. 제 7 항에 있어서, 상기 대표 객체명세 및 세부 객체명세는 SES(System Entity Structure) 구조로 모델링된 온톨로지인 것을 특징으로 하는 지식 기반의 객체 명세를 이용한 네트워크 분석 방법.
  9. 제 7 항에 있어서, 상기 (a)단계에서는 수집데이터를 XML 형식의 파일로 저장하고, 상기 (c)단계에서는 분석데이터를 XML 형식의 파일로 저장하는 것을 특징으로 하는 지식 기반의 객체 명세를 이용한 네트워크 분석 방법.
  10. 제 7 항에 있어서, 상기 (b)단계에서는 사용자로부터 자연어 형태의 분석 요구사항을 입력받고, 상기 입력받은 자연어 형태의 분석 요구사항으로부터 사용자가 원하는 분석의 의미(pragmatic)를 해석한 후, 상기 해석된 결과에 따라 세부 객체명세를 생성하는 것을 특징으로 하는 지식 기반의 객체 명세를 이용한 네트워크 분석 방법.
  11. 제 7 항에 있어서, 상기 (b)단계는,
    (b1) 사용자로부터 분석 요구사항이 입력되면, 상기 입력된 분석 요구사항에 따라 분석에 필요한 속성들만으로 표현된 세부 객체명세를 생성하는 단계; 및
    (b2) 생성한 상기 세부 객체명세를 평면 세부 객체명세로 변환하는 단계;
    를 포함하며,
    상기 (c)단계에서는 분석데이터를 생성하는데 있어서 평면 세부 객체명세와 수집데이터를 서로 매핑시키고,
    상기 세부 객체명세는 상위 객체들이 연결 요소를 통해 하위 객체로 연결된 트리 구조를 가지며, 상기 평면 세부 객체명세는 연결 요소로 연결된 상위 객체와 하위 객체가 타 연결 요소를 통해 하나의 객체로 구성됨과 동시에 세부 객체 명세의 분해 구조가 유지되도록 구성되는 것을 특징으로 하는 지식 기반의 객체 명세를 이용한 네트워크 분석 방법.
KR1020100120748A 2010-11-30 2010-11-30 지식 기반의 객체 명세를 이용한 네트워크 분석장치 및 그 분석 방법 KR101038507B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100120748A KR101038507B1 (ko) 2010-11-30 2010-11-30 지식 기반의 객체 명세를 이용한 네트워크 분석장치 및 그 분석 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100120748A KR101038507B1 (ko) 2010-11-30 2010-11-30 지식 기반의 객체 명세를 이용한 네트워크 분석장치 및 그 분석 방법

Publications (1)

Publication Number Publication Date
KR101038507B1 true KR101038507B1 (ko) 2011-06-01

Family

ID=44404898

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100120748A KR101038507B1 (ko) 2010-11-30 2010-11-30 지식 기반의 객체 명세를 이용한 네트워크 분석장치 및 그 분석 방법

Country Status (1)

Country Link
KR (1) KR101038507B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101396885B1 (ko) * 2012-12-07 2014-05-19 국방과학연구소 구조 모델링을 위한 ses 기반 블록 다이어그램 편집기 및 그 편집 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090111791A (ko) * 2009-09-03 2009-10-27 (주)광개토연구소 소셜 네트워크 분석 결과의 생성을 위한 특허 정보 융합 분석 방법 및 그 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090111791A (ko) * 2009-09-03 2009-10-27 (주)광개토연구소 소셜 네트워크 분석 결과의 생성을 위한 특허 정보 융합 분석 방법 및 그 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101396885B1 (ko) * 2012-12-07 2014-05-19 국방과학연구소 구조 모델링을 위한 ses 기반 블록 다이어그램 편집기 및 그 편집 방법

Similar Documents

Publication Publication Date Title
Ika Project success as a topic in project management journals
US9911143B2 (en) Methods and systems that categorize and summarize instrumentation-generated events
Holm et al. Automatic data collection for enterprise architecture models
Tamvakis et al. Comparative evaluation of resilience quantification methods for infrastructure systems
US9576046B2 (en) Methods for integrating semantic search, query, and analysis across heterogeneous data types and devices thereof
Zhou et al. How is the Semantic Web evolving? A dynamic social network perspective
Glatz et al. Visualizing big network traffic data using frequent pattern mining and hypergraphs
CN104391697B (zh) 应用程序的云资源管理系统和方法
Ekelhart et al. The SLOGERT framework for automated log knowledge graph construction
US20180196861A1 (en) Method for generating graph database of incident resources and apparatus thereof
Bumgardner et al. Scalable hybrid stream and hadoop network analysis system
Wong et al. Design of a crawler for online social networks analysis
AU2014400621A1 (en) System and method for providing contextual analytics data
Graf et al. A risk analysis of file formats for preservation planning
Liu et al. Request dependency graph: A model for web usage mining in large-scale web of things
Al-Hazmi et al. Towards semantic monitoring data collection and representation in federated infrastructures
KR101038507B1 (ko) 지식 기반의 객체 명세를 이용한 네트워크 분석장치 및 그 분석 방법
CN116894018A (zh) 事件数据处理
KR101752259B1 (ko) 고부가 가치화 콘텐츠 관리 장치 및 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
Rajbhandari et al. Trust assessment using provenance in service oriented applications
Ehrenstein Scalability evaluation of explorviz with the universal scalability law
Butler et al. Measurement and prediction of access control policy evaluation performance
Ribeiro et al. A scalable data integration architecture for smart cities: implementation and evaluation
Holzinger Interacting with information challenges in human-computer interaction and information retrieval
Al-Hadhrami et al. Data exportation framework for iot simulation based devices

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20140324

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160426

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170403

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190409

Year of fee payment: 9