KR100694248B1 - Apparatus for testing security policies in network security system and its method - Google Patents

Apparatus for testing security policies in network security system and its method Download PDF

Info

Publication number
KR100694248B1
KR100694248B1 KR1020060036949A KR20060036949A KR100694248B1 KR 100694248 B1 KR100694248 B1 KR 100694248B1 KR 1020060036949 A KR1020060036949 A KR 1020060036949A KR 20060036949 A KR20060036949 A KR 20060036949A KR 100694248 B1 KR100694248 B1 KR 100694248B1
Authority
KR
South Korea
Prior art keywords
packet
test
information
policy
oracle
Prior art date
Application number
KR1020060036949A
Other languages
Korean (ko)
Inventor
김현수
국승학
오일노
박영대
박상춘
Original Assignee
충남대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 충남대학교산학협력단 filed Critical 충남대학교산학협력단
Priority to KR1020060036949A priority Critical patent/KR100694248B1/en
Application granted granted Critical
Publication of KR100694248B1 publication Critical patent/KR100694248B1/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/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • 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

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)

Abstract

A security policy test device of a network security system and a method thereof are provided to automatically progress overall processes up to an evaluation process of test results from a preparation process of a test, thereby minimizing user's intervention during the test processes while improving reliability on security policies of the system. A packet generator(100) comprises the followings. A rule interpreting module(110) receives filtering rules of a packet filtering program to decide whether the rules are accurate, and if so, the module(110) parses the corresponding rules to extract port information and protocol information as well as IP(Internet Protocol) addresses of transmitting/receiving sides. A test case generation module(120) generates test cases based on the extracted port information, protocol information, and IP addresses. A packet sender(140) automatically generates packets based on the test cases, and sends the packets. A test oracle generation module(130) automatically generates a test oracle for deciding on results by using log information of the sent packets and the generated test cases. A packet detection module(150) detects whether the sent packets are received, and records the detected results. A synchronizer(160) conducts synchronization and transmission of information necessary for test performance.

Description

네트워크 보안시스템의 보안 정책 테스트 장치 및 방법 {APPARATUS FOR TESTING SECURITY POLICIES IN NETWORK SECURITY SYSTEM AND ITS METHOD}Apparatus and method for testing security policy of network security system {APPARATUS FOR TESTING SECURITY POLICIES IN NETWORK SECURITY SYSTEM AND ITS METHOD}

도 1은 본 발명의 보안성 테스트 장치에 의해 구현된 테스트베드의 구성도.1 is a block diagram of a test bed implemented by the security test apparatus of the present invention.

도 2는 본 발명에 따른 보안성 테스트 장치의 구성도.2 is a block diagram of a security test apparatus according to the present invention.

도 3은 본 발명의 보안성 테스트 장치를 구성하는 규칙해석모듈에서 테스트의 대상이 되는 네트워크 시스템의 보안규칙(정책)을 분석하여 필요한 정보를 추출하는 과정을 나타낸 플로차트.3 is a flowchart illustrating a process of extracting necessary information by analyzing a security rule (policy) of a network system to be tested in a rule analysis module constituting the security test apparatus of the present invention.

도 4는 본 발명의 보안성 테스트 장치를 구성하는 테스트케이스생성모듈에서 테스트케이스를 자동으로 생성하는 과정을 나타낸 플로차트.4 is a flowchart illustrating a process of automatically generating a test case in a test case generation module constituting the security test apparatus of the present invention.

도 5는 본 발명의 보안성 테스트 장치를 구성하는 테스트오라클생성모듈에서 테스트오라클을 자동으로 생성하는 과정을 나타낸 플로차트.5 is a flowchart illustrating a process of automatically generating a test oracle in a test oracle generation module constituting the security test apparatus of the present invention.

도 6은 본 발명의 보안성 테스트 장치를 구성하는 패킷센더에서 테스트케이스를 기반으로 전송할 패킷을 생성하여 전송하는 과정을 나타낸 플로차트. 6 is a flowchart illustrating a process of generating and transmitting a packet to be transmitted based on a test case in a packet sender constituting the security test apparatus of the present invention.

도 7은 본 발명의 보안성 테스트 장치를 구성하는 패킷탐지모듈에서 전송한 패킷을 탐지하여 기록하는 과정을 나타낸 플로차트.7 is a flowchart illustrating a process of detecting and recording a packet transmitted from a packet detection module constituting the security test apparatus of the present invention.

도 8은 본 발명의 보안성 테스트 장치를 구성하는 결과판정모듈에서 테스트 오라클과 전송된 패킷의 로그를 분석해 테스트결과를 산출하는 과정을 나타낸 플로차트.8 is a flowchart illustrating a process of calculating a test result by analyzing a log of packets transmitted from a test Oracle in a result determination module constituting the security test apparatus of the present invention.

[도면 부호의 설명][Description of Drawing Reference]

100… 패킷생성기 110… 규칙해석모듈100... Packet generator 110... Rule interpretation module

120… 테스트케이스생성모듈 130… 테스트오라클생성모듈120... Test case generation module 130. Test Oracle Generation Module

140,210… 패킷센더 150,220… 패킷탐지모듈140,210... Packet sender 150,220... Packet Detection Module

160,240… 싱크로나이저 200… 패킷분석기160,240... Synchronizer 200... Packet analyzer

230… 결과판정모듈 300… 패킷필터230... Result determination module 300. Packet filter

본 발명은 사용자 개입을 최소화하면서 시스템의 보안성을 효과적으로 테스트할 수 있는 네트워크 보안시스템의 보안정책(보안성) 테스트 장치 및 방법에 관한 것으로서, 기술적으로는 패킷 필터링 프로그램 및 이를 이용한 네트워크 보안시스템의 기능 테스팅 분야에 연관되어 있다.The present invention relates to a security policy (security) test apparatus and method for a network security system that can effectively test the security of the system with minimal user intervention. Technically, the function of a packet filtering program and a network security system using the same Related to the field of testing.

프로그램 테스팅은 코드에 내재하여 있는 오류를 찾아내는 작업이다.Program testing is about finding errors in your code.

이러한 목적을 위해 수행되는 테스팅 작업은 크게 테스팅의 계획단계, 테스팅의 준비단계, 테스팅의 수행단계, 테스팅의 평가단계와 같은 네 개의 세부적인 과정으로 나누어질 수 있다.The testing work performed for this purpose can be largely divided into four detailed processes: planning stage of testing, preparation stage of testing, performance stage of testing, and evaluation stage of testing.

그 중 A) 테스팅의 계획단계는 테스트 활동의 작업범위를 정의하고, 접근법, 자원, 일정들을 파악하는 단계이다. 이 단계에서는 테스트의 요구사항을 수집하고, 테스트를 계획하고, 이를 검토하는 일을 수행한다.A) The planning phase of testing involves defining the scope of work for testing activities and identifying approaches, resources, and schedules. In this step, you collect the requirements of the test, plan the test, and review it.

B) 테스팅의 준비단계는 테스트 수행을 위해 테스트케이스를 설계·준비하고, 테스트 환경을 구축하는 과정이다.B) The preparation phase for testing is the process of designing and preparing test cases for test execution and building a test environment.

C) 테스팅의 수행단계는 테스트케이스를 기반으로 테스트하고자 하는 프로그램을 실행하여 그 실행결과를 기록하는 과정이다.C) The execution phase of testing is the process of executing the program to be tested based on the test case and recording the execution result.

D) 테스팅의 평가단계는 수행단계에서의 실행결과를 바탕으로 프로그램에 오류가 존재하는지 여부를 판단하는 과정이다.D) The evaluation phase of testing is the process of determining whether an error exists in the program based on the execution result in the execution phase.

일반적으로, 테스트케이스는 테스트 절차를 나타내는 테스트스크립트와 상기 테스트스크립트를 수행할 때 필요한 테스트데이터 및 실행결과의 오류 유무를 판정하기 위한 테스트오라클로 구성된다. 다시 말해, 테스트오라클은 테스트의 실행결과가 오류인지 여부를 파악하기 위해 사용하는 예상결과를 의미한다.In general, a test case is composed of a test script representing a test procedure and a test oracle for determining whether there is an error in test data and execution results necessary for executing the test script. In other words, test Oracle means the expected result used to determine whether the test execution result is an error.

