An Efficient and Unified Approach to Correlating, Hypothesizing, and Predicting Intrusion Alerts

Size: px
Start display at page:

Download "An Efficient and Unified Approach to Correlating, Hypothesizing, and Predicting Intrusion Alerts"

Transcription

1 An Efficient and Unified Approach to Correlating, Hypothesizing, and Predicting Intrusion Alerts Lingyu Wang, Anyi Liu, and Sushil Jajodia Center for Secure Information Systems, George Mason University, Fairfax, VA , USA {lwang3, aliu1, Abstract. To defend against a multi-step network intrusion, its progress needs to be monitored and predicted in real-time. For this purpose, isolated alerts must be correlated into attack scenarios as soon as the alerts arrive. Such efficient correlation of alerts demands an in-memory index to be built on received alerts. However, the finite memory implies that only a limited number of alerts inside a sliding window can be considered for correlation. Knowing this fact, an attacker can prevent two attack steps from both falling into the sliding window by either passively delaying the second step or actively invoking bogus alerts between the two steps. In either case, the correlation effort is defeated. In this paper, we first address the above issue with a novel queue graph (QG) approach. Instead of explicitly correlating a new alert to all the old ones that prepare for it, the approach only correlates the new alert to the latest copy of each type of alerts. The correlation with other alerts is kept implicit using the temporal order between alerts. Consequently, the approach has a quadratic (in the number of alert types) memory requirement, and it can correlate two alerts that are arbitrarily far away (namely, an infinitely large sliding window with a quadratic memory requirement). Our second contribution is a unified method based on the QG approach that can correlate received alerts, hypothesize missing alerts, and predict future alerts all at the same time. Empirical results show that our method can fulfill those tasks faster than an IDS can report alerts. The method is thus a promising solution for administrators to monitor and predict the progress of an intrusion, and thus to take appropriate countermeasures in a timely manner. 1 Introduction For most well-administrated networks, a realistic intrusion is usually composed of multiple attacks with earlier ones preparing for later ones. Defending against such multistep intrusions is important but challenging. It is usually impossible to respond to such intrusions based on isolated alerts that correspond to individual attack steps. The reason lies in the well-known impreciseness of Intrusion Detection Systems (IDSs). That is, alerts reported by IDSs are usually filled with false alerts that correspond to either normal traffic or failed attack attempts. This work was partially supported by the National Science Foundation under grant CCR , by Air Force Research Laboratory, Rome under the contract F , and by Army Research Office under the grant DAAD S. De Capitani di Vimercati et al. (Eds.): ESORICS 2005, LNCS 3679, pp , c Springer-Verlag Berlin Heidelberg 2005

2 248 L. Wang, A. Liu, and S. Jajodia The defense of multi-step intrusions will be more effective, if the attack scenarios of such intrusions can be reconstructed from isolated alerts. Alert correlation techniques achieve this 1 by exploiting either the similarity in alert attributes or the a priori knowledge about alert dependencies (related work will be reviewed in the next section). Alert correlation can also be based on the knowledge about a given network, such as network connectivity and the relationship between vulnerabilities. Regardless of the different knowledge used by correlation methods, the following nested loop procedure is usually assumed. That is, for each new alert, a search is performed in previously received alerts to find those who prepare for the new one. For off-line applications with a fixed set of alerts, such as computer forensics, this approach is a natural choice with reasonably good performance. For example, by maintaining an in-memory index on alerts, 65k alerts can be processed in less than a second [20]. However, the defense against multi-step intrusions poses a new challenge to existing correlation methods that are based on the nested loop approach. A timely defense requires that each new alert be correlated with older ones as soon as the new alert arrives. This performance requirement demands an in-memory index to be maintained on received alerts. An index on all received alerts would exhaust any finite memory when more and more alerts arrive. Hence, the index can only be maintained for those alerts that are close enough to the new alert, namely, those inside a sliding window. Unfortunately, an attacker aware of this fact can prevent any two attack steps from both falling into the sliding window. This can be achieved by either passively delaying the second step or actively invoking bogus alerts between the two steps. In either case, the correlation effort is completely defeated. In this paper, we first remove the above obstacle towards efficient correlation of intrusion alerts. We propose a novel queue graph (QG) data structure for this purpose. The QG only keeps in memory the latest alert matching each of the known exploits (that is, host-bound vulnerabilities). The correlation is explicit only between the new alert and these in-memory alerts, while that between the new alert and other older alerts is kept implicit with the temporal order between alerts. We then study a QG-based correlation method that can not only correlate received alerts, but also hypothesize missing alerts and predict possible future alerts all at the same time. Finally, we evaluate the proposed techniques through implementations and empirical results. The contribution of this work is two-fold. First, the QG-based alert correlation removes the limitation of a nested loop approach. Our approach has a quadratic memory requirement and a linear time complexity (in the number of known exploits in the given network) that are both independent of the number of received alerts. Hence, the efficiency does not decrease over time. Our approach can correlate alerts that are arbitrarily far away. It thus defeats slowed attacks and injected bogus attacks. Second, the unified approach to alert correlation, hypothesis, and prediction provides a promising solution to the defense of multi-step intrusions. Empirical results indicate that our methods can fulfill the tasks even faster than the IDS can report alerts. Hence, the proposed tech- 1 There are alert correlation techniques used for other purposes, such as correlating multiple victims targeted by the same attacker, but we shall focus on the techniques used for analyzing multi-step intrusions.

3 An Approach to Correlating, Hypothesizing, and Predicting Intrusion Alerts 249 niques can help an administrator to monitor and predict the progress of a multi-step intrusion, and thus to take appropriate countermeasures in a timely manner. The rest of this paper is organized as follows. The next section reviews related work. Section 3 introduces some basic concepts and states our assumptions. Section 4 proposes the QG approach to alert correlation. Section 5 studies a unified method for alert correlation, hypothesis, and prediction. Section 6 evaluates the proposed techniques with implementation and empirical results. Finally, Section 7 concludes the paper and gives future directions. 2 Related Work To reconstruct attack scenarios from isolated alerts, some alert-based correlation techniques employ the a priori knowledge about known attack strategies [6,8,4,9,35] or alert dependencies [3,19,21]. Other techniques do not depend on such knowledge, but cluster alerts through the similarity in their attributes (such as same sources and destinations) [2,5,34,38] or statistical and temporal patterns [16,28]. Hybrid approaches combine different techniques to obtain better results [21,29]. Alert correlation techniques have also been used for other purposes than the analysis of multi-step intrusions, such as to relate alerts to the same attack thread [13]. In real-time applications, the correlation methods based on a nested loop approach either suffer from performance decreases over time or can be easily defeated by slowed attacks and injected bogus attacks. To our best knowledge, this has not been extensively studied. Our work addresses this important issue and provides a solution. Network vulnerability analyses enumerate potential attack sequences between fixed initial conditions and attack goals [25,30,31,33,15,1,14,24,40,10]. To avoid potential combinatorial explosion in the number of attack sequences, we adopt a notation of attack graphs similar to that of [1,25]. However, we do not assume fixed initial or goal conditions in an attack graph but base the actual start and end of an intrusion on alerts. Efforts in integrating information from different sources include M2D2, a formal model of alerts, vulnerabilities, networks, and security tools [18]. By organizing IDS alerts and the reports of vulnerability scanners (or other monitoring tools such as anti-virus software) into a Bayesian network, the alerts corresponding to successful attacks can be distinguished from others with higher confidence [41]. In another recent approach, alert correlation is based on the shortest distance between exploits in an attack graph [23]. We also adopt such a vulnerability-centric approach, because it can effectively filter out bogus alerts that do not match any exploit in the given network. However, the correlation in [23] still assumes a nested loop approach, and hence has the same limitation in realtime applications. Broken scenarios caused by missing alerts are reassembled through clustering alerts with similar attributes [22], and those caused by incomplete knowledge are pieced together through statistical analyses [29,28]. Instead of repairing a broken scenario afterwards, our method can tolerate and hypothesize missing alerts at the same time of correlation. This unified approach makes our method more appropriate for real-time applications. Real-Time detection of isolated alerts is studied in [17,27]. Some products claim to have the capability of real-time analyses of alerts, such as the Tivoli Risk Man-

4 250 L. Wang, A. Liu, and S. Jajodia ager [12], although their efficiency and resistance to slowed attacks may need further study. The RUSSEL language used in the ASAX system is similar to our QG approach in that the analysis of data only requires one-pass of data processing, although the RUS- SEL language is designed for the generic analysis of audit trails [11]. 3 Preliminaries This section reviews relevant concepts and states our notations and assumptions about those concepts. First, we discuss attack graph in Section 3.1. We then address intrusion alerts and alert correlation in Section 3.2. Finally, we address the nested loop approach and its limitations in Section Attack Graph An attack graph represents the a priori knowledge about a given network in terms of vulnerabilities and connectivity [1,33]. An attack graph is a directed graph having two type of vertices, exploits and security conditions. Exploits are host-bound vulnerabilities. More precisely, an exploit is a triple (vul, src, dest) that indicates the following facts. The vulnerability vul exists on the host dest, and the two hosts src and dest are connected (src and dest may refer to the same host in a local exploitation, and those exploitations that involve more than two hosts are beyond the scope of this paper). Security conditions refer to the network states that are required or implied by exploits, such as privilege levels or trusts. The interdependencies between exploits and security conditions form the edges of an attack graph. An edge from a security condition to an exploit indicates that the exploit cannot be executed until the security condition has been satisfied; an edge from an exploit to a security condition indicates that executing the exploit will satisfy the security condition. Example 1. Figure 1 depicts part of an attack graph. In the attack graph, security conditions appear as ovals and exploits as rectangles. The edges in the attack graph reflects that the buffer overflow exploit can be executed only if the attacker can access the source host and the vulnerable service exists on the destination host. We assume attack graphs can be obtained by analyzing the given network with existing tools. For example, the Topological Vulnerability Analysis (TVA) tool reported User privilege on host 1 Vulnerable Sadmind RPC service on host 2 Sadmind buffer overflow vulnerability host 1 host 2 Arbitrary code execution with root privileges on host 2 Fig. 1. An Example of Attack Graph

5 An Approach to Correlating, Hypothesizing, and Predicting Intrusion Alerts 251 in [14] can model 37,000 vulnerabilities taken from 24 information sources including X-Force, Bugtraq, CVE, CERT, Nessus, and Snort. We assume the attack graph is updated in a timely fashion upon changes in network topology and configuration. We assume that the attack graph of a given network can be placed in memory. Unlike the number of alerts which may increase indefinitely over time, the size of an attack graph is usually relatively stable. The required memory can thus be predetermined and allocated accordingly. We leave the case when the attack graph does not fit in memory as future work. Different from the attack graph in [33,30], we do not assume fixed initial or goal conditions in an attack graph. Instead, the actual start and end of an intrusion are based on alerts reported by IDSs. We do not assume external host addresses can be trusted and thus our attack graphs use wildcards for external addresses. This may cause false correlations when multiple attackers concurrently launch similar attacks while they do not intend to cooperate with each other. To simplify our discussion, we introduce some notations to formally denote attack graphs. Let E be the set of exploits discovered in a subject network, and C be the set of relevant security conditions. Denote the require and imply relationship between exploits and security conditions as two relations R r C E and R i E C, respectively. Then an attack graph is the directed graph G(E C, R r R i ). The preparefor relationship between exploits, as captured by many alert correlation methods [3,19], is simply the composite relation R e = R i R r. 3.2 Intrusion Alert Intrusion alerts are suspicious events reported by IDS sensors placed in the given network. Although the alerts reported by different IDSs may vary in format, they typically contain attributes like the type of events, the address of the source and destination host, the time stamp, and so on. Our discussion does not depend on specific format of alerts, and hence we simply regard each alert as a relational tuple of relevant attributes. The schema of the relation will usually be clear from context. For example, with the schema (event type, source IP, destination IP, time stamp), an alert will have the form of (RPC portmap sadmind request UDP, , , 03/07-08:50: ). We adopt a vulnerability-centric approach to correlating alerts that is similar to [23]. Roughly speaking, the approach first matches alerts with corresponding exploits and then correlate alerts based on the knowledge encoded in an attack graph. The matching has two parts, that is the mapping from the event type attributes of alerts to the vulnerability attributes of exploits, and the comparison between the addresses of the source and destination hosts. The mapping from event types to vulnerabilities can be established using domain knowledge, such as the correspondence between Snort identifiers and Nessus identifiers available in OSSIM [26]. The comparison between host addresses supports using wildcards in exploits for untrustworthy external addresses. For simplicity, we denote the matching between alerts and exploits as a function f from the set of alerts A to the set of exploits E (more generally, an event type can match multiple vulnerabilities, and one way to handle this is to duplicate any alert of that even type such that each copy of the alert matches exactly one exploit).

6 252 L. Wang, A. Liu, and S. Jajodia Using the vulnerability-centric approach can potentially mitigate the negative impact of disruptive alerts. For example, if the attacker blindly launches some Windowsspecific attacks on UNIX machines, then the reported alerts will be ignored by the approach. On the other hand, the approach also has limitations in that relevant alerts do not always match exploits. For example, an ICMP PING matches no vulnerability, but it signals the probing preparation for following attacks. Such relevant alerts can be identified based on attack graphs and the knowledge about alert types. We accommodate them by allowing exploits to have alert types in the place of vulnerability attributes. Such special exploits are inserted into attack graphs and the function f is extended accordingly. Our methods critically depend on temporal characteristics of alerts, such as timestamps and the order of arrivals. In practice, those characteristics are expected to exhibit much uncertainty due to various delays in hosts and network, especially when alerts are from multiple sensors placed differently. We address such temporal impreciseness in more details in Section 4.3. We assume the clocks of IDS sensors are loosely synchronized with the correlation engine. This can be achieved in many different ways depending on specific IDS systems. For example, Snort has built-in support of automatic time synchronization through the network time protocol (NTP) [32]. We leave the case where attackers may temper with the clocks as future work. 3.3 The Nested Loop Approach and Its Limitations A natural way to correlate alerts is to search previously received alerts for those who prepare for the new alert. Such a nested loop approach is assumed by many correlation methods. Suppose we have a sequence of alerts ascending in time, a 0, a 1,..., a n. For each i = 1, 2,..., n, the approach searches a 0, a 1,..., a i 1 for those a j s that satisfy f(a j )R e f(a i ). However, this does not imply that a i must be compared to every a j (0 j i 1), although it comprises a naive implementation of the search. The search can certainly be optimized with standard indexing schemes. More specifically, an index on a 0, a 1,..., a i 1 is employed for searching the alerts that may prepare for a i. After a i is processed, the index needs to be updated by inserting an entry for a i. By maintaining such an index in memory, the nested loop approach can have a relatively good performance (for example, 65k alerts can be processed in less than one second [20]). It is not always possible to have enough memory for indexing all the alerts. Hence, a sliding window approach comes to the rescue. That is, only the alerts close enough to the new alert are considered for correlation. For the alert a i, the search is only performed on a i k, a i k+1,..., a i 1, where k is a given window size determined by available memory. Apparently, an unavoidable tradeoff exists between the performance and completeness of correlation. On one hand, performance requires k to be small enough so the index fits in memory. On the other hand, a smaller k means less alerts will be considered for correlation with the new alert, and this may cause incomplete result because two related alerts may actually be separated by more than k others. The tradeoff between performance and completeness causes a more serious problem for real-time correlation, where performance is critical and alerts accumulate in time. The problem can be exacerbated by those attackers who are aware of the ongoing

7 An Approach to Correlating, Hypothesizing, and Predicting Intrusion Alerts 253 detection effort. An attacker can employ the following slow attack to defeat alert correlation. More specifically, given an arbitrarily large window size k, for any two attacks that raise the correlated alerts a i and a j, the attacker can delay the second attack until at least k other alerts have been raised since a i, so j i > k meaning a i and a j will not be correlated. Instead of passively awaiting, a smarter attacker can actively launch bogus attacks between the two real attack steps, so the condition j i > k can be satisfied in a shorter time. The attacker can even script bogus attack sequences between the real attack steps, such that a deceived correlation engine will be kept busy in producing bogus attack scenarios, while the real intrusion will be advanced in peace of mind. 4 The Queue Graphs (QG) Approach to Correlating Alerts This section proposes a novel Queue Graph (QG) data structure to remove the limitation discussed in the previous section. First, we make a key observation about implicit and explicit correlation in Section 4.1. We then introduce the QG data structure and discuss correlating alerts using QG in Section 4.2. Finally, we address the issue of imprecise temporal characteristics of alerts in Section Implicit Correlation and Explicit Correlation The key observation is that the correlation between alerts does not always need to be explicit. In Figure 2, suppose the first three alerts a i, a j, and a k all match the same exploit f(a k ) (that is, their event types match the same vulnerability and the same source and destination hosts are involved); the alert a h matches another exploit f(a h ); f(a k ) prepares for f(a h ). Hence, a i, a j, and a k should all be correlated with a h. However, if the correlation between a k and a h is explicitly recorded (shown as a solid line in the figure), then the correlation between a j and a h can be kept implicit (shown as a dotted-line). More precisely, the facts f(a j ) = f(a k ) and f(a k )R e f(a h ) jointly imply f(a j )R e f(a h ), and the facts that a j is before a k and a k is before a h jointly imply that a j must also be before a h. Similar arguments apply to the correlation between a i and a h. ai aj ak ah time f(ai) = f(aj) = f(ak) f(ak) Re f(ah) Fig. 2. Implicit and Explicit Correlation To generalize the above observation, a new alert only needs to be explicitly correlated with the latest alert matching each exploit. The correlation with other older alerts matching the same exploit can be kept implicit with the temporal order (for example, a j is before a k and a k is before a h ) and the matching from alerts to exploits (for example, a j and a k match the same exploit). In the above case, if a k is indeed the latest alert matching f(a k ), then only the correlation between a h and a k needs to be explicit 2. 2 This is analogous to a moving-average or smoothing model, although what is concerned here is not the accumulated effect of one sequence, but the relationship between multiple sequences.

8 254 L. Wang, A. Liu, and S. Jajodia As we shall show shortly, this distinction between implicit and explicit correlation can reduce the complexity and memory requirement of correlation. Intuitively, for each exploit the correlation algorithm only needs to search backward for the first (a k in the above case) alert matching that exploit. For the nested loop approach, however, the correlation is always explicit. Hence, the approach must unnecessarily search all the previous alerts, as discussed in Section Correlating Alerts Using Queue Graphs Based on the observation about the implicit and explicit correlation, we design an inmemory data structure, namely, Queue Graph. A queue graph is an in-memory materialization of the given attack graph with enhanced features (the purpose of the features will be clear in the following sections). Each exploit is realized as a queue of length one, and each security condition as a variable. The realization of edges is a little more complicated. Starting from each exploit e i, a breadth-first search (BFS) is performed in the attack graph by following the directed edges. For each edge encountered during the search, a forward pointer is created to connect the corresponding queue and variable. Similarly, another search is performed by following the directed edges in their reversed direction, and a backward pointer is created for each encountered edge. Later we shall use the backward edges for correlation purposes and use the forward edges for prediction purposes. The two collections of pointers are then placed at a separate layer tailored to the queue that corresponds to the exploit e i. The reason for separating pointers into layers is as follows. A BFS always creates a tree (namely, the BFS tree), and hence later another BFS starting from the same queue can follow only the pointers at that layer. This later BFS will then be performed within a tree instead of a graph, reducing the complexity from quadratic to linear. We first illustrate the concepts in Example 2. Example 2. In Figure 3, from left to right are a given attack graph, the corresponding queues (shown as buckets) and variables (shown as texts), and the (both forward and backward) pointers at different layers. Notice that the layer one pointers do not include those connecting v 2 and Q 3, because a BFS in the attack graph starting from e 1 will reach c 2 only once (either via e 2 or via e 3, but we assume e 2 in this example). The layer one pointers thus form a tree rooted at Q 1. In Section 3.3, we discussed how a nested loop approach correlates alerts that prepare for each other. As a comparison, we now perform the same correlation using a Attack Graph Queues, Variables Layer 1 Pointers Layer 2 Pointers Layer 3 Pointers c2 v2 v2 v2 v2 e2 e3 Q2 Q3 Q2 Q3 Q2 Q3 c1 v1 v1 v1 v1 e1 Q1 Q1 Q1 Q1 Fig. 3. An Example Queue Graph

9 An Approach to Correlating, Hypothesizing, and Predicting Intrusion Alerts 255 queue graph (we shall discuss other correlation requirements in Section 5). Intuitively, we let the stream of alerts flow through the queue graph, and at the same time we collect correlation results by searching the queue graph. More specifically, each incoming alert is first matched with an exploit and placed in the corresponding queue. Then, because the length of each queue is one, a non-empty queue must dequeue the current alert before it can enqueue a new alert. During this process, the results of correlation are collected as a directed graph, namely, the result graph. First, each new alert is recorded as a vertex in the result graph. Second, when a new alert forces an old alert to be dequeued, a directed edge between the two alerts is added into the result graph, which records the temporal order between the two alerts and the fact that they both match the same exploit. Third, after each new alert is enqueued, a search starts from the queue and follows two consecutive backward pointers; for each non-empty queue encountered during the search, a directed edge from the alert in that queue to the new alert is added into the result graph. This is illustrated in Example 3. Example 3. Consider correlating the four alerts a i, a j, a k, and a h in Figure 2 with the queue graph given in Figure 3, and suppose f(a h ) = e 1, f(a k ) = e 2, and no other alerts match e 1 or e 2 besides a i, a j, a k, and a h. First, when a i arrives, it is placed in the empty queue Q 2. Then, a j forces a i to be dequeued from Q 2, and a directed edge (a i, a j ) in the result graph records the facts that a i is before a j and they both match e 2. Similarly, a k replaces a j in Q 2, and a directed edge (a j, a k ) is recorded. Finally, a h arrives and occupies Q 1, a search starting from Q 1 and following two layer one backward pointers will find the alert a k in Q 2. Hence, a directed edge (a k, a h ) records the only explicit correlation. Definition 1. Let G(E C, R r R i ) be an attack graph, where E = {e i 1 i n}, C = {c i 1 i m}, R r C E, and R i E C. For k = 1, 2,..., n, use BF SR(k) to denote the set of edges visited by a breadth-first search in G(E C, R r R i ) starting from e k, and use BF S(k) for the set of edges visited by a breadth-first search in G(E C, R 1 r R 1 i ) staring from e k, where R 1 r and R 1 i are the inverse relations. The queue graph Q g is a data structure with the following components: Q = {Q i 1 i n} are n queues of length one, V = {v i 1 i m} are m variables, for each k = 1, 2,..., n, P k = {< Q j, v i > (c i, e j ) BF S(k)} {< v i, Q j > (e j, c i ) BF S(k)} are the layer k backward pointers, and PR k = {< v i, Q j > (c i, e j ) BF SR(k)} {< Q j, v i > (e j, c i ) BF SR(k)} are the layer k forward pointers. Definition 1 formally characterizes the queue graph data structure. To rephrase Example 2 using those notations, the queue graph has three queues Q = {Q 1, Q 2, Q 3 } and two variables V = {v 1, v 2 }. The layer one backward pointers are P 1 = {< Q 1, v 1 >,

10 256 L. Wang, A. Liu, and S. Jajodia < v 1, Q 2 >, < Q 2, v 2 >, < v 1, Q 3 >} 3, and the layer one forward pointers are PR 1 = φ. The layer two pointers include P 2 = {< Q 2, v 2 >} and PR 2 = {< Q 2, v 1 >, < v 1, Q 1 >}. The layer three pointers include P 3 = {< Q 3, v 2 >} and PR 3 = {< Q 3, v 1 >, < v 1, Q 1 >}. The process for correlating alerts using a queue graph, as illustrated in Example 3, is more precisely stated as the procedure QG Alert Correlation in Figure 4. The result graph G r has a set of vertices V and two separate sets of edges E r and E l. The edges in E r correspond to the explicit correlations and those in E l record the temporal order between alerts matching the same exploit. Initially, we set the queues in Q, the sets V, E r, and E l as empty. The first step of the procedure inserts the new alert into the result graph. The second step dequeues a non-empty queue and updates the result graph by adding an edge between the old alert and the new alert. The third step enqueues the new alert into the queue graph. The fourth step does correlation by searching for the alerts that need to be explicitly correlated to the new alert. Procedure QG Alert Correlation Input: A queue graph Q g (with n queues and m variables), the initial result graph G r(v, E r E l ), and an alert a new satisfying f(a new) = e i for some 1 i n Output: The updated result graph G r(v, E r E l ) Method: 1. Insert a new into V 2. If Q i contains an alert a old Insert edge (a old, a new) into E l Dequeue a old from Q i 3. Enqueue a new into Q i 4. For each Q j(1 j n) satisfying < Q i, v k > P i and < v k, Q j > P i, for some 1 k m If Q j contains an alert a j Insert (a j, a new) into E r 5. Return G r(v, E r E l ) Fig. 4. A Procedure for Correlating Alerts with Queue Graphs Complexity Analysis. The procedure QG Alert Correlation demonstrates the advantages of the QG approach over the nested loop approach (some of the features of a queue graph, such as the variables and the forward pointers, are not used by the procedure and will be needed in the next section). First, the time for processing each new alert with the QG approach is linear in (m + n), that is the number of exploits and security conditions in the attack graph. In Procedure QG Alert Correlation, the fourth step visits at most (m + n) edges, because it searches in a tree (that is, the BFS tree rooted at Q i ) by following the layered pointers in P i ; the other steps of the procedure take almost constant time. Hence, the performance of the QG approach does not depend on the number of received alerts, as n and m are relatively stable for a given network. On the other hand, the nested loop approach (without using a sliding window) searches all alerts, and hence the performance keeps decreasing as more and more alerts are received. Second, the memory usage of the QG approach is roughly O(n(n + m)) (n layers, with each layer having maximally (n + m) pointers) 4, and hence does not depend on 3 We use the notation < a, b > for a pointer in a queue graph and (a, b) for an edge in a graph. 4 The correlation only appends to the result graph but does not read from it, and hence the result graph needs not to be in memory.

11 An Approach to Correlating, Hypothesizing, and Predicting Intrusion Alerts 257 the number of received alerts, either. In comparison, the nested loop approach without a sliding window needs memory for indexing on all the received alerts. Third, the QG approach is not vulnerable to slowed attacks, which can easily defeat the nested loop approach using a sliding window as described in Section 3.3. In the procedure QG Alert Correlation, an alert is dequeued (and no longer considered for correlation) only when a new alert matching the same exploit arrives. Hence, if one alert prepares for another, then no matter how many unrelated alerts are injected, the earlier alert will always sit in the queue graph waiting for the later one Handling Alerts with Imprecise Temporal Characteristics The correctness of the QG approach critically depends on the correct order of alerts. However, neither the order suggested by timestamps nor the order of arrivals should be trusted, because the temporal characteristics of alerts are typically imprecise. Instead, we adopt the following conservative approach. First, any two alerts whose timestamps have a difference no greater than a given threshold t con are treated as concurrent; the correct order of concurrent alerts is always the one that allows the alerts to be correlated. Second, for non-concurrent alerts, the correct order is the one suggested by their timestamps, but alerts are allowed to arrive in a different (and incorrect) order. This conservative approach takes into account varying delays in a network and small differences between the clocks of sensors 6. The basic QG approach does not work properly if alerts do not arrive in the correct order. To illustrate, consider an alert a 1 that prepares for another alert a 2 but arrives later then a 2. As described in Section 4.2, the procedure QG Alert Correlation will only look for those alerts that prepare for a 1, but not those that a 1 prepares for (a 2 in this case). Moreover, suppose another concurrent alert a 2 matches the same exploit as a 2 does, and it arrives after a 2 but before a 1. Then, a 2 is already dequeued by the time a 1 arrives, and hence the correlation between a 1 and a 2 will not be discovered. We address this issue through reordering alerts inside a time window before feeding them into the queue graph. More specifically, assume the varying delays are bounded by a threshold t max. We postpone the processing of an alert a 1 with a timestamp t 1 until t max (the larger one between t max and t con, when concurrent alerts are also considered) time has passed since the time we receive a 1. We reorder the postponed alerts, so they arrive at the correlation engine in the correct order. Then after t max time, any alert a 2 will have a timestamp t 2 satisfying t 2 > t 1 (the worst case is when a 1 is not delayed but a 2 is delayed t max time, and the fact a 2 is received t max later than a 1 indicates t 2 + t max t max > t 1, and hence t 2 > t 1 ). The capability of dealing with concurrent alerts and varying delays comes at a cost. The additional delay introduced for reordering alerts certainly causes an undesired decrease in the timelineness of alert correlation. However, if we choose to report results immediately as each alert arrives, then the imprecise temporal characteristics of alerts may cause incorrect and confusing results. Such results may diminish the value of the 5 In case some temporal constraint states that an alert should not be considered for correlation once it gets too old, a timer can be used to periodically dequeue alerts. 6 We assume the clocks are loosely synchronized, as discussed in Section 3.2.

12 258 L. Wang, A. Liu, and S. Jajodia correlation effort. This reflects the inherent tradeoff between the capability of containing unavoidable uncertainties and the performance of processing alerts. 5 A Unified Approach to Alert Correlation, Hypothesis, and Prediction In this section, we extend the basic QG-based correlation procedure to a unified approach to correlating received alerts, hypothesizing missing alerts, and predicting future alerts. Section 5.1 introduces some key concepts. Sections 5.2 describes the integration of alert correlation with alert hypothesis. Section 5.3 then discusses alert prediction. 5.1 Consistent and Inconsistent Alert Sequences The queue graph approach introduced in Section 4 provides unique opportunities to tolerate and hypothesize alerts missed by IDSs, as well as to predict possible consequences. Intuitively, missing alerts cause inconsistency between the knowledge (encoded in attack graphs) and the facts (represented by received alerts). By reasoning about such inconsistency, missing alerts can be plausibly hypothesized. On the other hand, by extending the facts in a consistent way with respect to the knowledge, possible consequences of an intrusion can be predicted. To elaborate on those ideas, we first illustrate consistent and inconsistent sequences of alerts in Example 4 and Example 5. Example 4. The sequence of alerts shown on the left hand side of Figure 5(that is, a 0, a 3 ) is inconsistent with respect to the attack graph, because the security condition c 3 is not satisfied before the exploit e 3 is executed (as indicated by the alert a 3 ). Example 5. The sequence shown in the middle of Figure 5 (that is, a 0, a 1, a 3 ) is consistent, because executing the exploit e 1 (as indicated by the alert a 1 ) satisfies the only security condition c 3 that is required by the execution of e 3 (as indicated by a 3 ). The sequence shown on the right hand side of Figure 5 is inconsistent, because the security condition c 4 is not satisfied before the execution of e 3. To generalize the above examples, we say an exploit is ready to be executed if all of its required security conditions are satisfied by previous executions of exploits (or initially satisfied security conditions, such as c 1 in Figure 5). We say a sequence of time Inconsistent Consistent Inconsistent a0 a1 a3 a0 e0 a0 e0 a0 e0 c1 c2 c1 c2 c1 c2 a1 a1 e1 e2 e1 e2 e1 e2 c3 c3 c3 c4 a3 a3 a3 e3 e3 e3 Fig. 5. Examples of Consistent and Inconsistent Alert Sequences

13 An Approach to Correlating, Hypothesizing, and Predicting Intrusion Alerts 259 alerts is consistent, if every alert in the sequence matches an exploit that is ready to be executed by the time the alert is received. Example 4 depicts an inconsistent alert sequence in which the consecutive executions of exploits is broken by missing alerts. Example 5 indicates that the relationship between exploits can be either disjunctive (executing e 1 or e 2 makes e 3 ready in the first case) or conjunctive (both e 1 and e 2 must be executed to make e 3 ready), and security conditions play an important role in such relationship (the approach in [23] cannot distinguish the two cases in Example 5, because it is based on a simplified version of attack graphs with no security conditions). 5.2 Alert Correlation and Hypothesis In Section 4.2, the correlation algorithm searches for the alerts that prepare for a new alert by following two consecutive pointers. Such an approach only works for consistent alert sequences. For inconsistent sequences, such as those in Example 4 and Example 5, the search will stop at empty queues that correspond to missing alerts and the correlation result will be incomplete. A natural question is, Can we continue to search and hypothesize missing alerts if necessary? This question motivates us to propose a unified approach to correlating received alerts and at the same time making hypotheses of missing alerts. Intuitively, the approach attempts to explain the occurrence of a new alert by including it in a consistent sequence of alerts (alert correlation) and missing alerts (alert hypothesis). More specifically, a search starts from the queue that contains the new alert; it hypothesizes about a missing alert for each encountered empty queue; it stops at each received alert because it knows that this received alert must have already been explained previously. The search expands its frontier in a breadth-first manner 7 after each hypothesis is made, because the hypothesis itself may also need an explanation. Such attempts continue until a satisfactory explanation for the new alert and all the hypothesized ones is obtained. The explanations of all received alerts collectively form the result, that is a graph composed of alerts, hypothesized alerts, and security conditions that are either satisfied or hypothetically satisfied. This is illustrated in Example 6. Example 6. Consider again the three cases, from left to right, in Figure 5 when the alert a 3 is received. For the first case, two missing alerts matching e 1 and e 2 need to be hypothesized and then a 3 can be correlated to a 0 (through one of the hypothesized alerts). For the second case, no alert needs to be hypothesized because the sequence is already consistent, and a 3 needs to be correlated to a 1. For the third case, a 0 needs to be correlated to a 1, and it also needs to be correlated to a 0 through a hypothesized alert matching e 2. More precisely, we extend the basic QG approach described in Section 4 by modifying the fourth step of Procedure QG Alert Correlation. Due to space limitations, we describe how the modified procedure works but leave out more details (a detailed procedure can be found in [39]). Consider a queue graph Q g with n queues Q and m variables V. Each variable in V can now have one of the three values TRUE, FALSE, and HYP, 7 Other approaches, such as a DFS, may work as well, but a queue graph organizes its pointers in layered BFS trees to improve performance, and this makes BFS a preferred choice.

14 260 L. Wang, A. Liu, and S. Jajodia together with a timestamp; those denote a satisfied security condition, an unsatisfied one, a hypothetically satisfied one, and the time of the last update, respectively. Each queue in Q can contain alerts or hypothesized alerts. The result graph G r (V, E l E r ) is similar to that described in Section 4.2. However, the vertex set V now includes not only alerts but also hypothesized alerts and security conditions. Suppose a new alert a new with the timestamp t new is received and enqueued in the queue Q i (1 i n). First, we start from Q i and follow the pointers in PR i to set each variable v j (1 j m) adjacent to Q i with the value TRUE and the timestamp t new. This step records the security conditions satisfied by a new. Second, we start from Q i and make a partial BFS by following the pointers in P i. The BFS is partial, because it stops upon leaving 8 a variable with the value TRUE or the value HYP (or a queue that contains a hypothesized alert). This step correlates a new to previously received or hypothesized alerts. The result graph G r is updated during the above process as follows. First, after we enqueue a new into Q i and make changes to each v j adjacent to Q i, we add a new and v j (that is, the value and timestamp of v j ) as vertices, and an edge from a new pointing to v j into the result graph G r. This step records the fact that the new alert a new satisfies its implied security conditions at time t new. Second, during the partial BFS, we record each hypothesis. Whenever we change the value of a variable v j from FALSE to HYP, we record this update in G r ; similarly, whenever we enqueue a hypothesized alert into an empty queue, we record this hypothesized alert in G r. Third, whenever we leave a variable v and reach a queue Q, we insert into G r a directed edge from each queue Q to v; similarly, we insert edges from a queue to its connected variables when we leave the queue. Example 7. Consider the left-hand side case of Figure 5. The first alert a 0 will only cause (the variable corresponding to) the security condition c 2 to be changed from FALSE to TRUE. The result graph will be updated with the alert a 0 and satisfied security condition c 2 and the directed edge connecting them. When a 3 is received, a search starts from (the queue corresponding to) e 3 ; it changes c 3 from FALSE to HYP; it inserts a hypothesized alert a 1 into e 1 and a 2 into e 2, respectively; it stops at c 1 (which is initially set as TRUE) and c 2 (which has been set as TRUE when a 0 arrived). The result graph will be updated with the alert a 3, the hypothesized alerts a 1 and a 2, the hypothetically satisfied security condition c 3, and the directed edges between them. Complexity Analysis. At first glance, the procedure described above takes quadratic time, because a BFS takes time linear in the number of vertices (n + m) and edges (n+m) 2, where n and m is the number of exploits and security conditions in the attack graph, respectively. However, this is not the case. As described in Section 4.2, a queue graph organizes its pointers in separate layers, and each layer is a BFS tree rooted at a queue. Hence, a BFS that starts from a queue and follows the pointers in the corresponding layer will be equivalent to a tree traversal, which takes linear time (n + m). This performance gain seems to be obtained at the price of more memory requirement, because a pointer may appear in more than one layer. However, as described in Sec- 8 Given that a BFS is implemented through manipulating a separate queue as usual, we shall refer to the enqueues as reaching and the dequeues as leaving to avoid confusions.

15 An Approach to Correlating, Hypothesizing, and Predicting Intrusion Alerts 261 tion 4.2, the memory requirement is quadratic (that is, O(n(n + m))), which is indeed asymptotically the same as that of the original attack graph. 5.3 Attack Prediction In the previous section, we explain the occurrence of a new alert by searching backwards (that is, in the reversed direction of the edges in attack graphs) for correlated (or hypothesized) alerts. Conversely, we can also predict possible consequences of each new alert by searching forwards. A BFS is also preferred in this case, because the predicted security conditions will be discovered in the order of their (shortest) distances to the new alert. This distance roughly indicates how imminent a predicted attack is, based on the alerts received so far. The procedure of prediction is similar to that of correlation and hypothesis discussed in the previous section, although they differ in some details. More specifically, after the correlation and hypothesis completes, the prediction starts. It begins at the security conditions satisfied by the new alert and makes a partial BFS in the queue graph by following the pointers in PR i (suppose the new alert is enqueued by Q i ). The search stops at previously received (or hypothesized) alerts and their (hypothetically) satisfied security conditions to avoid repeating the previous prediction. The result of the prediction process is a sequence of non-empty sets Con 1, Con 2,..., with Con i (1 i m) containing the security conditions that can possibly be satisfied in i steps from now. Unlike in correlation and hypothesis, the prediction process does not reason about the disjunctive and conjunctive relationship between exploits as discussed in Section 5.1. Instead, a security condition c will appear in the set Con i as long as there exists a path of length 2i (the path consists of both security conditions and exploits) from c to some previously satisfied security condition. Hence, the number i provides a lower bound to the number of exploits that must be executed before c can be satisfied. 6 Empirical Results This section evaluates the proposed correlation, hypothesis, and prediction techniques through implementation and empirical results. The correlation engine is implemented in C++ and tested on a Pentium III 860MHz server with 1G RAM running RedHat Linux. We use Snort [32] to generate isolated alerts, which are directly pipelined into the correlation engine for analyses. We use Tcpreplay [37] to replay network traffic from a separate machine to the server running the correlation engine. We use two data sets for experiments, the Darpa 2000 intrusion detection LLDOS 1.0 by MIT Lincoln Labs [7], and the treasure hunt dataset by the University of California, Santa Barbara [36]. The attack scenario in the Darpa 2000 dataset has been extensively explored before (such as in [19]). Our experiments with the dataset show similar results, validating the correctness of our correlation algorithm. The treasure hunt dataset generates a large amount of alerts (about two million alerts taking about 1.4G of disk space, with most of them being brute force attempts of the same attacks), which may render a nested loop-based correlation method infeasible (we found that even running a simple database query over the data will paralyze the system). In contrast, our

16 262 L. Wang, A. Liu, and S. Jajodia correlation engine processes alerts with negligible delays (Snort turns out to be the bottleneck). Effectiveness. The objective of the first set of experiments is to justify the effectiveness of the proposed algorithms in alert correlation, hypothesis, and prediction. We use the Darpa 2000 dataset for this purpose, as the attack scenario can be easily referenced in both the included description and previous results, such as [19]. Our correlation algorithm produces similar result to that of previous work. However, in contrast to the static result graph seen in those work, our result graph actually evolves in time with the continuously arriving alerts. Such a result can more clearly reveal the actual progress of an intrusion (due to space limitations, snapshots of the result graph during real-time correlation can be found in [39]). To save space, only the latest alert matching each exploit is shown in the figures in this section. Fig. 6. The Hypothesis of Missing Alerts During Correlation Figure 6 includes two results on hypothesizing missing alerts during the correlation. On the left-side of the figure, two consecutive missing alerts (ICMP PING and ICMP Echo Reply) and the corresponding security conditions are hypothesized (shown as shaded) when an alert (RPC portmap sadmind request UDP) is received but its required security condition (Host 10 Alive) has not been satisfied. The right-hand side of the figure shows a conjunctive relationship between alerts, that is a DDoS mstream traffic between two hosts requires the mstream software to be installed on both hosts. We deliberately deleted the RSERVICES rsh alert on one of the host, which is successfully hypothesized (shown as shaded). Figure 7 includes a result of alert prediction. In the left figure, some security conditions are predicted to be satisfied by possible upcoming alerts. The predicted security conditions are shown as shaded, and the numbers are placeholders for alerts. The right-hand side figure shows a later snapshot of the result graph, in which some of the predicted security conditions are indeed realized. Performance. The objective of the second set of experiments is to evaluate the real-time performance of the correlation engine. The performance metric includes the resource

17 An Approach to Correlating, Hypothesizing, and Predicting Intrusion Alerts 263 Fig. 7. The Prediction of Possible Consequences During Correlation usage (CPU and memory) and the processing time of each alert. The correlation engine measures its own processing time and treats the delay between receiving two consecutive alerts as Snort s processing time. All the results have 95% confidence intervals within about 5% of the reported values. Figure 8 shows the CPU usage (on the lefthand side) and memory usage (on the right-hand side) over time for the Darpa data set. The correlation engine clearly demands less resources than Snort (on average, the correlation engine s CPU usage and memory usage are both under 10% of Snort s). 50 CPU Usage per Second 6 Memory Usage per Second CPU Usage(percent) Memory Usage(percent) Correlation Engine Snort 1 Correlation Engine Snort Elapsed Time(per second) Elapsed Time(per second) Fig. 8. The CPU and Memory Usage The left chart in Figure 9 shows the processing time per alert (averaged per 22 alerts). Clearly, the correlation engine takes much less time than Snort throughout the processing of the entire data set. The result also proves that the performance of our

18 264 L. Wang, A. Liu, and S. Jajodia correlation method does not decrease over time. Instead, the time required for correlating each alert remains fairly steady. Next we examine the scalability of the correlation engine in terms of the number of exploits and security conditions. We use the treasure hunt data set for this purpose. The initial attack graph only has about one hundred exploits. We increase the size of attack graphs by randomly inserting dummy exploits and corresponding security conditions. The inserted exploits increase the complexity of correlation because the correlation engine must search through them. The right chart in Figure 9 shows the average processing time as a function of the attack graph size. The result shows that the average time for correlation scales with the size of attack graph as expected. Processing Time (s) Processing Time per Alert (avg per 22 alerts) 1 1e 0.5 1e 1 1e 1.5 1e 2 1e 2.5 Correlation Engine Snort 1e 3 1e 3.5 1e No. of Processed Alerts The Processing Time for Darpa Dataset Average Processing Time(s) Attack Graph Size (no. of exploits and security conditions) The Processing Time vs. Attack Graph Size Fig. 9. The Processing Time and Its Relationship with the Size of Attack Graph We replay network traffic at a high speed (for example, the Darpa data set is replayed in about 26 seconds). Real-world traffic is usually less intensive, and consequently our correlation engine will exhibit a better performance. However, we are aware that realworld traffic may bring up new challenges that are absent in synthesized data sets. We plan to remove such limitations in our future work. 7 Conclusion In this paper, we studied the real-time correlation of intrusion alerts. We identified a limitation in applying the nested loop-based correlation methods and proposed a novel QG approach to remove this limitation. The method has a linear time complexity and a quadratic memory requirement. It can correlate alerts that are arbitrarily far away. Based on the QG method, we proposed a unified method for the correlation, hypothesis, and prediction of alerts. The proposed techniques are implemented and evaluated. Empirical results showed that our correlation engine can process alerts faster than an IDS can report them, making our method a promising solution for an administrator to monitor and predict the progress of multi-step intrusions. Our future work is to integrate the proposed methods in a prototype system and evaluate it with real-world traffic in live networks. Acknowledgements. The authors thank Marc Dacier and the anonymous reviewers for their valuable comments, and Giovanni Vigna for providing the Treasure Hunt dataset.

19 References An Approach to Correlating, Hypothesizing, and Predicting Intrusion Alerts P. Ammann, D. Wijesekera, and S. Kaushik. Scalable, graph-based network vulnerability analysis. In Proceedings of the 9th ACM Conference on Computer and Communications Security (CCS 02), pages , F. Cuppens. Managing alerts in a multi-intrusion detection environment. In Proceedings of the 17th Annual Computer Security Applications Conference (ACSAC 01), F. Cuppens and A. Miege. Alert correlation in a cooperative intrusion detection framework. In Proceedings of the 2002 IEEE Symposium on Security and Privacy (S&P 02), pages , F. Cuppens and R. Ortalo. LAMBDA: A language to model a database for detection of attacks. In Proceedings of the 3rd International Symposium on Recent Advances in Intrusion Detection (RAID 01), pages , O. Dain and R.K. Cunningham. Building scenarios from a heterogeneous alert system. In Proceedings of the 2001 IEEE Workshop on Information Assurance and Security, O. Dain and R.K. Cunningham. Fusing a heterogeneous alert stream into scenarios. In Proceedings of the ACM Workshop on Data Mining for Security Applications, pages 1 13, darpa intrusion detection evaluation datasets data index.html, H. Debar and A. Wespi. Aggregation and correlation of intrusion-detection alerts. In Proceedings of the 3rd International Symposium on Recent Advances in Intrusion Detection (RAID 01), pages , S.T. Eckmann, G. Vigna, and R.A. Kemmerer. STATL: An attack language for state-based intrusion detection. Journal of Computer Security, 10(1/2):71 104, D. Farmer and E.H. Spafford. The COPS security checker system. In USENIX Summer, pages , N. Habra, Charlier B.L., A. Mounji, and I. Mathieu. ASAX: software architechture and rule-based language for universal audit trail analysis. In Proceedings of the 2nd European Symposium on Research in Computer Security (ESORICS 1992), pages , IBM. IBM tivoli risk manager. Available at products/risk-mgr/. 13. SRI International. Event monitoring enabling responses to anomalous live disturbances (EMERALD). Available at S. Jajodia, S. Noel, and B. O Berry. Topological analysis of network attack vulnerability. In V. Kumar, J. Srivastava, and A. Lazarevic, editors, Managing Cyber Threats: Issues, Approaches and Challenges. Kluwer Academic Publisher, S. Jha, O. Sheyner, and J.M. Wing. Two formal analysis of attack graph. In Proceedings of the 15th Computer Security Foundation Workshop (CSFW 02), Klaus Julisch and Marc Dacier. Mining intrusion detection alarms for actionable knowledge. In Proceedings of the eighth ACM SIGKDD international conference on Knowledge discovery and data mining, pages , W. Lee, J.B.D. Cabrera, A. Thomas, N. Balwalli, S. Saluja, and Y. Zhang. Performance adaptation in real-time intrusion detection systems. In Proceedings of The 5th International Symposium on Recent Advances in Intrusion Detection (RAID 2002), B. Morin, L. Mé, H. Debar, and M. Ducassé. M2D2: A formal data model for IDS alert correlation. In Proceedings of the 5th International Symposium on Recent Advances in Intrusion Detection (RAID 02), pages , P. Ning, Y. Cui, and D.S. Reeves. Constructing attack scenarios through correlation of intrusion alerts. In Proceedings of the 9th ACM Conference on Computer and Communications Security (CCS 02), pages , 2002.

20 266 L. Wang, A. Liu, and S. Jajodia 20. P. Ning and D. Xu. Adapting query optimization techniques for efficient intrusion alert correlation. Technical report, NCSU, Department of Computer Science, P. Ning and D. Xu. Learning attack strategies from intrusion alerts. In Proceedings of the 10th ACM Conference on Computer and Communications Security (CCS 03), P. Ning, D. Xu, C.G. Healey, and R.S. Amant. Building attack scenarios through integration of complementary alert correlation methods. In Proceedings of the 11th Annual Network and Distributed System Security Symposium (NDSS 04), pages , S. Noel and S. Jajodia. Correlating intrusion events and building attack scenarios through attack graph distance. In Proceedings of the 20th Annual Computer Security Applications Conference (ACSAC 04), S. Noel, S. Jajodia, B. O Berry, and M. Jacobs. Efficient minimum-cost network hardening via exploit dependency grpahs. In Proceedings of the 19th Annual Computer Security Applications Conference (ACSAC 03), R. Ortalo, Y. Deswarte, and M. Kaaniche. Experimenting with quantitative evaluation tools for monitoring operational security. IEEE Trans. Software Eng., 25(5): , OSSIM. Open source security information management. Available at V. Paxson. Bro: A system for detecting network intruders in real-time. Computer Networks, 31(23-24): , X. Qin and W. Lee. Statistical causality analysis of INFOSEC alert data. In Proceedings of the 6th International Symposium on Recent Advances in Intrusion Detection (RAID 2003), pages , X. Qin and W. Lee. Discovering novel attack strategies from INFOSEC alerts. In Proceedings of the 9th European Symposium on Research in Computer Security (ESORICS 2004), pages , R. Ritchey and P. Ammann. Using model checking to analyze network vulnerabilities. In Proceedings of the 2000 IEEE Symposium on Research on Security and Privacy (S&P 00), pages , R. Ritchey, B. O Berry, and S. Noel. Representing TCP/IP connectivity for topological analysis of network security. In Proceedings of the 18th Annual Computer Security Applications Conference (ACSAC 02), page 25, M. Roesch. Snort - lightweight intrusion detection for networks. In Proceedings of the 1999 USENIX LISA Conference, pages , O. Sheyner, J. Haines, S. Jha, R. Lippmann, and J.M. Wing. Automated generation and analysis of attack graphs. In Proceedings of the 2002 IEEE Symposium on Security and Privacy (S&P 02), pages , S. Staniford, J.A. Hoagland, and J.M. McAlerney. Practical automated detection of stealthy portscans. Journal of Computer Security, 10(1/2): , S. Templeton and K. Levitt. A requires/provides model for computer attacks. In Proceedings of the 2000 New Security Paradigms Workshop (NSPW 00), pages 31 38, Treasure hunt datasets. vigna/treasurehunt/index.html, A. Turner. Tcpreplay: Pcap editing and replay tools for *nix. Available at A. Valdes and K. Skinner. Probabilistic alert correlation. In Proceedings of the 4th International Symposium on Recent Advances in Intrusion Detection, pages 54 68, L. Wang, A. Liu, and S. Jajodia. Real-time analyses of intrusion alert streams. Technical report, Center for Secure Information Systems, George Mason University, D. Zerkle and K. Levitt. Netkuang - a multi-host configuration vulnerability checker. In Proceedings of the 6th USENIX Unix Security Symposium (USENIX 96), Y. Zhai, P. Ning, P. Iyer, and D. Reeves. Reasoning about complementary intrusion evidence. In Proceedings of the 20th Annual Computer Security Applications Conference (ACSAC 04), pages 39 48, 2004.

Measuring the Overall Security of Network Configurations Using Attack Graphs

Measuring the Overall Security of Network Configurations Using Attack Graphs Measuring the Overall Security of Network Configurations Using Attack Graphs Lingyu Wang 1, Anoop Singhal 2, and Sushil Jajodia 3 1 Concordia Institute for Information Systems Engineering Concordia University

More information

Implementing interactive analysis of attack graphs using relational databases

Implementing interactive analysis of attack graphs using relational databases Journal of Computer Security 16 (2008) 419 437 419 DOI 10.3233/JCS-2008-0327 IOS Press Implementing interactive analysis of attack graphs using relational databases Lingyu Wang a,,chaoyao b, Anoop Singhal

More information

False Alert Reduction and Correlation for Attack Scenarios with Automatic Time Window

False Alert Reduction and Correlation for Attack Scenarios with Automatic Time Window False Alert Reduction and Correlation for Attack Scenarios with Automatic Time Window M. Logaprakash Department of CSE (PG) Sri Ramakrishna Engineering College Coimbatore, India Abstract - The Intrusion

More information

Abstract. Introduction. Section I. What is Denial of Service Attack?

Abstract. Introduction. Section I. What is Denial of Service Attack? Abstract In this report, I am describing the main types of DoS attacks and their effect on computer and network environment. This report will form the basis of my forthcoming report which will discuss

More information

Adaptive Tolerance Algorithm for Distributed Top-K Monitoring with Bandwidth Constraints

Adaptive Tolerance Algorithm for Distributed Top-K Monitoring with Bandwidth Constraints Adaptive Tolerance Algorithm for Distributed Top-K Monitoring with Bandwidth Constraints Michael Bauer, Srinivasan Ravichandran University of Wisconsin-Madison Department of Computer Sciences {bauer, srini}@cs.wisc.edu

More information

DoS: Attack and Defense

DoS: Attack and Defense DoS: Attack and Defense Vincent Tai Sayantan Sengupta COEN 233 Term Project Prof. M. Wang 1 Table of Contents 1. Introduction 4 1.1. Objective 1.2. Problem 1.3. Relation to the class 1.4. Other approaches

More information

Toward Measuring Network Security Using Attack Graphs

Toward Measuring Network Security Using Attack Graphs Toward Measuring Network Security Using Attack Graphs Lingyu Wang Concordia Institute for Information Systems Engineering Concordia University Montreal, QC H3G 1M8, Canada wang@ciise.concordia.ca Anoop

More information

How To Analyze And Detect A Network Attack Through A Network Graph

How To Analyze And Detect A Network Attack Through A Network Graph Advanced Vulnerability Analysis and Intrusion Detection Through Predictive Attack Graphs Steven Noel and Sushil Jajodia Center for Secure Information Systems, George Mason University, Fairfax, VA, USA

More information

Virtual Terrain: A Security-Based Representation of a Computer Network

Virtual Terrain: A Security-Based Representation of a Computer Network Virtual Terrain: A Security-Based Representation of a Computer Network Jared Holsopple* a, Shanchieh Yang b, Brian Argauer b a CUBRC, 4455 Genesee St, Buffalo, NY, USA 14225; b Dept. of Computer Engineering,

More information

Provider-Based Deterministic Packet Marking against Distributed DoS Attacks

Provider-Based Deterministic Packet Marking against Distributed DoS Attacks Provider-Based Deterministic Packet Marking against Distributed DoS Attacks Vasilios A. Siris and Ilias Stavrakis Institute of Computer Science, Foundation for Research and Technology - Hellas (FORTH)

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

INTRUSION DETECTION ALARM CORRELATION: A SURVEY

INTRUSION DETECTION ALARM CORRELATION: A SURVEY INTRUSION DETECTION ALARM CORRELATION: A SURVEY Urko Zurutuza, Roberto Uribeetxeberria Computer Science Department, Mondragon University Mondragon, Gipuzkoa, (Spain) {uzurutuza,ruribeetxeberria}@eps.mondragon.edu

More information

Vulnerability Analysis of Hash Tables to Sophisticated DDoS Attacks

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

More information

A TWO LEVEL ARCHITECTURE USING CONSENSUS METHOD FOR GLOBAL DECISION MAKING AGAINST DDoS ATTACKS

A TWO LEVEL ARCHITECTURE USING CONSENSUS METHOD FOR GLOBAL DECISION MAKING AGAINST DDoS ATTACKS ICTACT JOURNAL ON COMMUNICATION TECHNOLOGY, JUNE 2010, ISSUE: 02 A TWO LEVEL ARCHITECTURE USING CONSENSUS METHOD FOR GLOBAL DECISION MAKING AGAINST DDoS ATTACKS S.Seetha 1 and P.Raviraj 2 Department of

More information

Attack Graph Techniques

Attack Graph Techniques Chapter 2 Attack Graph Techniques 2.1 An example scenario Modern attack-graph techniques can automatically discover all possible ways an attacker can compromise an enterprise network by analyzing configuration

More information

Application Performance Testing Basics

Application Performance Testing Basics Application Performance Testing Basics ABSTRACT Todays the web is playing a critical role in all the business domains such as entertainment, finance, healthcare etc. It is much important to ensure hassle-free

More information

Evaluating Intrusion Detection Systems without Attacking your Friends: The 1998 DARPA Intrusion Detection Evaluation

Evaluating Intrusion Detection Systems without Attacking your Friends: The 1998 DARPA Intrusion Detection Evaluation Evaluating Intrusion Detection Systems without Attacking your Friends: The 1998 DARPA Intrusion Detection Evaluation R. K. Cunningham, R. P. Lippmann, D. J. Fried, S. L. Garfinkel, I. Graf, K. R. Kendall,

More information

Fifty Critical Alerts for Monitoring Windows Servers Best practices

Fifty Critical Alerts for Monitoring Windows Servers Best practices Fifty Critical Alerts for Monitoring Windows Servers Best practices The importance of consolidation, correlation, and detection Enterprise Security Series White Paper 6990 Columbia Gateway Drive, Suite

More information

2 Associating Facts with Time

2 Associating Facts with Time TEMPORAL DATABASES Richard Thomas Snodgrass A temporal database (see Temporal Database) contains time-varying data. Time is an important aspect of all real-world phenomena. Events occur at specific points

More information

Security Event Management. February 7, 2007 (Revision 5)

Security Event Management. February 7, 2007 (Revision 5) Security Event Management February 7, 2007 (Revision 5) Table of Contents TABLE OF CONTENTS... 2 INTRODUCTION... 3 CRITICAL EVENT DETECTION... 3 LOG ANALYSIS, REPORTING AND STORAGE... 7 LOWER TOTAL COST

More information

The Trip Scheduling Problem

The Trip Scheduling Problem The Trip Scheduling Problem Claudia Archetti Department of Quantitative Methods, University of Brescia Contrada Santa Chiara 50, 25122 Brescia, Italy Martin Savelsbergh School of Industrial and Systems

More information

Analyzing Intrusion Detection System Evasions Through Honeynets

Analyzing Intrusion Detection System Evasions Through Honeynets Analyzing Intrusion Detection System Evasions Through Honeynets J.S Bhatia 1, Rakesh Sehgal 2, Simardeep Kaur 3, Siddharth Popli 4 and Nishant Taneja 5 1 Centre for Development of Advanced Computing 2,

More information

A Performance Study of Load Balancing Strategies for Approximate String Matching on an MPI Heterogeneous System Environment

A Performance Study of Load Balancing Strategies for Approximate String Matching on an MPI Heterogeneous System Environment A Performance Study of Load Balancing Strategies for Approximate String Matching on an MPI Heterogeneous System Environment Panagiotis D. Michailidis and Konstantinos G. Margaritis Parallel and Distributed

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

Data Reduction in Intrusion Alert Correlation

Data Reduction in Intrusion Alert Correlation Data Reduction in Intrusion Alert Correlation Gianni Tedesco and Uwe Aickelin The School of Computer Science & IT The University of Nottingham Jubilee Campus, Wollaton Road, Nottingham United Kingdom {gxt,uxa}@cs.nott.ac.uk

More information

Network (Tree) Topology Inference Based on Prüfer Sequence

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 vanniarajanc@hcl.in,

More information

May 11, 2011. (Revision 4) Ron Gula Chief Technology Officer

May 11, 2011. (Revision 4) Ron Gula Chief Technology Officer Correlating IDS Alerts with Vulnerability Information May 11, 2011 (Revision 4) Ron Gula Chief Technology Officer Copyright 2011. Tenable Network Security, Inc. All rights reserved. Tenable Network Security

More information

Internet Firewall CSIS 4222. Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS 4222. net15 1. Routers can implement packet filtering

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

More information

INTRUSION PREVENTION AND EXPERT SYSTEMS

INTRUSION PREVENTION AND EXPERT SYSTEMS INTRUSION PREVENTION AND EXPERT SYSTEMS By Avi Chesla avic@v-secure.com Introduction Over the past few years, the market has developed new expectations from the security industry, especially from the intrusion

More information

THE ROLE OF IDS & ADS IN NETWORK SECURITY

THE ROLE OF IDS & ADS IN NETWORK SECURITY THE ROLE OF IDS & ADS IN NETWORK SECURITY The Role of IDS & ADS in Network Security When it comes to security, most networks today are like an egg: hard on the outside, gooey in the middle. Once a hacker

More information

A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems

A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems Vincenzo Grassi Università di Roma Tor Vergata, Italy Raffaela Mirandola {vgrassi, mirandola}@info.uniroma2.it Abstract.

More information

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. 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

More information

Improved Hybrid Dynamic Load Balancing Algorithm for Distributed Environment

Improved Hybrid Dynamic Load Balancing Algorithm for Distributed Environment International Journal of Scientific and Research Publications, Volume 3, Issue 3, March 2013 1 Improved Hybrid Dynamic Load Balancing Algorithm for Distributed Environment UrjashreePatil*, RajashreeShedge**

More information

CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) 3 4 4 7 5 9 6 16 7 8 8 4 9 8 10 4 Total 92.

CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) 3 4 4 7 5 9 6 16 7 8 8 4 9 8 10 4 Total 92. Name: Email ID: CSE 326, Data Structures Section: Sample Final Exam Instructions: The exam is closed book, closed notes. Unless otherwise stated, N denotes the number of elements in the data structure

More information

co Characterizing and Tracing Packet Floods Using Cisco R

co Characterizing and Tracing Packet Floods Using Cisco R co Characterizing and Tracing Packet Floods Using Cisco R Table of Contents Characterizing and Tracing Packet Floods Using Cisco Routers...1 Introduction...1 Before You Begin...1 Conventions...1 Prerequisites...1

More information

Broadband Networks. Prof. Dr. Abhay Karandikar. Electrical Engineering Department. Indian Institute of Technology, Bombay. Lecture - 29.

Broadband Networks. Prof. Dr. Abhay Karandikar. Electrical Engineering Department. Indian Institute of Technology, Bombay. Lecture - 29. Broadband Networks Prof. Dr. Abhay Karandikar Electrical Engineering Department Indian Institute of Technology, Bombay Lecture - 29 Voice over IP So, today we will discuss about voice over IP and internet

More information

TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)

TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP) TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) *Slides adapted from a talk given by Nitin Vaidya. Wireless Computing and Network Systems Page

