Towards Faster String Matching for Intrusion Detection or Exceeding the Speed of Snort

Size: px
Start display at page:

Download "Towards Faster String Matching for Intrusion Detection or Exceeding the Speed of Snort"

Transcription

1 Towards Faster String Matching for Intrusion Detection or Exceeding the Speed of Snort C. Jason Coit Silicon Defense Stuart Staniford Silicon Defense Joseph McAlerney Silicon Defense Abstract Network Intrusion Detection Systems (NIDS) often rely on exact string matching techniques. Depending on the choice of algorithm, implementation, and the frequency with which it is applied, this pattern matching may become a performance bottleneck. To keep up with increasing network speeds and traffic, NIDS can take advantage of advanced string matching algorithms. In this paper we describe the effectiveness of a significantly faster approach to pattern matching in the open source NIDS Snort. 1. Introduction Network Intrusion Detection systems (NIDS) have relied on exact string matching from the very earliest days of the field; the UC Davis Network Security Monitor [1,2] made extensive use of string matching. More recently, a number of commercial NIDS including Dragon [3] rely heavily on exact string matching strategies, as do several free NIDS; Snort [4,5], and Bro [6] both have rule options to do exact matches of content strings in packets. Exact string matching is somewhat problematic as a NIDS strategy all by itself, given the broad range of tactics available to an attacker for de-synching the IDS [6,7,8]. Nonetheless, its popularity suggests that it is worth studying the most efficient way to carry out the task. In this paper, we look at the way the popular Snort NIDS performs string matching. To the best of our knowledge, other NIDS's that rely heavily on exact string matching use similar strategies; however this is often a trade secret for commercial systems so we cannot be sure. We show that there is an algorithm that is significantly faster in practice, and that can be expected to scale better as more rules requiring content searches are added to the Snort ruleset. The algorithm we have used is a minor variation of algorithms known in the string matching research community [9,1,11], but not widely used. We have implemented this algorithm, and we provide results demonstrating the improvements in speed. Since Snort is widely used, and since, like all network intrusion detection systems, Snort cannot keep up with heavily loaded fast networks, this is of immediate practical value. The basic string matching task that must be performed by a NIDS is to match a number of patterns drawn from the NIDS rules to each packet or reconstructed TCP stream that the NIDS is analyzing. In Snort, the total number of rules available has become quite large, and continues to grow rapidly. As of 1/1/2 there were 854 rules included in the 112kany.rules ruleset file [5]. 68 of these rules did not require content matching while 786 relied on content matching to identify harmful packets. Thus, even though not every pattern string is applied to every stream, there are a large number of patterns being applied to some streams. For example, in traffic inbound to a web server, Snort v with the snort.org ruleset, "112kany.rules, checks up to 315 pattern strings against each packet. At the moment, it checks each pattern in turn using the Boyer-Moore algorithm. Since the patterns often have something in common, it seemed likely that there is considerable scope for efficiency improvements here, and so it has proved. In the remainder of this paper, we first describe in detail the way Snort organizes the process of checking the content in each packet. Then in section 3 we describe the faster algorithm that we have applied, together with various implementation details, and minor changes in the operation of Snort that result. In section 4 we record our experimental results from applying the original Snort v to actual network traffic, together with our improved algorithm. Finally, we conclude and suggest directions for further research in section Description of Existing Algorithm Snort uses its ruleset to create a two-dimensional linked list structure consisting of Rule Tree Nodes (RTN s) and Option Tree Nodes (OTN s) [5]. The RTN s hold many common properties that must be included in each rule, such as the source and destination addresses, source and destination ports, and protocol type (TCP, ICMP, UDP). The OTN s hold the information for the various options that can be added to

2 Figure 1. A generic example of the RTN and OTN linked list structure. each rule, such as TCP flags, ICMP codes and types, packet payload size and a major bottleneck for efficiency, packet content. These structures are organized into chains which can be conceptualized with the RTN s strung from left to right as chain headers and the OTN s hanging down from the individual RTN s that each is associated with (see Figure 1). In Snort 1.6.3, when packets are being examined against a given ruleset, the packet is first compared along the RTN list from left to right until the packet matches a particular RTN. Only if such a match occurs is the packet then compared down the OTN list of the matching RTN. Snort proceeds to check the packet against each OTN in the chain until a match is found. The options held in each OTN are checked using plugin functions that are called along a linked list as well. When an option matches the packet, the current plugin function calls the next option checking function in the list. If any of the option checks fail, the packet is then checked against the next OTN in the list. For the sake of efficiency, Snort currently checks all other options before checking the packet for content matches on the assumption that pattern matching is most time intensive option to check. If a content check is required, Snort uses a Boyer- Moore pattern matching algorithm to check the content string held in the OTN against the entire packet payload. If no match exists, Snort will proceed to the next OTN in the list, which could have all options identical to the previous OTN save for a slightly different content string. For example, one OTN represents the rule looking for the content scripts/cgimail.exe while the next OTN requires a content search for the string scripts/fpcount.exe. So if an exhaustive search of the entire packet content does not reveal scripts to exist in the packet, the second search is guaranteed to fail yet is performed regardless. Boyer-Moore is a rather famous pattern matching algorithm that is quite fast in practice. It uses heuristics to reduce the number of comparisons needed to determine if a given text string matches a particular pattern, i.e. it uses knowledge of the keyword to search for to skip over unnecessary comparisons against the text being searched. The algorithm typically aligns the text and the keyword to search for so that the keyword can be checked from left to right along the text string beginning with the last character of the keyword and ending with the first. The first heuristic it uses is commonly referred to as a bad character heuristic. If a character is seen that does not exist in the keyword to search for, the keyword can be shifted forward N characters where N is the length of the given keyword (see Figure 2). The second heuristic uses knowledge of repeated substrings in the keyword. Thus if a mismatch occurs and repeated patterns exist in a given keyword, it is able to shift the keyword to the next occurrence of a substring that matches what has already been successfully matched (see Figure 3). Boyer-Moore was designed for exact string matching of many strings against a single keyword. While the algorithm is quite efficient at performing this operation, its current implementation in Snort does not take advantage of the similarities of the multiple keywords that are held in the OTN s. We noticed the similar prefixes of many of the rules in a commonly used snort.org ruleset library [5]. We theorized that if we could reduce the redundant pattern matches by using some other pattern matching algorithm, Snort would perform much faster. In the next section we will discuss the concept and implementation of an algorithm that uses elements of Boyer-Moore to search for multiple patterns at the same time. Before Shift: pattern -> one plus two text -> two plus three equals five pattern -> one plus two text -> two plus three equals five The characters are examined starting at and compared right to the left while the whole pattern moves along the text to search from left to right. The first comparison fails on the character r. Since no r exists in the pattern, it can be shifted by 12 characters as shown above. The next comparison begins at the second. Figure 2. Standard Boyer-Moore bad character shift