패킷 필터링 테스트는 방화벽이나 라우터의 보안정책 또는 패킷 필터링 규칙을 테스트하기 위한 것이다. 이는 지정된 규칙에 맞게 패킷이 정확하게 필터링 되는지, 즉 패킷필터와 이를 이용한 보안정책에 의하여 시스템이 안전하게 보호될 수 있는지 테스트하기 위한 것이다.The packet filtering test is for testing the security policy or packet filtering rules of a firewall or router. This is to test whether the packet is filtered correctly according to the specified rule, that is, whether the system can be secured by the packet filter and the security policy using the same.

그러나 종래의 많은 연구들은 이러한 패킷 필터링에 관한 연구보다는 침투 테스팅(Penetration Testing)이나 로그 검사(Log Review)나 바이러스 탐지기(Virus Detectors) 등과 같은 세션 레벨 이상의 연구에 편중되어 있는 실정이다.However, many studies have focused on more than session level studies such as Penetration Testing, Log Review, Virus Detectors, etc. rather than the study of packet filtering.

이 때문에, 라우터나 방화벽 같은 보안시스템의 기본이 되는 패킷 필터링에 관한 테스트 연구들은 간과되어 몇몇 빈약한 기능의 테스트 도구(장치)들이 존재할 뿐이며, 패킷 필터링에 관한 테스트도 대부분 수동으로 이루어지고, 현재 존재하는 테스트 도구 또한 사용자의 많은 개입과 판단을 요구하고 있다.Because of this, test studies on packet filtering, which are the basis of security systems such as routers and firewalls, have been overlooked, and there are only a few poorly-tested test tools, and most of the packet filtering tests are done manually. Test tools also require a lot of intervention and judgment from the user.

종래 예Conventional example

Ftester는 방화벽의 보안정책을 테스트하는데 많이 이용되는 도구(장치)로서 패킷생성기의 역할을 하는 Ftest와, 패킷탐색기의 역할을 하는 Ftested와, 기본환경을 설정하는 'ftest.conf' 파일과, Ftest와 Ftested의 로그를 비교하는데 필요한 스크립트를 담고 있는 Freport로 구성되어 있다. 그러나 상술한 Ftester는 매번 새로운 테스트케이스에 대해 인위적인 설정과 스크립트작성이 필요하고, 분석도구도 종단 간의 로그에 대한 단순비교만을 제공할 뿐이다.Ftester is a widely used tool for testing the security policy of a firewall. Ftest acts as a packet generator, Ftested acts as a packet searcher, 'ftest.conf' file to configure the basic environment, Ftest and It consists of Freport, which contains the scripts needed to compare the logs of Ftested. However, the Ftester described above requires artificial configuration and scripting for each new test case, and the analysis tool only provides a simple comparison of end-to-end logs.

본 발명은 패킷 필터링 테스트에 관련된 종래의 문제점을 개선하기 위해 안출된 것으로서, 패킷 필터링 규칙의 변경이 발생하여도 변경된 데이터에 맞는 새로운 테스트케이스와 테스트오라클이 자동으로 생성되고 이를 실행결과와 비교함으로 써 패킷 필터링 결과가 옳은지 혹은 틀린 지를 자동으로 판단할 수 있도록 한 네트워크 보안시스템의 보안성 테스트 방법 및 장치를 제공하는데 목적이 있다.The present invention has been made to improve the conventional problems related to packet filtering test, and by changing the packet filtering rule, new test cases and test oracles are automatically generated and compared with the execution results. It is an object of the present invention to provide a security test method and apparatus for a network security system that can automatically determine whether a packet filtering result is right or wrong.

또한, 본 발명은 테스트 과정에서의 사용자 개입이 최소화되면서 테스트 과정이 전반적으로 자동화될 수 있는 네트워크 보안시스템의 보안성 테스트 방법 및 장치를 제공하는데 목적이 있다.In addition, an object of the present invention is to provide a method and apparatus for testing security of a network security system in which the test process can be automated as a whole while minimizing user intervention in the test process.

이를 위해 본 발명에서는 보안 정책에 따른 패킷 필터링 프로그램의 패킷 필터링 규칙을 파싱(구문분석)하여 필요한 데이터를 추출한 다음 이를 이용하여 다양한 조합의 테스트케이스와 테스트오라클을 체계적으로 자동 생성하는 방법과, 테스트를 자동으로 수행하는 방법과, 테스트결과를 자동으로 산출하는 방법/장치를 제시한다. 즉, 위에서 기술한 테스트케이스와 테스트오라클의 생성을 자동화하여 사용자 개입을 최소화하면서 효과적인 테스트 수행이 이루어질 수 있게 하는 것을 목표로 한다.To this end, the present invention parses (parses) the packet filtering rules of the packet filtering program according to the security policy, extracts the necessary data, and then systematically automatically generates various combinations of test cases and test oracle using the same, and tests. We present a method to perform automatically and a method / device for automatically calculating test results. In other words, it aims to automate the creation of test cases and test oracles as described above to enable effective test execution while minimizing user intervention.

이러한 기술적 과제가 달성될 수 있는 본 발명은 예를 들면 청구항 1 및 2에 개시된 바와 같이 패킷 필터링 프로그램을 내장한 시스템 보안용의 패킷필터에 접속되는 특별한 구성의 패킷생성기 및 패킷분석기로 이루어질 수 있다.The present invention, in which such a technical problem can be achieved, may be composed of a packet generator and a packet analyzer of a special configuration connected to a packet filter for system security incorporating a packet filtering program as disclosed in, for example, claims 1 and 2.

여기서, 상기 패킷생성기는 ⓐ 테스트 대상이 되는 패킷 필터링 프로그램의 필터링 규칙을 사용자로부터 입력받아 정확한 규칙인지를 판별하고 입력된 필터링 규칙이 정확한 규칙이면 해당 규칙을 파싱하여 송신/수신측의 IP주소와 포트 정보 및 프로토콜 정보를 추출하는 규칙해석모듈 과 ⓑ 상기 규칙해석모듈에서 추출된 송신/수신측의 IP주소와 포트 정보 및 프로토콜 정보를 바탕으로 테스트케이스를 생성하는 테스트케이스생성모듈 과 ⓒ 상기 테스트케이스생성모듈에서 생성된 테스트케이스를 바탕으로 패킷을 자동으로 생성하여 전송하는 패킷센더 와 ⓓ 상기 테스트케이스생성모듈에서 생성된 테스트케이스와 상기 패킷센더에서 전송된 패킷의 로그 정보를 이용하여 결과판단을 위한 테스트오라클을 자동으로 생성하는 테스트오라클생성모듈 과 ⓔ 전송된 패킷의 수신 여부를 탐지하여 기록하는 패킷탐지모듈 및 ⓕ 테스트 수행에 필요한 정보의 전송 및 동기화를 이루는 싱크로나이저 로 구성될 수 있다.Here, the packet generator receives the filtering rule of the packet filtering program to be tested from the user to determine whether the correct rule is correct. Rule analysis module for extracting information and protocol information ⓑ Test case generation module for generating test cases based on IP address and port information and protocol information of the sender / receiver side extracted from the rule analysis module ⓒ The test case generation A packet sender that automatically generates and transmits a packet based on the test case generated in the module, and the test for result determination using the log information of the test case generated in the test case generating module and the packet sent from the packet sender Oracle generates a test mode to automatically create the Oracle Ⓔ and forming the transfer and synchronization of the information required for packet detection module and ⓕ test carried out to detect and record whether or not the reception of the transmitted packet may be composed of a synchronizer.

이에 반해 상기 패킷분석기는 테스트케이스생성모듈에서 생성된 테스트케이스를 바탕으로 패킷을 자동으로 생성하여 전송하는 패킷센더 와, 전송된 패킷의 수신 여부를 탐지하여 기록하는 패킷탐지모듈 과, 테스트 수행에 필요한 정보의 전송 및 동기화를 이루는 싱크로나이저 및 상기 패킷탐지모듈에서 생성된 탐지 패킷 로그와 테스트오라클을 이용하여 테스트 결과를 자동으로 산출하는 결과판정모듈 로 구성될 수 있다.On the other hand, the packet analyzer includes a packet sender that automatically generates and transmits a packet based on the test case generated by the test case generation module, a packet detection module that detects and records whether or not the received packet is received, and performs a test. using the detected packet and log generated by the test Oracle synchronizer, the packet detection module forming the transfer and synchronization of the information may be of a result of determination module for automatically calculating a test result.

