KR20070104761A - Signature graph hybrid intrusion detection system - Google Patents

Signature graph hybrid intrusion detection system Download PDF

Info

Publication number
KR20070104761A
KR20070104761A KR1020060036812A KR20060036812A KR20070104761A KR 20070104761 A KR20070104761 A KR 20070104761A KR 1020060036812 A KR1020060036812 A KR 1020060036812A KR 20060036812 A KR20060036812 A KR 20060036812A KR 20070104761 A KR20070104761 A KR 20070104761A
Authority
KR
South Korea
Prior art keywords
signature
intrusion
intrusion detection
event
graph
Prior art date
Application number
KR1020060036812A
Other languages
Korean (ko)
Other versions
KR100832088B1 (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 KR1020060036812A priority Critical patent/KR100832088B1/en
Publication of KR20070104761A publication Critical patent/KR20070104761A/en
Application granted granted Critical
Publication of KR100832088B1 publication Critical patent/KR100832088B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating

Abstract

A signature graph hybrid IDS is provided to analyze intrusion by automatically storing information about attack to a log file, classifying contents of the log file into each signature, storing the classified signatures a database, and comparing the signature of the newly inputted attack with the signatures stored in the database. A DCM(Data Collection Module) collects audit data by capturing data in the network. An ADGM(Audit Data Generation Module) generates the audit data capable of determining intrusion by analyzing the collected audit data. An IDSGM(Intrusion Detection Signature Generation Module) generates an intrusion detection signature by separating the audit data into an alert and log event. An ATES(Algorithm Transforming the Existing Signature) generates the intrusion detection signature for similar or mutative intrusion based on the generated intrusion detection signature. An SGGM(Signature Graph Generation Module) makes a signature graph by analyzing correlation between the classified signatures. An information database determines the intrusion if a connection event is not agreed with the audit data stored in the information database by linking with an analysis engine, and issues the alert to a manager through a response module.

Description

시그니처 그래프를 이용한 하이브리드 기반 침입탐지 시스템{Signature Graph Hybrid Intrusion Detection System}Signature Graph Hybrid Intrusion Detection System using Signature Graph

도 1은 침입탐지 시스템의 종류를 나타내는 도면,1 is a view showing the type of intrusion detection system,

도 2는 침입탐지 시스템의 기본 구성 블록도,2 is a basic block diagram of an intrusion detection system;

도 3은 데이터 소스에 따른 침입탐지 시스템의 분류를 나타내는 개념도, 3 is a conceptual diagram illustrating a classification of an intrusion detection system according to a data source;

도 4는 본 발명의 정보흐름과 시스템 구성 요소간의 동작을 나타내는 개념도,4 is a conceptual diagram showing the operation between the information flow and system components of the present invention;

도 5는 본 발명의 센서(분석엔진) 모듈의 처리흐름도,5 is a flow chart of a sensor (analysis engine) module of the present invention;

도 6은 패킷필터링 동작의 개념도.6 is a conceptual diagram of a packet filtering operation.

도 7은 패킷필터링 동작의 흐름도.7 is a flowchart of a packet filtering operation.

도 8은 MP의 흐름도,8 is a flowchart of an MP;

도 9는 호스트상의 침입을 탐지하기 위한 MP 구성도,9 is an MP configuration diagram for detecting an intrusion on a host;

도 10은 침입을 예상한 변형된 시그니처 생성을 위한 순서도,10 is a flowchart for generating a modified signature in anticipation of intrusion;

도 11은 ATES를 통하여 새로운 시그니처를 생성하기 위한 개념도,11 is a conceptual diagram for generating a new signature through ATES;

도 12는 새로운 침입 시그니처를 생성하는 과정을 나타내는 개념도, 12 is a conceptual diagram illustrating a process of generating a new intrusion signature;

도 13은 본 발명에 적용된 시그니처 그래프 생성의 처리흐름도,13 is a flow chart of the signature graph generation applied to the present invention;

도 14는 시그니처 그래프의 상태도,14 is a state diagram of a signature graph;

도 15a는 단계별 동작에 따른 시그니처 검출 처리의 단계 설명도,15A is a step explanatory diagram of the signature detection process according to the stepwise operation;

도 15b는 단계별 동작에 따른 시그니처 검출 처리의 단계 설명도(계속),15B is a step explanatory diagram of the signature detection process according to the step-by-step operation (continued),

도 16은 SGHIDS의 정보 데이터베이스 구성도,16 is a configuration diagram of an information database of SGHIDS;

도 17은 네트워크 이용률 분석 그래프,17 is a network utilization analysis graph,

도 18은 이벤트 종류에 따른 분석 그래프,18 is an analysis graph according to an event type;

도 19는 시그니처 그래프를 이용한 분석 그래프,19 is an analysis graph using a signature graph,

도 20은 SGHIDS 시그니처 검출의 성공률과 실패율을 비교하는 그래프.20 is a graph comparing the success rate and failure rate of SGHIDS signature detection.

본 발명은 네트워크 기반의 시그니처 그래프 침입탐지 시스템(SGNIDS, Signature Graph Network Intrusion Detection System)과 호스트 기반의 시그니처 그래프 침입탐지 시스템(SGIDA, Signature Graph Intrusion Detection Agent)을 통합하여 설계한 "시그니처 그래프를 이용한 하이브리드 기반 침입탐지 시스템"(Signature Graph Hybrid Intrusion Detection System)에 관한 것이다. The present invention is a hybrid using a signature graph designed by integrating a network-based Signature Graph Network Intrusion Detection System (SGNIDS) and a host-based Signature Graph Intrusion Detection System (SGIDA). Based intrusion detection system "(Signature Graph Hybrid Intrusion Detection System).

최근, e비즈니스의 확산으로 컴퓨터 보안의 중요성이 높아지고 있다. 이는 인터넷의 보급이 급격히 확산된 지금 회사관련 업무뿐만 아니라, 개인 사업자 및 개인의 인터넷을 통한 각종 전자상거래 등의 업무가 급속도로 증가하고 있는 상황에서 더욱 그러하다. 그러나 인터넷은 신뢰할 수 없는 네트워크의 집합체로서 정보 흐름에 대한 통제가 어렵다. 또한, 인터넷에 존재하는 중요 자원에 대한 활용을 극 대화하면서 내부 중요 자원에 대한 보호를 위한 솔루션에 대한 필요성이 대두되고 있는 실정이며, 우리나라의 정보보호 시장은 현재 도입기에서 성장기로 옮겨가고 있다. 따라서 보안의 중심은, 방화벽이나 바이러스 백신 등의 보안 1세대 제품 및 서비스에서 침입탐지 시스템이나 보안 컨설팅 등의 보안 2세대 제품 및 서비스로 옮겨가고 있는 추세이다. 기존의 침입탐지 시스템에 관련된 침입 탐지 기술, 침입탐지 시스템의 종류 등에 대해서 소개한다.Recently, the importance of computer security is increasing due to the spread of e-business. This is especially true in the situation where the rapid spread of the Internet is rapidly increasing not only company-related tasks but also various businesses such as individual businesses and individuals through the Internet. However, the Internet is a collection of unreliable networks, which makes it difficult to control the flow of information. In addition, while maximizing the use of important resources on the Internet, there is a need for a solution for protecting internal critical resources, and the information security market in Korea is moving from the introduction stage to the growth stage. Therefore, the focus of security is shifting from security first generation products and services such as firewalls and antivirus to security second generation products and services such as intrusion detection systems and security consulting. This chapter introduces intrusion detection technology related to existing intrusion detection systems and types of intrusion detection systems.

침입탐지 시스템(IDS, intrusion detection system)Intrusion detection system (IDS)

침입탐지란, 시스템이나 네트워크를 권한없는 사람이 사용하는 것 혹은 시스템이나 네트워크 상에서 받는 공격을 탐지하는 것을 의미한다. 침입탐지 시스템(IDS)은 이런 공격이나 시스템, 네트워크, 관련있는 자원들을 권한 없는 사람이 사용하는 것을 탐지하고 저지하기 위하여 설계된 것이다. 침입탐지 시스템은 방화벽처럼 소프트웨어 기반이나 혹은 하드웨어/소프트웨어를 결합하여 사용할 수 있다. Intrusion detection means either unauthorized use of a system or network, or detection of attacks on the system or network. Intrusion Detection Systems (IDS) are designed to detect and prevent such attacks, or the use of unauthorized persons by the systems, networks, and related resources. Intrusion detection systems can be software-based, or a combination of hardware and software, like a firewall.

침입탐지 시스템의 종류는 판정 기준에 따라 다양하게 존재한다. 침입탐지 시스템은 기능에 따라 네트워크 기반, 호스트 기반, 그리고 분산 침입탐지 시스템으로 나뉜다. 또한, 이러한 침입탐지 시스템의 분류 기준으로는 탐지하는 데이터의 소스와 공격 행위의 판단을 결정하는 침입탐지 모델을 들 수 있다. 도1은 침입탐지 시스템의 다양한 종류를 나타낸다. There are various types of intrusion detection systems depending on the judgment criteria. Intrusion detection systems are divided into network based, host based, and distributed intrusion detection systems according to their functions. In addition, the classification criteria of the intrusion detection system may be an intrusion detection model that determines the source of the data to be detected and the determination of the attack behavior. 1 shows various kinds of intrusion detection systems.

침입탐지 시스템의 구조Intrusion Detection System Structure

도2는 침입탐지 시스템의 개략적 구조를 나타낸 것으로서, 이벤트 생성 기(Event generator)는 모든 이벤트에 대한 데이터를 수집하고, 이벤트 분석기(Event analyzer)는 수집된 데이터를 분석해서 침입탐지를 수행한다. 이벤트 데이터베이스(Event database)는 침입탐지에 필요한 정보를 저장하고, 응답 유닛(Response Unit)은 탐지된 침입에 대한 대응 행동을 수행한다. 2 shows a schematic structure of an intrusion detection system. An event generator collects data on all events, and an event analyzer analyzes the collected data to perform intrusion detection. An event database stores information necessary for intrusion detection, and a response unit performs a response to detected intrusions.

침입탐지 시스템의 분류Classification of Intrusion Detection System

1. 침입 탐지 시스템의 종류1. Types of Intrusion Detection System

침입탐지 시스템(IDS)은 데이터 소스에 따라 호스트기반 침입탐지 시스템과 네트워크 기반 침입탐지 시스템, 그리고 이들을 결합한 하이브리드 기반 침입탐지 시스템으로 구분된다. 도3은 데이터 소스에 따른 침입탐지 시스템의 분류를 나타낸 것이다. Intrusion Detection System (IDS) is classified into host-based intrusion detection system, network-based intrusion detection system, and hybrid based intrusion detection system combining them according to data source. 3 shows a classification of an intrusion detection system according to a data source.

(1) 호스트 기반 침입탐지 시스템(1) Host Based Intrusion Detection System

호스트 기반 침입탐지 시스템은 단일 호스트에 설치되어 해당 시스템의 감사 데이터를 사용하여 침입을 탐지하는 시스템이다. 이 방식은 대부분 해당 시스템의 파일들에 대한 무결성을 점검하는데, 이는 그 호스트의 중요한 파일이나 보안 관련 파일들이 수정되었는지 또는 임의의 사용자가 사용자 자신의 보안 수준을 넘는 파일들로 접근하려 시도했는지를 감지하는 것이다. 호스트 기반의 침입탐지 시스템은 해당 호스트에 설치되므로 시스템별로 호환성의 문제를 갖고 있으며 시스템 자원에 부하를 줄 수 있는 단점이 있지만, 네트워크 환경에 구애받지 않는다는 장점을 가지고 있다.A host-based intrusion detection system is a system installed on a single host to detect intrusions using the audit data of the system. In most cases, this checks the integrity of the files on the system, which detects whether critical files or security-related files on the host have been modified, or whether any user attempts to access files beyond your own security level. It is. Host-based intrusion detection system has the problem of compatibility by system because it is installed in the host and has a disadvantage that can put a load on system resources, but has the advantage that it is not dependent on the network environment.

(2) 네트워크 기반 침입탐지 시스템(2) network-based intrusion detection system

네트워크 기반의 침입탐지 시스템들은 통상, 전 네트워크 세그먼트를 감시하는 전용 시스템들이다. 대부분의 경우 방화벽 외부 네트워크 세그먼트나 내부의 주요 네트워크 세그먼트에 설치되는데, 이는 네트워크 상에 흘러 다니는 모든 패킷들을 검사하여 알려진 공격들이나 의심스러운 행동에 대하여 분석하게 된다. 상기 호스트 기반 침입탐지 시스템과는 달리 네트워크 세그먼트를 감시하므로 효과적인 침입탐지 환경을 갖출 수 있고 보호하는 네트워크 서버들의 호환성과 상관없이 기존 서비스의 중단 및 영향 없이 시스템을 구축할 수 있다. 단지, 네트워크 상의 흘러 다니는 모든 트래픽을 검사하므로 네트워크 트래픽 용량에 영향을 많이 받는다는 단점이 있다. 표 1은 호스트와 네트워크 기반 침입탐지 시스템의 장단점을 비교한 것이다.Network-based intrusion detection systems are typically dedicated systems that monitor the entire network segment. In most cases, it is installed in the network segment outside the firewall or in the main network segment inside, which inspects all packets flowing on the network for analysis of known attacks or suspicious behavior. Unlike the host-based intrusion detection system, the network segment is monitored so that an effective intrusion detection environment can be provided and the system can be constructed without interruption or impact of existing services regardless of the compatibility of network servers to be protected. However, since all traffic flowing on the network is inspected, the network traffic capacity is greatly affected. Table 1 compares the advantages and disadvantages of host and network-based intrusion detection systems.

호스트 기반Host-based 네트워크 기반Network-based 장 점Advantages 콘솔 작업자의 공격을 차단한다. Block console worker attacks. 저렴한 비용으로 효과적인 보안 처리가 가능하고, 대규모 네트워크를 지원하며, 호스트 공격 전에 탐지가 가능하다. It provides cost-effective security at low cost, supports large networks, and detects before host attacks. 단 점Disadvantages 관리와 유지보수가 어려우며, 대규모 네트워크 지원이 곤란하다. 또한, 호스트 성능에 영향을 미친다. It is difficult to manage and maintain, and large network support is difficult. It also affects host performance. 콘솔 작업자의 공격은 탐지하지 못한다. Attacks by console workers are not detected.

2. 침입 탐지 모델에 의한 구분2. Classification by Intrusion Detection Model

(1) 오용 탐지(Misuse)(1) Misuse

오용탐지 모델은 다른 말로 시그니처 기반(Signature-based) 탐지 모델이라고도 하는데, 이는 알려진 시스템의 취약점을 이용하는 침입방법의 시그니처(signature) 특정 수단에 대한 시그니처를 정의하고 그에 따른 트래픽을 비교함으로써 침입을 탐지하는 방식이다.The misuse detection model is also known as the signature-based detection model, which defines signatures for signature-specific means of intrusion methods that exploit vulnerabilities in known systems and detects intrusions by comparing traffic accordingly. That's the way.

(2) 변칙 탐지(Anomaly)(2) Anomaly Detection

변칙탐지 모델은 프로필 기반(Profile-based) 탐지 모델이라고도 한다. 이는 네트워크 상의 사용자의 행동을 수집하고 분석하여 통계적 분석에 의해 변칙적 행위를 감지하는 방식이다. 다음 표 2는 오용탐지와 변칙탐지의 장단점을 비교한 것이다.The anomaly detection model is also known as a profile-based detection model. This method collects and analyzes the behavior of users on the network and detects anomalous behavior by statistical analysis. Table 2 below compares the advantages and disadvantages of misuse detection and anomaly detection.

오용 탐지Misuse detection 변칙 탐지Anomaly Detection 장 점Advantages 시스템 자원의 비중이 적고, 탐지 확률이 높다. Low system resources and high detection probability. 보편적인 통계적 처리 방법을 이용가능하며, Misuse 방식과 비교하여 보안 인적 자원 비중이 적다. Universal statistical processing methods are available, and the security human resources share is less than the misuse method. 단 점Disadvantages 신규 해킹 출현시마다 새로운 signature 반영이 필요하며, signature 관리를 위한 보안 전문인력이 필요하다. Every time a new hack appears, a new signature needs to be reflected and a security expert is needed to manage the signature. 시스템 자원의 비중이 요구되며, 통계적 기준을 정함으로 탐지 결과의 확실성이 떨어진다. The weight of system resources is required, and the statistical criteria are set to make the detection results less certain.

기존의 침입탐지 시스템에 있어서는, 침입 때마다 시그니처를 업데이트 시켜주어야 하며, 새로운 침입 또는 변종에 대하여 미리 예방하는 기능은 다소 취약하였다. 또한, 침입에 대해 미리 예상하여 침입 시그니처를 생성하고 저장함으로써 새로운 침입 때마다 시그니처를 계속적으로 업데이트 시켜주어야 하는 단점이 있어서 관리 비용이 증가하게 되며, 기존의 침입탐지 시스템은 실시간으로 공격을 탐지할 수 없었다. 그리고, 기존의 네트워크 기반 침입탐지 시스템과 호스트 기반 침입탐지 시스템의 공격루트 탐지 범위는 제한되어 있기 때문에 보안성이 다소 낮다.In the existing intrusion detection system, signatures need to be updated at every intrusion, and the function to prevent new intrusions or variants in advance is rather weak. In addition, by generating and storing intrusion signatures in anticipation of intrusions in advance, it is necessary to continuously update signatures for each new intrusion, thereby increasing administrative costs. Existing intrusion detection systems can detect attacks in real time. There was no. In addition, since the attack root detection range of the existing network-based intrusion detection system and the host-based intrusion detection system is limited, the security is somewhat low.

이러한 문제를 극복하기 위하여, 본 발명은 기존의 침입탐지 시스템과는 달리, 네트워크 기반의 시그니처 그래프 침입탐지 시스템(SGNIDS, Signature Graph Network Intrusion Detection System)과 호스트 기반의 시그니처 그래프 침입탐지 시스템(SGIDA, Signature Graph Intrusion Detection Agent)을 통합하여 설계한 시그니처 그래프를 이용한 하이브리드 기반 침입탐지 시스템(이하, "SGHIDS(Signature Graph Hybrid Detection System)"라는 용어와 혼용함)을 개시한다.In order to overcome this problem, the present invention, unlike the existing intrusion detection system, the network-based Signature Graph Network Intrusion Detection System (SGNIDS) and host-based signature graph intrusion detection system (SGIDA, Signature A hybrid-based intrusion detection system using a signature graph designed by integrating a Graph Intrusion Detection Agent (hereinafter referred to as "SGHIDS (Signature Graph Hybrid Detection System)") is disclosed.

따라서 본 발명의 목적은, 외부에서 공격이 들어 오면 컴퓨터 내부에 공격에 대한 정보들이 로그 파일에 자동으로 저장이 되고, 이 저장된 파일의 내용을 시그니처로 분류하여 DB에 저장을 시켜 놓고, 새롭게 들어오는 공격에 대하여 분석을 해서, DB에 저장된 시그니처와 비교분석하여 침입인지 아닌지를 분석하는 것을 특징으로 하는, 시그니처 그래프를 이용한 하이브리드 기반 침입탐지 시스템을 제공하는 것이다.Therefore, the purpose of the present invention, when an attack from the outside, the information of the attack is automatically stored in the log file inside the computer, the contents of the stored file is classified into a signature and stored in the DB, newly incoming attack It is to provide a hybrid-based intrusion detection system using a signature graph, characterized in that by analyzing for, comparing with the signature stored in the DB to analyze whether or not intrusion.

도4는 본 발명에 따른 침입탐지 시스템(100)의 개괄적 구성 및 각 구성요소간의 정보흐름을 나타내고 있다. 4 shows a general configuration of the intrusion detection system 100 according to the present invention and the information flow between each component.

본 발명에 따른 침입탐지 시스템(100)은 크게, 침입에 대하여 탐지할 수 있는 센서, 즉, 분석 엔진(110)과, 침입 시그니처를 저장하고 있는 정보 데이터베이스(120), 그리고 침입에 대하여 실시간으로 알려주는 침입에 대한 응답 모듈(130)로 구성된다(도4 참조). Intrusion detection system 100 according to the present invention is largely informed in real time about the sensor that can detect the intrusion, that is, the analysis engine 110, the information database 120 storing the intrusion signature, and the intrusion in real time Consists of a response module 130 for intrusion (see Figure 4).

본 발명에 따른 SGHIDS의 침입탐지 센서(분석엔진)는 "DCM"(Data Collection Module, 데이터수집 모듈), "ADGM"(Audit Data Generation Module, 감사데이터 생성 모듈), "IDSGM"(Intrusion Detection Signature Generation Module, 침입탐지 시그니처 생성 모듈), "ATES"(Algorithm Transforming the Existing Signature, 기존 시그니처 변환 알고리즘), 그리고 "SGGM"(Signature Graph Generation Module, 시그니처 그래프 생성 모듈)으로 구성되어, 각 모듈을 통해 침입 탐지를 위한 시그니처 그래프를 생성한다. Intrusion detection sensor (analysis engine) of SGHIDS according to the present invention is "DCM" (Data Collection Module, data collection module), "ADGM" (Audit Data Generation Module, audit data generation module), "IDSGM" (Intrusion Detection Signature Generation) Module, Intrusion Detection Signature Generation Module), "ATES" (Algorithm Transforming the Existing Signature), and "SGGM" (Signature Graph Generation Module) Create a signature graph for.

IDSGM은 네트워크상과 호스트상의 침입에 대하여 침입 시그니처를 생성한다. IDSGM을 통해 생성된 침입 시그니처는 ATES를 이용하여 새로운 형태의 침입 시그니처 혹은 비슷한 형태의 침입 시그니처를 자동적으로 생성하여 SGHIDS 정보 데이터베이스에 저장한다. 이로써 기존의 침입탐지 시스템보다 새로운 침입에 대하여 탐지할 수 있는 침입 탐지 능력이 향상될 뿐만 아니라, 새로운 침입 시그니처들을 미리 예상하여 SGHIDS 정보 데이터베이스에 저장함으로써 침입 때마다 시그니처를 업데이트 시켜주어야 하는 단점이 보완된다. 또한, 침입에 대한 응답 모듈을 통해 실시간으로 시스템 내부의 네트워크 패킷을 감시하고 탐지 및 대응할 수 있도록 함으로써 보안적 측면이 향상된다.IDSGM generates intrusion signatures for intrusions on networks and hosts. Intrusion signatures generated through IDSGM automatically generate new intrusion signatures or similar ones using ATES and store them in the SGHIDS information database. This not only improves the intrusion detection ability to detect new intrusions compared to existing intrusion detection systems, but also compensates for the disadvantage of having to update signatures every time intrusion by predicting new intrusion signatures and storing them in the SGHIDS information database. . In addition, the security module is enhanced by enabling intrusion response module to monitor, detect and respond to network packets inside the system in real time.

본 발명에서는 네트워크 상의 패킷을 이용한 정보 교환에 있어 비정상적인 방법으로 네트워크에 연결되어 있는 불법 접속, 시스템 내부의 침입 관련 행위를 탐지할 수 있는 시그니처 그래프를 이용하고 또한, 감사자료와 로그파일을 이용하여 침입에 관하여 제공된 정보들은 데이터와 로그파일을 저장하는 로그 서버에서 독립적으로 관리해주는 관리 콘솔을 이용하여 침입을 추가 혹은 삭제할 수 있도록 함으로써 추가된 침입 정보에 대해서는 이에 합당한 침입 탐지를 할 수 있게 해 줌으로써 보안적 측면이 강화된다. In the present invention, a signature graph that detects illegal access connected to the network and an intrusion-related activity in the system in an abnormal way in the exchange of information using packets on the network, and also uses the audit data and log files to invade The information provided in this section can be added or deleted using the administrative console independently managed by the log server that stores data and log files. Therefore, the added intrusion information can be detected accordingly. The side is strengthened.

앞에서 설명한 것과 같이, 본 발명에 따른 시그니처 그래프를 이용한 하이브리드 기반 침입탐지 시스템(SGHIDS)은 네트워크 기반의 시그니처 그래프 침입탐지 시스템과 호스트 기반의 시그니처 그래프 침입탐지 시스템을 결합한 침입탐지 시스템이다. 본 발명에 따른 침입탐지 시스템은 침입을 탐지해 주는 센서(분석 엔진)와, 침입 시그니처와 로그 파일을 기록할 수 있는 정보 데이터베이스와, 침입에 대한 응답 모듈로 구성된다(도4 참조).As described above, the hybrid-based intrusion detection system (SGHIDS) using the signature graph according to the present invention is an intrusion detection system combining a network-based signature graph intrusion detection system and a host-based signature graph intrusion detection system. The intrusion detection system according to the present invention comprises a sensor (analysis engine) for detecting intrusion, an information database for recording intrusion signatures and log files, and a response module for intrusion (see Fig. 4).

분석엔진(110)은 첫째, 감사데이터를 수집, 분석하여 침입을 판정할 수 있는 감사 자료를 생성하고, 둘째, 이 감사 자료를 alert와 log 이벤트로 분리하여 침입 시그니처를 생성한다. 셋째, 이 생성된 침입 시그니처를 기반으로 해서 ATES를 이용하여 비슷한 유형의 침입이나 새로운 유형의 침입 시그니처를 생성하고, 끝으로 alert와 log 이벤트 유형으로 분류된 시그니처 간의 상호관계를 분석하여 시그니처 그래프를 작성해 준다. The analysis engine 110 firstly generates audit data to collect and analyze the audit data to determine an intrusion, and secondly, separates the audit data into alert and log events to generate an intrusion signature. Third, based on this generated intrusion signature, create similar type of intrusion or new type of intrusion signature using ATES, and finally, create a signature graph by analyzing the correlation between signatures classified as alert and log event types. give.

침입정보를 가지고 있는 정보 데이터베이스(120)는 침입의 여부를 판단하는 분석 엔진(110)과 직접적으로 연동되어 네트워크 패킷이나 감사 자료, 시스템 로그 등 정당한 접속이 아닌 경우, 정보 데이터베이스(120)에 저장되어 있는 감사 자료와 일치하지 않을 경우 침입으로 판단하고, 이에 따른 침입에 대한 응답 모듈을 통해 관리자에게 경보를 울림로써 보다 신뢰할 수 있는 침입탐지를 가능하게 해준다. The information database 120 having intrusion information is stored in the information database 120 when it is not a legitimate connection such as a network packet, audit data, or system log by directly interworking with the analysis engine 110 that determines whether an intrusion is performed. If it does not match the audit data, it is determined to be an intrusion, and the response module for the intrusion enables the administrator to make a more reliable intrusion detection by alerting the administrator.

본 발명에 따른 침입탐지 시스템의 센서 구성을 반복해서 설명하면, 네트워크 상의 자료를 캡쳐하여 감사 자료만을 생성하는 DCM과, 수집된 패킷 중 침입을 판정할 수 있도록 하는 감사 자료만을 생성하는 ADGM과, alert와 log 이벤트로 분 리하여 데이터베이스 저장하는 IDSGM과, 시그니처 생성 모듈을 통해 생성된 침입 시그니처를 기반으로 새로운 침입 시그니처나 비슷한 유형의 시그니처를 생성하는 ATES와, 이벤트 유형으로 분류된 시그니처 간의 상호 관계를 분석하여 시그니처 그래프를 작성하는 PGGM으로 구성된다. 도 5는 본 발명의 각 모듈의 처리흐름도로서 각 모듈의 대표 적 작용을 나타내고 있다. 각 모듈별로 설명한다.When the sensor configuration of the intrusion detection system according to the present invention is described repeatedly, DCM which captures data on the network to generate only audit data, ADGM for generating only audit data for determining intrusion among collected packets, and alert Analyzes the correlation between IDSGM, which separates the database into log events and log events, ATES generates new intrusion signatures or similar types of signatures based on intrusion signatures generated by the signature generation module, and signatures classified by event type. It consists of a PGGM that creates a signature graph. 5 is a flowchart illustrating a process of each module of the present invention, and the representative operation of each module is shown. It describes each module.

DCM(Data Collection Module)Data Collection Module (DCM)

DCM은 패킷 캡쳐 라이브러리를 이용해 패킷을 필터링하고, 필터링된 패킷은 본 발명이 요구하는 감사 자료를 생성하기 위해 패킷을 축소하는 과정을 거치게 된다.DCM filters the packet using a packet capture library, and the filtered packet undergoes a process of reducing the packet to generate the audit data required by the present invention.

- 패킷 캡쳐Packet capture

패킷 캡쳐는 자신에게 전달되는 패킷(목적지가 어디든 상관없음)을 받아 들여 패킷의 내용을 확인한다. 이는 네트워크의 사용에 대한 통계나 보안을 목적으로 하는 모니터링, 네트워크 디버깅, 스니퍼링 등에도 적용 가능하다. 표 3은 패킷 캡쳐 알고리즘을 예시하고 있다. Packet capture accepts packets sent to them (no matter where they are intended) and checks the contents of the packets. This is also applicable to statistics on network usage, monitoring for security purposes, network debugging, and sniffer. Table 3 illustrates the packet capture algorithm.

struct pcap { int snapshot; int linktype; int tzoff; int offset; struct pcap_sf sf; struct pcap_md md; /* Read buffer. */ int bufsize; u_char *buffer; u_char *bp; int cc; /* Place holder for pcap_next(). */ u_char *pkt; /* Placeholder for filter code if bpf not in kernel. */ struct bpf_program fcode; char errbuf[PCAP_ERRBUF_SIZE]; } typedef struct pcap pcap_t; struct pcap {int snapshot; int linktype; int tzoff; int offset; struct pcap_sf sf; struct pcap_md md; / * Read buffer. * / int bufsize; u_char * buffer; u_char * bp; int cc; / * Place holder for pcap_next (). * / u_char * pkt; / * Placeholder for filter code if bpf not in kernel. * / struct bpf_program fcode; char errbuf [PCAP_ERRBUF_SIZE]; } typedef struct pcap pcap_t;

- 패킷 필터Packet Filter

1) 패킷 필터 1) packet filter