3 Before Shift: pattern -> two plus two text -> count to two hundred thirty pattern -> text -> two plus two count to two hundred thirty The comparison begins at and continues examining characters right to left. It fails on the second o read from the text. Since two exists as a repeated substring in the pattern, the pattern can be shifted 9 characters to line the two of that pattern up with the matching part of the text string as shown above. The next comparison begins at the second. Figure 3. Standard Boyer-Moore repeated substring shift 3. Description/Implementation The algorithm is a Boyer-Moore like algorithm applied to a set of keywords held in an Aho-Corassick like keyword tree that overlays common prefixes of the keywords. We designate it as the AC_BM algorithm in Snort. Though we refer to the algorithm as AC_BM, it is essentially an implementation of a "Boyer-Moore Approach to Exact Set Matching" described by Dan Gusfield in Algorithms on Strings, Trees, and Sequences [9]. Gusfield outlines an algorithm that uses suffix trees, and examines the text from left to right. Our implementation mirrors the algorithm Gusfield describes - it examines packet data from right to left and uses a common prefix approach instead of a common suffix approach. The AC_BM implementation allows the various rules that require content searches to be placed in a tree that can be searched using elements of Boyer- Moore. Like the Boyer-Moore approach previously explained, the algorithm we implemented aligns the text to search with the patterns to search for and performs shifts to eliminate unnecessary comparisons. The keyword tree moves from the right end of the packet payload to the left while the character comparisons are performed from left to right once the keyword tree is in position. The algorithm relies on derivatives of the same heuristics used by standard Boyer-Moore. Instead of sliding a single pattern along the text string to be searched, the AC_BM algorithm slides a tree of patterns along using its bad character and good prefix shifts. The bad character shift is similar to the first heuristic of Boyer- Moore; if a mismatch occurs, it recommends shifting the tree to line up with the next occurrence of the character in some other keyword in the pattern tree. If the character does not exist in any keyword past its current depth, it recommends a shift of the length of the smallest pattern in the tree. The good prefix shift recommends a shift to the next occurrence of a complete prefix that has already been seen as a substring of another pattern, or shift to the next occurrence of some prefix of the correctly matched text as the suffix of another pattern in the tree. We always need to be sure not to shift farther than the length of the smallest pattern in the tree so we never skip past a matching pattern that is closer than our heuristic might suggest (see Figure 4 & Figure 5). The AC_BM algorithm allows for the content searching of many OTN s to be combined into a single tree that can be searched quite quickly and greatly reduce the many unnecessary comparisons that Snort currently performs when searching its ruleset. One tree is used for each RTN. The keyword tree for a given RTN holds the content strings for all of the OTN s that require a pattern match for that RTN. The keyword tree information is attached, as a pointer to a PatternTreeData struct, to each RTN. If the OTN List for a given RTN does not contain any content rules, this pointer is set to NULL. The patterns for the keyword tree are collected during the construction of the RTN and OTN lists then Patterns: time, tired, tiring, tinted, tinsel Before Shift: tree -> t i m e \ t e d n s e l text -> t i m e i s o n m y s i d e tree -> t i m e \ t e d n s e l text -> t i m e i s o n m y s i d e The comparison begins by aligning the smallest pattern in the tree, time, with the last four letters of the string to search. Then the characters are checked from left to right starting from and in this case failing on char s. The next s occurs in the pattern tinsel, which calls for a shift of 3 by the adapted bad character rule. Figure 4. Modified bad character shift

4 Patterns: time, tired, tiring, tomato, tornado Before Shift: tree -> t i m e \ r n a d o o m a t o text -> a u t o m a t o n e tree -> t i m e \ r n a d o o m a t o text -> a u t o m a t o n e The comparison begins by aligning the smallest pattern in the tree, time, with the last four letters of the string to search. Then the characters are checked from left to right starting from and failing on character n. Of the characters successfully matched, to appears as a suffix of a pattern, tomato, in the tree. This calls for a shift of 4 characters to align last two letters of the pattern with the to already seen. Figure 5. Modified repeated substring (good prefix) shift the trees are preprocessed to set up the proper shift information. Since the keyword tree groups many rules together and overlaps the matching prefixes, the various rule options are meaningless to the keyword tree. Thus checking the rule s individual non-content options posed a problem. To allow most of the rule options available to still be used with the AC_BM algorithm, we needed to change how Snort performed options checking without drastically changing the structure or organization of the RTN and OTN data structures. We decided the best way to enable the other rule options and not significantly reorganize how the RTN and OTN lists were structured was to separate the content from noncontent rules and handle option checking for each type of rule separately. During preprocessing we organize the OTN list so that rules without content are checked before rules with content. This is accomplished by adding each new OTN immediately before the first OTN encountered that requires a content search. Whether or not the new OTN requires a content search, it will preserve the separation of non-content and content rules. Since content searching should be the most computationally intensive of the option checking steps, we quickly check all the rules that do not have content first, then move on to the content searching. Thus we proceed down the OTN list as usual and check the OTN's using their aforementioned linked list of option checking functions until a content rule is encountered. Once a content rule is seen, the pattern matching algorithm is called to search the packet's content. If the packet matches a pattern in the keyword tree, the other options are checked, if these are successful, the pattern matching algorithm reports a success and the standard procedures of Snort are undertaken. The content matching for a rule is done prior to the other option checking since many of the rules have similar options set, such as checking for the TCP flags Push and Ack. The only option in Snort that our implementation does not support is case sensitive searching. We decided not to implement both case sensitive and non case sensitive searching since this would require two keyword trees - one for case and one for non case. Since the vast majority of the rules in the snort.org ruleset are not case sensitive, we chose to support only these rules to keep the implementation relatively simple. Multiple content rules, rules that require two or more patterns to be matched in a packet, are handled by searching for the first pattern using our keyword tree, and any additional patterns using Snort s implementation of a standard Boyer-Moore algorithm. This is done to allow for multiple content rules to be supported in our updated version of Snort while still keeping the implementation relatively simple. Our goal was to develop a quick and dirty, proof of concept implementation to test if a new approach to pattern matching would be at all advantageous. Thus we opted to support those rules that required more than one content search by using our method followed by the standard Boyer-Moore search already implemented in Snort. This also fit well into the option checking functions that Snort uses since any additional content matches are checked after the initial match when traversing the op_func chain previously mentioned. It is worthwhile to note that the AC_BM algorithm is highly dependent on the length of the shortest pattern being search for, since we can never shift the keyword tree more than this value. So the maximum shift value for a keyword tree under any particular RTN is directly determined by the length of the shortest pattern in that tree. The effectiveness of the standard Boyer-Moore s approach is also limited by the pattern s size when checking any particular pattern, yet one short pattern under a given RTN does not affect the maximum safe distance to shift for all other patterns under that same RTN. Since we did not support case sensitive searching in our implementation, we disabled the case sensitive