또한, 본 발명이 제안하는 네트워크 보안시스템의 보안성 테스트 방법은 예를 들면 청구항 3에 개시된 바와 같이, 패킷 필터링 프로그램을 내장한 시스템 보안용의 패킷필터에 패킷생성기와 패킷분석기가 접속되어 시스템의 보안성을 테스트 하는 방법에 있어서, 상기 패킷생성기의 규칙해석모듈이 상기 패킷 필터링 프로그램의 필터링 규칙을 파싱하고, 파싱한 필터링 규칙이 기본 정책, 플러딩(Flooding) 정책, 상태기반 정책, 단편화 정책 중 어디에 해당하는 것인지를 판별(115)하여 각각에 맞는 정보를 추출(116) 및 저장하는 제1 과정 ; 상기 제1 과정에서 추출된 정보를 바탕으로 상기 패킷생성기의 테스트케이스생성모듈이 테스트케이스를 생성하는 제2 과정 ; 상기 제2 과정에서 생성된 테스트케이스와 패킷필터의 환경설정정보를 이용하여 패킷을 생성하되 이를 목적지로 보내면서 전송한 패킷에 대한 로그를 남기는 제3 과정 ; 상기 제2 과정에서의 테스트케이스와 제3 과정에서 전송한 패킷의 로그를 이용하여 테스트오라클을 생성하는 제4 과정 ; 및 상기 제4 과정에서 생성된 테스트오라클과 상기 패킷분석기에 수신된 패킷의 로그를 상기 패킷분석기의 결과판정모듈이 비교하여 테스트의 수행결과를 판단하는 제5 과정 으로 이루어질 수 있다.In addition, the security test method of the network security system proposed by the present invention, as disclosed in claim 3, for example, a packet generator and a packet analyzer connected to a packet filter for system security incorporating a packet filtering program is connected to the security of the system In the method for testing sex, the rule analysis module of the packet generator parses the filtering rule of the packet filtering program, and the parsed filtering rule corresponds to any one of a basic policy, a flooding policy, a state-based policy, and a fragmentation policy. to determine (115) by a first process of extracting (116) information for the respective storage and whether that; A second step of generating a test case by the test case generating module of the packet generator based on the information extracted in the first step ; A third step of generating a packet using the test case generated in the second step and environment setting information of the packet filter, but leaving a log of the transmitted packet while sending the packet to a destination; A fourth step of generating a test oracle using a test case log in the second step and a log of packets transmitted in the third step; And by the logarithm of the test Oracle and the received packet to the packet analyzer produced in the fourth step the comparison result determining module of the packet analyzer it may be made of a fifth step of determining the result of executing the test.

이하, 첨부도면을 참조하여 본 발명의 일 예에 따른 네트워크 보안시스템의 보안성 테스트 장치 및 방법에 대해 설명하는데, 하기 실시예에서는 입력 값에 대해 도면 부호 I(input)를 병기하였고 출력 값에 대해서는 O(output)를 병기하였다.Hereinafter, an apparatus and method for testing security of a network security system according to an embodiment of the present invention will be described with reference to the accompanying drawings. In the following embodiment, reference numeral I (input) is written for an input value and an output value is described. O (output) was written together.

또한, 본 명세서에서 사용되는 "네트워크 보안시스템"이라는 용어는 인트라넷이나 인터넷 등의 통신망을 통해 다른 컴퓨터가 접속되는 컴퓨터 시스템인 것으 로 정의한다.In addition, the term "network security system" as used herein is defined as a computer system to which other computers are connected through a communication network such as an intranet or the Internet.

또한, 하기 실시예의 보안성(보안 정책) 테스트 장치 및 방법은 다음의 기능을 포함하고 있는 것으로 미리 정의한다.In addition, the security (security policy) test apparatus and method of the following example are previously defined as including the following functions.

ⅰ) 필터링 규칙을 분석해 테스트에 필요한 정보를 추출하는 기능.Iii) Ability to extract filtering information by analyzing filtering rules.

ⅱ) 필터링 규칙을 분석하여 다양한 조합의 테스트케이스를 생성하는 기능.Ii) The ability to analyze the filtering rules and create various combinations of test cases.

ⅲ) 필터링 규칙을 분석해 그에 맞는 테스트오라클을 생성하는 기능.Iii) Ability to analyze filtering rules and generate test Oracle accordingly.

ⅳ) 테스트케이스를 기반으로 본 발명의 테스트베드에서 테스트하는 기능.Iii) a function of testing in a test bed of the present invention based on a test case.

ⅴ) 테스트 수행결과와 테스트오라클을 비교하여 필터링 결과가 오류인지 여부를 판단하는 기능. 여기서, 패킷 필터링 프로그램을 통과하기 전·후의 패킷에 대한 로그(log)와 테스트오라클이 비교되어 테스트결과가 자동으로 산출된다.Iii) A function that compares test result and test Oracle to determine whether filtering result is error. Here, the log of the packet before and after passing through the packet filtering program is compared with the test Oracle, and the test result is automatically calculated.

실시예Example

첨부된 도 1은 본 발명의 보안성 테스트 장치에 의해 구현된 테스트베드의 구성도이고, 도 2는 본 발명에 따른 보안성 테스트 장치의 구성도이며, 도 3 내지 8은 본 발명의 보안성 테스트 장치를 구성하는 각 모듈에서의 정보처리과정을 나타낸 플로차트이다.1 is a configuration diagram of a test bed implemented by the security test apparatus of the present invention, Figure 2 is a configuration diagram of a security test apparatus according to the present invention, Figures 3 to 8 is a security test of the present invention This is a flowchart showing the information processing in each module constituting the device.

앞에서 언급한 바와 같이, 본 발명의 보안성 테스트 장치 및 방법은 테스트 대상이 되는 시스템의 필터링 규칙을 분석하여 그 규칙에 맞는 테스트케이스를 자동으로 생성해야 하고, 그에 맞는 테스트오라클도 자동으로 생성해야 하며, 테스트 수행결과를 판단함에 있어서도 사용자가 직접 확인/분석/판단하는 것이 아니라 테스트오라클과 테스트 수행결과를 이용하여 자동으로 산출해야 한다.As mentioned above, the security test apparatus and method of the present invention should analyze the filtering rules of the system under test and automatically generate a test case conforming to the rules, and automatically generate the corresponding test oracle. In determining the test results, the results should be automatically calculated using the test Oracle and the test results, rather than the user checking / analyzing / deciding.

이를 위해 본 실시예에서는 도 1과 같이 패킷생성기(100), 패킷분석기(200), 패킷필터(300)로 이루어진 테스트베드(전체 시스템)를 제안한다.To this end, this embodiment proposes a test bed (whole system) consisting of a packet generator 100, a packet analyzer 200, and a packet filter 300 as shown in FIG.

상기 패킷생성기(100)는 테스트 대상이 되는 시스템의 패킷 필터링 규칙을 파싱하여 테스트케이스와 테스트오라클을 자동으로 생성하며, 상기 테스트케이스를 이용하여 실제로 전송할 패킷을 생성하여 목적지로 보내는 역할을 한다.The packet generator 100 parses packet filtering rules of a system under test and automatically generates test cases and test Oracles, and generates packets to be actually transmitted using the test cases and sends them to a destination.

상기 패킷필터(300)는 라우터나 방화벽 같은 패킷 필터링 프로그램을 내장하고 있는 시스템으로서 테스트 대상이 된다.The packet filter 300 is a system that includes a packet filtering program such as a router or a firewall, and is a test target.

상기 패킷분석기(200)는 테스트오라클과 패킷분석기에 도착한 패킷의 로그를 서로 비교하여 패킷필터가 제대로 동작하였는지를 판단한다.The packet analyzer 200 compares the log of packets arriving at the test Oracle and the packet analyzer with each other to determine whether the packet filter is operating properly.

