KR100862903B1 - 프로토콜 무결성 고속 검출 장치 및 검출 방법 - Google Patents

프로토콜 무결성 고속 검출 장치 및 검출 방법 Download PDF

Info

Publication number
KR100862903B1
KR100862903B1 KR1020070046961A KR20070046961A KR100862903B1 KR 100862903 B1 KR100862903 B1 KR 100862903B1 KR 1020070046961 A KR1020070046961 A KR 1020070046961A KR 20070046961 A KR20070046961 A KR 20070046961A KR 100862903 B1 KR100862903 B1 KR 100862903B1
Authority
KR
South Korea
Prior art keywords
detection
protocol
integrity
setting
data
Prior art date
Application number
KR1020070046961A
Other languages
English (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 KR1020070046961A priority Critical patent/KR100862903B1/ko
Application granted granted Critical
Publication of KR100862903B1 publication Critical patent/KR100862903B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • 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/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

본 발명 프로토콜 무결성 고속 검출 장치 및 검출 방법은, 네트워크 상 다수의 프로토콜 패킷(protocol packet)에 대한 무결성여부를 검출하기 위해 검출하거나 체크하고자 하는 프로토콜 무결성 검출 설정에 대한 정보를 입력받아, 해당 설정규칙에 대한 프로토콜의 무결성 여부의 검출을 진행하기 위한, 검출 장치 및 검출 방법에 관한 것이다.
본 발명의 프로토콜 무결성 고속 검출 장치는, 검출하고자 하는 프로토콜 패킷의 검출 조건을 설정하기 위한 설정데이타를 입력받으며, 상기 프로토콜 데이터의 상태 검출이 용이하도록, 입력되는 상기 프로토콜 데이터를 파싱하고 필요한 위치에 포인트를 생성하는 조건생성모듈과; 상기 조건생성모듈로부터 전달받은 상기 설정데이타에 따라 상기 파싱된 프로토콜 데이터를 비교함으로써 상기 설정데이타의 내용에 적합한 데이터가 존재하는 지를 검출하는 비교검출모듈과; 상기 비교검출모듈의 검출결과를 상기 설정데이타의 내용에 따라 확인하여 상기 프로토콜 데이터의 무결성여부를 판단하는 결과반영모듈을 포함하여 구성된다.
아울러 본 발명의 프로토콜 무결성 고속 검출 방법은, 프로토콜 무결성 검출을 위한 프로토콜 패킷의 검출설정 정보를 입력받으며, 입력된 상기 무결성 검출설정 정보에 따라 검출진행과정을 설정하는 검출진행 입력설정단계와; 상기 프로토콜의 무결성 검출을 위해 입력되는 프로토콜 패킷에 대한 파싱과, 파싱된 패킷의 데이터구분을 위한 포인트를 생성하는 패킷파싱 구분단계와; 상기 파싱된 프로토콜 패킷과 상기 생성한 포인트 정보로부터, 상기 입력된 설정규칙에 의해 상기 입력되는 프로토콜 패킷을 비교검출하는 프로토콜 무결성 검출단계와; 상기 프로토콜 무결성 검출단계를 통한 검출결과를 최초 입력 설정된 설정규칙에 적합한지 확인하고 최종 검출결과를 완성하여 출력하는 반영결정 결과출력단계를 포함하여 수행된다.
따라서, 상기한 바와 같이 본 발명은, 외부로부터의 의도된 공격이나 해킹, 적합하지 않는 프로토콜 패킷(protocol packet) 변조 공격 등에 의한 오동작 등을 방지하기 위해, 프로토콜 패킷 데이터의 변조나 가공이 예상되는 다양한 형태에 따른 비교검출을 수행함으로써 외부로부터의 공격을 효과적으로 방어할 수 있게 할 뿐만 아니라, 고속의 데이터를 데이터 손실이나 트래픽 지연없이 검출하여 정확한 공격을 탐지하게 하고, 또한 간단한 설정변경 만으로 프로토콜 무결성 검출 규칙을 설정하는 것을 가능하게 하며, 사용자로 하여금 다양한 환경에서 환경에 맞는 설정을 하게 하여 사용의 편리함과 탐지의 최적성을 살릴 수 있어, 사용자들로부터 좋은 평가를 받을 것으로 기대된다.
Figure R1020070046961
프로토콜(protocol), 패킷(packet), 파싱(parsing), 헤더(header)

Description

프로토콜 무결성 고속 검출 장치 및 검출 방법{High speed detecting apparatus of protocol integrity and the detecting method thereof}
도 1은 본 발명의 일실시예에 따른 프로토콜 무결성 고속 검출 장치를 나타낸 도면.
도 2는 도 1 프로토콜 무결성 고속 검출 장치의 설정규칙검출부분의 일례를 나타낸 도면.
도 3은 도 1 프로토콜 무결성 고속 검출 장치의 고정규칙검출부분의 일례를 나타낸 도면.
도 4는 본 발명의 일실시예에 따른 프로토콜 무결성 고속 검출 방법의 순서도.
〈도면의 주요 부분에 대한 부호의 설명〉
10 ; 프로토콜 무결성 고속 검출장치
110 ; 조건생성모듈
111 ; 인터페이스부 112 ; 설정규칙저장부
113 ; 패킷파싱부 114 ; 헤더포인트 생성부
115 ; 파싱결과 생성부
120 ; 비교검출모듈
121 ; 고정규칙검출부 121' ; 고정규칙검출엔진
121a ; 소스IP데이터생성단 121b ; 목적IP데이터생성단
121c ; 규칙비교단 121d ; 프로토콜체크단
121e ; 버퍼단 121f ; 결과생성단
122 ; 설정규칙검출부 122' ; 설정규칙검출엔진
122a ; 제1시퀸스체크단 122b ; 제2시퀸스체크단
122c ; 비교데이타저장단 122d ; 멀티플렉서
122e ; 마스크데이타저장단 122f ; 제1비교데이타생성단
122g ; 제2비교데이타생성단 122h ; 규칙비교단
122i ; 프로토콜체크단 122j ; 버퍼
122k ; 결과생성단
130 ; 결과반영모듈
131 ; 반영설정확인부 132 ; 규칙검출확인부
133 ; 검출결과출력부
본 발명은, 네트워크상의 프로토콜(protocol)에 관한 것으로, 자세하게는 네트워크 상 다수의 프로토콜 패킷(protocol packet)에 대한 무결성여부를 검출하기 위해 검출하거나 체크하고자 하는 프로토콜 무결성 검출 설정에 대한 정보를 입력받아, 해당 설정규칙에 대한 프로토콜의 무결성 여부의 검출을 진행하기 위한, 프로토콜 무결성 고속 검출 장치 및 검출 방법을 제시한 것이다.
인터넷의 발전에 따라 네트워크 인터페이스는 패스트이더넷(fast Ethernet)에서 기가비트이더넷(giga bit Ethernet)으로 급속도로 변경되고 있다. 이에 따라 인터넷상의 데이터량은 시간이 갈수록 기하급수적으로 증가하고 있다.
또한 인터넷에 연결된 서버나 클라이언트는 마치 살아있는 것처럼 계속 변화 발전하고 있다. 그리고 이러한 발전은 일상생활과 인터넷의 이용을 더욱 밀접하고 하고 있다.
하지만 이러한 인터넷 네트워크의 발전과 동시에 무한정보의 보고 인터넷 상에서 필요한 정보를 찾아 바르고 건전하게 이용하는 이면에, 해킹(hacking)이나 크래킹(cracking), 서버공격 등 건전하지 못한 이용 또한 다양하게 이루어지고 있다.
이 중에서도 국제규약으로 정해진 프로토콜 패킷(protocol packet)을 변조한 공격은, 그 공격의 대상이 되는 인터넷 서버나 클라이언트에 이상 동작을 일으키고 심지어는 해당 시스템을 다운시키는 등, 공격자가 원하는 정보를 얻도록 함과 동시 에 기존에 설정된 보안기능들을 무력화시키는 도구로 사용되고 있다.
종래의 일반적인 서버나 클라이언트는 정상적인 프로토콜 패킷(protocol packet) 입력시 잘 동작되고 반응하도록 설계되었으나, 비정상적인 프로토콜 헤더(protocol header)나 변조된 데이터 부분을 가진 패킷 입력시, 시스템 작동이 정상적으로 이뤄지지 못하는 것은 물론 후속 프로세스가 연결되지 못해 결국 작동이 멈추게 되는(shutdown) 사건을 야기하기도 한다.
아울러 일반적으로 알려진 서버나 클라이언트 프로그램들은 이러한 결함들이 발견되면 패치를 통하여 결함을 보완하도록 되어 있으나, 사용자들의 실수나 간과로 인하여 패치가 제 때 이루어지지 못하고 이로 인하여 공격자의 손쉬운 공격대상이 되는 경우 또한 허다하다.
이러한 프로토콜(protocol) 공격에 대한 해결책으로서 프로토콜 무결성 검출 장치에 대한 종래 기술은, 소프트웨어 기반의 장치들로 다양한 프로토콜 규약에 의한 헤더변조에 대해 프로세서를 이용하여 비교검출하는 것들이 대부분이었다. 이러한 종래의 대응 방식은 고속 패킷처리에서는 프로세서의 처리 부하를 증대시키고 본 기능을 포함한 모든 기능을 가동시킬 경우 프로토콜 패킷의 처리 속도를 저하시켜 사용자로 하여금 할당된 최대 트래픽을 사용하지 못하게 하는 문제점이 있다. 또한 하드웨어 방식으로 구현된 경우에도 하드웨어 자체에 고정적인 방식으로 설계되어, 새로운 변형이나 기존에 구현되지 않았던 방식의 공격 출현시 대처가 늦은 문제점을 안고 있다.
이와 동시에 혹 새로운 대처를 위해서는 검출 엔진 자체를 새로 변경해야 하 는 부담을 갖게 되어 사용자로 하여금 불편함을 주고 갱신자체를 꺼리게 하며, 사용자들의 상황에 맞는 최적화를 어렵게 할 뿐만 아니라, 나아가 하드웨어의 리소스 부담을 주는 등 많은 어려움을 주고 있는 실정이다.
이러한 문제점을 해결하기 위한 본 발명의 목적은, 외부로부터의 의도된 공격이나 해킹, 적합하지 않는 프로토콜 패킷(protocol packet) 변조 공격 등에 의한 문제를 방지하기 위해, 프로토콜 패킷 데이터의 변조나 가공이 예상되는 다양한 형태에 따른 무결성 비교검출을 수행함으로써 외부로부터의 공격에 대응할 수 있는 프로토콜 무결성 고속 검출 장치 및 검출 방법을 제공하는 데 있다.
또한 이러한 프로토콜 패킷(protocol packet)의 무결성 검출의 진행을 하드웨어적인 구성을 통하여 수행함으로써, 데이터 손실이나 트래픽 지연없이 프로토콜의 무결성 상태를 바로 검출할 수 있는 프로토콜 무결성 고속 검출 장치 및 검출 방법을 제공하는 데 있다.
아울러 기존에 알려진 프로토콜 헤더에 대한 결함을 미리 검출하여 서버나 클라이언트의 프로토콜 규약을 정상적인 것에서 변조하거나, 혹은 시스템 약점을 이용한 공격 등 다양한 프로토콜 패킷 형태의 공격을 검출하여 차단할 수 있도록 함으로써, 네트워크상의 공격으로부터 서버나 클라이언트를 보호하기 위한, 프로토콜 무결성 고속 검출 장치 및 검출 방법을 제공하는 데 있다.
뿐만아니라, 고속의 데이터를 데이터 손실이나 트래픽 지연없이 검출하여 건 전하지 못한 공격을 정확히 탐지해 내고, 간단한 설정변경 만으로 프로토콜 무결성 검출 규칙을 설정하는 것을 가능하게 하여, 사용자로 하여금 다양한 환경에서 환경에 맞는 설정을 하게 하여 사용상의 편리함과 탐지의 최적성을 살릴 수 있는, 프로토콜 무결성 고속 검출 장치 및 검출 방법을 제공하는 데 있다.
이하, 첨부 도면들을 참조하여 프로토콜 패킷(protocol packet)의 무결성을 고속 검출하는 본 발명의 바람직한 실시예를 상세히 설명한다.
도 1은 본 발명의 일실시예에 따른 프로토콜 무결성 고속 검출 장치(10)를 나타낸 도면이다. 그리고 도 2는 도 1 프로토콜 무결성 고속 검출 장치(10)의 설정규칙검출부분의 일례를, 도 3은 도 1 프로토콜 무결성 고속 검출 장치(10)의 고정규칙검출부분의 일례를 각각 자세히 설명하기 위한 도면이다.
또한 도 4는 본 발명의 일실시예에 따른 프로토콜 무결성 고속 검출 방법의 순서도이다.
도시한 바와 같이, 조건생성모듈(110), 비교검출모듈(120), 결과반영모듈(130)로 크게 구분되는 본 발명 일실시예에서의 각 구성부를 보다 상세하게 살펴보면, 본 실시예의 프로토콜 무결성 고속 검출 장치(10)는, 상기 검출 장치를 통해 검출하고자 하는 프로토콜 패킷의 검출 조건을 설정하기 위한 설정데이타를 입력받으며, 상기 프로토콜 데이터의 상태 검출이 용이하도록, 입력되는 상기 프로토콜 데이터를 파싱하고 필요한 위치에 포인트를 생성하는 조건생성모듈(110)과; 상기 조건생성모듈(110)로부터 전달받은 상기 설정데이타에 따라 상기 파싱된 프로토콜 데이터를 비교함으로써 상기 설정데이타의 내용에 적합한 데이터가 존재하는 지를 검출하는 비교검출모듈(120)과; 상기 비교검출모듈(120)의 검출결과를 상기 설정데이타의 내용에 따라 확인하여 상기 프로토콜 데이터의 무결성여부를 판단하는 결과반영모듈(130)을 포함하여 구성된다.
아울러 본 프로토콜 무결성 고속 검출 장치(10)에 있어 상기 조건생성모듈(110)은, 상기 무결성 검출장치에서 검출해야 할 프로토콜 패킷의 무결성검출을 위한 설정조건을 입력받는 인터페이스부(111)와; 상기 인터페이스부(111)로부터 전달받은 상기 무결성검출 설정조건을 자체저장하며, 상기 무결성 검출장치의 각 구성부로 설정조건에 대한 데이타를 출력하는 설정규칙저장부(112)와; 무결성 상태를 검출하기 위한 상기 프로토콜 패킷을 입력받아 검출에 필요한 신호단위로 파싱하는 패킷파싱부(113)와; 상기 패킷파싱부(113)로부터 입력받은 파싱된 프로토콜 패킷에 헤더포인트를 생성하는 헤더포인트 생성부(114)와; 상기 패킷파싱부(113)로부터 입력받은 파싱된 프로토콜 패킷과 상기 헤더포인트 생성부(114)로부터 입력받은 생성된 헤더포인트를 취합하여 파싱결과를 생성하는 파싱결과 생성부(115)를 포함하여 구성된다.
또한 상기 비교검출모듈(120)은, 상기 조건생성모듈(110)로부터 전송받은 검출해야 할 프로토콜 패킷의 무결성검출을 위한 설정조건에 따라 설정세팅을 수행하여, 상기 입력받은 프로토콜 패킷과 상기 프로토콜 패킷의 파싱결과로부터 상기 프로토콜 패킷의 무결성 검출을 수행하는 적어도 하나 이상의 설정규칙검출엔진을 구 비한 설정규칙검출부(122)를 포함하고 있다.
아울러 이러한 상기 설정규칙검출엔진은, 상기 무결성 검출을 위한 프로토콜 패킷과, 상기 조건생성모듈(110)로부터 파싱된 패킷 및 생성된 헤더포인트 정보를 입력받고, 상기 설정규칙저장부(112)로부터 설정규칙에 대한 정보를 입력받아 시퀸스 진행을 위해 포인트로부터 데이터를 추출하여 출력하는 제1 및 제2 시퀸스체크단과; 상기 설정규칙저장부(112)로부터 기설정된 설정조건을 입력받아 저장하고 있는 비교데이타저장단(122c)과; 상기 제2시퀸스체크단(122b) 및 상기 비교데이타저장단(122c)으로부터 입력받은 데이터를 상기 설정규칙저장부(112)로부터 출력된 설정조건에 따라 선택적으로 출력하는 멀티플렉서단(122d)과; 상기 설정규칙저장부(112)로부터 입력받은 설정조건에 따라 마스킹하기 위한 마스크데이타를 생성하여 저장하고 있는 마스크데이타저장단(122e)과; 상기 제1시퀸스체크단(122a)의 출력과 마스크데이타저장단(122e)로부터의 마스크데이타를 입력받아 비교하여 제1비교데이타를 생성하는 제1비교데이타생성단(122f)과; 상기 마스크데이타저장단(122e)로부터의 마스크데이타와 상기 멀티플렉서단(122d)에서 선택한 데이터를 입력받아 비교하여 제2비교데이타를 생성하는 제2비교데이타생성단(122g)과; 상기 제1 및 제2비교데이타생성단(122g)으로부터 입력받은 출력을 상기 설정규칙저장부(112)로부터 입력받은 설정조건에 따라 비교하여 출력하는 규칙비교단(122h)과; 상기 설정규칙저장부(112)로부터 설정조건을 입력받아 검출해야 할 프로토콜의 종류를 체크하기 위한 체크데이타를 생성하는 프로토콜체크단(122i)과; 상기 프로토콜체크단(122i)으로부터 입력받은 체크데이타에 적합한 지를 체크하여 상기 규칙비 교단(122h)으로부터의 입력을 출력시키는 버퍼단(122j)과; 상기 버퍼단(122j)으로부터의 출력을 입력받아 해당 검출엔진에서 비교검출한 결과를 생성하여 출력하는 결과생성단(122k)을 포함하여 구성된다.
또한 추가적으로 상기 비교검출모듈(120)은, 고정적으로 설정된 상기 프로토콜 패킷의 무결성검출 설정상태에 따라 상기 입력받은 프로토콜 패킷의 파싱결과로부터 상기 프로토콜 패킷의 무결성 검출을 수행하는 적어도 하나 이상의 고정규칙검출엔진을 구비한 고정규칙검출부(121)를 포함하는 것이 바람직하다.
아울러 상기 고정규칙검출엔진은, 상기 검출하고자 하는 프로토콜 상태에 대해 일반적으로 빈도가 높은 무결성 검출조건을 하드웨어적 회로로 고정화시켜 구현한 특징을 갖는다.
마지막으로 상기 결과반영모듈(130)은, 상기 조건생성모듈(110)로부터 전송받은 검출해야 할 프로토콜 패킷의 무결성검출을 위한 설정조건을, 상기 검출과정이 수행되었는지를 확인하기 위해 저장하고 있는 반영설정확인부(131)와; 상기 비교검출모듈(120)로부터 검출된 결과를 입력받아 상기 반영설정확인부(131)로부터의 설정조건에 따라 무결성 검출이 수행되었는지를 확인하는 규칙검출확인부(132)와; 상기 규칙검출확인부(132)로부터의 무결성 검출 확인결과에 따라 무결성 검출 결과 반영여부를 결정하고 상기 무결성 검출에 따른 최종결과를 생성하여 출력하는 검출결과출력부(133)(133)를 포함하고 있다.
본 실시예에 따른 각 검출단계에 대한 내용은 후술하겠지만, 본 발명 일실시예의 프로토콜 무결성 고속 검출 방법은, 상기 무결성 검출을 위한 프로토콜 패킷 의 검출설정 정보가 입력받으며, 입력된 상기 무결성 검출설정 정보에 따라 검출진행과정을 설정하는 검출진행 입력설정단계와; 상기 프로토콜의 무결성 검출을 위해 입력되는 프로토콜 패킷에 대한 파싱과, 파싱된 패킷의 데이터구분을 위한 포인트를 생성하는 패킷파싱 구분단계와; 상기 파싱된 프로토콜 패킷과 상기 생성한 포인트 정보로부터, 상기 입력된 설정규칙에 의해 상기 입력되는 프로토콜 패킷을 비교검출하는 프로토콜 무결성 검출단계와; 상기 프로토콜 무결성 검출단계를 통한 검출결과를 최초 입력 설정된 설정규칙에 적합한지 확인하고 최종 검출결과를 완성하여 출력하는 반영결정 결과출력단계를 포함하여 수행된다.
아울러 상기와 같은 다수의 단계를 통해 진행되는 본 실시예의 프로토콜 무결성 고속 검출 방법에 있어 상기 프로토콜 무결성 검출단계는, 상기 검출하고자 하는 프로토콜 상태에 대해 일반적으로 빈도가 높은 무결성 검출조건의 고정화된 처리에 의해 비교검출하는 무결성 고정비교검출과정을 더 포함하며; 상기 프로토콜 무결성 검출단계는 상기 검출하고자 하는 프로토콜 패킷의 헤더 중 비교하고자 하는 데이터를 추출하기 위해 상기 비교하고자 하는 데이터 이외의 부분을 마스킹하기 위한 마스크데이타를 생성하여 상기 비교하고자 하는 데이터와 논리연산하는 마스크데이타 연산과정을 더 포함하고; 또한 상기 프로토콜 무결성 검출단계는 상기 검출진행 입력설정단계의 입력을 통해 입력된 상기 검출설정 정보와, 상기 입력되는 프로토콜 패킷의 정보 중에서 선택되도록 설정된 데이터를 서로 비교처리하는 특징을 가지며; 상기 검출진행 입력설정단계는 같다[=], 같지않다[!=], >[크다], <[작다]의 어느 한 조건이상을 개별 및 중복 사용토록 검출조건의 설정이 가능하 며, 상기 프로토콜 무결성 검출단계는 상기 검출진행 입력설정단계를 통해 설정된 검출조건에 따라 비교검출을 수행하게 되고; 상기 반영결정 결과출력단계는 상기 프로토콜 무결성 검출단계를 통하여 하나 이상의 무결성위반 검출시 우선순위에 따라 검출결과를 생성하여 출력하는 것이 바람직하다.
이 후 전술한 구성 및 진행단계를 포함하는 본 실시예에 따른 프로토콜 무결성 고속 검출장치의 구성을 자세히 살펴본다.
본 프로토콜 무결성 고속 검출 장치(10)에서 수행되는 프로토콜 무결성에 대한 검출규칙은, 보통 서버 등과 같은 시스템에 연결된 모니터를 보면서 각각의 검출규칙에 대한 조건 및 수치 등을 선택하고 설정하게 되는 것이 일반적이며, 본 프로토콜 무결성 고속 검출 장치(10)에는 이를 통하여 선택되거나 설정된 조건 및 수치의 정보가 입력된다.
또한 프로토콜 무결성 검출규칙을 선택하거나 수치를 입력할 수 있는 특수한 입력장치를 통해서도 입력 설정이 가능하다. 즉 외부에서 연결할 수 있는 메모리 등에 설정값이 저장되어 있는 경우, 이 저장된 값을 복사(copy)하거나 이동시키는 등의 작동을 통해서도 입력이 가능하게 된다.
아울러 이러한 프로토콜 무결성 검출규칙의 입력설정은 본 프로토콜 무결성 고속 검출 장치(10)를 위한 조건 및 수치의 입력이므로 큰 어려움은 없으며 여기서는 이러한 경로를 통해 입력받은 설정규칙 정보에 따라 본 발명에서 의도하는 프로토콜 무결성 고속 검출이 진행되는 것을 중심으로 하여 설명한다.
도 1에 도시한 바와 같이, 본 실시예의 프로토콜 무결성 고속 검출장치(10) 는, 조건생성모듈(110), 비교검출모듈(120), 결과반영모듈(130)로 크게 구분할 수 있다.
그리고 이중 상기 조건생성모듈(110)은 인터페이스부(111), 설정규칙저장부(112), 패킷파싱부(113), 헤더포인트 생성부(114), 파싱결과 생성부(115)를 구비하고 있다.
먼저 인터페이스부(111)는 검출 실시될 프로토콜 패킷이 입력되는 해당 시스템의 마이크로프로세서와 인터페이스하는 구성부이다.
이 인터페이스부(111)는 본 검출장치의 사용자나 혹은 이미 설정되어 있는 무결성검출을 위한 검출정보가 입력되는 구성부이며, 이를 통하여 프로토콜 패킷의 무결성 검출조건에 대한 설정내용이 확인될 수 있도록 인터페이스 기능을 담당하게 된다.
이를 위해 이 인터페이스부(111)에는 시스템 구성의 핵심부인 마이크로 프로세서의 로컬버스 입출력규격에 의거하여 데이터 버스와 어드레스버스, 읽기/쓰기(Read/Write Enable)신호 및 칩선택(Chip Select)신호가 입력된다.
설정규칙저장부(112)는 많은 레지스터들을 구비하고 있으며, 이 레지스터들에 전단의 인터페이스부(111)를 통해서 입력된 규칙이 저장되어 있으며, 후단 비교검출모듈(120)의 고정규칙검출부(121) 및 설정규칙검출부(122)의 각 구성단, 그리고 결과반영모듈(130)에서 필요로 하는 데이터를 저장하여 출력하는 기능을 수행한다.
패킷파싱부(113)는 입력되는 프로토콜 패킷을 파싱(parsing)한다. 이 패킷파 싱부(113)에서의 파싱(parsing)은 후단에서 프로토콜 체크가 이루어지므로, 입력되는 프로토콜 종류와 상관없이 진행된다.
이를 위해 패킷파싱부(113)는 8bit(1Byte)의 입력데이터나 16bit(2Byte), 32bit(4Byte)등의 병렬 신호와 패킷데이터의 유효함을 알리는 Enable신호, 패킷의 시작을 알려주는 SOP(Start of Packet)신호, 패킷의 종료를 알려주는 EOP(End of Packet)신호 등을 입력받는다. 여기서 파싱(parsing)된 결과를 가지고 헤더 종류를 구분하고 구분된 결과에 따라 검출 유무를 적용하게 된다.
헤더포인트 생성부(114)는 패킷파싱부(113)에서 파싱된 프로토콜패킷을 입력받아, 입력된 각 프로토콜패킷의 헤더(header)를 구분하기 위해 헤더포인트(header pointer)를 생성한다.
또한 파싱결과 생성부(115)는 패킷파싱부(113)로부터 입력패킷 및 검출된 헤더종류와 헤더포인트 생성부(114)에서 생성한 헤더포인트(header pointer) 정보를 가지고, 해당 프로토콜패킷의 헤더내용을 포착하여 비교검출모듈(120)에서 필요한 검출 데이터를 생성하는 구성부이다.
다음으로 조건생성모듈(110) 후단의 비교검출모듈(120)은 고정규칙검출부(121)와 설정규칙검출부(122)로 크게 구분할 수 있다.
본 실시예에서는 32bit 체계를 중심으로 하고, 본 고정규칙검출부(121)와 설정규칙검출부(122)가 각각 32개의 검출엔진을 포함하여 구성되는 경우를 중심으로 설명한다. 따라서 64bit 체계이거나, 검출성능을 향상시키기 위해 64개나 128개, 혹은 50개나 100개 등과 같이 검색의 효율을 높이기 위해 많은 수의 검색엔진이 필 요한 경우에는 본 프로토콜 무결성 고속 검출 장치(10) 구성시 이에 따라 각 검출엔진의 수를 증가시키면 된다.
먼저 고정규칙검출부(121)는 기존에 알려진 프로토콜 공격정보를 분석하여 그 공격의 수가 많거나 혹은 일반적인 것으로 취급할 수 있는 형태의 프로토콜 무결성 부분을 하드웨어적으로 고정되게 적용한 블록이다. 이 고정규칙검출부(121)는 검출기능이 고정되어 있어 변경하기가 힘들지만, 적은 하드웨어 리소스를 가지고도 효율적으로 비교검출을 시행할 수 있도록 구현한 것이다.
본 실시예에 있어 이 고정규칙검출부(121)는 일반적으로 잘 알려진 32개의 규칙에 대하여 검출하도록 32개의 고정규칙검출엔진(121')을 포함시켜 구성하고 있지만, 전술한 바와 같이 이러한 숫자는 프로토콜 무결성 검출의 효율성, 하드웨어 리소스 등 전반적인 여건을 종합하여 추가하거나 감소시켜 구성하는 것이 가능하다.
또한 본 고정규칙검출부(121)는 사용자 설정에 의해서 각 규칙별로 규칙을 적용할 것인지 아닌지를 결정할 수 있도록 하였고, 검출후 검출 결과 보고 및 반영을 위해 일정한 코드 형태의 검출 아이디(Identification)를 설정하는 것이 가능하다. 아울러 여기서의 검출은 헤더포인트 생성부(114)로부터 생성된 각 헤더의 포인트 정보와 파싱결과 생성부(115)로부터 생성된 파싱결과를 가지고, 미리 정해진 고정규칙에 따라 비교검출을 수행하여 설정된 규칙에 해당 되는 지를 검출하여 결과를 생성하는 블록이다.
이를 위해 본 고정규칙검출부(121)는 설정규칙저장부(112)로부터 Enable신호 와 규칙비교시 필요한 Threshold정보 및 기타 정보를 입력받고, 파싱결과 생성부(115)로부터 헤더별 파싱결과 데이터를 병렬로 받고, 헤더포인트 생성부(114)로부터 비교 지점을 찾기 위한 헤더포인터 정보를 입력받는다.
아울러 본 실시예에서는 도 3에 도시한 바와 같이, 본 고정규칙검출엔진(121')의 한 종류로서 소스IP(source IP)와 목적IP(destination IP)의 무결성 검출을 위해 구성된 예를 나타내었으며, 후술하는 본 프로토콜 무결성 고속 검출 방법을 통해 자세히 설명하기로 한다.
비교검출모듈(120)을 구성하는 또 다른 구성부인 설정규칙검출부(122)는 본 발명의 핵심적인 부분으로 사용자 설정에 따라 비교 검출하고자 하는 부분들을 정하도록 함으로써, 다양한 사용자들에게 적합하도록 설정 할 수 있는 블록이다.
본 설정규칙검출부(122)는 설정규칙저장부(112)로부터 설정된 규칙정보, 즉 각 검출부의 가능상태(Enable)신호 및 헤더의 적용 프로토콜정보, 비교정보, 비교하고자 하는 헤더의 각 대상 포인터 정보 및 비교정보와 마스크 정보 등을 규칙으로 입력받는다. 아울러 입력되는 패킷을 바로 입력받으며, 헤더포인트 생성부(114)로부터 현재 입력되는 패킷의 각 프로토콜 헤더별 위치 포인터 정보를 입력으로 받는다.
따라서 이를 통해 본 설정규칙검출부(122)는 헤더포인트 생성부(114)로부터 생성되는 포인트정보와 패킷파싱부(113)로부터 분석된 헤더 정보를 가지고 설정규칙저장부(112)로부터 설정된 사용자 포인터 정보를 비교하여 해당 포인터와 일치하는 지점의 헤더정보를 입력패킷으로부터 추출한 후, 비교 검출함으로써 검출결과를 생성하는 블록이다.
본 실시예에 있어서 본 설정규칙검출부(122)는 사용자가 임의로 설정하여 사용할 수 있도록 32개의 설정규칙검출엔진(122')을 포함시켜 구성하고 있지만, 전술한 고정규칙검출부(121)에서와 같이 프로토콜 무결성 검출의 효율성, 하드웨어 리소스 등 전반적인 여건을 종합하여 추가하거나 감소시켜 구성하는 것이 가능하다.
도 2에 도시한 바와 같이, 설정규칙검출부(122)를 구성하는 설정규칙검출엔진(122')은 입력된 설정 규칙에 따라 프로토콜 무결성을 검출하는 본 프로토콜 무결성 고속 검출 장치(10)의 핵심적인 구성부로, 제1시퀸스체크단(122a), 제2시퀸스체크단(122b), 비교데이타저장단(122c), 멀티플렉서단(122d), 마스크데이타저장단(122e), 제1비교데이타생성단(122f), 제2비교데이타생성단(122g), 규칙비교단(122h), 프로토콜체크단(122i), 버퍼단(122j) 그리고 결과생성단(122k)을 구비하고 있다.
먼저 제1시퀸스체크단(122a)과 제2시퀸스체크단(122b)은 무결성 검출을 위한 프로토콜 패킷과, 상기 조건생성모듈(110)로부터 파싱된 패킷 및 생성된 헤더포인트 정보를 입력받고, 상기 설정규칙저장부(112)로부터 설정규칙에 대한 정보를 입력받아 시퀸스 진행을 위해 포인트로부터 데이터를 추출하는 구성부이다.
비교데이타저장단(122c)은 후단에서 필요적으로 이용하도록 설정규칙저장부(112)에서 출력된 검출 설정규칙을 자체적으로 저장하고 있다.
멀티플렉서단(122d)은 입력되는 데이터를 조건에 따라 선택적으로 출력하는 다수의 멀티플렉서(MUX, Multiplexer)를 구비하고 있으며, 따라서 상기 설정규칙저 장부(112)로부터 출력된 설정조건에 따라 상기 제2시퀸스체크단(122b) 및 상기 비교데이타저장단(122c)으로부터 입력받은 데이터를 선택적으로 출력하는 기능을 수행한다.
마스크데이타저장단(122e)은 비교데이터를 생성하는 과정에서 비교해야 할 비트(bit)를 정의해 주는 부분이다. 본 실시예에 있어 마스크데이타저장단(122e)은 무정의조합(정의되지 않는 조합, Don't care)처리되도록 마스크(Mask)시킬 비트(bit)의 논리값을 1로 설정한다.
제1비교데이타생성단(122f)은 제1시퀸스체크단(122a)의 결과값과 마스크데이타저장단(122e)의 출력인 마스크(Mask)시키지 않을 비트(bit)값을 논리합하여 제1비교데이터를 생성한다.
그리고 제2비교데이타생성단(122g)은 제2시퀸스체크단(122b)의 결과데이터 및 비교데이타저장단(122c)의 데이터 중에서 선택된 데이터와, 마스크데이타저장단(122e)의 출력인 마스크(Mask)시키지 않을 비트(bit)값을 논리합하여 제2비교데이터를 생성한다.
이 후 규칙비교단(122h)은 설정규칙저장부(112)에서 정의한 비교규칙에 의하여 두개의 비교데이터를 수치비교하게 된다.
다음의 프로토콜체크단(122i)은 설정규칙저장부(112)에서 정의한 프로토콜 정보를 가지고 비교 결과가 적합(Matching)할 때 해당 프로토콜에 적용되는 지를 체크하는 구성부이다.
규칙비교단(122h)의 출력은 후단의 버퍼단(122j)으로 입력된다. 본 실시예의 버퍼단(122j)은 상태에 따라 제어되는 많은 수의 버퍼(Buffer)를 포함하고 있으며, 따라서 프로토콜체크단(122i)의 체크결과가 정상적이면, 규칙비교단(122h)의 결과는 후단의 결과생성단(122k)으로 출력시킨다.
마지막으로 결과생성단(122k)은 최종 적인 비교 및 검출 결과를 생성하여 결과반영모듈(130)의 규칙검출확인부(132)로 출력한다. 이 결과생성단(122k)에서는 본 입력 프로토콜의 무결성을 오류가 있는 것으로 확인되는 경우, 각각의 오류에 해당하는 것을 일정한 코드나 검출아이디 형태로 출력하게 됨으로써, 출력된 코드나 검출아이디가 출력되면 현 입력 프로토콜의 문제점이 파악될 수 있도록 처리된다.
세 번째의 결과반영모듈(130)은 비교검출모듈(120)로부터의 검출정보와, 조건생성모듈(110)의 설정규칙저장부(112)로부터 전송받은 반영규칙을 적용하고, 각 검출 규칙의 반영사항을 확인하여 검출아이디 및 반영결과를 생성하여 출력함으로써, 결과를 확인함과 동시에 확인된 검출결과를 반영케하는 모듈이다.
이러한 결과반영모듈(130)은 반영설정확인부(131), 규칙검출확인부(132), 검출결과출력부(133)를 구비하고 있다.
먼저 반영설정확인부(131)는 조건생성모듈(110)의 설정규칙저장부(112)에서 설정되는 검출에 따른 규칙별 반영사항인 각 규칙별 반영설정정보(Raw Packet Dump, Alert생성, Pakcet Drop)를 입력받아 저장하고 있으면서 규칙이 검출될 때 각 규칙별로 반영사항을 확인하는 구성부이다.
규칙검출확인부(132)는 비교검출모듈(120)로부터 검출결과인 검출아이디를 받고 그 아이디를 바탕으로 반영설정확인부(131)로부터 반영설정정보를 입력으로 받는다. 따라서 이로부터 우선순위에 의해 최우선의 검출 결과만을 추출하여, 추출된 규칙정보에 해당하는 반영정보와 비교검출모듈(120)에서 제공하는 검출아이디를 검출결과출력부(133)로 전달하는 기능을 수행한다.
마지막으로 검출결과출력부(133)는 규칙검출확인부(132)로부터 검출아이디와 반영설정정보를 입력으로 받아, 이 검출결과를 토대로 반영정보에 새롭게 적용시킬 해당 패킷의 아이디 및 검출아이디 반영설정정보를 적용부분의 형태에 맞게 생성하여 출력한다.
이 후 전술한 바와 같은 구성을 통하여 본 실시예에 따른 프로토콜 무결성 고속 검출 과정을 자세히 살펴본다.
본 실시예에서는 IPv4 형식의 IP 헤더의 Version정보가 정상적이지 않는 경우 프로토콜 무결성 상태를 검출하는 과정을 중심으로 설명한다.
IPv4 형식의 IP 헤더(Header)는 '0x4'가 기본값이다. 만약 이 값이 다른 값이면 해당 패킷은 IPv4 형식의 IP 프로토콜이 아니며, 현재와 같이 IPv4 형식을 사용하는 인터넷 네트워크(internet network)에서는 있을 수 없는 헤더 값이다.
이 규칙의 위반은 IP 프로토콜의 상태를 검출하거나 IP 프로토콜의 무결성 여부를 체크하는 데 있어서는 아주 기본적인 사항이다.
본 실시예의 프로토콜 무결성 고속 검출에서는 먼저, 상기 무결성 검출을 위한 프로토콜 패킷의 검출설정 정보를 입력받으며, 입력된 상기 무결성 검출설정 정보에 따라 검출진행과정을 설정하는 검출진행 입력설정단계가 진행된다.
본 실시예의 프로토콜 무결성 고속 검출장치(10)는 자동적인 작동(Auto Start)을 설정(setting)하지 않는 한, 본 프로토콜 무결성 고속 검출장치(10)를 탑재하고 있는 메인시스템의 작동과는 별개로 작동된다.
최초 본 프로토콜 무결성 고속 검출장치(10)는 기본적으로 비활성화 상태이다. 따라서 본 프로토콜 상태 검출을 위해 본 프로토콜 무결성 고속 검출장치(10), 그 중에서도 검출의 핵심인 비교검출모듈(120)의 설정규칙검출부(122)의 초기화가 시작된다(P302).
이 후 입력되는 프로토콜 패킷에서 무결성 검출을 해 보고자하는 검출규칙 등을 설정 또는 입력받게 되며, 이러한 검출규칙 설정 정보의 설정 또는 입력이 완료되면 설정규칙검출부(122)는 활성화된다.
아울러, 전술한 바와 같이 본 프로토콜 무결성 고속 검출장치(10)로의 접속은, 전체 시스템을 총괄하는 모니터화면을 통해 전시되므로 이를 본 사용자로부터 각종 입력 및 설정 내용을 입력받는 것이 일반적이며, 본 실시예에서는 이렇게 모니터화면을 통해 전체적인 설정상태를 확인하는 사용자로부터의 설정 정보를 입력받아 본 프로토콜 무결성 고속 검출장치(10)가 설정되는 과정을 중심으로 설명한다.
전술한 바와 같이, 고정규칙검출부(121)의 고정규칙검출엔진(121')은 하드웨어적으로 세팅된 내용이 자동적으로 실행되므로 설정될 필요가 없지만, 설정규칙검출부(122)의 설정규칙검출엔진(122')은 설정된 검출규칙에 따라 검출을 진행함으로, 설정데이타가 입력되어야 한다. 따라서 결국 이러한 설정과정을 통해 32개의 설정규칙검출엔진(122') 중 사용될 엔진이 선택되어 초기화되고 활성화된다.
또한 이 입력설정과정에서는, 검출되어질 헤더의 종류와 값, 그리고 두번째 비교데이터가 비교데이타저장단(122c)과 제2시퀸스체크단(122b) 중 어디서 생성될지가 결정됨으로써 무결성 검출을 위한 설정이 각각의 구성부에서 실시된다(P304).
이 과정에서 비교데이타저장단(122c)에서 생성되도록 결정되면 비교데이타저장단(122c)에는 직접 비교하고자 하는 데이터값이 기록된다. 그렇지 않고 제2시퀸스체크단(122b)에서 생성되도록 결정되면 IP나 TCP의 헤더 중 비교하게 될 헤더의 위치와 비트(Bit)위치가 제2시퀸스체크단(122b)에 기록된다.
이렇게 프로토콜 무결성 검출을 위한 검출진행 입력설정단계후에는, 입력되는 프로토콜 패킷에 대한 파싱과, 파싱된 패킷의 데이터구분을 위한 포인트를 생성하는 패킷파싱 구분단계가 수행된다.
인터넷 네트워크에 연결된 메인시스템은 특정 IP나 특정 호스트에서의 접속을 제외하고는, 일반적인 클라이언트의 접속에 항상 응대를 할 수 있도록 열려 있는 상태에 있다.
물론 이 가운데는 의도적으로 서버를 공격하거나 정보를 빼내려는 크래커(Cracker)나 해커(hacker)도 있지만, 일반적으로 상기 메인시스템은 일반 클라이언트들에 항상 열려있으며, 따라서 본 프로토콜 무결성 고속 검출장치(10) 역시 작동 중에 접속을 시도하거나 접속하고 있는 각종 프로토콜 패킷이 입력되고 있는 상태이다.
따라서 본 프로토콜 무결성 고속 검출장치(10)의 작동에 따라 무결성 검출이 시작되면, 먼저 작동이 개시된 시각부터 패킷파싱부(113)는 입력패킷에 대한 파싱(parsing)을 시작한다(P306).
이 후 패킷파싱부(113)에서 파싱된 패킷이 출력되면, 헤더포인트 생성부(114)에서는 패킷 신호에 대한 구분이 되도록 각 프로토콜 패킷의 헤더에 헤더포인트를 생성한다(P308). 아울러, 파싱결과생성부(115)에서는 파싱결과를 생성(P310)함으로써, 본격적인 프로토콜 무결성 검출을 위해 준비하게 된다.
이 후 파싱된 프로토콜 패킷과 생성한 포인트 정보로부터, 상기 입력된 설정규칙에 의해 상기 입력되는 프로토콜 패킷을 비교검출하는 프로토콜 무결성 검출단계가 수행된다.
이 프로토콜 무결성 검출단계는 상기 검출진행 입력설정단계에서 설정한 바에 따라 프로토콜 패킷에 대한 검출을 수행하므로 상기 검출진행 입력설정단계와 직접적으로 연관되어 있다고 할 수 있다.
본 실시예에서는 IPv4 형식의 IP 헤더(Header)에 대한 검출을 수행하는 것을 예로 하고 있으므로, 32개의 설정규칙검출엔진(122')을 갖는 설정규칙검출부(122)에서 상기 검출진행 입력설정단계를 통해 설정되는 첫 번째의 설정규칙검출엔진(122')이 작동되도록 선택된다. 이 첫 번째의 설정규칙검출엔진(122')이 IPv4 형식의 IP 헤더(Header) 값을 검출하는 검출엔진이다.
이와는 별도로 본 고정규칙검출부(121)의 32개 고정규칙검출엔진(121')에서는 각각의 고정규칙검출엔진(121')이 수행하도록 정해진 프로토콜 무결성 검출을 진행하게 된다.
본 실시예에서는 도 3에 도시한 바와 같이, 본 고정규칙검출엔진(121')의 한 종류로서 소스IP(source IP)와 목적IP(destination IP)의 무결성 검출을 위해 구성된 예를 중심으로 설명한다.
먼저 고정규칙검출부(121)의 고정규칙검출엔진(121') 중 어느 하나의 고정규칙검출엔진(121')에서 진행되는 과정을 살펴보면, 소스IP데이타생성단(121a)에서는 입력되는 다수의 정보들로부터 프로토콜 패킷 출발지의 소스IP(source IP)에 대한 데이터를 생성하고(P312), 목적IP데이타생성단(121b)에서는 입력되는 다수의 정보들로부터 프로토콜 패킷 도착지의 목적IP(destination IP)에 대한 데이터를 생성한다(P314).
이 후 규칙비교단(121c)에서는 단순히 같거나[=] 다르다[!=] 이외에도 >[크다], >=[크거나 같다], <[작다], <=[작거나 같다]와 같은 조건들을 어느 하나 이상 중복사용함으로써 보다 향상된 검출조건의 구성이 가능하며, 이는 상기 검출진행 입력설정단계를 통하여 설정되는 것으로 이렇게 이미 고정적으로 설정된 검출규칙에 따라 비교검출을 수행한다(P316).
이 후 프로토콜체크단(121d)에서는 고정규칙에 따른 프로토콜인지를 체크하기 위한 검출할 프로토콜 데이타를 저장하여 준비한다(P318).
본 프로토콜체크단(121d)의 프로토콜 데이타는 후단의 상태 버퍼(121e)로 출력되며, 이 상태 버퍼(121e)에서 설정조건에 해당하는 프로토콜인지를 체크(P320)하여 해당 프로토콜에 합당한 프로토콜 검출결과를 후단의 결과생성단(121f)으로 출력되도록 제어한다. 따라서 본 고정규칙검출엔진(121')에서는 IP프로토콜의 형식 인지를 체크하여 IP프로토콜인 경우에 프로토콜 검출결과를 출력하게 된다.
마지막으로 본 결과생성단(121f)은 전단의 버퍼(121e)에서 출력되는 정보에 따라 본 고정규칙검출엔진(121')에서 검출한 결과를 종합하여 후단의 결과반영모듈(130)로 출력시킨다(P322).
이외에도 본 고정규칙검출부(121)에는 전술한 바와 같이 다수의 고정규칙검출엔진(121')들이 있으며, TCP, IP, UDP 등 많은 프로토콜에 대한 고정상태의 무결성 검출을 자체적으로 설정고정된 각각의 설정규칙에 따라 동시다발적으로 수행하게 된다.
이러한 고정규칙검출부(121)의 고정규칙검출엔진(121')들의 검출진행과 동시에 설정규칙검출부(122)의 설정규칙검출엔진(122')에서도 설정된 내용에 따라 프로토콜 무결성에 대한 검출이 진행된다. 다만 본 설정규칙검출부(122)의 설정규칙검출엔진(122')들은 고정규칙검출부(121)의 고정규칙검출엔진(121')들과 달리 그 구조가 동일하며, 단지 설정된 설정규칙에 따라 해당되는 프로토콜에 대한 무결성 검출이 진행되는 차이를 나타낸다.
따라서 상기 검출진행 입력설정단계에서의 설정에 따라 설정규칙저장부(112)에는 IPv4 형식의 IP 헤더(Header) 값인 '0x4'가 저장되며, 본 설정규칙검출부(122)에서 정해진 한 설정규칙검출엔진(122')의 비교데이타저장단(122c)으로는 설정된 초기 비교 데이터인 IPv4 형식의 IP 헤더(Header) 값 '0x4'가 입력된다(P324).
아울러 비교데이타 생성방법도 결정되어 있으며, 앞선 설정에 따라 본 실시 예의 IPv4 형식 IP 헤더(Header) 무결성 검출에서는 두 번째 비교데이타 생성이 비교데이타저장단(122c)을 통해 생성하는 것으로 선택되며(P326), 이는 설정규칙저장부(112)의 설정조건을 받아 작동하는 멀티플렉서단(122d)의 선택에 의해 실행된다.
이 후 제1시퀸스체크단(122a)에서는 IP 헤더(Header) 검출이 필요하므로 설정된 IP 헤더 위치의 데이터가 존재하는 첫 번째 32비트가 지정된다(P328).
아울러 마스크데이타저장단(122e)에는 지정된 설정조건에 해당하는 위치의 비트, 본 실시예에서는 IPv4 형식 IP 헤더(Header)의 값 자체를 정의하기 위해 상위(MSB) 4개 비트 즉, BIT31~BIT28까지만 비교되도록 0x0fffffff가 설정된다(P330).
그리고 규칙비교단(122h)에는 앞서 설명한 바와 같이 상기 검출진행 입력설정단계를 통하여 설정되는 단순히 같거나[=] 다르다[!=] 이외에도 >[크다], >=[크거나 같다], <[작다], <=[작거나 같다]와 같은 조건들을 어느 하나 이상 중복사용하는 것 까지를 포함하는 비교검출형식이 설정된다(P332).
따라서 제1비교데이타생성단(122f)과 제2비교데이타생성단(122g)의 출력을 정해진 규칙에 따라 검출하여 출력값이 있게 되면, 입력되는 프로토콜패킷은 본 프로토콜 무결성 검출에 해당하는 것으로써, 서버 등을 공격하거나 불순한 목적을 가진 프로토콜이므로 통과시키지 못하도록 하거나 걸러내야 한다.
이 후 프로토콜체크단(122i)는 본 실시예에서 실시하는 IP프로토콜인지를 확인하기 위해 설정조건에 해당하는 프로토콜인지를 체크하기 위한 검출할 프로토콜을 저장하여 준비하고 있게 된다(P334).
이러한 프로토콜체크단(122i)의 프로토콜 정보는 후단의 상태 버퍼(122j)로 출력되며, 이 상태 버퍼(122j)에서 설정조건에 해당하는 IP프로토콜인지를 체크하여 해당프로토콜에 합당한 프로토콜 검출결과만을 후단의 결과생성단(122k)으로 출력되도록 제어한다(P336). 네트워크 프로토콜은 TCP, IP, UDP 등 다양하며 본 프로토콜 무결성 고속 검출장치(10)에서 무결성 검출한 프로토콜이 설정조건과 부합되어야 하며, 따라서 본 실시예에서는 IP 프로토콜인지 여부를 파악하게 되는 것이다.
마지막으로 결과생성단(122k)은 전단 상태버퍼(122j)에서 출력되는 정보에 따라 본 설정규칙검출엔진(122')에서 검출한 결과를 자체 저장하여 후단의 결과반영모듈(130)로 출력시킨다. 즉 검출한 결과가 IP프로토콜에 대한 것인 경우 출력되며(P338), 다른 프로토콜인 경우는 출력되지 않게 된다.
이렇게 프로토콜무결성 검출단계가 완료된 후에는, 상기 프로토콜 무결성 검출단계를 통한 검출결과를 최초 입력 설정된 설정규칙에 적합한지 확인하고 최종 검출결과를 완성하여 출력하는 반영결정 결과출력단계가 수행된다. 이 반영결정 결과출력단계는 결과반영모듈(130)을 중심으로 진행된다.
즉 결과반영모듈(130)의 반영설정확인부(131)는 앞선 비교 검출과정이 정확하게 수행되었는지를 확인하기 위하여 상기 조건생성모듈(110)로부터 전송받은 검출해야 할 프로토콜 패킷의 무결성검출을 위한 설정조건을 저장하고 있으며, 후단의 규칙검출확인부(132)로 출력한다. 이에 따라 규칙검출확인부(132)는 비교검출모듈(120)의 다수의 검출엔진 각각으로부터 비교검출결과를 입력받고, 반영설정확인 부(131)로부터 전달받은 설정조건에 따라 확인하여 그 정확하게 프로토콜 무결성 검출이 수행되었는지를 확인한다(P340).
그리고 검출결과출력부(133)는 규칙검출확인부(132)로부터의 무결성 검출 확인결과에 따라 무결성 검출 결과 반영여부를 최종 결정한다. 이러한 결정과정에서는 상기한 과정들을 통하여 하나 이상의 무결성위반 검출시 우선순위에 따라 검출결과를 생성하게 된다. 따라서 이 후 상기 우선순위를 반영하고 설정된 프로토콜에 대한 최종 무결성 검출결과를 생성하여 출력(P342)함으로써, 본 실시예에 따른 프로토콜 무결성 검출을 완료하게 된다.
이상과 같이 본 발명 일실시예에 따른 프로토콜 무결성 고속 검출 장치 및 검출 방법을 통해서는 정해진 규칙에 의하지 않는 프로토콜을 체크하는 것이 가능하게 된다.
아울러 본 실시예을 통한 설명에서는 설정규칙에서는 IPv4 형식 IP 헤더(Header)의 값에 대한 부분을, 고정규칙에서는 소스IP(source IP)와 목적IP(destination IP)의 무결성 검출의 예를 살펴보았으나, 이는 다수의 고정규칙검출엔진(121')과 설정규칙검출엔진(122')를 하나씩을 사용하는 경우를 나타낸 것으로, 본 프로토콜 무결성 고속 검출 장치(10)에 포함될 수 있는 다수의 고정규칙검출엔진(121')과 설정규칙검출엔진(122')를 가동하는 경우 완벽에 가까운 프로토콜 무결성 검출이, 그것도 고속으로 가능하게 된다.
아울러 한 예로 프로토콜체크단(122i)은 설정규칙검출엔진(122')의 후단이 아니라 전단으로 옮겨 구성함으로써, 입력되는 프로토콜 패킷이 무결성 검출이 필 요한 프로토콜 패킷인지를 먼저 수행한 후, 해당되는 프로토콜 패킷에 대해 무결성 검출을 진행하는 등 다양하게 구성하고 진행하는 것이 가능하며, 이러한 다양하게 변화된 응용실시는 본 발명의 기술범위에 포함된다고 할 것이다.
상기한 바와 같이 본 발명은, 외부로부터의 의도된 공격이나 해킹, 적합하지 않는 프로토콜 패킷(protocol packet) 변조 공격 등에 의한 오동작 등을 방지하기 위해, 프로토콜 패킷 데이터의 변조나 가공이 예상되는 다양한 형태에 따른 비교검출을 수행함으로써 외부로부터의 공격을 효과적으로 방어할 수 있는 원리를 제공한다.
또한 기존에 알려진 프로토콜 헤더에 대한 결함을 미리 검출하여 서버나 클라이언트의 프로토콜 규약을 정상적인 것에서 변조하거나, 혹은 시스템 약점을 이용한 공격 등 다양한 프로토콜 패킷 형태의 공격을 검출하고 차단함으로써, 관련 산업계에서의 큰 문제를 해결함으로써 산업상으로 많은 이용가능성을 내포하고 있다.
아울러 고속의 데이터를 데이터 손실이나 트래픽 지연없이 검출하여 정확한 공격을 탐지하게 하고, 또한 간단한 설정변경 만으로 프로토콜 무결성 검출 규칙을 설정하는 것을 가능하게 하여, 사용자로 하여금 다양한 환경에서 환경에 맞는 설정을 하게 하여 사용의 편리함과 탐지의 최적성을 살릴 수 있어, 사용자들로부터 좋은 평가를 받을 것으로 기대된다.

Claims (13)

  1. 공지의 입력설정수단을 통해 검출설정을 입력받아 프로토콜 패킷의 상태를 검출하는 검출 장치에 있어서,
    상기 검출 장치를 통해 검출하고자 하는 프로토콜 패킷의 검출 조건을 설정하기 위한 설정데이타를 입력받으며, 상기 프로토콜 데이터의 상태 검출이 용이하도록, 입력되는 상기 프로토콜 데이터를 파싱하고 필요한 위치에 포인트를 생성하는 조건생성모듈과;
    상기 조건생성모듈로부터 전달받은 상기 설정데이타에 따라 상기 파싱된 프로토콜 데이터를 비교함으로써 상기 설정데이타의 내용에 적합한 데이터가 존재하는 지를 검출하는 비교검출모듈과;
    상기 비교검출모듈의 검출결과를 상기 설정데이타의 내용에 따라 확인하여 상기 프로토콜 데이터의 무결성여부를 판단하는 결과반영모듈을;
    포함하되,
    상기 비교검출모듈은,
    상기 조건생성모듈로부터 전송받은 검출해야 할 프로토콜 패킷의 무결성검출을 위한 설정조건에 따라 설정세팅을 수행하여, 상기 입력받은 프로토콜 패킷과 상기 프로토콜 패킷의 파싱결과로부터 상기 프로토콜 패킷의 무결성 검출을 수행하는 적어도 하나 이상의 설정규칙검출엔진을 구비한 설정규칙검출부를 포함하며,
    상기 설정규칙검출엔진은,
    상기 무결성 검출을 위한 프로토콜 패킷과, 상기 조건생성모듈로부터 파싱된 패킷 및 생성된 헤더포인트 정보를 입력받고, 상기 설정규칙저장부로부터 설정규칙에 대한 정보를 입력받아 시퀸스 진행을 위해 포인트로부터 데이터를 추출하여 출력하는 제1 및 제2 시퀸스체크단과;
    상기 설정규칙저장부로부터 기설정된 설정조건을 입력받아 저장하고 있는 비교데이타저장단과;
    상기 제2시퀸스체크단 및 상기 비교데이타저장단으로부터 입력받은 데이터를 상기 설정규칙저장부로부터 출력된 설정조건에 따라 선택적으로 출력하는 멀티플렉서단과;
    상기 설정규칙저장부로부터 입력받은 설정조건에 따라 마스킹하기 위한 마스크데이타를 생성하여 저장하고 있는 마스크데이타저장단과;
    상기 제1시퀸스체크단의 출력과 상기 설정규칙저장부로부터의 설정조건을 입력받아 비교하여 제1비교데이타를 생성하는 제1비교데이타생성단과;
    상기 마스크데이타저장단로부터의 마스크데이타와 상기 멀티플렉서단에서 선택한 데이터를 입력받아 비교하여 제2비교데이타를 생성하는 제2비교데이타생성단과;
    상기 제1 및 제2비교데이타생성단으로부터 입력받은 출력을 상기 설정규칙저장부로부터 입력받은 설정조건에 따라 비교하여 출력하는 규칙비교단과;
    상기 설정규칙저장부로부터 설정조건을 입력받아 검출해야 할 프로토콜의 종류를 체크하기 위한 체크데이타를 생성하는 프로토콜체크단과;
    상기 프로토콜체크단으로부터 입력받은 체크데이타에 적합한 지를 체크하여 상기 규칙비교단으로부터의 입력을 출력시키는 버퍼단과;
    상기 버퍼단으로부터의 출력을 입력받아 해당 검출엔진에서 비교검출한 결과를 생성하여 출력하는 결과생성단을;
    포함하는 것을 특징으로 하는 프로토콜 무결성 고속 검출장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서, 상기 비교검출모듈은
    고정적으로 설정된 상기 프로토콜 패킷의 무결성검출 설정상태에 따라 상기 입력받은 프로토콜 패킷의 파싱결과로부터 상기 프로토콜 패킷의 무결성 검출을 수행하는 적어도 하나 이상의 고정규칙검출엔진을 구비한 고정규칙검출부를 포함하는 것을 특징으로 하는 프로토콜 무결성 고속 검출장치.
  6. 제5항에 있어서, 상기 고정규칙검출엔진은
    상기 검출하고자 하는 프로토콜 상태에 대해 일반적으로 빈도가 높은 무결성 검출조건을 하드웨어적 회로로 고정화시켜 구현한 것을 특징으로 하는 프로토콜 무결성 고속 검출장치.
  7. 제1항에 있어서, 상기 결과반영모듈은
    상기 조건생성모듈로부터 전송받은 검출해야 할 프로토콜 패킷의 무결성검출을 위한 설정조건을, 상기 검출과정이 수행되었는지를 확인하기 위해 저장하고 있는 반영설정확인부와;
    상기 비교검출모듈로부터 검출된 결과를 입력받아 상기 반영설정확인부로부터의 설정조건에 따라 무결성 검출이 수행되었는지를 확인하는 규칙검출확인부와;
    상기 규칙검출확인부로부터의 무결성 검출 확인결과에 따라 무결성 검출 결과 반영여부를 결정하고 상기 무결성 검출에 따른 최종결과를 생성하여 출력하는 검출결과출력부를;
    포함하는 것을 특징으로 하는 프로토콜 무결성 고속 검출장치.
  8. 프로토콜 패킷의 무결성 상태를 검출하는 방법에 있어서,
    상기 무결성 검출을 위한 프로토콜 패킷의 검출설정 정보를 입력받으며, 입력된 상기 무결성 검출설정 정보에 따라 검출진행과정을 설정하는 검출진행 입력설정단계와;
    상기 프로토콜의 무결성 검출을 위해 입력되는 프로토콜 패킷에 대한 파싱과, 파싱된 패킷의 데이터구분을 위한 포인트를 생성하는 패킷파싱 구분단계와;
    상기 파싱된 프로토콜 패킷과 상기 생성한 포인트 정보로부터, 상기 입력된 설정규칙에 의해 상기 입력되는 프로토콜 패킷을 비교검출하거나 상기 검출하고자 하는 프로토콜 상태에 대해 일반적으로 빈도가 높은 무결성 검출조건의 고정화된 처리에 의해 비교검출하는 프로토콜 무결성 검출단계와;
    상기 프로토콜 무결성 검출단계를 통한 검출결과를 최초 입력 설정된 설정규칙에 적합한지 확인하고 최종 검출결과를 완성하여 출력하는 반영결정 결과출력단계를;
    포함하는 것을 특징으로 하는 프로토콜 무결성 고속 검출 방법.
  9. 삭제
  10. 제8항에 있어서, 상기 프로토콜 무결성 검출단계는
    상기 검출하고자 하는 프로토콜 패킷의 헤더 중 비교하고자 하는 데이터를 추출하기 위해, 상기 비교하고자 하는 데이터 이외의 부분을 마스킹하기 위한 마스크데이타를 생성하여, 상기 비교하고자 하는 데이터와 논리연산하는 마스크데이타 연산과정을 더 포함하는 프로토콜 무결성 고속 검출 방법.
  11. 제8항에 있어서, 상기 프로토콜 무결성 검출단계는
    상기 검출진행 입력설정단계의 입력을 통해 입력된 상기 검출설정 정보와, 상기 입력되는 프로토콜 패킷의 정보 중에서 선택되도록 설정된 데이터를 서로 비교처리하는 것을 특징으로 하는 프로토콜 무결성 고속 검출 방법.
  12. 제8항에 있어서,
    상기 검출진행 입력설정단계는 같다[=], 같지않다[!=], >[크다], <[작다]의 어느 한 조건이상을 개별 및 중복 사용토록 검출조건의 설정이 가능하며,
    상기 프로토콜 무결성 검출단계는 상기 검출진행 입력설정단계를 통해 설정된 검출조건에 따라 비교검출을 수행하는 것을 특징으로 하는 프로토콜 무결성 고속 검출 방법.
  13. 제8항에 있어서, 상기 반영결정 결과출력단계는
    상기 프로토콜 무결성 검출단계를 통하여 하나 이상의 무결성위반 검출시 우선순위에 따라 검출결과를 생성하여 출력하는 것을 특징으로 하는 프로토콜 무결성 고속 검출 방법.
KR1020070046961A 2007-05-15 2007-05-15 프로토콜 무결성 고속 검출 장치 및 검출 방법 KR100862903B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070046961A KR100862903B1 (ko) 2007-05-15 2007-05-15 프로토콜 무결성 고속 검출 장치 및 검출 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070046961A KR100862903B1 (ko) 2007-05-15 2007-05-15 프로토콜 무결성 고속 검출 장치 및 검출 방법

Publications (1)

Publication Number Publication Date
KR100862903B1 true KR100862903B1 (ko) 2008-10-13

Family

ID=40153174

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070046961A KR100862903B1 (ko) 2007-05-15 2007-05-15 프로토콜 무결성 고속 검출 장치 및 검출 방법

Country Status (1)

Country Link
KR (1) KR100862903B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107733736A (zh) * 2017-09-23 2018-02-23 中国人民解放军信息工程大学 一种低功耗的高速网络报文检测方法及装置
CN114285652A (zh) * 2021-12-27 2022-04-05 湖北天融信网络安全技术有限公司 工业协议检测方法、装置及计算机设备、存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040073811A1 (en) 2002-10-15 2004-04-15 Aleksey Sanin Web service security filter
KR20050062368A (ko) * 2003-12-19 2005-06-23 마이크로소프트 코포레이션 방화벽 서비스 관리를 위한 객체 모델
KR20050066986A (ko) * 2003-12-26 2005-06-30 한국전자통신연구원 순차룩업에 의한 패킷헤더 룩업장치 및 방법
KR20060005719A (ko) * 2004-07-14 2006-01-18 엘지엔시스(주) 패킷 헤더 분석을 통해 이상 트래픽을 탐지 및 차단하는장치 및 방법
KR20070023408A (ko) * 2005-08-24 2007-02-28 한국전자통신연구원 고속 패킷 필터링 방법 및 장치, 그리고 이를 지원하는네트워크 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040073811A1 (en) 2002-10-15 2004-04-15 Aleksey Sanin Web service security filter
KR20050062368A (ko) * 2003-12-19 2005-06-23 마이크로소프트 코포레이션 방화벽 서비스 관리를 위한 객체 모델
KR20050066986A (ko) * 2003-12-26 2005-06-30 한국전자통신연구원 순차룩업에 의한 패킷헤더 룩업장치 및 방법
KR20060005719A (ko) * 2004-07-14 2006-01-18 엘지엔시스(주) 패킷 헤더 분석을 통해 이상 트래픽을 탐지 및 차단하는장치 및 방법
KR20070023408A (ko) * 2005-08-24 2007-02-28 한국전자통신연구원 고속 패킷 필터링 방법 및 장치, 그리고 이를 지원하는네트워크 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107733736A (zh) * 2017-09-23 2018-02-23 中国人民解放军信息工程大学 一种低功耗的高速网络报文检测方法及装置
CN114285652A (zh) * 2021-12-27 2022-04-05 湖北天融信网络安全技术有限公司 工业协议检测方法、装置及计算机设备、存储介质

Similar Documents

Publication Publication Date Title
US8220048B2 (en) Network intrusion detector with combined protocol analyses, normalization and matching
US10404724B2 (en) Detecting network traffic content
US8015605B2 (en) Scalable monitor of malicious network traffic
US9264378B2 (en) Network monitoring by using packet header analysis
US8621624B2 (en) Apparatus and method for preventing anomaly of application program
US6880087B1 (en) Binary state machine system and method for REGEX processing of a data stream in an intrusion detection system
US8365287B2 (en) Anti-malware system and operating method thereof
EP3174264A1 (en) Apparatus and method for automatically generating detection rule
US20050259678A1 (en) Network interface controller circuitry
US8336098B2 (en) Method and apparatus for classifying harmful packet
US20140052748A1 (en) Match engine for detection of multi-pattern rules
US20060242702A1 (en) Method for fast decryption of processor instructions in an encrypted instruction power architecture
US20230362182A1 (en) Abnormality sensing device and abnormality sensing method
WO2011134739A1 (en) Method for searching for message sequences, protocol analysis engine and protocol analyzer
KR101434388B1 (ko) 네트워크 보안 장비의 패턴 매칭 시스템 및 그 패턴 매칭 방법
US9392011B2 (en) Web vulnerability repair apparatus, web server, web vulnerability repair method, and program
US20170099322A1 (en) Method and system for modifying messages based on user-defined communication model
WO2004012418A1 (en) Method and apparatus for inspecting inter-layer address binding protocols
US10296746B2 (en) Information processing device, filtering system, and filtering method
KR100862903B1 (ko) 프로토콜 무결성 고속 검출 장치 및 검출 방법
CN108270783A (zh) 一种数据处理方法及装置
CN112003813A (zh) 一种工业控制系统威胁态势感知方法
KR101472522B1 (ko) 시그니처 탐지 방법 및 장치
CN112565259A (zh) 过滤dns隧道木马通信数据的方法及装置
US10810098B2 (en) Probabilistic processor monitoring

Legal Events

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

Payment date: 20121008

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141029

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151123

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170928

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181008

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20191007

Year of fee payment: 12