5 searches during the testing of both algorithms. In the next section we will discuss the results of these tests and the potential differences our implementation could create in Snort s behavior. 4. Results To examine how the two algorithms affect the performance of Snort, we used actual network traffic from the Capture the Flag game at Defcon 8, which we acquired from [12]. We then used the Linux time command to calculate the amount of time in seconds it took both versions of Snort to run the data sets collected. Then we checked the output from each version to ensure they were identical. To easily perform these tests and ensure that each algorithm performed only non-case sensitive tests, we modified Snort v slightly. We included a command line argument to switch between the algorithms and disabled case sensitive searching in the standard algorithm. We ran Snort on a half-hour data set (77 MB) with AC_BM and standard Boyer-Moore algorithms. We used the 112kany.rules ruleset from snort.org [5], which at the time held 854 rules, 68 non-content and 786 content. We hypothesized that our algorithm would scale better as the number of content rules increased than the standard Snort approach. Our reasoning was based on how Snort currently performs content searching: by traversing down its RTN/OTN list and repeated applying Boyer-Moore. Thus the running time for standard Snort to match a packet should increase linearly with the number of content rules in the ruleset used. Since our implementation groups the content rules by taking advantage of the many similar prefixes, and applies Boyer-Moore tactics for skipping over many unnecessary comparisons, its running time to match a packet should increase far less drastically as the number of content rules increase. In order to test this we parsed the ruleset to separate the non-content and content rules. We ran one series of tests including the 68 noncontent rules and another series of tests on the content rules only. The timing results for the first series of tests are represented in Table 1. We performed the first test of this series using the DEFCON 8 data on the 68 noncontent rules. Each subsequent test incremented the count of content rules by 2 until we exhausted our supply of 786 content rules. While our implementation consistently ran in less time than the original snort, from 1.2 times faster in the first case to 1.18 times faster in the last test, this is not the margin of improvement we suspected. Noting that Amdahl s Law [13] states that the overall speedup is gained only for the percentage of time our improvement is used, we decided to test the same data set using only content rules in order determine the speedup our algorithm could provide during intensive content matching. In the second run of tests we began with 2 content rules and incremented each subsequent test in the same fashion as the previous series. The results of these tests demonstrate that our implementation can perform quite well on repetitive pattern matching compared to the standard Boyer-Moore approach. While these tests are skewed by the elimination of the non-content rules, they still illustrate that a keyword tree approach to Boyer- Moore pattern matching is superior to repetitively applying a single pattern Boyer-Moore algorithm, from 1.31 times faster in the first test to 3.32 times faster in the last test. These results are represented in Table 2 below. Table 3 and Table 4 represent the memory usage of both algorithms during our first and second series of tests respectively. As expected, the tradeoff for higher speed is higher memory use. Our algorithm uses on roughly 3 times the memory of the standard version. This could most likely be improved by using more efficient methods to traverse the keyword tree. Currently the transition matrix for each keyword node is a 256 char array. Assuming that each node does not Time in Seconds Table 1. Time vs. number of rules (non-content and content) Time in Seconds Table 2. Time vs. number of content rules Number of Rules Content Rules Standard AC_BM Standard AC_BM

6 Table 3. Memory vs. number of rules (non-content and content) Table 4. Memory vs. number of content rules Mem in KB Mem in KB Rules Standard AC_BM Content Rules Standard AC_BM have most of these transitions in use, this uses much more memory than necessary. The current transition matrix of each node could be replaced with a structure such as a splay tree to reduce the space needed for each node for an increase in running time. For each test we compared the alert files generated to determine if our implementation produced the same output as the original. There were several alerts that exhibited one of the behavior changes we can expect from our version of Snort. Our data set produced inconsistent alerts due to the direction each algorithm examines packet payload. Snort s standard Boyer-Moore algorithm examines packet data from the left end of packet data to the right. Our implementation examines packet data from the right end of a packet to the left end. A packet containing the a content string for one rule beginning at its right end and another beginning at its left end could result in different rules being reported by the two algorithms. For example suppose there is a Rule_A that contains a content search for toomanyexamples and another almost identical rule that had all of the same options as Rule_A except it checked for the content tcpforever. Now suppose there is a packet that has a payload of toomanyexamplespapertcpforever. Thus the current version of Snort would report Rule_A while our implementation would report Rule_B for the same packet. The inconsistencies in our alert files were produced by the following two rules: alert icmp any any -> any any (msg:"ping NIX Type";content:" a1b1c1d1e 1f";itype:8;depth:"32";) alert icmp any any -> any any (msg:"ids152 PING BSD"; content: "8 9 a b c d e f "; itype: 8; depth: "32";) To test whether these rules would produce identical alerts, we ran the dataset using each rule individually. Both algorithms generated the same alerts. Another way that the two algorithms could result in different results is that rules attempting to use ordering and generalities to sift packets would always flag the most general rule using our new implementation. For example, suppose there are two rules Last_1 and Last_2. Let Last_1 and Last_2 have all options identical except for their contents to search for. Suppose Last_1 requires a search for lastexample and Last_2 requires a search for lastexamplereallynomore. Now if they are ordered in the rule set as their names suggest (Last_1, then Last_2), and there is a packet that contains lastexamplereallynomore, then the current version of Snort would report on Last_2 while our implementation would report on Last_1. This is due to the way the patterns are stored in the keyword tree. The prefixes are overlapped so that the rules lose their ordering they had in the rule set. The algorithm will report success when the first pattern that matches is found in the tree. Thus the less specific rules will always be reported over the longer more specific rules. 5. Conclusion We discussed the importance of pattern matching for Intrusion Detection Systems (IDS) and discussed the approach the open-source IDS Snort uses to match packet content. We verified that a Boyer-Moore approach to exact set-matching [9] works well in practice to significantly reduce the computation time needed to match packet content to our ever-increasing ruleset [5]. We demonstrated that our version of Snort can operate 1.2 times up to 3.32 times as fast as the current version depending on the number and type of content rules used while noting the day to day speedup will depend on the network traffic and ruleset used. The

7 higher the percentage of content matching performed, the more speedup our algorithm will contribute. The cost of this speed up is increased memory use (3 times as much as original). Our implementation was shown to scale better than the standard version of Snort as the number of content patterns in the ruleset increases. Future work could include a more thorough implementation of our algorithm into Snort. The current RTN/OTN structure of Snort does not lend itself well to our approach to pattern matching. To allow the AC_BM implementation to perform better, it might be beneficial to restructure the RTN/OTN list to further group similar non-content options, thus eliminating redundant option checking. Another direction to pursue would implement both suffix and prefix tree approaches and then dynamically choosing which to use for each RTN. In this fashion the content rules under a specific RTN would be grouped to take advantage of either common suffixes or prefixes depending on which gives the greatest value. While the complexity of Snort would most likely increase, so would its effectiveness and efficiency in pattern matching. Acknowledgements: After submission for publication we became aware of independent work to develop faster pattern matching techniques for Snort. Fisk and Varghese [14] also recognized the need for enhanced string matching for Snort and developed a Boyer-Moore Harspool set matching algorithm. Their approach significantly differs from our own in a number of ways. For example, their Boyer-Moore Harspool approach uses only the Bad Character Heuristic of Boyer-Moore for skipping comparisons rather than both the Bad Character and Good Suffix Heuristics. Also, they implemented their algorithms in a library separate from Snort while our implementation was integrated into Snort. Both approaches demonstrate the benefits of advanced pattern matching approaches for Intrusion Detection and will hopefully inspire continued research and experimentation in this area. [4] Martin Roesch, "Snort - Lightweight Intrusion Detection for Networks" USENIX LISA Conference November [5] [6] Paxson, V., Bro: A System for Detecting Network Intruders in Real-Time. Proceedings of the 7th USENIX Security Symposium, San Antonio, TX, January [7] T. Ptacek and T. Newsham, "Insertion, Evasion, and Denial of Service: Eluding Network Intrusion Detection," Secure Networks, Inc., NewshamEvasion -98.ps, Jan [8] Greg Hoglund and Jon Gary, "Multiple Levels of Desynchronization and other Concerns with Testing an IDS System, SecurityFocus.com, /focus/ids/articles/desynch.html, August 2. [9] Dan Gusfield, Algorithms on Strings, Trees, and Sequences:Computer Science and Computational Biology, University of California Press, CA, [1] A. Aho and M. Corasick. Efficient string matching: an aid to biliographic search, Comm. ACM. 18:333-4, [11] B. Commentz-Walter, A string matching algorithm fast on average, Proc. Of the 6 th Int. Colloq. On Automata, Languages, and Programming, pages , [12] [13] John L. Hennessy and David A. Patterson, Computer Architecture: A Quantitative Approach Second Edition, Morgan Kaufmann Publishers, CA, [14] Mike Fisk and George Varghese, Fast Content-Base Packet Handling for Intrusion Detection, UCSD Techinal Report: ucsd-tr-cs21-67 References: [1] L.T. Habergeon, G.V. Dias, K.N. Levitt, B. Mukherjee, (with J. Wood, D.Wolber), "A Network Security Monitor". Proceedings of the 199 IEEE Symposium on Research in Security and Privacy. Oakland, CA, 7-9 May 199, pp [2] L.T. Heberlein, "Network Security Monitor (NSM) - Final Report". Lawrence Livermore National Laboratory project deliverable, [3]