또한, 본 발명의 테스트베드(시스템)는 테스트를 위해 2개의 연결을 갖는다.The test bed (system) of the present invention also has two connections for testing.

그 중 ①번 연결(선)은 테스트용 패킷을 전송하는 선으로서 패킷생성기와 패킷분석기가 패킷필터를 통해 서로 패킷을 서로 주고받는다. 반면, ②번 연결은 테스트 수행시 패킷생성기와 패킷분석기 사이에 동기화를 유지할 수 있고, 테스트에 필요한 정보를 주고받기 위한 선이다. ②번 연결을 통해 전달되는 정보는 패킷생성기와 패킷분석기 사이의 로그 정보 및 테스트오라클 정보와 상태기반의 필터 링 규칙 테스트를 위한 동기화 정보이다.Among them, the ① connection (line) is a line for transmitting test packets, and the packet generator and the packet analyzer exchange packets with each other through the packet filter. On the other hand, connection ② is a line to keep the synchronization between the packet generator and the packet analyzer when performing the test, and to send and receive the information necessary for the test. Information transmitted through connection ② is log information between packet generator and packet analyzer, test Oracle information, and synchronization information for state-based filtering rule test.

도 2는 본 발명의 일 예에 따른 보안성 테스트 장치의 내부 구조를 나타낸 것으로, 도면에서 보듯이 본 실시예의 패킷생성기(100)는 규칙해석모듈(110), 테스트케이스생성모듈(120), 테스트오라클생성모듈(130), 패킷센더(140), 패킷탐지모듈(150), 싱크로나이저(160)로 구성되어 있다. 이에 대해, 본 실시예의 패킷분석기는 패킷센더(210), 패킷탐지모듈(220), 결과판정모듈(230), 싱크로나이저(240)로 구성되어 있다.Figure 2 shows the internal structure of the security test apparatus according to an embodiment of the present invention, as shown in the packet generator 100 of the present embodiment is the rule analysis module 110, test case generation module 120, test It is composed of an Oracle generation module 130, a packet sender 140, a packet detection module 150, a synchronizer 160. In contrast, the packet analyzer of the present embodiment includes a packet sender 210, a packet detection module 220, a result determination module 230, and a synchronizer 240.

한편, 본 실시예에서는 네트워크 보안시스템의 보안을 위해 제공된 패킷필터의 필터링 규칙을 다음과 같이 4가지로 분류하여 테스팅에 적용한다.Meanwhile, in the present embodiment, the filtering rules of the packet filter provided for the security of the network security system are classified into the following four types and applied to the testing.

■ 기본 정책에 대한 규칙■ Rules for Default Policy

■ 플러딩(Flooding) 정책에 대한 규칙■ Rules for Flooding Policies

■ 상태기반 정책에 대한 규칙■ Rules for Stateful Policy

■ 단편화 정책■ Fragmentation Policy

이하, 본 실시예의 패킷생성기를 구성하는 각 모듈에 관한 설명한다.Hereinafter, each module constituting the packet generator of the present embodiment will be described.

A) 규칙해석모듈(110)A) Rule interpretation module 110

테스트 대상이 되는 필터링 규칙을 사용자로부터 입력으로 받아 테스트케이 스와 테스트오라클의 자동 생성에 필요한 정보를 추출한다.The filtering rule to be tested is input from the user and the information necessary for the automatic generation of the test case and test oracle is extracted.

도 3은 필터링 규칙으로부터 테스트케이스와 테스트오라클의 자동 생성에 필요한 정보가 어떻게 추출되는지를 나타낸 것으로서, 테스트 대상이 되는 필터링 규칙(I-110)을 사용자가 입력하면, 규칙해석모듈에서 정확한 규칙인지 판별(111)하여 입력된 규칙이 정확한 규칙이면 해당 규칙을 파싱(113)한 후 송신/수신측의 IP주소와 포트 정보 및 프로토콜 정보를 추출(114, O-114)하고, 잘못된 규칙이면 사용자에게 오류를 통지(112)한다.FIG. 3 illustrates how information necessary for automatic generation of test cases and test Oracles is extracted from filtering rules. When a user inputs a filtering rule (I-110) to be tested, the rule analysis module determines whether the rule is correct. (111) If the rule entered is the correct rule, the rule is parsed (113), and then the IP address and port information and protocol information of the sender / receiver side are extracted (114, O-114). Notify 112.

이후 파싱한 보안 정책(규칙)이 기본 정책, 플러딩(Flooding) 정책, 상태기반 정책, 단편화 정책 중 어디에 해당하는 것인지를 판별(115)하고 각각에 맞는 정보를 추출(116)하여 저장한다. 여기서, 추출한 정보가 기본 정책(116-1)에 관한 것이면 5-튜플 즉 송신/수신측의 IP주소와 포트 정보 및 프로토콜 정보를 이용하여 허가/거부 정보(O-116-1)를 추출하고, 플러딩(Flooding) 정책(116-2)에 관한 것이면 플러딩(Flooding)을 판별하는 요소인 Rate/Burst 정보와 해당 규칙이 표현하는 단위시간 정보(O-116-2)를 추출하며, 상태기반 정책(116-3)인 경우에는 상태별 허가/거부 정보(O-116-3)를 추출하고, 단편화된 패킷의 처리/수행을 알아보기 위한 단편화 정책(116-4)인 경우에는 패킷을 단편화할 것인지에 대한 정보(O-116-4)를 추출한다.Thereafter, the parsed security policy (rule) determines whether it corresponds to a basic policy, a flooding policy, a state-based policy, and a fragmentation policy (115), and extracts and stores information for each of them (116). Here, if the extracted information relates to the basic policy 116-1, the permission / deny information (O-116-1) is extracted using a 5-tuple, that is, the IP address, port information, and protocol information of the transmitting / receiving side. In case of flooding policy 116-2, rate / burst information, which is a factor for determining flooding, and unit time information (O-116-2) expressed by a corresponding rule are extracted. In the case of 116-3), the permission / deny information (O-116-3) for each state is extracted, and in the case of the fragmentation policy 116-4 for the processing / performing of fragmented packets, Extract information about O-116-4.

한편, 다수의 규칙을 대상으로 테스트할 경우(117) 계속해서 다음 규칙에 대해 정보를 추출한다.On the other hand, when testing a plurality of rules (117) continues to extract information about the next rule.

B) 테스트케이스생성모듈(120)B) Test Case Generation Module 120

규칙해석모듈에서 추출된 정보(O-114, O-116-1∼O-116-4)를 바탕으로 테스트케이스를 생성한다. 테스트케이스를 생성할 때에도 기본 정책, 플러딩 정책, 상태기반 정책, 단편화 정책에 따라 테스트케이스를 나누어 생성하는데 이는 시스템의 보안정책을 테스트할 때 정상적인 상태(패킷필터를 통과할 대상)와 비정상적인 상태(패킷필터에서 필터링 할 대상)를 모두 고려하여 테스트하는 것을 반영한다.Test cases are generated based on the information extracted from the rule analysis module (O-114, O-116-1 to O-116-4). When creating test cases, test cases are generated according to the basic policy, flooding policy, state-based policy, and fragmentation policy. This is the normal state (what should pass through the packet filter) and abnormal state (packet) when testing the security policy of the system. Reflect on testing by considering all of the filters to be filtered).

참고로, 아래 표는 본 실시예에서 각각의 테스트 대상별로 취한 테스트 정책을 나타낸 것이다.For reference, the table below shows the test policy taken for each test target in this embodiment.

Figure pat00001
Figure pat00001

