방화벽은 대표적인 네트워크 보안 장비로서 대부분의 네트워크 내/외부에 설치되어 패킷의 입/출입을 통제하는 시스템이다. 때문에 이에 저장된 로그 데이터를 분석하는 것은 네트워크 보안연구에 중요한 기초 자료를 제공해 줄 수 있다. 그런데 최근 기술의 발달로 인터넷망의 속도가 향상되고, 네트워크가 대형화 되면서 방화벽에서 저장하는 로그데이터들의 양도 대용량화 또는 빅데이터화 되어 가고 있다. 이러한 추세 속에서, 기존의 전통적인 RDBMS방식으로 로그데이터를 분석하는 데는 한계가 있다. 본 논문은 NoSQL 기반의 MapReduce 설계를 이용한 방화벽 로그 분석기법을 통해 NoSQL방식을 도입하는 것이 대용량 로그 데이터를 더욱 효율적으로 분석할 수 있다는 점을 발견했다. 우리는 기존의 RDBMS방식과의 데이터 처리 성능을 비교하여 NoSQL방식 데이터베이스의 우수한 성능을 입증하였고, 이를 바탕으로 제안하는 설계 기법을 평가하기 위해 3가지 공격 패턴을 선정하고 이를 집계 하여 분석을 수행하는 실험을 통해 제안하는 분석 기법의 성능 및 정확성을 입증하였다.
방화벽은 대표적인 네트워크 보안 장비로서 대부분의 네트워크 내/외부에 설치되어 패킷의 입/출입을 통제하는 시스템이다. 때문에 이에 저장된 로그 데이터를 분석하는 것은 네트워크 보안연구에 중요한 기초 자료를 제공해 줄 수 있다. 그런데 최근 기술의 발달로 인터넷망의 속도가 향상되고, 네트워크가 대형화 되면서 방화벽에서 저장하는 로그데이터들의 양도 대용량화 또는 빅데이터화 되어 가고 있다. 이러한 추세 속에서, 기존의 전통적인 RDBMS방식으로 로그데이터를 분석하는 데는 한계가 있다. 본 논문은 NoSQL 기반의 MapReduce 설계를 이용한 방화벽 로그 분석기법을 통해 NoSQL방식을 도입하는 것이 대용량 로그 데이터를 더욱 효율적으로 분석할 수 있다는 점을 발견했다. 우리는 기존의 RDBMS방식과의 데이터 처리 성능을 비교하여 NoSQL방식 데이터베이스의 우수한 성능을 입증하였고, 이를 바탕으로 제안하는 설계 기법을 평가하기 위해 3가지 공격 패턴을 선정하고 이를 집계 하여 분석을 수행하는 실험을 통해 제안하는 분석 기법의 성능 및 정확성을 입증하였다.
As the firewall is a typical network security equipment, it is usually installed at most of internal/external networks and makes many packet data in/out. So analyzing the its logs stored in it can provide important and fundamental data on the network security research. However, along with developmen...
As the firewall is a typical network security equipment, it is usually installed at most of internal/external networks and makes many packet data in/out. So analyzing the its logs stored in it can provide important and fundamental data on the network security research. However, along with development of communications technology, the speed of internet network is improved and then the amount of log data is becoming 'Massive Data' or 'BigData'. In this trend, there are limits to analyze log data using the traditional database model RDBMS. In this paper, through our Method of Analyzing Firewall log data using MapReduce based on NoSQL, we have discovered that the introducing NoSQL data base model can more effectively analyze the massive log data than the traditional one. We have demonstrated execellent performance of the NoSQL by comparing the performance of data processing with existing RDBMS. Also the proposed method is evaluated by experiments that detect the three attack patterns and shown that it is highly effective.
As the firewall is a typical network security equipment, it is usually installed at most of internal/external networks and makes many packet data in/out. So analyzing the its logs stored in it can provide important and fundamental data on the network security research. However, along with development of communications technology, the speed of internet network is improved and then the amount of log data is becoming 'Massive Data' or 'BigData'. In this trend, there are limits to analyze log data using the traditional database model RDBMS. In this paper, through our Method of Analyzing Firewall log data using MapReduce based on NoSQL, we have discovered that the introducing NoSQL data base model can more effectively analyze the massive log data than the traditional one. We have demonstrated execellent performance of the NoSQL by comparing the performance of data processing with existing RDBMS. Also the proposed method is evaluated by experiments that detect the three attack patterns and shown that it is highly effective.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 2.2절에서 언급한 RDBMS 성능의 한계점을 보완하고 보다 효율적인 로그 분석을 구현하고자 NoSQL 방식에 기반한 로그 분석 방안을 제시한다. NoSQL은 기존 RDBMS의 비용이 높고 확장성이 떨어지는 문제점을 해결하기 위해 주목받기 시작한 기술 이다[14].
네트워크 기술의 발달로 방화벽을 지나는 패킷 데이터의 양은 엄청난 속도로 증가하고 있다. 본 논문에서는 기존의 전통적인 데이터베이스 모델인 RDBMS의 한계를 지적하면서 최근 이슈가 되고 있는 빅데이터와 함께 이를 처리하는데 유리한 NoSQL방식의 데이터베이스를 이용하여 대용량 로그를 보다 효율적으로 분석하는 기법을 제안 하였다. 앞의 실험을 통해 알 수 있었듯이 다량의 방화벽 로그 분석을 위해서 비관계 지향적인 데이터 모델링 방식인 NoSQL, 특히 그중에서도 사용이 용이하고 확장성이 좋은 MongoDB의 적용은 대용량 로그 데이터 분석에 긍정적인 가능성을 보였다.
이와 같은 초기 MapReduce 설계의 로그 분석 기법들은 로그 분석 단계에 있어서 그 범위가 Log Parsing 단계에 한정되어 있어, 단순 MapReduce를 이용하여 다양한 보안 로그들을 분류하고 정제하였을 뿐, 실질적으로 로그를 분석하는 과정을 MapReduce로 처리하여 구현하지는 가 적용되지는 못하였다. 이에 본 논문에서는 기존에 이루어져 있던 연구의 범위를 확장하여 분석단계에 있어서 MapReduce 설계 기법을 적용한 방법을 제시한다.
이에 본 논문에서는 이러한 취약점을 보완하고, 기존 연구의 범위를 확장하여 대용량화 되어가고 있는 이기종 방화벽 로그 데이터의 분석에 대하여 수집 공간의 제약이 없고 새로운 공격유형 등장에도 이를 유연하고 빠르게 추가 적용 하여 분석할 수 있는 방화벽 로그 분석 기법을 제안하고 있다. 즉, 기존RDBMS 방식의 속도 및 성능 저하 현상을 NoSQL 기반에 분산/병렬 처리에 최적화 되어 있는 MapReduce 프로그래밍 기법을 이용하여 이를 보완하였다.
제안 방법
다음으로는 두 번째 실험인 분산 컴퓨팅 기술에 기반 하여 분산 컴퓨팅 환경을 구현하고 분산 노드의 개수에 따른 제안하는 분석 모델의 공격 탐지 수행시간을 측정하여 비교한 것이다. 각 공격 유형마다 동일한 작업을 10번씩 수행하여 이에 대한 평균을 산출하여 다음 [그림 6]과 같이 결과 그래프로 나타내었다.
또한 대용량 빅 데이터의 분산 처리 프로그래밍 기법인 MapReduce를 활용한 방화벽의 공격탐지의 구현을 통해, Map을 어떻게 구현 하는 가에 따라 Reduce성능이 어떻게 나타나는지 알 수 있었다.
즉, 기존RDBMS 방식의 속도 및 성능 저하 현상을 NoSQL 기반에 분산/병렬 처리에 최적화 되어 있는 MapReduce 프로그래밍 기법을 이용하여 이를 보완하였다. 또한, 다수의 NoSQL솔루션 모델 중에서도 유연한 확장성을 자랑하는 Document-Oriented 형식의 MongoDB를 이용하고, 이를 바탕으로 MapReduce설계를 적용하여 변화하는 공격 유형을 보다 신속하고 효율적으로 반영하여 로그 분석에 쓰일 수 있도록 하였다.
본 연구에서는 다양한 NoSQL 솔루션 모델 중에서도 차단 정책의 유동성을 보다 유연하게 반영할 수 있고, 유입되는 방화벽 로그 데이터를 보다 빠르게 수집 및 처리해야 하는 점을 고려하여 읽기/쓰기 처리 성능과 유연한 구조를 특징으로 확장성이 유리한 Document 지향 형식의 MongoDB를 채택하였다[7].
본 논문에서는 점차 대용량화 되어가고 있는 방화벽 로그 데이터의 특성을 분석하는 데 NoSQL 기반의 MapReduce 설계 방식을 적용했다. 빅데이터에 대한 유연하고 빠른 처리속도를 갖는 특징을 바탕으로, 기존 RDBMS(Relation Data Base Management System) 기반의 데이터베이스 모델 보다 빠르고 유연하게 대용량 로그 데이터를 처리 및 분석할 수 있는 방법을 제안함과 동시에, 3가지 DoS(Denial of Service)/DDoS(Distributed Denial of Service) 공격 탐지 실험을 통해 이에 대한 가능성을 입증하였다. 2장에서는 관련연구로서 기존 연구들의 취약점과 제안하는 기법에 대한 전반적인 이론적 배경들을 소개하고, 3장에서는 NoSQL기반의 MapReduce 설계 기법을 제안하였다.
실험 데이터로는 실제 기업에서 운영 중인 방화벽 장비에서 발생한 1000만 건의 로그 데이터 중의 일부를 실험을 위해 사전에 설정한 Attack 시나리오를 바탕으로 이에 공격 시나리오를 설정하여 구성한 데이터로, 이에 대한 공격 탐지 하고 이를 바탕으로 사후분석에 이용될 데이터를 추출함으로써 로그 분석 기법에 대한 설계가 잘 수행되었음을 을 평가했다. [그림 8]은 실제로 분석 결과가 출력된 화면으로, 출력 형식은 다음과 같다
이러한 실험을 바탕으로 [표 10] 연구 진행 과정동아 축적된 경험을 바탕으로 RDBMS와 비교하여 정성적인 분석을 하였다. 실제 로그 분석을 위해 NoSQL방식의 MapReduce를 설계해 봄으로써, 비교적 단순한 코드 구현이 가능하였다.
이에 본 논문에서는 이러한 취약점을 보완하고, 기존 연구의 범위를 확장하여 대용량화 되어가고 있는 이기종 방화벽 로그 데이터의 분석에 대하여 수집 공간의 제약이 없고 새로운 공격유형 등장에도 이를 유연하고 빠르게 추가 적용 하여 분석할 수 있는 방화벽 로그 분석 기법을 제안하고 있다. 즉, 기존RDBMS 방식의 속도 및 성능 저하 현상을 NoSQL 기반에 분산/병렬 처리에 최적화 되어 있는 MapReduce 프로그래밍 기법을 이용하여 이를 보완하였다. 또한, 다수의 NoSQL솔루션 모델 중에서도 유연한 확장성을 자랑하는 Document-Oriented 형식의 MongoDB를 이용하고, 이를 바탕으로 MapReduce설계를 적용하여 변화하는 공격 유형을 보다 신속하고 효율적으로 반영하여 로그 분석에 쓰일 수 있도록 하였다.
본 성능 테스트는 크게 두 가지의 실험으로 이루어진다. 첫 번째는, NoSQL 방식이 기존의 RDBMS 방식에 비해 얼마나 빠른 속도로 대용량의 로그를 수집하여 분석할 수 있는가를 판단하기 위한 실험으로, 각각의 RDBMS와 NoSQL 기반의 프레임워크에서 200만, 500만, 1000만 건의 로그 데이터의 입력 속도를 측정하여 비교하였다. 두 번째로는 분산 컴퓨팅 환경에 최적화 되어 있는 MapReduce기법에 기반하여 1대의 PC에서 프로세스가 처리된 결과와 여러 대의 PC에서 프로세스가 처리된 결과 값을 비교하여 분산처리 환경 구현을 통해 제안하는 분석 모델의 성능이 개선되었음을 보였다.
대상 데이터
본 실험은 Intel Core i5 3GHz의 CPU와 8G의 RAM을 사용하였고, Windows7 64bit의 운영체제를 사용하였다. 실험에 사용한 데이터베이스는 NoSQL 기반의 MongoDB-2.
∙ Gathering 단계: 데이터 수집 단계로서, 이 기종 방화벽에서 발생하는 로그들을 수집하여 BSON 형태의 파일로 임시 저장한다. 수집방법은 앞선 3.1절에서 설명되었듯이 이전 연구기법[10]을 토대로, 본 연구를 위해 임의로 설정한 공격 패턴 3가지를 탐지하는 데 이용되는 로그데이터만을 수집하였다. [표 4]는 수집한 로그데이터들의 필드를 나열한 것이고 이에 대한 설명은 2.
10 버전을 사용하여 SQL 질의 성능을 테스트하고, 공격의심 시나리오에 대한 탐지 및 분석을 수행하였다. 실험에 사용된 데이터는 실제 기업의 보안 로그 데이터 12,847,649건 중 10,000,000 건을 이용하여 실험하였다. 실험에 사용된 공격의심 시나리오는 [표 7]과 같다.
본 실험은 Intel Core i5 3GHz의 CPU와 8G의 RAM을 사용하였고, Windows7 64bit의 운영체제를 사용하였다. 실험에 사용한 데이터베이스는 NoSQL 기반의 MongoDB-2.4.1 버전과 기존의 관계형 데이터베이스에서 가장 많이 이용되어지는 MySQL-5.6.10 버전을 사용하여 SQL 질의 성능을 테스트하고, 공격의심 시나리오에 대한 탐지 및 분석을 수행하였다. 실험에 사용된 데이터는 실제 기업의 보안 로그 데이터 12,847,649건 중 10,000,000 건을 이용하여 실험하였다.
이론/모형
본 논문에서는 점차 대용량화 되어가고 있는 방화벽 로그 데이터의 특성을 분석하는 데 NoSQL 기반의 MapReduce 설계 방식을 적용했다. 빅데이터에 대한 유연하고 빠른 처리속도를 갖는 특징을 바탕으로, 기존 RDBMS(Relation Data Base Management System) 기반의 데이터베이스 모델 보다 빠르고 유연하게 대용량 로그 데이터를 처리 및 분석할 수 있는 방법을 제안함과 동시에, 3가지 DoS(Denial of Service)/DDoS(Distributed Denial of Service) 공격 탐지 실험을 통해 이에 대한 가능성을 입증하였다.
성능/효과
각 실험결과 출력 화면을 살펴보면 사전에 정의된 공격 의심 패턴을 기반으로 실험을 위해 고의적으로 설정해 놓은 각 실험용 공격 로그를 정확히 탐지해 냈음을 알 수 있다. 이는 MapReduce를 통한 방화벽 로그 분석이 수행되어 공격 분석 시에 해당 공격을 정확히 추출해 냈음을 의미한다.
첫 번째는, NoSQL 방식이 기존의 RDBMS 방식에 비해 얼마나 빠른 속도로 대용량의 로그를 수집하여 분석할 수 있는가를 판단하기 위한 실험으로, 각각의 RDBMS와 NoSQL 기반의 프레임워크에서 200만, 500만, 1000만 건의 로그 데이터의 입력 속도를 측정하여 비교하였다. 두 번째로는 분산 컴퓨팅 환경에 최적화 되어 있는 MapReduce기법에 기반하여 1대의 PC에서 프로세스가 처리된 결과와 여러 대의 PC에서 프로세스가 처리된 결과 값을 비교하여 분산처리 환경 구현을 통해 제안하는 분석 모델의 성능이 개선되었음을 보였다.
따라서 NoSQL 기반의 MapReduce 설계를 이용한 로그 분석을 통해 기존 로그 분석 기법의 속도 및 처리 성능 문제 개선, 변화하는 공격 패턴을 신속하게 반영하여 유연한 로그 분석을 할 수 있는 이점과 각각의 Data Parsing과 Anomaly detection 과정을 별도로 처리했던 로그 분석 과정을 이용되는 공통의 키(Key)를 추출하여 Map() 함수 수행 과정에서 한번에 처리함으로써 전체 분석 프로세스를 간소화 할 수 있는 이점이 있다.
이에 대한 결과를 정리한 것이 [표 8]이다. 속도차이를 살펴보면 200만 건의 데이터를 삽입하는 두 데이터베이스 간의 속도차이는 936.275초이고 1000만 건의 데이터를 삽입할 경우에는 4946.733초로 속도차가 약 5배 정도가 증가하였는데, 이는 데이터가 늘어날수록 데이터를 삽입하는 속도 간의 차도 비례하게 증가하고 있음을 알 수 있다.
본 논문에서는 기존의 전통적인 데이터베이스 모델인 RDBMS의 한계를 지적하면서 최근 이슈가 되고 있는 빅데이터와 함께 이를 처리하는데 유리한 NoSQL방식의 데이터베이스를 이용하여 대용량 로그를 보다 효율적으로 분석하는 기법을 제안 하였다. 앞의 실험을 통해 알 수 있었듯이 다량의 방화벽 로그 분석을 위해서 비관계 지향적인 데이터 모델링 방식인 NoSQL, 특히 그중에서도 사용이 용이하고 확장성이 좋은 MongoDB의 적용은 대용량 로그 데이터 분석에 긍정적인 가능성을 보였다.
후속연구
따라서 향후에는 다양한 공격 유형별 탐지 목적에 맞게 동적(dynamic)으로 Map의 키를 설정하는 방법과 이를 이용하여 다양한 공격 패턴에 대응할 수 있는 실시간 침입 탐지 시스템에 대한 연구를 하고자한다.
다음으로, 이전 단계에서 설정된 공격 규칙을 기반으로 Anomaly detection 단계가 수행된다. 본 단계에서는 특정 시간에 일어난 공격을 탐지하고 이에 대한집계 량이나 유형 등을 추출하여 추후 이와 같은 보안사고의 발생을 방지 하거나 예방할 수 있는 방안이 수립될 수 있다. 마지막 단계인 Visualization 단계는 시각화 하는 단계로써 악의적인 로그의 패턴을 모니터링하거나 분석 결과를 판단하기에 용이하도록 정보를 가시적으로 표현해 주는 역할을 수행한다.
[그림 6]을 살펴보면 기존의 MapReduce를 처리하는 노드의 개수가 늘어남에 따라 수행시간이 점차 단축되고 있는 것을 볼 수 있다. 이는 분산 환경을 구현함으로써 제안하는 분석 기법의 성능이 향상될 수 있음을 알 수 있으며, 추후 보다 섬세하고 확장된 분산 처리환경이 조성된다면 보다 실시간적인 로그 분석이 수행될 수 있을 것이다.
질의응답
핵심어
질문
논문에서 추출한 답변
과거에 방화벽은 어디에 사용되었나?
네트워크 보안 위협에 대한 대표적인 보안 솔루션 중 하나인 방화벽은 네트워크의 내/외부의 경계에 설치되는 보안 장비로서 네트워크 구성에 필수적인 요소 중 하나이다. 과거에는 대규모 네트워크에만 제한적으로 사용 됐으나, 현재에는 인터넷 뱅킹 또는 온라인 게임 등과 같은 개인 정보 보호가 필요한 분야가 증가함에 따라 개인용 컴퓨터에도 필수적으로 설치되고 있다[2]. 방화벽을 통과하는 다양한 데이터들의 패킷들은 로그파일 형식으로 기록되는데, 일반적으로 이러한 로그파일은 공격한 해커가 있는 진원지, 네트워크 대역폭, 네트워크 부하량 등 다양한 보안 정보를 담고 있다.
로그분석의 Log Parsing 단계에서는 어떤 역할을 수행하나?
일반적으로 로그 분석은 [그림 1]과 같은 단계를 거쳐 이루어지고 있으며 각 단계에 대한 역할은 다음과 같다[11]. 첫 번째 처리 단계인 Log Parsing 단계 에서는 보안 장비로부터 흘러들어오는 로그들을 수집하거나 분석 대상인 로그 파일 또는 로그 데이터의 선택을 수행한다. 분석할 대상이 수집 또는 선택 된 후에는 이를 이용하여 상관 분석이나 각 시스템 마다 적용되는 분석 기법들을 이용하여 특정 공격 유형의 반복적인 특징 및 패턴 등을 추출하여 이를 규칙 등으로 설정하는 것을 수행해야 하는데, 이러한 과정들을 처리 하는 것이 Feature creation 단계이다.
로그분석의 Visualization 단계에서는 무슨 역할을 수행하나?
본 단계에서는 특정 시간에 일어난 공격을 탐지하고 이에 대한집계 량이나 유형 등을 추출하여 추후 이와 같은 보안사고의 발생을 방지 하거나 예방할 수 있는 방안이 수립될 수 있다. 마지막 단계인 Visualization 단계는 시각화 하는 단계로써 악의적인 로그의 패턴을 모니터링하거나 분석 결과를 판단하기에 용이하도록 정보를 가시적으로 표현해 주는 역할을 수행한다.
참고문헌 (16)
민경식, "네트워크 시대의 사회적 위험과 정보보호," 전자공학회지, 35(12), pp.52-63, 2008년 12월.
행정자치부, 전자정부전문위원회, "정보시스템 구축 운영 기술 가이드라인 2.0," 2005년 10월.
Shaimaa Ezzat Salama, Mohamed I. Marie, Laila M. El-Fangary, Yehia K. and Helmy, "Web Sever Logs Preprocessing for Web Intrusion Detection," Computer and Information Science, vol. 4, no. 4, pp.123-133, July. 2011.
방화벽 관리 및 침입 기록 분석방법, NCSCTR050016, 국가사이버안전센터, 2005년.
윤성종, 김정호, "방화벽 로그를 이용한 침입탐지기법 연구," Journal of Information Technology Applications & Management, 13(4), pp.141-153, 2006년 12월.
김형준, 조준호, 안성화, 김병준, 클라우드 컴퓨팅 구현 기술, 에이콘, 2011년 1월.
Kyle Banker, MongoDB in Action, Oreilly & Associates, Aug. 2010.
http://nts_story.blog.me/50116614473
Jeffrey Dean and Sanjay Ghemawat, "MapReduce: simplified data processing on large clusters," Communications of the ACM - 50th anniversary issue, vol. 51, no. 1, pp.107-113, Jan. 2008.
최대수, 문길종, 김용민 ,노봉남, "MapReduce를 이용한 대용량 보안 로그 분석," 한국정보기술학회 논문지, 제9권, 제8호, pp.125-132, 2011년 8월.
Wei Xu, Ling Huang, Armando Fox, David Patterson, and Michael I. Jordan, "Detecting Large-Scale System Problems by Mining Console Logs," Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles, pp. 117-132, Oct. 2009.
천준호, 신동규, 장근원, 전문석, "DDoS 공격에 대한 방화벽 로그 기록 취약점 분석," 한국정보보호학회논문지, vol. 17, no. 6, pp.143-148, 2007 년 12월.
Karanjit and Chris Hare, Internet Firewalls and Network Security, Second Ed, New Readers Pub, Dec. 1996.
이미영, 최완, "빅데이터 처리 및 저장기술동향 및 전망," 한국정보통신학회지, vol. 13 no. 1, pp.33-39, 2012년 6월.
Wei-Yu Chen, Wen-Chieh Kuo, and Yao-Tsung Wang, "Building IDS Log Analysis System on Novel Grid Computing Architecture," WoGTA, 2009.
Wei-Yu Chen and Jazz Wang, "Building a cloud computing Analysis System for Intrusion Detection System," CLOUD SLAM, Apr. 2009.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.