Towards Faster String Matching for Intrusion Detection or Exceeding the Speed of Snort

Towards Faster String Matching for Intrusion Detection or Exceeding the Speed of Snort Towards Faster String Matching for ntrusion Detection or Exceeding the Speed of Snort C. Jason Coit Stuart Staniford Joseph McAlemey Silicon De fense Silicon Defense Silicon Defense jasonc@silicondefense.

More information

Project Proposal. ECE 526 Spring Modified Data Structure of Aho-Corasick. Benfano Soewito, Ed Flanigan and John Pangrazio

Project Proposal. ECE 526 Spring Modified Data Structure of Aho-Corasick. Benfano Soewito, Ed Flanigan and John Pangrazio Project Proposal ECE 526 Spring 2006 Modified Data Structure of Aho-Corasick Benfano Soewito, Ed Flanigan and John Pangrazio 1. Introduction The internet becomes the most important tool in this decade

More information

Project Proposal. ECE 526 Spring Modified Data Structure of Aho-Corasick. Benfano Soewito, Ed Flanigan and John Pangrazio

Project Proposal. ECE 526 Spring Modified Data Structure of Aho-Corasick. Benfano Soewito, Ed Flanigan and John Pangrazio Project Proposal ECE 526 Spring 2006 Modified Data Structure of Aho-Corasick Benfano Soewito, Ed Flanigan and John Pangrazio 1. Introduction The internet becomes the most important tool in this decade

More information

Exclusion-based Signature Matching for Intrusion Detection

Exclusion-based Signature Matching for Intrusion Detection Exclusion-based Signature Matching for Intrusion Detection Evangelos P. Markatos, Spyros Antonatos, Michalis Polychronakis, Kostas G. Anagnostakis Institute of Computer Science (ICS) Foundation for Research

More information

Improving the Database Logging Performance of the Snort Network Intrusion Detection Sensor

Improving the Database Logging Performance of the Snort Network Intrusion Detection Sensor -0- Improving the Database Logging Performance of the Snort Network Intrusion Detection Sensor Lambert Schaelicke, Matthew R. Geiger, Curt J. Freeland Department of Computer Science and Engineering University

More information

Rule Hashing for Efficient Packet Classification in Network Intrusion Detection

Rule Hashing for Efficient Packet Classification in Network Intrusion Detection Rule Hashing for Efficient Packet Classification in Network Intrusion Detection Atsushi Yoshioka, Shariful Hasan Shaikot, and Min Sik Kim School of Electrical Engineering and Computer Science Washington

More information

High Performance Pattern Matching Algorithm for Network Security

High Performance Pattern Matching Algorithm for Network Security IJCSNS International Journal of Computer Science and Network Security, VOL.6 No., October 6 83 High Performance Pattern Matching Algorithm for Network Security Yang Wang and Hidetsune Kobayashi Graduate

More information

Abstract. Keywords: Virus, inetmon Engine, Virus Parser, Virus Matching Engine. 1. Introduction

Abstract. Keywords: Virus, inetmon Engine, Virus Parser, Virus Matching Engine. 1. Introduction Real-Time Detection System Using inetmon Engine Sureswaran Ramadass, Azlan Bin Osman, Rahmat Budiarto, N. Sathiananthan, Ng Chin Keong, Choi Sy Jong Network Research Group, School Of Computer Science,

More information

A Performance Evaluation of the Preprocessing Phase of Multiple Keyword Matching Algorithms

A Performance Evaluation of the Preprocessing Phase of Multiple Keyword Matching Algorithms A Performance Evaluation of the Preprocessing Phase of Multiple Keyword Matching Algorithms Charalampos S. Kouzinopoulos and Konstantinos G. Margaritis Parallel and Distributed Processing Laboratory Department

More information

Exscind: A Faster Pattern Matching For Intrusion Detection Using Exclusion and Inclusion Filters

Exscind: A Faster Pattern Matching For Intrusion Detection Using Exclusion and Inclusion Filters Exscind: A Faster Pattern Matching For Intrusion Detection Using Exclusion and Inclusion Filters 1 Monther Aldwairi and Duaa Alansari Seventh International Conference on Next Generation Web Services Practices

More information

A New Multiple-Pattern Matching Algorithm for the Network Intrusion Detection System

A New Multiple-Pattern Matching Algorithm for the Network Intrusion Detection System IACSIT International Journal of Engineering and Technology, Vol. 8, No. 2, April 2016 A New Multiple-Pattern Matching Algorithm for the Network Intrusion Detection System Nguyen Le Dang, Dac-Nhuong Le,

More information

Extensible Network Configuration and Communication Framework

Extensible Network Configuration and Communication Framework Extensible Network Configuration and Communication Framework Todd Sproull and John Lockwood Applied Research Laboratory Department of Computer Science and Engineering: Washington University in Saint Louis

More information

Hash-Based String Matching Algorithm For Network Intrusion Prevention systems (NIPS)

Hash-Based String Matching Algorithm For Network Intrusion Prevention systems (NIPS) Hash-Based String Matching Algorithm For Network Intrusion Prevention systems (NIPS) VINOD. O & B. M. SAGAR ISE Department, R.V.College of Engineering, Bangalore-560059, INDIA Email Id :vinod.goutham@gmail.com,sagar.bm@gmail.com

More information

Multiple Skip Multiple Pattern Matching Algorithm (MSMPMA)

Multiple Skip Multiple Pattern Matching Algorithm (MSMPMA) Multiple Skip Multiple Pattern Matching (MSMPMA) Ziad A.A. Alqadi 1, Musbah Aqel 2, & Ibrahiem M. M. El Emary 3 1 Faculty Engineering, Al Balqa Applied University, Amman, Jordan E-mail:ntalia@yahoo.com

More information

Implementation and Analysis of DoS Attack Detection Algorithms

Implementation and Analysis of DoS Attack Detection Algorithms Implementation and Analysis of DoS Attack Detection Algorithms Rupesh Jaiswal 1, Dr. Shashikant Lokhande 2, Aditya Gulavani 3 1 Assistant Professor, Dept. of E&TC, Pune Institute of Computer Technology,

More information

Security Gateway System Team

Security Gateway System Team Security Gateway System Team Design and Implementation of Security Gateway System for Intrusion Detection on High-speed Links Byoung-Koo Kim, Ik-Kyun Kim, Jong-kook Lee, Ki-Young Kim and Jong-Soo Jang

More information

A New Platform NIDS Based On WEMA