도 4는 상기 테스트 방법을 반영한 테스트케이스의 생성 과정을 나타낸 것으로, 규칙해석모듈(110)에서 추출된 정보(O-114, O-116-1∼O-116-4)를 입력으로 받아들여(121) 어느 정책에 관한 것인지를 판별(122)하고, 각 규칙의 허가/거부 범위를 추출한다.4 illustrates a process of generating a test case reflecting the test method, and receives information (O-114, O-116-1 to O-116-4) extracted from the rule analysis module 110 as an input ( 121. It is determined 122 which policy the policy is related to, and the permission / deny range of each rule is extracted.

이에 대해 상술하면, 기본 정책인 경우에는 기본 정책 정보를 읽어(123-1)들여 해당 규칙이 표현하고 있는 허가범위를 도출(124-1)한 다음 전체 도메인을 대상으로 동치 영역 분석과 경계값 분석(125-1)을 통해 테스트케이스를 생성(O-125-1)한다. 예를 들어, IP주소가 192.168.0.1~192.168.0.255인 패킷에 대해 접근을 허가할 경우 해당 IP주소의 범위와 그 범위를 제외한 나머지 범위(해당 범위보다 위 또는 아래 범위)를 갖는 패킷이 테스트케이스가 된다. 이때, 해당 범위에서 추출된 테스트케이스를 이용해서 만들어지는 패킷은 패킷필터를 통과해야 하고, 해당 범위 이외의 범위에서 추출된 테스트케이스를 이용해서 만들어진 패킷은 통과되지 않아야 한다.In detail, in the case of the basic policy, the basic policy information is read (123-1) to derive the permission range expressed by the corresponding rule (124-1), and the equivalence area analysis and the boundary value analysis are performed on the entire domain. Test case is generated through (125-1) (O-125-1). For example, if you grant access to a packet whose IP address is between 192.168.0.1 and 192.168.0.255, a packet with a range of the IP address and a range other than that range (upper or lower than that range) will be tested. Becomes At this time, the packet created by using the test case extracted from the range should pass through the packet filter, and the packet created by using the test case extracted from the range other than the range should not pass.

플러딩(Flooding) 정책인 경우에는 규칙해석모듈에서 추출한 Rate/Burst 정보와 단위시간 정보(O-116-2)를 읽어(123-2)들인 후 플러딩(Flooding) 상태를 판단하는 기준을 찾아낸다(124-2). 이를 이용해서 정상적인 상태(Non-Flooding)와 비정상적인 상태(Flooding)를 판별하여 테스트케이스를 생성(125-2)한다.In the case of the flooding policy, after reading the rate / burst information and the unit time information (O-116-2) extracted from the rule interpretation module (123-2), a criterion for determining the flooding state is found ( 124-2). Using this, a normal case (Non-Flooding) and an abnormal state (Flooding) are determined to generate a test case (125-2).

상태기반 정책인 경우에는 규칙해석모듈로부터 추출한 각 상태별 허가/거부 정보(O-116-3)를 읽어(123-3)들여 정상적인 상태전이와 비정상적인 상태전이 정보를 추출(124-3)한다. 이 정보를 이용해서 테스트케이스를 생성(125-3)한다.In the case of state-based policy, normal state transition and abnormal state transition information are extracted (124-3) by reading permission state / deny information (O-116-3) extracted from the rule interpretation module (123-3). This information is used to generate a test case (125-3).

단편화 정책인 경우에는 규칙해석모듈에서 추출한 단편화 정보(O-116-4)를 읽어(123-4)들인 후 단편화 패킷의 허가/거부 정보를 추출(124-4)한다. 그리고 그 정보를 이용해 정상적인 상태와 비정상적인 상태에 대한 테스트케이스를 생성(125-4)한다.In the case of the fragmentation policy, the fragmentation information O-116-4 extracted from the rule interpretation module is read (123-4), and then permission / rejection information of the fragmentation packet is extracted (124-4). The information is then used to generate test cases for the normal and abnormal states (125-4).

C) 테스트오라클생성모듈(130)C) Test Oracle Generation Module 130

테스트오라클생성모듈은 테스트케이스생성모듈(120)에서 생성한 테스트케이스 정보(O-125-1∼O-125-4)와 패킷센더(140, 210)에서 생성한 전송 패킷 로그(O-148)를 이용하여 테스트오라클을 생성한다. 이에 따르면, 각각의 테스트케이스에 대해, 전송될 패킷을 추출하여 테스트를 수행한 다음 그 결과를 자동으로 판단할 수 있다.The test Oracle generation module includes test case information (O-125-1 to O-125-4) generated by the test case generation module 120 and transport packet logs (O-148) generated by the packet senders 140 and 210. Create a test Oracle using. According to this, for each test case, a packet to be transmitted may be extracted, a test may be performed, and then the result may be automatically determined.

도 5는 이와 관련된 처리과정을 상세하게 나타낸 것으로 테스트오라클 역시 각각의 테스트 대상에 따라 나뉘어 생성된다.FIG. 5 shows a detailed process related to this, and test oracle is also generated according to each test target.

도면에서 보듯이, 테스트오라클생성모듈은 테스트 대상별로 테스트케이스를 읽어(132-1∼132-4)들인 후 이에 해당하는 전송 패킷 로그(O-148)를 읽어(133-1∼133-4)들인다.As shown in the drawing, the test Oracle generation module reads test cases (132-1 to 132-4) for each test object and reads the corresponding transport packet log (O-148) (133-1 to 133-4). It is.

읽어들인 정보가 기본 정책에 대한 것이면 테스트케이스의 허가범위에 해당하는 전송 패킷을 분석하여 전송되어야 할 패킷을 추출하는 것으로 테스트오라클을 생성(134-1, O-134-1)하고, 플러딩(Flooding) 정책에 관한 것이면 플러딩 기준에 해당하는 테스트케이스를 이용해 도착 가능한 전체 패킷 수를 분석하여 테스트오라클을 생성(134-2, O-134-2)하며, 상태기반 정책에 관한 것이면 정상적인 상태전이를 유도하는 패킷을 분석하여 테스트오라클을 생성(134-3, O-134-3)하고, 단편화 정책에 대한 것이면 테스트케이스를 이용해 도착 가능한 단편화 패킷을 분석하여 테스트오라클을 생성(134-4, O-134-4) 한다.If the information read is about the basic policy, test packets are generated (134-1, O-134-1) and flooded by analyzing transport packets corresponding to the permission range of the test case and extracting packets to be transmitted. In case of policy, the test case is generated by analyzing the total number of packets that can be arrived by using test cases corresponding to flooding criteria (134-2, O-134-2) .In case of state-based policy, it induces normal state transition. Test Oracle is generated by analyzing the packet to be analyzed (134-3, O-134-3), and if it is about the fragmentation policy, the test Oracle is generated by analyzing the fragmented packets that can be arrived using test cases (134-4 and O-134). -4)

D) 패킷센더(140)D) Packet Sender 140

테스트케이스생성모듈(130)로부터 생성된 테스트케이스(O-125-1∼O-125-4)와 네트워크의 환경설정 정보(I-143)를 이용해 패킷을 생성하고, 이를 목적지로 보내며, 보낸 패킷에 대한 로그(148, O-148)를 남긴다.Generates a packet using test cases (O-125-1 to O-125-4) and network configuration information (I-143) generated from the test case generation module 130, sends the packet to the destination, and sends the packet. Leave a log (148, O-148) for.

이와 관련된 처리과정은 도 6과 같다.The process involved in this is illustrated in FIG. 6.

도면에서, 패킷센더는 생성된 테스트케이스가 어떤 정책에 대한 규칙인지 판단(141) 한 후 필요한 정보를 읽어(142-1∼142-4)들인다.In the figure, the packet sender reads necessary information (142-1 to 142-4) after determining (141) which policy the generated test case is a rule for.

패킷센더는 보안 정책에 나타난 정보와, 필요할 경우 실제 테스트환경의 네트워크 환경설정 정보를 읽어(143-1∼143-4) 실제 패킷을 생성하고 전송(148)한다.The packet sender reads the information indicated in the security policy and network configuration information of the actual test environment (143-1 to 143-4) and generates and transmits the actual packet (148) if necessary.

전송될 패킷의 개수(146)는 테스트 횟수를 나타내는 것으로서 사용자의 입력으로 결정되며, 전송되는 패킷은 테스트케이스의 정상적인 상태와 비정상적인 상태를 기반으로 하여 다양한 테스트가 수행될 수 있도록 지원한다.The number of packets to be transmitted 146 is determined by the user's input as indicating the number of tests. The transmitted packets support various tests based on normal and abnormal states of the test case.

E) 패킷탐지모듈(150)E) Packet Detection Module 150

패킷생성기(100)로 들어오는 패킷을 탐지(151)하여 로그를 남긴다(154).Detecting packets 151 coming into the packet generator 100 and leaving a log (154).

