상기한 목적을 달성하기 위한 본 발명은, 이벤트 로그가 발생하는 이기종 정보보호설비(1); 상기 이기종 정보보호설비(1)에서 발생한 이벤트 로그를 다양한 형 식의 로그 전송 프로토콜을 통하여 수집하는 이벤트 로그 수집부(2); 상기 이벤트 로그 수집부(2)에서 수집한 이벤트로그를 정규화한 후에 표준화된 이벤트로 변환하여 DB에 저장하는 정규화 이벤트 DB(3); 사용자가 입력한 상관 분석 규칙을 RDL과 ADL로 나뉘어 해석하고 해석된 규칙을 상관 분석 처리부(5)에 전달하는 상관분석 언어 해석부(4); 상기 상관분석 언어 해석부(4)로부터 해석된 규칙을 전달받아 상기 정규화 이벤트 DB(3)에 저장된 이벤트의 주요 값들을 참조하여 분석 및 통계를 수행하는 상관분석 처리부(5); 및 상기 상관분석 처리부(5)에서 분석된 결과를 사용자에게 알리는 결과 보고부(6)로 이루어진 것을 특징으로 한다.
또한, 본 발명의 동작은 사용자에 의해 상관분석 규칙 스크립트가 입력되는 제 1 단계; 상기 제 1 단계 후 이벤트 상관 분석 처리를 위한 RDL과 분석결과를 처리하기 위한 규칙인 Action 규칙처리를 위한 ADL로 구성된 상관분석 규칙 스크립트를 읽어서 문장 분석하는 제 2 단계; 상기 제 2 단계 후 Syntax Grammer와 Syntax Diagram을 참조하여 해당 상관분석 규칙 스크립트를 해석하는 제 3 단계; 상기 제 3 단계 후 사용자가 입력한 상관분석 규칙 스크립트에 오류가 있는지 없는지 판별하는 제 4 단계; 상기 제 4 단계 후 사용자가 입력한 상관분석 규칙 스크립트에 오류가 있다면 이를 보고하는 제 5 단계; 상기 제 4 단계 후 사용자가 입력한 상관분석 규칙 스크립트에 오류가 없다면 RDL과 ADL로 구분하는 제 6 단계; 상기 제 6 단계 후 RDL로 구분된 상관분석 규칙 스크립트를 이벤트 상관분석 처리하는 제 7 단계(ST7); 상기 제 7 단계 후 상관분석 처리한 결과가 다음 규칙의 새로운 조건인지 판별하여 새로운 조건이 아닐 경우 그 결과와 상기 제 6 단계 후 ADL로 구분된 상 관분석 규칙 스크립트를 Action 규칙 처리한 후 그 결과를 사용자에게 알려주고 다시 문장분석을 위해 상기 제 2 단계로 재전송하는 제 8 단계; 상기 제 7 단계 후 상관분석 처리한 결과가 상기 제 8 단계에서 다음 규칙의 새로운 조건으로 판별될 경우, 새로운 Context를 생성하여 다음 규칙에서 이를 조건으로 새로운 규칙을 적용할 수 있도록 하는, 즉, 하나의 RDL을 처리한 결과가 다음 규칙의 RDL에서 새로운 조건(Context)으로 처리될 수 있도록 하는 제 9 단계; 및 상기 8 단계 후 사용자에게 휴대전화 단문메시지, GUI Popup 및 E-mail을 통하여 보고하는 제 10 단계를 포함하여 수행하는 것을 특징으로 한다.
이하 본 발명의 실시예를 첨부된 도면에 의하여 상세히 설명하면 다음과 같다.
도 1은 본 발명의 일 실시예에 의한 문맥 언어 기반의 보안이벤트 상관분석 장치의 개념도이다.
도시된 바와 같이, 이기종 정보보호설비(1)에서 발생한 이벤트 로그를 이벤트 로그 수집부(2)는 다양한 형식의 로그 전송 프로토콜을 통하여 수집하고, 이를 IDMEF 국제 표준에 기반하여 정규화(Normalization)한 후에 표준화된 이벤트로 변환하여 DB(3)에 저장한다. 이때 DB의 데이터 저장 형식은 하드디스크에 저장될 수도 있으며, 때에 따라 고속처리를 위한 메모리 DB 형식을 존재 할 수 있다.
또한, 상관분석 언어 해석부(4)는 사용자가 입력한 상관분석규칙을 RDL과 ADL로 나뉘어 해석하고 해석된 규칙은 상관분석 처리부(5)에 전달한다. 규칙을 전달 받은 상관분석 처리부는 정규화이벤트 DB에서 저장된 이벤트의 주요 값들을 참 조하여 분석 및 통계처리를 수행하며, 결과 보고부(6)에서 분석된 결과를 사용자 환경에서의 휴대전화 단문메시지, GUI Popup 및 E-mail을 통하여 사용자에게 전달하도록 구성된다.
특히, 상관분석 규칙 스크립트을 통하여 정규화 이벤트를 불러들여 분석을 수행하고, 분석을 통하여 사용자에게 알리는 모든 과정이 상관분석 규칙 스크립트를 통하여 가능한 것을 가장 큰 특징으로 한다.
도 2는 도 1의 동작을 나타내는 스크립트 처리를 나타낸 흐름도이다.
이에 도시된 바와 같이, 사용자에 의해 상관분석 규칙 스크립트가 입력되는 제 1 단계(ST1); 상기 제 1 단계(ST1) 후 이벤트 상관 분석 처리를 위한 RDL과 분석결과를 처리하기 위한 규칙인 Action 규칙처리를 위한 ADL로 구성된 상관분석 규칙 스크립트를 읽어서 문장 분석하는 제 2 단계(ST2); 상기 제 2 단계(ST2) 후 Syntax Grammer와 Syntax Diagram을 참조하여 해당 상관분석 규칙 스크립트를 해석하는 제 3 단계(ST3); 상기 제 3 단계(ST3) 후 사용자가 입력한 상관분석 규칙 스크립트에 오류가 있는지 없는지 판별하는 제 4 단계(ST4); 상기 제 4 단계(ST4) 후 사용자가 입력한 상관분석 규칙 스크립트에 오류가 있다면 이를 보고하는 제 5 단계(ST5); 상기 제 4 단계(ST4) 후 사용자가 입력한 상관분석 규칙 스크립트에 오류가 없다면 RDL과 ADL로 구분하는 제 6 단계(ST6); 상기 제 6 단계(ST6) 후 RDL로 구분된 상관분석 규칙 스크립트를 이벤트 상관분석 처리하는 제 7 단계(ST7); 상기 제 7 단계(ST7) 후 상관분석 처리한 결과가 다음 규칙의 새로운 조건인지 판별하여 새로운 조건이 아닐 경우 그 결과와 상기 제 6 단계(ST6) 후 ADL로 구분된 상관분 석 규칙 스크립트를 Action 규칙 처리한 후 그 결과를 사용자에게 알려주고 다시 문장분석을 위해 상기 제 2 단계(ST2)로 재전송하는 제 8 단계(ST8); 상기 제 7 단계(ST7) 후 상관분석 처리한 결과가 상기 제 8 단계에서 다음 규칙의 새로운 조건으로 판별될 경우, 새로운 문맥을 생성하여 다음 규칙에서 이를 조건으로 새로운 규칙을 적용할 수 있도록 하는, 즉, 하나의 RDL을 처리한 결과가 다음 규칙의 RDL에서 새로운 조건(Context)으로 처리될 수 있도록 하는 제 9 단계(ST9); 및 상기 8 단계(ST8) 후 사용자에게 휴대전화 단문메시지, GUI Popup 및 E-mail을 통하여 보고하는 제 10 단계(ST10)를 포함하여 수행한다.
도 3은 본 발명의 일실시예에 의한 RDL의 구성도이며, 도 4는 본 발명의 일실시예에 의한 ADL의 구성도이다.
도 3은 RDL의 Syntax Diagram으로 이벤트 또는 이벤트간의 이벤트 상관분석을 위한 규칙을 정의한 상관분석 규칙 스크립트의 언어 형식에 대한 자세한 내용을 담고 있다. 상관분석 언어를 통하여, 규칙을 생성하거나, 생성된 규칙을 갱신할 수 있으며, 생성된 규칙에 대한 규칙의 명칭 및 생성된 상관분석규칙이 속하는 대분류의 클래스(Class)를 지정하고, 정규화된 이벤트를 정규화이벤트 DB로부터 참조하여 보안이벤트의 시간, 디바이스 ID, 네트워크 ID, 이벤트, 방화벽 규칙 ID, 침입탐지/침입차단 시스템의 Signature ID 등과 같이 후술하는 [표 2]에 기재된 정규화이벤트 파라미터 정보를 일반적인 AND, OR, 괄호, 비교연산자(== , != , < , > , =< , =>)를 통한 조합으로 문맥/조건(Context)을 생성하고, 또, 기 정의된 상관분석규칙에 의해 생성된 문맥/조건(Context)을 참조하여 다수개의 문맥/조건을 그룹으로 하여 새로운 문맥/조건을 생성할 수 있음을 나타낸다. 이때, 문맥/조건(Context)을 만족하는 이벤트의 주요 출발지 IP 및 목적지 IP는 도 4의 ADL의 경고 메시지(Alert-Message)에서 사용될 수 있으며, 이는 문제의 IP를 사용자에게 알려 줄 수 있는 기능을 가능하게 한다.
상관분석 규칙 스크립트에 의해 생성된 문맥/조건을 만족하는 이벤트의 조합이 발생할 경우, 특정시간 동안에 사용자가 지정한 시간에서 그 발생횟수가 사용자가 지정한 횟수를 넘어설 경우 상관분석결과를 출력하고, 또, 특정시간 동안 상관분석결과가 사용자가 지정한 시간 내에 중복 발생할 경우 중복경고를 억제할 수 있다.
도4는 ADL의 Syntax Diagram으로 RDL에 기반한 이벤트상관분석의 결과를 처리하는 언어 형식에 대한 자세한 내용을 담고 있다. RDL에 의해 출력된 상관분석의 결과에 따라 첫 번째로, 새로운 문맥/조건(Context)를 생성할 수 있으며, 이때 생성된 문맥명칭(Context Name)은 RDL에 의해 재사용이 가능하다. 두 번째로, RDL에 의해 출력된 상관분석의 결과를 사용자에 알림에 있어서, 그 결과의 중요도를 지정할 수 있다. 또한, 사용자에 RDL의 결과를 알림에 있어서, 관리자를 지정할 수 있으며, 결과를 알려 주는 수단으로 휴대전화 단문메시지, GUI Popup 및 E-mail을 통한 전달 방법을 언어로 정의할 수 있다.
따라서, 상기의 상관분석 언어를 활용하여, 정보 보호설비로부터 하기에 [표 2]나타낸 정규화 이벤트 파라미터를 바탕으로 이벤트 간, 정보 보호설비 간, 네트워크 간 이벤트의 상관분석이 가능하다.
[ 표 2 ]
상기의 정보 보호설비의 정규화된 이벤트 정보로부터 간단하게는 하기와 같은 단일 이벤트를 기반으로 상관분석규칙을 지정하고 그 결과를 확인 할 수 있다.
상관분석의 첫 번째 예로, 하기의 [표 3]은 방화벽의 단일 이벤트로부터 이벤트 상관분석을 통하여, 그 결과를 사용자에게 알려주는 상관분석 규칙 스크립트이다.
[ 표 3 ]
출발지IP=any, 출발지포트=1356, 목적지IP=any, 목적지포트=2101, action=any |
출발지 포트가 1356이고, 목적지 포트가 2101을 사용하는 공격을 'Buffer Overflow 공격시도'라고 할 때, 해당 분석의 결과에 대한 중요도와 위의 방화벽 정보로부터 공격을 시도한 출발지 IP 및 목적지 IP를 사용자에게 휴대전화 단문메시지, GUI Popup 및 E-mail을 통하여 동시에 알려주기 위한 상관분석 규칙 스크립트의 표현은 하기의 [표 4]와 같다.
[ 표 4 ]
또한, 상관분석의 두 번째 예로, 위의 첫 번째 예에서 이벤트분석을 통한 문맥/조건(Context)가 발생한 경우에 한하여, 아래의 보안 이벤트가 발생할 경우, 그 결과를 사용자에게 알려주는 것으로, 상관분석 언어가 문맥/조건(Context)을 활용할 수 있음으로 하여, 그 규칙적용의 유연성을 확인 할 수 있다.
[ 표 5 ]
출발지IP=any, 출발지포트=1356, 목적지IP=any, 목적지포트=2101, action=any 출발지IP=any, 출발지포트=20, 목적지IP=any, 목적지포트=34568 |
상기의 [표 5]와 같이 첫 번째 예의 이벤트가 발생하고, 이를 발생시킨 출발지 IP 및 목적지 IP를 가지고, 출발지 포트 20, 목적지 포트 34568을 가진 이벤트가 발생하였을 경우에 한하여 경고메시지로 사용자에게 알려주기 위한 상관분석 언어의 표현은 하기의 [표 6]과 같다.
[ 표 6 ]
즉, 이 상관분석 규칙 스크립트의 가장 큰 특징 중 하나인, 문맥/조건(Context) 기반의 유연한 규칙표현이 가능함을 확인 할 수 있다.
또한, 상위의 상관분석언어를 통한 상관분석 기능을 활용함에 있어서, 사용자가 보안이벤트를 추적함에 있어서 상관분석 규칙 스크립트가 제공하는 다양한 조건을 바탕으로 관련된 보안 이벤트를 검색 및 추적 할 수 있는 기능을 제공할 수 있다.