검색 상세

멀티코어 환경에서 다중 큐를 이용한 멀티 스레드 기반 IPS 시스템의 설계 및 구현

Design and Implementation of a Multi-Threaded IPS System Using Multiple Queues in Multi-Core Environments

초록/요약 도움말

최근 빅데이터가 이슈화 되고, 인터넷 환경의 급속한 발달로 다량의 데이터가 폭주하면서 기존의 데이터 분석 및 처리를 위해 IDS/IPS 솔루션인 Snort, Suricata 등이 있으나, 기존 방식으로는 한꺼번에 많은 양의 데이터를 처리하기에 약간의 문제점이 있다. 또한 하드웨어가 멀티코어 CPU 환경으로 발전하면서 멀티 코어환경에 맞는 프로그래밍 방법론도 동일하게 발전해 가고 있으나, 단일 프로세스 기반의 Snort 나 멀티 스레드 환경이지만 제대로 된 멀티코어 환경을 지원하지 못하는 Suricata는 대용량 데이터의 실시간 분석을 위해서 최적의 솔루션으로 부족한 면이 있다. 그러므로, 멀티 코어 환경을 위한 최적화가 이루어 져야 한다. 본 논문에서는 다량의 패킷을 원할 하게 분석하기 위해 PF_Ring Polling 방식의 패킷 캡처와 운영체제 내부에서 다중 큐를 통한 데이터 분배로 데이터의 부하를 적절하게 분산한다. 그리고, 검출을 위한 각각의 Suricata Instance 와 다중 큐 맵핑 방법론을 제시한다. 이러한 방법론을 적용하기 위해서는 먼저 기존의 멀티 스레드 Suricata의 소스에 대한 프로파일링 분석과 CPU 사용률이 높은 부분을 OpenMP를 이용해서 멀티 코어 분배를 통한 리소스 및 성능 향상 방법을 적용하고, 각각의 모델에 대한 데이터 비교분석을 통한 변화와 결과 분석을 통해 본 논문의 제시된 방법론에 대한 결론을 도출해 내고자 한다.

more

초록/요약 도움말

Recently as big data becomes an issue and huge amounts of data floods, how to process such innumerable data is the question. We have IDS/IPS solutions such as Snort and Suricata, however there is some problem with their processing capability. Besides, Snort and Suricata are lacking in real-time analysis of large amounts of data in multi-core CPU environment while the programming methodology is being developed suitable for multi-core CPU environment following the hardware development. Therefore data optimization in the multi-core environment must be performed, and this thesis presents a way to solve the problem. It is two-step solution as below: Step 1. To smoothly analyze and properly distribute load of data through the Methodology of the queue more than one mapping, Step 2. To control the CPU utilization through Suricata Instance proposed in this thesis which has received the distributed data from Step 1 using OpenMP. In order to apply the two-step solution as shown above, this thesis will analyze the source of the multi-threaded Suricata existing and apply ways to improve performance and resource through a multi-core distribution using OpenMP. With the results of the whole process of application, (following the data comparison and analysis) we will have the conclusion of the proposed methodology.

more