패킷탐지모듈에서는 네트워크를 통하여 들어오는 모든 패킷에 대해 테스트와 관련이 있는 패킷인지를 판별(152)한 후 관련이 있는 패킷에 대해서는 로그(O-154)를 남기고, 테스트 종료를 알리는 패킷이 탐지(153)된 때에는 종료한다. 이와 관련된 흐름이 도 7에 나타나 있다.The packet detection module determines whether the packet is related to the test for all packets coming through the network (152), and leaves a log (O-154) for the related packet, and detects the packet indicating the end of the test (153). Is terminated. A related flow is shown in FIG.

F) F) 싱크로나이저Synchronizer (Synchronizer)(160)(Synchronizer) (160)

②번 연결을 통해 주고받은 패킷에 대한 로그와 테스트오라클을 패킷분석기 쪽으로 보내고, 패킷분석기와의 동기화 정보를 보낸다.It sends log and test Oracle about packet sent and received through connection ② to packet analyzer and sends synchronization information with packet analyzer.

이하에서는 본 실시예의 패킷분석기를 구성하는 각 모듈에 관한 설명한다.Hereinafter, each module constituting the packet analyzer of the present embodiment will be described.

■ 패킷센더(210)■ Packet Sender (210)

패킷분석기 쪽에서 패킷생성기 쪽으로 보내야 할 패킷을 보낸다.The packet analyzer sends a packet to be sent to the packet generator.

보낼 패킷에 대한 테스트케이스는 패킷생성기에서 생성하여 ②번 연결을 통해 전달받는다. 보낸 패킷에 대한 정보는 로그를 남기며, 패킷분석기 쪽의 패킷 센더 역시 상술한 패킷생성기 쪽의 패킷센더와 동일한 방법으로 동작한다.The test case for the packet to send is generated by the packet generator and received through connection ②. The information on the sent packet leaves a log, and the packet sender on the packet analyzer side operates in the same manner as the packet sender on the packet generator side described above.

■ 패킷탐지모듈(220)■ Packet Detection Module (220)

패킷분석기로 들어오는 패킷을 탐지하여 로그를 남기며, 이 역시도 패킷생성기 쪽의 패킷탐지모듈과 동일한 방법으로 동작한다.The packet analyzer detects incoming packets and leaves a log, which also operates in the same way as the packet detector module on the packet generator side.

G) 결과판정모듈(230)G) result determination module 230

테스트오라클(O-134)과 탐지 패킷 로그(O-154)를 분석하여 필터링 결과가 맞는지 판단한다.The test Oracle (O-134) and the detection packet log (O-154) are analyzed to determine whether the filtering result is correct.

이와 관련된 흐름은 도 8에 나타나 있다.A related flow is shown in FIG. 8.

도면에서 보듯이, 테스트오라클(O-134)은 테스트 수행 후 ②번 연결을 통해 패킷생성기로부터 보내진다. 테스트 수행 시에는 패킷탐지모듈(220)의 탐지 패킷 로그(O-154)가 이용되며, 로드된(231, 232) 테스트오라클과 탐지 패킷을 비교(233)하여 테스트 수행결과가 판단(234)된다.As shown in the figure, test Oracle (O-134) is sent from the packet generator through the ② connection after performing the test. When performing the test, the detection packet log (O-154) of the packet detection module 220 is used, and the test execution result is determined 234 by comparing the detected test packets with the loaded test packets 231 and 232 (233). .

예컨대, 기본 정책에 관한 것이면 테스트오라클과 상기 패킷분석기에 수신된 패킷의 로그를 비교해 통과 가능한 패킷만을 통과시켰는지 자동으로 판별하고, 플러딩 정책에 관한 것이면 테스트오라클과 상기 패킷분석기에 수신된 패킷의 로그를 비교해 허용되는 패킷 수만큼의 패킷만을 통과시켰는지 자동으로 판별하며, 상태기반 정책에 관한 것이면 테스트오라클과 상기 패킷분석기에 수신된 패킷의 로그를 비교해 허용 가능한 상태전이가 이루어졌는지 자동으로 판별하고, 단편화 정책에 관한 것이면 테스트오라클과 상기 패킷분석기에 수신된 패킷의 로그를 비교해 허용 가능한 단편화 패킷만을 통과시켰는지 자동으로 판별하는 것이다. 이때, 테스트 결과에 따라 에러 로그(O-236)와 결과 로그(O-235)를 생성(236, 235)한다.For example, if it is related to the basic policy, the test Oracle and the packet analyzer compare the log of the packet received to automatically determine whether only the passable packet has passed. If the flood policy is related, the log of the packet received to the test Oracle and the packet analyzer is passed. Automatically compares the number of packets allowed by the number of packets and automatically determines whether an acceptable state transition has been made by comparing the log of packets received by the test Oracle and the packet analyzer, As far as the fragmentation policy is concerned, the test Oracle and the packet analyzer are compared to log the packets received to automatically determine if only acceptable fragmentation packets have been passed. At this time, an error log (O-236) and a result log (O-235) are generated (236 and 235) according to the test result.

싱크로나이저Synchronizer (Synchronizer)(240)(Synchronizer) (240)

패킷생성기로부터 로그 정보와 테스트 오라클을 받고, 패킷분석기 쪽에서 보내야 할 패킷에 대한 정보를 받는다. 또한, 필요하면 패킷생성기와의 동기화 정보를 내보낸다.It receives log information and test Oracle from the packet generator, and receives information about packets to be sent from the packet analyzer. It also sends out synchronization information with the packet generator if necessary.

이상과 같이 구성되는 본 실시예의 보안성 테스트 장치 및 방법은 다음과 같이 동작한다.The security test apparatus and method of the present embodiment configured as described above operate as follows.

먼저, 패킷생성기(100)에서는 패킷필터(300)의 보안 정책(규칙)을 규칙해석모듈(110)에서 해석하여 필요한 정보를 얻고, 그 정보를 이용하여 테스트케이스생성모듈(120)에서 테스트케이스를 생성하며, 이 테스트케이스에 따라 패킷을 생성한 다음 패킷센더(140)를 통해 패킷분석기(200)에 타겟으로 전송한다. 또한, 계속해서 전송한 패킷을 로그로 남긴다.First, the packet generator 100 obtains necessary information by analyzing the security policy (rules) of the packet filter 300 in the rule analysis module 110, and uses the information to test the test case in the test case generation module 120. The packet is generated according to the test case and then transmitted to the target through the packet sender 140 to the packet analyzer 200. In addition, the packet transmitted continuously is logged.

이어, 테스트오라클생성모듈(130)은 테스트케이스와 전송된 패킷의 로그(O-148)를 입력으로 하여 테스트오라클(O-134)을 생성하고, 이렇게 하여 생성된 테스트오라클을 싱크로나이저와 도 1의 ②번 연결을 통해 패킷분석기(200)에 보낸다.Subsequently, the test oracle generation module 130 generates a test oracle (O-134) using the test case and the log of the transmitted packet (O-148) as inputs, and synchronizes the generated test oracle with the synchronizer and FIG. It sends to the packet analyzer 200 through the ② connection of the.

이에 따라 패킷분석기의 패킷탐지모듈(220)이 수신 패킷에 대한 로그를 남기게 되며, ②번 연결을 통해 전달된 테스트오라클이 결과판정모듈(230)로 보내져 테스트 결과가 판정된다.Accordingly, the packet detection module 220 of the packet analyzer leaves a log for the received packet, and the test oracle transmitted through the ② connection is sent to the result determination module 230 to determine the test result.

이상과 같이 본 발명의 일 예에 따른 네트워크 보안시스템의 보안성 테스트 장치 및 방법에 의하면, 테스트의 준비로부터 테스트 결과의 평가에 이르기까지 전 과정이 자동으로 진행됨으로 테스트 과정에서의 사용자 개입을 최소화할 수 있으며, 시스템의 보안 정책에 대한 신뢰성을 향상할 수 있고, 보안성 테스트를 위한 수행시간의 단축을 기대할 수 있다.According to the security test apparatus and method of the network security system according to an embodiment of the present invention as described above, the entire process from the preparation of the test to the evaluation of the test results automatically proceeds to minimize user intervention in the test process. It can improve the reliability of the security policy of the system, and can shorten the execution time for the security test.

Claims (6)