More information

Network Intrusion Simulation Using OPNET

Network Intrusion Simulation Using OPNET Network Intrusion Simulation Using OPNET Shabana Razak, Mian Zhou, Sheau-Dong Lang* School of Electrical Engineering & Computer Science and National Center for Forensic Science* University of Central Florida,

More information

Introduction to LAN/WAN. Network Layer

Introduction to LAN/WAN. Network Layer Introduction to LAN/WAN Network Layer Topics Introduction (5-5.1) Routing (5.2) (The core) Internetworking (5.5) Congestion Control (5.3) Network Layer Design Isues Store-and-Forward Packet Switching Services

More information

Chapter 3. Internet Applications and Network Programming

Chapter 3. Internet Applications and Network Programming Chapter 3 Internet Applications and Network Programming 1 Introduction The Internet offers users a rich diversity of services none of the services is part of the underlying communication infrastructure

More information

Application of Netflow logs in Analysis and Detection of DDoS Attacks

Application of Netflow logs in Analysis and Detection of DDoS Attacks International Journal of Computer and Internet Security. ISSN 0974-2247 Volume 8, Number 1 (2016), pp. 1-8 International Research Publication House http://www.irphouse.com Application of Netflow logs in

More information

GFI White Paper PCI-DSS compliance and GFI Software products