A New Platform NIDS Based On WEMA I.J. Information Technology and Computer Science, 2015, 06, 52-58 Published Online May 2015 in MECS (http://www.mecs-press.org/) DOI: 10.5815/ijitcs.2015.06.07 A New Platform NIDS Based On WEMA Adnan A.

More information

Enhancing Byte-Level Network Intrusion Detection Signatures with Context

Enhancing Byte-Level Network Intrusion Detection Signatures with Context Enhancing Byte-Level Network Intrusion Detection Signatures with Context Robin Sommer sommer@in.tum.de Technische Universität München Germany Vern Paxson vern@icir.org International Computer Science Institute

More information

A New String Matching Algorithm Based on Logical Indexing

A New String Matching Algorithm Based on Logical Indexing The 5th International Conference on Electrical Engineering and Informatics 2015 August 10-11, 2015, Bali, Indonesia A New String Matching Algorithm Based on Logical Indexing Daniar Heri Kurniawan Department

More information

Multi-Pattern String Matching with Very Large Pattern Sets

Multi-Pattern String Matching with Very Large Pattern Sets Multi-Pattern String Matching with Very Large Pattern Sets Leena Salmela L. Salmela, J. Tarhio and J. Kytöjoki: Multi-pattern string matching with q-grams. ACM Journal of Experimental Algorithmics, Volume

More information

A Graphical User Interface Framework for Detecting Intrusions using Bro IDS

A Graphical User Interface Framework for Detecting Intrusions using Bro IDS A Graphical User Interface Framework for Detecting Intrusions using Bro IDS Shaffali Gupta M.Tech Scholar Thapar University, Patiala Rachit Goel M.tech Scholar Doon Valley, Karnal ABSTRACT Internet has

More information

Efficient Packet Pattern Matching for Gigabit Network Intrusion Detection using GPUs

Efficient Packet Pattern Matching for Gigabit Network Intrusion Detection using GPUs 2012 IEEE 14th International Conference on High Performance Computing and Communications Efficient Packet Pattern Matching for Gigabit Network Intrusion Detection using GPUs Che-Lun Hung Dept. of Computer

More information

Tree-Based Minimization of TCAM Entries for Packet Classification

Tree-Based Minimization of TCAM Entries for Packet Classification Tree-Based Minimization of TCAM Entries for Packet Classification YanSunandMinSikKim School of Electrical Engineering and Computer Science Washington State University Pullman, Washington 99164-2752, U.S.A.

More information

Memory Efficient String Matching Algorithm for Network Intrusion Management System *

Memory Efficient String Matching Algorithm for Network Intrusion Management System * TSINGHUA SCIENCE AND TECHNOLOGY ISSN 1007-0214 13/19 pp585-593 Volume 12, Number 5, October 2007 Memory Efficient String Matching Algorithm for Network Intrusion Management System * YU Jianming ( 余建明 )

More information

Multi-pattern Signature Matching for Hardware Network Intrusion Detection Systems

Multi-pattern Signature Matching for Hardware Network Intrusion Detection Systems This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE GLOBECOM 5 proceedings. Multi-pattern Signature Matching for Hardware

More information

The NIDS Cluster: Scalable, Stateful Network Intrusion Detection on Commodity Hardware

The NIDS Cluster: Scalable, Stateful Network Intrusion Detection on Commodity Hardware The NIDS Cluster: Scalable, Stateful Network Intrusion Detection on Commodity Hardware Matthias Vallentin 1, Robin Sommer 2,3, Jason Lee 2, Craig Leres 2 Vern Paxson 3,2, and Brian Tierney 2 1 TU München

More information

An Enhanced Bloom Filter for Longest Prefix Matching

An Enhanced Bloom Filter for Longest Prefix Matching An Enhanced Bloom Filter for Longest Prefix Matching Gahyun Park SUNY-Geneseo Email: park@geneseo.edu Minseok Kwon Rochester Institute of Technology Email: jmk@cs.rit.edu Abstract A Bloom filter is a succinct

More information

CIS 551 / TCOM 401 Computer and Network Security. Spring 2007 Lecture 12

CIS 551 / TCOM 401 Computer and Network Security. Spring 2007 Lecture 12 CIS 551 / TCOM 401 Computer and Network Security Spring 2007 Lecture 12 Announcements Project 2 is on the web. Due: March 15th Send groups to Jeff Vaughan (vaughan2@seas) by Thurs. Feb. 22nd. Plan for

More information

Configurable String Matching Hardware for Speeding up Intrusion Detection

Configurable String Matching Hardware for Speeding up Intrusion Detection Configurable String Matching Hardware for Speeding up Intrusion Detection Monther Aldwairi, Thomas Conte, Paul Franzon Dec 6, 2004 North Carolina State University {mmaldwai, conte, paulf}@ncsu.edu www.ece.ncsu.edu/erl

More information

FOCUS on Intrusion Detection: Re-synchronizing a NIDS Page 1 of 6

FOCUS on Intrusion Detection: Re-synchronizing a NIDS Page 1 of 6 FOCUS on Intrusion Detection: Re-synchronizing a NIDS Page 1 of 6 Re-synchronizing a NIDS by Eric Hacker last updated Friday, September 22, 2000 Introduction This article is about fixing things. Greg Hoglund

More information

E2.1 Distributed Security Applications for the Internet using SCAMPI

E2.1 Distributed Security Applications for the Internet using SCAMPI INFORMATION SOCIETY TECHNOLOGIES (IST) PROGRAMME A Scaleable Monitoring Platform for the Internet Contract No. IST-21-3244 E2.1 Distributed Security Applications for the Internet using SCAMPI Abstract:

More information

Chapter 7. Network Intrusion Detection and Analysis. SeoulTech UCS Lab (Daming Wu)

Chapter 7. Network Intrusion Detection and Analysis. SeoulTech UCS Lab (Daming Wu) SeoulTech UCS Lab Chapter 7 Network Intrusion Detection and Analysis 2015. 11. 3 (Daming Wu) Email: wdm1517@gmail.com Copyright c 2015 by USC Lab All Rights Reserved. Table of Contents 7.1 Why Investigate

More information

A trace-driven analysis of disk working set sizes

A trace-driven analysis of disk working set sizes A trace-driven analysis of disk working set sizes Chris Ruemmler and John Wilkes Operating Systems Research Department Hewlett-Packard Laboratories, Palo Alto, CA HPL OSR 93 23, 5 April 993 Keywords: UNIX,

More information

ANALYSIS AND EVALUATION OF DISTRIBUTED DENIAL OF SERVICE ATTACKS IDENTIFICATION METHODS

ANALYSIS AND EVALUATION OF DISTRIBUTED DENIAL OF SERVICE ATTACKS IDENTIFICATION METHODS ANALYSIS AND EVALUATION OF DISTRIBUTED DENIAL OF SERVICE ATTACKS IDENTIFICATION METHODS Saulius Grusnys, Ingrida Lagzdinyte Kaunas University of Technology, Department of Computer Networks, Studentu 50,

More information

Threshold-Based Markov Prefetchers

Threshold-Based Markov Prefetchers Threshold-Based Markov Prefetchers Carlos Marchani Tamer Mohamed Lerzan Celikkanat George AbiNader Rice University, Department of Electrical and Computer Engineering ELEC 525, Spring 26 Abstract In this

More information

An Efficient Memory Architecture For Network Intrusion Detection Systems Using Pattern Partitioning And Parallel String Matching

An Efficient Memory Architecture For Network Intrusion Detection Systems Using Pattern Partitioning And Parallel String Matching An Efficient Memory Architecture For Network Intrusion Detection Systems Using Pattern Partitioning And Parallel String Matching 1, T.Aswini Devi, 2, Mrs. K.Surya Kumari. 1,2, M.Tech Project student, Department

More information

SWM: Simplified Wu-Manber for GPU-based Deep Packet Inspection

SWM: Simplified Wu-Manber for GPU-based Deep Packet Inspection SWM: Simplified Wu-Manber for GPU-based Deep Packet Inspection Lucas Vespa Department of Computer Science University of Illinois at Springfield lvesp@uis.edu Ning Weng Department of Electrical and Computer

More information

MDH: A High Speed Multi-phase Dynamic Hash String Matching Algorithm for Large-Scale Pattern Set

MDH: A High Speed Multi-phase Dynamic Hash String Matching Algorithm for Large-Scale Pattern Set MDH: A High Speed Multi-phase Dynamic Hash String Matching Algorithm for Large-Scale Pattern Set Zongwei Zhou,2, Yibo Xue 2,3, Junda Liu,2, Wei Zhang,2, and Jun Li 2,3 Department of Computer Science and

More information

High-Performance Intrusion Detection in FPGA-based Reconfiguring Hardware

High-Performance Intrusion Detection in FPGA-based Reconfiguring Hardware Security Gateway System Team High-Performance Intrusion Detection in FPGA-based Reconfiguring Hardware Byoung-Koo Kim, Young-Jun Heo and Jin-Tae Oh Security Gateway System Team Electronics and Telecommunications

More information

Improving Signature Testing Through Dynamic Data Flow Analysis

Improving Signature Testing Through Dynamic Data Flow Analysis Improving Signature Testing Through Dynamic Data Flow Analysis Christopher Kruegel Technical University Vienna chris@auto.tuwien.ac.at Davide Balzarotti, William Robertson, Giovanni Vigna University of

More information

Large-Scale Network Simulation Scalability and an FPGA-based Network Simulator

Large-Scale Network Simulation Scalability and an FPGA-based Network Simulator Large-Scale Network Simulation Scalability and an FPGA-based Network Simulator Stanley Bak Abstract Network algorithms are deployed on large networks, and proper algorithm evaluation is necessary to avoid

More information

[Belkhede*, 5(3): March, 2016] ISSN: (I2OR), Publication Impact Factor: 3.785

[Belkhede*, 5(3): March, 2016] ISSN: (I2OR), Publication Impact Factor: 3.785 IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY FIREWALL ENGINE BASED ON GRAPHICS PROCESSING UNIT Akash Belkhede *, Sanket Sonawane, Chaitanya Khirsagar, Prof. D. D. Sapkal Department

More information

Performance impact of dynamic parallelism on different clustering algorithms

Performance impact of dynamic parallelism on different clustering algorithms Performance impact of dynamic parallelism on different clustering algorithms Jeffrey DiMarco and Michela Taufer Computer and Information Sciences, University of Delaware E-mail: jdimarco@udel.edu, taufer@udel.edu

More information

Means for Intrusion Detection. Intrusion Detection. INFO404 - Lecture 13. Content

Means for Intrusion Detection. Intrusion Detection. INFO404 - Lecture 13. Content Intrusion Detection INFO404 - Lecture 13 21.04.2009 nfoukia@infoscience.otago.ac.nz Content Definition Network vs. Host IDS Misuse vs. Behavior Based IDS Means for Intrusion Detection Definitions (1) Intrusion:

More information

NAT Router Performance Evaluation

NAT Router Performance Evaluation University of Aizu, Graduation Thesis. Mar, 22 17173 1 NAT Performance Evaluation HAYASHI yu-ichi 17173 Supervised by Atsushi Kara Abstract This thesis describes a quantitative analysis of NAT routers

More information

BitTorrent Traffic Classification

BitTorrent Traffic Classification BitTorrent Traffic Classification Atwin O. Calchand, Van T. Dinh, Philip Branch, Jason But Centre for Advanced Internet Architectures, Technical Report 090227A Swinburne University of Technology Melbourne,

More information

Suffix Vector: A Space-Efficient Suffix Tree Representation

Suffix Vector: A Space-Efficient Suffix Tree Representation Lecture Notes in Computer Science 1 Suffix Vector: A Space-Efficient Suffix Tree Representation Krisztián Monostori 1, Arkady Zaslavsky 1, and István Vajk 2 1 School of Computer Science and Software Engineering,

More information

Accelerating String Matching Algorithms on Multicore Processors Cheng-Hung Lin

Accelerating String Matching Algorithms on Multicore Processors Cheng-Hung Lin Accelerating String Matching Algorithms on Multicore Processors Cheng-Hung Lin Department of Electrical Engineering, National Taiwan Normal University, Taipei, Taiwan Abstract String matching is the most

More information

Highly Compressed Aho-Corasick Automata For Efficient Intrusion Detection

Highly Compressed Aho-Corasick Automata For Efficient Intrusion Detection Highly Compressed Aho-Corasick Automata For Efficient Intrusion Detection Xinyan Zha & Sartaj Sahni Computer and Information Science and Engineering University of Florida Gainesville, FL 32611 {xzha, sahni}@cise.ufl.edu

More information

String Matching with Multicore CPUs: Performing Better with the Aho-Corasick Algorithm

String Matching with Multicore CPUs: Performing Better with the Aho-Corasick Algorithm String Matching with Multicore CPUs: Performing Better with the -Corasick Algorithm S. Arudchutha, T. Nishanthy and R.G. Ragel Department of Computer Engineering University of Peradeniya, Sri Lanka Abstract

More information

Identifying Stepping Stone Attack using Trace Back Based Detection Approach

Identifying Stepping Stone Attack using Trace Back Based Detection Approach International Journal of Security Technology for Smart Device Vol.3, No.1 (2016), pp.15-20 http://dx.doi.org/10.21742/ijstsd.2016.3.1.03 Identifying Stepping Stone Attack using Trace Back Based Detection

More information

CLASSIFICATION OF ARTIFICIAL INTELLIGENCE IDS FOR SMURF ATTACK

CLASSIFICATION OF ARTIFICIAL INTELLIGENCE IDS FOR SMURF ATTACK CLASSIFICATION OF ARTIFICIAL INTELLIGENCE IDS FOR SMURF ATTACK N.Ugtakhbayar, D.Battulga and Sh.Sodbileg Department of Communication technology, School of Information Technology, National University of

More information

Single-pass Static Semantic Check for Efficient Translation in YAPL

Single-pass Static Semantic Check for Efficient Translation in YAPL Single-pass Static Semantic Check for Efficient Translation in YAPL Zafiris Karaiskos, Panajotis Katsaros and Constantine Lazos Department of Informatics, Aristotle University Thessaloniki, 54124, Greece

More information

USE OF PASSIVE NETWORK MAPPING TO ENHANCE SIGNATURE QUALITY OF MISUSE NETWORK INTRUSION DETECTION SYSTEMS

USE OF PASSIVE NETWORK MAPPING TO ENHANCE SIGNATURE QUALITY OF MISUSE NETWORK INTRUSION DETECTION SYSTEMS USE OF PASSIVE NETWORK MAPPING TO ENHANCE SIGNATURE QUALITY OF MISUSE NETWORK INTRUSION DETECTION SYSTEMS Burak Dayıoğlu, Attila Özgit Dept. of Computer Engineering, Middle east Technical University, Ankara,

More information

Michael Rash DEFCON 12 07/31/2004

Michael Rash DEFCON 12 07/31/2004 Advanced Netfilter: Content Replacement (ala Snort_inline) and Combining Port Knocking with p0f Michael Rash DEFCON 12 07/31/2004 http://www.enterasys.com http://www.cipherdyne.org Introduction Port knocking

More information

IDS Future: Analysis of Intrusion Detection System. Guannan GONG

IDS Future: Analysis of Intrusion Detection System. Guannan GONG IDS Future: Analysis of Intrusion Detection System Guannan GONG beckhangong@hotmail.com Liang HU hul@mail.jlu.edu.cn College of Computer Science and Technology, Jilin University, Changchun, 130012 P.R.China

More information

A Software Tool for Network Intrusion Detection

A Software Tool for Network Intrusion Detection A Software Tool for Network Intrusion Detection 4th Biennial Conference Presented by: Christiaan van der Walt Date:October 2012 Presentation Outline Need for intrusion detection systems Overview of attacks

More information

A framework of designing a Packet Filter for Low Cost Network Monitoring

A framework of designing a Packet Filter for Low Cost Network Monitoring 4th International Conference on Electrical and Computer Engineering ICECE 2006, 19-21 December 2006, Dhaka, Bangladesh A framework of designing a Packet Filter for Low Cost Network Monitoring Dr. Shishir

More information

Lecture 5: Suffix Trees

Lecture 5: Suffix Trees Longest Common Substring Problem Lecture 5: Suffix Trees Given a text T = GGAGCTTAGAACT and a string P = ATTCGCTTAGCCTA, how do we find the longest common substring between them? Here the longest common

More information

Cisco Service Control Online Advertising Solution Guide: Behavioral. Profile Creation Using Traffic Mirroring, Release 4.0.x

Cisco Service Control Online Advertising Solution Guide: Behavioral. Profile Creation Using Traffic Mirroring, Release 4.0.x CISCO SERVICE CONTROL SOLUTION GUIDE Cisco Service Control Online Advertising Solution Guide: Behavioral Profile Creation Using Traffic Mirroring, Release 4.0.x 1 Overview 2 Configuring Traffic Mirroring

More information

A Practical Distributed String Matching Algorithm Architecture and Implementation

A Practical Distributed String Matching Algorithm Architecture and Implementation A Practical Distributed String Matching Algorithm Architecture and Implementation Bi Kun, Gu Nai-jie, Tu Kun, Liu Xiao-hu, and Liu Gang International Science Index, Computer and Information Engineering

More information

Operational Experiences With High-Volume Network Intrusion Detection

Operational Experiences With High-Volume Network Intrusion Detection Operational Experiences With High-Volume Network Intrusion Detection Holger Dreger 1 Anja Feldmann 1 Vern Paxson 2 Robin Sommer 1 1 TU München Germany 2 ICSI / LBNL Berkeley, CA, USA ACM Computer and Communications

More information

Denial of Service and Distributed Denial of Service Attacks

Denial of Service and Distributed Denial of Service Attacks Denial of Service and Distributed Denial of Service Attacks Objectives: 1. To understand denial of service and distributed denial of service. 2. To take a glance about DoS techniques. Distributed denial

More information

JULIA ENABLED COMPUTATION OF MOLECULAR LIBRARY COMPLEXITY IN DNA SEQUENCING

JULIA ENABLED COMPUTATION OF MOLECULAR LIBRARY COMPLEXITY IN DNA SEQUENCING JULIA ENABLED COMPUTATION OF MOLECULAR LIBRARY COMPLEXITY IN DNA SEQUENCING Larson Hogstrom, Mukarram Tahir, Andres Hasfura Massachusetts Institute of Technology, Cambridge, Massachusetts, USA 18.337/6.338

More information

Topexam. 一番権威的な IT 認定試験ウェブサイト 最も新たな国際 IT 認定試験問題集

Topexam.   一番権威的な IT 認定試験ウェブサイト 最も新たな国際 IT 認定試験問題集 Topexam 一番権威的な IT 認定試験ウェブサイト http://www.topexam.jp 最も新たな国際 IT 認定試験問題集 Exam : EX0-106 Title : SCNS Tactical Perimeter Defense Vendors : EXIN Version : DEMO Get Latest & Valid EX0-106 Exam's Question and

More information

Network Intrusion Detection Systems. Beyond packet filtering

Network Intrusion Detection Systems. Beyond packet filtering Network Intrusion Detection Systems Beyond packet filtering Goal of NIDS Detect attacks as they happen: Real-time monitoring of networks Provide information about attacks that have succeeded: Forensic

More information

Unit 4: Firewalls (I)

Unit 4: Firewalls (I) Unit 4: Firewalls (I) What is a firewall? Types of firewalls Packet Filtering Statefull Application and Circuit Proxy Firewall services and limitations Writing firewall rules Example 1 Example 2 What is

More information

ECE 333: Introduction to Communication Networks Fall 2001

ECE 333: Introduction to Communication Networks Fall 2001 ECE 333: Introduction to Communication Networks Fall 2001 Lecture 28: Transport Layer III Congestion control (TCP) 1 In the last lecture we introduced the topics of flow control and congestion control.

More information

New Approach towards Covert Communication using TCP-SQN Reference Model

New Approach towards Covert Communication using TCP-SQN Reference Model ISSN 2278 0211 (Online) New Approach towards Covert Communication using TCP-SQN Reference Model Dhananjay M. Dakhane Department of Computer science & Engineering Sipna College of Engineering & Technology,

More information

Congestion Control in TCP

Congestion Control in TCP Congestion Control in TCP Antonio Carzaniga Faculty of Informatics University of Lugano May 6, 2005 Outline Intro to congestion control Input rate vs. output throughput Congestion window Congestion avoidance

More information

QUIZ: Longest Matching Prefix

QUIZ: Longest Matching Prefix QUIZ: Longest Matching Prefix A router has the following routing table: 10.50.42.0 /24 Send out on interface Z 10.50.20.0 /24 Send out on interface A 10.50.24.0 /22 Send out on interface B 10.50.20.0 /22

More information

Congestion Control in TCP

Congestion Control in TCP Congestion Control in TCP Antonio Carzaniga Faculty of Informatics University of Lugano November 11, 2014 Outline Intro to congestion control Input rate vs. output throughput Congestion window Congestion

More information

A Study on Intrusion Detection Techniques in a TCP/IP Environment

A Study on Intrusion Detection Techniques in a TCP/IP Environment A Study on Intrusion Detection Techniques in a TCP/IP Environment C. A. Voglis and S. A. Paschos Department of Computer Science University of Ioannina GREECE Abstract: The TCP/IP protocol suite is the

More information

Analyzing Dshield Logs Using Fully Automatic Cross-Associations

Analyzing Dshield Logs Using Fully Automatic Cross-Associations Analyzing Dshield Logs Using Fully Automatic Cross-Associations Anh Le 1 1 Donald Bren School of Information and Computer Sciences University of California, Irvine Irvine, CA, 92697, USA anh.le@uci.edu

More information

WIND: Workload-aware INtrusion Detection

WIND: Workload-aware INtrusion Detection WIND: Workload-aware INtrusion Detection Sushant Sinha, Farnam Jahanian, and Jignesh M. Patel Electrical Engineering and Computer Science, University of Michigan, Ann Arbor, MI-48109 {sushant, farnam,

More information

Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin,

Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin, Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin, ydlin@cs.nctu.edu.tw Chapter 1: Introduction 1. How does Internet scale to billions of hosts? (Describe what structure

More information

Hardware Loop Buffering

Hardware Loop Buffering Hardware Loop Buffering Scott DiPasquale, Khaled Elmeleegy, C.J. Ganier, Erik Swanson Abstract Several classes of applications can be characterized by repetition of certain behaviors or the regular distribution

More information

Mapping Internet Sensors with Probe Response Attacks

Mapping Internet Sensors with Probe Response Attacks Mapping Internet Sensors with Probe Response Attacks John Bethencourt, Jason Franklin, and Mary Vernon {bethenco, jfrankli, vernon}@cs.wisc.edu Computer Sciences Department University of Wisconsin, Madison

More information

State of the Art for String Analysis and Pattern Search Using CPU and GPU Based Programming

State of the Art for String Analysis and Pattern Search Using CPU and GPU Based Programming Journal of Information Security, 2012, 3, 314-318 http://dx.doi.org/10.4236/jis.2012.34038 Published Online October 2012 (http://www.scirp.org/journal/jis) State of the Art for String Analysis and Pattern

More information

Exam : SCNS_EN. Title : SCNS SCNS Tactical Perimeter Defense. Version : Demo

Exam : SCNS_EN. Title : SCNS SCNS Tactical Perimeter Defense. Version : Demo Exam : SCNS_EN Title : SCNS SCNS Tactical Perimeter Defense Version : Demo 1.The exhibit represents a simple routed network. Node 7 is a Windows 2000 Professional machine that establishes a TCP communication

More information

Scalable Trigram Backoff Language Models

Scalable Trigram Backoff Language Models Scalable Trigram Backoff Language Models Kristie Seymore Ronald Rosenfeld May 1996 CMU-CS-96-139 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 This material is based upon work

More information

Authors: Mark Handley, Vern Paxson, Christian Kreibich

Authors: Mark Handley, Vern Paxson, Christian Kreibich Network Intrusion Detection: Evasion, Traffic Normalization, and End-to-End Protocol Semantics Authors: Mark Handley, Vern Paxson, Christian Kreibich Exploitable Ambiguities NIDS does not have full range

More information

Performance Evaluation and Improvement of Algorithmic Approaches for Packet Classification

Performance Evaluation and Improvement of Algorithmic Approaches for Packet Classification Performance Evaluation and Improvement of Algorithmic Approaches for Packet Classification Yaxuan Qi, Jun Li Research Institute of Information Technology (RIIT) Tsinghua University, Beijing, China, 100084

More information

CSE 143, Winter 2013 Programming Assignment #8: Huffman Coding (40 points) Due Thursday, March 14, 2013, 11:30 PM

CSE 143, Winter 2013 Programming Assignment #8: Huffman Coding (40 points) Due Thursday, March 14, 2013, 11:30 PM CSE, Winter Programming Assignment #8: Huffman Coding ( points) Due Thursday, March,, : PM This program provides practice with binary trees and priority queues. Turn in files named HuffmanTree.java, secretmessage.short,

More information

Worldwide Detection of Denial of Service (DoS) Attacks

Worldwide Detection of Denial of Service (DoS) Attacks Worldwide Detection of Denial of Service (DoS) Attacks David Moore, Geoff Voelker and Stefan Savage August 15, 2001 dmoore @ caida.org www.caida.org Outline The Backscatter Analysis Technique Observations

More information

Dynamic Routing Protocol Performance in a Fault-Tolerant Ethernet-based IP Network

Dynamic Routing Protocol Performance in a Fault-Tolerant Ethernet-based IP Network Dynamic Routing Protocol Performance in a Fault-Tolerant Ethernet-based IP Network Jan Baranski, Marshall Crocker, Georgios Lazarou Department of Electrical and Computer Engineering Mississippi State University

More information

Optimization of Boyer-Moore-Horspool-Sunday Algorithm

Optimization of Boyer-Moore-Horspool-Sunday Algorithm Optimization of Boyer-Moore-Horspool-Sunday Algorithm Rionaldi Chandraseta - 13515077 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Bandung, Indonesia

More information

Introduction to Parallel Programming and Computing for Computational Sciences. By Justin McKennon

Introduction to Parallel Programming and Computing for Computational Sciences. By Justin McKennon Introduction to Parallel Programming and Computing for Computational Sciences By Justin McKennon History of Serialized Computing Until recently, software and programs have been explicitly designed to run

More information

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

PASS4TEST. IT Certification Guaranteed, The Easy Way!   We offer free update service for one year PASS4TEST IT Certification Guaranteed, The Easy Way! \ http://www.pass4test.com We offer free update service for one year Exam : SCNS Title : SCNS Tactical Perimeter Defense Vendors : EXIN Version : DEMO

More information

Boyer-Moore. Ben Langmead. Department of Computer Science

Boyer-Moore. Ben Langmead. Department of Computer Science Boyer-Moore Ben Langmead Department of Computer Science Please sign guestbook (www.langmead-lab.org/teaching-materials) to tell me briefly how you are using the slides. For original Keynote files, email

More information

Stager. A Web Based Application for Presenting Network Statistics. Arne Øslebø

Stager. A Web Based Application for Presenting Network Statistics. Arne Øslebø Stager A Web Based Application for Presenting Network Statistics Arne Øslebø Keywords: Network monitoring, web application, NetFlow, network statistics Abstract Stager is a web based

More information

Attack Prevention Technology White Paper

Attack Prevention Technology White Paper Attack Prevention Technology White Paper Keywords: Attack prevention, denial of service Abstract: This document introduces the common network attacks and the corresponding prevention measures, and describes

More information

Packet Inspection on Programmable Hardware

Packet Inspection on Programmable Hardware Abstract Packet Inspection on Programmable Hardware Benfano Soewito Information Technology Department, Bakrie University, Jakarta, Indonesia E-mail: benfano.soewito@bakrie.ac.id In the network security

More information

Knuth-Morris-Pratt. Kranthi Kumar Mandumula Indiana State University Terre Haute IN, USA. December 16, 2011

Knuth-Morris-Pratt. Kranthi Kumar Mandumula Indiana State University Terre Haute IN, USA. December 16, 2011 Kranthi Kumar Mandumula Indiana State University Terre Haute IN, USA December 16, 2011 Abstract KMP is a string searching algorithm. The problem is to find the occurrence of P in S, where S is the given

More information

ENHANCING ENERGY EFFICIENT TCP BY PARTIAL RELIABILITY

ENHANCING ENERGY EFFICIENT TCP BY PARTIAL RELIABILITY ENHANCING ENERGY EFFICIENT TCP BY PARTIAL RELIABILITY L. Donckers, P.J.M. Havinga, G.J.M. Smit, L.T. Smit University of Twente, department of Computer Science, PO Box 217, 7 AE Enschede, the Netherlands

More information

Non-Homogeneous Swarms vs. MDP s A Comparison of Path Finding Under Uncertainty

Non-Homogeneous Swarms vs. MDP s A Comparison of Path Finding Under Uncertainty Non-Homogeneous Swarms vs. MDP s A Comparison of Path Finding Under Uncertainty Michael Comstock December 6, 2012 1 Introduction This paper presents a comparison of two different machine learning systems

More information

Chapter 3 Packet Switching

Chapter 3 Packet Switching Chapter 3 Packet Switching Self-learning bridges: Bridge maintains a forwarding table with each entry contains the destination MAC address and the output port, together with a TTL for this entry Destination

More information

Network Security: Firewall, VPN, IDS/IPS, SIEM

Network Security: Firewall, VPN, IDS/IPS, SIEM Security: Firewall, VPN, IDS/IPS, SIEM Ahmet Burak Can Hacettepe University abc@hacettepe.edu.tr What is a Firewall? A firewall is hardware, software, or a combination of both that is used to prevent unauthorized

More information

Hybrid Regular Expression Matching for Deep Packet Inspection on Multi-Core Architecture

Hybrid Regular Expression Matching for Deep Packet Inspection on Multi-Core Architecture Hybrid Regular Expression Matching for Deep Packet Inspection on Multi-Core Architecture Yan Sun, Haiqin Liu, Victor C. Valgenti, and Min Sik Kim School of Electrical and Computer Engineering Washington

More information

Athens University of Economics and Business. Dept. of Informatics

Athens University of Economics and Business. Dept. of Informatics Athens University of Economics and Business Athens University of Economics and Business Dept. of Informatics B.Sc. Thesis Project report: Implementation of the PASTRY Distributed Hash Table lookup service

More information