Shift-based Pattern Matching for Compressed Web Traffic
|
|
|
- Terence Clarke
- 10 years ago
- Views:
Transcription
1 Shift-based Pattern Matching for Compressed Web Traffic Anat Bremler-Barr Computer Science Dept. Interdisciplinary Center, Herzliya, Israel Yaron Koral Blavatnik School of Computer Sciences Tel-Aviv University, Israel Victor Zigdon Computer Science Dept. Interdisciplinary Center, Herzliya, Israel Abstract Compressing web traffic using standard GZIP is becoming both popular and challenging due to the huge increase in wireless web devices, where bandwidth is limited. Security and other content based networking devices are required to decompress the traffic of tens of thousands concurrent connections in order to inspect the content for different signatures. The overhead imposed by the decompression inhibits most devices from handling compressed traffic, which in turn either limits traffic compression or introduces security holes and other dysfunctionalities. The ACCH algorithm [1] was the first to present a unified approach to pattern matching and decompression, by taking advantage of information gathered in the decompression phase to accelerate the pattern matching. ACCH accelerated the DFAbased Aho-Corasick multi-pattern matching algorithm. In this paper, we present a novel algorithm, SPC (Shift-based Pattern matching for Compressed traffic) that accelerates the commonly used Wu-Manber pattern matching algorithm. SPC is simpler and has higher throughput and lower storage overhead than ACCH. Analysis of real web traffic and real security devices signatures shows that we can skip scanning up to 87.5% of the data and gain performance boost of more than 51% as compared to ACCH. Moreover, the additional storage requirement of the technique requires only 4KB additional information per connection as compared to 8KB of ACCH. I. INTRODUCTION Compressing HTTP text when transferring pages over the web is in sharp increase motivated mostly by the expansion in web surfing over mobile cellular devices such as smartphones. Sites like Yahoo!, Google, MSN, YouTube, Facebook and others use HTTP compression to enhance the speed of their content downloads. Moreover, iphone API for apps development applied support for web traffic compression. Fig. 1 shows statistics of top sites using HTTP Compression: two-thirds of the top 1000 most popular sites use HTTP compression. The standard compression method used by HTTP 1.1 is GZIP. This sharp increase in HTTP compression presents new challenges to networking devices that inspect the traffic contents for security hazards and balancing decisions. Those devices reside between the server and the client and perform Deep Packet Inspection (DPI). When receiving compressed traffic the networking device needs first to decompress the message in order to inspect its payload. This process suffers from performance penalties of both time and space. Those penalties lead most security tools vendors to either ignore compressed traffic, which may lead to miss-detection Fig. 1. HTTP Compression usage among the Alexa [2] top-site lists of malicious activity, or ensure that no compression takes place by re-writing the client-to HTTP-header to indicate that compression is not supported by the client s browser thus decreasing the overall performance and bandwidth. Few security tools [3] handle HTTP compressed traffic by decompressing the entire page on the proxy and performing signature scan on it before forwarding it to the client. The last option is not applicable for security tools that operate at a high speed or when introducing additional delay is not an option. Recent work [1] presents technique for pattern matching on compressed traffic that decompresses the traffic and then uses data from the decompression phase to accelerate the process. Specifically, GZIP compression algorithm eliminates repetitions of strings using back-references (pointers). The key insight is to store information produced by the pattern matching algorithm for scanned decompressed traffic, and in case of pointers, to use this data to either find a match or to skip scanning that area. That work analyzed the case of using the well known Aho-Corasick (AC) [4] algorithm as a multi-pattern matching technique. AC has a good worst-case performance since every character requires traversing exactly one Deterministic Finite Automaton (DFA) edge. However, the adaptation for compressed traffic, where some characters represented by pointers can be skipped, is complicated since AC requires inspection of every byte. Inspired by the insights of that work, we investigate the case of performing DPI over compressed web traffic using the shift-based multi-pattern matching technique of the modified Wu-Manber (MWM) algorithm [5]. MWM inherently does not scan every position within the traffic and in fact it shifts (skips) scanning areas in which the algorithm concludes that
2 no patterns starts at. As a preliminary step, we present an improved version for the MWM algorithm (see Section III). The modification improves both time and space aspects to fit the large number of patterns within current pattern-sets such as Snort database [6]. We then present Shift-based Pattern matching for Compressed traffic algorithm, SPC, that accelerates MWM on compressed traffic. SPC results in a simpler algorithm, with higher throughput and lower storage overhead than the accelerated AC, since MWM basic operation involves shifting (skipping) some of the traffic. Thus, it is natural to combine MWM with the idea of shifting (skipping) parts of pointers. We show in Section V that we can skip scanning up to 87.5% of the data and gain performance boost of more than 73% as compared to the MWM algorithm on real web traffic and security-tools signatures. Furthermore, we show that the suggested algorithm also gains a normalized throughput improvement of 51% as compared to best prior art [1]. The SPC algorithm also reduces the additional space required for previous scan results by half, by storing only 4KB per connection as compared to the 8KB of [1]. II. BACKGROUND Compressed HTTP: HTTP 1.1 [7] supports the usage of content-codings to allow a document to be compressed. The RFC suggests three content-codings: GZIP, COMPRESS and DEFLATE. In fact, GZIP uses DEFLATE with an additional thin shell of meta-data. For the purpose of this paper, both algorithms are considered the same. These are the common codings supported by browsers and web servers. 1 The GZIP algorithm uses a combination of the following compression techniques: first the text is compressed with the LZ77 algorithm and then the output is compressed with the Huffman coding. Let us elaborate on the two algorithms: (1) LZ77 Compression [8]- which reduces the string presentation size by spotting repeated strings within the last 32KB of the uncompressed data. The algorithm replaces each repeated string by (distance,length) pair, where distance is a number in [1,32768] (32K) indicating the distance in bytes of the repeated string from the current pointer location and length is a number in [3,258] indicating length. For example, the text: abcdefgabcde can be compressed to: abcdefg(7,5) ; namely, go back 7 bytes and copy 5 bytes from that point. LZ77 refers to the above pair as pointer and to uncompressed bytes as literals. (2) Huffman Coding [9]- Recall that the second stage of GZIP is the Huffman coding, that receives the LZ77 symbols as input. The purpose of Huffman coding is to reduce the symbol coding size by encoding frequent symbols with fewer bits. Huffman coding assigns a variable-size codeword to symbols. Dictionaries are provided to facilitate the translation of binary codewords to bytes. 1 Analyzing packets from Internet Explorer, FireFox and Chrome browsers shows that they accept only the GZIP and DEFLATE codings. Deep packet inspection (DPI): Essential to almost every intrusion detection system is the ability to search through packets and identify content that matches known attacks. Space and time efficient string matching algorithms are therefore important for inspection at line rate. The two fundamental paradigms to perform string matching derive from deterministic finite automaton (DFA) based algorithms and shift-based algorithms. The fundamental algorithm of the first paradigm is Aho- Corasick (AC) [4], which provides deterministic linear time in the size of the input. The most popular algorithm of the second paradigm is the the modified Wu-Manber (MWM) [5]. The algorithm does not have a deterministic performance, hence it may be exposed to algorithmic attacks. Still, such attacks can be easily identified and the system can switch to using another engine with deterministic characteristics. Overall, the average case performance of MWM is among the best of all multi-pattern string matching algorithms. A. The Challenges of Performing DPI over Compressed Traffic Recall that in the LZ77 compression algorithm each symbol is determined dynamically by the data. For instance, string representation depends on whether it is a part of a repeated section and on the distance from that occurrence, which in turn, implies that the LZ77 (and hence, GZIP) is an adaptive compression. Thus, decoding the pattern is futile for DPI, since it will not appear in the text in some specific form, implying that there is no easy way to do DPI without decompression. Still, decompression is a considerably light process that imposes only a slight performance penalty on the entire process: LZ77 decompression requires copying consecutive sequences of bytes and therefore benefits from cache advantages gained by spatial and temporal locality. Huffman decoding is also a light task that requires most of the time a single memory access per symbol to a 200B dictionary. The space required for managing multiple-connection environment is also an important issue to tackle. On such environment, the LZ77 32KB window requires a significant space penalty since in order to perform deep packet inspection, one needs to maintain 32KB windows of all active compressed sessions. When dealing with thousands of concurrent sessions, this overhead becomes significant. Recent work [10] has shown techniques that circumvents that problem and drastically reduce the space requirement by over 80%, with only a slight increase in time. III. THE MODIFIED WU-MANBER ALGORITHM In this section, as a preliminary step to SPC, we present the basic MWM algorithm and an improved version of it. The modifications improve both time and space aspects to fit the large number of patterns within current pattern-sets. MWM can be thought as an extension for the Boyer- Moore (BM) [11] single-pattern-matching algorithm. In that algorithm, given a single pattern of length n to match, one can look ahead in the input string by n characters. If the character at this position is not a character from our pattern, we can immediately move the search pointer ahead by n characters
3 without examining the characters in between. If the character appears in the string, but is not the last character in the search string, we can skip ahead by the largest number of bytes that ensures that we have not missed an instance of our pattern. This technique is adapted in a straight-forward manner to most implementations of shift-based multi-pattern string matching algorithms, including MWM. The algorithm fits to a fixed length pattern, hence MWM trims all patterns to their m bytes prefix, where m is the size of the shortest pattern. In addition, determining shift-value based on a single character does not fit multi-pattern environment since almost every character would appear as the last byte of some pattern. Instead, MWM chooses predefined group of bytes, namely B, to determine the shift value. Algorithm 1 outlines the main MWM scan loop and the exact pattern match process. MWM starts by precomputing two tables: a skip shift table called ShiftT able (a.k.a SHIFT in MWM) and a patterns hash table, called P trns (a.k.a. PREFIX and HASH in MWM). The ShiftTable determines the shift value after each text scan. On average, MWM performs shifts larger than one, hence it skips bytes. The scan is performed using a virtual scan window of size m. The shift value is determined by indexing the ShiftTable with the B bytes suffix of the scan window (Line 3). As opposed to MWM that implemented ShiftTable as a complete array with all possible keys (i.e., ( Σ B ) where Σ is the alphabet size), we implement ShiftTable as a hash table and store only keys with shift value smaller than the maximal one. Algorithm 1 The MWM Algorithm trf 1 trf n - the input traffic pos - the position of the next m-bytes scan window ShiftT able - array that holds the shift value for each last B-bytes of the window P trns - the pattern-set hashed by the first m-byte of the patterns 1: procedure ScanText(trf 1... trf n) 2: pos 1 3: while pos + m n do Get shiftv alue using last B bytes 4: shiftv alue ShiftT able[trf pos+m B... trf pos+m ] 5: if shiftv alue = 0 then Check for Exact Matches 6: for all pat in P trns[trf pos... trf pos+m ] do 7: if pat = trf pos... trf pos+pat.len then 8: Handle Match Found 9: end if 10: end for 11: pos pos : else pos pos + shftv alue shftv alue > 0 13: end if 14: end while ShiftTable values determine how far we can shift forward the text scan. Let X = X 1... X B be the B-byte suffix of scan window. If X does not appear as a substring in any pattern, we can make the maximal shift, m B + 1 bytes. Otherwise, we find the rightmost occurrence of X in any of the patterns: assume that [q B + 1, q] is the rightmost occurrence of X at any of the patterns. In such a case, we skip m q bytes. Generally, the values in the shift table are the largest possible safe values of skip. When the shift table returns with a 0 value, all m-bytes of scan window are indexed into the Ptrns hash table to find a list of possible matching patterns. These patterns are compared to the text to find any matches (Lines 6 11). Then the input is shifted ahead by one byte and the scan process continues. The P trns hash-table has a major effect on the performance of MWM. In the original MWM implementation, the Pattern- Set is hashed with only B-bytes prefix of the patterns, resulting in an unbalanced hash with long chains of patterns that share the same hash key. For example when B = 2, the average chain length is 4.2 for Snort DB, slowing down the exact matching process, where one iterates over all possible patternmatch list and compare each of these patterns to the traffic text. Since the number of patterns grew tremendously in the past years, a longer hash-key should be used, thus we take the entire scan window as the hash-key. That reduces the average hash load to 1.44 for Snort DB. Fig. 2 shows an excerpt of the MWM data structure for B = 2. All patterns are trimmed to m = 5 bytes (Fig. 2(a)). Fig. 2(b) presents shift table entries with shift values smaller than the maximal shift. The rest of the byte pairs, not shown in the example, are those which gain the highest shift value of m B + 1 = 4. Byte pairs in the middle of the strings have reduced shift values, and those that are at the end of the strings, such as nb or er with shift value = 0, must be checked for exact match. Fig. 2(c) shows an MWM scan example. Note that most of the time the scan window gains shift value larger than 1. There are two cases where the shift value is 0 and the P trns hash-table is being queried. The first case returns a Match of the string river, while the second does not locate any matched pattern. (a) (c) Fig. 2. (a) Pattern set and the m-bytes prefixes. (b) shift table of the corresponding pattern-set. (c) MWM scan example. The arrows indicate shifts of the scan window larger than 1. The row below the text shows the shift value for each m-bytes scan window step. The bottom line contains B-bytes value for shift calculation after each step. IV. SHIFT-BASED PATTERN MATCHING FOR COMPRESSED TRAFFIC (SPC) In this section, we present our Shift-based Pattern matching algorithm for Compressed HTTP traffic (SPC). Recall that HTTP uses GZIP which, in turn, uses LZ77 that compress data with pointers to past occurrences of strings. Thus, the bytes referred by the pointers (entitled by referred bytes or (b)
4 referred area) were already scanned; hence, if we have a prior knowledge that an area does not contain patterns we can skip scanning most of it. Observe that even if no patterns were found when the referred area was scanned, patterns may occur in the boundaries of the pointer: a prefix of the referred bytes may be a suffix of a pattern that started previously to the pointer; or a suffix of the referred bytes may be a prefix of a pattern that continues after the pointer (as shown in Fig. 3). Therefore, special care need to be taken to handle pointer boundaries correctly and to maintain MWM characteristics while skipping data represented by LZ77 pointers. The general method of the algorithm is to use a combined technique that scans uncompressed portions of the data using MWM and skips scanning most of the data represented by the LZ77 pointers. Note that scanning is performed on decompressed data such that both decompression and scanning tasks are performed on-the-fly, while using the pointer information to accelerate scanning. For the simplicity and clarity of the algorithm description the pseudocode is written such as all uncompressed text and previous scan information are kept in memory. However in real life implementation it is enough to store only the last 32KB of the uncompressed traffic. The SPC pseudocode is given in Algorithm 2. The key idea is that we store additional information of partial matches found within previously scanned text, in a bit-vector called P artialmatch. The j th bit is set to true if in position j the m-bytes of the scan window match an m-byte prefix of a pattern. Note that we store partial match rather than exact match information. Hence, if the body of the referred area contains no partial matches we can skip checking the pointer s internal. However, if the referred area contains a partial match, we still need to perform an exact match. Maintaining partial match rather than exact match information is significantly less complicated, especially over skipped characters, due to the fact that pointers can copy parts of the patterns. The algorithm with the P artialm atch bit-vector integrates smoothly with MWM. In fact, as long as scan window is not fully contained within a pointer boundaries, a regular MWM scan is performed (Lines 22 34). The only change is that we update the P artialmatch data structure (Line 25). Note that shftv alue = 0 implies that the B bytes suffix of scan window matched an entry within Shif tt able. It does not imply a partial match since usually m > B. In the second case, where the m-bytes scan window shifts into a position such that it is fully contained within pointer boundaries, SPC checks which areas of the pointer can be skipped (Lines 6 20). We start by checking whether any partial match occurred within referred bytes by calling function findp artialmatches(start... end) (Line 8). In the simple case where no partial matches were found, we can safely shift the scan window to m 1 bytes before the pointer end (Line 20). The correctness is due to the fact that any point prior to that point is guaranteed to be free of partial matches (otherwise there would have been a match also within the referred bytes). SPC algorithm gains the most from shifting Algorithm 2 The SPC Algorithm Definitions are as in Algorithm 1, with the following additions: utrf - The uncompressed HTTP traffic. pointer - Describes pointer parameters: distance,len and endp os - position of the pointer rightmost byte in the uncompressed data. Data received from the decompression phase. PartialMatch - Bit vector that indicate whether there is a partial match in the already scanned traffic. Each bit in P artialmatch vector has a corresponding byte in utrf. findpartialmatches(start... end) - Returns a list of Partial Matches positions in range start... end. 1: procedure ScanText(utrf 1...n ) 2: pos 1 3: Set P artialmatch 1...n bits to false 4: while pos + m n do 5: if utrf pos... utrf pos+m window internal to pointer then Check valid areas for skipping 6: start pos pointer.dist 7: end pointer.endp os pointer.dist (m 1) 8: pmatchlist findp artialmatches(start... end) 9: if pmatchlist is not empty then 10: for all pm in pmatcheslist do 11: pos pm.pos + pointer.dist 12: P artialmatch[pos] true 13: for all pat in P trns[utrf pos... utrf pos+m] do 14: if pat = utrf pos... utrf pos+pat.len then 15: Handle Match found 16: end if 17: end for 18: end for 19: end if 20: pos pointer.endp os (m 1) 21: else MWM scan with P artialmatch updating 22: shftv alue = ShiftT able[utrf pos+m B... utrf pos+m ] 23: if shftv alue = 0 then 24: if P trns[utrf pos... utrf pos+m] is not empty then 25: P artialmatch[pos] true 26: for all pat in P trns[utrf pos... utrf pos+m ] do 27: if pat = utrf pos... utrf pos+pat.len then 28: Handle Match found 29: end if 30: end for 31: end if 32: pos pos : else pos pos + shftv alue shftv alue > 0 34: end if 35: end if 36: end while over pointer body without the extra overhead of checking ShiftT able and P trns in the cases where there are no actual partial matches. If f indp artialm atches(start... end) returns partial matches, we are certain that those were copied entirely from the referred bytes, therefore, we start by setting the corresponding positions within P artialm atch bit-vector to true (Line 12). For each partial match, we then query the P trns hash-table to check whether an exact match occurs, in the same way as in MWM (Lines 13 17). Fig. 3 demonstrates the SPC algorithm. SPC locates first
5 Fig. 3. Pointer scan procedure example. The patterns are as in Fig. 2. The dashed box indicate a Partial Match and the solid line indicate an Exact Match. The solid box indicate a pointer and its referred area. the m-prefix rainb and mark it as a partial match in P artialm atch bit-vector. Note that this m-prefix did not result in an exact match. The pointer refer to an area with no partial matches therefore it scans only the pointer boundaries and skips its internal area. In this example both boundaries are part of a pattern. Note that the GZIP algorithm maintains the last 32KB of each session. SPC maintains also the P artialmatch bitvector, i.e. one bit per byte resulting in a 36KB all together. Those 36KB can be stored using cyclic buffer, thus re-using also the P artialmatch bits whenever we cycle to the buffer start. Therefore, we cannot rely on the default initialization of those bits and need to add lines that explicitly set the bits to false. Altogether we keep a 36KB of memory per session, which may result in a high memory consumption in a multi-session environment. Note that most of the memory requirement is due to GZIP and is mandatory for any pattern matching on compressed traffic. As mentioned in Section II-A, recent work [10] has shown techniques that save over 80% of the space required. Those techniques can be combined with SPC and reduce the space to around 6KB per session. The correctness of the algorithm is captured by the following theorem. Theorem 1: SPC detects all patterns in the decompressed traffic utrf. Sketch of Proof: The proof is by induction on the index of the uncompressed character within the traffic. Assume the algorithm runs correctly until position pos; namely, it finds all pattern occurrences and marks correctly the P artialm atch vector. We now show that the SPC algorithm: 1. finds if there is a pattern in position pos; 2. if it shifts to pos + shftv alue there is no patten that starts after pos + 1 and prior to pos + shftv alue; 3. updates correctly the P artialmatch vector. The correctness relies on the MWM basic property that if a pattern starts at position j then MWM will set scan window at position j and the pattern will be located. If scan window at position pos is not contained in a pointer then the validity is straight forward from the correctness of MWM. Otherwise, we need to prove that SPC finds all partial matches and exact matches correctly. The correctness is derived from the induction hy ofpothesis the validity of the P artialm atch vector up to position pos. V. EXPERIMENTAL RESULTS In this section, we analyze SPC and the parameters which influence its performance. In addition, we compare its performance to both MWM and ACCH algorithms. All the experiments were executed on an Intel Core i5 750 processor, with 4 cores running at 2.67GHz and 4GB RAM. Each core has 32KB L1 data and instruction caches and a 256KB dedicated L2 cache. The third-level (L3) cache is larger, at 8MB, and is shared by all four cores. A. Data Set The context of this paper is compressed web traffic. Therefore, we collected HTTP pages encoded with GZIP taken from a list constructed from the Alexa website [2] that maintains web traffic metrics and top-site lists. The data set contains 6781 files with a total uncompressed size of 335MB (66MB in its compressed form). The compression ratio is 19.7%. The ratio of bytes represented by pointers is 92.1% and the average pointer length is 16.65B. B. Pattern Set Our pattern-sets were gathered from two different sources: ModSecurity [3], an open source web application firewall (WAF) and Snort [6], an open source network intrusion prevention system. In ModSecurity, we chose the signatures group which applies to HTTP-responses (since only the response is compressed). Patterns containing regular expressions where normalized into several plain patterns. The total number of ModSecurity patterns is 148. The Snort pattern-set contains signatures. As opposed to ModSecurity, Snort is not of the web application domain therefore, it is less applicable for inspecting threats from incoming HTTP traffic. Nevertheless, since Snort is the prominent reference pattern-set in multi-pattern matching papers, we used it to compare the performance of our algorithm to other pattern-matching algorithms. Since HTML pages contain only printable (Base64) characters, there is no need to search for binary patterns, leaving 6837 textual patterns. We also note, that within our data-set, Snort patterns has a significantly high match rate because of patterns such as http, href, ref=, etc. Our data-set contains 11M matches, which accounts for 3.24% of the text. ModSecurity have a modest number of 93K matches or 0.026% of the text.
6 C. SPC Characteristics Analysis This section explores the various parameters affecting the performance of SPC over compressed HTTP and compares it to the MWM running over uncompressed traffic. Shift-based pattern matching algorithms, and specifically MWM and SPC are sensitive to the shortest pattern length as it defines the maximal shift value for the algorithm and influence false positive references to the P trns table. It also bounds the size of B, resulting in poor average shift values, since most combinations of those B-bytes are suffixes of our m-prefix patterns. The Snort pattern set contains many short patterns, specifically 410 distinct patterns of length 3, 539 of length 4 and 381 of length 5. To circumvent this problem we inspected the containing rules. We can eliminate most of the short patterns by using longer pattern within the same rule (as in Snort that defines such pattern with the fast pattern flag) or relying on specific flow parameters (as in [12]). For instance, 74% of the rules that contain these short patterns, contain also longer patterns. Eliminating short patterns is effective for patterns shorter than 5, hence we can safely choose m = 5. Still in order to understand the effects of different m and B, we experimented with values for 4 m 6. In order to understand the impact of B and m we examined the character of skip ratio, S r, the percentage of characters the algorithm skips. S r is a dominant performance factor of both SPC and MWM. Fig. 4 outlines the skip ratio as a parameter of m and B and compares the performance of SPC to MWM. As described in Section IV, SPC shift ratio is based on two factors: the MWM shift for scans outside pointers and skipping internal pointer byte scans. When m = B, MWM does not skip at all. In that case the SPC shifts are based solely on internal pointer skipping. For m = B, S r ranges from 70% to 60% as m increases; i.e. the factor based on internal pointer skips, is the dominant one for the given m values. We note that m = 6 gains the best performance as it provides the largest maximal shift value (equals to m B +1). However, using m = 6 as the shortest pattern length discards too many patterns. We chose m = 5 as a tradeoff between performance and pattern-set coverage. The skip ratio of SPC is much better than that of MWM, and on Snort, for some values of m and B, we get more than twice the skip ratio. This property of SPC is a direct result of skipping pointers whose referred bytes were already scanned. The B parameter determines the text block size on which the shftv alue is calculated and has two dominant effects on the performance of MWM and SPC: larger B value decreases the maximal shift, S m = m B + 1, which correlates directly to the average shift but it also increases part of the shift values as it decreases the percentage of entries which results in shift value is 0. Overall the maximal skip ratio for Snort is 82.7% for m = 5 and B = 3, whereas on ModSecurity S r is 87.5% for m = 5 and B = 2. D. SPC Run-Time Performance This section presents the run-time performance of SPC as compared to our improved implementation of MWM (as described in section III) and to ACCH, the only current algorithm that handles compressed web traffic. Note that SPC have a basic overhead of 10% over MWM when running on plain uncompressed traffic. This overhead is attributed to the additional P artialm atch bit-vector that impose an overhead of 12.5% memory-references. However since this bit is stored next to its corresponding byte of the traffic and due to the skipping operation we get a smaller overhead. The algorithms performance is measured by their throughput T = W ork/t ime (i.e., scanning the entire data-set divided by the scan time). The throughput, as shown in Fig. 5, is normalized to the one of ACCH (which does not depend on m and B values). We note that ACCH s throughput is roughly three times better than Aho-Corasick (AC is omitted from the figure for clarity). ACCH was tuned with optimal parameters as recommended in [1]. The measured throughput of SPC on our experimental environment for Snort is Gbit/sec for m = 5 and B = 4 and for ModSecurity it is Gbit/sec for m = 5 and B = 3. Those results were received by running with 4 threads that performs pattern matching on data loaded on advance to the memory. Our implementation uses C# general purpose software libraries and is not optimized for the best throughput. Our goal is to compare between the different algorithms for better understanding of SPC characteristics. Better throughput can be gained by using optimized software libraries or hardware optimized to networking. As can be seen, for m = 5, when running on Snort, SPC s throughput is better than ACCH s by up to 51.86%, whereas on ModSecurity, we get throughput improvement of %. When comparing SPC to MWM the throughput improvement is 73.23% on Snort, and 90.04% on ModSecurity. Note that for all m and B values, SPC is faster that MWM. The maximum throughput is achieved for m = 5 when B = 4 while the maximum skip ratio is achieved for B = 3. This is due to the fact that when B is larger we avoid unnecessary false positive references to the P trns data structure. Furthermore, we found out that for the Snort pattern-set we reach a small value of 0.3 memory reference per char. E. SPC Storage Requirements We elaborate on the data structures that are used by SPC and MWM: ShiftT able and P trns As explained in Section III. ShiftT able - is a hash-table that holds shift values and uses the last B-bytes of the scan window as the hashkey. If the key is not found in the hash, the maximal shift value, S m = m B + 1, is returned. Each hashentry contains a pointer to a list of B-bytes key and the corresponding shift value. The maximal value need to be stored is the maximal shift value 1, hence there are m B different shift values. To represent those, we need log 2 (m B) bits. We use 8 B bits. The total size of this table is less than 58KB for Snort and less then 1.61KB for ModSecurity. P trns - is a hash-table of the pattern references (indexes) hashed using the m-bytes pattern prefixes. Each P trns
7 SPC MWM SPC MWM Skip Ratio (%) 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% B=2 B=3 B=4 B=2 B=3 B=4 B=5 B=2 B=3 B=4 B=5 B=6 Skip Ratio (%) 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% B=2 B=3 B=4 B=2 B=3 B=4 B=5 B=2 B=3 B=4 B=5 B=6 m=4 m=5 m=6 m=4 m=5 m=6 (a). Snort (b). ModSecurity Fig. 4. Skipped Character Ratio (S r ) SPC MWM ACCH SPC MWM ACCH 250% 250% Throughput Normalized to ACCH 200% 150% 100% 50% 0% B=2 B=3 B=4 B=2 B=3 B=4 B=5 B=2 B=3 B=4 B=5 B=6 Throughput Normalized to ACCH 200% 150% 100% 50% 0% B=2 B=3 B=4 B=2 B=3 B=4 B=5 B=2 B=3 B=4 B=5 B=6 m=4 m=5 m=6 (a). Snort Fig. 5. Normalized Throughput m=4 m=5 m=6 (b). ModSecurity table entry holds a pointer to the list of pattern references with the same m-bytes prefix, where each reference is an index to an array that contains the patterns themselves. Hence, we only need to store a log 2 (N) bits per pattern reference, where N is the number of patterns, 8 m bytes for each key and 32bits for the pointer. For Snort, with m = 5 this data-structure requires less then 152KB whereas, for ModSecurity, it requires only 4.05KB. Note that we use hash-table implementation such as each hash entry is a list implemented as a fixed size array, which provides a space efficient implementation but expensive in case of updates to the patterns-set. We believe that for most usage scenarios this is the right tradeoff. However, in case the hashtable needs to support updates, an additional space is needed, as the arrays are replaced by linked lists with pointers, this roughly multiply the memory requirements of the hash-tables by two. Overall, this is still a space efficient implementation. Table I summarizes the memory required by each of the listed data-structures: m B ShiftTable Ptrns Total Storage Snort ModSecurity TABLE I STORAGE REQUIREMENTS (KB) Our implementation is very space efficient as we receive that both MWM and SPC algorithms requires around 1.88 bytes per char for Snort and ModSecurity as opposed to 1.4KB [13] of the original MWM algorithm. This small space requirement increases the probability that the entire table would reside within the cache and thus is a key factor responsible for the performance achieved by the algorithm. VI. RELATED WORK Compressed pattern matching has received attention in the context of the Lempel-Ziv compression family [14] [17]. However, the LZW/LZ78 are more attractive and simple for pattern matching than LZ77. Recall that HTTP uses LZ77 compression, and hence all the above works are not applicable to our case. Klein and Shapira [18] suggest modification to the LZ77 compression algorithm to make the task of the matching easier in files. However, the suggestion is not implemented in today s web traffic. Farach et. al [19] is the only paper we are aware of that deals with pattern matching over LZ77. However, in this paper the algorithm is capable of matching only single pattern and requires two passes over the compressed text (file), which does not comply to the on-the-fly processing requirement applied by the network domains. The first attempt that tackles the problem of performing efficient pattern matching on compressed HTTP traffic, i.e., on the LZ77 family and in the context of networking is presented in [1]. The paper suggests that the pattern matching task can be accelerated using the compression information. In fact, the paper shows that pattern matching on compressed HTTP traffic, with the overhead of decompression is faster than DFA-based pattern matching (such as Aho-Corasick algorithm [4]). This
8 paper shows that the same approach can be applied on another important family of pattern matching algorithms, the shiftbased technique, such as Boyer-Moore [11] and the modified Wu-Manber (MWM) [5]. We show that accelerating MWM pattern algorithm results in a simpler algorithm, with higher throughput and lower storage overhead than accelerating Aho- Corasick Algorithm. The algorithm can be combined with enhanced solutions based on MWM such as [20] [25] and also can be implemented for TCAM environment as in [12]. VII. CONCLUSION AND FUTURE WORK With the sharp increase in cellular web surfing, HTTP compression becomes common in todays web traffic. Yet due to its performance requirements, most security devices tend to ignore or bypass the compressed traffic and thus introduce either a security hole or a potential for a denial of service attack. This paper presents SPC, a technique that takes advantage of the information within the compressed traffic to accelerate rather than slow down the entire pattern matching process. The algorithm gains a performance boost of over 51% using half the space of the additional information per connection compared to previous known solution, ACCH. The algorithm presented in this paper should encourage vendors to support inspection of such traffic in their security equipment. As for future work we plan on handling regular expression matching over compressed web traffic. [17] G. Navarro and J. Tarhio, Boyer-moore string matching over ziv-lempel compressed text, in Proceedings of the 11th Annual Symposium on Combinatorial Pattern Matching, pp , [18] S. Klein and D. Shapira, A new compression method for compressed matching, in Proceedings of data compression conference DCC-2000, Snowbird, Utah, pp , [19] M. Farach and M. Thorup, String matching in lempel-ziv compressed strings, in 27th annual ACM symposium on the theory of computing, pp , [20] R. Liu, N. Huang, C. Kao, C. Chen, and C. Chou, A fast pattern-match engine for network processor-based network intrusion detection system, in ITCC, pp , [21] S. Antonatos, M. Polychronakis, P. Akritidis, K. G. Anagnostakis, and E. P. Markatos, Piranha: Fast and memory-efficient pattern matching for intrusion detection, in IFIP Advances in Information and Communication Technology, pp , [22] B. Zhang, X. Chen, L. Ping, and Z. Wu, Address filtering based wumanber multiple patterns matching algorithm, in WCSE, [23] Z. Qiang, An improved multiple patterns matching algorithm for intrusion detection, in ICIS, [24] Y. Choi, M. Jung, and S. Seo, L+1-mwm: A fast pattern matching algorithm for high-speed packet filtering, in INFOCOM, [25] K. G. Anagnostakis, E. P. Markatos, S. Antonatos, and M. Polychronakis, E 2 xb: A domain-specific string matching algorithm for intrusion detection, in SEC2003, REFERENCES [1] A. Bremler-Barr and Y. Koral, Accelerating multi-patterns matching on compressed HTTP, in INFOCOM th IEEE International Conference on Computer Communications, April [2] Top sites, July [3] Modsecurity. (accessed on July 2008). [4] A. Aho and M. Corasick, Efficient string matching: an aid to bibliographic search, Communications of the ACM, pp , [5] S. Wu and U. Manber, A fast algorithm for multi-pattern searching, Technical Report TR94-17, May [6] Snort. (accessed on October 2010). [7] Hypertext transfer protocol http/1.1, June RFC 2616, [8] J. Ziv and A. Lempel, A universal algorithm for sequential data compression, IEEE Transactions on Information Theory, pp , May [9] D. Huffman, A method for the construction of minimum-redundancy codes, Proceedings of IRE, p , [10] Y. Afek, A. Bremler-Barr, and Y. Koral, Efficient processing of multiconnection compressed web traffic, in IFIP NETWORKING, [11] R. Boyer and J. Moore, A fast string searching algorithm, Communications of the ACM, pp , October [12] Y. Weinsberg, S. Tzur-David, D. Dolev, and T. Anker, High performance string matching algorithm for a network intrusion prevention system (nips), in HPSR, [13] N. Tuck, T. Sherwood, B. Calder, and G. Varghese, Deterministic memoryefficient string matching algorithms for intrusion detection, in INFOCOM 2004, [14] A. Amir, G. Benson, and M. Farach, Let sleeping files lie: Pattern matching in z-compressed files, Journal of Computer and System Sciences, pp , [15] T. Kida, M. Takeda, A. Shinohara, and S. Arikawa, Shift-and approach to pattern matching in lzw compressed text, in 10th Annual Symposium on Combinatorial Pattern Matching (CPM 99), [16] G. Navarro and M. Raffinot, A general practical approach to pattern matching over ziv-lempel compressed text, in 10th Annual Symposium on Combinatorial Pattern Matching (CPM 99), 1999.
SECURITY tools, such as Network Intrusion Detection
1 Accelerating Multi-Pattern Matching on Compressed HTTP Traffic Anat Bremler-Barr, Member, IEEE, and Yaron Koral Abstract Current security tools, using signature-based detection, do not handle compressed
Storage Optimization in Cloud Environment using Compression Algorithm
Storage Optimization in Cloud Environment using Compression Algorithm K.Govinda 1, Yuvaraj Kumar 2 1 School of Computing Science and Engineering, VIT University, Vellore, India [email protected] 2 School
A Partition-Based Efficient Algorithm for Large Scale. Multiple-Strings Matching
A Partition-Based Efficient Algorithm for Large Scale Multiple-Strings Matching Ping Liu Jianlong Tan, Yanbing Liu Software Division, Institute of Computing Technology, Chinese Academy of Sciences, Beijing,
LZ77. Example 2.10: Let T = badadadabaab and assume d max and l max are large. phrase b a d adadab aa b
LZ77 The original LZ77 algorithm works as follows: A phrase T j starting at a position i is encoded as a triple of the form distance, length, symbol. A triple d, l, s means that: T j = T [i...i + l] =
Robust Quick String Matching Algorithm for Network Security
18 IJCSNS International Journal of Computer Science and Network Security, VOL.6 No.7B, July 26 Robust Quick String Matching Algorithm for Network Security Jianming Yu, 1,2 and Yibo Xue, 2,3 1 Department
Image Compression through DCT and Huffman Coding Technique
International Journal of Current Engineering and Technology E-ISSN 2277 4106, P-ISSN 2347 5161 2015 INPRESSCO, All Rights Reserved Available at http://inpressco.com/category/ijcet Research Article Rahul
Wan Accelerators: Optimizing Network Traffic with Compression. Bartosz Agas, Marvin Germar & Christopher Tran
Wan Accelerators: Optimizing Network Traffic with Compression Bartosz Agas, Marvin Germar & Christopher Tran Introduction A WAN accelerator is an appliance that can maximize the services of a point-to-point(ptp)
Key Components of WAN Optimization Controller Functionality
Key Components of WAN Optimization Controller Functionality Introduction and Goals One of the key challenges facing IT organizations relative to application and service delivery is ensuring that the applications
Configurable String Matching Hardware for Speeding up Intrusion Detection. Monther Aldwairi*, Thomas Conte, Paul Franzon
Configurable String Matching Hardware for Speeding up Intrusion Detection Monther Aldwairi*, Thomas Conte, Paul Franzon Department of Electrical and Computer Engineering, North Carolina State University,
Lempel-Ziv Coding Adaptive Dictionary Compression Algorithm
Lempel-Ziv Coding Adaptive Dictionary Compression Algorithm 1. LZ77:Sliding Window Lempel-Ziv Algorithm [gzip, pkzip] Encode a string by finding the longest match anywhere within a window of past symbols
Analysis of Compression Algorithms for Program Data
Analysis of Compression Algorithms for Program Data Matthew Simpson, Clemson University with Dr. Rajeev Barua and Surupa Biswas, University of Maryland 12 August 3 Abstract Insufficient available memory
On line construction of suffix trees 1
(To appear in ALGORITHMICA) On line construction of suffix trees 1 Esko Ukkonen Department of Computer Science, University of Helsinki, P. O. Box 26 (Teollisuuskatu 23), FIN 00014 University of Helsinki,
A Fast Pattern-Matching Algorithm for Network Intrusion Detection System
A Fast Pattern-Matching Algorithm for Network Intrusion Detection System Jung-Sik Sung 1, Seok-Min Kang 2, Taeck-Geun Kwon 2 1 ETRI, 161 Gajeong-dong, Yuseong-gu, Daejeon, 305-700, Korea [email protected]
Improved Snort Intrusion Detection System Using Modified Pattern Matching Technique
Improved Snort Intrusion Detection System Using Modified Pattern Matching Technique Chintan C. Kacha 1, Kirtee A. Shevade 2, Dr. Kuldeep S. Raghuwanshi 3 1 Department of Computer Science, Oriental College
Internet Firewall CSIS 4222. Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS 4222. net15 1. Routers can implement packet filtering
Internet Firewall CSIS 4222 A combination of hardware and software that isolates an organization s internal network from the Internet at large Ch 27: Internet Routing Ch 30: Packet filtering & firewalls
Optimizing Pattern Matching for Intrusion Detection
Optimizing Pattern Matching for Intrusion Detection Marc Norton Abstract This paper presents an optimized version of the Aho-Corasick [1] algorithm. This design represents a significant enhancement to
Vulnerability Analysis of Hash Tables to Sophisticated DDoS Attacks
International Journal of Information & Computation Technology. ISSN 0974-2239 Volume 4, Number 12 (2014), pp. 1167-1173 International Research Publications House http://www. irphouse.com Vulnerability
Compression techniques
Compression techniques David Bařina February 22, 2013 David Bařina Compression techniques February 22, 2013 1 / 37 Contents 1 Terminology 2 Simple techniques 3 Entropy coding 4 Dictionary methods 5 Conclusion
Data Reduction: Deduplication and Compression. Danny Harnik IBM Haifa Research Labs
Data Reduction: Deduplication and Compression Danny Harnik IBM Haifa Research Labs Motivation Reducing the amount of data is a desirable goal Data reduction: an attempt to compress the huge amounts of
ProTrack: A Simple Provenance-tracking Filesystem
ProTrack: A Simple Provenance-tracking Filesystem Somak Das Department of Electrical Engineering and Computer Science Massachusetts Institute of Technology [email protected] Abstract Provenance describes a file
A Multiple Sliding Windows Approach to Speed Up String Matching Algorithms
A Multiple Sliding Windows Approach to Speed Up String Matching Algorithms Simone Faro and Thierry Lecroq Università di Catania, Viale A.Doria n.6, 95125 Catania, Italy Université de Rouen, LITIS EA 4108,
So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #39 Search Engines and Web Crawler :: Part 2 So today we
EFFICIENT EXTERNAL SORTING ON FLASH MEMORY EMBEDDED DEVICES
ABSTRACT EFFICIENT EXTERNAL SORTING ON FLASH MEMORY EMBEDDED DEVICES Tyler Cossentine and Ramon Lawrence Department of Computer Science, University of British Columbia Okanagan Kelowna, BC, Canada [email protected]
Enhance Service Delivery and Accelerate Financial Applications with Consolidated Market Data
White Paper Enhance Service Delivery and Accelerate Financial Applications with Consolidated Market Data What You Will Learn Financial market technology is advancing at a rapid pace. The integration of
Traffic Analysis: From Stateful Firewall to Network Intrusion Detection System
Traffic Analysis: From Stateful Firewall to Network Intrusion Detection System Fanglu Guo Tzi-cker Chiueh Computer Science Department Stony Brook University, NY 11794 {fanglu, chiueh}@cs.sunysb.edu 1 Abstract
A Perfect CRIME? TIME Will Tell. Tal Be ery, Web research TL
A Perfect CRIME? TIME Will Tell Tal Be ery, Web research TL Agenda BEAST + Modes of operation CRIME + Gzip compression + Compression + encryption leak data TIME + Timing + compression leak data Attacking
Performance Characteristics of VMFS and RDM VMware ESX Server 3.0.1
Performance Study Performance Characteristics of and RDM VMware ESX Server 3.0.1 VMware ESX Server offers three choices for managing disk access in a virtual machine VMware Virtual Machine File System
Physical Data Organization
Physical Data Organization Database design using logical model of the database - appropriate level for users to focus on - user independence from implementation details Performance - other major factor
An efficient matching algorithm for encoded DNA sequences and binary strings
An efficient matching algorithm for encoded DNA sequences and binary strings Simone Faro and Thierry Lecroq [email protected], [email protected] Dipartimento di Matematica e Informatica, Università
FCE: A Fast Content Expression for Server-based Computing
FCE: A Fast Content Expression for Server-based Computing Qiao Li Mentor Graphics Corporation 11 Ridder Park Drive San Jose, CA 95131, U.S.A. Email: qiao [email protected] Fei Li Department of Computer Science
Firewall Security: Policies, Testing and Performance Evaluation
Firewall Security: Policies, Testing and Performance Evaluation Michael R. Lyu and Lorrien K. Y. Lau Department of Computer Science and Engineering The Chinese University of Hong Kong, Shatin, HK [email protected],
Original-page small file oriented EXT3 file storage system
Original-page small file oriented EXT3 file storage system Zhang Weizhe, Hui He, Zhang Qizhen School of Computer Science and Technology, Harbin Institute of Technology, Harbin E-mail: [email protected]
Fast string matching
Fast string matching This exposition is based on earlier versions of this lecture and the following sources, which are all recommended reading: Shift-And/Shift-Or 1. Flexible Pattern Matching in Strings,
Implementation of a Lightweight Service Advertisement and Discovery Protocol for Mobile Ad hoc Networks
Implementation of a Lightweight Advertisement and Discovery Protocol for Mobile Ad hoc Networks Wenbin Ma * Department of Electrical and Computer Engineering 19 Memorial Drive West, Lehigh University Bethlehem,
Reference Guide WindSpring Data Management Technology (DMT) Solving Today s Storage Optimization Challenges
Reference Guide WindSpring Data Management Technology (DMT) Solving Today s Storage Optimization Challenges September 2011 Table of Contents The Enterprise and Mobile Storage Landscapes... 3 Increased
Arithmetic Coding: Introduction
Data Compression Arithmetic coding Arithmetic Coding: Introduction Allows using fractional parts of bits!! Used in PPM, JPEG/MPEG (as option), Bzip More time costly than Huffman, but integer implementation
Intrusion Detection via Static Analysis
Intrusion Detection via Static Analysis IEEE Symposium on Security & Privacy 01 David Wagner Drew Dean Presented by Yongjian Hu Outline Introduction Motivation Models Trivial model Callgraph model Abstract
Using Synology SSD Technology to Enhance System Performance Synology Inc.
Using Synology SSD Technology to Enhance System Performance Synology Inc. Synology_SSD_Cache_WP_ 20140512 Table of Contents Chapter 1: Enterprise Challenges and SSD Cache as Solution Enterprise Challenges...
In-Memory Databases Algorithms and Data Structures on Modern Hardware. Martin Faust David Schwalb Jens Krüger Jürgen Müller
In-Memory Databases Algorithms and Data Structures on Modern Hardware Martin Faust David Schwalb Jens Krüger Jürgen Müller The Free Lunch Is Over 2 Number of transistors per CPU increases Clock frequency
Benchmarking Cassandra on Violin
Technical White Paper Report Technical Report Benchmarking Cassandra on Violin Accelerating Cassandra Performance and Reducing Read Latency With Violin Memory Flash-based Storage Arrays Version 1.0 Abstract
Offloading file search operation for performance improvement of smart phones
Offloading file search operation for performance improvement of smart phones Ashutosh Jain [email protected] Vigya Sharma [email protected] Shehbaz Jaffer [email protected] Kolin Paul
File Systems Management and Examples
File Systems Management and Examples Today! Efficiency, performance, recovery! Examples Next! Distributed systems Disk space management! Once decided to store a file as sequence of blocks What s the size
USING LOCAL NETWORK AUDIT SENSORS AS DATA SOURCES FOR INTRUSION DETECTION. Integrated Information Systems Group, Ruhr University Bochum, Germany
USING LOCAL NETWORK AUDIT SENSORS AS DATA SOURCES FOR INTRUSION DETECTION Daniel Hamburg,1 York Tüchelmann Integrated Information Systems Group, Ruhr University Bochum, Germany Abstract: The increase of
Index Terms Domain name, Firewall, Packet, Phishing, URL.
BDD for Implementation of Packet Filter Firewall and Detecting Phishing Websites Naresh Shende Vidyalankar Institute of Technology Prof. S. K. Shinde Lokmanya Tilak College of Engineering Abstract Packet
Network Security Algorithms
Network Security Algorithms Thomas Zink University of Konstanz [email protected] Abstract. Viruses, Worms and Trojan Horses, the malware zoo is growing every day. Hackers and Crackers try to
Lossless Data Compression Standard Applications and the MapReduce Web Computing Framework
Lossless Data Compression Standard Applications and the MapReduce Web Computing Framework Sergio De Agostino Computer Science Department Sapienza University of Rome Internet as a Distributed System Modern
A Comparative Study on Vega-HTTP & Popular Open-source Web-servers
A Comparative Study on Vega-HTTP & Popular Open-source Web-servers Happiest People. Happiest Customers Contents Abstract... 3 Introduction... 3 Performance Comparison... 4 Architecture... 5 Diagram...
Improved Single and Multiple Approximate String Matching
Improved Single and Multiple Approximate String Matching Kimmo Fredriksson Department of Computer Science, University of Joensuu, Finland Gonzalo Navarro Department of Computer Science, University of Chile
Information, Entropy, and Coding
Chapter 8 Information, Entropy, and Coding 8. The Need for Data Compression To motivate the material in this chapter, we first consider various data sources and some estimates for the amount of data associated
High Performance String Matching Algorithm for a Network Intrusion Prevention System (NIPS)
High Performance String Matching Algorithm for a Network Intrusion Prevention System (NIPS) Yaron Weinsberg Shimrit Tzur-David Danny Dolev The Hebrew University Of Jerusalem Email: {wyaron,shimritd,dolev}@cs.huji.ac.il
Raima Database Manager Version 14.0 In-memory Database Engine
+ Raima Database Manager Version 14.0 In-memory Database Engine By Jeffrey R. Parsons, Senior Engineer January 2016 Abstract Raima Database Manager (RDM) v14.0 contains an all new data storage engine optimized
respectively. Section IX concludes the paper.
1 Fast and Scalable Pattern Matching for Network Intrusion Detection Systems Sarang Dharmapurikar, and John Lockwood, Member IEEE Abstract High-speed packet content inspection and filtering devices rely
How SafeVelocity Improves Network Transfer of Files
How SafeVelocity Improves Network Transfer of Files 1. Introduction... 1 2. Common Methods for Network Transfer of Files...2 3. Need for an Improved Network Transfer Solution... 2 4. SafeVelocity The Optimum
Testing & Assuring Mobile End User Experience Before Production. Neotys
Testing & Assuring Mobile End User Experience Before Production Neotys Agenda Introduction The challenges Best practices NeoLoad mobile capabilities Mobile devices are used more and more At Home In 2014,
Chapter 9 Firewalls and Intrusion Prevention Systems
Chapter 9 Firewalls and Intrusion Prevention Systems connectivity is essential However it creates a threat Effective means of protecting LANs Inserted between the premises network and the to establish
CORPORATE AV / EPP COMPARATIVE ANALYSIS
CORPORATE AV / EPP COMPARATIVE ANALYSIS Exploit Evasion Defenses 2013 Randy Abrams, Dipti Ghimire, Joshua Smith Tested Vendors AVG, ESET, F- Secure, Kaspersky, McAfee, Microsoft, Norman, Panda, Sophos,
CS 356 Lecture 19 and 20 Firewalls and Intrusion Prevention. Spring 2013
CS 356 Lecture 19 and 20 Firewalls and Intrusion Prevention Spring 2013 Review Chapter 1: Basic Concepts and Terminology Chapter 2: Basic Cryptographic Tools Chapter 3 User Authentication Chapter 4 Access
Hardware Configuration Guide
Hardware Configuration Guide Contents Contents... 1 Annotation... 1 Factors to consider... 2 Machine Count... 2 Data Size... 2 Data Size Total... 2 Daily Backup Data Size... 2 Unique Data Percentage...
Optimizing LTO Backup Performance
Optimizing LTO Backup Performance July 19, 2011 Written by: Ash McCarty Contributors: Cedrick Burton Bob Dawson Vang Nguyen Richard Snook Table of Contents 1.0 Introduction... 3 2.0 Host System Configuration...
Storage Management for Files of Dynamic Records
Storage Management for Files of Dynamic Records Justin Zobel Department of Computer Science, RMIT, GPO Box 2476V, Melbourne 3001, Australia. [email protected] Alistair Moffat Department of Computer Science
Lempel-Ziv Factorization: LZ77 without Window
Lempel-Ziv Factorization: LZ77 without Window Enno Ohlebusch May 13, 2016 1 Sux arrays To construct the sux array of a string S boils down to sorting all suxes of S in lexicographic order (also known as
SiteCelerate white paper
SiteCelerate white paper Arahe Solutions SITECELERATE OVERVIEW As enterprises increases their investment in Web applications, Portal and websites and as usage of these applications increase, performance
Chapter-1 : Introduction 1 CHAPTER - 1. Introduction
Chapter-1 : Introduction 1 CHAPTER - 1 Introduction This thesis presents design of a new Model of the Meta-Search Engine for getting optimized search results. The focus is on new dimension of internet
Frequently Asked Questions
Frequently Asked Questions 1. Q: What is the Network Data Tunnel? A: Network Data Tunnel (NDT) is a software-based solution that accelerates data transfer in point-to-point or point-to-multipoint network
Amadeus SAS Specialists Prove Fusion iomemory a Superior Analysis Accelerator
WHITE PAPER Amadeus SAS Specialists Prove Fusion iomemory a Superior Analysis Accelerator 951 SanDisk Drive, Milpitas, CA 95035 www.sandisk.com SAS 9 Preferred Implementation Partner tests a single Fusion
ANALYSIS OF THE EFFECTIVENESS IN IMAGE COMPRESSION FOR CLOUD STORAGE FOR VARIOUS IMAGE FORMATS
ANALYSIS OF THE EFFECTIVENESS IN IMAGE COMPRESSION FOR CLOUD STORAGE FOR VARIOUS IMAGE FORMATS Dasaradha Ramaiah K. 1 and T. Venugopal 2 1 IT Department, BVRIT, Hyderabad, India 2 CSE Department, JNTUH,
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
A Deduplication File System & Course Review
A Deduplication File System & Course Review Kai Li 12/13/12 Topics A Deduplication File System Review 12/13/12 2 Traditional Data Center Storage Hierarchy Clients Network Server SAN Storage Remote mirror
Computer Networks - CS132/EECS148 - Spring 2013 ------------------------------------------------------------------------------
Computer Networks - CS132/EECS148 - Spring 2013 Instructor: Karim El Defrawy Assignment 2 Deadline : April 25 th 9:30pm (hard and soft copies required) ------------------------------------------------------------------------------
Fast Arithmetic Coding (FastAC) Implementations
Fast Arithmetic Coding (FastAC) Implementations Amir Said 1 Introduction This document describes our fast implementations of arithmetic coding, which achieve optimal compression and higher throughput by
Cache Configuration Reference
Sitecore CMS 6.2 Cache Configuration Reference Rev: 2009-11-20 Sitecore CMS 6.2 Cache Configuration Reference Tips and Techniques for Administrators and Developers Table of Contents Chapter 1 Introduction...
Performance measurements of syslog-ng Premium Edition 4 F1
Performance measurements of syslog-ng Premium Edition 4 F1 October 13, 2011 Abstract Performance analysis of syslog-ng Premium Edition Copyright 1996-2011 BalaBit IT Security Ltd. Table of Contents 1.
On the Use of Compression Algorithms for Network Traffic Classification
On the Use of for Network Traffic Classification Christian CALLEGARI Department of Information Ingeneering University of Pisa 23 September 2008 COST-TMA Meeting Samos, Greece Outline Outline 1 Introduction
Efficient Prevention of Credit Card Leakage from Enterprise Networks
Efficient Prevention of Credit Card Leakage from Enterprise Networks Matthew Hall 1, Reinoud Koornstra 2, and Miranda Mowbray 3 1 No Institutional Affiliation, mhall @ mhcomputing.net 2 HP Networking,
Speeding Up Cloud/Server Applications Using Flash Memory
Speeding Up Cloud/Server Applications Using Flash Memory Sudipta Sengupta Microsoft Research, Redmond, WA, USA Contains work that is joint with B. Debnath (Univ. of Minnesota) and J. Li (Microsoft Research,
Big Data Technology Map-Reduce Motivation: Indexing in Search Engines
Big Data Technology Map-Reduce Motivation: Indexing in Search Engines Edward Bortnikov & Ronny Lempel Yahoo Labs, Haifa Indexing in Search Engines Information Retrieval s two main stages: Indexing process
Intel DPDK Boosts Server Appliance Performance White Paper
Intel DPDK Boosts Server Appliance Performance Intel DPDK Boosts Server Appliance Performance Introduction As network speeds increase to 40G and above, both in the enterprise and data center, the bottlenecks
Mobile Performance Testing Approaches and Challenges
NOUS INFOSYSTEMS LEVERAGING INTELLECT Mobile Performance Testing Approaches and Challenges ABSTRACT Mobile devices are playing a key role in daily business functions as mobile devices are adopted by most
Geospatial Server Performance Colin Bertram UK User Group Meeting 23-Sep-2014
Geospatial Server Performance Colin Bertram UK User Group Meeting 23-Sep-2014 Topics Auditing a Geospatial Server Solution Web Server Strategies and Configuration Database Server Strategy and Configuration
Network (Tree) Topology Inference Based on Prüfer Sequence
Network (Tree) Topology Inference Based on Prüfer Sequence C. Vanniarajan and Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology Madras Chennai 600036 [email protected],
Searching BWT compressed text with the Boyer-Moore algorithm and binary search
Searching BWT compressed text with the Boyer-Moore algorithm and binary search Tim Bell 1 Matt Powell 1 Amar Mukherjee 2 Don Adjeroh 3 November 2001 Abstract: This paper explores two techniques for on-line
PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design
PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions Slide 1 Outline Principles for performance oriented design Performance testing Performance tuning General
Evaluating the Vulnerability of Network Mechanisms to Sophisticated DDoS Attacks
Evaluating the of Network echanisms to Sophisticated DDoS Attacks Udi Ben-Porat Computer Science Dept. Tel-Aviv University, Israel Email: [email protected] Anat Bremler-Barr Computer Science Dept.
Magento & Zend Benchmarks Version 1.2, 1.3 (with & without Flat Catalogs)
Magento & Zend Benchmarks Version 1.2, 1.3 (with & without Flat Catalogs) 1. Foreword Magento is a PHP/Zend application which intensively uses the CPU. Since version 1.1.6, each new version includes some
Dual Mechanism to Detect DDOS Attack Priyanka Dembla, Chander Diwaker 2 1 Research Scholar, 2 Assistant Professor
International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Journal of Engineering, Business and Enterprise
Detection of Distributed Denial of Service Attack with Hadoop on Live Network
Detection of Distributed Denial of Service Attack with Hadoop on Live Network Suchita Korad 1, Shubhada Kadam 2, Prajakta Deore 3, Madhuri Jadhav 4, Prof.Rahul Patil 5 Students, Dept. of Computer, PCCOE,