패킷을 필터링하기 위해 상기 표 3(패킷 필터 규칙의 예)과 같이 근원지/목적지 주소, 근원지/목적지 포트 번호, 프로토콜 플래그, 행위(허가 또는 거절)로 구성된 패킷 필터규칙을 정하고, 패킷 필터 규칙이 정해지면 인터넷 주소에 적용하는 허가 또는 거절하는 조건의 순차적인 액세스 집합인 액세스 리스트를 정의한다. 패킷을 허가 또는 거절할지 액세스 리스트에 있는 행위에 대해 순차적으로 결정하며, 패킷에 해당하는 액세스 리스트가 나타날 때까지 혹은 마지막 액세스 리스트에 도달할 때까지 순차적으로 점검하게 된다.To filter the packet, a packet filter rule consisting of source / destination address, source / destination port number, protocol flag, and action (permit or reject) is defined as shown in Table 3 (example of packet filter rule), and the packet filter rule is Defines an access list, which is a sequential set of accesses to allow or deny conditions that apply to ground Internet addresses. The actions in the access list are sequentially determined whether to allow or deny the packet, and are checked sequentially until the access list corresponding to the packet appears or until the last access list is reached.

2) 필터 규칙2) filter rules

필터 규칙은 어떤 패킷들을 출력할 것인가를 선택하는데 쓰이게 된다. 만약, 대량의 패킷이 수집되더라도 조건식에 부합되는 패킷만을 출력한다. 필터 규칙은 하나 또는 몇 개의 primitive로 구성되어 있으며 형식은 표 4와 같다. 또한 표 5는 패킷필터의 규칙에 관한 알고리즘을 예시하고 있다. Filter rules are used to select which packets to output. If a large amount of packets are collected, only packets that meet the conditional expression are output. A filter rule consists of one or several primitives and the format is shown in Table 4. Table 5 also illustrates the algorithm for the rules of the packet filter.