패킷 필터링 프로그램을 내장한 시스템 보안용의 패킷필터에 접속되는 패킷생성기 및 패킷분석기로 이루어진 보안성 테스트 장치에 있어서,A security test apparatus comprising a packet generator and a packet analyzer connected to a packet filter for system security incorporating a packet filtering program. 상기 패킷생성기는The packet generator 테스트 대상이 되는 패킷 필터링 프로그램의 필터링 규칙을 사용자로부터 입력받아 정확한 규칙인지를 판별하고, 입력된 필터링 규칙이 정확한 규칙이면 해당 규칙을 파싱하여 송신/수신측의 IP주소와 포트 정보 및 프로토콜 정보를 추출하는 규칙해석모듈 과;The filtering rule of the packet filtering program to be tested is input from the user to determine whether it is the correct rule. If the input filtering rule is the correct rule, the rule is parsed to extract the IP address, port information, and protocol information of the sending / receiving side. A rule interpretation module ; 상기 규칙해석모듈에서 추출된 송신/수신측의 IP주소와 포트 정보 및 프로토콜 정보를 바탕으로 테스트케이스를 생성하는 테스트케이스생성모듈 과;A test case generation module for generating a test case based on the IP address, port information, and protocol information of the transmitting / receiving side extracted from the rule analysis module; 상기 테스트케이스생성모듈에서 생성된 테스트케이스를 바탕으로 패킷을 자동으로 생성하여 전송하는 패킷센더 와;A packet sender for automatically generating and transmitting a packet based on a test case generated by the test case generation module; 상기 테스트케이스생성모듈에서 생성된 테스트케이스와 상기 패킷센더에서 전송된 패킷의 로그 정보를 이용하여 결과판단을 위한 테스트오라클을 자동으로 생성하는 테스트오라클생성모듈 과;A test oracle generation module for automatically generating a test oracle for result determination using the test case generated by the test case generation module and log information of the packet transmitted from the packet sender; 전송된 패킷의 수신 여부를 탐지하여 기록하는 패킷탐지모듈 ; 및A packet detection module for detecting and recording a received packet ; And 테스트 수행에 필요한 정보의 전송 및 동기화를 이루는 싱크로나이저 ; Synchronizers to achieve transfer and synchronization of information required to perform the test; 를 포함하는 것을 특징으로 하는 네트워크 시스템의 보안성 테스트 장치.Security test apparatus for a network system comprising a. 제1항에 있어서,The method of claim 1, 상기 패킷분석기는The packet analyzer is 상기 테스트케이스생성모듈에서 생성된 테스트케이스를 바탕으로 패킷을 자동으로 생성하여 전송하는 패킷센더 와;A packet sender for automatically generating and transmitting a packet based on a test case generated by the test case generation module; 전송된 패킷의 수신 여부를 탐지하여 기록하는 패킷탐지모듈 과;A packet detection module for detecting and recording a received packet ; 테스트 수행에 필요한 정보의 전송 및 동기화를 이루는 싱크로나이저 Synchronizers to achieve transfer and synchronization of information required to perform the test 상기 패킷탐지모듈에서 생성된 탐지 패킷 로그와 상기 테스트오라클을 이용하여 보안성 테스트 결과를 자동으로 산출하는 결과판정모듈 ;A result determination module for automatically calculating a security test result using the detection packet log generated by the packet detection module and the test Oracle; 을 포함하는 것을 특징으로 하는 네트워크 시스템의 보안성 테스트 장치.Security test apparatus for a network system comprising a. 패킷 필터링 프로그램을 내장한 시스템 보안용의 패킷필터에 패킷생성기와 패킷분석기가 접속되어 시스템의 보안성을 테스트하는 방법에 있어서,In the method of testing the security of the system by connecting a packet generator and a packet analyzer to a packet filter for system security incorporating a packet filtering program, 상기 패킷생성기의 규칙해석모듈이 상기 패킷 필터링 프로그램의 필터링 규칙을 파싱하고, 파싱한 필터링 규칙이 기본 정책, 플러딩(Flooding) 정책, 상태기반 정책, 단편화 정책 중 어디에 해당하는 것인지를 판별(115)하여 각각에 맞는 정보를 추출(116) 및 저장하는 제1 과정 ;The rule analysis module of the packet generator parses the filtering rule of the packet filtering program, and determines (115) whether the parsed filtering rule corresponds to a basic policy, a flooding policy, a state-based policy, or a fragmentation policy. A first process of extracting and storing information suitable for each; 상기 제1 과정에서 추출된 정보를 바탕으로 상기 패킷생성기의 테스트케이스생성모듈이 테스트케이스를 생성하는 제2 과정 ; A second step of generating a test case by the test case generating module of the packet generator based on the information extracted in the first step ; 상기 제2 과정에서 생성된 테스트케이스와 패킷필터의 환경설정정보를 이용하여 패킷을 생성하되 이를 목적지로 보내면서 전송한 패킷에 대한 로그를 남기는 제3 과정 ;A third step of generating a packet using the test case generated in the second step and environment setting information of the packet filter, but leaving a log of the transmitted packet while sending the packet to a destination; 상기 제2 과정에서의 테스트케이스와 제3 과정에서 전송한 패킷의 로그를 이용하여 테스트오라클을 생성하는 제4 과정 ; 및 A fourth step of generating a test oracle using a test case log in the second step and a log of packets transmitted in the third step; And 상기 제4 과정에서 생성된 테스트오라클과 상기 패킷분석기에 수신된 패킷의 로그를 상기 패킷분석기의 결과판정모듈이 비교하여 테스트의 수행결과를 판단하는 제5 과정 ; A fifth step of determining, by the result determination module of the packet analyzer, a result of the test by comparing the test Oracle generated in the fourth process with a log of the packet received by the packet analyzer; 을 포함하여 이루어지는 것을 특징으로 하는 네트워크 시스템의 보안성 테스트 방법.Security test method for a network system, characterized in that comprises a. 제3항에 있어서,The method of claim 3, 상기 제2 과정은,The second process, 상기 제1 과정에서 추출된 정보가The information extracted in the first process 기본 정책에 관한 것이면 기본 정책 정보를 읽어들여 해당 필터링 규칙이 표현하고 있는 허가범위를 도출한 후 전체 도메인을 대상으로 동치 영역 분석과 경계값 분석을 통해 테스트케이스를 자동으로 생성하고,When it comes to the basic policy, the basic policy information is read to derive the permission range expressed by the filtering rule, and the test case is automatically generated through the analysis of equivalence domain and boundary value for the entire domain. 플러딩(Flooding) 정책에 관한 것이면 상기 패킷생성기의 규칙해석모듈에서 추출한 Rate/Burst정보와 단위시간 정보를 읽어들인 후 플러딩 상태를 판단하는 기 준을 찾아내어 정상적인 상태(Non-Flooding)와 비정상적인 상태(Flooding)의 테스트케이스를 자동으로 생성하고,When it comes to flooding policy, it reads Rate / Burst information and unit time information extracted from the rule analysis module of the packet generator, finds the criteria for judging the flooding status, and checks the normal status (Non-Flooding) Automatically generate test cases for Flooding, 상태기반 정책에 관한 것이면 상기 패킷생성기의 규칙해석모듈로부터 추출한 각 상태별 허가/거부 정보를 읽어들여 정상적인 상태전이와 비정상적인 상태전이 정보를 추출해서 테스트케이스를 자동으로 생성하고,If it is related to the state-based policy, the test case is automatically generated by reading the normal state and abnormal state transition information by reading the permission / rejection information for each state extracted from the rule interpretation module of the packet generator. 단편화 정책에 관한 것이면 상기 패킷생성기의 규칙해석모듈에서 추출한 단편화 정보를 읽어들인 후 단편화 패킷의 허가/거부 정보를 추출(124-4)하여 정상적인 상태와 비정상적인 상태의 테스트케이스를 자동으로 생성하는 과정인 것을 특징으로 하는 네트워크 시스템의 보안성 테스트 방법.In the fragmentation policy, the fragmentation information extracted from the rule analysis module of the packet generator is read, and the permission / rejection information of the fragmentation packet is extracted (124-4) to automatically generate test cases of normal and abnormal states. Security test method for a network system, characterized in that. 제3항 또는 제4항 중의 어느 한 항에 있어서,The method according to claim 3 or 4, 상기 제4 과정은 읽어들인 정보가The fourth process is that the read information 기본 정책에 대한 것이면 테스트케이스의 허가범위에 해당하는 전송 패킷을 분석하여 전송되어야 할 패킷을 추출하는 것으로 테스트오라클을 자동 생성하고,In case of the basic policy, test Oracle is generated automatically by extracting the packet to be transmitted by analyzing the transport packet corresponding to the test scope of the test case. 플러딩(Flooding) 정책에 관한 것이면 플러딩 기준에 해당하는 테스트케이스를 이용해 도착 가능한 전체 패킷 수를 분석하여 테스트오라클을 자동 생성하며,When it comes to flooding policies, test cases are generated automatically by analyzing the total number of packets that can arrive using test cases that meet the flooding criteria. 상태기반 정책에 관한 것이면 정상적인 상태전이를 유도하는 패킷을 분석하여 테스트오라클을 자동 생성하고,When it comes to state-based policy, it automatically generates test Oracle by analyzing packets that induce normal state transitions. 단편화 정책에 대한 것이면 테스트케이스를 이용해 도착 가능한 단편화 패킷 을 분석하여 테스트오라클을 자동 생성하는 과정인 것을 특징으로 하는 네트워크 시스템의 보안성 테스트 방법.If the fragmentation policy is for the security test method of the network system, characterized in that the process of automatic generation of the test Oracle by analyzing the arrival of the fragmented packet using a test case. 제3항 또는 제4항 중의 어느 한 항에 있어서,The method according to claim 3 or 4, 상기 제5 과정은The fifth process 기본 정책에 관한 것이면 테스트오라클과 상기 패킷분석기에 수신된 패킷의 로그를 비교해 통과 가능한 패킷만을 통과시켰는지 자동으로 판별하고,If it is about the basic policy, the test Oracle and the packet analyzer are compared with the log of the packets received to automatically determine whether only the packets that can pass are passed. 플러딩 정책에 관한 것이면 테스트오라클과 상기 패킷분석기에 수신된 패킷의 로그를 비교해 허용되는 패킷 수만큼의 패킷만을 통과시켰는지 자동 판별하며,If it is about flooding policy, the test Oracle and the packet analyzer are compared to log the packets received to automatically determine whether only the number of packets allowed is passed. 상태기반 정책에 관한 것이면 테스트오라클과 상기 패킷분석기에 수신된 패킷의 로그를 비교해 허용 가능한 상태전이가 이루어졌는지 자동으로 판별하고,When it comes to state-based policy, the test Oracle and the packet analyzer are compared to log the packets received to automatically determine whether an acceptable state transition has been made. 단편화 정책에 관한 것이면 테스트오라클과 상기 패킷분석기에 수신된 패킷의 로그를 비교해 허용 가능한 단편화 패킷만을 통과시켰는지 자동으로 판별하는 과정인 것을 특징으로 하는 네트워크 시스템의 보안성 테스트 방법.If it is related to the fragmentation policy, it is a process of comparing the log of the packet received by the test Oracle and the packet analyzer to automatically determine whether only the allowable fragmented packet passed.
KR1020060036949A 2006-04-25 2006-04-25 Apparatus for testing security policies in network security system and its method KR100694248B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060036949A KR100694248B1 (en) 2006-04-25 2006-04-25 Apparatus for testing security policies in network security system and its method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060036949A KR100694248B1 (en) 2006-04-25 2006-04-25 Apparatus for testing security policies in network security system and its method

Publications (1)

Publication Number Publication Date
KR100694248B1 true KR100694248B1 (en) 2007-03-27

Family

ID=41563407

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060036949A KR100694248B1 (en) 2006-04-25 2006-04-25 Apparatus for testing security policies in network security system and its method

Country Status (1)

Country Link
KR (1) KR100694248B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101860395B1 (en) * 2017-06-23 2018-07-02 한국남동발전 주식회사 Apparatus and method for detecting abnormal behavior of industrial control system based on whitelist for nonstandard protocol
CN108574604A (en) * 2017-03-07 2018-09-25 北京京东尚科信息技术有限公司 test method and device
CN108595320A (en) * 2018-04-03 2018-09-28 新华三信息安全技术有限公司 a kind of test method and device
KR20190026185A (en) * 2017-09-04 2019-03-13 삼성에스디에스 주식회사 Method and apparatus for analyzing firewall policy
CN114257426A (en) * 2021-12-09 2022-03-29 山石网科通信技术股份有限公司 Background flow generation method and device, electronic equipment and storage medium
KR102674451B1 (en) 2023-06-07 2024-06-17 한화오션 주식회사 Penetration Test Method And Device Based On Ship NMEA Protocol

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050031215A (en) * 2003-09-29 2005-04-06 한국전자통신연구원 Security engine management apparatus and method in network nodes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050031215A (en) * 2003-09-29 2005-04-06 한국전자통신연구원 Security engine management apparatus and method in network nodes

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108574604A (en) * 2017-03-07 2018-09-25 北京京东尚科信息技术有限公司 test method and device
CN108574604B (en) * 2017-03-07 2020-09-29 北京京东尚科信息技术有限公司 Test method and device
KR101860395B1 (en) * 2017-06-23 2018-07-02 한국남동발전 주식회사 Apparatus and method for detecting abnormal behavior of industrial control system based on whitelist for nonstandard protocol
KR20190026185A (en) * 2017-09-04 2019-03-13 삼성에스디에스 주식회사 Method and apparatus for analyzing firewall policy
KR102036137B1 (en) * 2017-09-04 2019-10-25 삼성에스디에스 주식회사 Method and apparatus for analyzing firewall policy
CN108595320A (en) * 2018-04-03 2018-09-28 新华三信息安全技术有限公司 a kind of test method and device
CN114257426A (en) * 2021-12-09 2022-03-29 山石网科通信技术股份有限公司 Background flow generation method and device, electronic equipment and storage medium
CN114257426B (en) * 2021-12-09 2024-05-03 山石网科通信技术股份有限公司 Background flow generation method, device, electronic equipment and storage medium
KR102674451B1 (en) 2023-06-07 2024-06-17 한화오션 주식회사 Penetration Test Method And Device Based On Ship NMEA Protocol

Similar Documents

Publication Publication Date Title
KR100694248B1 (en) Apparatus for testing security policies in network security system and its method
US9853941B2 (en) Security information and event management
US6993683B2 (en) Analysis of pipelined networks
US20060083180A1 (en) Packet analysis system
CN104168288A (en) Automatic vulnerability discovery system and method based on protocol reverse parsing
US8074279B1 (en) Detecting rogue access points in a computer network
WO2020155508A1 (en) Suspicious user screening method and apparatus, computer device and storage medium
CN106452955B (en) A kind of detection method and system of abnormal network connection
CN106230602B (en) The integrity detection system and method for the certificate chain of digital certificate
JP2003108521A (en) Fragility evaluating program, method and system
CN105245392A (en) Method and device for base line checking and repairing
CN107707549B (en) Device and method for automatically extracting application characteristics
US7451145B1 (en) Method and apparatus for recursively analyzing log file data in a network
CN113965355B (en) Illegal IP (Internet protocol) intra-provincial network plugging method and device based on SOC (system on chip)
CN112468512B (en) Enterprise safety protection system and method based on white list mechanism
CN107592243A (en) A kind of method and device for verifying router static binding function
CN103067395B (en) The method of diagnostic network fire compartment wall and device
CN107209833B (en) Malicious software analysis system, malicious software analysis method, and recording medium
CN115795475A (en) Method and device for determining software system risk and electronic equipment
CN1937565A (en) Service gateway system
KR102156359B1 (en) A Method for Checking Vulnerability Diagnosis Command Execution through Sending Pre-Command and Its System
CN101465764B (en) Inspection method for internet service business place information safety management
Hwang et al. Fault localization for firewall policies
CN110620682A (en) Resource information acquisition method and device, storage medium and terminal
US12045350B1 (en) Apparatus, systems, and methods relying on non-flashable circuitry for improving security on public or private networks

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: 20111129

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140228

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150302

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160304

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190226

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20200224

Year of fee payment: 14