A Performance Analysis of Snort and Suricata Network Intrusion Detection and Prevention Engines

A Performance Analysis of Snort and Suricata Network Intrusion Detection and Prevention Engines

ICDS 2011 : The Fifth International Conference on Digital Society A Performance Analysis of Snort and Suricata Network Intrusion Detection and Prevention Engines David J. Day Benjamin M. Burns School of Computing and Mathematics School of Computing and Mathematics University of Derby University of Derby Derby, UK Derby, UK [email protected] [email protected] Abstract - Recently, there has been shift to multi-core With Internet bandwidth accelerating and Central processors and consequently multithreaded application Processing Unit (CPU) core speeds reaching a plateau, it is design. Multithreaded Network Intrusion Detection and unlikely that a single threaded solution will remain Prevention Systems (NIDPS) are now being considered. effective. The relative influence of Moore’s Law [5] on Suricata is a multithreaded open source NIDPS, being single threaded application performance is reducing and this developed via the Open Information Security Forum is responsible for a developmental shift toward increasing (OISF). It is increasing in popularity, as it free to use power-density for multithreaded processing [6]. under the General Public Licence (GPL), with open Consequently, almost all PC CPUs are now multi-core. source code. This paper describes an experiment, However, multi-core processors are only as valuable as the comprising of a series of innovative tests to establish multithreading software utilising them and Snort is not whether Suricata shows an increase in accuracy and multithreaded. system performance over the de facto standard, single To address this, Suricata has been released by the Open threaded NIDPS Snort. Results indicate that Snort has a Information Security Foundation (OISF). It is an open lower system overhead than Suricata and this translates source NIDS promising multi-threading and graphics card to fewer false negatives utilising a single core, stressed acceleration in the form of CUDA (Computer Unified environment. However, Suricata is shown to be more Device Architecture) and OpenCL [7]. Other feature accurate in environments where multi-cores are benefits include: Gzip Decompression, Automatic Protocol available. Suricata is shown to be scalable through Detection, Flow Variables, Independent HTP library and increased performance when running on four cores; Fast IP (Internet Protocol) Matching [8]. If Suricata delivers however, even when running on four cores its ability to on the promises of the OISF it may meet the demands process a 2Mb pcap file is still less than Snort. In this caused through exponential increases in network traffic. regard, there is no benefit to utilising multi-cores when This paper describes an evaluation of Suricata through running a single instance of Snort. critical comparison of both Suricata and Snort NIDPSs. The remainder of this paper is organised as follows: Section II Keywords – snort; suricata; performance; NIDS; NIDPS; describes the experiment design including empirical metrics, multithreaded; multi-core; comparison; experiment test-bed development, system stressing, traffic generation and attack methods. In Section III, the experiments are I. INTRODUCTION described and the results are reported. In Section IV, we Nielsen’s Law states that the bandwidth available to present an analysis of the results, and finally, in Section V, users increases by 50% annually [1]. This exponential we offer our conclusions. growth perpetrates design challenges for developers of Network Intrusion Detection and Prevention Systems II. EXPERIMENT DESIGN (NIDPS). Once traffic levels exceed operational boundaries, A. Metrics packets are dropped and the system becomes ineffective. Antonatos et al. [3] suggest that the metrics to be used With pattern matching taking up to 70% of the total for measuring the performance of an NIDPS should be the processing time [2];[3], copious research is focused on attack detection rate, false positives and capacity. reducing the pattern matching overhead with inventive Limitations in capacity imply false negatives; once a NIDPS algorithms. Alternatively, some NIDPSs utilise specialist exceeds its capacity, packets will be dropped and hardware such as Application Specific Integrated Circuits subsequently any malicious content within them will not be (ASICS) and Field Programmable Gateway Arrays (FPGA) detected. Mell et al. [9] define the quantitative metrics used providing parallelism to increase throughput [4]. However, for evaluating NIDPS accuracy as follows: coverage these systems are costly, leaving some organisations (amount of attacks possible to detect), probability of false restricted to using single threaded PC-based freeware, such alarm, probability of detection, attack resistance, ability to as Snort. handle high bandwidth traffic and capacity. With regard to Copyright (c) IARIA, 2011. ISBN: 978-1-61208-116-8 187 ICDS 2011 : The Fifth International Conference on Digital Society capacity, it has a number of constituent components and VMware host operating system utilised 2GB of memory and thus, it is not a single metric. Table 1, informed by Hall & 1 core preventing the host from having any performance Wiley [10], illustrates some of the metrics that constitute impacts on the test-bed. capacity. Snort and Suricata were configured to run using identical The above research informed that the following capacity rule-sets. Suricata uses a different classification metrics should be recorded: Bytes per second, packets per configuration to Snort, which uses 134 decoder and 174 pre- second and quantity of network attacks. In addition, for each processor rules. Both NIDPSs were using identical logging NIDPS, the number of packets dropped, true positives, true methods, namely, Barnyard, MYSQL and AcidBase. The negatives, false negatives, and the total amount of alarms versions of Snort and Suricata used were v2.8.5.2 and v1.0.2 were also recorded. Finally, the host resources monitored respectively. Both systems used the Snort v2.8.5.2 VRT rule were, CPU and memory utilisation, persistent storage, set, combined with the Emerging Threats rule set. After all network interface bandwidth and page file statistics. rules were loaded, Suricata had 11039 detection rules loaded against Snorts 11065. This discrepancy was due to TABLE 1 METRICS OF CAPACITY Suricata’s failure to parse certain VRT rules. Test Metrics Resources Used C. Traffic Packets per CPU Cycles, network interface There are a number of considerations when choosing Second bandwidth, memory bus network traffic for NIDPS testing. Firstly, attack traffic can bandwidth. be used, either on its own, or, with the added context of Bytes per second CPU Cycles, network interface background traffic. When using background traffic, this can (average packet bandwidth, memory bus either be real or simulated. If it is real, it could be left intact size) bandwidth. or alternatively, sanitised [9] i.e. payload and ip address Protocol Mix CPU cycles and memory bus information removed. bandwidth. For the test to be useful, it is deemed desirable to use Number of unique Memory size, CPU cycles, real network background traffic. However, repetition of the hosts memory bus bandwidth. experiments, using real-time network traffic, would be Number of new CPU cycles and memory bus unpredictable due to its dynamic nature. Our solution was connections per bandwidth. to use traffic that had been captured to a pcap (packet second capture) file. This facilitated their processing by the Number of Memory size, CPU cycles, NIDPSs in offline mode, allowing for replay on the network concurrent memory bus bandwidth. at different speeds, using TCPReplay [13]. Further, any risk connections to mission critical networks was removed. There are numerous test traffic sources available online Alarms per second Memory size, CPU cycles, memory bus bandwidth. for download, unfortunately, these are often sanitised. This renders them useless for evaluating content matching NIDPS, which perform deep packet inspection. Tools do B. Test-bed exist which can add random payloads into sanitised data, The test-bed was setup in a virtual environment, e.g., TCPdump Randomiser [14], however, the realism of facilitating experiment portability and security. It also such modified data becomes questionable. Hacking contests allowed for faster experiment initialisation. This was also offer sources of traffic capture, although the traffic necessary for frequent repetition and re-configuration of the content is not documented, hence this must be experiment tests. predetermined prior to use, e.g., which attacks were used Vmware workstation 6.5 was used as the virtualisation and which were successful. As a result of these issues, it platform, largely due to superior IO and disk performance was decided to capture background traffic from a busy over competitors Virtual Box and Virtual PC [11]. Ubuntu universities web and application server. This was then 10.4 TLS 32 bit was chosen as the operating system. merged with exploit traffic, created using the Metasploit Ubuntu is frequently updated and has a good community Framework [15]. The Metasploit Framework contains a base. Further it is the most popular Linux operating system total of 587 exploit modules [15], allowing attack data to be [12] easily generated in quantity. The default NIDPS hardware configuration was a The exploit traffic was captured by performing attacks 2.8GHz (E5462) Quad-Core Intel Xeon, running with 1-4 via Metasploit to a Microsoft Windows 2000 machine. cores and 3GB of DDR2 800MHz fully-buffered

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us