규칙번호Rule Number Source AddressSource Address Source PortSource Port Destination AddressDestination Address Destination PortDestination port ProtocolProtocol ActionAction 1One 130.1.20.1130.1.20.1 10241024 203.239.46.1203.239.46.1 8080 TCPTCP PASSPASS 22 130.1.20.5130.1.20.5 5050 203.239.46.1203.239.46.1 8080 TCPTCP REJECTREJECT

action [direction] [log] [quick] [on interface] [af] [proto protocol] \ [from src_addr [port src_port]] [to dst_addr [prot dst_port]] \ [flag tcp_flags] [state] action [direction] [log] [quick] [on interface] [af] [proto protocol] \ [from src_addr [port src_port]] [to dst_addr [prot dst_port]] \ [flag tcp_flags] [state]

3) 패킷 필터 동작3) Packet Filter Operation

패킷 필터링 규칙은 패킷 필터 장치의 포트에 대해서만 정의되어야 한다. 또한, 패킷이 포트에 도착했을 때, 패킷 헤더를 분석한다. 패킷 필터링 장치는 IP, TCP, UDP 헤더에 들어 있는 영역만을 조사한다. 도 6은 패킷 필터링 동작의 개념을 나타내고, 도 7은 패킷 필터링 동작의 순서도를 나타낸다. 패킷 필터 규칙은 특정 순서로 저장된다. 각 규칙은 패킷 필터 규칙이 저장되어 있는 순서대로 패킷에 적용한다. Packet filtering rules should only be defined for ports of packet filter devices. Also, when a packet arrives at the port, the packet header is analyzed. The packet filtering apparatus examines only the areas contained in the IP, TCP, and UDP headers. 6 shows a concept of a packet filtering operation, and FIG. 7 shows a flowchart of a packet filtering operation. Packet filter rules are stored in a specific order. Each rule applies to packets in the order in which the packet filter rules are stored.

ADGM(Audit Data Generation Module)Audit Data Generation Module (ADGM)

DCM을 통해 수집된 자료들은 침입을 탐지하기 위한 감사 자료로 부적합하기 때문에, ADGM을 이용하여, 수집된 패킷 중 침입을 판정할 수 있는 감사 자료를 추출한다(도 5 참조). DCM을 통해 수집된 자료들은 이더넷 프레임을 전체로 받기 때문에 ADGM을 이용하여, 첫째, 이더넷 계층에서의 IP 혹은 ARP 패킷인지를 분석해야 하며, 둘째, IP 계층에서의 ICMP, TCP 그리고 UDP인지를 각각 분석하여 침입을 탐지하기 위한 감사 자료를 생성하고 생성된 감사 자료는 정보 데이터베이스(120)에 저장한다. Since the data collected through DCM are not suitable as audit data for detecting an intrusion, the ADGM is used to extract audit data that can determine the intrusion from the collected packets (see FIG. 5). Since the data collected through DCM receives the Ethernet frame as a whole, the ADGM is used to analyze whether it is an IP or ARP packet at the Ethernet layer, and secondly, whether it is ICMP, TCP and UDP at the IP layer. To generate audit data for detecting intrusion, and the generated audit data is stored in the information database 120.

표 6은 DCM을 통해 수집된 자료를 ADGM을 이용하여 unsigned char. 형태의 패킷을 이더넷 헤더의 포인터로 넘기고, 이더넷 헤더의 포인터로 넘어온 패킷이 IP 프로토콜일 경우 IP 헤더의 포인터로 넘겨 각각의 프로토콜별로 분리하는 알고리즘의 예시도이다.Table 6 shows the data collected through DCM using the unsigned char. An example of an algorithm for handing a packet of a type to a pointer of an Ethernet header and separating the packet for each protocol by passing it to a pointer of an IP header when the packet passed to the pointer of the Ethernet header is an IP protocol.

void packet_analysis(unsigned char *user, const struct pacap_pkthdr *h, const unsinged char *p) { unsigned int length = h->len; struct ether_header *ep; unsinged short ether_type; length -= sizeof(struct ether_header); ep = (struct ether_header *)p; p = += sizeof(struct ether_header) … … if (ip->protocol == IPPROTO_TCP) {//TCP 프로토콜일 때 tcph = (struct tcphdr *)(P + (iph->ihl*4) + (tcph->doff * 4)); tcpdata = (unsigned char *) (p + (iph->ihl * 4) + (tcph->doff * 4)); } … … if (ip->protocol == IPPROTO_UDP) {//UDP 프로토콜일 때 udph = (struct udphdr *) (p + iph->ihl * ); udpdata = (unsigned char *) (p_iph->ihl * 4) + 8; } … if (ip->protocol == IPPROTO_ICMP) {//ICMP 프로토콜일 때 icmp = (struct icmp *) ([+iph->ihl * 4); icmpdata = (unsigned char *) (p + iph->ihl*4) + 8; … }  void packet_analysis (unsigned char * user, const struct pacap_pkthdr * h, const unsinged char * p) {unsigned int length = h-> len; struct ether_header * ep; unsinged short ether_type; length-= sizeof (struct ether_header); ep = (struct ether_header *) p; p = + = sizeof (struct ether_header)… … if (ip-> protocol == IPPROTO_TCP) {// TCP protocol tcph = (struct tcphdr *) (P + (iph-> ihl * 4) + (tcph-> doff * 4)); tcpdata = (unsigned char *) (p + (iph-> ihl * 4) + (tcph-> doff * 4)); }… … if (ip-> protocol == IPPROTO_UDP) {/// UDP protocol udph = (struct udphdr *) (p + iph-> ihl *); udpdata = (unsigned char *) (p_iph-> ihl * 4) + 8; }… if (ip-> protocol == IPPROTO_ICMP) {/// ICMP protocol icmp = (struct icmp *) ((+ iph-> ihl * 4); icmpdata = (unsigned char *) (p + iph-> ihl * 4) + 8; … }

IDSGM(Intrusion Detection Signature Generation Module)Intrusion Detection Signature Generation Module (IDSGM)

침입을 탐지하기 위해 본 발명에서는 ADGM을 통하여 추출된 감사 자료를 기반으로 IDSGM을 통해 침입을 탐지하기 위한 시그니처를 생성한다. In order to detect intrusions, the present invention generates a signature for detecting intrusions through IDSGM based on audit data extracted through ADGM.

- 침입탐지 시그니처 생성 Intrusion Detection Signature Generation

ADGM을 통하여 추출된 감사 자료는 TCP, UDP, ICMP 등의 패킷으로 침입을 탐지하기 위하여 IDSGM을 이용하여 침입탐지 시그니처를 생성하게 된다. 이를 생성하기 위한 규칙은 aeui.rule, iava.rule, acva.rule, srac.rule, spi.rule, mpi.rule, fpi.rule, ift.rule, pmp.rule이다. 이는, 네트워크 상의 침입과 호스트 상의 침입탐지 시그니처를 생성하기 위한 침입탐지 규칙으로 예를 들어 설명하면 표 7과 같다. 표 7은 시그니처 생성을 위한 규칙과 그에 따른 대표적 공격의 예를 나타낸다. Audit data extracted through ADGM generates intrusion detection signature using IDSGM to detect intrusion into packets such as TCP, UDP, ICMP. Rules for generating this are aeui.rule, iava.rule, acva.rule, srac.rule, spi.rule, mpi.rule, fpi.rule, ift.rule, and pmp.rule. This is an intrusion detection rule for generating an intrusion detection signature on a host and an intrusion on a network. Table 7 shows the rules for signature generation and examples of typical attacks.

aeui.ruleaeui.rule buffer overflow buffer overflow iava.ruleiava.rule CLI(Command Line Interface) Command Line Interface (CLI) acva.ruleacva.rule TCPwrapper에 의해 접근이 금지된 호스트로부터의 FTP 혹은 TELNET 접근시도  Attempts to access FTP or TELNET from a host forbidden by the TCPwrapper. srac.rulesrac.rule UDP Flooding을 통한 CPU 자원고갈 CPU resource depletion via UDP flooding spi.rulespi.rule DoS(Denial of Service) Denial of Service mpi.rulempi.rule DDoS(Distriibuted Denial of Service) Distriibuted Denial of Service (DDoS) fpi.rulefpi.rule 조각화된 패킷공격 Fragmented Packet Attack ift.ruleift.rule 패스워드 파일 전송 Password file transfer pmp.rulepmp.rule sniffit를 이용한 사용자의 ID와 Password를 가로채는 공격 sniffit intercepts user ID and password

한편, 표 8은 TCP 데이터에 대한 구조체를 나타낸 것이고, 표 9는 시그니처 형식에 대하여 나타낸 것이다.On the other hand, Table 8 shows the structure for TCP data, and Table 9 shows the signature format.

struct tcp_data { unsigned short s_port; // source port number unsigned short d_port; // destination port number int flat; // TCP flag char content[200]; // data int c_size; // content length of content int p_size; // size of payload char msg[200]; // message } struct tcp_data {unsigned short s_port; // source port number unsigned short d_port; // destination port number int flat; // TCP flag char content [200]; // data int c_size; // content length of content int p_size; // size of payload char msg [200]; // message}

alert tcp $EXTERNAL_NET any -> $HOME_NET 80 (content:"|90C8 C0FF FFFF|/bin/sh" msg: "IMAP buffer overflow!";)alert tcp $ EXTERNAL_NET any-> $ HOME_NET 80 (content: "| 90C8 C0FF FFFF | / bin / sh" msg: "IMAP buffer overflow!";)

표 9의 시그니처는 외부 네트워크 모든 포트에서 내부 네트워크 80번 포트로 흘러가는 tcp 기반의 패킷으로, content: "~"의 내용과 같은 16진수 배열을 포함하고 있거나, /bin/sh 문자를 포함하는 패킷이 있을 경우 alert 메시지를 띄우고 var/log/alert에 로그를 기록하는 것을 나타내고 있다. 본 발명에서는 이를 위해 침입을 탐지할 수 있는 분석엔진과 이에 직접적으로 연동되어 침입에 대한 정보를 비교할 수 있는 정보 데이터베이스를 만들어 사용하였다. The signatures in Table 9 are tcp-based packets flowing from all external network ports to internal network port 80, which contain a hexadecimal array such as content: "~" or contain / bin / sh characters. If there is, it shows alert message and logs to var / log / alert. In the present invention, for this purpose, an analysis engine capable of detecting an intrusion and an information database capable of directly comparing the intrusion information can be used.

- MP(Master Process, 주프로세스)MP (Master Process)

ADGM을 통해 침입을 탐지하기 위한 감사 자료가 생성되면, 시그니처를 생성하게 된다. 네트워크 상의 침입을 판단할 수는 있지만 호스트 상의 침입 판단에는 어려움이 있으므로 MP를 통해 호스트상의 침입 탐지 또한 가능하게 해주기 위한 것이다. MP는 AAP(Audit analysis Process, 감사분석 프로세스)와 ACP(Agent Controlling Process, 에이전트제어 프로세스)에서 전달되는 자료들이 모이는 곳인, 침입 판정 관련 데이터베이스를 관리하고 정보 데이터베이스(120)를 검색하고 저장된 침입 시그니처들과 비교하여 침입 탐지를 가능하게 해준다. 도 8은 MP의 흐름도를 나타낸 것이다. When audit data is generated to detect an intrusion through the ADGM, a signature is generated. Intrusion on the network can be determined, but intrusion on the host is difficult to determine, so MP is also able to detect intrusion on the host. The MP manages an intrusion determination related database, retrieves the information database 120 and stores intrusion signatures, where data from the AAP (Audit Analysis Process) and ACP (Agent Controlling Process) are gathered. Compared to the above, it enables intrusion detection. 8 shows a flowchart of the MP.

master_process(audit_data, agent_info){ Signature=agent_controll(agent_info); check_Signature(Signature); Signature=audit_process(audit_data); check_Signature(Signature); } check_Signature(Signature){ if(search_DB(Signature, D_Signature)){ reject(Signature); } else{ save_DB(Signature, D_Signature); } return(); } master_process (audit_data, agent_info) {Signature = agent_controll (agent_info); check_Signature (Signature); Signature = audit_process (audit_data); check_Signature (Signature); } check_Signature (Signature) {if (search_DB (Signature, D_Signature)) {reject (Signature); } else {save_DB (Signature, D_Signature); } return (); }

표 10은 AAP(Audit Analysis Process)와 ACP(Agent Controlling Process)에서 시그니처를 전달 받은 후 SGHIDS 정보 데이터베이스의 시그니처 테이블을 검색하여 시그니처가 검색되면 검출된 시그니처를 삭제하고, 그렇지 않은 경우 SGHIDS 데이터베이스의 시그니처 테이블에 시그니처를 저장할 수 있도록 설계된 MP 알고리즘이다. 또한 도9는 호스트상의 침입을 탐지하기 위한 MP의 처리 흐름도를 나타낸다. 이하, AAP와 ACP에 대해서 상세 설명한다.Table 10 shows the signature table in the SGHIDS information database after receiving signatures from the Audit Analysis Process (AAP) and Agent Controlling Process (ACP), and deletes the detected signature when the signature is found; otherwise, the signature table in the SGHIDS database. MP algorithm designed to store signatures. 9 also shows a processing flow of the MP for detecting an intrusion on the host. Hereinafter, AAP and ACP are explained in full detail.

1) AAP(Audit Analysis Process)1) Audit Analysis Process (AAP)

AAP는 ADGM을 통해 생성된 감사 자료를 호스트 기반 중심으로 분석하는 기능을 한다. 시스템 내에서 수행된 각종 응용 처리기, 운영체제 동작 중에 중요한 정보와 네트워크 통신 내역 등이 기록되어 있는 감사 자료를 이용하여, 침입탐지 시스템에서 사용할 시그니처를 생성하고, 생성된 시그니처를 MP에 전송하는 역할을 한다. AAP가 수집하는 윈도우의 감사 자료는 표 11과 같이 구성되며, 수집된 자료를 기반으로 하여 침입 시나리오를 구성한 후 SGGM을 이용하여 시그니처 그래프로 변경하여 분석한다.The AAP is a host-based analysis of the audit data generated by the ADGM. By using audit data that records important information and network communication history while operating system, operating system, etc., it is used to generate signatures for intrusion detection system and transmit the generated signatures to MP. . The audit data of the window collected by AAP is composed as shown in Table 11, and after the intrusion scenario is composed based on the collected data, it is changed into signature graph using SGGM and analyzed.

이벤트 로깅 조직 구성Configure Event Logging Organization 시스템 로그, 응용 로그, 보안 로그 System log, application log, security log 이벤트 기록 형태Event record type 날짜, 시간, 사용자, 컴퓨터 이름, 이벤트_식별자, 근원지(software), 타입, 카테고리 Date, time, user, computer name, event_identifier, software, type, category 보안 로깅과 감사 정책 (audit security)Security logging and audit policy 로그온/로그오프, 객체접근, 특권사용, 계정 유지 정책 변경, 시스템 이벤트, 처리기 추적 Logon / Logoff, Object Access, Privilege Use, Account Retention Policy Changes, System Events, Handler Tracking

표 12는 AAP의 처리 알고리즘을 예시한 것이다. 이는 감사 자료를 텍스트 파일로 변경한 후 불필요한 이벤트를 제거하고 SGHIDS의 데이터베이스의 Audit_event 테이블로 저장한다. Audit_event를 이용하여 공격 시나리오를 작성한다.Table 12 illustrates the processing algorithm of AAP. This changes the audit data into a text file, removes unnecessary events and saves them to the Audit_event table in SGHIDS's database. Create an attack scenario using Audit_event.

audit_process(audit_data){ text_convert(audit_data, text_file); read(text_file_data); while(!EOF(text_file_data)){ if(check_rule(text_file_data)){ save_DB(text_file_data, audit_event); } read(text_file_data); } create_scenario(audit_event, attack_scenario); Signature=Signature_detection(attack_scenario); return(Signature); } audit_process (audit_data) {text_convert (audit_data, text_file); read (text_file_data); while (! EOF (text_file_data)) {if (check_rule (text_file_data)) {save_DB (text_file_data, audit_event); } read (text_file_data); } create_scenario (audit_event, attack_scenario); Signature = Signature_detection (attack_scenario); return (Signature); }

2) ACP(Agent Controlling Process)2) Agent Controlling Process (ACP)

ACP는 시그니처가 들어있는 에이전트 정보를 전송 받아 본 발명의 정보 데이터베이스(120)를 유지 및 관리하는데, 이는 정보 데이터베이스의 시그니처의 정보들을 일관성있게 유지시키는 역할을 한다. 표 13은 ACP의 알고리즘으로써, MP에서 전달받은 각 정보 중에서 시그니처를 추출하여 추출된 시그니처를 MP에 전달한다.The ACP maintains and manages the information database 120 of the present invention by receiving the agent information containing the signature, which serves to maintain the information of the signature of the information database consistently. Table 13 is an algorithm of ACP, and extracts the signature from each information received from the MP and delivers the extracted signature to the MP.

agent_controll(agent_info){ Signature=search_Signature(agent_info) retrun(Signature); } agent_controll (agent_info) {Signature = search_Signature (agent_info) retrun (Signature); }

ATES(Algorithm Transforming the Existing Signature)Algorithm Transforming the Existing Signature

표 14와 도 10은 ATES를 나타난 것으로써 IDSGM에 의해 생성된 시그니처를 기반으로 새로운 형태의 침입에 대해 새로운 침입 시그니처를 자동적으로 생성할 수 있는 알고리즘과 순서도를 나타낸 것이다.Table 14 and FIG. 10 show ATES and show algorithms and flowcharts that can automatically generate new intrusion signatures for new types of intrusions based on signatures generated by IDSGM.

procedure ATES() initialize(Population); evaluate(Population); while not(terminal condition satisfied) do MatingPool = reproduce(Population); MutationPool = crossover(MatingPool); Population = mutation(MutationPool); evaluate(Population); end while end procedure procedure ATES () initialize (Population); evaluate (Population); while not (terminal condition satisfied) do MatingPool = reproduce (Population); MutationPool = crossover (MatingPool); Population = mutation (MutationPool); evaluate (Population); end while end procedure

IDSGM을 통해 정보 데이터베이스에 저장되어 있는 침입 시그니처를 기반으로 ATES를 이용하여 유의 시그니처나 변종 시그니처를 새롭게 생성하여 정보 데이터베이스에 새로운 침입 시그니처 형태로 저장함으로써, 새로운 침입에 대하여 기존의 침입탐지 시스템보다 침입 탐지율을 향상시켰다. 표 15는 침입 시그니처 생성에 대한 조건 만족을 연산하는 과정을 나타낸 것이다. 이는 도 10에 나타난 것처럼 연산과정에서 침입을 예상한 변형된 시그니처 생성에 대하여 적합도가 원하는 수준을 만족할 때까지 새로운 시그니처를 생성하는 과정을 반복하게 된다. Based on the intrusion signature stored in the information database through IDSGM, a new signature or variant signature is newly generated using ATES and stored in the information database in the form of a new intrusion signature so that the intrusion detection rate is higher than that of the existing intrusion detection system. Improved. Table 15 shows the process of calculating condition satisfaction for intrusion signature generation. This repeats the process of generating a new signature until the suitability satisfies the desired level for the modified signature generation that is expected to invade in the calculation process as shown in FIG. 10.

Figure 112006028579001-PAT00001
Figure 112006028579001-PAT00001

f(H) : 스키마(즉, 시그니처) H를 포함하고 있는 시그니처들의 평균 적합도 f (H): Average goodness of fit of signatures containing schema (i.e. signature) H

f : 전체 시그니처의 평균 적합도 f: average goodness of fit of all signatures

pc : 유의 시그니처 확률pc: Significance signature probability

pm : 변종 시그니처 확률 pm: variant signature probability

도 11은 ATES를 통해 정보 데이터베이스 내에 있는 침입 시그니처에 대하여 새로운 침입 시그니처를 생성하기 위한 과정을 나타낸 것이고, 도 12는 정보 데이터베이스 안에 저장되어 있는 침입 시그니처를 기반으로 침입이 예상된 변형된 시그니처를 생성하기 위한 과정을 간략하게 나타낸 것이다(새로운 침입 시그니처 생성 과정). FIG. 11 illustrates a process for generating a new intrusion signature for an intrusion signature in an information database through ATES, and FIG. 12 illustrates a modified signature for which intrusion is expected based on an intrusion signature stored in an information database. This is a simplified procedure for creating a new intrusion signature.

ATES를 통해 새로운 시그니처를 생성하는 이유를 예를 들어 설명하면, e-mail과 네트워크 파일 공유 프로그램을 통해 확산된I-Worm.Win32.Bagle.AL은 .AL 버전을 시작으로 동시에 3종이 연속으로 발견되는데, 이는 레지스트리에 등록되는 명칭을 포함하여 이름이 변경된 부분만을 제외하고는 .AM, .AN, .AO 모두 비슷한 확산 방법과 증산을 지니고 있다. 이러한 변종에 대하여 본 발명에서는 처음 발견된 침입에 대하여 침입 시그니처를 정보 데이터베이스에 저장하고, 저장된 침입 시그니처는 ATES를 통해 비슷한 유형이나 변형된 침입에 대해 침입 시그니처를 생성하여 정보 데이터베이스에 저장함으로써, 새로운 침입에 대해 미리 예방할 수 있으므로 보안적 측면을 향상시킬 수 있다. 또한, 침입을 예상하여 시그니처를 미리 저장해 놓으므로 기존의 침입탐지 시스템의 경우 침입이 발견될 때마다 시그니처를 업데이트 시켜주어야 하는 단점을 보완할 수 있다.For example, I-Worm.Win32.Bagle.AL spread through e-mail and network file sharing programs can be found at the same time, starting with the .AL version. It has similar proliferation methods and multiplications, except for the name change, including the name registered in the registry. For this variant, the present invention stores the intrusion signature for the first intrusion in the information database, and the stored intrusion signature generates the intrusion signature for the similar type or modified intrusion through the ATES and stores the intrusion signature in the information database. Can be prevented in advance, improving security aspects. In addition, since the signature is stored in advance in anticipation of intrusion, the existing intrusion detection system can compensate for the disadvantage of updating the signature each time an intrusion is found.

SGGM(Signature Graph Generation Module)Signature Graph Generation Module (SGGM)

시그니처 그래프 생성 모듈은 IDSGM에 의해 정보 데이터베이스에 저장되어 있는 시그니처들의 상호관계를 분석하여 침입을 판단한다. 생성된 시그니처 그래프를 이용함으로써 우회적인 침입도 방지할 수 있다. 표 16은 시그니처 그래프의 구조를 나타낸다.The signature graph generation module analyzes the correlations of the signatures stored in the information database by IDSGM to determine the intrusion. By using the generated signature graph, it is possible to prevent accidental intrusion. Table 16 shows the structure of the signature graph.

struct Signature_graph { char p_name[50] // name of Signature graph unsigned short n_id; // node number unsigned short s_port; // source port number char content[200]; // data char msg[200]; // message } struct Signature_graph {char p_name [50] // name of Signature graph unsigned short n_id; // node number unsigned short s_port; // source port number char content [200]; // data char msg [200]; // message}

- 시그니처 검출 알고리즘Signature Detection Algorithm

본 발명의 침입탐지 시스템에서는 공격을 처리하기 위해 ASL(Attack Specification Language, 공격규정 언어)을 본 발명에 적합한 데이터 구조인 시그니처 그래프로 변경하고, 시그니처 그래프는 시나리오 전개 과정을 트리 형태로 그린 것으로, 전송 이벤트가 없을 경우 시그니처 그래프의 맨 마지막 노드가 된다. 시그니처 그래프의 각 노드를 설명하는 것을 메시지라고 하는데, 표 17은 메시지 형식을 나타낸다.In the intrusion detection system of the present invention, in order to deal with an attack, ASL (Attack Specification Language) is changed to a signature graph, which is a data structure suitable for the present invention, and the signature graph is a tree form of a scenario development process. If there is no event, it becomes the last node of the signature graph. The description of each node in the signature graph is called a message. Table 17 shows the message format.

형 식form <노드ID, timestamp, 속성값><Node ID, timestamp, attribute value> 노드 IDNode ID 시그니처 그래프의 각 노드 번호 Number of each node in the signature graph timestamptimestamp 이벤트 발생시간 Event occurrence time 속성 값    Attribute value 이벤트의 속성 값 Attribute value of the event

각 노드의 메시지는 노드의 이벤트가 전송일 경우에는 이벤트풀(event pool)에 저장하고, 나머지 이벤트는 통과풀(pass pool)에 저장한다. 여기서 시그니처 그래프로 변경하는 과정 중 각 노드에 제약조건이 발생하게 된다. 이때 발생한 제약 조건에는 고정된 상수 값을 갖는 정적 제약 조건과 가변적인 값을 갖는 동적 제약조건이 있다. Each node's message is stored in the event pool when the node's event is a transmission, and the remaining events are stored in the pass pool. In this process, constraints are generated on each node during the process of changing to the signature graph. In this case, there are static constraints with fixed constant values and dynamic constraints with variable values.

Signature_detection(attack_scenario) { if (search_DB(attack_scenario)==FALSE) { // 공격 시나리오가 SGHIDS 정보 데이터베이스에 존재하는지 검색 i=0; // 노드번호 초기화 while(!EOF) { read(attack_scenario); // 시나리오를 event 단위로 읽음 create_constrain(node, i); // 노드에 대한 제약조건 생성 message = create_message(node, i); // 노드에 대한 메시지 생성 if event(send) { save(event_pool, message);} // 메시지를 event_pool에 저장 else { save(pass_pool, message);} // 메시지를 pass_pool에 저장 create_graph(Signature, event_pool, pass_pool, i); // 노드 idp 대한 시그니처 그래프 생성 i = i+1;} // 노드 번호 증가 return(Signature); } Signature_detection (attack_scenario) {if (search_DB (attack_scenario) == FALSE) {// Detect if the attack scenario exists in the SGHIDS information database i = 0; // initialize node number while (! EOF) {read (attack_scenario); // read scenario by event create_constrain (node, i); // create constraints on the node message = create_message (node, i); // create a message for the node if event (send) {save (event_pool, message);} // save the message to the event_pool else {save (pass_pool, message);} // save the message to the pass_pool create_graph (Signature, event_pool , pass_pool, i); // create signature graph for node idp i = i + 1;} // increment node number return (Signature); }

표 18은 시그니처 그래프의 생성을 위한 알고리즘을 나타낸 것이다. 시그니처를 검출하기 위해서는 첫째, 침입이 탐지되어 시그니처가 검출되었을 경우 공격 시나리오를 검색하고 둘째, 공격 시나리오가 정보 데이터베이스 내에 존재하는지 검색한다. 이때, 검색이 되었을 경우 침입 시그니처가 이미 정보 데이터베이스에 존재함으로 시그니처 그래프를 따로 생성할 필요가 없으므로 작업을 중지하고, 그렇지 않을 경우, 작업이 계속 진행된다. 셋째, 노드 번호를 초기화시키고, 넷째, 공격 시나리오를 event 단위로 읽는다. 다섯째, event 단위로 읽어들인 시나리오에 대하여 노드에 대한 제약 조건을 생성하고, 여섯째, 이벤트를 받았을 경우 메시지를 event pool이나 pass pool에 저장한다. 일곱째, 노드 i에 대하여 시그니처 그래프를 생성하고 root노드의 제약조건을 만족할 때까지 노드를 하나씩 증가시키며, 만약 root 노드의 제약조건을 만족할 경우 시그니처 그래프를 생성하게 된다. Table 18 shows an algorithm for generating a signature graph. To detect a signature, first, an attack scenario is detected when an intrusion is detected, and a signature is detected. Second, an attack scenario is searched for in the information database. In this case, since the intrusion signature already exists in the information database, it is not necessary to generate the signature graph separately. If not, the operation continues. Third, the node number is initialized. Fourth, the attack scenario is read in event units. Fifth, create constraints on nodes for scenarios read in event units. Sixth, when an event is received, a message is stored in an event pool or a pass pool. Seventh, a signature graph is generated for node i, and nodes are incremented by one until the root node constraint is satisfied. If the root node constraint is satisfied, the signature graph is generated.

이상의 과정은 도 13에, 공격 시나리오부터 시그니처를 검출하여 시그니처 그래프를 생성하는 단계까지를 나타낸 시그니처 그래프 생성 흐름도를 참조한다. 표 19는 공격 시나리오의 알고리즘 예시도이다.The above process refers to the signature graph generation flowchart in FIG. 13 showing the steps from the attack scenario to the step of detecting the signature and generating the signature graph. Table 19 shows an example of the algorithm of the attack scenario.

ATTACK "sample" [a, b, c, d, f, g, h] a { send(c) : e1[$p=a0;] } b { e2[$q = al;] send(c) : e3[a2 == $p;] } c { e4[a2 == $q;]} d { send(g) : e5[$r=d0;] f { e6[$s = dl;] send(g) : e7[d2 == $t;] } g { e8[d2 == $s;]} s { send(h) : e4[$g=a2;] } q { e8[$s = cl;] send(h) : e9[d2 == $g;] } h { e10[] e11[c9 == $s;]}  ATTACK "sample" [a, b, c, d, f, g, h] a {send (c): e1 [$ p = a0;]} b {e2 [$ q = al;] send (c): e3 [a2 == $ p;]} c {e4 [a2 == $ q;]} d {send (g): e5 [$ r = d0;] f {e6 [$ s = dl;] send (g ): e7 [d2 == $ t;]} g {e8 [d2 == $ s;]} s {send (h): e4 [$ g = a2;]} q {e8 [$ s = cl;] send (h): e9 [d2 == $ g;]} h {e10 [] e11 [c9 == $ s;]}

공격을 처리하기 위해, ASL로부터 본 발명에 적합한 데이터 구조로 변환한 것이 공격 시나리오이다. 공격 시나리오의 이벤트 발생 순서대로 연결하여 시그니처를 검출할 수 있는 시그니처 그래프를 생성하게 된다. 시그니처 그래프는 시나리오 전개 과정을 트리 형태로 그린 것으로 전송 이벤트가 없는 것이 트리의 맨 마지막 노드가 된다. 시그니처 그래프의 각 노드는 완벽한 트리 시그니처의 서브트리의 뿌리부(root)로 간주된다. 노드의 제약 조건은 그래프의 각 노드에 할당되며, 만약 노드 제약 조건을 만족한다면 완벽한 서브트리의 동적 제약조건으로 채워진 이벤트라고 볼 수 있다. 노드의 제약 조건을 만족할 때마다 메시지는 root 노드에 한 단계씩 가까워진다. 따라서, root 노드에서 이벤트가 제약 조건을 만족할 때 시그니처가 검출된다. To deal with the attack, the transformation from ASL to a data structure suitable for the present invention is an attack scenario. By connecting the event occurrence sequence of the attack scenario, a signature graph that can detect the signature is generated. The signature graph depicts the scenario development process in a tree form, with no transmission event being the last node in the tree. Each node in the signature graph is considered the root of the subtree of the complete tree signature. Node constraints are assigned to each node in the graph, and if the node constraints are met, it is an event filled with dynamic constraints of the complete subtree. Each time the node's constraints are met, the message is moved one step closer to the root node. Thus, the signature is detected when the event at the root node satisfies the constraint.

시그니처 그래프가 생성되는 과정은 도 14와 같다. 첫째, 노드 a, b를 우선적으로 살펴보았을 경우 a, b의 각 이벤트 발생 시간에 따라 노드 a의 이벤트 e1이 시그니처 노드 0번이 된다. 둘째, 노드 b의 이벤트 e2, e3이 각각 노드 1, 2번이 된다. 각 이벤트 발생에 대한 메시지 m0, m1, m2가 생성되고, 생성된 메시지는 노드 c로 전달된다. 셋째, 전달된 메시지가 send 이벤트일 경우 Event Pool에 저장하고 그 이외의 경우 정보 데이터베이스의 Pass Pool에 저장하여 다음 노드로 전송한 후 처리한다. 넷째, 노드 c에 이벤트 발생이 있었으므로 다음 노드를 체크하게 되는데 첫 번째 과정에서 설명한 바와 같이 이벤트 발생시간에 따라 노드 a, b 다음으로 노드 d, f를 우선으로 하여, d, f의 각 이벤트 발생 시간에 따라 노드 d의 이벤트 e5가 시그니처 그래프의 노드 4번이 된다. 다섯째, 노드 d, f는 두 번째 과정과 세 번째 과정을 거친다. 여섯째, 노드 c와 노드 g에서 이벤트가 발생되어 그래프가 끝나지 않았으므로 노드 c, g는 또다시 두 번째 과정과 세 번째 과정을 거치게 된다. 일곱째, 노드 h의 이벤트 e10은 아무런 제약 조건이 없으므로 Event Pool에 있는 m3과 m8을 비교하여 동적 조건이 만족하면 그 다음 번 이벤트인 e11을 처리한다. 마지막으로, 노드 h의 e11은 Event Pool과 Pass Pool을 참조하여 노드 h의 e11과 동적 제약조건이 만족할 때, 맨 마지막 참조한 메시지와 루트 노드의 메시지만 Event Pool에 남는다. 따라서, Event Pool에 남아있는 메시지가 시그니처가 된다. 본 발명에서 메시지를 Event Pool과 Pass Pool로 구분하여 다음 노드로 전달하는 이유는 전송되는 데이터 양 조절과 전송 시간을 줄이는데 그 목적이 있다.The process of generating the signature graph is shown in FIG. 14. First, when nodes a and b are looked at first, event e1 of node a becomes signature node 0 according to each event occurrence time of a and b. Second, the events e2 and e3 of the node b become nodes 1 and 2, respectively. Messages m0, m1 and m2 are generated for each event occurrence, and the generated messages are delivered to node c. Third, if the delivered message is a send event, it is stored in the event pool. Otherwise, it is stored in the pass pool of the information database and transmitted to the next node for processing. Fourth, since there was an event in node c, the next node is checked. As described in the first step, nodes d and f are prioritized after nodes a and b according to the event occurrence time. Event e5 of node d becomes node 4 of the signature graph over time. Fifth, nodes d and f go through a second process and a third process. Sixth, since the event is not generated in the nodes c and g and the graph is not finished, the nodes c and g go through the second process and the third process again. Seventh, since event e10 of node h has no constraint, it compares m3 and m8 in the event pool and processes the next event e11 when the dynamic condition is satisfied. Finally, e11 of node h refers to the event pool and pass pool. When node e11 and dynamic constraints are satisfied, only the last referenced message and the root node's message remain in the event pool. Therefore, the message remaining in the event pool becomes a signature. In the present invention, the reason for classifying a message into an event pool and a pass pool and delivering the message to a next node is to reduce the amount of data to be transmitted and to reduce a transmission time.

도 15a와 15b는 시그니처 검출 알고리즘에 의해 공격 시나리오의 시그니처가 검출되는 단계별 동작을 예를 들어 설명한 것이다. 15A and 15B exemplarily illustrate step-by-step operations in which the signature of an attack scenario is detected by the signature detection algorithm.

단계 1은 <0,0,2>라는 이벤트가 발생함에 따라, 노드 0의 이벤트 <0,0,2>가 시그니처 노드 0번이 되고 메시지 <0,0,2> 가 생성되는 과정을 나타낸 것이다. Event Pool에 저장되는 메시지는 m0이 된다. 노드 0에서는 Pass Pool이 발생되지 않는다.In step 1, as the event <0,0,2> occurs, the event <0,0,2> of node 0 becomes the signature node 0 and the message <0,0,2> is generated. . The message stored in the event pool is m0. Node 0 does not generate a pass pool.

단계 2는 <1,1,1>이라는 이벤트가 발생함에 따라, 노드 1의 이벤트 <1,1,1>이 시그니처 노드 1번이 되고 메시지 <1,1,1>이 생성되는 과정을 나타낸 것이다. Event Pool에 저장되는 메시지는 m1이 된다. 노드 1에서는 Pass Pool이 발생되지 않는다. In step 2, as the event <1,1,1> occurs, the event <1,1,1> of the node 1 becomes the signature node 1 and the message <1,1,1> is generated. . The message stored in the event pool is m1. Node 1 does not generate a pass pool.

단계 3은 <2,2,2>라는 이벤트가 발생함에 따라, 노드 2의 이벤트 <2,2,2>가 시그니처 노드 2번이 되고, 메시지 <1,1,1><2,2,2>가 생성되는 과정을 나타낸 것이다. Event Pool에 저장되는 메시지는 m1, m2가 된다. 노드 2에서는 Pass Pool m1이 발생된다. In step 3, as the event <2,2,2> occurs, the event <2,2,2> of the node 2 becomes the signature node 2, and the message <1,1,1> <2,2,2 Shows how the> is generated. The messages stored in the event pool are m1 and m2. At Node 2, a Pass Pool m1 is generated.

단계 4는 <3,3,3>이라는 이벤트가 발생함에 따라, 노드 3의 이벤트 <3,3,3>이 시그니처 노드 3번이 되고, 메시지 <0,0,2><2,2,2><3,3,3> <1,1,1>이 생성되는 과정을 나타낸 것이다. Event Pool에 저장되는 메시지는 m4가 된다. 노드 3에서는 Pass Pool이 발생되지 않는다. In step 4, as the event <3,3,3> occurs, the event <3,3,3> of the node 3 becomes the signature node 3, and the message <0,0,2> <2,2,2 > <3,3,3> This shows the process of generating <1,1,1>. The message stored in the event pool is m4. Node 3 does not generate a pass pool.

단계 5는 <4,4,4>라는 이벤트가 발생함에 따라, 노드 4의 이벤트 <4,4,4>가 시그니처 노드 4번이 되고 메시지 <4,4,4>가 생성되는 과정을 나타낸 것이다. Event Pool에 저장되는 메시지는 m5가 된다. 노드 4에서는 Pass Pool이 발생되지 않는다. In step 5, as the event <4,4,4> occurs, the event <4,4,4> of the node 4 becomes the signature node 4 and the message <4,4,4> is generated. . The message stored in the event pool is m5. Node 4 does not generate a pass pool.

단계 6은 <5,5,5>라는 이벤트가 발생함에 따라, 노드 5의 이벤트 <5,5,5>가 시그니처 노드 5번이 되고 메시지 <5,5,5>가 생성되는 과정을 나타낸 것이다. Event Pool에 저장되는 메시지는 m5가 된다. 노드 5에서는 Pass Pool이 발생되지 않는다. In step 6, as the event <5,5,5> occurs, the event <5,5,5> of the node 5 becomes the signature node 5 and the message <5,5,5> is generated. . The message stored in the event pool is m5. Node 5 does not generate a pass pool.

단계 7은 <6,6,6>이라는 이벤트가 발생함에 따라, 노드 6의 이벤트 <6,6,6>이 시그니처 노드 6번이 되고, 메시지 <5,5,5><6,6,6>가 생성되는 과정을 나타낸 것이다. Event Pool에 저장되는 메시지는 m5, m6이 된다. 노드 6에서는 Pass Pool이 발생되지 않는다. In step 7, as the event <6,6,6> occurs, the event <6,6,6> of the node 6 becomes the signature node 6, and the message <5,5,5> <6,6,6 Shows how the> is generated. The messages stored in the event pool are m5 and m6. Node 6 does not generate a pass pool.

단계 8은 <7,7,7>이라는 이벤트가 발생함에 따라, 노드 7의 이벤트 <7,7,7>이 시그니처 노드 7번이 되고, 메시지 <4,4,4><6,6,6><7,7,7> <5,5,5>가 생성되는 과정을 나타낸 것이다. Event Pool에 저장되는 메시지는 m4, m6, m7이 된다. 노드 7에서는 Pass Pool m5가 발생한다. In step 8, as the event <7,7,7> occurs, the event <7,7,7> of the node 7 becomes the signature node 7 and the message <4,4,4> <6,6,6 > <7,7,7> <5,5,5> shows the process of generating. The messages stored in the event pool are m4, m6, and m7. At node 7, a pass pool m5 occurs.

단계 9는 <3,3,3>이라는 이벤트가 발생함에 따라, 노드 3의 이벤트 <3,3,3>이 시그니처 노드 3번이 되고, 메시지 <0,0,2><2,2,2><3,3,3><1,1,1>이 생성되는 과정을 나타낸 것이다. Event Pool에 저장되는 메시지는 m4, m6, m7, m8이 된다. 노드 3에서는 Pass Pool m3이 발생한다. In step 9, as the event <3,3,3> occurs, the event <3,3,3> of the node 3 becomes the signature node 3, and the message <0,0,2> <2,2,2 > <3,3,3> <1,1,1> is shown. The messages stored in the event pool are m4, m6, m7, and m8. At Node 3, a Pass Pool m3 occurs.

단계 10은 <7,7,7>이라는 이벤트가 발생함에 따라, 노드 7의 이벤트 <7,7,7>이 시그니처 노드 7번이 되고, 메시지 <4,4,4><6,6,6><7,7,7><5,5,5>가 생성되는 과정을 나타낸 것이다. Event Pool에 저장되는 메시지는 m4, m6, m7이 되고, 노드 7에서는 Pass Pool m5가 발생한다. In step 10, as the event <7,7,7> occurs, the event <7,7,7> of the node 7 becomes the signature node 7 and the message <4,4,4> <6,6,6 > <7,7,7> <5,5,5> shows the process of generating. The messages stored in the event pool are m4, m6, and m7. In node 7, a pass pool m5 occurs.

단계 11은 <8,8,8>이라는 이벤트가 발생함에 따라, 노드 8의 이벤트 <8,8,8>이 시그니처 노드 8번이 되고 메시지 <4,4,4><6,6,6><7,7,7><8,8,8>이 생성되는 과정을 나타낸 것이다. Event Pool에 저장되는 메시지는 m4, m6, m7, m8이 되고, 노드 7에서는 Pass Pool은 발생되지 않는다. In step 11, as event <8,8,8> occurs, event <8,8,8> of node 8 becomes signature node 8 and message <4,4,4> <6,6,6> <7,7,7> <8,8,8> shows the process of generating. The messages stored in the event pool are m4, m6, m7, and m8. The node does not generate a pass pool.

단계 12는 <9,9,9>라는 이벤트가 발생함에 따라, 노드 9의 이벤트 <9,9,9>이 시그니처 노드 9번이 되고, 메시지 <0,0,2><2,2,2><3,3,3><8,8,8><9,9,-><4,4,4><6,6,6><7,7,7>가 생성되는 과정을 나타낸 것이다. Event Pool에 저장되는 메시지는 m0, m2, m3, m8, m9가 되고, 노드 9에서는 Pass Pool m4, m6, m7이 발생한다. In step 12, as event <9,9,9> occurs, event <9,9,9> of node 9 becomes signature node 9, and message <0,0,2> <2,2,2 > <3,3,3> <8,8,8> <9,9,-> <4,4,4> <6,6,6> <7,7,7> . The messages stored in the event pool are m0, m2, m3, m8, and m9. Pass nodes m4, m6, and m7 occur at node 9.

단계 13은 <10,10,1>이라는 이벤트가 발생함에 따라, 노드 10의 이벤트 <10,10,1>이 시그니처 노드 10번이 되고, 메시지 <0,0,2><2,2,2><3,3,3><8,8,8><9,9,-><10,10,1>이 생성되는 과정을 나타낸 것이다. Event Pool에 저장되는 메시지는 m0, m2, m3, m8, m9, m10이 되고, 노드 10에서는 Pass Pool은 발생하지 않는다. 이때, 노드 10의 이벤트 <10,10,1>은 Event Pool과 Pass Pool을 참조하여 노드 10의 이벤트 <10,10,1>과 동적 제약조건이 만족할 때, 맨 마지막에 참조한 메시지와 루트 노드의 메시지만 Event Pool에 남게 되고, Event Pool에 남아있는 메시지가 시그니처가 된다.In step 13, as the event <10,10,1> occurs, the event <10,10,1> of the node 10 becomes the signature node 10, and the message <0,0,2> <2,2,2 > <3,3,3> <8,8,8> <9,9,-> <10,10,1> is shown. The messages stored in the event pool are m0, m2, m3, m8, m9, and m10. The node does not generate a pass pool. At this time, the event <10,10,1> of the node 10 refers to the event pool and the pass pool, and when the event <10,10,1> of the node 10 and the dynamic constraint are satisfied, Only messages remain in the event pool, and the messages remaining in the event pool become signatures.

정보 데이터베이스Information database

본 발명의 정보 데이터베이스(120)는 침입의 여부를 판단하는 분석 엔진(110)과 직접적으로 연동되어 네트워크 패킷이나 감사 자료, 시스템 로그 등 정당한 접속이 아닌 경우 정보 데이터베이스에 저장되어 있는 감사 자료와 일치하지 않을 경우 침입으로 판단하고 이에 따른 공격에 대한 응답 모듈(130)을 통해 관리자에게 경보를 울려줌으로써 보다 신뢰할 수 있는 침입탐지를 가능하게 해준다. The information database 120 of the present invention does not coincide with the audit data stored in the information database when it is not a legitimate connection such as a network packet, audit data, or system log by directly interfacing with the analysis engine 110 that determines whether an invasion occurs. If not, it is determined to be an intrusion, and accordingly the response module 130 for the attack by alerting the administrator to enable a more reliable intrusion detection.

도 16은 정보 데이터베이스의 구조를 나타낸 것이다. 본 발명의 정보 데이터베이스는 Audit_event, D_Signature, Text_file, Attack_scenario, log_file의 정보를 저장하고 있다. 정보 데이터베이스는, 첫째, 감사 자료를 텍스트 파일로 변경하고, 둘째, 변경된 텍스트 파일은 정보 데이터베이스의 Text_file 테이블에 저장하며 저장된 Text_file의 내용은 이벤트 축약 자료로 사용한다. 셋째, 축약된 이벤트는 정보 데이터베이스의 Audit_Event 테이블에 저장되며 Audit_Event 테이블의 내용을 이용하여 공격 시나리오를 작성하고, 넷째, 작성된 공격 시나리오는 Attack_Scenario 테이블에 저장된다. 끝으로, 로그기록들은 Log_file 테이블에 의해 정보 데이터베이스에 저장된다. 표 20은 정보 데이터베이스 생성을 위한 알고리즘이고, 표 21은 Text_file의 테이블 형식, 표 22는 Attack_Scenario 테이블 형식, 표 23은 D_Signature 테이블 형식, 표 24는 Log_file 테이블 형식을 예시한다. 16 shows the structure of an information database. The information database of the present invention stores information of Audit_event, D_Signature, Text_file, Attack_scenario, and log_file. The information database firstly changes the audit data into a text file, and secondly, the changed text file is stored in the text_file table of the information database and the contents of the saved text_file are used as event abbreviation data. Third, the abbreviated event is stored in the Audit_Event table of the information database and the attack scenario is created by using the contents of the Audit_Event table. Fourth, the created attack scenario is stored in the Attack_Scenario table. Finally, log records are stored in the information database by the Log_file table. Table 20 is an algorithm for generating an information database, Table 21 is a table format of Text_file, Table 22 is an Attack_Scenario table format, Table 23 is a D_Signature table format, and Table 24 is a Log_file table format.

CREATE DATABASE [database] [CONTROLFILE REUSE] [LOGFILE [GROUP integer] filespec [, [GROUP integer] FILESPEC]...] [MAXLOGFILES integer] [MAXLOGMEMBERS integer] [MAXLOGHISTORY integer] [MAXDATAFILES integer] [MAXINSTANCES integer] [ARCHIVELOG | NOARCHIVELOG] [CHARACTER SET charset] [NATIONAL CHARACTER SET charset] [DATAFILE filespec [autoextend_clause] [, filespec [autoextend_clause]...]] filespec :== 'filename' [SIZE integer][KIM][REUSE] autoextend_clause :== [AUTOEXTEND {OFF |ON [NEXT integer [KIM]][REUSE] [MAXSIZE UNLIMITED_integer [KIM]}] } ] CREATE DATABASE [database] [CONTROLFILE REUSE] [LOGFILE [GROUP integer] filespec [, [GROUP integer] FILESPEC] ...] [MAXLOGFILES integer] [MAXLOGMEMBERS integer] [MAXLOGHISTORY integer] [MAXDATAFILES integer] [MAXINSTANCES integer] [ARCHIVELOG | NOARCHIVELOG] [CHARACTER SET charset] [NATIONAL CHARACTER SET charset] [DATAFILE filespec [autoextend_clause] [, filespec [autoextend_clause] ...]] filespec: == 'filename' [SIZE integer] [KIM] [REUSE] autoextend_clause: = = [AUTOEXTEND {OFF | ON [NEXT integer [KIM]] [REUSE] [MAXSIZE UNLIMITED_integer [KIM]}]}]

FieldField Field TypeField type Field SizeField size 설 명Explanation Event_No Event_No intint 44 발생된 Event 순서 Event sequence occurred Occurance_Date Occurance_Date varcharvarchar 3030 발생한 날짜 Occurred Occurance_Time Occurance_Time varcharvarchar 3030 발생한 시간 Time of day Event_type Event_type intint 44 이벤트 유형 Event type Event_Category Event_Category intint 44 이벤트 카테고리 Event category Event_ID Event_ID intint 44 이벤트 식별자 Event identifier Event_Source Event_Source texttext 1616 이벤트 근원지 Event source User User varcharvarchar 3030 사용자  user Computer Computer varcharvarchar 3030 컴퓨터 이름 Computer name Strings Strings texttext 1616 비고 Remarks

FieldField Field typeField type Field sizeField size 설 명Explanation Signature_Name Signature_Name texttext 1616 시그니처 이름 Signature name Node_ID Node_ID varcharvarchar 3030 노드 이름 Node name Event Event varcharvarchar 3030 이벤트 event Target_ID Target_ID intint 44 대상 노드 이름 Target node name Event_ID Event_ID intint 44 이벤트 식별자 Event identifier Constraint Constraint texttext 1616 제약 조건 Constraints

FieldField Field typeField type Field sizeField size 설 명Explanation Signature_No Signature_No intint 44 시그니처 번호 Signature number Signature_Name Signature_Name texttext 1616 시그니처 이름 Signature name Constraint Constraint texttext 1616 제약 조건 Constraints Arg1 Arg1 texttext 1616 인자 1 Factor 1 Arg2 Arg2 texttext 1616 인자 2 Factor 2

FieldField Field typeField type Field sizeField size 설 명Explanation Log_file_ID Log_file_ID intint 1010 로그 이름 Log name Fid Fid charchar 3232 File테이블의 해당 첨부파일의 Fid Fid of the corresponding attachment in the File table Saved_path Saved_path varcharvarchar 255255 첨부파일이 저장되어 있는 경로 Path where attachment is stored FileName FileName varcharvarchar 255255 파일 이름 File name State State charchar 1One 파일의 삭제 유무 File deletion Log_time Log_time charchar 1414 로그 기록 시간 Log record time

본 발명의 시뮬레이션Simulation of the Invention

본 발명에 따른 침입탐지 시스템의 탐지 대상인 네트워크 상의 모든 패킷과 12개의 공격 시나리오를 이용해 시그니처 그래프를 생성하였다. 생성된 시그니처 그래프를 이용하여 시그니처를 검출한 후, 실험을 위해 준비된 SGHIDS 정보 데이터베이스의 시그니처와 일치하면 침입 검출 성공으로 간주하고, 시그니처 그래프에서 검출된 시그니처가 SGHIDS 데이터베이스의 시그니처와 일치하지 않으면 침입 검출 실패로 간주하였다. 또한, 설계한 패킷 필터를 이용하여 TCP, IP, UDP, ICMP 환경 하에서 패킷 캡쳐가 가능하도록 하고, 실시간 네트워크를 수행함으로써 기존의 패킷을 수집하여 분석하는 시간을 줄일 뿐만 아니라, 즉각적인 비정상적인 침입에 대하여 반응할 수 있도록 하였다. 또한, 시그니처 그래프를 이용해 우회적인 내부 사용자들에 의한 사용자 정의 침입 탐지도 가능하게 하였다. 표 25는 본 발명의 시뮬레이션 환경을 나타낸 것이다.A signature graph was generated using all packets on the network and 12 attack scenarios of the intrusion detection system according to the present invention. After detecting the signature using the generated signature graph, if it matches the signature of the SGHIDS information database prepared for the experiment, it is regarded as successful intrusion detection, and if the signature detected in the signature graph does not match the signature of the SGHIDS database, the intrusion detection fails. Was considered. In addition, the designed packet filter enables packet capture under TCP, IP, UDP and ICMP environments, and reduces the time to collect and analyze existing packets by performing real-time network, and responds to immediate abnormal intrusion. I could do it. The signature graph also enables user-defined intrusion detection by circumventing internal users. Table 25 shows the simulation environment of the present invention.

구 분division HardwareHardware Inter Pentium Ⅳ Inter Pentium Ⅳ Operating SystemOperating system Hancom Linux 4.0 Professional Hancom Linux 4.0 Professional CompilerCompiler gcc gcc Editor Editor vi vi 탐지 대상Detection target network packet network packet

- 네트워크 이용률 분석Network utilization analysis

도 17은 본 발명에 의해 탐지된 정보들을 서버에 보고할 때의 각 이벤트의 평균 지연 시간을 나타낸다. 즉, 네트워크 이용률의 변화에 따른 전송 패킷의 지연을 보여주는데, 지연은 이용률 0.8 이상에서 크게 증가하는 것을 볼 수 있다.Figure 17 shows the average delay time of each event when reporting the information detected by the present invention to the server. In other words, it shows the delay of the transport packet according to the change of network utilization, and it can be seen that the delay increases significantly above 0.8.

- 이벤트 종류에 따른 분석-Analysis by Event Type

표 26은 본 발명에 의해 24시간 동안 패킷 필터링 규칙에 의해 처리한 데이터 형태별 이벤트의 수이며, 도 18은 alert와 log 이벤트 종류에 따른 지연을 나타낸 것이다. 각 이벤트에 대한 지연은 네트워크 이용률에 따라 증가하는 것을 볼 수 있다.  Table 26 shows the number of events for each data type processed by the packet filtering rule for 24 hours according to the present invention, and FIG. 18 shows the delay according to the types of alert and log events. The delay for each event can be seen to increase with network utilization.

Event TypeEvent Type 24 hours24 hours alertalert 32,44832,448 loglog 33,12733,127

- 시그니처 그래프를 이용한 분석-Analysis using signature graph

본 발명에서는 각 이벤트 간의 상호 연관성을 이용해 시그니처 그래프를 작성해 우회적인 침입을 탐지한다. 각 이벤트를 이용하여 시그니처 그래프를 생성하여 데이터베이스에 저장하고 시그니처 그래프를 이용해 우회적인 침입을 검출한다. 도 19는 각 이벤트 간의 시그니처 그래프를 이용해 네트워크 지연율에 따른 우회적인 침입을 탐지한 비율이다.In the present invention, a signature graph is created using the correlation between each event to detect the intrusion. Each event is used to create a signature graph, store it in a database, and use the signature graph to detect intrusions. 19 is a ratio of detecting an intrusion by the network delay rate using the signature graph between each event.

- 본 발명의 시그니처 탐지Signature detection of the present invention

표 27은 시뮬레이션에 이용된 시그니처의 깊이를 나타낸 것이다. 본 발명에서는 시뮬레이션을 하기 위하여 16개의 시그니처 그래프를 이용하여 시그니처를 검출하였다. 표 27에서 나타낸 것처럼 공격 시나리오에 따라 시그니처 그래프를 생성했을 때, 그래프의 노드의 생성 개수를 알 수 있다. 실험에 이용된 시그니처의 깊이는 공격 시나리오를 이용하여 시그니처 그래프를 생성했을 때, 그래프 노드의 수를 의미한다.Table 27 shows the depth of signatures used in the simulation. In the present invention, the signature was detected using 16 signature graphs for simulation. As shown in Table 27, when the signature graph is generated according to the attack scenario, the number of nodes of the graph can be seen. The depth of the signature used in the experiment means the number of graph nodes when the signature graph is generated using the attack scenario.

시그니처의 깊이Signature depth 1One 22 33 44 개수Count 44 22 44 22 성공율Success rate 75%75% 71%71% 68%68% 62%62% 실패율Failure rate 25%25% 29%29% 32%32% 38%38%

도 20에서 나타낸 것처럼 본 발명의 데이터베이스와 일치하는 성공률은 시그니처 깊이가 1일 경우 침입탐지 성공률이 75%, 시그니처 깊이가 2일 경우 71%, 시그니처 깊이가 3일 경우 68%, 시그니처 깊이가 4일 경우 62%이다. 즉, 시그니처의 깊이가 커짐에 따라 침입탐지 성공률이 감소하는 것을 볼 수 있는데, 이것은 여러 노드를 거치면서 처리해야 할 자료가 많아지면서 탐지율이 떨어지는 것을 알 수 있다. As shown in FIG. 20, the success rate coinciding with the database of the present invention is 75% when the signature depth is 1, 71% when the signature depth is 2, 68% when the signature depth is 3, and 68% when the signature depth is 4 days. 62% of cases. In other words, as the signature depth increases, the intrusion detection success rate decreases, which indicates that the detection rate decreases as more data are processed through multiple nodes.

이상에서는 본 발명의 바람직한 실시예에 대해서 도시하고 설명하였으나, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.Although the preferred embodiments of the present invention have been illustrated and described above, the present invention is not limited to the specific embodiments described above, and the present invention is not limited to the specific embodiments of the present invention without departing from the spirit of the present invention as claimed in the claims. Anyone skilled in the art can make various modifications, as well as such modifications are within the scope of the claims.

본 발명의 시그니처 그래프를 이용한 하이브리드 기반 침입탐지 시스템인 SGHIDS(Signature Graph Hybrid Intrusion Detection System)는 첫째, 기존의 침입 탐지 시스템과는 달리, IDSGM(Intrusion Detection Signature Generation Module)에 의해 생성된 침입 시그니처를 기반으로 ATES(Algorithm Transforming the Existing Signature)을 이용하여 변형된 침입 시그니처와 비슷한 유형의 침입 시그니처를 자동적으로 생성하여 SGHIDS 정보 데이터베이스에 저장함으로써 새로운 침입에 대하여 미리 예방할 수 있으므로 보안적 측면을 향상시켰다. 다시 말해, e-mail과 네트워크 파일 공유 프로그램을 통해 확산되는 I-Worm.Win32.Bagle.AL은 .AL 버전을 시작으로 동시에 3종이 연속으로 발견되었는데, 이는 레지스트리에 등록되는 명칭을 포함하여 이름이 변경된 부분만을 제외하고는 .AM, .AN, .AO 모두 비슷한 확산 방법과 증산을 지니고 있는데, 이러한 변종에 대하여 처음 발견되어 SGHIDS 정보 데이터베이스에 저장되어 있는 침입 시그니처를 기반으로 ATES를 이용하여 미리 예방할 수 있으므로 침입탐지의 효율을 향상 시켜주었을 뿐만 아니라, 보안적 측면도 향상되었다. 둘째, 침입에 대해 미리 예상하여 침입 시그니처를 생성하고 저장함으로써 새로운 침입 때마다 시그니처를 계속적으로 업데이트 시켜주어야 한다는 단점이 보완됐을 뿐만 아니라, 관리 비용을 최소화 할 수 있다. 셋째, 기존의 침입탐지 시스템은 실시간으로 공격을 탐지 할 수 없었던 점을 보완하여 SGHIDS는 다량의 로그와 이벤트, 네트워크 패킷에 대하여 각각의 에이전트들이 동시에 동작하여 침입에 대한 응답모듈을 통해 침입탐지를 실시간으로 함으로써 보안을 향상 시켰다. 끝으로, SGHIDS는 기존의 네트워크 기반 침입탐지 시스템과 호스트 기반 침입탐지 시스템의 공격루트 탐지 범위에 대하여 제한되었던 범위를 통합하여 침입탐지를 수행함으로써 보안을 향상시켜 주었다. Signature Graph Hybrid Intrusion Detection System (SGHIDS), which is a hybrid-based intrusion detection system using the signature graph of the present invention, firstly, based on an intrusion signature generated by an intrusion detection signature generation module (IDSGM), unlike a conventional intrusion detection system. By using ATES (Algorithm Transforming the Existing Signature), intrusion signatures similar to the modified intrusion signatures are automatically generated and stored in the SGHIDS information database to prevent new intrusions. In other words, I-Worm.Win32.Bagle.AL, which is spread through e-mail and network file sharing programs, has been found in three consecutive versions, starting with the .AL version, which includes names registered in the registry. Except for the changes, .AM, .AN, and .AO all have similar proliferation methods and multiplications, which can be prevented by using ATES based on intrusion signatures that were first discovered and stored in SGHIDS information databases. This not only improves the efficiency of intrusion detection, but also improves security aspects. Second, by creating and storing intrusion signatures in anticipation of intrusions, the disadvantage of having to continuously update signatures for each new intrusion is not only compensated for, but also minimizes administrative costs. Third, the existing intrusion detection system could not detect an attack in real time, so that SGHIDS can simultaneously operate each agent for a large number of logs, events, and network packets. By doing so, security has been improved. Finally, SGHIDS improves security by integrating the limited range of attack root detection range of the existing network-based intrusion detection system and host-based intrusion detection system.

Claims (5)

침입탐지 시스템이, 침입에 대하여 탐지할 수 있는 센서인, 분석 엔진과, 침입 시그니처를 저장하고 있는 정보 데이터베이스와, 침입에 대하여 실시간으로 알려주는 침입에 대한 응답 모듈로 구성되되,The intrusion detection system consists of an analysis engine, a sensor that can detect intrusions, an information database storing intrusion signatures, and a response module for intrusions that informs intrusions in real time. 상기 침입탐지 센서, 즉, 분석엔진은, 네트워크 상의 자료를 캡쳐하여 감사데이터를 수집하는 "DCM"(Data Collection Module, 데이터수집 모듈)과, 수집한 감사데이터를 분석하여 침입을 판정할 수 있는 감사 자료를 생성하는 "ADGM"(Audit Data Generation Module, 감사데이터 생성 모듈)과, 감사 자료를 alert와 log 이벤트로 분리하여 침입탐지 시그니처를 생성하는 "IDSGM"(Intrusion Detection Signature Generation Module, 침입탐지 시그니처 생성 모듈)과, 생성된 침입탐지 시그니처를 기반으로 해서 유의 침입이나 변종 침입에 대한 침입탐지 시그니처를 생성하는 "ATES"(Algorithm Transforming the Existing Signature, 기존 시그니처 변환 알고리즘)와, alert와 log 이벤트 유형으로 분류된 시그니처 간의 상호관계를 분석하여 시그니처 그래프를 작성하는 "SGGM"(Signature Graph Generation Module, 시그니처 그래프 생성 모듈)으로 구성되고, The intrusion detection sensor, that is, the analysis engine, "DCM" (Data Collection Module) which captures data on the network and collects audit data, and an audit that can determine intrusion by analyzing the collected audit data. "ADGM" (Audit Data Generation Module) to generate data, and "IDSGM" (Intrusion Detection Signature Generation Module) to generate intrusion signature by separating audit data into alert and log events. Module), "ATES" (Algorithm Transforming the Existing Signature), which generates intrusion detection signatures for significant intrusions or variant intrusions based on the generated intrusion detection signatures, and classified into alert and log event types. "SGGM" (Signature Graph Generation Module, signature graph) that creates a signature graph by analyzing the interrelationships between signatures Generation module) 상기 정보 데이터베이스는, 감사 자료를 텍스트 파일로 변경하는 수단과, 변경된 텍스트 파일 Text_file을 저장하여 이 파일의 내용을 이벤트 축약 자료로 사용하도록 하는 Text_file 테이블과, 축약된 이벤트를 저장하여 이 내용을 이용하여 공격 시나리오를 작성하도록 하는 Audit_Event 테이블과, 작성된 공격 시나리오를 저장하는 Attack_Scenario 테이블과, 로그기록들을 저장하는 Log_file 테이블을 포함하고, The information database includes means for converting audit data into a text file, a Text_file table for storing the changed text file Text_file to use the contents of this file as event abbreviation data, and storing the abbreviated event using the contents. It includes an Audit_Event table that allows you to create attack scenarios, an Attack_Scenario table that stores the created attack scenarios, and a Log_file table that stores log records. 상기 정보 데이터베이스는 상기 분석 엔진과 연동되어 접속 이벤트가 정보 데이터베이스에 저장되어 있는 감사 자료와 일치하지 않을 경우 침입으로 판단하여, 상기 응답 모듈을 통해 관리자에게 경보를 울리는 것을 특징으로 하는, 시그니처 그래프를 이용한 하이브리드 기반 침입탐지 시스템.The information database is linked with the analysis engine, and determines that the intrusion if the access event does not match the audit data stored in the information database, using the signature graph, characterized in that to alert the administrator through the response module Hybrid based intrusion detection system. 제1항에 있어서, 상기 ADGM은The method of claim 1, wherein the ADGM is 상기 DCM을 통해 수집된 자료에 대해서 이더넷 계층에서의 IP 혹은 ARP 패킷인지를 분석하는 수단과, IP 계층에서의 ICMP, TCP 그리고 UDP인지를 각각 분석하여 침입을 탐지하기 위한 감사 자료를 생성하고 생성된 감사 자료를 정보 데이터베이스에 저장하는 수단을 포함하는, 시그니처 그래프를 이용한 하이브리드 기반 침입탐지 시스템.The data collected through the DCM means to analyze whether it is an IP or ARP packet in the Ethernet layer, and ICMP, TCP, and UDP in the IP layer, respectively, to generate and generate audit data for detecting an intrusion. A hybrid-based intrusion detection system using a signature graph, comprising means for storing audit data in an information database. 제1항에 있어서, 상기 IDSGM은, 네트워크 상의 침입탐지 및 호스트 상의 침입탐지 시그니처를 생성하는 규칙을 이용하여 침입탐지 시그니처를 생성하는 수단을 포함하되, 이 수단은, The method of claim 1, wherein the IDSGM comprises means for generating an intrusion detection signature using rules for generating intrusion detection on a network and intrusion detection signature on a host, wherein the means comprises: ADGM을 통해 생성된 감사 자료를 호스트 기반 중심으로 분석하는 기능을 하며, 시스템 내에서 수행된 동작 중에 중요한 정보와 네트워크 통신 내역 등이 기록되어 있는 감사 자료를 이용하여, 침입탐지 시스템에서 사용할 시그니처를 생성하 는 AAP(Audit Analysis Process, 감사분석 프로세스)와, This function analyzes audit data generated through ADGM based on host and creates signature for use in intrusion detection system by using audit data that records important information and network communication history during operation performed in the system. AAP (Audit Analysis Process), 시그니처가 들어있는 에이전트 정보를 전송 받아 상기 정보 데이터베이스를 유지 및 관리함으로써, 정보 데이터베이스의 시그니처의 정보들을 일관성있게 유지시키는 역할을 하는 ACP(Agent Controlling Process, 에이전트제어 프로세스)를 포함하여, Including the ACP (Agent Controlling Process), which serves to maintain the information of the signature of the information database by maintaining and managing the information database by receiving the agent information containing the signature, 상기 AAP 및 ACP에서 시그니처를 전달 받은 후 상기 정보 데이터베이스의 시그니처 테이블을 검색하여 시그니처가 검색되면 검출된 시그니처를 삭제하고, 그렇지 않은 경우 정보 데이터베이스의 시그니처 테이블에 시그니처를 저장하는 것을 특징으로 하는, 시그니처 그래프를 이용한 하이브리드 기반 침입탐지 시스템.The signature graph is characterized by retrieving the signature table of the information database after receiving the signature from the AAP and ACP and deleting the detected signature when the signature is retrieved. Otherwise, the signature graph is stored in the signature table of the information database. Hybrid-based intrusion detection system using. 제1항에 있어서, 상기 ATES는 The method of claim 1, wherein the ATES 연산과정에서 침입을 예상한 변형된 시그니처 생성에 대하여 적합도가 원하는 수준을 만족할 때까지 새로운 시그니처를 생성하는 과정을 반복하는 것을 특징으로 하는, 시그니처 그래프를 이용한 하이브리드 기반 침입탐지 시스템.Hybrid signature-based intrusion detection system using a signature graph, characterized in that for repeating the process to generate a new signature until the suitability satisfies the desired level for the modified signature generation expected intrusion in the calculation process. 제1항에 있어서, 상기 SGGM은 The method of claim 1, wherein the SGGM is 침입이 탐지되어 시그니처가 검출되었을 경우 공격 시나리오를 검색하는 수단과, 시나리오가 정보 데이터베이스 내에 존재하는지 검색하여, 검색이 되었을 경우 작업을 중지하고, 그렇지 않을 경우 작업을 계속하는 수단과, 노드 번호를 초기화시키고, 공격 시나리오를 event 단위로 읽는 수단과, event 단위로 읽어들인 시 나리오에 대하여 노드에 대한 제약 조건을 생성하는 수단과, 이벤트를 받았을 경우 메시지를 저장하는 수단과, 노드 i에 대하여 시그니처 그래프를 생성하고 root노드의 제약조건을 만족할 때까지 노드를 하나씩 증가시켜서, 만약 root 노드의 제약조건을 만족할 경우 시그니처 그래프를 생성하는 수단을 포함하는 것을 특징으로 하는, 시그니처 그래프를 이용한 하이브리드 기반 침입탐지 시스템.Means to search for attack scenarios when intrusions are detected and signatures are detected, search for scenarios present in the information database, stop operations if detected, and continue operations otherwise, and initialize the node number. Means for reading attack scenarios in units of events, creating constraints on nodes for scenarios read in units of events, storing messages when an event is received, and signature graphs for nodes i. And means for generating a signature graph by incrementing the nodes one by one until the constraint of the root node is satisfied, and generating a signature graph if the root node's constraints are satisfied.
KR1020060036812A 2006-04-24 2006-04-24 Signature Graph Hybrid Intrusion Detection System KR100832088B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060036812A KR100832088B1 (en) 2006-04-24 2006-04-24 Signature Graph Hybrid Intrusion Detection System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060036812A KR100832088B1 (en) 2006-04-24 2006-04-24 Signature Graph Hybrid Intrusion Detection System

Publications (2)

Publication Number Publication Date
KR20070104761A true KR20070104761A (en) 2007-10-29
KR100832088B1 KR100832088B1 (en) 2008-05-27

Family

ID=38818511

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060036812A KR100832088B1 (en) 2006-04-24 2006-04-24 Signature Graph Hybrid Intrusion Detection System

Country Status (1)

Country Link
KR (1) KR100832088B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101160219B1 (en) * 2012-01-05 2012-06-27 주식회사 피앤피시큐어 Tracking system and method of connecting route for the network security
WO2012091400A1 (en) * 2010-12-31 2012-07-05 Ahnlab., Inc. System and method for detecting malware in file based on genetic map of file
WO2012091488A1 (en) * 2010-12-31 2012-07-05 Ahnlab., Inc. System and method for detecting malicious content in non-pe file
CN114697136A (en) * 2022-05-07 2022-07-01 苏州雄立科技有限公司 Network attack detection method and system based on switching network
US20230022279A1 (en) * 2021-07-22 2023-01-26 Vmware Inc. Automatic intrusion detection based on malicious code reuse analysis
WO2023229068A1 (en) * 2022-05-26 2023-11-30 시큐레터 주식회사 Method and device for disarming dde in ms excel document format

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101064940B1 (en) 2009-04-22 2011-09-15 주식회사 안철수연구소 Method and Apparatus for Longtime-Maintaining Reexamination Protecting Information for Malicious Code, and Computer Readable Recording Medium Containing Program thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010065130A (en) * 1999-12-29 2001-07-11 서평원 Method for transmitting RF packet by using multi-code in CDMA communication system
KR20020059845A (en) * 2002-06-05 2002-07-13 김영훈 Auctioning system using public switched telephone network

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012091400A1 (en) * 2010-12-31 2012-07-05 Ahnlab., Inc. System and method for detecting malware in file based on genetic map of file
WO2012091488A1 (en) * 2010-12-31 2012-07-05 Ahnlab., Inc. System and method for detecting malicious content in non-pe file
KR101228900B1 (en) * 2010-12-31 2013-02-06 주식회사 안랩 System and method for detecting malicious content in a non-pe file
KR101337874B1 (en) * 2010-12-31 2014-01-28 주식회사 안랩 System and method for detecting malwares in a file based on genetic map of the file
US9141796B2 (en) 2010-12-31 2015-09-22 Ahnlab, Inc. System and method for detecting malware in file based on genetic map of file
KR101160219B1 (en) * 2012-01-05 2012-06-27 주식회사 피앤피시큐어 Tracking system and method of connecting route for the network security
US20230022279A1 (en) * 2021-07-22 2023-01-26 Vmware Inc. Automatic intrusion detection based on malicious code reuse analysis
CN114697136A (en) * 2022-05-07 2022-07-01 苏州雄立科技有限公司 Network attack detection method and system based on switching network
WO2023229068A1 (en) * 2022-05-26 2023-11-30 시큐레터 주식회사 Method and device for disarming dde in ms excel document format

Also Published As

Publication number Publication date
KR100832088B1 (en) 2008-05-27

Similar Documents

Publication Publication Date Title
US6704874B1 (en) Network-based alert management
US10326777B2 (en) Integrated data traffic monitoring system
US7463590B2 (en) System and method for threat detection and response
AU756407B2 (en) Information security analysis system
US7266602B2 (en) System, method and computer program product for processing accounting information
US8977747B2 (en) System and method for detection of aberrant network behavior by clients of a network access gateway
KR101010302B1 (en) Security management system and method of irc and http botnet
US7404205B2 (en) System for controlling client-server connection requests
US7197762B2 (en) Method, computer readable medium, and node for a three-layered intrusion prevention system for detecting network exploits
KR100832088B1 (en) Signature Graph Hybrid Intrusion Detection System
US20030084326A1 (en) Method, node and computer readable medium for identifying data in a network exploit
US20030084319A1 (en) Node, method and computer readable medium for inserting an intrusion prevention system into a network stack
US20060161816A1 (en) System and method for managing events
WO2000005650A1 (en) Information security analysis system
KR100548154B1 (en) Method and apparatus for packet transmission control and packet charging data generation in wired and wireless communication networks
KR100513911B1 (en) Information security analysis system
US20060206615A1 (en) Systems and methods for dynamic and risk-aware network security
CN115017502A (en) Flow processing method and protection system
US20060018262A1 (en) Method, system and program for automatically detecting distributed port scans in computer networks
Holsopple et al. Virtual terrain: a security-based representation of a computer network
Гарасимчук et al. Analysis of principles and systems for detecting remote attacks through the internet
Krishnamurthy et al. Stateful intrusion detection system (sids)
Vaarandi et al. NetFlow Based Framework for Identifying Anomalous End User Nodes
Sato et al. An Evaluation on Feasibility of a Communication Classifying System
Nauman Signature-based intrusion detection using NFR filter coding

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120518

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee