KR100450209B1 - System And Method For Diagnosing Vulnerability In Network - Google Patents

System And Method For Diagnosing Vulnerability In Network Download PDF

Info

Publication number
KR100450209B1
KR100450209B1 KR10-2002-0058844A KR20020058844A KR100450209B1 KR 100450209 B1 KR100450209 B1 KR 100450209B1 KR 20020058844 A KR20020058844 A KR 20020058844A KR 100450209 B1 KR100450209 B1 KR 100450209B1
Authority
KR
South Korea
Prior art keywords
host
vulnerability
model
list
unit
Prior art date
Application number
KR10-2002-0058844A
Other languages
Korean (ko)
Other versions
KR20040027101A (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 KR10-2002-0058844A priority Critical patent/KR100450209B1/en
Publication of KR20040027101A publication Critical patent/KR20040027101A/en
Application granted granted Critical
Publication of KR100450209B1 publication Critical patent/KR100450209B1/en

Links

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/1433Vulnerability analysis
    • 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/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 네트워크 취약성 진단 시스템 및 방법에 관한 것으로, 특히 네트워크에서 취약점 표현을 이용하여 호스트 모델의 취약점을 진단하도록 한 네트워크 취약성 진단 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for diagnosing network vulnerabilities, and more particularly, to a system and method for diagnosing network vulnerabilities for diagnosing vulnerabilities of a host model using vulnerability expressions in a network.

본 발명은 공격자 모델을 구축하여서 공격으로 인한 네트워크의 상태변화에 근거해 다음 공격을 선택함으로써, 공격의 선후행 관계 정립이 가능하고 이를 가변적으로 선택하는 것이 가능하고, 평가대상 네트워크의 모델에게 공격 및 테스트를 수행함으로써, 네트워크의 기능 및 성능에 영향을 주지 않으며 현존하지 않는 네트워크 구조에 대한 취약성 진단이 가능하며, 다양한 시간대 별로 공격을 발생시키고 이의 반응을 보는 것이 가능하게 함으로써, 보안관리 수준이나 주기에 따른 취약성 진단이 가능하다.In the present invention, by constructing an attacker model and selecting the next attack based on the state change of the network due to the attack, it is possible to establish the precedent relationship of the attack and to select it variably. By conducting tests, it is possible to diagnose vulnerabilities on non-existing network structures without affecting the function and performance of the network, and it is possible to generate an attack at various time periods and to view the response of the network, so that the security management level or cycle It is possible to diagnose the vulnerability.

Description

네트워크 취약성 진단 시스템 및 방법{System And Method For Diagnosing Vulnerability In Network}System and Method For Diagnosing Vulnerability In Network}

본 발명은 네트워크 취약성 진단 시스템 및 방법에 관한 것으로, 특히 네트워크에서 취약점 표현을 이용하여 호스트 모델의 취약점을 진단하도록 한 네트워크 취약성 진단 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for diagnosing network vulnerabilities, and more particularly, to a system and method for diagnosing network vulnerabilities for diagnosing vulnerabilities of a host model using vulnerability expressions in a network.

최근, 해킹기법의 다양화와 사이버 테러의 위협 증가로 인해 국가정보통신기반의 주요 서비스들과 서비스를 제공하는 시스템들을 보호하기 위한 연구와 정책 제정에 대한 관심이 높아지고 있는데, 정보통신기반의 보호에 있어서 선행되어야할 것은 정보통신기반이 가지고 있는 보안 취약점을 진단하는 것이다. 이러한 진단이 정확하게 이루어질 때 정보통신기반에 잠재되어 있는 취약점에 대해 방어 메커니즘을 정의하여 위협에 대처할 수 있게 된다. 종래 대부분의 취약성 진단에 스캐닝기반 취약점 분석 방법 또는 해킹 전문가를 통한 침투 실험 방법을 사용하였다. 각 방법은 나름대로 장점이 있지만 다음과 같은 보완해야할 문제점이 있다.Recently, due to the diversification of hacking techniques and the increasing threat of cyber terrorism, there is increasing interest in research and policy enactment to protect the main services and systems that provide services based on national telecommunications. In this regard, the first thing to do is to diagnose the security weaknesses of the information and communication infrastructure. When these diagnoses are made correctly, it is possible to cope with the threat by defining a defense mechanism against vulnerabilities that are latent in the information and communication infrastructure. For the most recent vulnerability diagnosis, scanning-based vulnerability analysis method or penetration test method through hacking expert was used. Each method has its advantages, but there are some problems to be solved.

첫째, 상기 스캐닝기반 취약점 분석 방법은 연쇄적인 공격성공으로 인한 네트워크의 상태변화나 피해 상황을 알아내는 것이 어렵다. 이 방법을 이용한 취약성 분석은 지정된 공격을 발생시키는 형태로 이루어지며, 공격과 공격사이의 관계나, 공격의 성공 후에 이루어 질 수 있는 후행 공격에 대한 정의를 하지 못한다. 이것은 공격 대상 시스템의 공격 성공 후의 상태변화를 고려하지 않기 때문에 생기는 문제점이다. 그리고, 상기 전문가를 통한 침투 실험 방법은 전문가의 경험 또는 지식 정도의 가변성 때문에 그 결과 역시도 가변성을 갖는다는 문제점이 있다.First, in the scanning-based vulnerability analysis method, it is difficult to find out the status change or damage situation of the network due to successive attacks. Vulnerability analysis using this method takes the form of generating a specified attack and does not define the relationship between the attack and the subsequent attack that can be performed after the attack is successful. This is a problem caused by not considering the state change after the successful attack of the target system. In addition, the penetration test method through the expert has a problem that the result also has a variable because of the variability of the expert's experience or knowledge.

둘째, 상기 스캐닝기반 취약점 분석 방법이나 전문가를 통한 침투 실험 방법은 모두 실 시스템을 대상으로 취약성 분석을 수행하기 때문에 취약성 분석을 위한 공격 실행으로 인해 정보통신기반 네트워크에 문제를 일으키거나 성능 저하를 가져 올 수 있는 문제점이 있다. 특히, 정보통신기반의 특성상, 이의 필수적인 서비스가 중단될 경우 많은 피해가 발생할 수 있기 때문에 더욱 문제가 될 소지가 있다.Second, since both the scanning-based vulnerability analysis method and the expert penetration test method perform vulnerability analysis on a real system, the execution of an attack for vulnerability analysis may cause problems or degrade performance in an information communication network. There is a problem that can be. In particular, due to the nature of the information and communication infrastructure, it may be more problematic because a lot of damage can occur when its essential services are interrupted.

셋째, 상기 스캐닝기반 취약점 분석 방법이나 전문가를 통한 침투 실험 방법은 모두 현존하지 않는 네트워크 구조에 대해서는 취약성 분석이 불가능하다는 문제점이 있다. 앞으로 설계될 네트워크에 대한 취약점 분석이 필요할 수 있고, 현존하는 네트워크의 설계의 변경 시에 변경된 네트워크 구조에 대한 취약점 분석이 필요할 수 있으나 이에 대한 예측이 매우 어렵다는 문제점이 있다.Third, both the scanning-based vulnerability analysis method and the expert penetration test method have a problem that vulnerability analysis cannot be performed on a network structure that does not exist. It may be necessary to analyze the vulnerability of the network to be designed in the future, and it may be necessary to analyze the vulnerability of the changed network structure when the design of the existing network is changed, but there is a problem that the prediction is very difficult.

넷째, 상기 스캐닝기반 취약점 분석 방법은 현재 시점의 네트워크 상태에 대한 분석만이 가능하며, 공격 인식 후 네트워크에 가해지는 방어 메커니즘의 변화에 대한 진단결과의 차이를 명시할 수 없는 문제점이 있다. 특히, 정보통신기반의 보안 관리자의 관리수준이나 관리주기에 따라서 그 진단 결과가 달라질 수 있는데, 이를 고려한 진단결과를 제시하기 위해서는 현재의 보안관리 상황을 기반으로 다양한 시간대에 진단을 해야한다는 문제점이 있다.Fourth, the scanning-based vulnerability analysis method can only analyze the network state at the present time, and there is a problem in that it is not possible to specify a difference in a diagnosis result about a change in the defense mechanism applied to the network after the attack is recognized. In particular, the diagnosis result may vary according to the management level or the management cycle of the information and communication-based security manager. In order to present the diagnosis result in consideration of this, there is a problem that the diagnosis should be performed at various times based on the current security management situation. .

상술한 바와 같은 문제점을 해결하기 위한 것으로, 본 발명의 목적은 공격자 모델을 구축하여서 공격으로 인한 네트워크의 상태변화에 근거해 다음 공격을 선택함으로써, 공격의 선후행 관계 정립이 가능하고 이를 가변적으로 선택하는 것이 가능하도록 하는데 있다.In order to solve the problems as described above, an object of the present invention is to build the attacker model to select the next attack based on the change of network state due to the attack, it is possible to establish the preceding and subsequent relationship of the attack and to select it variably To make it possible.

본 발명의 다른 목적은 평가대상 네트워크의 모델에게 공격 및 테스트를 수행함으로써, 네트워크의 기능 및 성능에 영향을 주지 않으며 현존하지 않는 네트워크 구조에 대한 취약성 진단이 가능하도록 하는데 있다.Another object of the present invention is to perform an attack and a test on a model of the network to be evaluated, so as not to affect the function and performance of the network and to diagnose a vulnerability for an existing network structure.

본 발명의 또 다른 목적은 다양한 시간대 별로 공격을 발생시키고 이의 반응을 보는 것이 가능하게 함으로써, 보안관리 수준이나 주기에 따른 취약성 진단이 가능하도록 하는데 있다.Still another object of the present invention is to enable an attack at various time slots and to view the response thereof, thereby enabling vulnerability diagnosis according to security management level or cycle.

도 1은 AV의 타입에 따른 상태, 입력 및 관계 연산자의 정리를 나타낸 표.1 is a table showing the theorem of states, inputs and relational operators according to AV types.

도 2는 프리BSD 리베디트 취약점의 상태와 상태전이 예제 시나리오를 나타낸 도면.2 illustrates a state and state transition example scenario of a FreeBSD regression vulnerability.

도 3은 본 발명의 실시예에 따른 네트워크 취약성 진단 시스템이 구비하는 호스트 취약성 모델을 나타낸 도면.3 is a diagram illustrating a host vulnerability model included in a network vulnerability diagnosis system according to an embodiment of the present invention.

도 4는 도 3에 있어 AV 리스트부의 AV 리스트 구성을 나타낸 도면.FIG. 4 is a view showing the AV list structure of the AV list unit in FIG. 3; FIG.

도 5는 도 4에 있어 AV 구성을 나타낸 도면.FIG. 5 is a view showing an AV configuration in FIG. 4; FIG.

도 6은 도 3에 있어 CV 리스트부의 CV 구성을 나타낸 도면.FIG. 6 is a diagram showing a CV configuration of a CV list unit in FIG. 3; FIG.

도 7은 CV와 AV의 사상관계를 나타낸 도면.7 is a diagram showing a mapping relationship between a CV and an AV.

도 8은 본 발명의 실시예에 따른 네트워크 취약성 진단 방법을 나타낸 순서도.8 is a flowchart illustrating a network vulnerability diagnosis method according to an embodiment of the present invention.

도 9는 본 발명의 다른 실시예에 따른 네트워크 취약성 진단 시스템의 시뮬레이션에 의한 취약성 진단 방법을 나타낸 순서도.9 is a flowchart illustrating a vulnerability diagnosis method by simulation of a network vulnerability diagnosis system according to another embodiment of the present invention.

도 10은 본 발명이 적용되는 시뮬레이션 프로그램의 초기 화면을 나타낸 도면.10 is a view showing an initial screen of a simulation program to which the present invention is applied.

도 11은 호스트 기반 시뮬레이션에서 사용하는 메뉴를 나타낸 도면.11 illustrates menus used in host-based simulations.

도 12는 호스트 보안 모델의 초기화 설정을 위한 창을 나타낸 도면.12 is a diagram illustrating a window for initialization setting of a host security model.

도 13은 호스트 취약성 모델의 초기화 설정을 위한 창을 나타낸 도면.13 is a diagram showing a window for initialization setting of a host vulnerability model.

도 14는 보안 시스템 모델의 초기화 설정을 위한 창을 나타낸 도면.14 shows a window for initialization setting of a security system model.

도 15는 공격자 모델의 초기화 설정을 위한 창을 나타낸 도면.15 shows a window for initializing an attacker model.

도 16은 호스트 기반 시뮬레이션 실행 화면을 나타낸 도면.16 shows a host-based simulation execution screen.

도 17은 호스트 기반 시뮬레이션 실행 결과 분석 화면을 나타낸 도면.17 is a view showing a host-based simulation execution result analysis screen.

도 18은 호스트 모델의 솔루션 정보를 나타낸 도면.18 is a diagram showing solution information of a host model.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

10 : 호스트 특성부 20 : 프로토콜 버퍼부10: host characteristic unit 20: protocol buffer unit

30 : CV 리스트부 40 : AV 리스트부30: CV list part 40: AV list part

41 : 시스템 AV 리스트블록 42 : 서비스 AV 리스트블록41: system AV list block 42: service AV list block

50 : 취약성 DB 60 : 추론 기구부50: vulnerability DB 60: inference mechanism

70 : 평가 메소드부 80 : 보안 관리자 인터페이스부70: evaluation method unit 80: security manager interface unit

상술한 바와 같은 목적을 해결하기 위하여, 본 발명의 네트워크 취약성 진단 시스템은 네트워크에 존재하는 취약점을 분석하여 호스트 모델의 취약점을 표현하고 해당 취약점 표현을 분석하여 해당 호스트 모델의 취약성을 진단하는 호스트 취약성 모델을 구비하는데, 상기 호스트 취약성 모델은, 상기 호스트 모델의 특성을 표현하는 호스트 특성부와; 공격 패킷을 입력받아 일정시간 저장한 후 출력하는 것으로 상기 호스트 모델의 버퍼자원을 표현하는 프로토콜 버퍼부와; 상기 호스트 모델이 갖는 복합 취약점(CV)들을 표현하는 CV 리스트부와; 상기 복합 취약점들을 구성하는 것으로 상기 호스트 모델이 갖는 단위 취약점(AV)들을 표현하는 AV 리스트부와; 상기 호스트 모델에 대한 상기 복합 취약점 및 단위 취약점을 저장하는 취약성 DB와; 상기 호스트 모델의 취약성에 대한 분석 및 진단을 전반적으로 제어하는 것으로 상기 호스트 모델 특성의 조합을 이용하여 상기 취약성 DB에서 상기 호스트모델이 갖는 복합 취약점들을 가져와 상기 CV 리스트부에서 해당 호스트 모델의 CV 리스트를 구성하고 해당 복합 취약점들을 구성하는 단위 취약점들을 상기 취약성 DB로부터 가져와 상기 AV 리스트부에서 해당 호스트 모델의 AV 리스트를 구성하는 추론 기구부와; 상기 공격 패킷에 의해서 상기 AV 리스트부의 단위 취약점이 악용되었는지를 판단하여 결과 값을 상기 CV 리스트부로 전달해 해당 단위 취약점이 속하는 복합 취약점이 상기 공격 패킷에 의해서 악용되었는지 여부를 확인하게 해주는 평가 메소드부와; 상기 호스트 모델의 취약성 진단 결과를 보안 관리자에게 보고하는 보안 관리자 인터페이스부를 포함하여 이루어진 것을 특징으로 한다.In order to solve the above object, the network vulnerability diagnosis system of the present invention analyzes the vulnerabilities present in the network to express the vulnerability of the host model and analyzes the expression of the corresponding vulnerability to diagnose the vulnerability of the corresponding host model. The host vulnerability model includes: a host characteristic unit representing a characteristic of the host model; A protocol buffer unit for receiving the attack packet, storing the predetermined time, and outputting the attack packet; A CV list unit for expressing complex vulnerabilities (CVs) of the host model; An AV list unit for constructing the compound vulnerabilities and expressing unit vulnerabilities (AV) of the host model; A vulnerability DB for storing the compound vulnerability and the unit vulnerability for the host model; The overall control of the analysis and diagnosis of the vulnerability of the host model to take a combination of the vulnerability of the host model in the vulnerability database using the combination of the host model characteristics to obtain the CV list of the host model in the CV list unit An inference mechanism unit configured to construct unit AVs of the host model in the AV list unit by taking unit vulnerabilities constituting the complex vulnerabilities from the vulnerability DB; An evaluation method unit for determining whether a unit vulnerability of the AV list unit has been exploited by the attack packet and transferring a result value to the CV list unit to determine whether a complex vulnerability to which the unit vulnerability belongs is exploited by the attack packet; And a security manager interface unit for reporting a vulnerability diagnosis result of the host model to the security manager.

그리고, 본 발명의 네트워크 취약성 진단 방법은 호스트 모델 특성의 조합을 이용하여 해당 호스트 모델이 갖는 CV들을 추출하는 과정과; 상기 추출된 CV들을 CV 리스트에 추가한 후 해당 CV의 AV의 취약점 표현을 분석하여 AV ID를 추출하는 과정과; 상기 추출된 AV ID를 이용하여 상기 호스트 모델이 갖는 AV를 추출하는 과정과; 상기 추출된 AV를 해당 AV의 성격에 따라서 시스템 AV 리스트에 추가하거나 서비스 AV 리스트에 추가하는 과정과; 상기 CV 및 AV를 분석하여 해당 호스트 모델의 취약성을 진단하고 해당 CV 및 AV를 제거하여 네트워크의 취약성을 보안하는 과정을 포함하여 이루어진 것을 특징으로 한다.The network vulnerability diagnosis method of the present invention includes the steps of extracting CVs of the corresponding host model using a combination of host model characteristics; Adding the extracted CVs to a CV list and extracting an AV ID by analyzing a vulnerability expression of an AV of the corresponding CV; Extracting an AV of the host model using the extracted AV ID; Adding the extracted AV to a system AV list or a service AV list according to the characteristics of the AV; Analyzing the CV and AV to diagnose the vulnerability of the host model, and removes the CV and AV, characterized in that it comprises a process for securing the vulnerability of the network.

또한, 본 발명의 네트워크 취약성 진단 방법은 호스트 모델, 보안 시스템 모델 및 공격자 모델을 초기화하여 호스트 기반 시뮬레이션을 설정하는 과정과; 상기 설정된 호스트 기반 시뮬레이션을 실행하여 상기 공격자 모델이 상기 호스트 모델을 공격하게 하는 과정과; 상기 호스트 기반 시뮬레이션 실행 결과를 분석하여 네트워크의 취약성을 진단하는 과정을 포함하여 이루어진 것을 특징으로 한다.In addition, the network vulnerability diagnosis method of the present invention comprises the steps of setting the host-based simulation by initializing the host model, security system model and attacker model; Executing the set host-based simulation to cause the attacker model to attack the host model; And analyzing the host-based simulation execution result to diagnose the vulnerability of the network.

이하, 본 발명의 실시예를 첨부한 도면을 참조하여 상세하게 설명하면 다음과 같다.Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

먼저, 본 발명의 실시예에 따른 네트워크 취약성 진단 시스템을 설명한다.First, a network vulnerability diagnosis system according to an embodiment of the present invention will be described.

본 발명의 실시예에 따른 네트워크 취약성 진단 시스템은 호스트 취약성 모델을 포함하여 이루어지는데, 상기 호스트 취약성 모델은 네트워크에 존재하는 취약점을 분석하여 호스트 모델의 취약점을 표현하고 해당 취약점 표현을 분석하여 해당 호스트 모델의 취약성을 진단한다.Network vulnerability diagnosis system according to an embodiment of the present invention comprises a host vulnerability model, the host vulnerability model to analyze the vulnerability in the network to express the vulnerability of the host model and to analyze the corresponding expression of the corresponding host model Diagnose vulnerabilities

이하, 본 발명에 활용되는 단위 취약점인 AV(Atomic Vulnerability)의 개념을 설명한다.Hereinafter, the concept of AV (Atomic Vulnerability) which is a unit vulnerability used in the present invention will be described.

상기 AV란 가장 작은 단위의 취약점을 말하는데, AV가 그 자체로 독립적인 개념이므로 서로 다른 취약점에서 같은 AV가 나타날 수 있다. 따라서, AV를 체계적으로 정의할 수 있도록 카테고리(Category)로 분류하며, 하나의 취약점을 단순히 AV의 집합이 아니라 논리적인 조합으로 표현(Vul_Expression)한다.The AV refers to the smallest unit of vulnerability, and since AV is an independent concept in itself, the same AV may appear in different vulnerabilities. Therefore, it classifies AV into categories to systematically define AV, and expresses one vulnerability as a logical combination (Vul_Expression) rather than simply a set of AVs.

먼저, 상기 AV의 구성 요소를 설명한다.First, the components of the AV will be described.

하나의 AV는 다음과 같은 구성요소로 정의된다.One AV is defined by the following components.

AV = {타입(Type), 카테고리(Category), 입력(Input), 초기 상태(Initial State), 최종 상태(Final State)}AV = {Type, Category, Input, Initial State, Final State}

여기서, 상기 타입 = {사실(Fact), 비확률(NonProb), 확률(Prob)}이고, 상기카테고리 = {일반(Generic), 어플리케이션-특수(Application-specific), 시스템 특수(System-specific)}이고, 상기 입력 = {보안 관점에서 중요한 상태전이를 일으키는 입력}이고, 상기 초기 상태 = {없음(None), 정상(Normal), 명명된 특정 상태}이며, 상기 최종 상태 = {정상(Normal), 명명된 특정 상태}이다.Here, the type = {Fact, Non-Probability, Probability}, and the category = {Generic, Application-specific, System-specific} And the input = {an input that causes a significant state transition from a security standpoint}, and the initial state = {None, Normal, named specific state}, and the final state = {Normal, Named specific state}.

이하, 상기 AV의 상태와 상태전이를 설명한다.The following describes the state and state transition of the AV.

상기 AV의 상태와 상태전이는 입력, 초기 상태 및 최종 상태 세 가지의 구성 요소로 정의되는데, 상태 및 입력의 정의는 향후 활용 방향과도 매우 밀접한 관계가 있다. 상기 AV를 이용해서 분석한 취약점 데이터가 사용되는 시뮬레이션에서는 보안 관점에서 중요한 상태와 상태전이 함수를 정의한 개념 레벨(Conceptual Level)로 모델링을 수행하므로, 상태 및 입력은 보안 관점에서 중요한 상태와 입력으로 정의한다. 상기 입력은 유닉스에서 실행되는 실제 명령어(export BRUEXECLOG=/etc/passwd)가 될 수 있지만, 대부분 정형화된 추상적 표현 형식(lpd [file begin with \"cf\" and execute command])을 갖는다.The state and state transition of the AV are defined by three components: input, initial state, and final state, and the definition of state and input has a close relationship with future usage directions. In the simulation using the vulnerability data analyzed using the AV, modeling is performed at a conceptual level that defines a state and a state transition function that are important from a security point of view. Therefore, states and inputs are defined as important states and inputs from a security point of view. do. This input can be the actual command executed on Unix (export BRUEXECLOG = / etc / passwd), but mostly has a formal abstract representation format (lpd [file begin with \ "cf \" and execute command]).

이하, 상기 AV의 취약점 표현(Vul_Expression)을 설명한다.Hereinafter, the vulnerability expression (Vul_Expression) of the AV will be described.

상기 AV는 하나의 취약점으로 구성되기 위해 AND 관계(AND Relation), OR 관계(OR Relation), POR 관계(POR Relation), SAND 관계(Sequential AND Relation) 관계 및 복합 타입 관계(Complex Type Relation)를 서로 가질 수 있다.In order to constitute one vulnerability, the AV has an AND relationship, an OR relationship, a POR relationship, a SAND relationship, and a complex type relationship. Can have

여기서, 상기 AV가 입력(Input)에 의해서 취약점이 노출되었을 경우에 해당 AV가 참(True)인 값을 갖는다고 하는데, 상기 AND 관계(AND)는 각 AV 모두가 참인 경우에만 악용되는 취약점을 표현할 때 사용하고, 상기 OR 관계(OR)는 각 AV 중 하나라도 참인 경우 악용될 수 있는 취약점을 표현할 때 사용하고, 상기 POR 관계(POR)는 각 AV 중 하나라도 참인 경우 악용 될 수 있는 취약점을 표현할 때 사용하는데 이 경우에는 각 AV에 가중치가 존재하며 해당 취약성에 대해 시스템이 어느 정도 취약한지를 정량화하고, 상기 SAND 관계(SAND)는 각 AV가 순서적으로 참이 되어야만 악용되는 취약점을 표현할 때 사용하며, 상기 복합 타입 관계는 상기 AND, OR, POR 및 SAND 관계가 복합된 형태이다.Here, the AV is said to have a value that the AV is true when the vulnerability is exposed by the input, and the AND relationship (AND) represents a vulnerability that is exploited only when all AVs are true. The OR relationship (OR) is used to express a vulnerability that can be exploited if any one of each AV is true, and the POR relationship (POR) expresses a vulnerability that can be exploited if any one of each AV is true. In this case, each AV has a weight and quantifies how vulnerable the system is to the vulnerability, and the SAND relationship is used to express a vulnerability that must be exploited only when each AV is sequentially true. The complex type relationship is a form in which the AND, OR, POR and SAND relationships are complex.

이때, 상기 POR 관계가 상기 복합 타입 관계에 사용될 경우에 적용되는 원칙(Axion)을 설명한다.In this case, the principle applied when the POR relationship is used for the complex type relationship will be described.

첫번째 원칙을 설명하면, "A#60 POR (B OR C)#40"인 경우에, AV B와 C는 OR 관계에 있어서, 이의 결과는 1 또는 0으로 나타난다. 만일 1이 된다면 A와 (B OR C)사이에 POR 연산을 수행해야 하며 이를 위해서는 (B OR C)에 대한 유효(Effect)값이 정의되어 있어야 한다.Explaining the first principle, in the case of "A # 60 POR (B OR C) # 40", AV B and C are in an OR relationship, and the result thereof is represented by 1 or 0. If it is 1, a POR operation must be performed between A and (B OR C), and for this, an effective value for (B OR C) must be defined.

두번째 원칙을 설명하면, "A OR (B#50 POR C#50)"인 경우에, AV B와 C는 POR관계에 있어서 0과 1사이의 어떤 값이 나오지만, 이의 결과를 사용해서 A와 OR 연산을 수행해야 함으로 B POR C의 결과는 1 또는 0으로 나와야한다. 여기서는 특정 기준값(0.5)을 기준으로 해서 이를 초과 할 때에는 1 그렇지 못할 경우 0으로 간주하는데, 해당 기준값은 가변적(Variable)이다. 즉, 취약성에 따라서 다르다.To explain the second principle, in the case of "A OR (B # 50 POR C # 50)", AV B and C produce a value between 0 and 1 in the POR relationship, but using the result of A and OR Since the operation must be performed, the result of B POR C should be 1 or 0. In this case, if the reference value is exceeded based on a specific reference value (0.5), 1 is considered to be 0 otherwise. The reference value is variable. It depends on the vulnerability.

상기 두 가지 원칙은 다른 관계 연산자에도 동일하게 적용된다.The above two principles apply equally to other relational operators.

예컨대, 상기 AV의 논리적 조합이 "A#30 POR B#30 POR C#40"인 경우에, A의 유효 값이 10, B의 유효 값이 20, C의 유효 값이 30이면, AV인 B와 C가 참인 값을갖는 시스템의 취약성 지수는 (30+40)/(30+30+40)이 된다. 여기서 취약성 지수 0인 경우는 해당 취약점이 악용 불가능(Non-vulnerable)하다는 것이고, 취약성지수가 1인 경우는 100% 악용 가능한 경우를 말한다.For example, when the logical combination of AV is "A # 30 POR B # 30 POR C # 40", if the valid value of A is 10, the valid value of B is 20, and the valid value of C is 30, B is AV. The vulnerability index of a system with a value of and C is true (30 + 40) / (30 + 30 + 40). In this case, a vulnerability index of 0 means that the vulnerability is non-vulnerable, and a vulnerability index of 1 means 100% exploitation.

그리고, 상기 AV의 타입에 따른 가능한 상태, 입력 및 관계 연산자(Operator)는 도 1과 같이 정의한다. 여기서 도 1은 AV의 타입에 따른 상태, 입력 및 관계 연산자의 정리를 나타낸 표이다.In addition, possible states, inputs, and relational operators according to the AV type are defined as shown in FIG. 1. 1 is a table showing the theorem of states, inputs, and relational operators according to AV types.

이하, 도 2를 참조하여 상기 AV의 상태와 상태전이를 예제를 들어 설명한다.Hereinafter, the state and state transition of the AV will be described with reference to FIG. 2.

도 2는 프리BSD 리베디트(FreeBSD libedit) 취약점의 상태와 상태전이 예제 시나리오를 나타낸 도면이다.2 is a diagram illustrating a state and a state transition example scenario of a FreeBSD libedit vulnerability.

예제가 "현재 디렉토리 취약성(Current Directory Vulnerability)에서부터 프리BSD 리베디트 .editrc (CVE-2000-0595)"과 같이 주어진다면, 이 취약점은 프리BSD 4.0, 3.4, 3.3, 3.2, 3.1, 3.0에서 "/usr/sbin/ nslookup"이나 "/usr/bin/ftp" 등의 어플리케이션과 정적 또는 동적으로 링크되어 있는 리베디트에 대한 것이다. 상기 리베디트는 ".editrc" 파일을 사용자의 홈 디렉토리가 아닌 현재 디렉토리에서 찾는다. 따라서 로컬 사용자가 ".editrc" 파일에 생성한 임의의 명령어를 실행할 수 있게 한다.If the example is given as "Current Directory Vulnerability to FreeBSD Revive .editrc (CVE-2000-0595)", this vulnerability is fixed in FreeBSD 4.0, 3.4, 3.3, 3.2, 3.1, 3.0 and "/. For rebates that are statically or dynamically linked with applications such as "usr / sbin / nslookup" or "/ usr / bin / ftp". The rebates look for ".editrc" files in the current directory, not in the user's home directory. This allows local users to execute arbitrary commands created in the ".editrc" file.

이하, 상기 AV의 카테고리를 예제를 들어 설명한다.Hereinafter, the category of the AV will be described with an example.

첫번째 예제로, "버퍼 오버플로우(Buffer Overflow) 취약점은 어떤 어플리케이션이나 운영체제(OS ; Operating System) 핵심(Kernel)에서 발생할 수 있으므로 일반 카테고리에 속한다"일 때, "C1_AV_1. (NonChkParaLen)"는 버퍼로 복사하는 입력 정보의 길이 검사를 하지 않음을 나타내고, "C1_AV_2. (NonChkParaCon)"는 입력데이터가 프로그래머가 원하는 형태인지를 검사하지 않음을 나타내며, "C1_AV_3. (EnabledAltRetAddr)"는 사용자가 리턴 어드레스(Return Address)를 변경하는 것을 허용함을 나타내면, 상기 버퍼 오버플로우 취약점의 논리적 조합은 "NonChkParaLen AND NonChkParaCon AND EnabledAltRetAddr"과 같이 표현할 수 있다.In the first example, "C1_AV_1. (NonChkParaLen)" is a buffer when "Buffer Overflow vulnerabilities belong to the general category because they can occur in any application or operating system (Kernel)." "C1_AV_2. (NonChkParaCon)" indicates that the input data to be copied is not checked, and "C1_AV_3. (EnabledAltRetAddr)" indicates that the input data is not checked by the programmer. Address), the logical combination of the buffer overflow vulnerability may be expressed as "NonChkParaLen AND NonChkParaCon AND EnabledAltRetAddr".

두번째 예제로, "전송(Forward) 파일을 이용한 전송메일(Sendmail) 악용의 경우는 전송메일이라는 특정 어플리케이션에 해당하는 AV와 NFS 파일 시스템에서 도래된 두 개의 시스템 특수(system specific) AV로 분석할 수 있다"일 때, "C2_AV_1. (SendmailForwardingEnabled)"는 전송메일 프로그램이 ".forward"를 참조하여 메일 전송(Mail Forwarding)을 실행함을 나타내고, "C2_AV_2. (ExploitTheForwardingFunc)"는 외부에서 온 메일에 의해 시스템이 비정상 상태로 전이함을 나타내고, "C3_AV_1. (SysUserHomeWldWritable)" 특정 사용자의 홈 디렉토리(Home_directory)가 월드 라이터블(World-writable)함을 나타내며, "C3_AV_2. (Write.forwardFileInHomeDir)"는 특정 사용자의 홈 디렉토리의 ".forward" 파일을 갱신함을 나타내면, 상기 전송메일 취약점의 논리적 조합은 "(SendmailForwardingEnabled AND SysUserHomeWldWritable) SAND ExploitTheForwardingFunc SAND Write.forwardFileInHomeDir"과 같이 표현할 수 있다.In the second example, "Sendmail exploits using forward files can be analyzed as AVs corresponding to specific applications called forward mails and as two system specific AVs coming from the NFS file system. "C2_AV_1. (SendmailForwardingEnabled)" indicates that the forwarding mail program executes Mail Forwarding with reference to ".forward", and "C2_AV_2. (ExploitTheForwardingFunc)" indicates that the mail is from outside. "C3_AV_1." (SysUserHomeWldWritable) "Indicates that the user's home directory (Home_directory) is world-writable," C3_AV_2. (Write.forwardFileInHomeDir) "indicates that the system has transitioned to an abnormal state. Indicating that it updates the ".forward" file in the home directory of the file, the logical combination of the forwarding mail vulnerability is "(SendmailForwardingEnabled AND SysUserHomeWldWritable) SAND ExploitTheForwardingFun c SAND Write.forwardFileInHomeDir ".

이하, 상기 AV 개념의 호스트 취약성 모델링에서의 활용을 설명한다.The use of the AV concept in host vulnerability modeling is described below.

본 발명의 실시예에 따른 네트워크 취약성 진단 시스템은 호스트 취약성 모델을 구비하는데, 도 3을 참조하여 상기 호스트 취약성 모델을 설명한다.The network vulnerability diagnosis system according to an embodiment of the present invention includes a host vulnerability model, which will be described with reference to FIG. 3.

도 3은 본 발명의 실시예에 따른 네트워크 취약성 진단 시스템이 구비하는 호스트 취약성 모델을 나타낸 도면이다.3 is a diagram illustrating a host vulnerability model included in a network vulnerability diagnosis system according to an embodiment of the present invention.

상기 호스트 취약성 모델은 호스트 특성부(Host Characteristics)(10), 프로토콜 버퍼부(Protocol Buffer)(20), CV 리스트부(CV ; Compound Vulnerability list)(30) 및 AV 리스리부(AV ; Atomic Vulnerability List)(40), 취약성 DB(DataBase)(50), 추론 기구부(Inference Engine)(60), 평가 메소드부(70)(Evaluation Method) 및 보안 관리자 인터페이스부(80)를 포함하여 이루어진다.The host vulnerability model includes a host characteristics (10), a protocol buffer (20), a CV (compound vulnerability list) (CV) 30, and an AV list (AV). 40), a vulnerability database (DB) 50, an inference engine 60, an evaluation method 70, and a security manager interface 80.

여기서, 상기 호스트 특성부(10)는 호스트 모델의 특성을 표현하고, 상기 프로토콜 버퍼부(20)는 공격 패킷을 입력받아 일정시간 저장한 후 출력하는 것으로 상기 호스트 모델의 버퍼자원을 표현하고, 상기 CV 리스트부(30)는 상기 호스트 모델이 갖는 복합 취약점(CV ; Compound Vulnerability)들을 표현하고, 상기 AV 리스트부(40)는 상기 복합 취약점(CV)들을 구성하는 것으로 상기 호스트 모델이 갖는 단위 취약점(AV ; Atomic Vulnerability)들을 표현하고, 상기 취약성 DB(50)는 상기 호스트 모델에 대한 상기 복합 취약점(CV) 및 단위 취약점(AV)을 저장하고, 상기 추론 기구부(60)는 상기 호스트 모델의 취약성에 대한 분석 및 진단을 전반적으로 제어하는 것으로 상기 호스트 모델 특성의 조합을 이용하여 상기 취약성 DB(50)에서 상기 호스트 모델이 갖는 복합 취약점(CV)들을 가져와 상기 CV 리스트부(30)에서 해당 호스트 모델의 CV 리스트를 구성하고 해당 복합 취약점(CV)들을 구성하는 단위 취약점(AV)들을 상기 취약성 DB(50)로부터 가져와 상기 AV 리스트부(40)에서 해당 호스트 모델의 AV 리스트를 구성하고, 상기 평가 메소드부(70)는 상기 공격 패킷에 의해서 상기 AV 리스트부(40)의 단위 취약점(AV)이 악용되었는지를 판단하여 결과 값을 상기 CV 리스트부(30)로 전달해 해당 단위 취약점(AV)이 속하는 복합 취약점(CV)이 상기 공격 패킷에 의해서 악용되었는지 여부를 확인하게 해주며, 상기 보안 관리자 인터페이스부(80)는 상기 호스트 모델의 취약성 진단 결과를 보안 관리자에게 보고한다.Here, the host characteristic unit 10 expresses the characteristics of the host model, and the protocol buffer unit 20 receives the attack packet and stores it for a predetermined time and then outputs the buffer resource of the host model. The CV list unit 30 expresses compound vulnerabilities (CV) of the host model, and the AV list unit 40 constitutes the compound vulnerabilities (CVs). Represents AV (Atomic Vulnerability), the vulnerability DB (50) stores the compound vulnerability (CV) and unit vulnerability (AV) for the host model, the inference mechanism unit 60 is vulnerable to the vulnerability of the host model General control of the analysis and diagnosis of the host model using the combination of the host model characteristics to determine the complex vulnerabilities (CV) of the host model in the vulnerability database (50) And the unit list vulnerabilities (AV) constituting the CV list of the host model in the CV list unit 30 and constituting the compound vulnerabilities (CVs) from the vulnerability DB 50 and corresponding in the AV list unit 40. An AV list of a host model is constructed, and the evaluation method unit 70 determines whether the unit vulnerability (AV) of the AV list unit 40 has been exploited by the attack packet, and determines a result value of the AV list. ) To check whether the compound vulnerability (CV) to which the corresponding unit vulnerability (AV) belongs is exploited by the attack packet, and the security manager interface unit (80) transmits the security diagnosis result of the host model to the security manager. Report to

이하, 상기 호스트 특성부(10)를 설명한다.Hereinafter, the host characteristic unit 10 will be described.

상기 호스트 특성부(10)는 하드웨어 플랫폼(Hardware Platform)(11), 운영체제(OS)(12) 및 서비스 어플리케이션(Application List)(13)을 포함하여 이루어지는데, 상기 하드웨어 플랫폼(11)은 상기 호스트 모델의 하드웨어적인 특성을 명시하는 것으로, 하드웨어 이름(Name) 및 판매자(Vender)의 정보를 정하고, 상기 운영체제(12)는 상기 호스트 모델에서 운영하고 있는 오퍼레이팅 시스템(Operation System)에 대한 정보를 명시하는 것으로, 사용하는 운영체제의 이름, 버젼(Version) 및 판매자의 정보를 정하며, 상기 서비스 어플리케이션(13)은 상기 호스트 모델에서 제공하는 서비스들을 명시하는 것으로, 대부분의 호스트에서는 하나 이상의 서비스들을 제공하므로 모델링에서는 호스트 모델에서 제공하는 서비스들을 리스트로 구성하여 관리하는데, 호스트 모델에서 제공하는 각 서비스 어플리케이션들의 이름 및 버젼 정보를 정한다. 여기서, 호스트 모델의 특성은 상기 하드웨어 플랫폼(11), 운영체제(12) 및 서비스 어플리케이션(13)의 조합으로 구성된다.즉, 호스트 모델의 특성은 호스트 모델이 어떤 종류의 하드웨어로 구성되었고, 운영되는 운영체제는 무엇이고, 제공하고 있는 서비스 어플리케이션들은 무엇인지를 규명한다.The host characteristic unit 10 includes a hardware platform 11, an operating system (OS) 12, and a service application (Application List) 13, wherein the hardware platform 11 includes the host. By specifying the hardware characteristics of the model, the hardware name (Name) and the vendor (Vender) information is determined, and the operating system 12 specifies the information about the operating system (Operation System) operating in the host model In this case, the name of the operating system to be used, the version (Version) and information of the seller is determined, and the service application 13 specifies the services provided by the host model, since most hosts provide one or more services. It organizes and manages the services provided by the host model in a list. It establishes the name and version information of the service application. Here, the characteristics of the host model are composed of a combination of the hardware platform 11, the operating system 12, and the service application 13. That is, the characteristics of the host model are the types of hardware in which the host model is configured and operated. Identify what the operating system is and what service applications it provides.

이하, 상기 추론 기구부(60)를 설명한다.The reasoning mechanism 60 is described below.

상기 추론 기구부(60)는 상기 호스트 모델의 취약성에 대한 분석 및 진단을 전반적으로 제어하는 것으로 상기 호스트 모델 특성의 조합을 이용하여 상기 취약성 DB(50)에서 호스트 모델이 갖는 CV들을 가져와 상기 CV 리스트부(30)에서 호스트 모델의 CV 리스트를 구성한다. 구체적으로, 상기 호스트 모델 특성의 조합은 운영체제 이름(OS_name), 운영체제 버젼(OS_version), 하드웨어 플랫폼(Platform), 서비스 어플리케이션 이름(App_name) 및 서비스 어플리케이션 버젼(App_version)으로 구성된다.The reasoning mechanism 60 controls the analysis and diagnosis of the vulnerability of the host model as a whole, and brings the CVs of the host model in the vulnerability DB 50 by using the combination of the host model characteristics. At 30, the CV list of the host model is constructed. Specifically, the combination of the host model characteristics is composed of an operating system name OS_name, an operating system version OS_version, a hardware platform, a service application name App_name, and a service application version App_version.

그리고, 하나의 CV는 여러 개의 AV들로 구성되므로, 상기 추론 기구부(60)는 상기 호스트 모델의 CV들을 구성하는 AV들을 상기 취약성 DB(50)로부터 가져와 상기 AV 리스트부(40)에서 호스트 모델의 AV 리스트를 구성한다.And, since one CV is composed of a plurality of AVs, the inference mechanism unit 60 takes AVs constituting the CVs of the host model from the vulnerability DB 50, and the AV list unit 40 of the host model. Construct an AV list.

이하, 상기 호스트 취약성 모델에서의 취약성 표현을 설명한다.Hereinafter, the expression of vulnerability in the host vulnerability model will be described.

호스트 모델이 갖는 취약성들은 상기 호스트 취약성 모델 내에서 리스트 형태로 관리되며, 호스트 취약성 모델의 구성요소 중에서 가장 중요한 부분을 차지한다.The vulnerabilities of the host model are managed in a list form within the host vulnerability model, and constitute the most important component of the host vulnerability model.

상술한 바와 같이, 상기 호스트 모델의 취약성은 상기 CV 리스트부(30)의 CV 리스트와 상기 AV 리스트부(40)의 AV 리스트로 구성되는데, 해당 CV 리스트는 CV들의 집합이며, 해당 AV 리스트는 AV들의 집합이고, 상기 AV는 상기 CV를 구성하는 구성요소로서, 하나의 단위적인 보안 취약성들을 나타낸다.As described above, the vulnerability of the host model is composed of the CV list of the CV list unit 30 and the AV list of the AV list unit 40, the CV list is a set of CVs, the AV list is AV And AV is a component constituting the CV and represents one unit of security vulnerabilities.

우선, 상기 호스트 모델의 단위 취약점(AV)에 대해 설명하고, 다음으로 상기 호스트 모델의 복합 취약점(CV)에 대해 설명한다.First, the unit vulnerability (AV) of the host model will be described, and next, the compound vulnerability (CV) of the host model will be described.

먼저, 도 3 및 도 4를 참조하여 상기 AV 리스트부(40)를 설명한다.First, the AV list unit 40 will be described with reference to FIGS. 3 and 4.

도 4는 도 3에 있어 AV 리스트부(40)의 AV 리스트 구성을 나타낸 도면이다.FIG. 4 is a diagram showing the AV list structure of the AV list unit 40 in FIG.

상기 AV 리스트부(40)는 상기 호스트 모델의 취약성 정보를 표현하는데 사용되는 것으로, 시스템 AV 리스트블록(System_Vul List)(41) 및 서비스 AV 리스트블록(APP_Vul List)(42)을 구비하여 이루어진다. 즉, 호스트 취약성 모델 내에서 AV는 다수가 존재하게 되고, 해당 호스트 취약성 모델에서는 상기 다수의 AV들을 각각의 특성을 고려하여 두 종류의 집합으로 나누어 관리한다.The AV list unit 40 is used to express vulnerability information of the host model, and includes a system AV list block (System_Vul List) 41 and a service AV list block (APP_Vul List) 42. That is, a plurality of AVs exist in the host vulnerability model, and the host vulnerability model divides and manages the plurality of AVs into two types in consideration of their characteristics.

구체적으로, 상기 시스템 AV 리스트블록(41)은 상기 호스트 모델의 시스템적인 특성에 연관해서 발생하는 AV들을 모아 놓은 시스템 AV 리스트를 구비하는 것으로, 해당 시스템 AV 리스트블록(41)에 있는 AV들은 상기 호스트 모델의 하드웨어적인 특성이나 상기 호스트 모델에서 사용되고 있는 운영체제에 의해서 야기되는 AV들이다. 반면에, 상기 서비스 AV 리스트블록(42)은 상기 호스트 모델에서 제공하는 서비스들에 의해서 발생하는 AV들을 모아 놓은 서비스 AV 리스트를 구비하는 것으로, 해당 서비스 AV 리스트블록(42)에 있는 AV들은 서비스 어플리케이션에 의존적인 AV들이다.Specifically, the system AV list block 41 includes a system AV list that collects AVs generated in association with system characteristics of the host model, and AVs in the system AV list block 41 are assigned to the host. These are AVs caused by the hardware characteristics of the model or by the operating system used in the host model. On the other hand, the service AV list block 42 includes a service AV list that collects the AVs generated by the services provided by the host model, and the AVs in the service AV list block 42 are service applications. Are AV dependent.

이하, 도 5를 참조하여 상기 시스템 AV 리스트블록(41)과 서비스 AV 리스트블록(42)을 구성하는 AV를 설명한다.Hereinafter, an AV constituting the system AV list block 41 and the service AV list block 42 will be described with reference to FIG. 5.

도 5는 도 4에 있어 AV 구성을 나타낸 도면이다.FIG. 5 is a diagram illustrating an AV configuration in FIG. 4.

상기 AV는 상기 호스트 모델이 갖는 취약성 중에서 가장 기본이 되는 단위 취약성을 명시하는 것으로, AV ID 필드(AV_ID), AV 이름 필드(AV_Name), AV 타입 필드(Type), 입력 필드(Input), 초기 상태 필드(Init_State) 및 최종 상태 필드(Final_State)로 구성되는데, 상기 AV ID 필드는 상기 AV를 구별하기 위한 고유한 식별자이고, 상기 AV 이름 필드는 상기 AV의 이름을 나타내고, 상기 AV 타입 필드는 상기 AV의 타입을 나타내는 정보이고, 상기 입력 필드는 상기 AV를 노출(Expose)시키기 위한 입력 값을 명시하고, 상기 초기 상태 필드는 상기 입력 값에 의해서 공격이 이루어지기 전의 상태를 나타내며, 상기 최종 상태 필드는 상기 초기 상태에서의 AV의 입력에 의해서 공격이 성공적으로 이루어진 후의 상태를 나타낸다. 이때, 상기 AV ID 필드는 정수(Integer)이고 상기 AV 이름 필드, AV 타입 필드, 입력 필드, 초기 상태 필드 및 최종 상태 필드는 문자열(String)이다.The AV specifies the most basic unit vulnerability among the vulnerabilities of the host model, and includes an AV ID field (AV_ID), an AV name field (AV_Name), an AV type field (Type), an input field (Input), and an initial state. Field (Init_State) and final state field (Final_State), wherein the AV ID field is a unique identifier for distinguishing the AV, the AV name field indicates the name of the AV, and the AV type field is the AV Wherein the input field specifies an input value for exposing the AV, the initial state field indicates a state before an attack is made by the input value, and the final state field is The state after the attack is successfully performed by the input of the AV in the initial state is shown. In this case, the AV ID field is an integer, and the AV name field, AV type field, input field, initial state field, and final state field are strings.

그리고, 상기 평가 메소드부(70)는 상기 공격 패킷에 의해서 상기 AV가 악용되었는지를 판단해주는 것으로, 공격 패킷내의 공격 데이터로 상기 AV를 악용할 수 있는 공격 입력이 들어왔는지를 보고 결과 값을 반환하는데, 해당 반환 값은 상기 AV가 속해 있는 상기 CV에 전해지고 해당 CV는 상기 AV의 반환 값을 이용하여 CV가 공격 패킷에 의해서 악용되었는지 여부를 확인한다.In addition, the evaluation method unit 70 determines whether the AV has been exploited by the attack packet, and reports whether an attack input capable of exploiting the AV is included in the attack data in the attack packet and returns a result value. The return value is passed to the CV to which the AV belongs and the CV uses the return value of the AV to determine whether the CV has been exploited by an attack packet.

이하, 상기 호스트 취약성 모델에서 상기 AV 리스트를 이용하여 상기 호스트 모델의 취약성을 분석하여 제거하는 동작을 설명한다.Hereinafter, an operation of analyzing and removing the vulnerability of the host model using the AV list in the host vulnerability model will be described.

도 4에 도시된 바와 같이, 상기 호스트 취약성 모델이 상기 호스트 모델의 취약성 중에서 AV를 시스템에 종속적인 집합인 시스템 AV 리스트와 서비스에 종속적인 집합인 서비스 AV 리스트로 나누어 관리하면, 상기 호스트 모델의 하드웨어 구성으로 인해 야기되거나 운영체제의 문제로 야기되는 AV 취약성들의 집합을 상기 시스템 AV 리스트를 통해서 알아내어, 해당 알아낸 AV들을 제거함으로써 전체적인 호스트 모델의 취약성을 줄여 나아 갈 수 있다.As shown in FIG. 4, if the host vulnerability model manages AVs among the vulnerabilities of the host model, the AV is divided into a system AV list that is a system-dependent set and a service AV list that is a service-dependent set. The set of AV vulnerabilities caused by configuration or operating system problems can be identified through the system AV list, and the vulnerabilities of the overall host model can be reduced by removing the identified AVs.

또한, 호스트 모델에서 제공하는 서비스들에 의해서 야기되는 AV 취약성들의 집합을 상기 서비스 AV 리스트를 통해서 알아내어, 해당 알아낸 AV들을 제거함으로써 전체적인 호스트 모델의 취약성을 줄여 나아 갈 수 있다.In addition, the set of AV vulnerabilities caused by the services provided by the host model can be identified through the service AV list, and the vulnerabilities of the overall host model can be reduced by removing the identified AVs.

상술한 바와 같이, 상기 호스트 모델의 취약점을 AV로 나누어 분석하여 각각의 호스트 모델별로 구성해 보면서 해당 호스트 모델이 갖는 취약점들을 관찰하고 분석하여 전체적인 네트워크 호스트 모델의 취약점들을 줄여 나아갈 수 있다. 이러한 관점에서 보면, 네트워크 호스트 모델들의 취약점들을 AV를 사용하여 표현하고, AV들을 시스템에 의존적인 집합과 호스트 모델에서 제공하는 서비스에 의존적인 집합으로 나누어 분석하는 접근 방식 자체에도 의의가 있다고 하겠다.As described above, by analyzing the vulnerability of the host model divided into AV to configure for each host model, by observing and analyzing the vulnerabilities of the host model can reduce the overall vulnerability of the network host model. From this point of view, the approach itself is significant in expressing vulnerabilities of network host models using AV, and analyzing and dividing AV into system dependent sets and service dependent sets provided by the host model.

이하, 상기 호스트 모델의 복합 취약성(CV ; Compound Vulnerability)을 설명한다.Hereinafter, compound vulnerability (CV) of the host model will be described.

먼저, 상기 CV 리스트부(30)를 설명한다.First, the CV list unit 30 will be described.

상기 호스트 모델에 존재하는 취약성들은 해당 호스트 모델의 특성에 따라 구성되는데, 상기 CV 리스트부(30)는 해당 호스트 모델의 특성을 이용하여 상기 취약성 DB(50)에서 해당 호스트 모델의 CV 취약성들을 추출해 온다. 즉, 상기 CV 리스트부(30)는 상기 취약성 DB 정보를 이용하여 호스트 모델이 갖는 CV들을 구성하여 CV 리스트 형태로 관리한다. 이때, 상기 호스트 모델에 존재하는 취약성 CV는 다수가 존재하는데, 이들 CV들 중 일부는 상기 호스트 모델에서 제공하는 서비스에 종속적인 것들이고, 나머지는 상기 호스트 모델의 하드웨어적인 특성이나 운영체제의 특성에 따라서 존재하게 되는 취약성들이다.The vulnerabilities present in the host model are configured according to the characteristics of the host model, and the CV list unit 30 extracts the CV vulnerabilities of the host model from the vulnerability DB 50 using the characteristics of the host model. . That is, the CV list unit 30 configures the CVs of the host model using the vulnerability DB information and manages them in the form of a CV list. At this time, there are a large number of vulnerability CVs present in the host model, some of which are dependent on the services provided by the host model, and others are dependent on the hardware characteristics of the host model or the characteristics of the operating system. Are vulnerabilities that exist.

이하, 도 6을 참조하여 상기 CV 리스트부(30)를 구성하는 CV를 설명한다.Hereinafter, the CV which comprises the CV list part 30 is demonstrated with reference to FIG.

도 6은 도 3에 있어 CV 리스트부(30)의 CV 구성을 나타낸 도면이다.FIG. 6 is a diagram illustrating a CV configuration of the CV list unit 30 in FIG. 3.

상기 CV는 호스트 모델에 존재하는 것으로, CV ID 필드(CV_ID), CV 이름 필드(CV_Name), AV의 취약점 표현 필드(Vul_Expression), 상태 필드(State) 및 AV 포인터 정보 필드(refAtomicVul)로 구성되는데, 상기 CV ID 필드는 상기 CV를 구별하기 위한 고유한 식별자이고, 상기 CV 이름 필드는 상기 CV의 이름을 나타내고, 상기 AV의 취약점 표현 필드는 상기 CV를 구성하는 AV들의 관계식을 나타내고, 상기 상태 필드는 상기 CV의 현재 상태를 나타내며, 상기 AV 포인터 정보 필드는 상기 CV를 구성하는 AV들이 위치해 있는 AV에 대한 포인터 정보를 나타낸다. 이때, 상기 CV ID 필드, CV 이름 필드, AV의 취약점 표현 필드 및 상태 필드는 문자열이고, 상기 AV 포인터 정보 필드는 AV 객체의 정수열(Array Integer Of AtomicVulObj)이다.The CV exists in the host model and is composed of a CV ID field (CV_ID), a CV name field (CV_Name), an AV vulnerability expression field (Vul_Expression), a state field (State), and an AV pointer information field (refAtomicVul). The CV ID field is a unique identifier for distinguishing the CV, the CV name field represents the name of the CV, the vulnerability expression field of the AV represents a relational expression of AVs constituting the CV, and the status field is The AV pointer information field indicates the current state of the CV, and the AV pointer information field indicates pointer information of an AV in which AVs constituting the CV are located. In this case, the CV ID field, the CV name field, the vulnerability expression field and the state field of the AV are strings, and the AV pointer information field is an array of AV objects (Array Integer Of AtomicVulObj).

여기서, 상기 CV를 구성하는 AV들 사이의 관계는 취약점 표현(Vulnerability Expression)이라는 CV와 AV의 관계를 정의하기 위한 수식의 형태로 나타나고, 상기 CV를 구성하는 AV는 상기 AV 구성에서 상술한 바와 같이, AV 리스트의 시스템 AV리스트나 서비스 AV 리스트 내에 존재하게 된다. 그리고, 상기 CV에서는 AV가 존재하는 곳에 대한 포인터 정보만을 갖고 있는데, 이는 하나의 AV가 다수의 CV의 구성요소가 될 수 있기 때문에 호스트 취약성 모델에서 AV가 중복해서 나타나는 것을 방지하기 위해서이다. 즉, 하나의 CV는 다수의 AV들로 구성되어지고, 반대로 하나의 AV는 다수의 CV를 구성한다.Here, the relationship between the AVs constituting the CV is expressed in the form of a formula for defining the relationship between the CV and the AV called a vulnerability expression, and the AV constituting the CV is as described above in the AV configuration. In the AV list, the system AV list and the service AV list are present. The CV has only pointer information on where the AV exists. This is to prevent duplicate AVs from appearing in the host vulnerability model because a single AV can be a component of a plurality of CVs. That is, one CV is composed of a plurality of AVs, on the other hand, one AV constitutes a plurality of CVs.

그리고, 상기 평가 메소드부(70)는 상기 CV의 상태 정보, 즉 악용되었는지의 여부를 점검하는 것으로, 상기 공격 패킷에 의한 CV의 상태를 결정하기 위해서 해당 CV를 구성하는 상기 AV 리스트부(40)에 있는 AV들에게 공격 패킷을 적용하여 각각의 상태변화 값을 반환 받아서 상기 CV 리스트부(30)에 있는 CV의 상태를 결정하게 된다. 특히, 상기 AV의 상태변화 값을 사용하여 상기 AV의 취약점 표현의 계산 값으로 알아낸다. 상기 CV의 구성요소 중 하나인, 상기 AV 포인터 정보는 해당 CV를 구성하는 AV들에 대한 포인터를 갖고 있어, 이 포인터를 사용하여 상기 CV를 구성하는 AV의 공격 패킷을 호출하여 해당 AV들의 상태변화 값을 반환 받는다.Then, the evaluation method unit 70 checks the state information of the CV, that is, whether it has been exploited, and the AV list unit 40 constituting the CV in order to determine the state of the CV by the attack packet. The attack packet is applied to the AVs in the terminal to receive each state change value to determine the state of the CV in the CV list unit 30. In particular, by using the state change value of the AV to find out the calculated value of the vulnerability representation of the AV. The AV pointer information, which is one of the components of the CV, has a pointer to the AVs constituting the CV. The pointer is used to call an attack packet of the AV constituting the CV. Get a value.

이하, 상기 호스트 취약성 모델에서 상기 CV 리스트를 이용하여 상기 호스트 모델의 취약성을 분석하여 제거하는 동작을 설명한다.Hereinafter, an operation of analyzing and removing the vulnerability of the host model using the CV list in the host vulnerability model will be described.

상기 호스트 취약성 모델에 구성된 CV 리스트를 이용하여 네트워크 호스트 모델에 존재하는 취약성에 대해 분석할 수 있다. 즉, 상기 호스트 취약성 모델에서 호스트 모델에 대해 다양한 하드웨어 플랫폼을 선택하고, 해당 선택된 하드웨어 플랫폼에서 운영하는 운영체제를 다양하게 적용하고, 각각 선택된 하드웨어 플랫폼 및 운영체제에 따른 호스트 모델의 제공 서비스를 다양하게 적용하였을 경우에 나타나는 취약성들의 CV 리스트를 관찰하고, 분석하여 각 네트워크 호스트 모델의 구성에 따른 취약성 분포를 분석해 볼 수 있다. 이러한 자료를 기반으로 하여 상기 보안 관리자 인터페이스부(80)를 통해 얻은 상기 분석 자료를 기반으로 보안관리자가 네트워크 상에서 존재하는 호스트 모델들의 구성 하드웨어와 운영체제, 그리고 각 호스트에서 제공하는 서비스들을 설정할 수 있다.The CV list configured in the host vulnerability model may be used to analyze vulnerabilities existing in the network host model. That is, in the host vulnerability model, various hardware platforms may be selected for the host model, various operating systems operating on the selected hardware platform, and various services of the host model may be applied according to the selected hardware platform and operating system. Observe and analyze the CV list of vulnerabilities that appear in the case to analyze the distribution of vulnerabilities according to the composition of each network host model. Based on the data, based on the analysis data obtained through the security manager interface unit 80, the security manager may set configuration hardware and an operating system of host models existing on the network, and services provided by each host.

이하, 도 7을 참조하여 상기 CV와 AV의 사상관계를 설명한다.Hereinafter, the mapping relationship between the CV and the AV will be described with reference to FIG. 7.

도 7은 CV와 AV의 사상 관계를 나타낸 도면이다.7 is a diagram illustrating a mapping relationship between a CV and an AV.

하나의 CV를 구성하는 다수의 AV들은 CV의 AV 표현, 즉 취약점 표현(Vul_Expression)에서 정의하는데, 해당 AV의 취약점 표현에서 정의된 관계식을 기초로 상기 CV와 AV사이에 존재하는 사상관계를 분석해 보면, 도 7에 도시된 바와 같이, 하나의 CV를 구성하는 AV는 다수이고, 반대로 하나의 AV는 다수개의 CV 구성의 요소가 된다. 상기 호스트 취약성 모델에서는 이러한 관계를 CV의 AV 표현에서 정의하는데, CV 리스트는 다수의 CV 객체(Comp_Vul_Obj)로 구성되고, 각각의 CV 객체는 해당 CV 객체를 구성하는 AV 객체들에 대한 포인터 정보(Atom_Obj_Ref)만 유지할 뿐, 실제 AV 객체(Atom_Obj)는 호스트 취약성 모델의 AV 리스트에 존재하게 된다. 이러한 구조는 호스트 취약성 모델에서 CV를 구성하는 AV를 중복해서 유지하고 있지 않기 위해서이다.A plurality of AVs constituting a CV are defined in an AV representation of a CV, that is, a vulnerability expression (Vul_Expression). When analyzing the mapping relationship between the CV and the AV based on a relation defined in the vulnerability representation of the corresponding AV, As shown in FIG. 7, there are a plurality of AVs constituting one CV, and conversely, one AV becomes an element of a plurality of CV configurations. In the host vulnerability model, this relationship is defined in the AV representation of the CV. The CV list is composed of a plurality of CV objects (Comp_Vul_Obj), and each CV object has pointer information (Atom_Obj_Ref) for the AV objects constituting the CV object. ), The actual AV object (Atom_Obj) will be in the AV list of the host vulnerability model. This structure is intended to avoid duplicating the AVs that make up the CV in the host vulnerability model.

그리고, 상기 호스트 취약성 모델에서는 호스트 모델의 특성인 운영체제, 하드웨어 플랫폼, 제공하는 서비스들의 특성에 따라서 호스트 취약성 모델에 존재하는 CV들이 결정되고, 이렇게 호스트 모델의 특성에 따라서 결정된 CV들의 AV의 취약점 표현에 의해서 해당 AV가 결정된다. 상기 AV와 CV와의 사상관계는 도 7에 도시된 바와 같이, 여러 개의 AV가 하나의 CV를 구성한다. 또한, 하나의 AV는 다수의 CV내에 존재한다. 이러한 연관 관계는 호스트 모델의 취약성을 분석하는데 중요한 요소가 된다. 상기 호스트 취약성 모델에서 존재하는 하나의 AV를 제거함으로써, 제거된 AV를 사용하여 구성된 여러 개의 CV가 호스트 모델 내에서 제거된다. 이와는 반대로 하나의 AV가 더 생기므로 야기되는 CV 또한 다수개가 발생할 수 있다. 이러한 AV와 CV와의 관계를 분석하여, 실제 네트워크 호스트 모델의 구성에 사용하면, 호스트 모델 내부에 존재하는 취약성들을 제거해 나갈 수 있을 뿐만 아니라, 상술한 AV의 취약점 표현을 통해서 호스트 모델 내에 존재하는 잠재적인 CV들을 추출해 낼 수 있다. 즉, 네트워크 호스트 모델 내에 존재하는 취약성들을 AV와 CV로 나누어 각각을 리스트로 구성하고, 더욱이 상기 AV의 경우에는 AV의 특성에 따라 시스템 AV 리스트와 서비스 AV 리스트로 구분하여 관리함으로써, 네트워크 호스트 모델에 존재하는 취약성들에 대한 분석을 좀 더 효율적이고 체계적으로 할 수 있다.In the host vulnerability model, CVs present in the host vulnerability model are determined according to characteristics of the operating system, hardware platform, and services provided by the host model. The AV is determined by this. In the mapping relationship between the AV and the CV, as shown in FIG. 7, several AVs constitute one CV. In addition, one AV exists in multiple CVs. This association is an important factor in analyzing the vulnerability of the host model. By removing one AV present in the host vulnerability model, multiple CVs configured using the removed AV are removed in the host model. On the contrary, the number of CVs caused by one more AV can be generated. Analyzing the relationship between the AV and the CV, and using it in the construction of the actual network host model, not only can the vulnerabilities existing inside the host model be eliminated, but also the potential existing in the host model through the above-described AV vulnerability description. You can extract CVs. That is, by dividing the vulnerabilities existing in the network host model into AV and CV, each is organized into a list, and in the case of the AV, the system is divided into a system AV list and a service AV list according to the characteristics of the AV, thereby managing the network host model. Analysis of existing vulnerabilities can be done more efficiently and systematically.

이하, 도 8을 참조하여 본 발명의 실시예에 따른 네트워크 취약성 진단 방법을 설명한다.Hereinafter, a network vulnerability diagnosis method according to an embodiment of the present invention will be described with reference to FIG. 8.

도 8은 본 발명의 실시예에 따른 네트워크 취약성 진단 방법을 나타낸 순서도이다.8 is a flowchart illustrating a network vulnerability diagnosis method according to an embodiment of the present invention.

상기 호스트 모델이 갖는 취약성들은 모두 취약성 DB(50)를 기반으로 하는데, 호스트 취약성 모델에서 추론 기구부(60)는 상기 호스트 모델 특성의 조합을이용하여 호스트 모델이 갖는 취약성인 CV와 AV를 추출해 온다. 즉, 상기 추론 기구부(60)는 호스트 모델의 특성을 지정하는 운영체제 이름, 운영체제 버전, 하드웨어 플랫폼, 그리고 제공하는 서비스들의 조합, 즉 호스트 모델 특성의 조합을 이용하여 해당 호스트 모델이 갖는 CV들을 상기 취약성 DB(50)에서 추출하고(S801), 해당 추출된 CV들을 CV 리스트부(30)의 CV 리스트에 추가하며(S802), 상기 CV의 AV의 취약점 표현을 분석하여 AV ID를 추출한다(S803).All of the vulnerabilities of the host model are based on the vulnerability DB 50. In the host vulnerability model, the inference mechanism unit 60 extracts CV and AV, which are vulnerabilities of the host model, by using a combination of the host model characteristics. That is, the inference mechanism unit 60 uses the combination of operating system name, operating system version, hardware platform, and services provided, that is, a combination of host model characteristics, to specify the characteristics of the host model. Extracting from the DB 50 (S801), adding the extracted CVs to the CV list of the CV list unit 30 (S802), and extracting the AV ID by analyzing the vulnerability expression of the AV of the CV (S803). .

그리고, 상기 추론 기구부(60)는 해당 추출된 AV ID를 이용하여 상기 취약성 DB(50)에서 AV를 추출하고(S804), 해당 추출된 AV를 AV 리스트부(40)내에서 해당 AV의 성격에 따라서 시스템 AV 리스트블록(41)의 시스템 AV 리스트에 추가하거나 서비스 AV 리스트블록(42)의 서비스 AV 리스트에 추가한다(S805).In addition, the inference mechanism unit 60 extracts the AV from the vulnerability DB 50 using the extracted AV ID (S804), and extracts the extracted AV to the characteristics of the corresponding AV in the AV list unit 40. Therefore, it is added to the system AV list of the system AV list block 41 or to the service AV list of the service AV list block 42 (S805).

이에, 상기 추론 기구부(60)는 상기 CV 및 AV를 분석하여 해당 호스트 모델의 취약성을 진단하고(S806), 해당 CV 및 AV를 제거하여 네트워크의 취약성을 보안한다(S807).Accordingly, the inference mechanism unit 60 analyzes the CV and the AV to diagnose the vulnerability of the host model (S806), and removes the CV and the AV to secure the network's vulnerability (S807).

이하, 도 9를 참조하여 본 발명의 다른 실시예에 따른 네트워크 취약성 진단 시스템의 시뮬레이션에 의한 취약성 진단 방법을 설명한다.Hereinafter, a vulnerability diagnosis method by simulation of a network vulnerability diagnosis system according to another embodiment of the present invention will be described with reference to FIG. 9.

도 9는 본 발명의 다른 실시예에 따른 네트워크 취약성 진단 시스템의 시뮬레이션에 의한 취약성 진단 방법을 나타낸 순서도이다.9 is a flowchart illustrating a vulnerability diagnosis method by simulation of a network vulnerability diagnosis system according to another embodiment of the present invention.

본 발명의 다른 실시예에 따른 네트워크 취약성 진단 시스템의 시뮬레이션에 의한 취약성 진단 방법은 호스트 모델, 보안 시스템 모델 및 공격자 모델을 초기화하여 호스트 기반 시뮬레이션을 설정하고(S901), 해당 설정된 호스트 기반 시뮬레이션을 실행하여 상기 공격자 모델이 상기 호스트 모델을 공격하게 하며(S902), 해당 호스트 기반 시뮬레이션 실행 결과를 분석하여 네트워크의 취약성을 진단한다(S903).In the vulnerability diagnosis method by simulation of a network vulnerability diagnosis system according to another embodiment of the present invention, a host-based simulation is set by initializing a host model, a security system model, and an attacker model (S901), and executing the set host-based simulation by The attacker model attacks the host model (S902), and analyzes the host-based simulation execution result to diagnose the vulnerability of the network (S903).

먼저, 도 10을 참조하여 본 발명이 적용되는 시뮬레이션 프로그램을 설명한다.First, a simulation program to which the present invention is applied will be described with reference to FIG. 10.

도 10은 본 발명이 적용되는 시뮬레이션 프로그램의 초기 화면을 나타낸 도면이다.10 is a diagram illustrating an initial screen of a simulation program to which the present invention is applied.

도 10에 도시된 바와 같이, 본 발명이 적용되는 시뮬레이션 프로그램의 메뉴는 초기화(Initialize) 메뉴, 호스트 기반 시뮬레이션(Host-based Simulation) 메뉴, 네트워크 기반 시뮬레이션(Network-based Simulation) 메뉴, 디스플레이(Display) 메뉴 및 분석(Analysis) 메뉴로 구성된다.As shown in FIG. 10, a menu of a simulation program to which the present invention is applied includes an initialize menu, a host-based simulation menu, a network-based simulation menu, a display. Consists of a menu and an analysis menu.

상기 초기화 메뉴는 평가 대상이 되는 네트워크를 로딩하는 기능과 프로그램을 종료하는 메뉴를 가지고 있고, 상기 호스트 기반 시뮬레이션 메뉴는 호스트를 대상으로 한 공격에 대한 시뮬레이션을 수행하며, 상기 네트워크 기반 시뮬레이션 메뉴는 네트워크에 관련된 시뮬레이션을 수행한다.The initialization menu has a function of loading a network to be evaluated and a menu for terminating a program. The host-based simulation menu performs simulation of an attack against a host, and the network-based simulation menu is configured for a network. Perform the relevant simulation.

상기 호스트 기반 시뮬레이션과 네트워크 기반 시뮬레이션으로 나눈 것은 두 형태의 공격이 서로 성격이 다르기 때문인데, 즉 플로딩(Flooding) 형태의 공격은 데이터의 내용과는 무관하게 네트워크 트래픽에 근거해서 시스템의 속성을 변경시키며, 각 입력과 입력사이의 간격이 매우 작으나, 명령어 기반 공격의 경우 공격 입력의 내용에 근거해서 시스템의 상태 변화가 일어날 수 있으며, 각 입력과 입력간의 간격이 충분한 시간을 갖고 진행되므로, 근본적으로 이 두 가지 시뮬레이션 방법은 하나의 시간축 상에서 진행하는 것이 어렵다.The host-based and network-based simulations are divided into two types of attacks because the two types of attacks are different from each other. In other words, the floating type attacks change the properties of the system based on network traffic regardless of the contents of the data. Although the interval between each input is very small, in case of command-based attack, the state of the system can be changed based on the contents of the attack input, and the interval between each input and the input proceeds with sufficient time. These two simulation methods are difficult to run on one time axis.

그리고, 상기 디스플레이 메뉴는 시뮬레이션에서 진행되는 패킷의 정보를 볼 수 있는 메뉴와 패킷의 애니메이션 속도를 조절하는 메뉴가 있고, 상기 분석 메뉴는 시뮬레이션 실행 결과를 분석한 결과를 제시하기 위한 메뉴이다.In addition, the display menu includes a menu for viewing packet information in the simulation and a menu for adjusting animation speed of the packet, and the analysis menu is a menu for presenting a result of analyzing a simulation execution result.

도 10은 본 발명이 적용되는 시뮬레이션 프로그램을 실행한 후 초기화 메뉴의 네트워크 로딩을 한 후의 모습으로, 아직은 공격의 형태와 공격자 위치가 결정되지는 않은 모습이다. 공격의 타입을 결정하면, 즉 호스트 기반 시뮬레이션이나 네트워크 기반 시뮬레이션 중에 하나의 공격 타입을 결정하여 공격자 모델을 설정하고 공격을 실행한다. 이하에서는 공격 타입으로 호스트 기반 시뮬레이션이 설정된 경우를 설명한다.10 is a view after the network loading of the initialization menu after executing the simulation program to which the present invention is applied, the shape and the attacker position of the attack has not yet been determined. Once the type of attack has been determined, that is, either the host type simulation or the network based simulation is used to set up the attacker's model and execute the attack. The following describes a case where the host-based simulation is set as the attack type.

이하, 상기 호스트 기반 시뮬레이션 설정 과정(S901)을 설명한다.Hereinafter, the host-based simulation setting process (S901) will be described.

먼저, 도 11을 참조하여 호스트 기반 시뮬레이션 초기 메뉴 설정을 설명한다.First, the host-based simulation initial menu setting will be described with reference to FIG. 11.

도 11은 호스트 기반 시뮬레이션에서 사용하는 메뉴를 나타낸 도면이다.11 is a diagram illustrating a menu used in a host-based simulation.

도 11에 도시된 바와 같이, 호스트 기반 시뮬레이션에서 사용하는 메뉴에는 공격자의 속성을 설정하는 공격 셋팅(Attacker Setting) 메뉴와, 공격자 모델에게 공격 패킷을 생성하여 공격을 실행하게 하고 호스트 기반 시뮬레이션을 시작하는 리스타트(Restart) 메뉴와, 시뮬레이션을 잠시 멈추는 중지(Pause) 메뉴 및 시뮬레이션을 종료하는 스탑(Stop) 메뉴가 있다. 상기 메뉴들을 사용하여 호스트 기반 시뮬레이션을 설정하는 과정(S101)을 설명한다.As shown in FIG. 11, the menu used in the host-based simulation includes an attack setting menu for setting an attacker's properties, an attacker model to generate an attack packet to execute the attack, and to start the host-based simulation. There is a Restart menu, a Pause menu to pause the simulation, and a Stop menu to end the simulation. A process (S101) of setting a host-based simulation using the menus will be described.

이하, 호스트 모델의 초기화를 설명한다.The initialization of the host model will be described below.

먼저, 도 12를 참조하여 호스트 보안 모델의 초기화를 설명한다.First, the initialization of the host security model will be described with reference to FIG. 12.

도 12는 호스트 보안 모델의 초기화 설정을 위한 창을 나타낸 도면이다.12 is a diagram illustrating a window for initialization setting of a host security model.

호스트 보안 모델은 크게 사용자 인증 모델(Authen)과 네트워크 접근제어 모델(Netsec)로 구성되는데, 도 12에 도시된 바와 같은 창을 통해서 두 가지 모델의 초기값을 설정한다. 즉, 상기 호스트 보안 모델은 상기 사용자 인증 모델과 네트워크 접근제어 모델의 초기값을 기반으로 호스트 기반의 접근 제한과 사용자 인증을 적용한다.The host security model consists of a user authentication model (Authen) and a network access control model (Netsec). The initial values of the two models are set through a window as shown in FIG. That is, the host security model applies host-based access restriction and user authentication based on initial values of the user authentication model and the network access control model.

먼저, 상기 호스트 보안 모델의 사용자 인증 모델에 관한 초기값 설정 절차를 설명한다.First, an initial value setting procedure for a user authentication model of the host security model will be described.

사용자 인증을 하기 위해서는 ID와 패스워드(Password)를 입력한 후 추가(Add)한다. 이때, 사용자가 섀도 패스워드(Shadow passwd)를 사용할 것인지의 여부, 특수 문자(Special Character)를 사용할 것인지의 여부 및 원 타임 패스워드(OPT ; One Time Passwd)를 사용할 것이지의 여부를 결정해 준다. 또, 신뢰된 호스트(Trusted Host)의 사용자인지도 결정해 주어야하고, 신뢰된 호스트의 IP 주소 값도 설정해 주며, 사용자의 패스워드가 얼마나 오랫동안 유효한지에 대한 정보도 입력해 준다. 마지막으로 사용자의 패스워드에 사전적인 단어(Dictionary Word)의 사용을 허용할 것인지의 여부를 결정하고, 사용하지 말아야하는 사전 단어를 입력한다. 상술한 바와 같이 정보를 입력하여 호스트 보안 모델에서 사용하는사용자 인증에 관한 모델의 초기화 값을 설정한다.In order to authenticate a user, enter ID and password and add it. At this time, the user determines whether to use a shadow password (Shadow passwd), whether to use a special character (Special Character) and whether or not to use a one-time password (OPT; One Time Passwd). It also determines whether the user is a trusted host, sets the IP address of the trusted host, and enters information about how long the user's password is valid. Finally, you decide whether to allow the use of dictionary words in the user's password, and enter the dictionary words that should not be used. As described above, information is input to set an initialization value of a model related to user authentication used in the host security model.

다음으로, 상기 호스트 보안 모델의 네트워크 접근제어 모델에 관한 초기값 설정 절차를 설명한다.Next, an initial value setting procedure for the network access control model of the host security model will be described.

호스트 보안 모델에서 사용하는 네트워크 접근제어를 수행하기 위해서 우선, 호스트 모델에서 접근을 허용하는 호스트 모델의 네트워크 시스템의 포트 정보(Port)와 프로토콜 정보(Protocol) 그리고 허용하는 서비스 정보(Service)를 입력한다. 또한 포트와 IP 주소를 기반으로 하는 접근제어를 실행하기 위해서 접근 허용(Allow)하는 IP 주소와 포트 정보를 입력하고, 접근을 허용하지 않는(Deny) IP 주소와 포트 정보를 입력한다.To perform network access control used in the host security model, first enter the port information, protocol information and service information of the network system of the host model that allows access from the host model. . Also, to execute access control based on port and IP address, input the IP address and port information to allow access, and enter the IP address and port information to not allow access.

이하, 도 13을 참조하여 호스트 취약성 모델의 초기화를 설명한다.Hereinafter, the initialization of the host vulnerability model will be described with reference to FIG. 13.

도 13은 호스트 취약성 모델의 초기화 설정을 위한 창을 나타낸 도면이다.13 is a diagram illustrating a window for initializing a host vulnerability model.

호스트 취약성 모델의 설정은 호스트 모델의 하드웨어적(HW Platform)인 특성과 운영체제(OS)에 관한 특성, 그리고 호스트 모델에서 제공하는 서비스(Application)에 관한 정보를 설정하는 것으로 이루어진다.The host vulnerability model consists of setting the hardware characteristics of the host model (HW Platform), operating system (OS) characteristics, and information on services provided by the host model.

먼저, 상기 호스트 모델의 운영체제에 관한 설정은 사용하는 운영체제의 이름(OS Name)과 버젼(OS Version)을 입력하는 것으로 이루어지고, 상기 호스트 모델의 하드웨어적인 특성은 호스트 모델을 구성하는 하드웨어의 이름(HW Name)을 입력하고 호스트 모델이 네트워크에서 사용되는 목적(HW Purpose)을 설정하는 것으로 이루어지며, 호스트 취약성 모델의 주소 정보(Network)는 호스트 모델의 IP 주소(IP Addr.) 값과 서브넷 매스크(SubNet Mask) 값을 설정하면 된다. 다음으로호스트 모델에서 제공하는 서비스명(APP Name)과 서비스의 버전 정보(APP Version)를 입력하는 것으로 호스트 취약성 모델의 설정은 끝난다. 호스트 취약성 모델의 초기값 설정이 끝나면 호스트 취약성 모델은 취약성 DB에서 호스트 모델의 특성 값을 이용하여 해당 호스트 모델이 갖는 취약성들을 추출하여 취약성 리스트를 구성한다. 이렇게 구성된 취약성을 기반으로 공격자 모델에서 공격이 이루어지게 되는 것이다.First, the setting of the operating system of the host model consists of inputting the name of the operating system (OS Name) and version (OS Version) to be used, the hardware characteristics of the host model is the name of the hardware constituting the host model ( HW Name) and set the HW Purpose for the host model to be used in the network. The address information (Network) of the host vulnerability model is the IP address (IP Addr.) Value of the host model and the subnet mask ( SubNet Mask) value. Next, enter the service name (APP Name) and service version information (APP Version) provided by the host model. After the initial setting of the host vulnerability model is completed, the host vulnerability model extracts the vulnerabilities of the host model using the property values of the host model in the vulnerability database to form a vulnerability list. The attack is based on the attacker's model based on these vulnerabilities.

이하, 도 14를 참조하여 보안 시스템 모델의 초기화를 설명한다.Hereinafter, the initialization of the security system model will be described with reference to FIG. 14.

도 14는 보안 시스템 모델의 초기화 설정을 위한 창을 나타낸 도면이다.14 is a diagram illustrating a window for initializing a security system model.

보안 시스템 모델에서는 파라미터 입력 창을 통해 원하는 경우의 필터링을 선택할 수 있다. 즉, 정적 패킷 필터링(Static Packet Filtering)의 IP 필터링, 정적 패킷 필터링의 포트 필터링, 동적 패킷 필터링(Dynamic Packet Filtering)의 신디팬더 릴레이(SYNDefender Relay)와 신디팬더 게이트웨이(SYNDefender Gateway) 둘 중 하나, 그리고 동적 패킷 필터링의 인정 접근 속도(Committed Access Rate), 상기 네 가지 경우의 각각 선택 여부에 따른 조합으로 10가지의 패킷 필터링 경우가 나올 수 있다.In the security system model, filtering can be selected if desired via the parameter input window. IP filtering in static packet filtering, port filtering in static packet filtering, one of SYNNDefender Relay and SYNNDefender Gateway in Dynamic Packet Filtering, and Ten packet filtering cases may be generated by a combination of the Committed Access Rate of the dynamic packet filtering and the selection of each of the four cases.

IP 필터링 또는 포트 필터링을 체크했을 때에는 디폴트 허용여부(Default Stance)를 선택(Select)하여야 하며, 디폴트 차단(Default Deny)을 선택했을 때에는 신뢰 정보(Trustworthy Information)에 들어갈 정보를 입력하여야 하고, 디폴트 허용(Default Permit)을 선택했을 때에는 방해 정보(Preventive Information)에 들어갈 정보를 입력하면 된다. 그리고, 신디팬더 릴레이와 신디팬더 게이트웨이, 둘중 하나를 선택할 때에는, 신디팬더 릴레이를 선택하면 아무런 입력을 해주지 않아도 되고, 신디팬더 게이트웨이를 선택했을 때에는 리셋 타임머(Reset Timer)에 값을 입력해 주어야 한다. 그리고, 인정 접근 속도(Committed Access Rate)를 선택했을 때에는, 필터링할 트래픽 타입을 선택하고 제한할 트래픽 양(Traffic Volume)을 입력해 주면 된다.If you check IP filtering or port filtering, you must select Default Stance. If you select Default Deny, you must enter the information to be entered in Trustworthy Information. If you selected Default Permit, enter the information to enter the Preventive Information. If you select one of the synth panda relays and the synth panda gateway, you do not need to enter anything if you select the synth panda relay. When you select the synth panda gateway, you must enter a value in the Reset Timer. . When the Committed Access Rate is selected, the traffic type to be filtered is selected and the traffic volume to be limited is inputted.

이하, 도 15를 참조하여 공격자 모델의 초기화를 설명한다.Hereinafter, the initialization of the attacker model will be described with reference to FIG. 15.

도 15는 공격자 모델의 초기화 설정을 위한 창을 나타낸 도면이다.15 is a diagram illustrating a window for initializing an attacker model.

도 15에 도시된 바와 같이, 공격자 모델의 초기값 설정은 공격자 모델의 위치를 지정하는 부분(Location)과 공격자 모델이 공격 대상 시스템인 호스트 모델에서의 권한(Authority), 공격하고자 하는 목적(Goal), 그리고 공격자 모델이 선정한 공격 대상 호스트 모델의 IP 주소(Target IP Address)와 공격자 모델의 위치를 설정하는 IP 주소(Source IP Address)를 입력하는 것으로 구분된다.As shown in FIG. 15, the initial value setting of the attacker model includes a location for specifying the location of the attacker model, an authority in the host model where the attacker model is the target system, and a goal to attack. And, it is divided into input IP address (Target IP Address) and target IP address (Source IP Address) which set the location of attacker model.

도 15에 도시된 바와 같이, 상기 공격자 모델의 위치는 네트워크 상에서 공격 대상 호스트 모델이 속한 서브넷과의 관계를 분석하여 공격 대상 시스템에 공격자가 위치한 경우(Local System), 같은 서브넷에 속해 있는 호스트 모델을 공격 대상으로 삼은 경우(Local Subnet), 같은 네트워크 도메인에 속한 호스트 모델을 공격 대상으로 하는 경우(Local Domain), 및 다른 도메인에 속한 호스트 모델을 공격 대상으로 설정한 경우(Remote Domain)로 나눌 수 있고, 상기 공격자의 권한은 공격 대상 시스템에서 공격자가 획득하고 있는 초기의 권한을 설정한 것으로, 루트 권한(Root)과 사용자 권한(User) 그리고 아무런 권한이 없는 어더 권한(Other)으로나누어 설정하며, 상기 목적은 공격자가 대상 시스템을 공격하여 얻고자 하는 권한을 말하는데, 즉 공격자 모델이 공격을 하는 최종 목표로서, 공격자가 얻고자 하는 권한은 루트 접근 권한(Gain Root Access) , 사용자 접근 권한(Gain User Access)과 시스템의 정보를 얻고자 하는 권한(Gain Information) 및 대상 시스템의 서비스 거부공격을 하고자 하는 DoS(Denial of Service)가 있다. 상기 공격자 모델의 사용하는 주소 정보는 공격자 모델이 위치하고자 하는 호스트 모델의 위치를 결정하는 소스 IP 주소가 있다. 본 발명의 적용되는 시뮬레이션 프로그램에서는 대상 네트워크 상에서 소스 IP를 기반으로 공격자 모델이 구성될 호스트 모델을 찾는다. 이렇게 선정된 호스트 모델은 공격자 모델이 공격 호스트 모델로 사용하여 공격자 모델이 생성하는 공격 패킷을 전송하는데 사용된다. 공격자 모델을 설정하는 메뉴 중 마지막으로 타겟 IP가 있는데, 해당 타겟 주소는 공격자 모델이 공격 대상으로 삼는 호스트 모델의 주소를 설정한 것으로 상기 타켓 IP 주소를 사용하여 공격자 모델이 공격 패킷을 전송하고, 공격 대상이 되는 호스트 모델의 정보를 수집하여 최종 공격 목표를 획득하기 위한 공격 시나리오를 설정하여 공격을 수행한다. 이러한 과정을 통해서 공격자 모델의 설정이 완료되었으면 리스타트 메뉴를 선택하여 호스트 기반 시뮬레이션을 실행한다.As shown in FIG. 15, the location of the attacker model is determined by analyzing a relationship with the subnet to which the attack target host model belongs on the network, when the attacker is located in the attack target system (Local System). It can be divided into a target (Local Subnet), a host model belonging to the same network domain (Local Domain), and a host model belonging to another domain (Remote Domain). The authority of the attacker is to set the initial authority acquired by the attacker in the target system, and is divided into root authority (Root), user authority (User) and no authority other authority (Other). The objective is the attacker's right to gain by attacking the target system, i.e. the attacker's model of attack. As a goal, the attacker would like to gain root access, gain user access, gain information, and denial of service attacks against the target system. There is a Denial of Service (DoS). The address information of the attacker model includes a source IP address that determines the location of the host model to which the attacker model is located. The applied simulation program of the present invention finds a host model for the attacker model to be configured based on the source IP on the target network. The selected host model is used by the attacker model as an attacking host model to transmit attack packets generated by the attacker model. Finally, there is a target IP among the menus for setting the attacker model. The target address is the address of the host model targeted by the attacker model. The attacker model sends the attack packet using the target IP address. The attack is performed by collecting the information of the target host model and setting the attack scenario to obtain the final attack target. After the attacker model is set up through this process, select the restart menu to run the host-based simulation.

또한, 공격자가 공격 대상 호스트를 선정하지 않고 모든 서브넷의 호스트를 대상으로 할 경우에는 타겟 IP를 특정 호스트의 IP 주소로 설정하지 않고 0.0.0.0으로 설정을 하여 모든 서브넷에 포함된 호스트 모델을 대상으로 공격을 실행하게 한다. 이와 비슷한 기능으로 도 15의 공격자 설정 창에서 난 시나리오(NoneScenario)를 선택하면 공격자가 갖고 있는 모든 공격 패킷을 생성해서 네트워크 내의 모든 서브넷을 구성하는 호스트 모델에 무작위로 공격을 시작한다. 이러한 공격은 공격자가 특별한 공격 목적과 목적에 따른 시나리오 없이 공격자가 갖고 있는 모든 공격 방법을 적용해 보는 것이다.In addition, if an attacker targets a host in all subnets without selecting a host, the target IP is set to 0.0.0.0 instead of the specific host's IP address. It allows you to execute an attack. Similarly, if you select NoneScenario in the attacker setting window of FIG. 15, the attacker generates all attack packets and starts a random attack on the host model that composes every subnet in the network. Such an attack is an attacker applying all the attack methods possessed by the attacker without any special purpose and scenario for the purpose.

이하, 상기 호스트 기반 시뮬레이션 실행 과정(S102)을 설명한다.Hereinafter, the host-based simulation execution process (S102) will be described.

먼저, 도 16를 참조하여 호스트 기반 시뮬레이션 실행 화면을 설명한다.First, the host-based simulation execution screen will be described with reference to FIG. 16.

도 16은 호스트 기반 시뮬레이션 실행 화면을 나타낸 도면이다.16 illustrates a host-based simulation execution screen.

도 16에 도시된 바와 같이, 패킷중 공격자와 호스트 사이에서 전송되는 패킷은 화면상에서 특정 색, 예컨대 빨간 색으로 나타나고, 이는 공격 패킷을 나타낸다. 그리고, 공격자와 공격 대상 호스트 사이에서 전송되는 패킷이 아닌, 일반 호스트 모델들 간에 주고받는 패킷은 일반적인 정상(Normal) 패킷을 나타내고 화면상에서 다른 특정 색, 예컨대 파란색으로 구분되어진다.As shown in Fig. 16, packets transmitted between the attacker and the host among the packets appear in a specific color, for example, red, on the screen, which indicates the attack packet. In addition, packets transmitted and received between general host models, which are not packets transmitted between an attacker and a target host, represent general normal packets and are distinguished from other specific colors on the screen, for example, blue.

다음으로, 본 발명이 적용되는 시뮬레이션 프로그램의 디스플레이를 설명한다.Next, the display of the simulation program to which the present invention is applied will be described.

본 발명이 적용되는 시뮬레이션 프로그램의 메뉴 중 디스플레이 메뉴의 프로세스(Process) 메뉴를 선택하여 공격 패킷이 흘러가는 프로세스를 확인할 수 있는데, 도 16에서 왼쪽 아랫부분에 보이는 창이 프로세스 창이다. 이 창을 통해서 공격자가 생성한 공격 패킷의 내용을 표시해 주고 보안 시스템 모델과 호스트 모델에서 전송받은 공격 패킷에 대해서 어떻게 반응하는지에 관한 정보를 분석해 볼 수 있다. 또한, 상기 디스플레이 메뉴 중 애니메이션 타임 메뉴를 선택하여 공격 패킷의 전송 속도를 조절할 수 있는데, 이 속도를 조절하면서 공격 패킷의 흐름에 따른 모델들간의 상태 변화를 프로세스 창을 통해서 관찰할 수 있게 제공한다.From the menu of the simulation program to which the present invention is applied, the process menu of the attack packet can be checked by selecting a process menu of the display menu. The window shown in the lower left part of FIG. 16 is a process window. This window displays the contents of the attack packet generated by the attacker and analyzes the information on how to react to the attack packets received from the security system model and the host model. In addition, the transmission time of the attack packet can be adjusted by selecting an animation time menu from the display menu. While adjusting the speed, the state change between models according to the flow of the attack packet can be observed through the process window.

이하, 상기 호스트 기반 시뮬레이션 실행 결과 분석 및 취약성 진단 과정(S103)을 설명한다.Hereinafter, the host-based simulation execution result analysis and vulnerability diagnosis process (S103) will be described.

먼저, 도 17을 참조하여 호스트 기반 시뮬레이션 실행 결과 분석을 설명한다.First, the host-based simulation execution result analysis will be described with reference to FIG. 17.

도 17은 호스트 기반 시뮬레이션 실행 결과 분석 화면을 나타낸 도면이다.17 is a diagram illustrating a host-based simulation execution result analysis screen.

도 17에 도시된 바와 같이, 그래프로 나타나는 정보는 분석 대상 호스트별로 시도된 공격의 개수와 호스트 모델에서 실제로 공격이 성공한 횟수를 나타내는 것이며, 화면에 보이는 창은 서브넷에 존재하는 호스트들의 구성에 대한 요약과 호스트가 공격자에 의해서 공격을 당한 횟수(Attack Count)와 해당 공격 당한 후의 공격 성공 횟수(Exploit Count)를 나타낸다.As shown in FIG. 17, the information displayed in the graph indicates the number of attempted attacks by the target host and the number of successful attacks in the host model, and the window shown on the screen summarizes the configuration of the hosts in the subnet And the number of times the host was attacked by the attacker (Attack Count) and the number of successful attack after the attack (Exploit Count).

다음으로, 도 18을 참조하여 호스트 모델의 솔루션 정보 검색을 설명한다.Next, the solution information retrieval of the host model will be described with reference to FIG.

도 18은 호스트 모델의 솔루션 정보를 나타낸 도면이다.18 is a diagram illustrating solution information of a host model.

호스트 모델에서는 공격자 모델에 의해서 공격을 당한 취약성에 대한 솔루션 정보를 취약성 DB에서 추출할 수 있다. 도 18은 호스트 모델에서 공격당한 취약성에 대한 솔루션 정보를 나타낸다. 해당 솔루션 정보를 바탕으로 호스트 모델의 취약성을 진단한다.In the host model, solution information about vulnerabilities attacked by the attacker model can be extracted from the vulnerability database. 18 shows solution information for vulnerabilities attacked in the host model. Diagnose vulnerabilities in the host model based on the solution information.

또한, 본 발명에 따른 실시예는 상술한 것으로 한정되지 않고, 본 발명과 관련하여 통상의 지식을 가진 자에게 자명한 범위 내에서 여러 가지의 대안, 수정 및 변경하여 실시할 수 있다.In addition, the embodiment according to the present invention is not limited to the above-mentioned, and can be implemented by various alternatives, modifications, and changes within the scope apparent to those skilled in the art.

이상과 같이, 본 발명은 공격자 모델을 구축하여서 공격으로 인한 네트워크의 상태변화에 근거해 다음 공격을 선택함으로써, 공격의 선후행 관계 정립이 가능하고 이를 가변적으로 선택하는 것이 가능하고, 평가대상 네트워크의 모델에게 공격 및 테스트를 수행함으로써, 네트워크의 기능 및 성능에 영향을 주지 않으며 현존하지 않는 네트워크 구조에 대한 취약성 진단이 가능하며, 다양한 시간대 별로 공격을 발생시키고 이의 반응을 보는 것이 가능하게 함으로써, 보안관리 수준이나 주기에 따른 취약성 진단이 가능하다.As described above, the present invention builds an attacker model and selects the next attack based on the state change of the network due to the attack, so that it is possible to establish a predecessor relationship of the attack and to select the variable variably. By conducting attacks and tests on the model, it is possible to diagnose vulnerabilities on non-existing network structures without affecting the function and performance of the network, and to make it possible to generate an attack at various time periods and to view the response thereof. Vulnerability diagnosis by level or cycle is possible.

Claims (8)

네트워크에 존재하는 취약점을 분석하여 호스트 모델의 취약점을 표현하고 해당 취약점 표현을 분석하여 해당 호스트 모델의 취약성을 진단하는 호스트 취약성 모델을 구비하는데,It analyzes the vulnerabilities in the network to express the weaknesses of the host model and analyzes the expressions of the corresponding vulnerabilities to have the host vulnerability model. 상기 호스트 취약성 모델은,The host vulnerability model is 상기 호스트 모델의 특성을 표현하는 호스트 특성부와;A host characteristic unit representing a characteristic of the host model; 공격 패킷을 입력받아 일정시간 저장한 후 출력하는 것으로 상기 호스트 모델의 버퍼자원을 표현하는 프로토콜 버퍼부와;A protocol buffer unit for receiving the attack packet, storing the predetermined time, and outputting the attack packet; 상기 호스트 모델이 갖는 복합 취약점(CV)들을 표현하는 CV 리스트부와;A CV list unit for expressing complex vulnerabilities (CVs) of the host model; 상기 복합 취약점들을 구성하는 것으로 상기 호스트 모델이 갖는 단위 취약점(AV)들을 표현하는 AV 리스트부와;An AV list unit for constructing the compound vulnerabilities and expressing unit vulnerabilities (AV) of the host model; 상기 호스트 모델에 대한 상기 복합 취약점 및 단위 취약점을 저장하는 취약성 DB와;A vulnerability DB for storing the compound vulnerability and the unit vulnerability for the host model; 상기 호스트 모델의 취약성에 대한 분석 및 진단을 전반적으로 제어하는 것으로 상기 호스트 모델 특성의 조합을 이용하여 상기 취약성 DB에서 상기 호스트 모델이 갖는 복합 취약점들을 가져와 상기 CV 리스트부에서 해당 호스트 모델의 CV 리스트를 구성하고 해당 복합 취약점들을 구성하는 단위 취약점들을 상기 취약성 DB로부터 가져와 상기 AV 리스트부에서 해당 호스트 모델의 AV 리스트를 구성하는 추론 기구부와;The overall control of the analysis and diagnosis of the vulnerability of the host model to take a combination of the vulnerability of the host model in the vulnerability database using the combination of the host model characteristics to obtain the CV list of the host model in the CV list unit An inference mechanism unit configured to construct unit AVs of the host model in the AV list unit by taking unit vulnerabilities constituting the complex vulnerabilities from the vulnerability DB; 상기 공격 패킷에 의해서 상기 AV 리스트부의 단위 취약점이 악용되었는지를 판단하여 결과 값을 상기 CV 리스트부로 전달해 해당 단위 취약점이 속하는 복합 취약점이 상기 공격 패킷에 의해서 악용되었는지 여부를 확인하게 해주는 평가 메소드부와;An evaluation method unit for determining whether a unit vulnerability of the AV list unit has been exploited by the attack packet and transferring a result value to the CV list unit to determine whether a complex vulnerability to which the unit vulnerability belongs is exploited by the attack packet; 상기 호스트 모델의 취약성 진단 결과를 보안 관리자에게 보고하는 보안 관리자 인터페이스부를 포함하여 이루어진 것을 특징으로 하는 네트워크 취약성 진단 시스템.And a security manager interface unit for reporting a vulnerability diagnosis result of the host model to a security manager. 제 1 항에 있어서,The method of claim 1, 상기 호스트 특성부는,The host characteristic unit, 상기 호스트 모델의 하드웨어적인 특성을 명시하는 하드웨어 플랫폼과;A hardware platform specifying hardware characteristics of the host model; 상기 호스트 모델에서 운영하고 있는 오퍼레이팅 시스템에 대한 정보를 명시하는 운영체제와;An operating system for specifying information about an operating system operating in the host model; 상기 호스트 모델에서 제공하는 서비스들을 명시하는 서비스 어플리케이션을 포함하여 이루어진 것을 특징으로 하는 네트워크 취약성 진단 시스템.Network vulnerability diagnosis system comprising a service application that specifies the services provided by the host model. 제 1 항에 있어서,The method of claim 1, 상기 AV 리스트부는,The AV list unit, 상기 호스트 모델의 시스템적인 특성에 연관해서 발생하는 AV들을 모아 놓은 시스템 AV 리스트를 구비하는 시스템 AV 리스트블록과;A system AV list block having a system AV list collecting AVs generated in association with system characteristics of the host model; 상기 호스트 모델에서 제공하는 서비스들에 의해서 발생하는 AV들을 모아 놓은 서비스 AV 리스트를 구비하는 서비스 AV 리스트블록을 포함하여 이루어진 것을 특징으로 하는 네트워크 취약성 진단 시스템.And a service AV list block having a service AV list that collects AVs generated by services provided by the host model. 제 1 항에 있어서,The method of claim 1, 상기 AV는,The AV is, 상기 호스트 모델이 갖는 취약성 중에서 가장 기본이 되는 단위 취약성을 명시하는 것으로,To specify the most basic unit vulnerability among the vulnerabilities of the host model, 상기 AV를 구별하기 위한 고유한 식별자인 AV ID 필드와;An AV ID field which is a unique identifier for distinguishing the AV; 상기 AV의 이름을 나타내는 AV 이름 필드와;An AV name field indicating a name of the AV; 상기 AV의 타입을 나타내는 정보인 AV 타입 필드와;An AV type field which is information indicating the type of the AV; 상기 AV를 노출시키기 위한 입력 값을 명시하는 입력 필드와;An input field specifying an input value for exposing the AV; 상기 입력 값에 의해서 공격이 이루어지기 전의 상태를 나타내는 초기 상태 필드와;An initial state field indicating a state before an attack is made by the input value; 상기 초기 상태에서의 AV의 입력에 의해서 공격이 성공적으로 이루어진 후의 상태를 나타내는 최종 상태 필드를 포함하여 이루어진 것을 특징으로 하는 네트워크 취약성 진단 시스템.And a final state field indicating a state after the successful attack by the input of the AV in the initial state. 제 1 항에 있어서,The method of claim 1, 상기 CV는,CV is 상기 호스트 모델이 갖는 복합 취약성으로 상기 AV로 구성되는데,Composed of the AV as a composite vulnerability of the host model, 상기 CV를 구별하기 위한 고유한 식별자인 CV ID 필드와;A CV ID field that is a unique identifier for identifying the CV; 상기 CV의 이름을 나타내는 CV 이름 필드와;A CV name field indicating a name of the CV; 상기 CV를 구성하는 AV들의 관계식을 나타내는 AV의 취약점 표현 필드와;A vulnerability expression field of an AV indicating a relation of AVs constituting the CV; 상기 CV의 현재 상태를 나타내는 상태 필드와;A status field indicating a current status of the CV; 상기 CV를 구성하는 AV들이 위치해 있는 AV에 대한 포인터 정보를 나타내는 AV 포인터 정보 필드를 포함하여 이루어진 것을 특징으로 하는 네트워크 취약성 진단 시스템.And an AV pointer information field indicating pointer information on an AV in which AVs constituting the CV are located. 제 4 항 또는 제 5항에 있어서,The method according to claim 4 or 5, 상기 CV와 AV사이에 존재하는 사상관계는,The mapping relationship existing between the CV and the AV is 하나의 CV를 구성하는 AV는 다수이고 하나의 AV는 다수개의 CV 구성의 요소가 됨을 특징으로 하는 네트워크 취약성 진단 시스템.A network vulnerability diagnosis system, characterized in that one AV constitutes a plurality of AVs and one AV constitutes a plurality of CV components. 호스트 모델 특성의 조합을 이용하여 해당 호스트 모델이 갖는 CV들을 추출하는 과정과;Extracting CVs of the corresponding host model using a combination of host model characteristics; 상기 추출된 CV들을 CV 리스트에 추가한 후 해당 CV의 AV의 취약점 표현을 분석하여 AV ID를 추출하는 과정과;Adding the extracted CVs to a CV list and extracting an AV ID by analyzing a vulnerability expression of an AV of the corresponding CV; 상기 추출된 AV ID를 이용하여 상기 호스트 모델이 갖는 AV를 추출하는 과정과;Extracting an AV of the host model using the extracted AV ID; 상기 추출된 AV를 해당 AV의 성격에 따라서 시스템 AV 리스트에 추가하거나 서비스 AV 리스트에 추가하는 과정과;Adding the extracted AV to a system AV list or a service AV list according to the characteristics of the AV; 상기 CV 및 AV를 분석하여 해당 호스트 모델의 취약성을 진단하고 해당 CV 및 AV를 제거하여 네트워크의 취약성을 보안하는 과정을 포함하여 이루어진 것을 특징으로 하는 네트워크 취약성 진단 방법.Diagnosing the vulnerability of the host model by analyzing the CV and the AV, and removing the CV and the AV to secure the network's vulnerability. 호스트 모델, 보안 시스템 모델 및 공격자 모델을 초기화하여 호스트 기반 시뮬레이션을 설정하는 과정과;Initializing a host model, a security system model, and an attacker model to set up a host-based simulation; 상기 설정된 호스트 기반 시뮬레이션을 실행하여 상기 공격자 모델이 상기 호스트 모델을 공격하게 하는 과정과;Executing the set host-based simulation to cause the attacker model to attack the host model; 상기 호스트 기반 시뮬레이션 실행 결과를 분석하여 네트워크의 취약성을 진단하는 과정을 포함하여 이루어진 것을 특징으로 하는 네트워크 취약성 진단 방법.And analyzing the host-based simulation execution result to diagnose the vulnerability of the network.
KR10-2002-0058844A 2002-09-27 2002-09-27 System And Method For Diagnosing Vulnerability In Network KR100450209B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0058844A KR100450209B1 (en) 2002-09-27 2002-09-27 System And Method For Diagnosing Vulnerability In Network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0058844A KR100450209B1 (en) 2002-09-27 2002-09-27 System And Method For Diagnosing Vulnerability In Network

Publications (2)

Publication Number Publication Date
KR20040027101A KR20040027101A (en) 2004-04-01
KR100450209B1 true KR100450209B1 (en) 2004-09-30

Family

ID=37329695

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0058844A KR100450209B1 (en) 2002-09-27 2002-09-27 System And Method For Diagnosing Vulnerability In Network

Country Status (1)

Country Link
KR (1) KR100450209B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100901776B1 (en) 2007-10-24 2009-06-11 한국전자통신연구원 Device and Method for Inspecting Vulnerability of Network Equipments Using a Search Engine
KR101442691B1 (en) * 2013-03-26 2014-09-25 한국전자통신연구원 Apparatus and method for quantifying vulnerability of system

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100505339B1 (en) * 2003-03-12 2005-08-04 한국전자통신연구원 Apparatus and method for simulating information warfare using client-server model
KR100772177B1 (en) * 2006-11-15 2007-11-01 한국전자통신연구원 Method and apparatus for generating intrusion detection event to test security function
KR101953638B1 (en) * 2017-04-13 2019-03-04 국방과학연구소 Integrated Dashboard Device and Methods for Military Cyber Penetration Test Training
KR102153926B1 (en) 2017-08-10 2020-09-10 한국전자통신연구원 Apparatus for enhancing network security and method for the same

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010086774A (en) * 2000-03-03 2001-09-15 윤종용 Processing method for display link status on map and accept event on link
JP2002229946A (en) * 2001-01-30 2002-08-16 Yokogawa Electric Corp Vulnerability examination system
JP2002229945A (en) * 2001-01-30 2002-08-16 Yokogawa Electric Corp Vulnerability examination system for computer system
JP2002251334A (en) * 2001-02-22 2002-09-06 Yokogawa Electric Corp Information providing system
JP2002268985A (en) * 2001-03-13 2002-09-20 Yokogawa Electric Corp Vulnerability corresponding system
KR20030027646A (en) * 2001-09-27 2003-04-07 주식회사 시큐브 Apparatus for Identifying Security Vulnerability based on Hybrid Type and Method Thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010086774A (en) * 2000-03-03 2001-09-15 윤종용 Processing method for display link status on map and accept event on link
JP2002229946A (en) * 2001-01-30 2002-08-16 Yokogawa Electric Corp Vulnerability examination system
JP2002229945A (en) * 2001-01-30 2002-08-16 Yokogawa Electric Corp Vulnerability examination system for computer system
JP2002251334A (en) * 2001-02-22 2002-09-06 Yokogawa Electric Corp Information providing system
JP2002268985A (en) * 2001-03-13 2002-09-20 Yokogawa Electric Corp Vulnerability corresponding system
KR20030027646A (en) * 2001-09-27 2003-04-07 주식회사 시큐브 Apparatus for Identifying Security Vulnerability based on Hybrid Type and Method Thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100901776B1 (en) 2007-10-24 2009-06-11 한국전자통신연구원 Device and Method for Inspecting Vulnerability of Network Equipments Using a Search Engine
KR101442691B1 (en) * 2013-03-26 2014-09-25 한국전자통신연구원 Apparatus and method for quantifying vulnerability of system

Also Published As

Publication number Publication date
KR20040027101A (en) 2004-04-01

Similar Documents

Publication Publication Date Title
Franco et al. A survey of honeypots and honeynets for internet of things, industrial internet of things, and cyber-physical systems
US8413237B2 (en) Methods of simulating vulnerability
CA2768193C (en) System and method for extending automated penetration testing to develop an intelligent and cost efficient security strategy
Helmer et al. Software fault tree and coloured Petri net–based specification, design and implementation of agent-based intrusion detection systems
Garitano et al. Multi-metrics approach for security, privacy and dependability in embedded systems
WO2018013278A1 (en) Methods and systems for using self-learning techniques to protect a web application
US20230370439A1 (en) Network action classification and analysis using widely distributed honeypot sensor nodes
Li et al. An approach to model network exploitations using exploitation graphs
US11750634B1 (en) Threat detection model development for network-based systems
Fang et al. Foresee: A cross-layer vulnerability detection framework for the internet of things
Henry et al. Evaluating the risk of cyber attacks on SCADA systems via Petri net analysis with application to hazardous liquid loading operations
Toker et al. Mitre ics attack simulation and detection on ethercat based drinking water system
KR100450209B1 (en) System And Method For Diagnosing Vulnerability In Network
Cao et al. Learning state machines to monitor and detect anomalies on a kubernetes cluster
Engström et al. Automated security assessments of Amazon Web services environments
Soroush et al. SCIBORG: Secure configurations for the IoT based on optimization and reasoning on graphs
Tounsi Cyber deception, the ultimate piece of a defensive strategy-proof of concept
George et al. A graph-based decision support model for vulnerability analysis in IoT networks
US10242202B1 (en) Apparatus and method for staged graph processing to produce a risk inference measure
Grammatikakis et al. Attack graph generation
Sun et al. Enterprise-level cyber situation awareness
Aslanyan et al. Comparative analysis of attack graphs
Mumrez et al. Comparative Study on Smart Grid Security Testbeds Using MITRE ATT&CK Matrix
Yassine et al. Security Risk Assessment Methodologies in The Internet of Things: Survey and Taxonomy
Costantini Development of a cyber attack simulator for network modeling and cyber security analysis

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120713

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20130830

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee