KR102001958B1 - System and method for analyzing trend of infringement by calculating entropy of graph data and computer program for the same - Google Patents

System and method for analyzing trend of infringement by calculating entropy of graph data and computer program for the same Download PDF

Info

Publication number
KR102001958B1
KR102001958B1 KR1020180147817A KR20180147817A KR102001958B1 KR 102001958 B1 KR102001958 B1 KR 102001958B1 KR 1020180147817 A KR1020180147817 A KR 1020180147817A KR 20180147817 A KR20180147817 A KR 20180147817A KR 102001958 B1 KR102001958 B1 KR 102001958B1
Authority
KR
South Korea
Prior art keywords
graph
entropy
graph data
data
information amount
Prior art date
Application number
KR1020180147817A
Other languages
Korean (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 KR1020180147817A priority Critical patent/KR102001958B1/en
Application granted granted Critical
Publication of KR102001958B1 publication Critical patent/KR102001958B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A system for analyzing invasion activity trend comprises: an event processing unit configured to determine whether to call for entropy calculation; an information amount change calculation unit called by the event processing unit, and configured to generate a graph query for the entropy calculation and calculate an entropy value of a graph database based on a return value received in response to the graph query from the graph database including one or more graph data related to an invasion activity; a graph database query processing unit configured to receive the graph query from the information amount change calculation unit, and receive the return value by inquiring the graph database based on the graph query; and a threshold monitoring unit configured to monitor a sum of entropy values calculated at a plurality of time points by the information amount change calculation unit. According to the system for analyzing invasion activity trend, it is possible to realize continuous monitoring of threat information, which is currently in an inactive state (or a state before activity) through periodic entropy calculation and extraction of graph data.

Description

그래프 데이터의 엔트로피 계산을 통한 침해 활동 추이 분석 시스템 및 방법과, 이를 위한 컴퓨터 프로그램 { SYSTEM AND METHOD FOR ANALYZING TREND OF INFRINGEMENT BY CALCULATING ENTROPY OF GRAPH DATA AND COMPUTER PROGRAM FOR THE SAME }BACKGROUND OF THE INVENTION Field of the Invention The present invention relates to a system and method for analyzing trends in infiltration activity through calculation of entropy of graph data,

실시예들은 침해 활동 추이 분석 시스템 및 방법과 이를 위한 컴퓨터 프로그램에 관한 것으로, 보다 상세하게는 그래프 데이터에 대한 엔트로피(entropy) 값의 계산을 통해 데이터의 변화량을 관찰하고 침해 활동의 추이를 분석하는 기술에 대한 것이다.More particularly, the present invention relates to a system and method for analyzing trends in infringing activities and a computer program for the same. More particularly, the present invention relates to a technique for analyzing trends of infringing activities by observing data variation through calculation of entropy values for graph data Lt; / RTI >

빅 데이터 관련 기술들이 활발하게 연구되면서, 빅 데이터를 저장 관리하는 기술 및 데이터를 분류 및 예측하는 기계 학습 분야의 연구가 활발히 진행되고 있다. 패턴 분류 기술은 뉴스, 블로그, SNS 등의 문서 분류, 이슈 분류, 감성 분류 등에 활용되고 있다. 한편, 데이터를 저장 관리하는 기술로서 종래에는 테이블(table) 형태로 데이터를 저장하는 관계형 데이터베이스가 주로 사용되었다. As the big data related technologies are actively researched, researches in the field of machine learning that classifies and predicts the technology for storing and managing big data and data are actively being carried out. Pattern classification technology is used for document classification such as news, blog, SNS, issue classification, emotional classification. On the other hand, a relational database for storing data in the form of a table has been mainly used as a technique for storing and managing data.

최근에는, 데이터의 저장 및 관리 기술로서 각 데이터 객체와 이 객체가 가진 연관 관계를 명시적으로 표현하여 저장하는 솔루션인 그래프 데이터베이스가 등장하였다. 테이블을 사전에 정의한 스키마(schema) 구조 형태에 맞추어 각 객체들을 저장하는 관계형 데이터베이스에 비하여, 그래프 데이터베이스는 각 데이터들을 하나의 객체로서 저장하고 각 객체의 특성을 해치치 않으면서 객체 간의 연관 관계를 지속적으로 확장할 수 있어 정형 및 비정형 데이터의 통합적인 저장 관리에 유리하다.In recent years, as a data storage and management technique, a graph database has emerged as a solution for expressing and storing each data object and the association relation of the object. Compared to a relational database that stores each object in accordance with the schema structure defined in the table, the graph database stores each data as one object and maintains the relationship between the objects without detracting from the characteristics of each object And it is advantageous for integrated storage management of fixed and unstructured data.

예컨대, 도 1은 그래프 데이터베이스에 저장되는 그래프 데이터의 예시적인 형태를 나타내는 것으로서, [R1: A → B], [R2: A+B → C+D], [R3: D → E]의 관계를 가지는 화학반응을 그래프 데이터로 나타낸 것이다. A 내지 E는 화학반응에 참여하는 반응 물질을 나타내고, 이는 그래프 데이터의 각 노드(node)에 해당한다. R1 내지 R3는 화학 반응을 나타내고, 이는 그래프 데이터의 각 에지(edge)에 해당한다.For example, as Figure 1 is an exemplary form of the graph data stored in the graph database, [R 1: A → B ], [R 2: A + B → C + D], [R 3: D → E] Is represented by graph data. A to E represent reactants participating in the chemical reaction, which correspond to each node of the graph data. R 1 to R 3 represent chemical reactions, which correspond to the respective edges of the graph data.

한국등록특허공보 제10-1697875호Korean Patent Registration No. 10-1697875

본 발명의 일 측면에 따르면, 그래프 형태로 저장된 데이터의 활용 방안으로서 그래프 데이터에 대한 주기적인 엔트로피(entropy) 계산 및 추출을 통해 현재 비활성 상태(또는, 활동 전 상태)인 위협 정보에 대한 지속적인 감시 기능을 제공하는 침해 활동 추이 분석 시스템 및 방법과, 이를 위한 컴퓨터 프로그램을 제공할 수 있다.According to one aspect of the present invention, as a utilization method of data stored in the form of a graph, periodic entropy calculation and extraction of graph data to continuously monitor the current inactive state (or the pre-activity state) And a computer program for the infiltration activity change analysis system and method.

일 실시예에 따른 침해 활동 추이 분석 시스템은, 엔트로피(entropy) 계산을 위한 호출 여부를 결정하도록 구성된 이벤트 처리부; 상기 이벤트 처리부에 의해 호출되어, 엔트로피 계산을 위한 그래프 질의를 생성하며, 침해 활동에 연관된 하나 이상의 그래프 데이터를 포함하는 그래프 데이터베이스로부터 상기 그래프 질의에 상응하여 수신된 반환값에 기초하여 상기 그래프 데이터베이스의 엔트로피 값을 산출하도록 구성된 정보량 변화 계산부; 상기 정보량 변화 계산부로부터 상기 그래프 질의를 수신하고, 상기 그래프 질의에 기초하여 상기 그래프 데이터베이스를 조회하여 상기 반환값을 수신하도록 구성된 그래프 데이터베이스 질의 처리부; 및 상기 정보량 변화 계산부에 의해 복수의 시점에 산출된 상기 엔트로피 값들의 합계를 감시하도록 구성된 임계치 감시부를 포함한다.The infiltration activity trend analyzing system according to an embodiment includes an event processor configured to determine whether to call for entropy calculation; Invoking by the event processor to generate a graph query for entropy computation and to retrieve entropy of the graph database based on a return value received corresponding to the graph query from a graph database containing one or more graph data associated with an infringement activity, An information amount change calculation unit configured to calculate a value; A graph database query processing unit configured to receive the graph query from the information amount change calculation unit, receive the return value by querying the graph database based on the graph query; And a threshold monitoring unit configured to monitor a sum of the entropy values calculated at a plurality of time points by the information amount change calculation unit.

일 실시예에서, 상기 이벤트 처리부는, 사용자로부터 수신된 요청에 대한 응답으로 또는 주기적으로 상기 정보량 변화 계산부를 호출하도록 더 구성된다.In one embodiment, the event processing unit is further configured to call the information amount change calculation unit in response to a request received from the user or periodically.

일 실시예에서, 상기 임계치 감시부는, 주기적으로 산출된 상기 엔트로피 값들의 누적 합계가 미리 설정된 임계치를 넘는지 여부를 감시하도록 더 구성된다.In one embodiment, the threshold monitoring unit is further configured to monitor whether a cumulative sum of the periodically calculated entropy values exceeds a preset threshold value.

일 실시예에서, 상기 정보량 변화 계산부는, 상기 그래프 데이터베이스에서, 미리 설정된 조건을 충족하는 그래프 데이터의 개수에 대한 상기 미리 설정된 조건을 충족하며 신규 생성 또는 변화된 그래프 데이터의 개수의 비율을 이용하여 상기 엔트로피 값을 산출하도록 더 구성된다.In one embodiment, the information amount change calculation unit may calculate, in the graph database, the entropy value using the ratio of the number of graph data that satisfies the preset condition for the number of graph data satisfying the preset condition and newly generated or changed Lt; / RTI >

일 실시예에서, 상기 정보량 변화 계산부는, 상기 엔트로피 값을 H(x), 상기 미리 설정된 조건을 충족하는 그래프 데이터의 개수를 G, 시간을 t, 시간 구간 i에서 상기 미리 설정된 조건을 충족하며 신규 생성 또는 변화된 그래프 데이터의 개수를 Gi, 상기 미리 설정된 조건을 충족하는 전체 그래프 데이터 중에서 신규 생성 또는 변화된 그래프 데이터가 나타난 확률을

Figure 112018117934918-pat00001
라고 할 경우,
Figure 112018117934918-pat00002
의 수학식에 의하여 상기 엔트로피 값을 계산하도록 더 구성된다.In one embodiment, the information amount change calculator calculates the entropy value as H (x), the number of graph data satisfying the preset condition as G, the time as t, the time interval i, G i is the number of generated or changed graph data, and the probability that the newly generated or changed graph data appears in the entire graph data satisfying the preset condition
Figure 112018117934918-pat00001
If so,
Figure 112018117934918-pat00002
To calculate the entropy value according to the following equation.

일 실시예에 따른 침해 활동 추이 분석 방법은, 침해 활동 추이 분석 시스템의 이벤트 처리부가 상기 침해 활동 추이 분석 시스템의 정보량 변화 계산부를 호출하는 단계; 상기 정보량 변화 계산부가, 엔트로피 계산을 위한 그래프 질의를 생성하는 단계; 상기 침해 활동 추이 분석 시스템의 그래프 데이터베이스 질의 처리부가, 상기 그래프 질의에 기초하여 하나 이상의 그래프 데이터를 포함하는 그래프 데이터베이스를 조회함으로써 상기 그래프 데이터베이스로부터 반환값을 수신하는 단계; 상기 정보량 변화 계산부가, 상기 반환값에 기초하여 상기 그래프 데이터베이스의 엔트로피 값을 산출하는 단계; 및 상기 침해 활동 추이 분석 시스템의 임계치 감시부가, 상기 정보량 변화 계산부에 의해 복수의 시점에 산출된 상기 엔트로피 값들의 합계를 감시하는 단계를 포함한다.The method for analyzing infringement activity according to an exemplary embodiment includes the steps of: an event processing unit of an infringement activity trend analyzing system calls an information amount change calculating unit of the infringement activity trend analyzing system; Wherein the information amount change calculation unit generates a graph query for entropy calculation; Receiving a return value from the graph database by querying a graph database including one or more graph data based on the graph query, the graph database query processing unit of the infiltration activity trend analysis system; Calculating an entropy value of the graph database based on the return value; And a threshold monitoring unit of the infiltration activity trend analyzing system monitors the sum of the entropy values calculated at a plurality of time points by the information amount change calculating unit.

일 실시예에서, 상기 정보량 변화 계산부를 호출하는 단계는, 사용자로부터 상기 이벤트 처리부에 수신된 요청에 대한 응답으로 또는 주기적으로 수행된다.In one embodiment, the step of calling the information amount change calculator is performed in response to a request received from the user to the event processing unit or periodically.

일 실시예에서, 상기 엔트로피 값들의 합계를 감시하는 단계는, 주기적으로 산출된 상기 엔트로피 값들의 누적 합계가 미리 설정된 임계치를 넘는지 여부를 감시하는 단계를 포함한다.In one embodiment, monitoring the sum of the entropy values comprises monitoring whether the cumulative sum of the periodically calculated entropy values exceeds a predetermined threshold.

일 실시예에서, 상기 엔트로피 값을 산출하는 단계는, 상기 그래프 데이터베이스에서, 미리 설정된 조건을 충족하는 그래프 데이터의 개수에 대한 상기 미리 설정된 조건을 충족하며 신규 생성 또는 변화된 그래프 데이터의 개수의 비율을 이용하여 상기 엔트로피 값을 계산하는 단계를 포함한다.In one embodiment, the step of calculating the entropy value may include calculating, in the graph database, a ratio of the number of graph data that satisfies the preset condition for the number of graph data satisfying the preset condition and newly generated or changed And calculating the entropy value.

일 실시예에서, 상기 엔트로피 값을 계산하는 단계는, 상기 엔트로피 값을 H(x), 상기 미리 설정된 조건을 충족하는 그래프 데이터의 개수를 G, 시간을 t, 시간 구간 i에서 상기 미리 설정된 조건을 충족하며 신규 생성 또는 변화된 그래프 데이터의 개수를 Gi, 상기 미리 설정된 조건을 충족하는 전체 그래프 데이터 중에서 신규 생성 또는 변화된 그래프 데이터가 나타난 확률을

Figure 112018117934918-pat00003
라고 할 경우,
Figure 112018117934918-pat00004
의 수학식에 의하여 상기 엔트로피 값을 산출하는 단계를 포함한다.In one embodiment, the step of calculating the entropy value may include calculating the entropy value as H (x), the number of graph data satisfying the preset condition as G, the time as t, G i is the number of graph data that satisfies the predetermined condition, and G i is the number of newly generated or changed graph data.
Figure 112018117934918-pat00003
If so,
Figure 112018117934918-pat00004
And calculating the entropy value according to the following equation.

일 실시예에 따른 컴퓨터 프로그램은 하드웨어와 결합되어 전술한 실시예들에 따른 침해 활동 추이 분석 방법을 실행하기 위한 것으로서 컴퓨터로 판독 가능한 매체에 저장된 것일 수 있다.The computer program according to one embodiment may be stored in a computer-readable medium for execution of the infringement activity trend analysis method according to the above-described embodiments in combination with hardware.

본 발명의 일 측면에 따른 침해 활동 추이 분석 시스템 및 방법에 의하면, 설정된 일정(예컨대, 시간 값)에 따라 그래프 데이터베이스 내 위협정보에 대해 변화량을 엔트로피 값의 형식으로 추출하는 스케줄러(scheduler)를 두고, 엔트로피 값의 총합에 대한 감시를 통해 그래프 데이터베이스 내 축적되어 있는 침해 위협 정보를 지속적으로 조회 추출할 수 있고, 추출된 엔트로피와 시계열 변화 추이 정보를 이용하여, 현재 비활성 상태(또는 활동 전 상태)인 위협 정보에 대하여 지속적인 감시(기능 또는 서비스 형태)를 구현할 수 있다.According to an exemplary embodiment of the present invention, there is provided a system and method for analyzing an infringement activity, comprising: a scheduler for extracting a change amount with respect to threat information in a graph database in a form of an entropy value according to a predetermined schedule (e.g., Through the monitoring of the sum of entropy values, infiltration threat information accumulated in the graph database can be continuously inquired and extracted. Using the extracted entropy and the time series change information, it is possible to detect the current inactive state It is possible to implement continuous monitoring (function or service type) on the information.

도 1은 그래프 데이터베이스에 저장되는 그래프 데이터의 예시적인 형태를 나타낸 개념도이다.
도 2는 일 실시예에 따른 침해 활동 추이 분석 시스템의 개략적인 블록도이다.
도 3은 일 실시예에 따른 침해 활동 추이 분석 방법의 순서도이다.
1 is a conceptual diagram showing an exemplary form of graph data stored in a graph database.
2 is a schematic block diagram of an infringement activity trend analysis system according to an embodiment.
FIG. 3 is a flowchart of a method for analyzing an infringement activity trend according to an embodiment.

이하에서, 도면을 참조하여 본 발명의 실시예들에 대하여 상세히 살펴본다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

도 2는 일 실시예에 따른 침해 활동 추이 분석 시스템의 개략적인 블록도이다.2 is a schematic block diagram of an infringement activity trend analysis system according to an embodiment.

일 실시예에서, 침해 활동 추이 분석 시스템은 이벤트(event) 처리부(10), 정보량 변화 계산부(20), 그래프 데이터베이스 질의 처리부(31) 및 임계치 감시부(40)를 포함한다. 일 실시예에서, 침해 활동 추이 분석 시스템은 하나 이상의 그래프 데이터를 포함하는 그래프 데이터베이스가 저장되는 그래프 데이터베이스 저장부(32)를 더 포함한다.In one embodiment, the infringement activity trend analysis system includes an event processing unit 10, an information amount change calculation unit 20, a graph database query processing unit 31, and a threshold value monitoring unit 40. In one embodiment, the infringement activity trend analysis system further includes a graph database storage 32 in which a graph database containing one or more graph data is stored.

실시예들에 따른 침해 활동 추이 분석 시스템(10)은 전적으로 하드웨어이거나, 또는 부분적으로 하드웨어이고 부분적으로 소프트웨어인 측면을 가질 수 있다. 예컨대, 침해 활동 추이 분석 시스템(10)에 포함된 각 부(unit)는 특정 형식 및 내용의 데이터를 처리하거나 또는/또한 전자통신 방식으로 주고받기 위한 하드웨어 및 이에 관련된 소프트웨어를 통칭할 수 있다. 본 명세서에서 "부", "모듈", "장치", "단말기", "서버" 또는 "시스템" 등의 용어는 하드웨어 및 해당 하드웨어에 의해 구동되는 소프트웨어의 조합을 지칭하는 것으로 의도된다. 예를 들어, 하드웨어는 CPU 또는 다른 프로세서(processor)를 포함하는 데이터 처리 기기일 수 있다. 또한, 하드웨어에 의해 구동되는 소프트웨어는 실행중인 프로세스, 객체(object), 실행파일(executable), 실행 스레드(thread of execution), 프로그램(program) 등을 지칭할 수 있다.The infiltration activity trend analysis system 10 according to the embodiments may be entirely hardware, or partially hardware, and partially software. For example, each unit included in the infringement activity trend analysis system 10 may collectively refer to hardware and related software for processing data of a specific type and contents and / or for exchanging data by an electronic communication method. The terms "part", "module", "device", "terminal", "server" or "system" are used herein to refer to a combination of hardware and software driven by that hardware. For example, the hardware may be a data processing device comprising a CPU or other processor. Also, the software driven by the hardware may refer to a running process, an object, an executable, a thread of execution, a program, and the like.

또한, 본 실시예에 따른 침해 활동 추이 분석 시스템을 구성하는 각각의 요소는 반드시 서로 물리적으로 구분되는 별개의 장치를 지칭하는 것으로 의도되지 않는다. 즉, 도 2의 이벤트 처리부(10), 정보량 변화 계산부(20), 그래프 데이터베이스 질의 처리부(31), 그래프 데이터베이스 저장부(32) 및 임계치 감시부(40)는 침해 활동 추이 분석 시스템을 구성하는 하드웨어를 해당 하드웨어에 의해 수행되는 동작에 따라 기능적으로 구분한 것일 뿐, 반드시 각각의 부가 서로 독립적으로 구비되어야 하는 것이 아니다. 물론, 실시예에 따라서는 이벤트 처리부(10), 정보량 변화 계산부(20), 그래프 데이터베이스 질의 처리부(31), 그래프 데이터베이스 저장부(32) 및 임계치 감시부(40) 중 하나 이상이 서로 물리적으로 구분되는 별개의 장치로 구현되는 것도 가능하다.In addition, each element constituting the infringing activity trend analysis system according to the present embodiment is not intended to refer to a separate apparatus which is physically separated from each other. That is, the event processing unit 10, the information amount change calculation unit 20, the graph database query processing unit 31, the graph database storage unit 32, and the threshold value monitoring unit 40 of FIG. 2 constitute an infringement activity trend analysis system The hardware is functionally divided according to the operation performed by the corresponding hardware, but the respective units do not necessarily have to be provided independently of each other. Of course, depending on the embodiment, at least one of the event processing unit 10, the information amount change calculation unit 20, the graph database query processing unit 31, the graph database storage unit 32, and the threshold value monitoring unit 40 may physically It is also possible to implement them as separate devices which are distinguished.

그래프 데이터베이스 저장부(32)는 하나 이상의 그래프 데이터를 포함하는 그래프 데이터베이스를 저장한다. 그래프 데이터베이스 저장부(32)에 저장된 그래프 데이터베이스의 그래프 데이터는, 데이터 객체에 각각 상응하는 복수 개의 노드(node) 및 각 노드 사이를 연결하고 데이터 객체 사이의 연관관계를 나타내는 에지(edge)를 포함한다. 이때, 하나의 에지에 복수 개의 노드가 동시에 연결될 수도 있다. 또한, 각각의 에지는 방향성을 가지는 벡터일 수 있다.The graph database storage unit 32 stores a graph database including one or more graph data. The graph data of the graph database stored in the graph database storing unit 32 includes a plurality of nodes corresponding to the data objects and an edge connecting between the nodes and indicating an association between the data objects . At this time, a plurality of nodes may be connected to one edge at the same time. Further, each edge may be a vector having directionality.

이때, 그래프 데이터베이스에 포함된 하나 이상의 그래프 데이터는 침해 활동에 연관된 것일 수 있다. 본 명세서에서 침해 활동이란, 통신 네트워크를 통하여 프로세스, 파일, 레지스트리(registry), 네트워크, 시스템을 대상으로 무단 액세스(access), 기능 장애, 오용, 수정, 파괴 등을 일으키는 임의의 악의적인 행위를 지칭한다. 그래프 데이터는 이러한 침해 활동에 연관되는 것으로서 다양한 형태를 지니는 침해지표(Indicators of Compromise; IoC) 데이터 객체와 이들 사이의 연관관계를 저장할 수 있다.At this time, one or more graph data included in the graph database may be related to infringement activity. In this specification, infringing activity refers to any malicious activity that causes unauthorized access, malfunction, misuse, modification, destruction, etc. to a process, a file, a registry, a network, do. Graph data can store various types of Indicators of Compromise (IoC) data objects associated with these infringing activities and their associations.

예를 들어, "특정 해커 집단 A가 특정 해쉬값을 가진 소프트웨어 도구를 사용하여 특정 도메인을 공격하였으며, 이 때 우회를 위하여 사용한 아이피(IP) 구간은 XXX.XXX.XXX.XXX ~ YYY.YYY.YYY.YYY 이다" 라는 문장을 그래프 데이터로 저장하고자 할 경우를 가정한다. 이때 그래프 데이터의 데이터 구조는 문장 내에 포함된 침해 정보인 아이피, 도메인, 소프트웨어 도구, 해쉬값, 해커 집단 A 등을 데이터 객체인 각 노드로 하고, 이들의 연관 관계를 각 노드 사이의 에지로 표현한 것일 수 있다.For example, "A specific hacker group A attacked a specific domain using a software tool with a particular hash value, and the IP interval used for the bypass was XXX.XXX.XXX.XXX ~ YYY.YYY. YYY.YYY "is to be stored as graph data. At this time, the data structure of the graph data is defined as nodes of the data object, such as IP, domain, software tool, hash value, and hacker group A, which are infringement information included in the sentence, .

또한, 실시예들에서 그래프 데이터는 객체 사이의 에지에 여러 개의 관계 및 가중치가 존재할 수 있는 프로퍼티 그래프(property graph)일 수도 있으나, 이에 한정되는 것은 아니다.Also, in the embodiments, the graph data may be a property graph, but it is not limited thereto, in which there can exist several relations and weights at edges between objects.

본 실시예에 따른 침해 활동 추이 분석 시스템은, 전술한 것과 같은 그래프 데이터가 저장된 그래프 데이터베이스를 대상으로 주기적인 엔트로피(entropy) 계산 및 추출을 통해 현재 비활성 상태(또는, 활동 전 상태)인 위협 정보에 대한 지속적인 감시 기능을 구현하는 것을 목적으로 한다.The infiltration activity trend analysis system according to the present embodiment is a system for analyzing infringement activity according to the present invention by calculating and extracting periodic entropy on the graph database storing the graph data as described above, The purpose of this study is to implement continuous monitoring function.

상기 목적을 위하여, 이벤트 처리부(10)는 특정 시간 또는 특정 이벤트에 따라 발생하는 사용자로부터의 요청에 따라 또는 주기적으로 정보량 변화 계산부(20)를 호출할 수 있다.For this purpose, the event processing unit 10 may call the information amount change calculation unit 20 in accordance with a request from the user or periodically according to a specific time or a specific event.

정보량 변화 계산부(20)는, 이벤트 처리부(10)에 의해 호출될 경우, 엔트로피 계산을 위한 그래프 질의를 생성할 수 있다. 그래프 질의는 그래프 데이터로부터 위협 정보 데이터를 추출하기 위한 그래프 질의 언어를 조합하여 생성될 수 있다. 정보량 변화 계산부(20)는 생성된 그래프 질의를 그래프 데이터베이스 질의 처리부(31)로 전달할 수 있다.When invoked by the event processing unit 10, the information amount change calculation unit 20 can generate a graph query for entropy calculation. The graph query may be generated by combining a graph query language for extracting threat information data from the graph data. The information amount change calculation unit 20 can transmit the generated graph query to the graph database query processing unit 31.

그래프 데이터베이스 질의 처리부(31)에서는 전달된 그래프 질의를 기반으로 그래프 데이터베이스 저장부(32)에 저장되어 있는 그래프 데이터베이스를 조회하여 반환값을 얻을 수 있다. 그래프 데이터베이스 질의 처리부(31)와 그래프 데이터베이스 저장부(32)는 하나의 데이터베이스 저장 장치(30)로 구현될 수도 있으나, 이에 한정되는 것은 아니다.The graph database query processing unit 31 can obtain a return value by querying the graph database stored in the graph database storage unit 32 based on the transmitted graph query. The graph database query processing unit 31 and the graph database storage unit 32 may be implemented as one database storage device 30, but the present invention is not limited thereto.

정보량 변화 계산부(20)는, 그래프 데이터베이스로부터의 반환값을 기반으로 그래프 데이터베이스에 대한 현 시간대의 위협 정보의 엔트로피 값을 계산할 수 있다. 또한, 정보량 변화 계산부(20)는, 시간 값과 계산된 엔트로피 값을 정렬하여 저장할 수 있다. 엔트로피 값은 그래프 데이터베이스 저장부(32)에 그래프 데이터베이스와 함께 저장될 수도 있으며, 또는 정보량 변화 계산부(20) 내에 자체적으로 저장될 수도 있다.The information amount change calculator 20 can calculate an entropy value of threat information in the current time zone with respect to the graph database based on the return value from the graph database. Also, the information amount change calculation unit 20 may store and store the time value and the calculated entropy value. The entropy value may be stored together with the graph database in the graph database storage unit 32 or may be stored in the information amount change calculation unit 20 itself.

임계치 감시부(40)는 정보량 변화 계산부(20)에 의해 저장된 엔트로피 값들의 총합을 확인하여, 특정 위협 정보의 엔트로피 총합이 미리 설정된 임계치를 넘는지를 감시할 수 있다. 예컨대, 임계치 감시부(40)는 시계열적인 엔트로피 값들의 총합을 주기적으로 확인할 수 있다. 엔트로피 값들의 총합이 임계치를 넘는 경우, 임계치 감시부(40)는 해당 정보를 사용자 장치(미도시) 또는 연계 시스템(미도시)에 통지할 수도 있다.The threshold value monitoring unit 40 can check whether the total sum of entropy values of the specific threat information exceeds a predetermined threshold value by checking the sum of entropy values stored by the information amount change calculation unit 20. [ For example, the threshold monitoring unit 40 may periodically check the sum of the time series entropy values. When the sum of the entropy values exceeds the threshold value, the threshold monitoring unit 40 may notify the user apparatus (not shown) or the linkage system (not shown) of the information.

도 3은 일 실시예에 따른 침해 활동 추이 분석 방법의 순서도이다. 설명의 편의를 위하여, 이하에서는 도 2 및 도 3을 참조하여 본 실시예에 따른 침해 활동 추이 분석 방법에 대하여 설명한다.FIG. 3 is a flowchart of a method for analyzing an infringement activity trend according to an embodiment. For convenience of explanation, the method of analyzing the infringing activity according to the present embodiment will be described below with reference to FIG. 2 and FIG.

먼저, 이벤트 처리부(10)에서는 사전에 설정된 이벤트 처리 주기를 확인하여(S2), 엔트로피 계산을 위한 호출 주기인지 여부를 결정할 수 있다(S3). 이벤트 처리 주기는 시간에 따라 일정 시간마다 호출하도록 구성될 수도 있고, 또는 사용자의 특정 행동에 대한 응답으로 호출이 이루어지도록 구성할 수도 있다.First, in the event processing unit 10, a preset event processing cycle is checked (S2), and it can be determined whether the cycle is a paging cycle for entropy calculation (S3). The event processing cycle may be configured to be invoked at certain times according to time, or may be configured such that a call is made in response to a specific action of the user.

호출 주기가 도래하였다면, 이벤트 처리부(10)는 엔트로피 계산을 위해 정보량 변화 계산부(20)를 호출한다(S4). 일 실시예에서, 정보량 변화 계산부(20)에서는 이전의 시간 주기에서 그래프 데이터베이스에 저장되어 있던 데이터와 비교하여 현재 시각에서 데이터의 변화가 있는지 여부를 확인한다(S5). 데이터 변화 여부의 확인은, 그래프 데이터베이스에 해당하는 전자파일의 용량 및 변경 일자, 또는 정보량 변화 계산부(20)에 의하여 생성되어 저장된 그래프 데이터베이스의 해쉬(hash)값 등을 이용하여 이루어질 수 있다.If the paging cycle has arrived, the event processing unit 10 calls the information amount change calculation unit 20 for entropy calculation (S4). In one embodiment, the information amount change calculator 20 compares the data stored in the graph database in the previous time period to determine whether there is a change in data at the current time (S5). The confirmation of the data change can be made using the capacity and the modification date of the electronic file corresponding to the graph database or the hash value of the graph database generated and stored by the information amount change calculator 20. [

정보의 변화가 있을 경우, 이벤트 처리부(10)는 그래프 질의를 생성하고 이를 기반으로 그래프 데이터베이스 질의 처리부(31)를 통하여 그래프 데이터베이스 저장부(32)를 조회하는 방식으로 그래프 데이터베이스로부터의 반환값을 수신한다. 다음으로, 이벤트 처리부(10)는 그래프 데이터베이스로부터의 반환값을 이용하여 엔트로피의 계산 작업을 수행할 수 있다(S6).When there is a change in information, the event processing unit 10 generates a graph query and inquires the graph database storage unit 32 through the graph database query processing unit 31 on the basis of the generated graph query to receive a return value from the graph database do. Next, the event processing unit 10 can calculate the entropy using the return value from the graph database (S6).

구체적으로, 정보량 변화 계산부(20)에 의한 엔트로피의 계산은 그래프 데이터베이스에서 소정의 조건을 충족하는 그래프 데이터의 개수에 대해 상기 소정의 조건을 충족하면서 신규 생성 또는 변화된 그래프 데이터의 개수의 비율을 기반으로 계산될 수 있다. 이때 소정의 조건이란, 그래프 데이터에서 침해 활동에 해당하는 침해지표(Indicators of Compromise; IoC)를 찾기 위한 것으로, 침해 활동에 따라 다양하게 설정될 수 있다.Specifically, the calculation of the entropy by the information amount change calculation unit 20 is based on the ratio of the number of graph data newly generated or changed while satisfying the predetermined condition with respect to the number of graph data satisfying a predetermined condition in the graph database . ≪ / RTI > At this time, the predetermined condition is to find Indicators of Compromise (IoC) corresponding to the infringing activity in the graph data, and may be variously set according to the infringing activity.

예컨대, 정보량 변화 계산부(20)에 의해 얻어지는 엔트로피 값을 H(x), 침해 활동의 조건을 충족하는 그래프 데이터의 총 개수를 G, 시간을 t, 시간 구간 i에서 침해 활동의 조건을 충족하면서 신규 생성 또는 변화된 그래프 데이터의 개수를 Gi라고 하고, 침해 활동의 조건을 충족하는 전체 그래프 데이터 중에서 신규 생성 또는 변화된 그래프 데이터가 나타난 확률을

Figure 112018117934918-pat00005
라고 할 경우, 정보량 변화 계산부(20)는 하기 수학식 1에 의하여 엔트로피 값을 산출할 수 있다.For example, when the entropy value obtained by the information amount change calculation unit 20 is H (x), the total number of graph data satisfying the condition of the infringing activity is G, the time is t, Let G i denote the number of newly created or changed graph data, and let the probability that the newly generated or changed graph data appears in the entire graph data satisfying the infringing activity condition
Figure 112018117934918-pat00005
, The information amount change calculation section 20 can calculate the entropy value by the following equation (1).

[수학식 1][Equation 1]

Figure 112018117934918-pat00006
Figure 112018117934918-pat00006

상기 수학식 1은 정보 이론(information theory)을 기초로 도출된 정보 엔트로피(또는, 쉐넌 엔트로피)에 해당하는 것으로, 그래프 데이터에서 신규 생성 또는 변화된 그래프의 비율이라는 정보는 그 기댓값(또는, 평균)이 수학식 1의 엔트로피 값이며 확률분포로 표현되는 확률변수를 형성한다. 이때, 수학식 1의 엔트로피 값은 자주 발생하는 사건이 상대적으로 낮은 정보량을 가지며 낮은 빈도로 발생하는 사건이 상대적으로 높은 정보량을 갖도록 하여 기존 정보 대비 정보 변화량을 측정하기 위한 것으로, 낮은 확률 값을 가지는 사건이 높은 정보량을 갖도록 음의 로그를 이용하여 엔트로피 값을 정의하였으며, 0에서 1 사이의 확률 값에 음의 로그를 붙여 결과값이 범위를 벗어나지 않도록 하였다.Equation (1) corresponds to the information entropy (or the Shannon entropy) derived on the basis of the information theory. The information of the ratio of the graph newly generated or changed in the graph data is the expected value The entropy value of Equation (1) is formed and a random variable represented by a probability distribution is formed. In this case, the entropy value of Equation (1) is for measuring a change amount of information with respect to existing information by causing a relatively low information amount to occur frequently and a relatively high information amount to occur at a low frequency occurrence, The entropy value is defined using the logarithm of the event so that the event has a high information amount, and the logarithm of the probability value between 0 and 1 is added so that the resultant value does not deviate from the range.

다음으로, 정보량 변화 계산부(20)는 계산된 엔트로피 값을 데이터로 저장할 수 있다(S7). 엔트로피 값은 그래프 데이터베이스 저장부(32)에 저장될 수도 있으며, 또는 정보량 변화 계산부(20) 내에 자체적으로 저장될 수도 있다. 이상의 엔트로피 값의 계산과 저장 과정은, 호출 주기에 따라 반복적으로 수행된다.Next, the information amount change calculation unit 20 can store the calculated entropy value as data (S7). The entropy value may be stored in the graph database storage unit 32 or may be stored in the information amount change calculation unit 20 itself. The calculation and storage of the above entropy values are repeatedly performed in accordance with the paging cycle.

임계치 감시부(40)는, 정보량 변화 계산부(20)에 의해 계산된 엔트로피 값을 요청하고 그 총합을 감시하는 역할을 한다(S8). 임계치 감시부(40)는, 시계열적으로(예컨대, 주기적으로) 계산된 엔트로피 값들의 총합이 사전에 설정된 임계치를 넘는지 여부를 관찰하고(S9), 임계치를 넘는 경우에는 해당 정보를 사용자 장치 또는 연계 시스템에 전파하는 작업을 수행할 수 있다(S12).The threshold value monitoring unit 40 requests the entropy value calculated by the information amount change calculation unit 20 and monitors the sum of the entropy values (S8). The threshold value monitoring unit 40 observes whether the sum of the entropy values calculated in a time series (for example, periodically) exceeds a predetermined threshold value (S9). If the sum exceeds the threshold value, the threshold value monitoring unit 40 outputs the information to the user device It is possible to perform an operation of propagating to the linking system (S12).

반대로, 현재 단계에서 계산된 엔트로피 값들의 총합이 임계치를 넘지 않는 경우에는, 임계치 감시부(40)는 통상시의 동작으로 돌아가 임계치 검사 주기를 확인하고(S10), 검사 주기가 도래하였을 경우(S11), 엔트로피 값을 요청하여 그 총합을 검토하는 과정(S8)을 반복적으로 수행한다.On the other hand, when the total sum of the entropy values calculated at the present stage does not exceed the threshold value, the threshold value monitoring unit 40 returns to the normal operation to check the threshold value inspection period (S10). When the inspection period comes ), The entropy value is requested and the total sum is reviewed (S8).

구체적으로, 임계치 감시부(40)에 의해 시계열적인 엔트로피 값들의 총합을 계산하는 과정의 일 예는 하기 표 1과 같다.Specifically, an example of a process of calculating a sum of time-series entropy values by the threshold value monitoring unit 40 is shown in Table 1 below.

시간(t)Time (t) 00 1One 22 33 44 55 GG ii 5555 2525 1010 1515 2020 3030 GG 5555 8080 9090 105105 125125 155155 H(x)H (x) 00 0.52439750.5243975 0.35221390.3522139 0.40105070.4010507 0.4230170.423017 0.45856140.4585614 H(x) 총합H (x) sum 00 0.524397450.52439745 0.876611360.87661136 1.27766211.2776621 1.70067911.7006791 2.15924042.1592404

표 1을 참조하면, 시간 t=0에서 침해 조건에 해당하는 그래프 데이터의 변화 개수 Gi는 55개이고, 시간 t=0이 첫 번째 시간 구간이므로 침해 조건에 해당하는 그래프 데이터 전체의 개수도 55개이다.Referring to Table 1, since the number of change G i of the graph data corresponding to the infringement condition at time t = 0 is 55, and the time t = 0 is the first time period, the total number of graph data corresponding to the infringement condition is 55 .

다음으로, 시간 t=1에서 침해 조건에 해당하는 그래프 데이터의 변화 개수 Gi는 25개라고 하면, 침해 조건에 해당하는 그래프 데이터 전체의 개수 G는 80(=55+25)이 된다. 이때, Gi/G = 25/80 = 0.3125 이고, 이 값을 수학식 1의 우변에 대입하면 (-1)*(0.3125)*(log2(0.3125)) 의 계산에 의하여 엔트로피 값 H(x)는 약 0.52439745로 얻어진다.Next, when the number of change G i of the graph data corresponding to the infringement condition at time t = 1 is 25, the number G of the entire graph data corresponding to the infringement condition is 80 (= 55 + 25). At this time, G i / G = 25/80 = 0.3125 , and this value is substituted in the right-hand side of equation (1) (-1) * (0.3125) * entropy value by the calculation of the (log 2 (0.3125)) H (x ) Is obtained as about 0.52439745.

다음으로, 시간 t=2에서 전술한 것과 동일한 과정으로 엔트로피 값 H(x)를 계산하면 약 0.3522139의 값이 얻어진다. 이때, 임계치 감시부(40)는 시계열적인 엔트로피 값들의 총합을 계산하므로 H(x)의 총합은 (0.52439745 + 0.3522139)로 0.87661366의 값이 얻어진다. 동일한 방식으로, 임계치 감시부(40)는 t=3, 4, 5에서의 H(x)의 값의 총합을 각각 1.2776621, 1.7006791 및 2.1592404로 얻을 수 있다.Next, when the entropy value H (x) is calculated at the time t = 2 in the same manner as described above, a value of about 0.3522139 is obtained. At this time, since the threshold value monitoring unit 40 calculates the sum of time series entropy values, the sum of H (x) is (0.52439745 + 0.3522139), and the value of 0.87661366 is obtained. In the same way, the threshold value monitoring unit 40 can obtain the sum of the values of H (x) at t = 3, 4, and 5 as 1.2776621, 1.7006791, and 2.1592404, respectively.

이때, 임계치 감시부(40)는 표 1에 기재된 것과 같은 H(x)의 총합을 미리 설정된 임계치와 비교하여 H(x)의 총합이 특정 임계치를 넘었을 때를 감지하는 역할을 한다. 예컨대, 표 1의 예에서 임계치가 1이라고 가정하면, t=3, 4, 5의 시간 구간은 H(x)의 총합이 임계치를 넘으므로 정보 전파 작업이 이루어져야 하는 시점에 해당한다.At this time, the threshold monitoring unit 40 compares the sum of H (x) as shown in Table 1 with a preset threshold value and detects when the sum of H (x) exceeds a specific threshold value. For example, in the example of Table 1, assuming that the threshold is 1, the time interval of t = 3, 4, and 5 corresponds to the point at which the information propagation operation must be performed because the total of H (x) exceeds the threshold value.

이상에서 설명한 본 발명의 실시예들에 의하면, 설정된 일정(예컨대, 시간 값)에 따라 그래프 데이터베이스 내 위협정보에 대해 변화량을 엔트로피 값의 형식으로 추출하는 스케줄러(scheduler)를 두고, 엔트로피 값의 총합에 대한 감시를 통해 그래프 데이터베이스 내 축적되어 있는 침해 위협 정보를 지속적으로 조회 추출할 수 있고, 추출된 엔트로피와 시계열 변화 추이 정보를 이용하여, 현재 비활성 상태(또는 활동 전 상태)인 위협 정보에 대하여 지속적인 감시(기능 또는 서비스 형태)를 구현할 수 있다.According to the embodiments of the present invention described above, a scheduler for extracting a change amount in the form of an entropy value with respect to threat information in a graph database according to a predetermined schedule (for example, a time value) The threat information on the graph database can be continuously inquired and extracted by using the extracted entropy and time series change information to continuously monitor threat information in the current inactive state (Function or service type).

특히, 실시예들에서는 그래프 데이터베이스로부터 추출된 엔트로피 값을 시계열 형태(시간 순서 데이터)로 축적함으로써, 이를 기반으로 특정 침해 사고의 생명주기(life cycle) 분석 및 변화 추이를 관리할 수 있다. 예컨대, 임계치 감시부(40)는 데이터의 사용 목적 및 요청에 따라 지속적으로 침해 정보의 시계열 데이터를 관리하면서, 엔트로피 값이 임계치를 넘는 경우 또는 시계열 데이터를 통해 분석된 침해의 생명주기에 따라 관리가 필요한 것으로 판단되는 경우에 엔트로피 감소를 위한 데이터 최적화 작업을 수행할 수 있다. 이와 같이, 단순 위협 정보를 가지고 측정할 수 없었던 침해 변화 추이에 대한 대응을 통해, 위협 정보 연결 그래프를 지속적으로 관리하고 이를 다른 기술과 접목할 수 있는 이점이 있다.Particularly, in the embodiments, the entropy value extracted from the graph database can be accumulated in a time-series form (time sequence data), and the life cycle analysis and change trend of a specific invasion accident can be managed based on the entropy value. For example, the threshold monitoring unit 40 manages the time series data of the infringing information continuously according to the use purpose of the data and the request, and when the entropy value exceeds the threshold value or management is performed according to the life cycle of the infringement analyzed through the time series data If it is deemed necessary, a data optimization operation for reducing entropy can be performed. In this way, there is an advantage that the threat information connection graph can be continuously managed and combined with other technologies by responding to the trend of infringement change which can not be measured with simple threat information.

이상에서 설명한 실시예들에 따른 침해 활동 추이 분석 방법에 의한 동작은 적어도 부분적으로 컴퓨터 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 실시예들에 따른 침해 활동 추이 분석 방법에 의한 동작을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 실시예를 구현하기 위한 기능적인 프로그램, 코드 및 코드 세그먼트(segment)들은 본 실시예가 속하는 기술 분야의 통상의 기술자에 의해 용이하게 이해될 수 있을 것이다.The operations according to the infringing activity trend analysis method according to the embodiments described above can be at least partially implemented in a computer program and recorded on a computer readable recording medium. The program for realizing the operation according to the infiltration activity trend analysis method according to the embodiments is recorded, and the computer readable recording medium includes all kinds of recording apparatuses in which data that can be read by the computer is stored. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. The computer readable recording medium may also be distributed over a networked computer system so that computer readable code is stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present embodiment may be easily understood by those skilled in the art to which this embodiment belongs.

이상에서 살펴본 본 발명은 도면에 도시된 실시예들을 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 청구범위의 기술적 사상에 의해서 정해져야 할 것이다.While the invention has been shown and described with reference to certain embodiments thereof, it will be understood by those skilled in the art that various changes and modifications may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. However, it should be understood that such modifications are within the technical scope of the present invention. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

Claims (11)

엔트로피 계산을 위한 호출 여부를 결정하도록 구성된 이벤트 처리부;
상기 이벤트 처리부에 의해 호출되어, 엔트로피 계산을 위한 그래프 질의를 생성하며, 침해 활동에 연관된 하나 이상의 그래프 데이터를 포함하는 그래프 데이터베이스로부터 상기 그래프 질의에 상응하여 수신된 반환값에 기초하여 상기 그래프 데이터베이스의 엔트로피 값을 산출하도록 구성된 정보량 변화 계산부;
상기 정보량 변화 계산부로부터 상기 그래프 질의를 수신하고, 상기 그래프 질의에 기초하여 상기 그래프 데이터베이스를 조회하여 상기 반환값을 수신하도록 구성된 그래프 데이터베이스 질의 처리부; 및
상기 정보량 변화 계산부에 의해 복수의 시점에 산출된 상기 엔트로피 값들의 합계를 감시하도록 구성된 임계치 감시부를 포함하되,
상기 그래프 데이터는 침해지표 데이터 객체에 상응하는 복수 개의 노드 및 상기 침해지표 데이터 객체 사이의 연관 관계에 상응하는 상기 노드 사이의 에지를 포함하고,
상기 이벤트 처리부는, 주기적으로 상기 정보량 변화 계산부를 호출하도록 더 구성되며,
상기 임계치 감시부는, 주기적으로 산출된 상기 엔트로피 값들의 누적 합계가 미리 설정된 임계치를 넘는지 여부를 감시하고, 상기 엔트로피 값들의 누적 합계가 상기 임계치를 넘는 경우, 엔트로피 감소를 위한 데이터 최적화 작업을 수행하도록 더 구성된 침해 활동 추이 분석 시스템.
An event processing unit configured to determine whether or not to call for entropy calculation;
Invoking by the event processor to generate a graph query for entropy computation and to retrieve entropy of the graph database based on a return value received corresponding to the graph query from a graph database containing one or more graph data associated with an infringement activity, An information amount change calculation unit configured to calculate a value;
A graph database query processing unit configured to receive the graph query from the information amount change calculation unit, receive the return value by querying the graph database based on the graph query; And
And a threshold monitoring unit configured to monitor a sum of the entropy values calculated at a plurality of time points by the information amount change calculation unit,
The graph data comprising a plurality of nodes corresponding to an infringing indicator data object and an edge between the nodes corresponding to an association between the infringing indicator data objects,
Wherein the event processing unit is further configured to periodically call the information amount change calculation unit,
The threshold monitoring unit monitors whether a cumulative sum of the entropy values calculated periodically exceeds a preset threshold value and performs a data optimization operation for reducing entropy when the cumulative sum of the entropy values exceeds the threshold value More structured infiltration activity analysis system.
삭제delete 삭제delete 제1항에 있어서,
상기 정보량 변화 계산부는, 상기 그래프 데이터베이스에서, 미리 설정된 조건을 충족하는 그래프 데이터의 개수에 대한 상기 미리 설정된 조건을 충족하며 신규 생성 또는 변화된 그래프 데이터의 개수의 비율을 이용하여 상기 엔트로피 값을 산출하도록 더 구성된 침해 활동 추이 분석 시스템.
The method according to claim 1,
The information amount change calculation unit may calculate the entropy value using the ratio of the number of graph data that satisfies the preset condition for the number of graph data satisfying the preset condition and is newly generated or changed in the graph database Infiltration activity trend analysis system.
제4항에 있어서,
상기 정보량 변화 계산부는,
상기 엔트로피 값을 H(x), 상기 미리 설정된 조건을 충족하는 그래프 데이터의 개수를 G, 시간을 t, 시간 구간 i에서 상기 미리 설정된 조건을 충족하며 신규 생성 또는 변화된 그래프 데이터의 개수를 Gi, 상기 미리 설정된 조건을 충족하는 전체 그래프 데이터 중에서 신규 생성 또는 변화된 그래프 데이터가 나타난 확률을
Figure 112019035639426-pat00014
라고 할 경우,
Figure 112019035639426-pat00015
의 수학식에 의하여 상기 엔트로피 값을 계산하도록 더 구성된 침해 활동 추이 분석 시스템.
5. The method of claim 4,
The information amount change calculator calculates,
G is the number of pieces of graph data satisfying the predetermined condition, Gi is time, t is the number of graph data that satisfies the preset condition and newly generated or changed at time interval i, Gi is the number of pieces of graph data, The probability that the newly generated or changed graph data appears in the entire graph data satisfying the predetermined condition
Figure 112019035639426-pat00014
If so,
Figure 112019035639426-pat00015
To calculate the entropy value according to the following equation: < EMI ID = 1.0 >
침해 활동 추이 분석 시스템의 이벤트 처리부가 상기 침해 활동 추이 분석 시스템의 정보량 변화 계산부를 호출하는 단계;
상기 정보량 변화 계산부가, 엔트로피 계산을 위한 그래프 질의를 생성하는 단계;
상기 침해 활동 추이 분석 시스템의 그래프 데이터베이스 질의 처리부가, 상기 그래프 질의에 기초하여 하나 이상의 그래프 데이터를 포함하는 그래프 데이터베이스를 조회함으로써 상기 그래프 데이터베이스로부터 반환값을 수신하는 단계;
상기 정보량 변화 계산부가, 상기 반환값에 기초하여 상기 그래프 데이터베이스의 엔트로피 값을 산출하는 단계; 및
상기 침해 활동 추이 분석 시스템의 임계치 감시부가, 상기 정보량 변화 계산부에 의해 복수의 시점에 산출된 상기 엔트로피 값들의 합계를 감시하는 단계를 포함하되,
상기 그래프 데이터는 침해지표 데이터 객체에 상응하는 복수 개의 노드 및 상기 침해지표 데이터 객체 사이의 연관 관계에 상응하는 상기 노드 사이의 에지를 포함하고,
상기 정보량 변화 계산부를 호출하는 단계는 주기적으로 수행되며,
상기 엔트로피 값들의 합계를 감시하는 단계는,
주기적으로 산출된 상기 엔트로피 값들의 누적 합계가 미리 설정된 임계치를 넘는지 여부를 감시하는 단계; 및
상기 엔트로피 값들의 누적 합계가 상기 임계치를 넘는 경우, 엔트로피 감소를 위한 데이터 최적화 작업을 수행하는 단계를 포함하는 침해 활동 추이 분석 방법.
An event processing unit of the infringement activity trend analysis system calls an information amount change calculation unit of the infringement activity trend analysis system;
Wherein the information amount change calculation unit generates a graph query for entropy calculation;
Receiving a return value from the graph database by querying a graph database including one or more graph data based on the graph query, the graph database query processing unit of the infiltration activity trend analysis system;
Calculating an entropy value of the graph database based on the return value; And
Monitoring a total of the entropy values calculated at a plurality of time points by the information amount change calculation unit, wherein the threshold monitoring unit of the violation activity trend analysis system includes:
The graph data comprising a plurality of nodes corresponding to an infringing indicator data object and an edge between the nodes corresponding to an association between the infringing indicator data objects,
The step of calling the information amount change calculator is periodically performed,
Wherein monitoring the sum of entropy values comprises:
Monitoring whether a cumulative sum of the entropy values periodically calculated exceeds a preset threshold value; And
And performing a data optimization operation for reducing entropy when a cumulative sum of the entropy values exceeds the threshold value.
삭제delete 삭제delete 제6항에 있어서,
상기 엔트로피 값을 산출하는 단계는, 상기 그래프 데이터베이스에서, 미리 설정된 조건을 충족하는 그래프 데이터의 개수에 대한 상기 미리 설정된 조건을 충족하며 신규 생성 또는 변화된 그래프 데이터의 개수의 비율을 이용하여 상기 엔트로피 값을 계산하는 단계를 포함하는 침해 활동 추이 분석 방법.
The method according to claim 6,
Wherein the calculating of the entropy value comprises: calculating, in the graph database, the entropy value by using a ratio of the number of graph data that satisfies the preset condition for the number of graph data satisfying the preset condition and newly generated or changed A method for analyzing the trend of infringing activities including a step of calculating the infringing activity.
제9항에 있어서,
상기 엔트로피 값을 산출하는 단계는,
상기 엔트로피 값을 H(x), 상기 미리 설정된 조건을 충족하는 그래프 데이터의 개수를 G, 시간을 t, 시간 구간 i에서 상기 미리 설정된 조건을 충족하며 신규 생성 또는 변화된 그래프 데이터의 개수를 Gi, 상기 미리 설정된 조건을 충족하는 전체 그래프 데이터 중에서 신규 생성 또는 변화된 그래프 데이터가 나타난 확률을
Figure 112019035639426-pat00016
라고 할 경우,
Figure 112019035639426-pat00017
의 수학식에 의하여 상기 엔트로피 값을 계산하는 단계를 포함하는 침해 활동 추이 분석 방법.
10. The method of claim 9,
The step of calculating the entropy value includes:
G is the number of pieces of graph data satisfying the predetermined condition, Gi is time, t is the number of graph data that satisfies the preset condition and newly generated or changed at time interval i, Gi is the number of pieces of graph data, The probability that the newly generated or changed graph data appears in the entire graph data satisfying the predetermined condition
Figure 112019035639426-pat00016
If so,
Figure 112019035639426-pat00017
And calculating the entropy value according to the following equation.
컴퓨터와 결합되어 제6항, 제9항 또는 제10항 중 어느 한 항에 따른 침해 활동 추이 분석 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.A computer program stored in a medium for execution in accordance with any one of claims 6, 9 or 10 in combination with a computer.
KR1020180147817A 2018-11-26 2018-11-26 System and method for analyzing trend of infringement by calculating entropy of graph data and computer program for the same KR102001958B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180147817A KR102001958B1 (en) 2018-11-26 2018-11-26 System and method for analyzing trend of infringement by calculating entropy of graph data and computer program for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180147817A KR102001958B1 (en) 2018-11-26 2018-11-26 System and method for analyzing trend of infringement by calculating entropy of graph data and computer program for the same

Publications (1)

Publication Number Publication Date
KR102001958B1 true KR102001958B1 (en) 2019-07-23

Family

ID=67439813

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180147817A KR102001958B1 (en) 2018-11-26 2018-11-26 System and method for analyzing trend of infringement by calculating entropy of graph data and computer program for the same

Country Status (1)

Country Link
KR (1) KR102001958B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110100508A (en) * 2010-03-04 2011-09-14 고려대학교 산학협력단 Method and apparatus for unpacking packed executables using entropy analysis
KR20120105759A (en) * 2011-03-16 2012-09-26 한국전자통신연구원 Malicious code visualization apparatus, apparatus and method for detecting malicious code
KR101697875B1 (en) 2015-10-30 2017-01-18 아주대학교산학협력단 Method for analying document based on graph model and system thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110100508A (en) * 2010-03-04 2011-09-14 고려대학교 산학협력단 Method and apparatus for unpacking packed executables using entropy analysis
KR20120105759A (en) * 2011-03-16 2012-09-26 한국전자통신연구원 Malicious code visualization apparatus, apparatus and method for detecting malicious code
KR101697875B1 (en) 2015-10-30 2017-01-18 아주대학교산학협력단 Method for analying document based on graph model and system thereof

Similar Documents

Publication Publication Date Title
US9413773B2 (en) Method and apparatus for classifying and combining computer attack information
CN111786950B (en) Network security monitoring method, device, equipment and medium based on situation awareness
CN112073389B (en) Cloud host security situation awareness system, method, device and storage medium
CN110162976B (en) Risk assessment method and device and terminal
KR100892415B1 (en) Cyber Threat Forecasting System and Method therefor
CN109543891B (en) Method and apparatus for establishing capacity prediction model, and computer-readable storage medium
CN111740868B (en) Alarm data processing method and device and storage medium
CN110602135B (en) Network attack processing method and device and electronic equipment
CA2779325C (en) Health care incident prediction
CN114548706A (en) Early warning method for business risk and related equipment
JP2021027505A (en) Monitoring device, monitoring method, and monitoring program
CN116488989A (en) Method for monitoring abnormality of interface access data, computer equipment and computer readable storage medium
US8364776B1 (en) Method and system for employing user input for website classification
CN114116391A (en) Redis instance health detection method, device, equipment and storage medium
CN116938600B (en) Threat event analysis method, electronic device and storage medium
CN113760642A (en) Monitoring processing method and device
CN113901441A (en) User abnormal request detection method, device, equipment and storage medium
CN112861142A (en) Database risk level determination method and device, storage medium and electronic device
KR102001958B1 (en) System and method for analyzing trend of infringement by calculating entropy of graph data and computer program for the same
CN112349431A (en) Method, system and computer readable medium for generating health index of pharmacovigilance system
CN110210221B (en) File risk detection method and device
CN116795631A (en) Service system monitoring alarm method, device, equipment and medium
Lu et al. Economic–statistical Design of Maximum Exponentially Weighted Moving Average Control Charts
CN115374088A (en) Database health degree analysis method, device and equipment and readable storage medium
CN114143173A (en) Data processing method, device, equipment and storage medium

Legal Events

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