GFI White Paper PCI-DSS compliance and GFI Software products White Paper PCI-DSS compliance and Software products The Payment Card Industry Data Standard () compliance is a set of specific security standards developed by the payment brands* to help promote the adoption

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION 21 CHAPTER 1 INTRODUCTION 1.1 PREAMBLE Wireless ad-hoc network is an autonomous system of wireless nodes connected by wireless links. Wireless ad-hoc network provides a communication over the shared wireless

More information

Load Balancing and Switch Scheduling

Load Balancing and Switch Scheduling EE384Y Project Final Report Load Balancing and Switch Scheduling Xiangheng Liu Department of Electrical Engineering Stanford University, Stanford CA 94305 Email: liuxh@systems.stanford.edu Abstract Load

More information

Flexible Deterministic Packet Marking: An IP Traceback Scheme Against DDOS Attacks

Flexible Deterministic Packet Marking: An IP Traceback Scheme Against DDOS Attacks Flexible Deterministic Packet Marking: An IP Traceback Scheme Against DDOS Attacks Prashil S. Waghmare PG student, Sinhgad College of Engineering, Vadgaon, Pune University, Maharashtra, India. prashil.waghmare14@gmail.com

More information

Analysis of Algorithms, I

Analysis of Algorithms, I Analysis of Algorithms, I CSOR W4231.002 Eleni Drinea Computer Science Department Columbia University Thursday, February 26, 2015 Outline 1 Recap 2 Representing graphs 3 Breadth-first search (BFS) 4 Applications

More information

Avaya ExpertNet Lite Assessment Tool

Avaya ExpertNet Lite Assessment Tool IP Telephony Contact Centers Mobility Services WHITE PAPER Avaya ExpertNet Lite Assessment Tool April 2005 avaya.com Table of Contents Overview... 1 Network Impact... 2 Network Paths... 2 Path Generation...

More information

Proactive Intrusion Prevention and Response via Attack Graphs

Proactive Intrusion Prevention and Response via Attack Graphs Proactive Intrusion Prevention and Response via Attack Graphs Steven Noel and Sushil Jajodia Center for Secure Information Systems, George Mason University {snoel, jajodia}@gmu.edu Network defense today

More information

LASTLINE WHITEPAPER. The Holy Grail: Automatically Identifying Command and Control Connections from Bot Traffic

LASTLINE WHITEPAPER. The Holy Grail: Automatically Identifying Command and Control Connections from Bot Traffic LASTLINE WHITEPAPER The Holy Grail: Automatically Identifying Command and Control Connections from Bot Traffic Abstract A distinguishing characteristic of bots is their ability to establish a command and

More information

SY0-201. system so that an unauthorized individual can take over an authorized session, or to disrupt service to authorized users.

SY0-201. system so that an unauthorized individual can take over an authorized session, or to disrupt service to authorized users. system so that an unauthorized individual can take over an authorized session, or to disrupt service to authorized users. From a high-level standpoint, attacks on computer systems and networks can be grouped

More information

Policy Distribution Methods for Function Parallel Firewalls

Policy Distribution Methods for Function Parallel Firewalls Policy Distribution Methods for Function Parallel Firewalls Michael R. Horvath GreatWall Systems Winston-Salem, NC 27101, USA Errin W. Fulp Department of Computer Science Wake Forest University Winston-Salem,

More information

18-731 Midterm. Name: Andrew user id:

18-731 Midterm. Name: Andrew user id: 18-731 Midterm 6 March 2008 Name: Andrew user id: Scores: Problem 0 (10 points): Problem 1 (10 points): Problem 2 (15 points): Problem 3 (10 points): Problem 4 (20 points): Problem 5 (10 points): Problem

More information

Intrusion Detection via Static Analysis

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

More information

Network Mission Assurance

Network Mission Assurance Network Mission Assurance Michael F. Junod, Patrick A. Muckelbauer, PhD, Todd C. Hughes, PhD, Julius M. Etzl, and James E. Denny Lockheed Martin Advanced Technology Laboratories Camden, NJ 08102 {mjunod,pmuckelb,thughes,jetzl,jdenny}@atl.lmco.com

More information

A very short history of networking

A very short history of networking A New vision for network architecture David Clark M.I.T. Laboratory for Computer Science September, 2002 V3.0 Abstract This is a proposal for a long-term program in network research, consistent with the

More information

Universal hashing. In other words, the probability of a collision for two different keys x and y given a hash function randomly chosen from H is 1/m.

Universal hashing. In other words, the probability of a collision for two different keys x and y given a hash function randomly chosen from H is 1/m. Universal hashing No matter how we choose our hash function, it is always possible to devise a set of keys that will hash to the same slot, making the hash scheme perform poorly. To circumvent this, we

More information

Chapter 13: Query Processing. Basic Steps in Query Processing

Chapter 13: Query Processing. Basic Steps in Query Processing Chapter 13: Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions 13.1 Basic Steps in Query Processing 1. Parsing

More information

A Multi-Objective Optimisation Approach to IDS Sensor Placement

A Multi-Objective Optimisation Approach to IDS Sensor Placement A Multi-Objective Optimisation Approach to IDS Sensor Placement Hao Chen 1, John A. Clark 1, Juan E. Tapiador 1, Siraj A. Shaikh 2, Howard Chivers 2, and Philip Nobles 2 1 Department of Computer Science

More information

An Analytical Framework for Measuring Network Security using Exploit Dependency Graph

An Analytical Framework for Measuring Network Security using Exploit Dependency Graph An Analytical Framework for Measuring Network Security using Exploit Dependency Graph Parantapa Bhattacharya Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Email:

More information

Fuzzy Network Profiling for Intrusion Detection

Fuzzy Network Profiling for Intrusion Detection Fuzzy Network Profiling for Intrusion Detection John E. Dickerson (jedicker@iastate.edu) and Julie A. Dickerson (julied@iastate.edu) Electrical and Computer Engineering Department Iowa State University

More information

A Bayesian Approach for on-line max auditing of Dynamic Statistical Databases

A Bayesian Approach for on-line max auditing of Dynamic Statistical Databases A Bayesian Approach for on-line max auditing of Dynamic Statistical Databases Gerardo Canfora Bice Cavallo University of Sannio, Benevento, Italy, {gerardo.canfora,bice.cavallo}@unisannio.it ABSTRACT In

More information

Preventing Resource Exhaustion Attacks in Ad Hoc Networks

Preventing Resource Exhaustion Attacks in Ad Hoc Networks Preventing Resource Exhaustion Attacks in Ad Hoc Networks Masao Tanabe and Masaki Aida NTT Information Sharing Platform Laboratories, NTT Corporation, 3-9-11, Midori-cho, Musashino-shi, Tokyo 180-8585

More information

VEA-bility Security Metric: A Network Security Analysis Tool

VEA-bility Security Metric: A Network Security Analysis Tool VEA-bility Security Metric: A Network Security Analysis Tool Melanie Tupper Dalhousie University tupper@cs.dal.ca A. Nur Zincir-Heywood Dalhousie University zincir@cs.dal.ca Abstract In this work, we propose

More information

LASTLINE WHITEPAPER. Large-Scale Detection of Malicious Web Pages

LASTLINE WHITEPAPER. Large-Scale Detection of Malicious Web Pages LASTLINE WHITEPAPER Large-Scale Detection of Malicious Web Pages Abstract Malicious web pages that host drive-by-download exploits have become a popular means for compromising hosts on the Internet and,

More information

Optimizing Oracle Forms System Performance Through Real-Time Client-Side Monitoring. October, 2011

Optimizing Oracle Forms System Performance Through Real-Time Client-Side Monitoring. October, 2011 Optimizing Oracle Forms System Performance Through Real-Time Client-Side Monitoring October, 2011 All rights reserved. OraPlayer 2011 1 Executive Summary Efficient utilization of computing resources is

More information

Blended Security Assessments

Blended Security Assessments Blended Security Assessments Combining Active, Passive and Host Assessment Techniques October 12, 2009 (Revision 9) Renaud Deraison Director of Research Ron Gula Chief Technology Officer Table of Contents

More information

15-441: Computer Networks Homework 2 Solution

15-441: Computer Networks Homework 2 Solution 5-44: omputer Networks Homework 2 Solution Assigned: September 25, 2002. Due: October 7, 2002 in class. In this homework you will test your understanding of the TP concepts taught in class including flow

More information

Hillstone T-Series Intelligent Next-Generation Firewall Whitepaper: Abnormal Behavior Analysis

Hillstone T-Series Intelligent Next-Generation Firewall Whitepaper: Abnormal Behavior Analysis Hillstone T-Series Intelligent Next-Generation Firewall Whitepaper: Abnormal Behavior Analysis Keywords: Intelligent Next-Generation Firewall (ingfw), Unknown Threat, Abnormal Parameter, Abnormal Behavior,

More information

CSE331: Introduction to Networks and Security. Lecture 18 Fall 2006

CSE331: Introduction to Networks and Security. Lecture 18 Fall 2006 CSE331: Introduction to Networks and Security Lecture 18 Fall 2006 Announcements Project 2 is due next Weds. Homework 2 has been assigned: It's due on Monday, November 6th. CSE331 Fall 2004 2 Attacker

More information

Network TrafficBehaviorAnalysisby Decomposition into Control and Data Planes

Network TrafficBehaviorAnalysisby Decomposition into Control and Data Planes Network TrafficBehaviorAnalysisby Decomposition into Control and Data Planes Basil AsSadhan, Hyong Kim, José M. F. Moura, Xiaohui Wang Carnegie Mellon University Electrical and Computer Engineering Department

More information

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by

More information

Performance Modeling and Analysis of a Database Server with Write-Heavy Workload

Performance Modeling and Analysis of a Database Server with Write-Heavy Workload Performance Modeling and Analysis of a Database Server with Write-Heavy Workload Manfred Dellkrantz, Maria Kihl 2, and Anders Robertsson Department of Automatic Control, Lund University 2 Department of

More information

Payment Card Industry Data Security Standard Payment Card Industry Data Security Standard (PCI / DSS)

Payment Card Industry Data Security Standard Payment Card Industry Data Security Standard (PCI / DSS) Payment Card Industry Data Security Standard (PCI / DSS) InterSect Alliance International Pty Ltd Page 1 of 12 Intersect Alliance International Pty Ltd. All rights reserved worldwide. Intersect Alliance

More information

SOLE: Scalable On-Line Execution of Continuous Queries on Spatio-temporal Data Streams

SOLE: Scalable On-Line Execution of Continuous Queries on Spatio-temporal Data Streams vldb manuscript No. (will be inserted by the editor) Mohamed F. Mokbel Walid G. Aref SOLE: Scalable On-Line Execution of Continuous Queries on Spatio-temporal Data Streams the date of receipt and acceptance

More information

Methodology of performance evaluation of integrated service systems with timeout control scheme

Methodology of performance evaluation of integrated service systems with timeout control scheme Methodology of performance evaluation of integrated service systems with timeout control scheme Akira Kawaguchi and Hiroshi Yamada NTT Service Integration Laboratories, NTT Corporation 9-11, Midori-cho

More information

Cognitive and Organizational Challenges of Big Data in Cyber Defense

Cognitive and Organizational Challenges of Big Data in Cyber Defense Cognitive and Organizational Challenges of Big Data in Cyber Defense Nathan Bos & John Gersh Johns Hopkins University Applied Laboratory nathan.bos@jhuapl.edu, john.gersh@jhuapl.edu The cognitive and organizational

More information

ProTrack: A Simple Provenance-tracking Filesystem

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 das@mit.edu Abstract Provenance describes a file

More information

Intrusion Detection in AlienVault

Intrusion Detection in AlienVault Complete. Simple. Affordable Copyright 2014 AlienVault. All rights reserved. AlienVault, AlienVault Unified Security Management, AlienVault USM, AlienVault Open Threat Exchange, AlienVault OTX, Open Threat

More information

Firewalls Overview and Best Practices. White Paper

Firewalls Overview and Best Practices. White Paper Firewalls Overview and Best Practices White Paper Copyright Decipher Information Systems, 2005. All rights reserved. The information in this publication is furnished for information use only, does not

More information

Dos & DDoS Attack Signatures (note supplied by Steve Tonkovich of CAPTUS NETWORKS)

Dos & DDoS Attack Signatures (note supplied by Steve Tonkovich of CAPTUS NETWORKS) Dos & DDoS Attack Signatures (note supplied by Steve Tonkovich of CAPTUS NETWORKS) Signature based IDS systems use these fingerprints to verify that an attack is taking place. The problem with this method

More information

CYBER ATTACKS EXPLAINED: PACKET CRAFTING

CYBER ATTACKS EXPLAINED: PACKET CRAFTING CYBER ATTACKS EXPLAINED: PACKET CRAFTING Protect your FOSS-based IT infrastructure from packet crafting by learning more about it. In the previous articles in this series, we explored common infrastructure

More information

Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing

Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing www.ijcsi.org 227 Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing Dhuha Basheer Abdullah 1, Zeena Abdulgafar Thanoon 2, 1 Computer Science Department, Mosul University,

More information

CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING

CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING CHAPTER 6 CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING 6.1 INTRODUCTION The technical challenges in WMNs are load balancing, optimal routing, fairness, network auto-configuration and mobility

More information

Smart Queue Scheduling for QoS Spring 2001 Final Report

Smart Queue Scheduling for QoS Spring 2001 Final Report ENSC 833-3: NETWORK PROTOCOLS AND PERFORMANCE CMPT 885-3: SPECIAL TOPICS: HIGH-PERFORMANCE NETWORKS Smart Queue Scheduling for QoS Spring 2001 Final Report By Haijing Fang(hfanga@sfu.ca) & Liu Tang(llt@sfu.ca)

More information

Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications

Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications White Paper Table of Contents Overview...3 Replication Types Supported...3 Set-up &

More information

A Gateway-based Defense System for Distributed DoS Attacks in High-Speed Networks

A Gateway-based Defense System for Distributed DoS Attacks in High-Speed Networks Proceedings of the 2001 IEEE Workshop on Information Assurance and Security W1A2 0900 United States Military Academy, West Point, NY, 5 6 June 2001 A Gateway-based Defense System for Distributed DoS Attacks

More information

AlienVault. Unified Security Management (USM) 5.x Policy Management Fundamentals

AlienVault. Unified Security Management (USM) 5.x Policy Management Fundamentals AlienVault Unified Security Management (USM) 5.x Policy Management Fundamentals USM 5.x Policy Management Fundamentals Copyright 2015 AlienVault, Inc. All rights reserved. The AlienVault Logo, AlienVault,

More information

Software Life-Cycle Management

Software Life-Cycle Management Ingo Arnold Department Computer Science University of Basel Theory Software Life-Cycle Management Architecture Styles Overview An Architecture Style expresses a fundamental structural organization schema

More information

Final exam review, Fall 2005 FSU (CIS-5357) Network Security

Final exam review, Fall 2005 FSU (CIS-5357) Network Security Final exam review, Fall 2005 FSU (CIS-5357) Network Security Instructor: Breno de Medeiros 1. What is an insertion attack against a NIDS? Answer: An insertion attack against a network intrusion detection

More information

IS TEST 3 - TIPS FOUR (4) levels of detective controls offered by intrusion detection system (IDS) methodologies. First layer is typically responsible for monitoring the network and network devices. NIDS

More information

A Model of Stateful Firewalls and its Properties

A Model of Stateful Firewalls and its Properties A Model of Stateful Firewalls and its Properties Mohamed G. Gouda and Alex X. Liu 1 Department of Computer Sciences, The University of Texas at Austin, Austin, Texas 78712-1188, U.S.A. Email: {gouda, alex}@cs.utexas.edu

More information

Efficient Security Alert Management System

Efficient Security Alert Management System Efficient Security Alert Management System Minoo Deljavan Anvary IT Department School of e-learning Shiraz University Shiraz, Fars, Iran Majid Ghonji Feshki Department of Computer Science Qzvin Branch,

More information

51-30-60 DATA COMMUNICATIONS MANAGEMENT. Gilbert Held INSIDE

51-30-60 DATA COMMUNICATIONS MANAGEMENT. Gilbert Held INSIDE 51-30-60 DATA COMMUNICATIONS MANAGEMENT PROTECTING A NETWORK FROM SPOOFING AND DENIAL OF SERVICE ATTACKS Gilbert Held INSIDE Spoofing; Spoofing Methods; Blocking Spoofed Addresses; Anti-spoofing Statements;

More information

Traffic Analyzer Based on Data Flow Patterns

Traffic Analyzer Based on Data Flow Patterns AUTOMATYKA 2011 Tom 15 Zeszyt 3 Artur Sierszeñ*, ukasz Sturgulewski* Traffic Analyzer Based on Data Flow Patterns 1. Introduction Nowadays, there are many systems of Network Intrusion Detection System

More information

NSC 93-2213-E-110-045

NSC 93-2213-E-110-045 NSC93-2213-E-110-045 2004 8 1 2005 731 94 830 Introduction 1 Nowadays the Internet has become an important part of people s daily life. People receive emails, surf the web sites, and chat with friends

More information

Performance Workload Design

Performance Workload Design Performance Workload Design The goal of this paper is to show the basic principles involved in designing a workload for performance and scalability testing. We will understand how to achieve these principles

More information

An Anomaly-Based Method for DDoS Attacks Detection using RBF Neural Networks

An Anomaly-Based Method for DDoS Attacks Detection using RBF Neural Networks 2011 International Conference on Network and Electronics Engineering IPCSIT vol.11 (2011) (2011) IACSIT Press, Singapore An Anomaly-Based Method for DDoS Attacks Detection using RBF Neural Networks Reyhaneh

More information

Enforcing Data Quality Rules for a Synchronized VM Log Audit Environment Using Transformation Mapping Techniques

Enforcing Data Quality Rules for a Synchronized VM Log Audit Environment Using Transformation Mapping Techniques Enforcing Data Quality Rules for a Synchronized VM Log Audit Environment Using Transformation Mapping Techniques Sean Thorpe 1, Indrajit Ray 2, and Tyrone Grandison 3 1 Faculty of Engineering and Computing,

More information

Performance evaluation of Web Information Retrieval Systems and its application to e-business

Performance evaluation of Web Information Retrieval Systems and its application to e-business Performance evaluation of Web Information Retrieval Systems and its application to e-business Fidel Cacheda, Angel Viña Departament of Information and Comunications Technologies Facultad de Informática,

More information