KR102403881B1 - 이벤트의 인과관계 가시화 장치 및 그 방법 - Google Patents

이벤트의 인과관계 가시화 장치 및 그 방법 Download PDF

Info

Publication number
KR102403881B1
KR102403881B1 KR1020200114372A KR20200114372A KR102403881B1 KR 102403881 B1 KR102403881 B1 KR 102403881B1 KR 1020200114372 A KR1020200114372 A KR 1020200114372A KR 20200114372 A KR20200114372 A KR 20200114372A KR 102403881 B1 KR102403881 B1 KR 102403881B1
Authority
KR
South Korea
Prior art keywords
event
causal relationship
type
events
parsing
Prior art date
Application number
KR1020200114372A
Other languages
English (en)
Other versions
KR20220032706A (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 KR1020200114372A priority Critical patent/KR102403881B1/ko
Publication of KR20220032706A publication Critical patent/KR20220032706A/ko
Application granted granted Critical
Publication of KR102403881B1 publication Critical patent/KR102403881B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Abstract

본 발명은 이벤트의 인과관계 가시화 장치 및 그 방법에 관한 것으로, 특정 워크스테이션(work station)에서, 해당 워크스테이션에 접속하는 호스트에 의한 이벤트가 발생할 때마다, 해당 이벤트를 유형별로 분류하고, 사전에 설정한 인과관계에 대한 조건에 따라 각 이벤트간의 인과관계를 분석하여, 분석결과를 가시화화여 출력함으로써, 이벤트간의 인과관계를 시각적이고 즉각 확인하여, 상기 워크스테이션 상에서 상기 호스트에 대한 일련의 활동을 모니터링할 수 있도록 지원하는 이벤트의 인과관계 가시화 장치 및 그 방법에 관한 것이다.

Description

이벤트의 인과관계 가시화 장치 및 그 방법{APPARATUS AND METHOD FOR VISUALIZING CAUSALITY OF EVENTS}
본 발명은 이벤트의 인과관계 가시화 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 특정 워크스테이션(work station)에서, 해당 워크스테이션에 접속하는 호스트에 의한 이벤트가 발생할 때마다, 해당 이벤트를 유형별로 분류하고, 사전에 설정한 인과관계에 대한 조건에 따라 각 이벤트간의 인과관계를 분석하여, 분석결과를 가시화화여 출력함으로써, 이벤트간의 인과관계를 시각적이고 즉각 확인하여, 상기 워크스테이션 상에서 상기 호스트에 대한 일련의 활동을 모니터링할 수 있도록 지원하는 이벤트의 인과관계 가시화 장치 및 그 방법에 관한 것이다.
최근 정보통신 기술과 컴퓨팅 기술이 비약적으로 발전하면서, 다양한 워크스테이션에 다수의 호스트가 네트워크를 통해 접속하여, 호스트의 작업을 수행하거나 다양한 서비스를 제공받는 네트워킹 환경이 제공되고 있다.
이러한 워크스테이션에 악의의 사용자에 의한 칩임 등과 같은 원인으로 인해 문제가 발생되면, 실제로 이벤트 로그를 분석하여 상기 문제를 조사하는 것이 유일한 방법이다.
일반적으로 이벤트 로그는, 상기 워크스테이션에 접속한 복수의 호스트의 활동에 의한 특정 이벤트(예: 로그인, 인증, 파일 액세스, 파일 전송, 메시지 전송 등)가 발생되면, 해당 호스트의 정보와 함께 상기 특정 이벤트에 대한 이벤트 정보를 기록하여 파일 형태로 저장되는 정보를 의미한다.
즉, 이벤트 로그는, 상기 워크스테이션에 대한 상기 각 호스트의 일련의 모든 활동내역에 대한 이벤트 정보를 각각 기록하여 파일 형태로 저장되는 데이터를 의미하는 것으로, 상기 워크스테이션에서 문제가 발생하는 경우에, 그 원인을 파악하고 대처할 수 있도록 하는 근거를 제공한다.
현재 이벤트 로그에 대한 분석은, 관리자가 워크스테이션에 저장된 모든 로그를 일일이 수동적으로 확인하면서 수행되는 것이 대부분이다. 이는, 워크스테이션에 접속하는 복수의 호스트의 활동에 의해 생성되는 엄청난 양의 모든 이벤트 로그를 확인해야 할 뿐만 아니라 모든 호스트의 일련의 활동을 일일이 추적해야 하기 때문에 많은 시간이 소요되는 문제점이 있다.
따라서 각 이벤트 로그에 기록된 이벤트간의 인과관계를 분석하고, 분석한 결과를 그래픽으로 가시화하여 제공한다면, 상기 워크스테이션에 대한 호스트들의 일련의 활동을 시각적이고 즉각적으로 확인할 수 있을 것이며, 이를 통해 상기 워크스테이션에서 발생한 문제를 쉽게 파악하고 대처할 수 있을 것이다.
이러한 문제점을 해결하기 위해 최근에는, 수집된 모든 이벤트 로그들을 시간의 순서대로 배열하고, 상기 각 이벤트 로그에 기록된 이벤트 정보들을 테이블 형태로 가시화하여 제공함으로써, 이벤트 로그 분석을 용이하게 하는 로그 가시화 장치가 개발되어 사용되고 있다. 이러한 로그 가시화 장치는, SIEM(Security Information and Event Management)이 대표적이다.
그러나 상기 SIEM을 포함하는 종래의 로그 가시화 장치는, 텍스트 파일 형식의 이벤트 로그에 기록된 이벤트 정보를 테이블 형식으로 출력하여, 해당 이벤트 로그의 생성 원인이 되는 이벤트를 가시적으로 확인하는 것 일뿐, 이벤트간의 인과관계를 그래픽으로 제공하지 않아 호스트의 일련의 활동을 추적하고 모니터링하는데 여전한 어려움이 있다.
따라서 본 발명은, 각 워크스테이션으로부터 수집한 복수의 이벤트 로그에 기록된 이벤트에 대한 이벤트 정보를 파싱하여, 각 이벤트에 대한 적어도 하나 이상의 이벤트 속성을 식별하고, 상기 식별한 이벤트 속성에 따라 상기 각 이벤트를 이벤트 유형별로 분류한 후, 상기 이벤트 유형별로 분류한 각 이벤트간의 유형에 따라 사전에 설정한 인과관계 조건에 통해 상기 각 이벤트간의 인과관계를 분석하여, 상기 분석한 각 이벤트간의 인과관계를 그래픽으로 표현하여 제공함으로써, 상기 이벤트를 시각적으로 즉각 확인할 수 있도록 함과 동시에, 상기 워크스테이션 상에서 각 호스트에 대한 일련의 활동을 효과적이고 간편하게 추적하고 모니터링할 수 있도록 하는 방안을 제안하고자 한다.
다음으로 본 발명의 기술분야에 존재하는 선행기술에 대하여 간단하게 설명하고, 이어서 본 발명이 상기 선행기술에 비해서 차별적으로 이루고자 하는 기술적 사항에 대해서 기술하고자 한다.
먼저 한국등록특허 제0898465호(2009.05.12.)는 웹로그의 시계열 분석을 위한 데이터 저장 및 조회 방법 그리고 상기 방법을 수행하는 시스템에 관한 것으로, 웹로그를 파싱하여 웹로그로부터 데이터를 추출하고, 상기 데이터를 상기 웹로그에 포함된 사용자 로그인 식별자에 따라 분류한 후, 동일한 사용자 로그인 식별자에 대해 상기 데이터를 상기 웹로그 발생시간의 순서로 정렬한 유동 필드 관계 데이터를 생성함으로써, 상기 사용자에 대한 웹로그의 시계열 분석을 수행할 수 있도록 지원하는 웹로그의 시계열 분석을 위한 데이터 저장 및 조회 방법 그리고 상기 방법을 수행하는 시스템에 관한 것이다.
즉, 상기 선행기술은, 단순히 웹로그를 사용자 별로 시간 순서대로 정렬하여 제공함으로써, 웹로그에 대한 시계열 분석을 수행할 수 있도록 하는 것이다.
반면에 본 발명은, 이벤트 로그에 기록된 이벤트에 대한 이벤트 정보를 파싱하여, 상기 이벤트에 대한 속성을 식별함과 동시에 사전에 설정한 이벤트 유형별로 분류하고, 사전에 설정한 조건을 이용하여 상기 이벤트 유형별로 분류한 각 이벤트간의 인과관계를 분석하여, 상기 분석한 이벤트간의 인과관계를 그래픽으로 가시화화여 출력함으로써, 워크스테이션에 접속한 각 호스트에 대한 일련의 활동을 시각적으로 즉각 확인할 수 있도록 하는 것으로, 상기 선행기술은 이러한 본 발명의 기술적 특징을 기재하거나 시사 혹은 아무런 암시도 없음이 분명하다.
또한 한국등록특허 제2038927호(2019.10.25.)는 공격자 가시화 장치 및 공격자 가시화 장치의 동작 방법에 관한 것으로, 보안이벤트를 수집하여 기 설정된 단위시간에 속하는 보안이벤트를 이용하여 대상 IP별로 통계정보를 생성하고, 상기 생성한 IP별 통계정보로부터 특정 단위시간에서 이벤트 발생량 최대값과 IP간 연결횟수 최대값, 상기 이벤트 발생량 최대값에 대한 특정 대상 IP의 이벤트 발생량의 비율, 상기 IP간 연결횟수 최대값에 대한 상기 특정 대상 IP의 IP간 연결횟수의 비율, 상기 특정 IP의 IP 고유값을 결정하여, 3차원 좌표정보로 가시화하는 공격자 가시화 장치 및 공격자 가시화 장치의 동작 방법에 관한 것이다.
즉, 상기 선행기술은, 이벤트 발생량의 비율, IP간 연결횟수 최대값 등을 포함하는 특정 IP에 대한 통계정보를 3차원 좌표로 시간의 순서대로 가시화화여, 제공함으로써, 과거부터 현재까지 단위시간별로 특정 IP의 공격 행위를 분석한 결과를 제공하는 것으로, 본 발명에서 제안하고 있는 이벤트 로그에 기록된 다양한 이벤트에 대한 이벤트 정보를 파싱하는 것도 아니며, 상기 파싱을 통해 상기 각 이벤트에 대한 이벤트 속성을 식별하여 이벤트 유형으로 분류하는 것도 아니고, 이벤트간의 인과관계를 사전에 설정한 조건에 따라 식별하여 상기 각 이벤트간의 인과관계를 가시화하여 출력하는 방법 또한 전혀 기재되어 있지 않아, 상기 선행기술과 본 발명은 현저한 차이점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 이벤트 로그로부터 특정 이벤트에 대한 이벤트 정보를 읽어와 상기 이벤트 정보를 각각 파싱하여, 상기 이벤트에 대한 이벤트 속성을 식별하고, 식별한 이벤트 속성에 따라 이벤트를 유형별로 분류하고, 상기 유형별로 분류한 상기 이벤트간의 인과관계를 분석하여, 상기 이벤트와 상기 분석한 인과관계를 가시화화여 제공함으로써, 상기 이벤트간의 인과관계를 시각적으로 즉각 확인하여 워크스테이션 상에서 적어도 하나 이상의 호스트에 대한 일련의 활동을 모티터링함과 동시에 추적 분석 가능하도록 하는 이벤트의 인과관계 가시화 장치 및 그 방법을 제공하는 것을 목적으로 한다.
또한 본 발명은, 상기 각 이벤트 정보에 대해 정규표현으로 정의하고, 상기 정규표현에서 나타나는 적어도 하나 이상의 이벤트 속성의 위치를 정의한 이벤트 유형 정의정보를 이용하여, 상기 각 이벤트 정보를 파싱함으로써, 간편하게 이벤트 속성을 식별하고, 이벤트 유형으로 분류할 수 있도록 하는 장치 및 그 방법을 제공하는 것을 또 다른 목적으로 한다.
또한 본 발명은, 상기 이벤트간의 인과관계를 정의한 인과관계 정의정보를 이용하여, 상기 분류한 이벤트간의 인관과계를 식별함으로써, 상기 이벤트간의 정후 인관관계를 간편하게 분석할 수 있는 장치 및 그 방법을 제공하는 것을 또 다른 목적으로 한다.
또한 본 발명은, 상기 분류한 이벤트, 상기 분석한 이벤트 정보간의 인과관계를 그래픽으로 가시화화여 제공함으로써, 이벤트간의 인과관계를 시각적으로 즉각 확인할 수 있도록 하는 장치 및 그 방법을 제공하는 것을 또 다른 목적으로 한다.
또한 본 발명은, 상기 가시화환 특정 이벤트를 선택하면 해당 이벤트 정보에 대한 전체 연결 관계와 해당 이벤트 정보에서 식별한 이벤트 속성을 강조하여 표시함으로써, 상기 워크스테이션에서 해당 호스트에 대한 일련의 활동을 간편하게 확인할 수 있도록 하는 장치 및 그 방법을 제공하는 것을 또 다른 목적으로 한다.
본 발명의 일 실시예에 따른 이벤트의 인과관계 가시화 장치는, 이벤트 로그로부터 특정 이벤트에 대한 이벤트 정보를 읽어와 이벤트 속성을 식별하고, 상기 이벤트 속성에 따라 이벤트를 유형별로 분류함으로써, 상기 이벤트를 파싱하는 이벤트 파싱부, 상기 파싱을 통해서 분류한 각 이벤트와 다른 적어도 하나 이상의 이벤트 간의 인과관계를 사전에 설정한 인과관계 정의정보를 이용하여 식별함으로써, 인과관계를 분석하는 인과관계 분석부 및 상기 식별한 이벤트간의 인과관계에 따라 상기 각 이벤트 간의 인과관계를 가시화하여 출력하는 가시화부를 포함하는 것을 특징으로 한다.
또한 상기 이벤트 파싱부는, 상기 이벤트의 유형에 따라 상기 이벤트 정보의 표현 형식을 정규표현으로 정의하고, 상기 정규표현에서 적어도 하나 이상의 이벤트 속성의 위치를 정의한 복수의 이벤트 유형 정의정보 중, 상기 이벤트 정보의 형식과 매칭되는 특정 이벤트 유형 정의정보에 정의된 정규표현과, 상기 이벤트 속성의 위치에 따라 상기 이벤트 정보에 포함된 적어도 하나 이상의 이벤트 속성을 추출함으로써, 상기 이벤트 속성을 식별하며, 상기 이벤트를 유형별로 분류하는 것은, 상기 식별한 이벤트 속성에 따라 상기 매칭되는 특정 이벤트 유형 정의정보에 포함된 이벤트 유형으로 분류함으로써, 수행되는 것을 특징으로 한다.
또한 상기 인과관계 분석부는, 상기 이벤트 유형별로 두개의 이벤트에 대해 각 이벤트간의 적어도 하나 이상의 이벤트간의 적어도 하나 이상의 이벤트 속성에 대한 인과관계 조건을 정의한 복수의 인과관계 정의정보를 참조하여, 상기 이벤트 유형으로 분류한 각 이벤트에 대해 식별한 적어도 하나 이상의 벤트 속성과, 상기 참조한 복수의 인과관계 정의정보에 정의된 다른 하나의 유형으로 분류된 또 다른 적어도 하나 이상의 이벤트에 대해 각각 식별한 적어도 하나 이상의 이벤트 속성간의 인과관계를 확인함으로써, 상기 각 이벤트간의 인과관계를 식별하는 것을 특징으로 한다.
또한 상기 가시화부는, 상기 파싱을 통해서 분류한 각 이벤트를 정점으로 표시하고, 상기 분석한 각 이벤트간의 인과관계를 에지로 연결하여 표시함으로써, 상기 이벤트간의 인과관계를 가시화하는 것을 특징으로 한다.
또한 상기 가시화부는, 상기 이벤트를 발생시킨 적어도 하나 이상의 주체를 2차원 평면상의 어느 한 방향으로 배열하고, 상기 정점을 상기 이벤트를 발생시킨 주체별로 상기 이벤트가 발생된 시간의 순서에 따라 상기 2차원 평면상의 또 다른 한 방향으로 정렬하며, 상기 정점은, 상기 이벤트를 분류한 유형별로 서로 다른 패턴, 도형, 색깔 또는 이들의 조합으로 표시되며, 상기 에지는, 상기 인과관계에 따른 방향을 나타내는 화살표로 표시되는 것을 특징으로 한다.
또한 상기 가시화부는, 상기 정점으로 표시한 특정 이벤트가 선택되는 경우, 해당 이벤트에 대해 식별한 상기 이벤트 속성을 추가적으로 표시하며, 상기 선택한 특정 이벤트를 기준으로 상기 에지로 연결한 모든 이벤트를 강조 표시하는 것을 더 포함하는 것을 특징으로 한다.
아울러 본 발명의 일 실시예에 따른 이벤트의 인과관계 가시화 방법은, 이벤트 로그로부터 특정 이벤트에 대한 이벤트 정보를 읽어와 이벤트 속성을 식별하고, 상기 이벤트 속성에 따라 이벤트를 유형별로 분류함으로써, 상기 이벤트를 파싱하는 이벤트 파싱 단계, 상기 파싱을 통해서 분류한 각 이벤트와 다른 적어도 하나 이상의 이벤트 간의 인과관계를 사전에 설정한 인과관계 정의정보를 이용하여 식별함으로써, 인과관계를 분석하는 인과관계 분석 단계 및 상기 식별한 이벤트간의 인과관계에 따라 상기 각 이벤트 간의 인과관계를 가시화하여 출력하는 가시화 단계를 포함하는 것을 특징으로 한다.
또한 상기 이벤트 파싱 단계는, 상기 이벤트의 유형에 따라 상기 이벤트 정보의 표현 형식을 정규표현으로 정의하고, 상기 정규표현에서 적어도 하나 이상의 이벤트 속성의 위치를 정의한 복수의 이벤트 유형 정의정보 중, 상기 이벤트 정보의 표현 형식과 매칭되는 특정 이벤트 유형 정의정보에 정의된 정규표현과, 상기 이벤트 속성의 위치에 따라 상기 이벤트 정보에 포함된 적어도 하나 이상의 이벤트 속성을 추출함으로써, 상기 이벤트 속성을 식별하며, 상기 이벤트를 유형별로 분류하는 것은, 상기 식별한 이벤트 속성에 따라 상기 매칭되는 특정 이벤트 유형 정의정보에 포함된 이벤트 유형으로 분류함으로써, 수행되는 것을 특징으로 한다.
또한 상기 인과관계 분석 단계는, 상기 이벤트 유형별로 두개의 이벤트에 대해 각 이벤트간의 적어도 하나 이상의 이벤트간의 적어도 하나 이상의 이벤트 속성에 대한 인과관계 조건을 정의한 복수의 인과관계 정의정보를 참조하여, 상기 이벤트 유형으로 분류한 각 이벤트에 대해 식별한 적어도 하나 이상의 벤트 속성과, 상기 참조한 복수의 인과관계 정의정보에 정의된 다른 하나의 유형으로 분류된 또 다른 적어도 하나 이상의 이벤트에 대해 각각 식별한 적어도 하나 이상의 이벤트 속성간의 인과관계를 확인함으로써, 상기 각 이벤트간의 인과관계를 식별하는 것을 특징으로 한다.
또한 상기 가시화 단계는, 상기 파싱을 통해서 분류한 각 이벤트를 정점으로 표시하고, 상기 분석한 각 이벤트간의 인과관계를 에지로 연결하여 표시함으로써, 상기 이벤트간의 인과관계를 가시화하며, 상기 이벤트를 발생시킨 적어도 하나 이상의 주체를 2차원 평면상의 어느 한 방향으로 배열하고, 상기 정점을 상기 이벤트를 발생시킨 주체별로 상기 이벤트가 발생된 시간의 순서에 따라 상기 2차원 평면상의 또 다른 한 방향으로 정렬하며, 상기 정점은, 상기 이벤트를 분류한 유형별로 서로 다른 패턴, 도형, 색깔 또는 이들의 조합으로 표시되며, 상기 에지는, 상기 인과관계에 따른 방향을 나타내는 화살표로 표시되며, 상기 정점으로 표시한 특정 이벤트가 선택되는 경우, 해당 이벤트에 대해 식별한 상기 이벤트 속성을 추가적으로 표시하며, 상기 선택한 특정 이벤트를 기준으로 상기 에지로 연결한 모든 이벤트를 강조 표시하는 것을 더 포함하는 것을 특징으로 한다.
이상에서와 같이 본 발명의 이벤트의 인과관계 가시화 장치 및 그 방법은, 이벤트 로그에 기록된 이벤트에 대한 이벤트 정보를 파싱하고, 상기 이벤트 정보를 각각 파싱한 상기 이벤트간의 인과관계를 식별하여, 상기 이벤트와 상기 분석한 인과관계를 그래픽으로 가시화화여 제공함으로써, 특정 워크스테이션에 접속한 적어도 하나 이상의 호스트에 대한 일련의 활동을 시각적으로 즉각 확인하여 분석할 수 있도록 하는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 이벤트의 인과관계 가시화 장치 및 그 방법을 설명하기 위해 나타낸 개념도이다.
도 2는 본 발명의 일 실시예에 따른 이벤트간의 인과관계를 가시화하기 위한 이벤트의 인과관계 가시화 장치의 동작과정을 설명하기 위해 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 이벤트 유형 정의정보의 이벤트 유형에 따른 정규표현에 대한 포맷을 나타낸 도면이다.
도 4는 이벤트 정보를 파싱하는 과정을 설명하기 위해 나타낸 도면이다.
도 5는 이벤트 정보를 파싱한 결과인 파싱테이블을 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 인과관계 정의정보를 설명하기 위해 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 릴레이션 테이블을 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른 이벤트간의 인과관계를 가시화한 결과를 설명하기 위해 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 이벤트의 인과관계 가시화 장치에 대한 구성을 나타낸 블록도이다.
도 10은 본 발명의 일 실시예에 따른 이벤트간의 인과관계를 가시화하는 절차를 나타낸 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 이벤트의 인과관계 가시화 장치의 하드웨어 구조를 나타낸 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 이벤트의 인과관계 가시화 장치 및 그 방법에 대한 바람직한 실시예를 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. 또한 본 발명의 실시예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명에 따른 실시예를 설명하기 위한 목적으로 예시된 것으로, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는 것이 바람직하다. 본 발명에서는 데이터는 디지털 정보로 해석할 수 있다.
도 1은 본 발명의 일 실시예에 따른 이벤트의 인과관계 가시화 장치 및 그 방법을 설명하기 위해 나타낸 개념도이다.
도 1에 도시한 바와 같이, 본 발명의 일 실시예에 따른 이벤트의 인과관계 가시화 장치(100)는, 상기 이벤트의 인과관계 가시화 장치(100)와 유무선 네트워크로 연결된 적어도 하나 이상의 워크스테이션(200)에서 이벤트 로그가 생성될 때 마다 이벤트 로그를 수집하여, 상기 이벤트 로그에 기록된 이벤트 정보를 파싱한 후, 상기 각 워크스테이션(200)에서 발생한 상기 이벤트간의 인과관계를 분석하여, 상기 분석한 결과를 그래픽으로 표시함으로써, 상기 각 워크스테이션(200)에서 발생된 상기 이벤트간의 인과관계를 가시화하여 출력하는 기능을 수행한다.
여기서 상기 워크스테이션(200)은, 호스트(300)의 특정 업무를 수행하거나, 특정 서비스를 제공하기 위해 하드웨어 또는 소프트웨어적으로 독립된 별도의 시스템, 서버, 플랫폼 등을 의미하며, 상기 호스트(300)는, 상기 워크스테이션(200)을 관리하거나 이용하는 사용자의 스마트폰, 데스크톱 PC, 노트북 PC 등과 같은 사용자 단말을 의미한다.
또한 상기 이벤트는, 상기 호스트(300)가 상기 워크스테이션(200)에 접속하여, 로그인, 인증, 데이터 액세스, 다른 호스트(300)와의 메시지나 데이터 송수신, 응용프로그램의 설치 및 삭제 등과 같이 상기 워크스테이션(200)상에서 상기 호스트(300)의 일련의 활동을 의미하는 것으로, 상기 워크스테이션(200)은, 상기 이벤트가 발생될 때 마다, 해당 이벤트에 대한 이벤트 로그를 생성하여, 상기 이벤트의 인과관계 가시화 장치(100)로 실시간 혹은 주기적으로 전송한다.
상기 이벤트 로그에는, 상기 발생한 이벤트에 대한 이벤트 정보가 스트링(string) 형식으로 기록되며, 상기 워크스테이션(200)은, 상기 생성한 이벤트 로그 또는 상기 이벤트 로그와 함께 상기 이벤트 정보를 이벤트의 인과관계 가시화 장치(100)로 전송한다.
상기 이벤트 정보는, 해당 이벤트가 발생한 시간(timestamp), 해당 이벤트를 발생시킨 주체의 이름(호스트 이름), 사용자 id(uid, user identification), 메시지나 데이터의 송신측 IP주소, 수신측 IP 주소 또는 이들의 조합을 포함하여 이벤트의 유형에 따라 다양한 정보를 포함한다. 이때, 상기 이벤트 정보에 포함되는 각각의 정보가 해당 이벤트의 이벤트 속성이 된다.
또한 도 1에는, 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 워크스테이션(200)과 별도의 장치로 구현되는 것으로 도시되어 있으나, 상기 각 워크스테이션(200)에 통합되어 구현될 수 있음은 당연하다.
또한 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 이벤트간의 인과관계를 분석하여 이벤트 로그간의 인과관계를 가시화하기 위해, 상기 각 워크스테이션(200)으로부터 수집한 이벤트 로그에 기록된 이벤트 정보를 파싱하여, 상기 각 이벤트 정보에 대응하는 각각의 이벤트에 대한 적어도 하나 이상의 이벤트 속성(attribute)을 식별하고, 상기 식별한 이벤트 속성에 따라 상기 각 이벤트를 사전에 설정한 유형별로 각각 분류하고, 해당 이벤트에 대한 적어도 하나 이상의 속성(attribute)을 각각 식별한다.
상기 파싱은, 상기 복수의 이벤트에 대한 상기 이벤트 정보의 표현 형식을 정규표현으로 정의하고, 상기 정규표현에서 적어도 하나 이상의 이벤트 속성의 위치를 정의한 이벤트 유형 정의정보를 이용하여 수행되며, 상기 파싱은 도 2 내지 도 5를 참조하여 상세히 설명하도록 한다.
또한 이벤트의 인과관계 가시화 장치(100)는, 상기 각 이벤트에 대한 이벤트 정보로, 상기 각 이벤트에 대한 유형이 분류되고, 적어도 하나 이상의 이벤트 속성이 각각 식별되면, 각 이벤트간의 인과관계를 분석한다.
상기 각 이벤트간의 인과관계를 분석하는 것은, 두개의 이벤트 유형에 해당하는 이벤트와 해당 각 이벤트에 대한 적어도 하나 이상의 이벤트 속성간의 인과관계를 정의한 인과관계 정의정보를 이용하여, 수행되는 것으로, 도 6 및 도 7을 참조하여 상세히 설명하도록 한다.
또한 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 각 이벤트간의 인과관계를 분석한 결과에 따라 상기 각 이벤트간의 인과관계를 그래픽으로 표시함으로써, 상기 이벤트의 발생으로 인해 생성한 각 이벤트 로그간의 인과관계를 가시화하여 출력한다. 한편, 상기 가시화한 결과는 도 8을 참조하여 상세히 설명하도록 한다.
이하에서는, 도 2 내지 도 5를 참조하여, 본 발명의 일 실시예에 따른 이벤트간의 인과관계를 가시화하는 과정을 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 이벤트간의 인과관계를 가시화하기 위한 이벤트의 인과관계 가시화 장치의 동작과정을 설명하기 위해 나타낸 도면이다.
도 2에 도시한 바와 같이, 본 발명의 일 실시예에 따른 이벤트의 인과관계 가시화 장치(100)는, 적어도 하나 이상의 워크스테이션(200)으로부터 이벤트가 발생될 때마다, 해당 이벤트에 대한 이벤트 정보를 기록한 이벤트 로그를 수신한다.
또한 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 수신한 이벤트 로그로부터 특정 이벤트에 대한 이벤트 정보를 읽어와 상기 특정 이벤트에 대한 이벤트 정보를 파싱함으로써, 해당 이벤트에 대한 적어도 하나 이상의 이벤트 속성을 식별하고, 상기 식별한 이벤트 속성에 따라 사전에 설정한 이벤트 유형별로 분류한다(①).
상기 파싱은, 각 이벤트 유형별로 정규표현을 정의한 기본적인 포맷(도 3 참조)에 따라 이벤트 유형별로 각각 생성한 이벤트 유형 정의정보(도 4 참조)를 이용하여 수행된다. 상기 이벤트 유형별로 정규표현을 정의한 기본적인 포맷은 도 3을 참조하여 설명하도록 하며, 상기 이벤트 유형별로 각각 생성한 이벤트 유형 정의정보는 도 4를 참조하여 상세히 설명하도록 한다.
또한 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 파싱한 결과에 따라 상기 각 이벤트별 파싱테이블(도 5 참조)을 생성한다(②). 상기 파싱테이블은, 상기 분류한 해당 이벤트에 대한 이벤트 유형, 상기 분류한 해당 이벤트에 대해 상기 식별한 적어도 하나 이상의 이벤트 속성을 포함하여 구성된다.
또한 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 생성한 각 이벤트별 파싱테이블을 참조하여, 상기 파싱을 통해서 분류한 각 이벤트와 적어도 하나 이상의 다른 이벤트간의 인과관계를, 사전에 설정한 인과관계 정의정보(도 6 참조)를 이용하여 식별함으로써, 상기 각 이벤트간의 인과관계를 분석한다(③).
상기 인과관계 정의정보는, 두개의 이벤트에 대한 이벤트 유형별로 각 이벤트에서 식별한 이벤트 속성간의 인과관계 조건을 설정한 정보로써, 도 6을 참조하여 상세히 설명하도록 한다.
또한 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 각 이벤트간의 인과관계를 분석한 결과에 따라 상기 각 이벤트간의 인과관계에 대한 릴레이션 테이블을 생성한다(④).
상기 릴레이션 테이블은, 상기 두개의 이벤트간의 인과관계에 따라 특정 이벤트의 원인(source)이 되는 이벤트와, 상기 원인이 되는 이벤트로 인해 수행되는 결과(destination) 이벤트를 포함하여 구성되는 것으로, 상기 릴레이션 테이블의 구조는 도 7을 참조하여 설명하도록 한다.
이후, 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 생성한 릴레이션 테이블을 참조하여, 상기 식별한 이벤트간의 인과관계에 따라 상기 각 이벤트간의 인과관계를 그래픽으로 표시하여 가시화한 후 출력한다(⑤).
상기 가시화는, 상기 각 이벤트를 정점(vertex)로 표시되며, 상기 각 이벤트간의 인과관계는, 상기 인과관계에 따라 방향성을 가지는 에지(edge)로 상호 연결된다.
이때, 상기 이벤트의 인과관계 가시화 장치(100)는, 해당 이벤트의 인과관계 가시화 장치(100) 또는 상기 워크스테이션(200)의 관리자가 상기 가시화한 특정 이벤트에 대한 정점을 선택(예: 마우스 클릭)하면, 해당 이벤트를 기준으로 연결된 모든 이벤트에 대한 정점과, 각 이벤트간의 인과관계를 강조하여 표시하여, 상기 가시화한 결과에 대한 시인성을 향상시키고, 특정 이벤트를 발생시킨 호스트의 활동을 시계열적으로 확인할 수 있도록 한다.
도 3은 본 발명의 일 실시예에 따른 본 발명의 일 실시예에 이벤트 유형 정의정보의 이벤트 유형에 따른 정규표현에 대한 기본적인 포맷을 나타낸 도면이다.
도 3에 도시한 바와 같이, 이벤트 유형 정의정보의 정규표현에 대한 기본적인 포맷은, 이벤트 유형에 따른 이벤트 정보에 대한 정규표현을 정의한 부분과, 상기 정규표현에서 나타나는 적어도 하나 이상의 이벤트 속성의 위치를 정의한 부분을 포함하여 구성된다.
또한 상기 이벤트 유형 정의정보는, XML(extensible markup language) 포맷을 따르며, 기본적인 포맷은, 각 이벤트 유형별로 설정되며, 상기 각 이벤트 유형별로 설정된 상기 기본적인 포맷에 따라 상기 각 이벤트 유형별로 생성된다.
상기 이벤트 유형에 따른 이벤트 정보에 대한 정규표현을 정의한 부분은, 이벤트 유형을 정의한 유형 이름(type name)과 해당 이벤트 유형에 따라 상기 이벤트 정보를 구문분석(즉, 파싱)하기 위한 정규표현을 포함하여 구성된다.
상기 정규표현은, 상기 이벤트 정보를 파싱하기 위한 복수의 괄호(brackets)를 포함하여 구성된다. 또한 상기 정규표현에서 나타나는 이벤트 속성의 위치를 정의한 부분은, 적어도 하나 이상의 이벤트 속성을 나타내는 각각의 이벤트 속성 이름(attr name)과, 상기 각 이벤트 속성이 상기 정규표현에서 위치하는 괄호에 대한 번호(number)를 포함하여 구성된다.
상기 이벤트 유형 이름은, 상기 이벤트 정보를 파싱할 때, 해당 이벤트에 대한 유형이 되며, 상기 괄호에 대한 번호는, 상기 이벤트 정보를 파싱할 때, 상기 정규표현에 포함된 괄호의 순서에 따라 상기 이벤트에 대한 이벤트 속성을 추출함으로써, 해당 이벤트에 대한 적어도 하나 이상의 이벤트 속성을 식별하는데 사용된다. 상기 파싱하는 과정은, 도 4를 참조하여 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 이벤트 정보를 파싱하는 과정을 설명하기 위해 나타낸 도면이다.
도 4에 도시한 바와 같이, 본 발명의 일 실시예에 따른 이벤트의 인과관계 가시화 장치(100)는, 적어도 하나 이상의 워크스테이션(200)을 통해 수집한 이벤트 로그로부터 특정 이벤트를 기록한 이벤트 정보를 읽어와, 사전에 정의한 복수의 이벤트 유형 정의정보를 이용하여, 상기 이벤트를 이벤트 유형별로 분류하고, 상기 이벤트 유형별로 분류한 상기 이벤트에 대한 이벤트 속성을 식별함으로써, 상기 이벤트(즉, 이벤트 정보)를 파싱한다.
이때, 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 이벤트의 유형에 따라 상기 이벤트 로그에 기록된 이벤트 정보의 표현 형식과, 상기 이벤트 유형에 따라 정의한 이벤트 정보에 대한 정규표현을 정의한 복수의 이벤트 유형 정의정보 중, 상기 이벤트 정보의 표현 형식과 매칭되는 특정 이벤트 유형 정의정보에 정의된 정규표현과, 상기 이벤트 속성의 위치에 따라 상기 이벤트 정보에 포함된 적어도 하나 이상의 이벤트 속성을 추출함으로써, 상기 이벤트 속성을 식별한다.
또한 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 식별한 적어도 하나 이상의 이벤트 속성에 따라 상기 매칭되는 특정 이벤트 유형 정의정보에 포함된 이벤트 유형(즉, 이벤트 유형 이름)으로 상기 이벤트를 분류함으로써, 상기 이벤트를 사전에 설정한 이벤트 유형별로 분류한다.
예를 들어, 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 이벤트 로그로부터 읽어온 이벤트 정보가 도 4에 도시한 것과 같고, 해당 이벤트 정보의 형식이 타입 이름(type name)이 인증("auth")으로 설정한 이벤트 유형 정의정보에 포함된 정규표현과 매칭되면, 해당 이벤트의 이벤트 유형은 인증(즉, "auth")로 분류된다.
또한 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 예에서, 인증으로 설정한 이벤트 유형 정의정보에 포함된 정규표현과 해당 이벤트 유형 정의정보에 정의횐 이벤트 속성의 위치에 상기 이벤트 정보를 추출함으로써, 상기 인증으로 분류한 상기 이벤트에 대한 적어도 하나 이상의 이벤트 속성을 식별한다.
여기서, 상기 예의 타임 이름이 인증으로 설정한 이벤트 유형 정의정보에 포함된 정규표현의 w+는, 적어도 하나 이상의 문자로 구성되는 워드(word)를 의미하며, d+ 또는 d{2}는, 적어도 하나 이상의 숫자 또는 2개의 숫자로 구성된 수(digit)를 의미한다.
또한 상기 도 4에는, 복수의 이벤트 유형 중에 인증에 대한 정규표현과, 이벤트 속성을 정의한 이벤트 유형 정의정보를 도시하고 있으나, 상기 이벤트 유형 정의 정보는, 상기 각 이벤트 유형별로 각 이벤트 유형에 따라 정의한 이벤트 정보에 대한 정규표현 및 적어도 하나 이상의 이벤트 속성이 상이하게 설정되어 포함됨은 상술한 바와 같다.
또한 상기 예에서, 상기 이벤트의 적어도 하나 이상의 이벤트 속성은, "original_timestamp", "hose name", "exec" 및 "uid"로 식별되며, 첫번째 이벤트 속성 "original_timestamp"는, 상기 예에서, 인증에 대한 정규표현에서 첫번째 괄호로 묶인 (\w+ \d+ \d{2}: \d{2}: d{2})가 된다. 따라서 상기 이벤트의 첫번째 속성인 "original_timestamp"는 "Jul 22 09:10:12"가 된다.
또한 상기 예에서, 두번째 이벤트 속성 "host name"은, 인증에 대한 상기 정규표현에서 두번째 괄호로 묶인 (\w+)가 된다. 따라서 상기 이벤트의 두번째 속성인 "host"는, "jlee-desktop"가 된다. 이러한 방식으로 상기 이벤트에 대한 속성을 추출함으로써, 식별된다. 즉, 세번째 속성 "exec"는 "pkexec"가 되고, 네번째 속성 "uid"는 "1000"이 된다. 이때, 상기 속성 "host"는, 호스트 이름이 아님 IP주소로 기재된 경우에는 IP주소가 상기 속성 "host"로 식별될 수 있다.
이때, 상기 이벤트를 파싱한 결과에 대한 출력은, 상기 이벤트 속성에 대한 이벤트 속성 이름과 이에 대한 값의 쌍과, 상기 분류한 이벤트 유형 및 해당 이벤트에 대한 이벤트 ID를 포함한다.
여기서, 상기 이벤트 ID는, 동일한 이벤트 유형에 속하는 각 이벤트에 지정된 고유한 증가 번호이다. 예를 들어, 특정 이벤트가 상기 인증(즉, "auth")로 최초 분류되면 상기 이벤트 ID는 0으로 설정되고, 이후 또 다른 적어도 하나 이상의 이벤트가 순차적으로 상기 인증으로 분류되면 해당 이벤트에 대한 ID 는 1씩 증가되어 상기 각 이벤트의 이벤트 ID로 설정된다.
한편, 상기 이벤트가 서로 다른 호스트(300)간의 인터랙션(예: 메시지 송수신 또는 데이터 송수신)에 관한 것이라면, 해당 이벤트에서 식별되는 이벤트 속성은, 송신측 IP주소와 수신측 IP주소를 더 포함할 수 있음은 자명하다.
또한 상기 각 이벤트를 파싱한 결과는, 상기 각 이벤트에 대한 파싱테이블로 생성된다.
도 5는 본 발명의 일 실시예에 따른 파싱테이블을 나타낸 도면이다.
도 5에 도시한 바와 같이, 본 발명의 일 실시예에 따른 파싱테이블은, 이벤트 유형(EVENT_TYPE), 이벤트 ID(EVENT_ID) 및 이벤트 속성을 나타내는 필드(Field) 부분과 상기 각 필드에 대한 값을 나타내는 타입(Type) 부분과, 상기 파싱테이블을 데이터베이스(400)에 저장하고, 상기 가시화를 수행하여, 특정 이벤트에 대한 선택이 있는 경우, 이에 대한 이벤트 유형, 이벤트 ID 및 이벤트 속성에 대한 값을 빠르게 검색하여 표시하기 위한 상기 필드의 이벤트 유형, 이벤트 ID 및 이벤트 속성에 대한 값에 대한 Index 값(예: 메모리 주소에 대한 포인터)을 포함하여 구성된다.
이때, 상기 이벤트 유형과, 이벤트 ID는, 상기 이벤트 유형별로 그룹핑되어 각각의 그룹으로 저장될 수 있으며, 이때, 해당 이벤트 유형과 이벤트 ID에 대한 Index 값은 상기 메모리 주소에 대한 포인트 이외에 해당 그룹을 대표하는 프라이머리 키(primary_key)를 더 포함한다.
도 6은 본 발명의 일 실시예에 따른 인과관계 정의정보를 설명하기 위해 나타낸 도면이다.
도 6에 도시한 바와 같이, 본 발명의 일 실시예에 따른 인과관계 정의정보는, 인과관계의 유형에 대한 이름(relation name)과, 인과관계에 있는 두개의 이벤트에 대한 이벤트 유형(from="source" 및 to "destination")과, 상기 두개의 이벤트에 대한 이벤트 속성간의 인과관계를 정의한 인과관계 조건(condition)을 포함하는 인과관계 정의정보의 기본 포맷을 기반으로 각 인과관계 유형별로 사전에 생성된다.
이때, 상기 인과관계 정의정보에 포함된 두개의 이벤트 유형에 대해 각각 식별한 적어도 하나 이상의 이벤트 속성간의 인과관계가 상기 정의한 조건을 모두 만족하면, 상기 인과관계의 유형에 대한 이름으로 상기 두개의 이벤트에 대한 인과관계가 식별된다.
예를 들어, 도 6의 도시한 것과 같이, 상기 인과관계 정의정보가 두개의 이벤트에 대한 이벤트 유형인 로그인("login")과 인증("auth")에 관한 것이고, 이에 대한 이벤트 유형에 대한 이름이 트리거("trigger")이면, 해당 트리거로 인과관계 이름이 설정된 인과관계 정의정보에 포함된 상기 조건을 모두 만족하면, 상기 두개의 이벤트간의 인과관계는 상기 트리거로 설정되는 것이다.
이때, 상기 조건은, 상기 이벤트 유형으로 분류한 각 이벤트가 발생한 시간간격, 상기 이벤트 유형으로 분류한 각 이벤트에서 식별한 적어도 하나 이상의 이벤트 속성간의 인과관계 조건을 포함한다.
상기 예에서, 상기 로그인과 인증에 대한 이벤트간의 인과관계에 대한 조건은, 동일한 호스트(300)에서 수행되는 것이 자명하므로, 상기 로그인과 인증에 대한 이벤트에서 식별한 이벤트 속성인 호스트(host)와 uid가 모두 동일하고, 상기 로그인과 인증에 대한 이벤트간의 시간간격을 60초 이내로 설정하여, 상기 인과관계에 대한 조건을 설정할 수 있다.
상기 인과관계 조건은, 변수와 관계 연산자로 구성되며, 상기 변수는, 상기 파싱한 결과에 따른 상기 "이벤트의 유형 이름.속성 이름", 즉 "type name"."attribute name"으로 표현되며, 상기 관계 연사자는, ==, !=, <, >, <=. >=, &&, || 또는 이들의 조합을 포함한다.
즉, 상기 인과관계 정의정보는, 두개의 이벤트에 대한 이벤트 유형별로 다양한 인과관계 유형을 정의하며, 상기 각 인과관계 유형에 따른 상기 두개의 이벤트에서 식별한 적어도 하나 이상의 이벤트 속성에 대한 인과관계 조건을 포함하는 것이다.
또한 상기 이벤트의 인과관계 가시화 장치(100)는, 특정 이벤트에 대한 이벤트 정보에 따라 상기 특정 이벤트를 파싱하여, 해당 이벤트에 대한 적어도 하나 이상의 이벤트 속성을 식별하고, 이벤트 유형별로 분류한 경우, 해당 이벤트의 이벤트 유형을 포함하는 인과관계 정의정보를 참조하여, 상기 식별한 적어도 하나 이상의 이벤트 속성과, 해당 인과관계 정의정보에 포함된 해당 이벤트 이외에 다른 하나의 유형(동일한 유형도 포함)으로 분류한 또 다른 이벤트에 대해 식별한 또 다른 적어도 하나 이상의 이벤트 속성간의 인과관계 조건을 확인하여, 상기 각 이벤트간의 인과관계를 식별함으로써, 상기 각 이벤트간의 인과관계를 식별하게 된다. 이때, 상기 각 이벤트간의 인과관계는, 상기 인과관계 조건이 모두 만족하는 경우에 식별된다.
이후, 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 분석한 결과에 따른 릴레이션 테이블을 생성하며, 상기 생성한 릴레이션 테이블을 참조하여, 상기 분석한 결과에 따라 각 이벤트간의 인과관계를 가시화한다.
도 7은 본 발명의 일 실시예에 따른 릴레이션 테이블을 나타낸 도면이다.
도 7에 도시한 바와 같이, 본 발명의 일 실시예에 따른 릴레이션 테이블은, 상기 각 이벤트에 대한 인과관계를 분석한 결과에 따라 상기 인과관계 유형(RELATION_NAME), 상기 인과관계에 있는 이벤트의 이벤트 유형(EVENT_TYPE_SRC, EVENT_TYPE_DEST) 및 상기 인과관계에 있는 이벤트의 이벤트 ID(EVENT_ID_SRC, EVENT_TYPE_DEST)를 나타내는 필드(Field)부분과, 상기 필드의 인과관계 유형, 인과관계에 있는 이벤트의 이벤트 유형 및 상기 인과과계에 있는 이벤트의 이벤트 ID에 대한 값을 각각 나타내는 타입(Type)부분과, 상기 릴레이션 테이블을 데이터베이스(400)에 저장하고, 상기 분석한 결과에 따라 가시화를 수행할 때, 상기 분석한 결과를 빠르게 검색하기 위한 상기 인과관계 유형, 상기 인과관계에 있는 이벤트의 이벤트 유형, 이벤트의 이벤트 ID를 빠르게 검색하기 위한 각각의 Index를 나타내는 Index를 포함하여 구성된다.
도 8은 본 발명의 일 실시예에 따른 이벤트간의 인과관계를 가시화한 결과를 설명하기 위해 나타낸 도면이다.
도 8에 도시한 바와 같이, 본 발명의 일 실시예에 따른 상기 이벤트간의 인과관계 가시화 장치(100)는, 상기 워크스테이션(200)별로 발생된 이벤트와 각 이벤트간의 인과관계를 메시(mesh) 형태의 2차원 평면으로 가시화할 수 있다.
다만, 상기 각 워크스테이션(200)별로 발생된 이벤트의 규모(수)에 따라, 상기 가시화는 2차원 평면 이외에 3차원 공간으로 확장되어 수행될 수 있다.
이때, 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 파싱테이블을 참조하여, 상기 각 이벤트를 파싱한 결과에 따라 상기 각 워크스테이션(200)에 접속하여 상기 이벤트를 발생시킨 적어도 하나 이상의 호스트(300)를 상기 2차원 평면상의 어느 한 방향(예: y축)으로 각각 배열한다.
또한 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 파싱테이블을 참조하여, 상기 각 이벤트를 파싱한 결과에 따라 상기 이벤트 유형별로 분류한 각 이벤트를 상기 이벤트를 발생시킨 호스트(300), 즉, 이벤트를 발생시킨 주체별로 상기 이벤트가 발생된 시간의 순서(즉, 상기 파싱한 결과에 따라 식별된 이벤트 속성인 "original_timestamp"의 값)에 따라 상기 2차원 평면상의 또 다른 방향(예: x축)으로 정렬한다.
이때, 상기 각 이벤트는 정점(vertex)로 표시된다. 또한 상기 각 정점은, 상기 이벤트를 분류한 이벤트 유형별로 서로 다른 패턴, 도형, 색깔 또는 이들의 조합으로 표시된다.
또한 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 릴레이션 테이블을 참조하여, 상기 각 이벤트의 인과관계를 식별하여 분석한 결과에 따라, 상기 정점으로 표시한 각 이벤트간의 인과관계를 에지(edge)로 연결하여 표시한다. 이때, 상기 에지는 상기 각 이벤트간의 인과관계에 따른 방향을 나타내는 화살표와 같은 도형으로 표시될 수 있다.
또한 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 관리자가 상기 가시화한 특정 이벤트에 대한 정점을 선택하는 경우, 해당 이벤트를 기준으로 상기 에지로 연결된 모든 에지와 이벤트를 강조하여 표시하며, 해당 이벤트에 대해 식별한 적어도 하나 이상의 이벤트 속성을 추가적으로 표시하여, 해당 이벤트에 대한 속성을 시각적으로 인식할 수 있도록 한다.
도 9는 본 발명의 일 실시예에 따른 이벤트의 인과관계 가시화 장치에 대한 구성을 나타낸 블록도이다.
도 9에 도시한 바와 같이, 본 발명의 일 실시예에 따른 이벤트의 인과관계 가시화 장치(100)는, 적어도 하나 이상의 워크스테이션(200)에서 생성한 이벤트 로그를 워크스테이션(200)별로 수집하는 이벤트 로그 수집부(110), 상기 수집한 이벤트 로그에 기록된 이벤트 정보를 잃어와 파싱함으로써, 상기 이벤트를 파싱하는 이벤트 파싱부(120), 상기 파싱한 결과를 토대로 각 이벤트간의 인과관계를 식별함으로써, 분석하는 인과관계 분석부(130), 상기 각 이벤트간의 인과관계를 분석한 결과에 대한 릴레이션 테이블을 생성하는 릴레이션 테이블 생성부(140) 및 상기 파싱한 결과와 상기 분석한 결과를 토대로 이벤트간의 인과관계를 가시화하는 가시화부(150)를 포함하여 구성된다.
또한 상기 이벤트 로그 수집부(110)는, 적어도 하나 이상의 워크스테이션(200)에서 생성한 이벤트 로그를 실시간 혹은 주기적으로 수집하여, 워크스테이션(200)별로 이벤트 로그 데이터베이스(410)에 저장하는 기능을 수행한다.
또한 상기 이벤트 파싱부(120)는, 상기 수집한 이벤트 로그로부터, 해당 이벤트 로그에 기록된 특정 이벤트에 대한 이벤트 정보를 읽어와 상기 이벤트에 대한 적어도 하나 이상의 이벤트 속성을 식별하고, 상기 이벤트 속성을 식별한 각 이벤트를 사전에 설정한 이벤트 유형별로 분류함으로써, 상기 이벤트를 각각 파싱하는 기능을 수행하는 것으로, 상기 이벤트 정보를 읽어와 해당 이벤트에 대한 적어도 하나 이상의 이벤트 속성을 식별하는 이벤트 속성 식별부 (121), 상기 식별한 적어도 하나 이상의 이벤트 속성에 따라 상기 이벤트를 이벤트 유형별로 분류하는 이벤트 유형 분류부(122) 및 상기 분류한 이벤트 유형과 상기 식별한 적어도 하나 이상의 이벤트 속성을 포함하여 상기 파싱한 결과를 포함하는 파싱테이블을 생성하는 파싱테이블 생성부(123)를 포함하여 구성된다.
또한 상기 이벤트 속성 식별부(121)는, 상기 이벤트 정보에 대한 표현 형식과 매칭되는 정규표현을 정의한 특정 이벤트 유형 정의정보에서 정의한 상기 적어도 하나 이상의 이벤트 속성의 위치에 따라 상기 이벤트 정보에서 적어도 하나 이상의 이벤트 속성을 추출함으로써, 상기 이벤트에 대한 적어도 하나 이상의 이벤트 속성을 식별함은 상술한 바와 같다.
또한 상기 이벤트 유형 분류부(122)는, 상기 식별한 이벤트 속성에 따라 상기 매칭되는 특정 이벤트 유형정보에 포함된 이벤트 유형으로 분류함으로써, 상기 각 이벤트를 이벤트 유형별로 분류한다.
또한 파싱테이블 생성부(123)는, 상기 파싱한 결과인, 상기 분류한 이벤트의 이벤트 유형, 상기 식별한 적어도 하나 이상의 이벤트 속성을 포함하는 파상결과에 대한 파상테이블을 생성한다. 상기 파싱테이블은 도 5를 참조하여 설명하였으므로, 더 이상의 상세한 설명은 생략한다.
또한 상기 인과관계 분석부(130)는, 상기 생성한 각 이벤트별 파싱테이블을 참조하여, 상기 파싱을 통해서 이벤트 유형으로 분류한 각 이벤트와, 또 다른 적어도 하나 이상의 이벤트간의 인과관계를 식별함으로써, 각 이벤트간의 인과관계를 분석하는 기능을 수행한다.
상기 인과관계 분석부(130)는, 동일 또는 상이한 이벤트 유형을 가지는 두개의 이벤트간의 적어도 하나 이상의 이벤트 속성에 대한 인과관계 조건을 정의한 복수의 인과관계 정의정보를 이용하여, 상기 이벤트 유형으로 분류한 각 이벤트와 또 다른 적어도 하나 이상의 이벤트간의 인과관계를 식별한다.
이때, 상기 인과관계 분석부(130)는, 상기 분류한 각 이벤트에 대한 이벤트 유형과, 해당 이벤트 유형과 동일 또 다른 이벤트 유형간의 적어도 하나 이상의 이벤트 속성에 대한 인과관계 조건을 정의한 모든 인과관계 정의정보를 참조하여, 상기 참조한 인과관계 조건에 상기 각 이벤트에서 식별한 적어도 하나 이상의 이벤트 속성과 상기 참조한 인과관계 정의정보에 포함된 다른 하나의 이벤트에 대해 식별한 적어도 하나 이상의 이벤트 속성간의 인과관계가 일치하는지 여부에 따라 상기 이벤트간의 인과관계를 식별한다.
또한 상기 인과관계 분석부(130)는, 상기 인과관계 조건과 상기 확인한 결과가 일치하면, 해당 인과관계 정의정보에 포함된 인과관계 유형으로 상기 각 이벤트간의 인과관계를 식별한다.
예를 들어, 두개의 이벤트 사이의 인과관계를 분석한 결과, 상기 인과관계 정의정보에 설정한 인과관계 유형이 트리거("trigger")이면 상기 두개의 이벤트간의 인과관계는 트리거("trigger")로 식별되는 것이다.
또한 상기 릴레이션 테이블 생성부(140)는, 상기 인과관계 유형, 상기 인과관계에 있는 이벤트의 이벤트 유형, 상기 인과관계에 있는 이벤트의 이벤트 ID를 포함하는 분석결과를 릴레이션 테이블로 생성하는 기능을 수행한다. 상기 릴레이션 테이블은, 도 7을 참조하여 설명하였으므로, 더 이상의 상세한 설명은 생략하도록 한다.
또한 상기 가시화부(150)는, 상기 생성한 파싱테이블 및 릴레이션 테이블을 참조하여, 상기 파싱한 결과 및 분석결과에 따라 상기 식별한 이벤트간의 인과관계에 따라 상기 각 이벤트간의 인과관계를 가시화하여 출력하는 기능을 수행한다.
이때, 상기 가시화부(150)는, 상기 각 이벤트를 정점으로 표시하고, 상기 분석한 각 이벤트간의 인과관계를 에지로 연결하여 표시하며, 상기 이벤트를 발생시킨 적어도 하나 이상의 주체(즉, 호스트)를 2차원 평면상에서 어느 한 방향으로 배치하고, 상기 정점을 상기 이벤트를 발생시킨 주체별로 상기 이벤트가 발생한 시간의 순서에 따라 상기 2차원 평면상에서 또 다른 어느 한 방향으로 정렬함으로써, 상기 가시화를 수행한다.
또한 상기 가시화부(150)는, 상기 점점으로 표시한 특정 이벤트가 사용자 혹은 관리자에 의해 선택되는 경우, 상기 선택한 특정 이벤트를 기준으로 상기 에지로 연결된 모든 이벤트를 강조 표시하며, 상기 선택한 특정 이벤트에 대해 식별한 적어도 하나 이상의 이벤트 속성을 추가적으로 표시한다. 상기 가시화하는 방법은, 도 8을 참조하여 설명하였으므로, 더 이상의 상세한 설명은 생략한다.
상기 수집한 이벤트 로그, 상기 이벤트 유형 정의정보, 상기 인과관계 정의정보, 파싱테이블 및 릴레이션 테이블은, 이벤트 로그 데이터베이스(410), 이벤트 유형 정의정보 데이터베이스(420), 인과관계 정의정보 데이터베이스(430), 파싱테이블 데이터베이스(440) 및 릴레이션 테이블 데이터베이스(450)에 각각 저장된다.
도 10은 본 발명의 일 실시예에 따른 이벤트간의 인과관계를 가시화하는 절차를 나타낸 흐름도이다.
도 10에 도시한 바와 같이, 본 발명의 일 실시예에 따른 이벤트간의 인과관계를 가시화하는 절차는, 우선 이벤트의 인과관계 가시화 장치(100)는, 적어도 하나 이상의 워크스테이션(200)으로부터 호스트(300)에 의해 발생된 이벤트에 따라 생성한 이벤트 로그를 수집하는 이벤트 로그 수집 단계를 수행한다.
다음으로, 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 수집한 이벤트 로그로부터 상기 이벤트에 대한 이벤트 정보를 읽어와, 상기 이벤트를 적어도 하나 이상의 이벤트 속성을 식별하는 이벤트 속성 식별 단계(110) 및 상기 식별한 적어도 하나 이상의 이벤트 속성에 따라 상기 이벤트를 이벤트 유형별로 분류하는 이벤트 분류 단계(S120)를 포함하는 이벤트 파싱 단계를 수행한다.
즉, 상기 이벤트 파싱 단계는, 상기 이벤트 정보를 토대로 상기 이벤트에 대한 적어도 하나 이상의 이벤트 속성을 식별하고 이벤트 유형별로 분류함으로써, 상기 이벤트를 파싱하는 것이다.
상기 파싱은, 복수의 이벤트 유형 정의정보를 이용하여 수행됨은 상술한 바와 같다. 한편, 상기 이벤트 속성을 식별하는 것과, 이벤트 유형별로 분류하는 것은, 도 내지 4 및 도 9를 참조하어 설명하였으므로, 더 이상의 상세한 설명은 생략하도록 한다.
다음으로, 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 파싱한 파싱결과를 파싱테이블로 생성하는 파싱테이블 생성 단계를 수행한다(S130).
상기 파싱테이블 생성 단계는, 상기 이벤트 파싱 단계에 통합되거나 별도로 수행될 수 있으며, 상기 파싱테이블은, 상기 이벤트별로 이벤트 유형을 분류한 결과와, 상기 이벤트 속성을 식별한 결과를 포함한 파싱결과를 각각 포함함은 상술한 바와 같다.
다음으로, 상기 이벤트 인과관계 가시화 장치(100)는, 상기 생성한 파싱테이블을 참조하여, 상기 파싱을 통해서 이벤트 유형으로 분류한 각 이벤트와 다른 적어도 하나 이상의 이벤트간의 인과관계를 사전에 설정한 인과관계 정의정보를 이용하여 상기 각 이벤트간의 인과관계를 식별함으로써, 상기 인과관계를 분석하는 인과관계 분석 단계를 수행한다(140).
상기 인과관계 정의정보는, 동일 또는 상이한 이벤트 유형을 가지는 두개의 이벤트간의 적어도 하나 이상의 이벤트 속성에 대한 인과관계 조건을 정의한 것으로, 상기 인과관계 분석 단계는, 상기 파싱을 통해서 이벤트 유형으로 분류한 각 이벤트를 포함하는 모든 인과관계 정의정보를 각각 참조하여, 상기 각 이벤트간의 인과관계를 식별함은 상술한 바와 같다. 상기 각 이벤트간의 인과관계를 분석하는 것은, 도 6 및 도 9를 참조하여 설명하였으므로, 더 이상의 상세한 설명은 생략하도록 한다.
다음으로, 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 인과관계를 분석한 결과에 따라 이벤트간의 인과관계를 나타내는 릴레이션 테이블을 생성하는 릴레이션 테이블 생성 단계를 수행한다(S150).
다음으로, 상기 이벤트의 인과관계 가시화 장치(100)는, 상기 생성한 파싱테이블과 상기 생성한 릴레이션 테이블을 참조하여, 상기 파싱을 통해서 이벤트 유형별로 분류한 이벤트와, 상기 분석을 통해서 각 이벤트간의 인과관계를 가시화화여 출력하는 가시화 단계를 수행한다(S160).
상기 가시화는, 상기 이벤트를, 해당 이벤트를 발생시킨 주체별로 시간의 순서대로 정점으로 표시하고, 상기 각 이벤트간의 인과관계는 에지로 각각 연결함으로써, 수행됨은 상술한 바와 같다.
도 11은 본 발명의 일 실시예에 따른 이벤트의 인과관계 가시화 장치의 하드웨어 구조를 나타낸 도면이다.
도 11에 도시한 것과 같이, 본 발명의 일 실시예에 따른 이벤트의 인과관계 가시화 장치(100)의 하드웨어 구조는, 중앙처리장치(1000), 메모리(2000), 사용자 인터페이스(3000), 데이터베이스 인터페이스(4000), 네트워크 인터페이스(5000), 웹서버(6000) 등을 포함하여 구성된다.
상기 사용자 인터페이스(3000)는, 그래픽 사용자 인터페이스(GUI, graphical user interface)를 사용함으로써, 사용자(관리자)에게 입력과 출력 인터페이스를 제공한다.
상기 데이터베이스 인터페이스(4000)는, 데이터베이스와 하드웨어 구조 사이의 인터페이스를 제공하며, 상기 네트워크 인터페이스(5000)는, 사용자가 보유한 장치간의 네트워크 연결을 제공한다. 상기 웹 서버(6000)는, 사용자가 네트워크를 통해 상기 이벤트의 인과관계 가시화 장치(100)로 액세스하기 위한 수단을 제공한다. 대부분의 사용자들은 원격에서 상기 웹 서버로 접속하여 상기 이벤트의 인과관계 가시화 장치(100)를 이용할 수 있다.
상술한 구성 또는 방법의 각 단계는, 컴퓨터 판독 가능한 기록매체 상의 컴퓨터 판독 가능 코드로 구현되거나 전송 매체를 통해 전송될 수 있다. 컴퓨터 판독 가능한 기록매체는, 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터를 저장할 수 있는 데이터 저장 디바이스이다. 컴퓨터 판독 가능한 기록매체의 예로는 데이터베이스, ROM, RAM, CD-ROM, DVD, 자기 테이프, 플로피 디스크 및 광학 데이터 저장 디바이스가 있으나 이에 한정되는 것은 아니다. 전송매체는 인터넷 또는 다양한 유형의 통신 채널을 통해 전송되는 반송파를 포함할 수 있다. 또한 컴퓨터 판독 가능한 기록매체는, 컴퓨터 판독 가능 코드가 분산 방식으로 저장되고, 실행되도록 네트워크 결합 컴퓨터 시스템을 통해 분배될 수 있다.
또한 본 발명에 적용된 적어도 하나 이상의 구성요소는, 각각의 기능을 수행하는 중앙처리장치(CPU), 마이크로프로세서 등과 같은 프로세서를 포함하거나 이에 의해 구현될 수 있으며, 상기 구성요소 중 둘 이상은 하나의 단일 구성요소로 결합되어 결합된 둘 이상의 구성요소에 대한 모든 동작 또는 기능을 수행할 수 있다.
또한 본 발명에 적용된 적어도 하나 이상의 구성요소의 일부는, 이들 구성요소 중 다른 구성요소에 의해 수행될 수 있다. 또한 상기 구성요소들 사이의 통신은 버스(미도시)를 통해 수행될 수 있다.
이상에서 설명한 바와 같이, 본 발명은 이벤트의 인과관계 가시화 장치 및 그 방법에 관한 것으로, 특정 워크스테이션에 접속하는 호스트에 의한 이벤트가 발생할 때마다, 해당 이벤트를 유형별로 분류하고, 사전에 설정한 인과관계에 대한 조건에 따라 각 이벤트간의 인과관계를 분석하여, 분석결과를 가시화화여 출력함으로써, 이벤트간의 인과관계를 시각적이고 즉각 확인하여, 상기 워크스테이션 상에서 상기 호스트에 대한 일련의 활동을 모니터링할 수 있도록 하는 효과가 있다.
상기에서는 본 발명에 따른 바람직한 실시예를 위주로 상술하였으나, 본 발명의 기술적 사상은 이에 한정되는 것은 아니며 본 발명의 각 구성요소는 동일한 목적 및 효과의 달성을 위하여 본 발명의 기술적 범위 내에서 변경 또는 수정될 수 있을 것이다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
100: 이벤트의 인과관계 가시화 장치 110: 이벤트 로그 수집부
120: 이벤트 파싱부 121: 이벤트 속성 식별부
122: 이벤트 유형 분류부 123: 파싱테이블 생성부
130: 인과관계 분석부 140: 릴레이션 테이블 생성부
150: 가시화부 200: 워크스테이션
300: 호스트 400: 데이터베이스

Claims (10)

  1. 이벤트 로그로부터 이벤트에 대한 이벤트 정보를 읽어와 이벤트 속성을 식별하고, 상기 이벤트 속성에 따라 이벤트를 유형별로 분류함으로써 상기 이벤트를 파싱하는 이벤트 파싱부;
    상기 파싱을 통해서 분류한 각 이벤트와 적어도 하나 이상의 다른 이벤트 간의 인과관계를 사전에 설정한 인과관계 정의정보를 이용하여 식별함으로써 인과관계를 분석하는 인과관계 분석부; 및
    상기 식별한 이벤트간의 인과관계에 따라 각 상기 이벤트 간의 인과관계를 가시화하여 출력하는 가시화부;를 포함하며,
    상기 이벤트 파싱부는,
    상기 이벤트의 유형에 따라 상기 이벤트 정보의 표현 형식을 정규표현으로 정의하고 상기 정규표현에서 적어도 하나 이상의 이벤트 속성의 위치를 정의한 복수의 이벤트 유형 정의정보 중, 상기 이벤트 정보의 형식과 매칭되는 특정 이벤트 유형 정의정보에 정의된 정규표현과, 상기 이벤트 속성의 위치에 따라 상기 이벤트 정보에 포함된 적어도 하나 이상의 이벤트 속성을 추출함으로써 상기 이벤트 속성을 식별하며,
    상기 이벤트는, 상기 이벤트 속성에 따라 상기 매칭되는 상기 특정 이벤트 유형 정의정보에 포함된 이벤트 유형으로 분류되는 것을 특징으로 하는 이벤트의 인과관계 가시화 장치.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 인과관계 분석부는,
    상기 이벤트의 유형별로 두개의 이벤트에 대해 각 이벤트간의 적어도 하나 이상의 이벤트 속성에 대한 인과관계 조건을 정의한 복수의 인과관계 정의정보를 참조하여,
    상기 유형별로 분류한 각 이벤트에 대해 식별한 적어도 하나 이상의 벤트 속성과, 상기 참조한 복수의 인과관계 정의정보에 정의된 다른 하나의 유형으로 분류된 또 다른 적어도 하나 이상의 이벤트에 대해 각각 식별한 적어도 하나 이상의 이벤트 속성간의 인과관계를 확인함으로써 상기 각 이벤트간의 인과관계를 식별하는 것을 특징으로 하는 이벤트의 인과관계 가시화 장치.
  4. 청구항 1에 있어서,
    상기 가시화부는,
    상기 파싱을 통해서 분류한 각 이벤트를 정점으로 표시하고, 상기 분석한 각 이벤트간의 인과관계를 에지로 연결하여 표시함으로써 상기 이벤트간의 인과관계를 가시화하는 것을 특징으로 하는 이벤트의 인과관계 가시화 장치.
  5. 청구항 4에 있어서,
    상기 가시화부는,
    상기 이벤트를 발생시킨 적어도 하나 이상의 주체를 2차원 평면상의 어느 한 방향으로 배열하고, 상기 정점을 상기 이벤트를 발생시킨 주체별로 상기 이벤트가 발생된 시간 순서에 따라 상기 2차원 평면상의 또 다른 한 방향으로 정렬하며,
    상기 정점은, 상기 이벤트를 분류한 유형별로 서로 다른 패턴, 도형, 색깔 또는 이들의 조합으로 표시되며, 상기 에지는, 상기 인과관계에 따른 방향을 나타내는 화살표로 표시되는 것을 특징으로 하는 이벤트의 인과관계 가시화 장치.
  6. 청구항 4에 있어서,
    상기 가시화부는,
    상기 정점으로 표시한 특정 이벤트가 선택되면, 해당 이벤트에 대해 식별한 상기 이벤트 속성을 추가적으로 표시하며, 상기 선택한 특정 이벤트를 기준으로 상기 에지로 연결한 모든 이벤트를 강조하여 표시하는 것을 더 포함하는 것을 특징으로 하는 이벤트의 인과관계 가시화 장치.
  7. 이벤트 로그로부터 이벤트에 대한 이벤트 정보를 읽어와 이벤트 속성을 식별하고, 상기 이벤트 속성에 따라 이벤트를 유형별로 분류함으로써 상기 이벤트를 파싱하는 이벤트 파싱 단계;
    상기 파싱을 통해서 분류한 각 이벤트와 적어도 하나 이상의 다른 이벤트 간의 인과관계를 사전에 설정한 인과관계 정의정보를 이용하여 식별함으로써 인과관계를 분석하는 인과관계 분석 단계; 및
    상기 식별한 이벤트간의 인과관계에 따라 각 상기 이벤트 간의 인과관계를 가시화하여 출력하는 가시화 단계;를 포함하며,
    상기 이벤트 파싱 단계는,
    상기 이벤트의 유형에 따라 상기 이벤트 정보의 표현 형식을 정규표현으로 정의하고 상기 정규표현에서 적어도 하나 이상의 이벤트 속성의 위치를 정의한 복수의 이벤트 유형 정의정보 중, 상기 이벤트 정보의 형식과 매칭되는 특정 이벤트 유형 정의정보에 정의된 정규표현과, 상기 이벤트 속성의 위치에 따라 상기 이벤트 정보에 포함된 적어도 하나 이상의 이벤트 속성을 추출함으로써 상기 이벤트 속성을 식별하며,
    상기 이벤트는, 상기 이벤트 속성에 따라 상기 매칭되는 상기 특정 이벤트 유형 정의정보에 포함된 이벤트 유형으로 분류되는 것을 특징으로 하는 이벤트의 인과관계 가시화 방법.
  8. 삭제
  9. 청구항 7에 있어서,
    상기 인과관계 분석 단계는,
    상기 이벤트의 유형별로 두개의 이벤트에 대해 각 이벤트간의 적어도 하나 이상의 이벤트간의 적어도 하나 이상의 이벤트 속성에 대한 인과관계 조건을 정의한 복수의 인과관계 정의정보를 참조하여,
    상기 유형별로 분류한 각 이벤트에 대해 식별한 적어도 하나 이상의 벤트 속성과, 상기 참조한 복수의 인과관계 정의정보에 정의된 다른 하나의 유형으로 분류된 또 다른 적어도 하나 이상의 이벤트에 대해 각각 식별한 적어도 하나 이상의 이벤트 속성간의 인과관계를 확인함으로써 상기 각 이벤트간의 인과관계를 식별하는 것을 특징으로 하는 이벤트의 인과관계 가시화 방법.
  10. 청구항 7에 있어서,
    상기 가시화 단계는,
    상기 파싱을 통해서 분류한 각 이벤트를 정점으로 표시하고, 상기 분석한 각 이벤트간의 인과관계를 에지로 연결하여 표시함으로써 상기 이벤트간의 인과관계를 가시화하며,
    상기 이벤트를 발생시킨 적어도 하나 이상의 주체를 2차원 평면상의 어느 한 방향으로 배열하고, 상기 정점을 상기 이벤트를 발생시킨 주체별로 상기 이벤트가 발생된 시간 순서에 따라 상기 2차원 평면상의 또 다른 한 방향으로 정렬하며,
    상기 정점은, 상기 이벤트를 분류한 유형별로 서로 다른 패턴, 도형, 색깔 또는 이들의 조합으로 표시되며, 상기 에지는, 상기 인과관계에 따른 방향을 나타내는 화살표로 표시되며,
    상기 정점으로 표시한 특정 이벤트가 선택되면, 해당 이벤트에 대해 식별한 상기 이벤트 속성을 추가적으로 표시하며, 상기 선택한 특정 이벤트를 기준으로 상기 에지로 연결한 모든 이벤트를 강조하여 표시하는 것을 더 포함하는 것을 특징으로 하는 이벤트의 인과관계 가시화 방법.
KR1020200114372A 2020-09-08 2020-09-08 이벤트의 인과관계 가시화 장치 및 그 방법 KR102403881B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200114372A KR102403881B1 (ko) 2020-09-08 2020-09-08 이벤트의 인과관계 가시화 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200114372A KR102403881B1 (ko) 2020-09-08 2020-09-08 이벤트의 인과관계 가시화 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20220032706A KR20220032706A (ko) 2022-03-15
KR102403881B1 true KR102403881B1 (ko) 2022-05-31

Family

ID=80816901

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200114372A KR102403881B1 (ko) 2020-09-08 2020-09-08 이벤트의 인과관계 가시화 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR102403881B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140172919A1 (en) * 2012-12-18 2014-06-19 Cisco Technology, Inc. Automatic correlation of dynamic system events within computing devices
US20180069885A1 (en) 2016-09-06 2018-03-08 Accenture Global Solutions Limited Graph database analysis for network anomaly detection systems
KR102088304B1 (ko) 2019-04-12 2020-03-13 주식회사 이글루시큐리티 그래프데이터베이스 기반 로그데이터 유사패턴 매칭 및 위험관리 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102225040B1 (ko) * 2018-08-29 2021-03-09 한국과학기술원 인공 지능 기반의 통합 로그 관리 방법 및 그 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140172919A1 (en) * 2012-12-18 2014-06-19 Cisco Technology, Inc. Automatic correlation of dynamic system events within computing devices
US20180069885A1 (en) 2016-09-06 2018-03-08 Accenture Global Solutions Limited Graph database analysis for network anomaly detection systems
KR102088304B1 (ko) 2019-04-12 2020-03-13 주식회사 이글루시큐리티 그래프데이터베이스 기반 로그데이터 유사패턴 매칭 및 위험관리 방법

Also Published As

Publication number Publication date
KR20220032706A (ko) 2022-03-15

Similar Documents

Publication Publication Date Title
US11722515B1 (en) Implementing hierarchical cybersecurity systems and methods
US8656006B2 (en) Integrating traffic monitoring data and application runtime data
US8402131B2 (en) Hierarchy for characterizing interactions with an application
US20220247770A1 (en) Systems data availability validation
JP5767471B2 (ja) テストの網羅性を評価する装置及び方法
US20090164270A1 (en) Calculating in-flight metrics for non-interruptible business transactions
CN110515830A (zh) 操作轨迹可视化方法、装置、设备及存储介质
CN112351024B (zh) 一种公网通信安全监测系统及方法
CN111176202A (zh) 工业控制网络的安全管理方法、装置、终端设备及介质
CN114428822B (zh) 一种数据处理的方法、装置、电子设备及存储介质
CN115982012A (zh) 一种接口管理能力成熟度的评估模型及方法
CN112052134A (zh) 一种业务数据的监控方法及装置
US8024320B1 (en) Query language
CN113179267A (zh) 一种网络安全事件关联分析方法和系统
KR102403881B1 (ko) 이벤트의 인과관계 가시화 장치 및 그 방법
CN114969450B (zh) 一种用户行为分析方法、装置、设备及存储介质
US9824140B2 (en) Method of creating classification pattern, apparatus, and recording medium
US7653742B1 (en) Defining and detecting network application business activities
CN109791563A (zh) 信息收集系统、信息收集方法和记录介质
CN111865696A (zh) 网络安全的可视化方法、装置、设备及介质
CN114268569A (zh) 一种可配置的网络运维验收测试方法及装置
CN113918534A (zh) 一种策略处理系统及方法
CN112346938A (zh) 操作审计方法、装置及服务器和计算机可读存储介质
JP2013003681A (ja) サービス運用管理装置
CN114254124A (zh) 敏感数据图谱的展示方法、装置、计算机设备及介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant