본 논문에서는 널리 사용되는 침입 탐지 시스템인 Snort와 Suricata에 대해서 탐지 기능 측면과 성능 측면을 비교해 보고자 하였다. 구체적으로 Snort와 비교해보았을 때 Suricata에는 추가된 탐지 기능과 새로 도입된 멀티 스레딩이 패킷 처리 속도에 가져다 준 변화에 대해 분석해보고자 하였다. 그 결과, Suricata에는 기존의 Snort에서는 존재하지 않았던 Protocol Identification과 HTTP Normalizer & Parser, 그리고 File Identification 기능이 추가되었다는 점을 발견할 수 있었다. 또한, 양적 처리 성능 측면에서도 Suricata의 경우 작동하는 CPU Core의 개수가 늘어날수록 Snort와의 처리성능(PPS, Packets Per Second)의 차이가 벌어지는 것으로 나타났다. 따라서 이러한 점을 볼 때, Suricata는 양적/질적측면에서 모두 Snort보다 개선된 것으로 나타났기 때문에 Snort의 대안으로 사용되기에 적절하다는 결론을 내릴 수 있었다.
본 논문에서는 널리 사용되는 침입 탐지 시스템인 Snort와 Suricata에 대해서 탐지 기능 측면과 성능 측면을 비교해 보고자 하였다. 구체적으로 Snort와 비교해보았을 때 Suricata에는 추가된 탐지 기능과 새로 도입된 멀티 스레딩이 패킷 처리 속도에 가져다 준 변화에 대해 분석해보고자 하였다. 그 결과, Suricata에는 기존의 Snort에서는 존재하지 않았던 Protocol Identification과 HTTP Normalizer & Parser, 그리고 File Identification 기능이 추가되었다는 점을 발견할 수 있었다. 또한, 양적 처리 성능 측면에서도 Suricata의 경우 작동하는 CPU Core의 개수가 늘어날수록 Snort와의 처리성능(PPS, Packets Per Second)의 차이가 벌어지는 것으로 나타났다. 따라서 이러한 점을 볼 때, Suricata는 양적/질적측면에서 모두 Snort보다 개선된 것으로 나타났기 때문에 Snort의 대안으로 사용되기에 적절하다는 결론을 내릴 수 있었다.
We have tried to compare two different IDSs which are widespread over the network administrator, Snort and Suricata, in functional and performance aspects. Specifically, we focused on analyzing upon what functions for detecting threat were added newly and what Multi-Threading introduced newly for Su...
We have tried to compare two different IDSs which are widespread over the network administrator, Snort and Suricata, in functional and performance aspects. Specifically, we focused on analyzing upon what functions for detecting threat were added newly and what Multi-Threading introduced newly for Suricata has influenced in a performance aspect. As a result, we could discover that there are some features in Suricata which has never existed in Snort such as Protocol Identification, HTTP Normalizer & Parser, and File Identification. Also, It was proved that the gap of PPS(Packets Per Second) becomes wider, as the number of CPU Cores which are working increase. Therefore, we could conclude that Suricata can be an efficient alternative for Snort considering the result that Suricata is more effective quantitatively as well as qualitatively.
We have tried to compare two different IDSs which are widespread over the network administrator, Snort and Suricata, in functional and performance aspects. Specifically, we focused on analyzing upon what functions for detecting threat were added newly and what Multi-Threading introduced newly for Suricata has influenced in a performance aspect. As a result, we could discover that there are some features in Suricata which has never existed in Snort such as Protocol Identification, HTTP Normalizer & Parser, and File Identification. Also, It was proved that the gap of PPS(Packets Per Second) becomes wider, as the number of CPU Cores which are working increase. Therefore, we could conclude that Suricata can be an efficient alternative for Snort considering the result that Suricata is more effective quantitatively as well as qualitatively.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
그런데, 최근 Snort의 대안으로서 Suricata라는 새로운 침입탐지시스템이 등장하게 되었다. Suricata는 기존의 Snort와 호환이 되면서 동시에 Snort보다 양적으로 더 좋은 처리 능률을 보이면서 질적으로도 더 다양한 방식의 패킷들을 탐지해낼 수 있는 침입탐지 시스템을 만들어내고자 하는 목적으로 개발된 것으로, 기존의 Snort보다 효과 측면에서 더 월등한 침입탐지 작업을 수행하는 것을 목표로 하고 있다. 따라서 본 연구에서는 이러한 점에 착안하여 Snort 와 Suricata의 특징에 대하여 정리하고 Snort와 Suricata의 양적 처리 속도와 질적 탐지 기능에 대하여 비교 분석하고, Suricata가 과연 Snort의 대안으로서 적절한지에 대해 알아보도록 하겠다.
따라서 당연히 양적으로 처리 속도가 기존의 Snort 와는 다를 것이라는 것을 짐작해볼 수 있다. 그리하여 본 연구에서는 Snort와 Suricata의 처리 속도에서의 차이가 나타나는지 확인해보고자 한다.
따라서 본 연구에서는 앞서 서론에서 언급했던 것과 같이 Snort와 Suricata의 비교 분석 작업을 수행하고자 한다. 그런데 이를 위해서는 Snort와 Suricata의 특징과 동작 방식에 대한 파악이 우선되어야 할 필요성이 있다.
Suricata는 기존의 Snort와 호환이 되면서 동시에 Snort보다 양적으로 더 좋은 처리 능률을 보이면서 질적으로도 더 다양한 방식의 패킷들을 탐지해낼 수 있는 침입탐지 시스템을 만들어내고자 하는 목적으로 개발된 것으로, 기존의 Snort보다 효과 측면에서 더 월등한 침입탐지 작업을 수행하는 것을 목표로 하고 있다. 따라서 본 연구에서는 이러한 점에 착안하여 Snort 와 Suricata의 특징에 대하여 정리하고 Snort와 Suricata의 양적 처리 속도와 질적 탐지 기능에 대하여 비교 분석하고, Suricata가 과연 Snort의 대안으로서 적절한지에 대해 알아보도록 하겠다.
제안 방법
다음으로는 탐지 엔진을 통해서 IDS 내부에 저장되어 있는 규칙과 패킷을 비교하는 과정을 통해서 침입을 탐지하도록 한다. 그리고 마지막 단계로 탐지 엔진에서의 결과를 바탕으로 네트워크 관리자에게 침입에 대한 경보를 발생시키거나 로그를 기록하도록 하여 로그 파일과 데이터베이스의 형태로 탐지 기록을 저장하도록 한다. [1] (Jay Beale, James C.
이 연구에서는 침입탐지 작업에 사용되는 CPU Core의 개수를 독립변수(Independent Variable)로 설정하여, CPU Core의 개수에 따라 달라지는 종속변수 (Dependent Variable)인 처리되는 초당 패킷의 개수 (PPS, Packets Per Second)를 관찰하였다. 다만, 이 연구에서는 하나의 데이터 패킷에 대해서는 Packet Acquisition 작업부터 Detection, Output 작업까지 하나의 CPU Core에서 이루어지도록 했다.
이어서, 전처리기(Pr eprocessor)에서는 패킷 스니퍼에서 받아들인 것이 올바른 패킷인지에 대해서 판별하는 과정을 거치도록 한다. 다음으로는 탐지 엔진을 통해서 IDS 내부에 저장되어 있는 규칙과 패킷을 비교하는 과정을 통해서 침입을 탐지하도록 한다. 그리고 마지막 단계로 탐지 엔진에서의 결과를 바탕으로 네트워크 관리자에게 침입에 대한 경보를 발생시키거나 로그를 기록하도록 하여 로그 파일과 데이터베이스의 형태로 탐지 기록을 저장하도록 한다.
그런데 이를 위해서는 Snort와 Suricata의 특징과 동작 방식에 대한 파악이 우선되어야 할 필요성이 있다. 따라서 본 장에서는 본격적인 비교 분석 작업을 수행하기에 앞서 Snort와 Suricata에 대해서 주요 특징을 각각 정리해보도록 하겠다.
앞서 설명하였듯이 Suricata는 탐지 기능의 추가 이외에도 기존의 Snort에서의 싱글 스레딩 (Single-Threading)에서 벗어나 새로운 처리 방식으로 멀티 스레딩(Multi-Threading)을 도입하였다.
이 연구에서는 침입탐지 작업에 사용되는 CPU Core의 개수를 독립변수(Independent Variable)로 설정하여, CPU Core의 개수에 따라 달라지는 종속변수 (Dependent Variable)인 처리되는 초당 패킷의 개수 (PPS, Packets Per Second)를 관찰하였다. 다만, 이 연구에서는 하나의 데이터 패킷에 대해서는 Packet Acquisition 작업부터 Detection, Output 작업까지 하나의 CPU Core에서 이루어지도록 했다.
성능/효과
Suricata는 본래 Snort의 대안으로서의 역할을 수행하기 위해서 개발되었다고 할 수 있는데, 본 논문에서 살펴본 바에 따르면 Suricata는 기존의 Snort에 비해서 탐지해낼 수 있는 패킷의 범위가 상대적으로 더 커졌고 양적인 측면에서의 처리 속도 역시 괄목할만하게 증가했음을 알 수 있다.
그 결과, 다음과 같이 Snort의 경우에는 PPS의 값이 CPU Core의 개수와는 상관없이 Suricata의 PPS 수치보다 하회하는 수치를 보이고 있다. 반면, Suricata에서는 실험이 이루어진 모든 CPU Core 개수에서 Snort의 PPS 수치를 상회하고 있었고, 침입탐지 작업에 사용되는 CPU Core의 개수가 증가함에 따라 PPS 역시 높은 정적 상관관계(Positive Correlation)를 보여주면서 증가하는 것을 확인해볼 수 있다. [3]
이러한 결과를 볼 때, Suricata의 패킷 처리 속도는 대체적으로 Snort에 비해 양적으로 월등하다는 사실을 파악할 수 있다. 더군다나, 오늘날과 같이 Multi Core 가 보편화된 시점에서는 CPU Core의 개수가 늘어남에 따라 PPS 수치 역시 높아지는 Suricata가 Snort에 비해 더욱 월등한 처리 속도를 보일 수 있을 것으로 기대된다.
이런 점을 바탕으로 종합적으로 판단하여 볼 때, Suricata는 비록 아직까지는 Snort에 비해 덜 보편화 되어 있다고는 하지만, 탐지 기능 측면에서의 발전과 처리 속도의 향상이라는 주요 특징을 고려해볼 때 기존의 Snort의 대안으로 적절할 것으로 보인다.
지금까지 Snort와 Suricata에 대해서 탐지 기능 측면에서 어떤 차이가 있는지에 대해서 정리해보았고, Snort와 Suricata 사이에 처리 속도의 차이 역시 존재한다는 사실을 파악해볼 수 있었다.
후속연구
이러한 결과를 볼 때, Suricata의 패킷 처리 속도는 대체적으로 Snort에 비해 양적으로 월등하다는 사실을 파악할 수 있다. 더군다나, 오늘날과 같이 Multi Core 가 보편화된 시점에서는 CPU Core의 개수가 늘어남에 따라 PPS 수치 역시 높아지는 Suricata가 Snort에 비해 더욱 월등한 처리 속도를 보일 수 있을 것으로 기대된다.
질의응답
핵심어
질문
논문에서 추출한 답변
Snort란?
Snort는 오픈 소스 환경에서 누구나 개발에 참여할수 있도록 되어 있는 침입탐지시스템의 일종으로 시스템 내부에 내재된 규칙을 기반으로 규칙에 명시된 사항과 일치하는 패킷을 찾아내는 방식으로 침입탐지를 수행하는 IDS이다. 이러한 Snort는 1998년 세상에 모습을 드러낸 이후로 지금까지 오랜 기간 널리 사용 되고 있다.
Suricata의 개발 목적은 무엇인가?
그런데, 최근 Snort의 대안으로서 Suricata라는 새로운 침입탐지시스템이 등장하게 되었다. Suricata는 기존의 Snort와 호환이 되면서 동시에 Snort보다 양적으로 더 좋은 처리 능률을 보이면서 질적으로도 더 다양한 방식의 패킷들을 탐지해낼 수 있는 침입탐지 시스템을 만들어내고자 하는 목적으로 개발된 것으로, 기존의 Snort보다 효과 측면에서 더 월등한 침입탐지 작업을 수행하는 것을 목표로 하고 있다. 따라서 본 연구에서는 이러한 점에 착안하여 Snort 와 Suricata의 특징에 대하여 정리하고 Snort와 Suric ata의 양적 처리 속도와 질적 탐지 기능에 대하여 비교 분석하고, Suricata가 과연 Snort의 대안으로서 적절한지에 대해 알아보도록 하겠다.
Snort의 내부 동작 단계는 어떻게 진행되는가?
우선 패킷 스니퍼에서 네트워크 백본으로부터 패킷을 받아들이는 것부터 시작된다. 이어서, 전처리기(Pr eprocessor)에서는 패킷 스니퍼에서 받아들인 것이 올바른 패킷인지에 대해서 판별하는 과정을 거치도록 한다. 다음으로는 탐지 엔진을 통해서 IDS 내부에 저장되어 있는 규칙과 패킷을 비교하는 과정을 통해서 침입을 탐지하도록 한다. 그리고 마지막 단계로 탐지 엔진에서의 결과를 바탕으로 네트워크 관리자에게 침입에 대한 경보를 발생시키거나 로그를 기록하도록 하여 로그 파일과 데이터베이스의 형태로 탐지 기록을 저장하도록 한다. [1] (Jay Beale, James C.
참고문헌 (6)
Jay Beale, James C. Foster, Jeffrey Posluns, Brian Caswell, '스노트 2.0 마술상자', 에이콘, 2003.
Albin Eugene, "A comparative analysis of the Snort and Suricata intrusion-detection systems", Master's thesis, NAVAL POSTGRADUATE SCHOOL, 2011.
Joshua S. White, Thomas T. Fitzsimmons, Jeanna N. Matthews, "Quantitive Anaylsis of Intrusion Detection Systems: Snortand Suricata", PROCEEDINGS - SPIE THE INTERNATIONAL SOCIETY FOR O, Vol. 8757, 2013.
김윤정, "2계층 구조의 탐지 규칙을 사용하는 탐지 기법 및 SNORT에의 구현", 정보기술논문지, Vol. 5, pp. 79-85, 2007.
김윤정, 박유미, "침입탐지시스템의 탐지모듈 성능개선 방안에 대한 연구", 정보기술논문지, Vol. 1, pp. 1-8, 2003.
손형서, 이성운, 김현성, "Rule Protecting Scheme for Snort", 한국정보기술응용학회학술대회, Vol. 2005, No. 1, pp. 259-262, 2005.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.