Communications between endpoints of packet-switched networks may be characterized as flows of associated packets. A particular flow may include packets containing information (e.g., within headers of the packets) that distinguishes the packets from packets associated with other flows. Network devices located between endpoints may alter packets associated with a flow and in doing so may potentially obfuscate the flow with which a particular packet is associated from other network devices. Accordingly, there is a need for correlating packets in communications networks.
The following presents a simplified summary in order to provide a basic understanding of some aspects of the disclosure. It is intended neither to identify key or critical elements of the disclosure nor to delineate the scope of the disclosure. The following summary merely presents some concepts of the disclosure in a simplified form as a prelude to the description below.
Aspects of this disclosure relate to correlating packets in communications networks. In accordance with embodiments of the disclosure, a computing system may identify packets received by a network device from a host located in a first network and may generate log entries corresponding to the packets received by the network device. The computing system may identify packets transmitted by the network device to a host located in a second network and may generate log entries corresponding to the packets transmitted by the network device. Utilizing the log entries corresponding to the packets received by the network device and the log entries corresponding to the packets transmitted by the network device, the computing system may correlate the packets transmitted by the network device with the packets received by the network device.
In some embodiments, the packets received by the network device may be associated with one or more flows (e.g., distinct end-to-end communication sessions); however, the network device may alter the packets in a way that obscures their association with the flow(s) from the computing system. Correlating the packets transmitted by the network device with the packets received by the network device may enable the computing system to determine that the packets transmitted by the network device are associated with the flow(s).
The present disclosure is pointed out with particularity in the appended claims. Features of the disclosure will become more apparent upon a review of this disclosure in its entirety, including the drawing figures provided herewith.
Some features herein are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings, in which like reference numerals refer to similar elements, and wherein:
In the following description of various illustrative embodiments, reference is made to the accompanying drawings, which form a part hereof, and in which is shown, by way of illustration, various embodiments in which aspects of the disclosure may be practiced. It is to be understood that other embodiments may be utilized, and structural and functional modifications may be made, without departing from the scope of the disclosure.
Various connections between elements are discussed in the following description. These connections are general and, unless specified otherwise, may be direct or indirect, wired or wireless. In this respect, the specification is not intended to be limiting.
Network 104 may include tap devices 124 and 126 and packet correlator 128. Tap device 124 may be located on or have access to a communication path that interfaces network device(s) 122 and network 106. Tap device 126 may be located on or have access to a communication path that interfaces network device(s) 122 and network 104 (e.g., one or more of hosts 114, 116, and 118). Packet correlator 128 may comprise one or more devices and may include memory 130, processor(s) 132, communication interface(s) 134, and data bus 136. Data bus 136 may interface memory 130, processor(s) 132, and communication interface(s) 134. Communication interface(s) 134 may interface packet correlator 128 with network device(s) 122 and tap devices 124 and 126. Memory 130 may comprise program module(s) 138, rule(s) 140, and log(s) 142. Program module(s) 138 may comprise instructions that when executed by processor(s) 132 cause packet correlator 128, tap device 124, or tap device 126 to perform one or more of the functions described herein. Rule(s) 140 may be generated by packet correlator 128 and may be configured to cause tap device(s) 124 and 126 to identify packets meeting criteria specified by rule(s) 140 and to perform one or more functions specified by rule(s) 140 on the identified packets (e.g., forward (or route) the packets toward their respective destinations, drop the packets, log information associated with or contained in the packets, copy the packets (or data contained therein), or the like). For example, tap devices 124 and 126 may comprise one or more packet-filtering devices and may be provisioned with rule(s) 140, which may configure tap device(s) 124 and 126 to identify packets meeting criteria specified by rule(s) 140 and to communicate data associated with the identified packets to packet correlator 128 (e.g., via communication interface(s) 134), which may utilize the data to generate one or more log entries corresponding to the identified packets in log(s) 142.
At step 4, host 114 may generate packets (e.g., P1, P2, and P3) destined for host 108 and may communicate the packets to network device(s) 122. As indicated by the shaded box overlaying the communication of the packets and the line extending downward from tap device 126, the packets may be routed through tap device 126, or tap device 126 may have access to a communication path that interfaces network device(s) 122 and host 114 (e.g., tap device 126 may receive copies of or information associated with or contained in packets traversing the communication path that interfaces network device(s) 122 and host 114). At step 5, tap device 126 may identify the packets (e.g., P1, P2, and P3) by determining that the packets are destined for the network address associated with host 108 (e.g., based on network-layer information contained in their headers) and determining that the network address associated with host 108 is in the set of destination network addresses specified by the criteria included in rule(s) 140. At step 6, tap device 126 may generate log data associated with the packets received by network device(s) 122 from host 114 (e.g., P1, P2, and P3) and may communicate the log data to packet correlator 128. As indicated by the shaded communication emanating from network device(s) 122, the log data may include data from network device(s) 122, which may be requested (e.g., by tap device 126) and communicated via communication interface(s) 134.
Packet correlator 128 may receive the log data and may utilize the log data to generate one or more entries corresponding to the packets in log(s) 142. For example, referring to
Packet correlator 128 may generate timestamps for each of entries 306, 308, and 310. For example, packet correlator 128 may generate a timestamp for entry 306 indicating a time (e.g., T1) corresponding to receipt of P1 by network device(s) 122 (e.g., a time corresponding to when network device(s) 122 received P1, a time corresponding to when tap device 126 identified P1, a time corresponding to generation of entry 306, or the like). Similarly, packet correlator 128 may generate a timestamp for entry 308 indicating a time (e.g., T2) corresponding to receipt of P2 by network device(s) 122 and generate a timestamp for entry 310 indicating a time (e.g., T3) corresponding to receipt of P3 by network device(s) 122.
Returning to
For example, in some embodiments, network device(s) 122 may be configured to perform network address translation (NAT) for network addresses associated with network 104 (e.g., network addresses associated with hosts 114, 116, and 118). In such embodiments, the packets received from host 114 (e.g., P1, P2, and P3) may comprise network- or transport-layer header information identifying their source as a network address associated with host 114 (e.g., a network address associated with network 104 (or a private network address)), and the corresponding packets generated by network device(s) 122 (e.g., P1′, P2′, and P3′) may comprise network- or transport-layer header information identifying their source as a network address associated with network device(s) 122 (e.g., a network address associated with network 106 (or a public network address)).
Additionally or alternatively, network device(s) 122 may comprise a proxy (e.g., a web proxy, a domain name system (DNS) proxy, a session initiation protocol (SIP) proxy, or the like) configured to receive requests and generate corresponding requests. For example, the packets received by network device(s) 122 from host 114 (e.g., P1, P2, and P3) may comprise requests for data from host 108 configured to cause host 108 to transmit the requested data to host 114, and the corresponding packets generated by network device(s) 122 (e.g., P1′, P2′, and P3′) may comprise corresponding requests for the data from host 108 configured to cause host 108 to transmit the requested data to network device(s) 122.
In some embodiments, network device(s) 122 may comprise a gateway (e.g., a bridge, intermediary, VPN, or tunneling gateway). For example, the packets received from host 114 (e.g., P1, P2, and P3) may comprise data destined for host 108, and the corresponding packets generated by network device(s) 122 (e.g., P1′, P2′, and P3′) may comprise packets that encapsulate, encrypt, or otherwise transform the packets received from host 114 (e.g., P1, P2, and P3) (or the data destined for host 108 included therein). For example, network device(s) 122 may comprise a tunneling gateway, and network device(s) 120 may comprise a paired tunneling gateway configured to decapsulate, decrypt, or otherwise inverse transform P1′, P2′, and P3′ (or data included therein) to produce, reproduce, or replicate P1, P2, and P3 (or the data destined for host 108 included therein). In such embodiments, there may not be a one-to-one correspondence between the packets received by network device(s) 122 and the corresponding packets generated by network device(s) 122. For example, data associated with the encapsulation may cause network device(s) 122 to generate more corresponding packets (e.g., due to one or more protocol size constraints).
While such obfuscation may be done without malice, it may also be performed with malicious intent. For example, network device(s) 122 may be employed by a malicious entity to attempt to obfuscate, spoof, or proxy for the identity or location of host 114 (e.g., network device(s) 122 may be employed as part of a man-in-the-middle attack).
At step 8, tap device 124 may identify the corresponding packets generated by network device(s) 122 (e.g., P1′, P2′, and P3′) by determining that the packets meet the criteria included in rule(s) 140. The criteria may include any combination of the network-layer information, transport-layer information, application-layer information, or environmental variable(s), as described above with respect to
Packet correlator 128 may receive the log data and may utilize the log data to generate one or more entries corresponding to the packets in log(s) 142. For example, responsive to receiving the log data from tap device 124, packet correlator 128 may utilize the log data to generate entries 312, 314, and 316 (e.g., corresponding to P1′, P2′, and P3′, respectively) in log(s) 302. Each of entries 312, 314, and 316 may include data associated with their respective corresponding packet (e.g., network-layer information, transport-layer information, application-layer information, or environmental variable(s)). For example, entries 312, 314, and 316 may include data indicating that P1′, P2′, and P3′ were destined for host 108 (e.g., data derived from application-layer header fields of P1′, P2′, and P3′).
Packet correlator 128 may generate timestamps for each of entries 312, 314, and 316. For example, packet correlator 128 may generate a timestamp for entry 312 indicating a time (e.g., T4) corresponding to transmission of P1′ by network device(s) 122 (e.g., a time corresponding to when network device(s) 122 transmitted P1′, a time corresponding to when tap device 124 identified P1′, a time corresponding to generation of entry 312, or the like). Similarly, packet correlator 128 may generate a timestamp for entry 314 indicating a time (e.g., T5) corresponding to transmission of P2′ by network device(s) 122 and generate a timestamp for entry 316 indicating a time (e.g., T6) corresponding to transmission of P3′ by network device(s) 122.
At step 10, host 116 may generate packets (e.g., P4, P5, and P6) destined for host 108 and may communicate the packets to network device(s) 122. Referring to
Packet correlator 128 may receive the log data and may utilize the log data to generate one or more entries corresponding to the packets in log(s) 142. For example, responsive to receiving the log data from tap device 126, packet correlator 128 may utilize the log data to generate entries 318, 320, and 322 (e.g., corresponding to P4, P5, and P6, respectively) in log(s) 304. Each of entries 318, 320, and 322 may include data associated with their respective corresponding packet (e.g., network-layer information, transport-layer information, application-layer information, or environmental variable(s)). For example, entries 318, 320, and 322 may include data indicating that P4, P5, and P6 were received from host 116 and destined for host 108 (e.g., data derived from application-layer header fields of P4, P5, and P6).
Packet correlator 128 may generate timestamps for each of entries 318, 320, and 322. For example, packet correlator 128 may generate a timestamp for entry 318 indicating a time (e.g., T7) corresponding to receipt of P4 by network device(s) 122 (e.g., a time corresponding to when network device(s) 122 received P4, a time corresponding to when tap device 126 identified P4, a time corresponding to generation of entry 318, or the like). Similarly, packet correlator 128 may generate a timestamp for entry 320 indicating a time (e.g., T8) corresponding to receipt of P5 by network device(s) 122 and generate a timestamp for entry 322 indicating a time (e.g., T9) corresponding to receipt of P6 by network device(s) 122.
At step 13, network device(s) 122 may generate one or more packets (e.g., P4′, P5′, and P6′) corresponding to the packets received from host 116 and may communicate (or transmit) (e.g., via network 106 and network device(s) 120) the corresponding packets (or data contained therein) to host 108. The packets received by network device(s) 122 from host 116 (e.g., P4, P5, and P6) may be associated with one or more flows (e.g., distinct end-to-end communication sessions between host 116 and host 108), and the corresponding packets generated by network device(s) 122 and communicated to host 108 (e.g., P4′, P5′, and P6′) may thus also be associated with the flow(s). As indicated above, however, network device(s) 122 may include one or more devices that alter one or more aspects of the packets (e.g., a device configured to perform NAT for network addresses associated with network 104, a proxy, a gateway (e.g., a VPN or tunneling gateway), or one or more other flow-transforming devices) in a way that obfuscates the association of the packets received from host 116 (e.g., P4, P5, and P6) with the corresponding packets generated by network device(s) 122 (e.g., P4′, P5′, and P6′), at least from the perspective of devices other than network device(s) 122.
For example, as indicated above, network device(s) 122 may be configured to perform NAT for network addresses associated with network 104. The packets received from host 116 (e.g., P4, P5, and P6) may comprise network- or transport-layer header information identifying their source as a network address associated with host 116 (e.g., a network address associated with network 104 (or a private network address)), and the corresponding packets generated by network device(s) 122 (e.g., P4′, P5′, and P6′) may comprise network- or transport-layer header information identifying their source as a network address associated with network device(s) 122 (e.g., a network address associated with network 106 (or a public network address)).
At step 14, tap device 124 may identify the corresponding packets generated by network device(s) 122 (e.g., P4′, P5′, and P6′) by determining that the packets meet the criteria included in rule(s) 140. For example, tap device 124 may identify the corresponding packets generated by network device(s) 122 (e.g., P4′, P5′, and P6′) by determining that the corresponding packets are destined for the network address associated with host 108 (e.g., based on network- or transport-layer information contained in their headers) and determining that the network address associated with host 108 is in the set of destination network addresses specified by the criteria included in rule(s) 140. At step 15, tap device 124 may generate log data associated with the corresponding packets generated by network device(s) 122 (e.g., P4′, P5′, and P6′) and may communicate the log data to packet correlator 128.
Packet correlator 128 may receive the log data and may utilize the log data to generate one or more entries corresponding to the packets in log(s) 142. For example, responsive to receiving the log data from tap device 124, packet correlator 128 may utilize the log data to generate entries 324, 326, and 328 (e.g., corresponding to P4′, P5′, and P6′, respectively) in log(s) 302. Each of entries 324, 326, and 328 may include data associated with their respective corresponding packet (e.g., network-layer information, transport-layer information, application-layer information, or environmental variable(s)). For example, entries 324, 326, and 328 may include data indicating that P4′, P5′, and P6′ were destined for host 108 (e.g., data derived from application-layer header fields of P4′, P5′, and P6′).
Packet correlator 128 may generate timestamps for each of entries 324, 326, and 328. For example, packet correlator 128 may generate a timestamp for entry 324 indicating a time (e.g., T10) corresponding to transmission of P4′ by network device(s) 122 (e.g., a time corresponding to when network device(s) 122 transmitted P4′, a time corresponding to when tap device 124 identified P4′, a time corresponding to generation of entry 324, or the like). Similarly, packet correlator 128 may generate a timestamp for entry 326 indicating a time (e.g., T11) corresponding to transmission of P5′ by network device(s) 122 and generate a timestamp for entry 328 indicating a time (e.g., T12) corresponding to transmission of P6′ by network device(s) 122.
At step 16, packet correlator 128 may utilize log(s) 142 to correlate the packets transmitted by network device(s) 122 with the packets received by network device(s) 122. For example, packet correlator 128 may compare data in entry 306 with data in entry 312 (e.g., network-layer information, transport-layer information, application-layer information, or environmental variable(s)) to correlate P1′ with P1 (e.g., by determining that a portion of the data in entry 306 corresponds with data in entry 312). Similarly, packet correlator 128 may compare data in entry 308 with data in entry 314 to correlate P2′ with P2, packet correlator 128 may compare data in entry 310 with data in entry 316 to correlate P3′ with P3, packet correlator 128 may compare data in entry 318 with data in entry 324 to correlate P4′ with P4, packet correlator 128 may compare data in entry 320 with data in entry 326 to correlate P5′ with P5, and packet correlator 128 may compare data in entry 322 with data in entry 328 to correlate P6′ with P6.
In some embodiments, packet correlator 128 may compare data in one or more entries of log(s) 142 with data in one or more other entries of log(s) 142 to determine correlation scores for each of multiple possible correlations. For example, for each entry in log(s) 302 (or a portion thereof (e.g., a portion of the entries comprising data matching one or more criteria)), packet correlator 128 may compare data in the entry with data in each of the entries in log(s) 304 (or a portion thereof (e.g., a portion of the entries comprising data matching the one or more criteria)) to determine correlation scores corresponding to multiple possible correlations (e.g., based on the amount (e.g., percentage) of information in the data that corresponds) and may select the correlation corresponding to the correlation score indicating the strongest correlation (e.g., indicating the greatest amount of corresponding information in the data of the entries). For example, for entry 312, packet correlator 128 may compare the data in entry 312 (e.g., network-layer information, transport-layer information, application-layer information, or environmental variable(s)) (or a portion thereof) with the data in entries 306, 308, and 310 (or corresponding portions thereof), may determine that the amount (e.g., percentage) of data in entry 312 that corresponds to data in entry 306 is greater than the amount of data in entry 312 that corresponds to data in entry 308 and the amount of data in entry 312 that corresponds to data in entry 310, and, based on such a determination, may correlate P1′ with P1.
In some embodiments, packet correlator 128 may correlate the packets transmitted by network device(s) 122 with the packets received by network device(s) 122 by comparing one or more timestamps of the entries in log(s) 142 with one or more other timestamps of the entries in log(s) 142. For example, for each entry in log(s) 302 (or a portion thereof (e.g., a portion of the entries comprising data matching one or more criteria)), packet correlator 128 may compare the timestamp of the entry with the timestamps of the entries in log(s) 304 (or a portion thereof (e.g., a portion of the entries comprising data matching the one or more criteria)) to determine a difference between the times indicated by the timestamps and may correlate the packet corresponding to the entry in log(s) 302 with a packet corresponding to an entry in log(s) 304 having the smallest difference in time indicated by the timestamps. For example, for entry 312, packet correlator 128 may compute a difference between T4 and T1, T2, and T3, may determine that |T4−T1|<|T4−T2|<|T4−T3|, and, based on such a determination, may correlate P1′ with P1.
At step 17, host 116 may generate packets (e.g., P7, P8, and P9) destined for host 110 and may communicate the packets to network device(s) 122. Tap device 126 may determine that the packets (e.g., P7, P8, and P9) are destined for a network address associated with host 110 (e.g., based on network-layer information contained in their headers), may determine that the network address associated with host 110 is not in the set of destination network addresses specified by the criteria included in rule(s) 140, and, based on these determinations, may fail to generate log data associated with the packets received by network device(s) 122 from host 116 (e.g., P7, P8, and P9). At step 18, network device(s) 122 may generate one or more packets (e.g., P7′, P8′, and P9′) corresponding to the packets received from host 116 and may communicate (or transmit) (e.g., via network 106 and network device(s) 120) the corresponding packets (or data contained therein) to host 110. Tap device 124 may determine that the corresponding packets (e.g., P7′, P8′, and P9′) are destined for the network address associated with host 110 (e.g., based on network-layer information contained in their headers), may determine that the network address associated with host 110 is not in the set of destination network addresses specified by the criteria included in rule(s) 140, and, based on these determinations, may fail to generate log data associated with the packets generated by network device(s) 122 (e.g., P7′, P8′, and P9′). For example, packet correlator 128 may be configured to correlate packets destined for the network address associated with host 108 but not packets destined for the network address associated with host 110, and rule(s) 140 may be configured to cause tap devices 124 and 126 to generate log data for packets destined for the network address associated with host 108 but not for packets destined for the network address associated with host 110 (e.g., host 108 may be associated with a malicious entity or host 110 may be associated with a trusted entity).
At step 19, host 114 may generate packets (e.g., P10 and P11) destined for host 108 and may communicate the packets to network device(s) 122. At step 20, tap device 126 may identify the packets (e.g., P10 and P11) by determining that the packets are destined for the network address associated with host 108 (e.g., based on network-layer information contained in their headers) and determining that the network address associated with host 108 is in the set of destination network addresses specified by the criteria included in rule(s) 140. Referring to
Packet correlator 128 may receive the log data and may utilize the log data to generate one or more entries corresponding to the packets in log(s) 142. For example, responsive to receiving the log data from tap device 126, packet correlator 128 may utilize the log data to generate entries 330 and 332 (e.g., corresponding to P10 and P11, respectively) in log(s) 304. Each of entries 330 and 332 may include data associated with their respective corresponding packet (e.g., network-layer information, transport-layer information, application-layer information, or environmental variable(s)). For example, entries 330 and 332 may include data indicating that P10 and P11 were received from host 114 and destined for host 108 (e.g., data derived from application-layer header fields of P10 and P11).
Packet correlator 128 may generate timestamps for each of entries 330 and 332. For example, packet correlator 128 may generate a timestamp for entry 330 indicating a time (e.g., T13) corresponding to receipt of P10 by network device(s) 122 (e.g., a time corresponding to when network device(s) 122 received P10, a time corresponding to when tap device 126 identified P10, a time corresponding to generation of entry 330, or the like). Similarly, packet correlator 128 may generate a timestamp for entry 332 indicating a time (e.g., T14) corresponding to receipt of P11 by network device(s) 122.
At step 22, network device(s) 122 may generate one or more packets (e.g., P10′ and P11′) corresponding to the packets received from host 114 and may communicate (or transmit) (e.g., via network 106 and network device(s) 120) the corresponding packets (or data contained therein) to host 108. The packets received by network device(s) 122 from host 114 (e.g., P10 and P11) may be associated with one or more flows (e.g., distinct end-to-end communication sessions between host 114 and host 108), and the corresponding packets generated by network device(s) 122 and communicated to host 108 (e.g., P10′ and P11′) may thus also be associated with the flow(s). As indicated above, however, network device(s) 122 may include one or more devices that alter one or more aspects of the packets (e.g., a device configured to perform NAT for network addresses associated with network 104, a proxy, a gateway (e.g., a VPN or tunneling gateway), or one or more other flow-transforming devices) in a way that obfuscates the association of the packets received from host 114 (e.g., P10 and P11) with the corresponding packets generated by network device(s) 122 (e.g., P10′ and P11′), at least from the perspective of devices other than network device(s) 122.
For example, as indicated above, network device(s) 122 may be configured to perform NAT for network addresses associated with network 104. The packets received from host 114 (e.g., P10 and P11) may comprise network-layer header information identifying their source as a network address associated with host 114 (e.g., a network address associated with network 104 (or a private network address)), and the corresponding packets generated by network device(s) 122 (e.g., P10′ and P11′) may comprise network-layer header information identifying their source as a network address associated with network device(s) 122 (e.g., a network address associated with network 106 (or a public network address)).
At step 23, tap device 124 may identify the corresponding packets generated by network device(s) 122 (e.g., P10′ and P11′) by determining that the packets meet the criteria included in rule(s) 140. For example, tap device 124 may identify the corresponding packets generated by network device(s) 122 (e.g., P10′ and P11′) by determining that the corresponding packets are destined for the network address associated with host 108 (e.g., based on network-layer information contained in their headers) and determining that the network address associated with host 108 is in the set of destination network addresses specified by the criteria included in rule(s) 140. At step 24, tap device 124 may generate log data associated with the corresponding packets generated by network device(s) 122 (e.g., P10′ and P11′) and may communicate the log data to packet correlator 128.
Packet correlator 128 may receive the log data and may utilize the log data to generate one or more entries corresponding to the packets in log(s) 142. For example, responsive to receiving the log data from tap device 124, packet correlator 128 may utilize the log data to generate entries 334 and 336 (e.g., corresponding to P10′ and P11′, respectively) in log(s) 302. Each of entries 334 and 336 may include data associated with their respective corresponding packet (e.g., network-layer information, transport-layer information, application-layer information, or environmental variable(s)). For example, entries 334 and 336 may include data indicating that P10′ and P11′ were destined for host 108 (e.g., data derived from application-layer header fields of P10′ and P11′).
Packet correlator 128 may generate timestamps for each of entries 334 and 336. For example, packet correlator 128 may generate a timestamp for entry 334 indicating a time (e.g., T15) corresponding to transmission of P10′ by network device(s) 122 (e.g., a time corresponding to when network device(s) 122 transmitted P10′, a time corresponding to when tap device 124 identified P10′, a time corresponding to generation of entry 334, or the like). Similarly, packet correlator 128 may generate a timestamp for entry 336 indicating a time (e.g., T16) corresponding to transmission of P11′ by network device(s) 122.
At step 25, packet correlator 128 may utilize log(s) 142 to correlate the packets transmitted by network device(s) 122 with the packets received by network device(s) 122. For example, packet correlator 128 may compare data in entry 330 with data in entry 334 (e.g., network-layer information, transport-layer information, application-layer information, or environmental variable(s)) to correlate P10′ with P10 (e.g., by determining that a portion of the data in entry 330 corresponds with data in entry 334). Similarly, packet correlator 128 may compare data in entry 332 with data in entry 336 to correlate P11′ with P11. In some embodiments, packet correlator 128 may compare data from one or more requests included in the packets transmitted by network device(s) 122 with data from one or more requests included in the packets received by network device(s) 122 and may correlate one or more of the packets transmitted by network device(s) 122 with one or more of the packets received by network device(s) 122 by determining that the data from the request(s) included in the packet(s) transmitted by network device(s) 122 corresponds to the data from the request(s) included in the packet(s) received by network device(s) 122 (e.g., where network device(s) 122 include a proxy). Additionally or alternatively, packet correlator 128 may compare data encapsulated in one or more of the packets transmitted by network device(s) 122 with data from one or more of the packets received by network device(s) 122 and may correlate one or more of the packets transmitted by network device(s) 122 with one or more of the packets received by network device(s) 122 by determining that the data encapsulated in the packet(s) transmitted by network device(s) 122 corresponds to the data in the packet(s) received by network device(s) 122 (e.g., where network device(s) 122 include a gateway (e.g., a VPN or tunneling gateway)).
In some embodiments, packet correlator 128 may correlate the packets transmitted by network device(s) 122 with the packets received by network device(s) 122 by comparing one or more timestamps of the entries in log(s) 142 with one or more other timestamps of the entries in log(s) 142. For example, packet correlator 128 may compare the timestamp of an entry in log(s) 302 with the timestamps of one or more entries in log(s) 304 (e.g., a portion of the entries comprising data matching one or more criteria)) to determine a difference between the times indicated by the timestamps and may compare the difference between the times indicated by the timestamps with a threshold latency value associated with network device(s) 122 (e.g., a predetermined value representing the time it takes for a packet to be communicated from tap device 126 to tap device 124, an estimated maximum latency associated with a communication path spanning from tap device 126 to tap device 124 (e.g., a communication path comprising network device(s) 122), or the like). For example, for entry 334, packet correlator 128 may compute a difference between T15 and T13, may determine that 0<T15−T13<THRESHOLD, and, based on such a determination, may correlate P10′ with P10. In some embodiments, the threshold latency value may be determined based on one or more previously determined differences between timestamps of entries corresponding to previously correlated packets. For example, the threshold latency value with which the difference between T15 and T13 is compared may have been determined based on the differences between T4 and T1, T5 and T2, or T6 and T3.
Responsive to correlating the packets transmitted by network device(s) 122 with the packets received by network device(s) 122, at step 26, packet correlator 128 may determine, based on one or more of the entries in log(s) 142, a network address associated with a host located in network 104 that is associated with a packet transmitted by network device(s) 122. For example, responsive to correlating P10′ with P10, packet correlator 128 may determine, based on data in entry 330 (e.g., network-layer information comprising the network address associated with host 114) that the network address associated with host 114 is associated with P10′ (e.g., a communication with host 108). At step 27, packet correlator 128 may generate one or more messages identifying host 114. For example, host 108 may be associated with a malicious entity, packet correlator 128 may determine (e.g., based on network-layer information in entry 334) that P10′ was transmitted to host 108, and the message(s) may indicate that host 114 communicated with host 108 (e.g., the malicious entity). At step 28, packet correlator 128 may communicate one or more of the message(s) to host 114 (e.g., to notify a user of host 114 of the communication with the malicious entity), and, at step 29, packet correlator 128 may communicate one or more of the message(s) to host 116, which may be associated with an administrator of network 104 (e.g., to notify the administrator of the communication of host 114 with the malicious entity).
Referring to
At step 35, tap device 126 may generate log data associated with the packets communicated by host 114 (e.g., P12 and P13) and may communicate the log data to packet correlator 128, which may receive the log data and may utilize the log data to generate one or more entries corresponding to the packets in log(s) 142. For example, responsive to receiving the log data from tap device 126, packet correlator 128 may utilize the log data to generate entries 338 and 340 (e.g., corresponding to P12 and P13, respectively) in log(s) 304. Each of entries 338 and 340 may include data associated with their respective corresponding packet (e.g., network-layer information, transport-layer information, application-layer information, or environmental variable(s)). For example, entry 338 may include data indicating that P12 was received from host 114 and destined for host 112 (e.g., data derived from application-layer header fields of P12), and entry 340 may include data indicating that P13 was received from host 114 and destined for host 118 (e.g., data derived from application-layer header fields of P13). Entries 338 and 340 may indicate that tap device 126 dropped their respective corresponding packets. Packet correlator 128 may generate timestamps for each of entries 338 and 340. For example, packet correlator 128 may generate a timestamp for entry 338 indicating a time (e.g., T17) corresponding to when tap device 126 identified P12, generation of entry 338, or the like. Similarly, packet correlator 128 may generate a timestamp for entry 340 indicating a time (e.g., T18) corresponding to when tap device 126 identified P13, generation of entry 340, or the like.
In some embodiments, the packets received by the network device may be associated with one or more flows (e.g., distinct end-to-end communication sessions); however, the network device may alter the packets in a way that obscures their association with the flow(s) from the computing system. For example, P1, P2, and P3 may be associated with a common flow; however, network device(s) 122 may alter P1, P2, and P3 (e.g., by generating P1′, P2′, and P3′) in a way that obscures their association with the common flow from packet correlator 128. Correlating the packets transmitted by the network device with the packets received by the network device may enable the computing system to determine that the packets transmitted by the network device are associated with the flow(s). For example, correlating P1′ with P1, P2′ with P2, and P3′ with P3 may enable packet correlator 128 to determine that P1′, P2′, and P3′ are associated with the common flow.
The functions and steps described herein may be embodied in computer-usable data or computer-executable instructions, such as in one or more program modules, executed by one or more computers or other devices to perform one or more functions described herein. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types when executed by one or more processors in a computer or other data-processing device. The computer-executable instructions may be stored on a computer-readable medium such as a hard disk, optical disk, removable storage media, solid-state memory, RAM, etc. As will be appreciated, the functionality of the program modules may be combined or distributed as desired. In addition, the functionality may be embodied in whole or in part in firmware or hardware equivalents, such as integrated circuits, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGA), and the like. Particular data structures may be used to more effectively implement one or more aspects of the disclosure, and such data structures are contemplated to be within the scope of computer-executable instructions and computer-usable data described herein.
Although not required, one of ordinary skill in the art will appreciate that various aspects described herein may be embodied as a method, system, apparatus, or one or more computer-readable media storing computer-executable instructions. Accordingly, aspects may take the form of an entirely hardware embodiment, an entirely software embodiment, an entirely firmware embodiment, or an embodiment combining software, hardware, and firmware aspects in any combination.
As described herein, the various methods and acts may be operative across one or more computing devices and networks. The functionality may be distributed in any manner or may be located in a single computing device (e.g., a server, client computer, or the like).
Aspects of the disclosure have been described in terms of illustrative embodiments thereof. Numerous other embodiments, modifications, and variations within the scope and spirit of the appended claims will occur to persons of ordinary skill in the art from a review of this disclosure. For example, one of ordinary skill in the art will appreciate that the steps illustrated in the illustrative figures may be performed in other than the recited order and that one or more illustrated steps may be optional. Any and all features in the following claims may be combined or rearranged in any way possible.
This application is a continuation of co-pending U.S. patent application Ser. No. 16/554,293, filed Aug. 28, 2019, entitled “CORRELATING PACKETS IN COMMUNICATIONS NETWORKS,” which is a continuation of co-pending U.S. patent application Ser. No. 15/413,947 (now U.S. Pat. No. 10,530,903), filed Jan. 24, 2017, entitled “CORRELATING PACKETS IN COMMUNICATIONS NETWORKS,” which is a continuation of U.S. patent application Ser. No. 14/714,207 (now U.S. Pat. No. 9,560,176), filed May 15, 2015, entitled “CORRELATING PACKETS IN COMMUNICATIONS NETWORKS,” which is a continuation of U.S. patent application Ser. No. 14/618,967 (now U.S. Pat. No. 9,264,370), filed Feb. 10, 2015, entitled “CORRELATING PACKETS IN COMMUNICATIONS NETWORKS.” The disclosures of both applications are incorporated by reference herein in their entirety and made part hereof.
Number | Name | Date | Kind |
---|---|---|---|
6098172 | Coss et al. | Aug 2000 | A |
6147976 | Shand et al. | Nov 2000 | A |
6226372 | Beebe et al. | May 2001 | B1 |
6279113 | Vaidya | Aug 2001 | B1 |
6317837 | Kenworthy | Nov 2001 | B1 |
6484261 | Wiegel | Nov 2002 | B1 |
6611875 | Chopra et al. | Aug 2003 | B1 |
6662235 | Callis et al. | Dec 2003 | B1 |
6678827 | Rothermel et al. | Jan 2004 | B1 |
6826694 | Dutta et al. | Nov 2004 | B1 |
6907042 | Oguchi | Jun 2005 | B1 |
6971028 | Lyle et al. | Nov 2005 | B1 |
7089581 | Nagai et al. | Aug 2006 | B1 |
7095716 | Ke et al. | Aug 2006 | B1 |
7107613 | Chen et al. | Sep 2006 | B1 |
7143438 | Coss et al. | Nov 2006 | B1 |
7152240 | Green et al. | Dec 2006 | B1 |
7185368 | Copeland, III | Feb 2007 | B2 |
7215637 | Ferguson et al. | May 2007 | B1 |
7225269 | Watanabe | May 2007 | B2 |
7227842 | Ji et al. | Jun 2007 | B1 |
7237267 | Rayes et al. | Jun 2007 | B2 |
7263099 | Woo et al. | Aug 2007 | B1 |
7296288 | Hill et al. | Nov 2007 | B1 |
7299353 | Le Pennec et al. | Nov 2007 | B2 |
7331061 | Ramsey et al. | Feb 2008 | B1 |
7478429 | Lyon | Jan 2009 | B2 |
7499412 | Matityahu et al. | Mar 2009 | B2 |
7539186 | Aerrabotu et al. | May 2009 | B2 |
7610621 | Turley et al. | Oct 2009 | B2 |
7684400 | Govindarajan et al. | Mar 2010 | B2 |
7710885 | Ilnicki et al. | May 2010 | B2 |
7721084 | Salminen et al. | May 2010 | B2 |
7792775 | Matsuda | Sep 2010 | B2 |
7814158 | Malik | Oct 2010 | B2 |
7814546 | Strayer et al. | Oct 2010 | B1 |
7818794 | Wittman | Oct 2010 | B2 |
7849502 | Bloch et al. | Dec 2010 | B1 |
7913303 | Rouland et al. | Mar 2011 | B1 |
7954143 | Aaron | May 2011 | B2 |
8004994 | Darisi et al. | Aug 2011 | B1 |
8009566 | Zuk et al. | Aug 2011 | B2 |
8037517 | Fulp et al. | Oct 2011 | B2 |
8042167 | Fulp et al. | Oct 2011 | B2 |
8117655 | Spielman | Feb 2012 | B2 |
8156206 | Kiley et al. | Apr 2012 | B2 |
8176561 | Hurst et al. | May 2012 | B1 |
8219675 | Ivershen | Jul 2012 | B2 |
8271645 | Rajan et al. | Sep 2012 | B2 |
8306994 | Kenworthy | Nov 2012 | B2 |
8307029 | Davis et al. | Nov 2012 | B2 |
8331234 | Newton et al. | Dec 2012 | B1 |
8422391 | Zhu | Apr 2013 | B2 |
8495725 | Ahn | Jul 2013 | B2 |
8510821 | Brandwine et al. | Aug 2013 | B1 |
8726379 | Stiansen et al. | May 2014 | B1 |
8789135 | Pani | Jul 2014 | B1 |
8806638 | Mani | Aug 2014 | B1 |
8832832 | Visbal | Sep 2014 | B1 |
8856926 | Narayanaswamy et al. | Oct 2014 | B2 |
8935785 | Pandrangi | Jan 2015 | B2 |
9094445 | Moore et al. | Jul 2015 | B2 |
9124552 | Moore | Sep 2015 | B2 |
9137205 | Rogers et al. | Sep 2015 | B2 |
9154446 | Gemelli et al. | Oct 2015 | B2 |
9160713 | Moore | Oct 2015 | B2 |
9172627 | Kjendal et al. | Oct 2015 | B2 |
9419942 | Buruganahalli et al. | Aug 2016 | B1 |
9531672 | Li et al. | Dec 2016 | B1 |
9634911 | Meloche | Apr 2017 | B2 |
9686193 | Moore | Jun 2017 | B2 |
20010039579 | Trcka et al. | Nov 2001 | A1 |
20010039624 | Kellum | Nov 2001 | A1 |
20020016858 | Sawada et al. | Feb 2002 | A1 |
20020038339 | Xu | Mar 2002 | A1 |
20020049899 | Kenworthy | Apr 2002 | A1 |
20020083345 | Halliday et al. | Jun 2002 | A1 |
20020112188 | Syvanne | Aug 2002 | A1 |
20020152209 | Merugu et al. | Oct 2002 | A1 |
20020164962 | Mankins et al. | Nov 2002 | A1 |
20020165949 | Na et al. | Nov 2002 | A1 |
20020186683 | Buck et al. | Dec 2002 | A1 |
20020198981 | Corl et al. | Dec 2002 | A1 |
20030005122 | Freimuth et al. | Jan 2003 | A1 |
20030014665 | Anderson et al. | Jan 2003 | A1 |
20030018591 | Komisky | Jan 2003 | A1 |
20030035370 | Brustoloni | Feb 2003 | A1 |
20030051026 | Carter et al. | Mar 2003 | A1 |
20030088787 | Egevang | May 2003 | A1 |
20030097590 | Syvanne | May 2003 | A1 |
20030105976 | Copeland | Jun 2003 | A1 |
20030120622 | Nurmela et al. | Jun 2003 | A1 |
20030123456 | Denz et al. | Jul 2003 | A1 |
20030142681 | Chen et al. | Jul 2003 | A1 |
20030145225 | Bruton et al. | Jul 2003 | A1 |
20030154297 | Suzuki et al. | Aug 2003 | A1 |
20030154399 | Zuk et al. | Aug 2003 | A1 |
20030188192 | Tang et al. | Oct 2003 | A1 |
20030212900 | Liu et al. | Nov 2003 | A1 |
20030220940 | Futoransky et al. | Nov 2003 | A1 |
20040010712 | Hui et al. | Jan 2004 | A1 |
20040015719 | Lee et al. | Jan 2004 | A1 |
20040073655 | Kan et al. | Apr 2004 | A1 |
20040088542 | Daude et al. | May 2004 | A1 |
20040093513 | Cantrell et al. | May 2004 | A1 |
20040098511 | Lin et al. | May 2004 | A1 |
20040114518 | MacFaden et al. | Jun 2004 | A1 |
20040123220 | Johnson et al. | Jun 2004 | A1 |
20040131056 | Dark | Jul 2004 | A1 |
20040148520 | Talpade et al. | Jul 2004 | A1 |
20040151155 | Jouppi | Aug 2004 | A1 |
20040172529 | Culbert | Sep 2004 | A1 |
20040172557 | Nakae et al. | Sep 2004 | A1 |
20040177139 | Schuba et al. | Sep 2004 | A1 |
20040181690 | Rothermel et al. | Sep 2004 | A1 |
20040193943 | Angelino et al. | Sep 2004 | A1 |
20040199629 | Bomer et al. | Oct 2004 | A1 |
20040205360 | Norton et al. | Oct 2004 | A1 |
20040250124 | Chesla et al. | Dec 2004 | A1 |
20050010765 | Swander et al. | Jan 2005 | A1 |
20050024189 | Weber | Feb 2005 | A1 |
20050071650 | Jo et al. | Mar 2005 | A1 |
20050076227 | Kang et al. | Apr 2005 | A1 |
20050108557 | Kayo et al. | May 2005 | A1 |
20050114704 | Swander | May 2005 | A1 |
20050117576 | McDysan et al. | Jun 2005 | A1 |
20050125697 | Tahara | Jun 2005 | A1 |
20050138204 | Iyer et al. | Jun 2005 | A1 |
20050138353 | Spies et al. | Jun 2005 | A1 |
20050141537 | Kumar et al. | Jun 2005 | A1 |
20050183140 | Goddard | Aug 2005 | A1 |
20050229246 | Rajagopal et al. | Oct 2005 | A1 |
20050249214 | Peng | Nov 2005 | A1 |
20050251570 | Heasman et al. | Nov 2005 | A1 |
20050283823 | Okajo et al. | Dec 2005 | A1 |
20050286522 | Paddon et al. | Dec 2005 | A1 |
20060031928 | Conley et al. | Feb 2006 | A1 |
20060048142 | Roese et al. | Mar 2006 | A1 |
20060053491 | Khuti et al. | Mar 2006 | A1 |
20060070122 | Bellovin | Mar 2006 | A1 |
20060080733 | Khosmood et al. | Apr 2006 | A1 |
20060085849 | Culbert | Apr 2006 | A1 |
20060104202 | Reiner | May 2006 | A1 |
20060114899 | Toumura et al. | Jun 2006 | A1 |
20060133377 | Jain | Jun 2006 | A1 |
20060136987 | Okuda | Jun 2006 | A1 |
20060137009 | Chesla | Jun 2006 | A1 |
20060146879 | Anthias et al. | Jul 2006 | A1 |
20060159028 | Curran-Gray et al. | Jul 2006 | A1 |
20060195896 | Fulp et al. | Aug 2006 | A1 |
20060212572 | Afek et al. | Sep 2006 | A1 |
20060248580 | Fulp et al. | Nov 2006 | A1 |
20060262798 | Joshi et al. | Nov 2006 | A1 |
20070056038 | Lok | Mar 2007 | A1 |
20070083924 | Lu | Apr 2007 | A1 |
20070118894 | Bhatia | May 2007 | A1 |
20070147380 | Ormazabal et al. | Jun 2007 | A1 |
20070211644 | Ottamalika et al. | Sep 2007 | A1 |
20070240208 | Yu et al. | Oct 2007 | A1 |
20070291789 | Kutt et al. | Dec 2007 | A1 |
20080005795 | Acharya et al. | Jan 2008 | A1 |
20080028467 | Kommareddy et al. | Jan 2008 | A1 |
20080043739 | Suh et al. | Feb 2008 | A1 |
20080072307 | Maes | Mar 2008 | A1 |
20080077705 | Li et al. | Mar 2008 | A1 |
20080080493 | Weintraub et al. | Apr 2008 | A1 |
20080086435 | Chesla | Apr 2008 | A1 |
20080101234 | Nakil et al. | May 2008 | A1 |
20080163333 | Kasralikar | Jul 2008 | A1 |
20080201772 | Mondaeev et al. | Aug 2008 | A1 |
20080229415 | Kapoor et al. | Sep 2008 | A1 |
20080235755 | Blaisdell et al. | Sep 2008 | A1 |
20080279196 | Friskney et al. | Nov 2008 | A1 |
20080301765 | Nicol et al. | Dec 2008 | A1 |
20080313738 | Enderby | Dec 2008 | A1 |
20080320116 | Briggs | Dec 2008 | A1 |
20090028160 | Eswaran et al. | Jan 2009 | A1 |
20090138938 | Harrison et al. | May 2009 | A1 |
20090144819 | Babbar et al. | Jun 2009 | A1 |
20090150972 | Moon et al. | Jun 2009 | A1 |
20090172800 | Wool | Jul 2009 | A1 |
20090222877 | Diehl et al. | Sep 2009 | A1 |
20090240698 | Shukla et al. | Sep 2009 | A1 |
20090262723 | Pelletier et al. | Oct 2009 | A1 |
20090262741 | Jungck et al. | Oct 2009 | A1 |
20090300759 | Wang et al. | Dec 2009 | A1 |
20090328219 | Narayanaswamy | Dec 2009 | A1 |
20100011433 | Harrison et al. | Jan 2010 | A1 |
20100011434 | Kay | Jan 2010 | A1 |
20100082811 | Van Der Merwe et al. | Apr 2010 | A1 |
20100095367 | Narayanaswamy | Apr 2010 | A1 |
20100107240 | Thaler et al. | Apr 2010 | A1 |
20100115621 | Staniford et al. | May 2010 | A1 |
20100132027 | Ou | May 2010 | A1 |
20100195503 | Raleigh | Aug 2010 | A1 |
20100199346 | Ling et al. | Aug 2010 | A1 |
20100202299 | Strayer et al. | Aug 2010 | A1 |
20100211678 | McDysan et al. | Aug 2010 | A1 |
20100232445 | Bellovin | Sep 2010 | A1 |
20100242098 | Kenworthy | Sep 2010 | A1 |
20100268799 | Maestas | Oct 2010 | A1 |
20100296441 | Barkan | Nov 2010 | A1 |
20100303240 | Beachem et al. | Dec 2010 | A1 |
20110055916 | Ahn | Mar 2011 | A1 |
20110055923 | Thomas | Mar 2011 | A1 |
20110088092 | Nguyen et al. | Apr 2011 | A1 |
20110141900 | Jayawardena et al. | Jun 2011 | A1 |
20110154470 | Grimes et al. | Jun 2011 | A1 |
20110185055 | Nappier et al. | Jul 2011 | A1 |
20110214157 | Korsunsky et al. | Sep 2011 | A1 |
20110270956 | McDysan et al. | Nov 2011 | A1 |
20110277034 | Hanson | Nov 2011 | A1 |
20120023576 | Sorensen et al. | Jan 2012 | A1 |
20120084866 | Stolfo | Apr 2012 | A1 |
20120106354 | Pleshek et al. | May 2012 | A1 |
20120110656 | Santos et al. | May 2012 | A1 |
20120113987 | Riddoch et al. | May 2012 | A1 |
20120240135 | Risbood et al. | Sep 2012 | A1 |
20120240185 | Kapoor et al. | Sep 2012 | A1 |
20120264443 | Ng et al. | Oct 2012 | A1 |
20120314617 | Erichsen et al. | Dec 2012 | A1 |
20120331543 | Bostrom et al. | Dec 2012 | A1 |
20130007257 | Ramaraj et al. | Jan 2013 | A1 |
20130047020 | Hershko et al. | Feb 2013 | A1 |
20130059527 | Hasesaka et al. | Mar 2013 | A1 |
20130061294 | Kenworthy | Mar 2013 | A1 |
20130104236 | Ray et al. | Apr 2013 | A1 |
20130117852 | Stute | May 2013 | A1 |
20130139236 | Rubinstein et al. | May 2013 | A1 |
20130254766 | Zuo et al. | Sep 2013 | A1 |
20130291100 | Ganapathy et al. | Oct 2013 | A1 |
20130305311 | Puttaswamy Naga et al. | Nov 2013 | A1 |
20140047112 | Komiya | Feb 2014 | A1 |
20140075510 | Sonoda et al. | Mar 2014 | A1 |
20140082204 | Shankar et al. | Mar 2014 | A1 |
20140082730 | Vashist et al. | Mar 2014 | A1 |
20140115654 | Rogers et al. | Apr 2014 | A1 |
20140150051 | Bharali et al. | May 2014 | A1 |
20140201123 | Ahn et al. | Jul 2014 | A1 |
20140215561 | Roberson et al. | Jul 2014 | A1 |
20140215574 | Erb et al. | Jul 2014 | A1 |
20140245423 | Lee | Aug 2014 | A1 |
20140259170 | Amsler | Sep 2014 | A1 |
20140281030 | Cui et al. | Sep 2014 | A1 |
20140283004 | Moore | Sep 2014 | A1 |
20140283030 | Moore et al. | Sep 2014 | A1 |
20140317397 | Martini | Oct 2014 | A1 |
20140317737 | Shin et al. | Oct 2014 | A1 |
20140337613 | Martini | Nov 2014 | A1 |
20140365372 | Ross et al. | Dec 2014 | A1 |
20140366132 | Stiansen et al. | Dec 2014 | A1 |
20150033336 | Wang et al. | Jan 2015 | A1 |
20150052601 | White et al. | Feb 2015 | A1 |
20150106930 | Honda et al. | Apr 2015 | A1 |
20150128274 | Giokas | May 2015 | A1 |
20150135325 | Stevens et al. | May 2015 | A1 |
20150207809 | MacAulay | Jul 2015 | A1 |
20150237012 | Moore | Aug 2015 | A1 |
20150244734 | Olson et al. | Aug 2015 | A1 |
20150256431 | Buchanan et al. | Sep 2015 | A1 |
20150304354 | Rogers et al. | Oct 2015 | A1 |
20150334125 | Bartos et al. | Nov 2015 | A1 |
20150341389 | Kurakami | Nov 2015 | A1 |
20150347246 | Matsui et al. | Dec 2015 | A1 |
20150350229 | Mitchell | Dec 2015 | A1 |
20150372977 | Yin | Dec 2015 | A1 |
20150373043 | Wang et al. | Dec 2015 | A1 |
20160020968 | Aumann et al. | Jan 2016 | A1 |
20160028751 | Cruz Mota et al. | Jan 2016 | A1 |
20160065611 | Fakeri-Tabrizi et al. | Mar 2016 | A1 |
20160112443 | Grossman et al. | Apr 2016 | A1 |
20160119365 | Barel | Apr 2016 | A1 |
20160127417 | Janssen | May 2016 | A1 |
20160191558 | Davison | Jun 2016 | A1 |
20160205069 | Blocher et al. | Jul 2016 | A1 |
20160219065 | Dasgupta et al. | Jul 2016 | A1 |
20160285706 | Rao | Sep 2016 | A1 |
20160294870 | Banerjee et al. | Oct 2016 | A1 |
20160366099 | Jordan | Dec 2016 | A1 |
20170223046 | Singh | Aug 2017 | A1 |
20170272469 | Kraemer et al. | Sep 2017 | A1 |
Number | Date | Country |
---|---|---|
2005328336 | Sep 2011 | AU |
2006230171 | Jun 2012 | AU |
2600236 | Oct 2006 | CA |
1006701 | Jun 2000 | EP |
1313290 | May 2003 | EP |
1484884 | Dec 2004 | EP |
1677484 | Jul 2006 | EP |
2385676 | Nov 2011 | EP |
2498442 | Sep 2012 | EP |
1864226 | May 2013 | EP |
20010079361 | Aug 2001 | KR |
2005046145 | May 2005 | WO |
2006093557 | Sep 2006 | WO |
2006105093 | Oct 2006 | WO |
2007109541 | Sep 2007 | WO |
2011038420 | Mar 2011 | WO |
2012146265 | Nov 2012 | WO |
Entry |
---|
Aug. 29, 2018 (CA) Office Action—App. 2,888,935. |
Aug. 9, 2018 U.S. Non-Final Office Action—U.S. Appl. No. 15/413,947. |
Dec. 18, 2018 U.S. Final Office Action—U.S. Appl. No. 15/610,995. |
Jul. 11, 2018 (US) Declaration of Kevin Jeftay, PhD in Support of Petition for Inter Partes Review of U.S. Pat. No. 9,565,213—IPR2018-01386. |
Jul. 12, 2018 (US) Petition for Inter Partes Review of U.S. Pat. No. 9,565,213—IPR2018-01386. |
Jul. 13, 2018 U.S. Notice of Allowance—U.S. Appl. No. 15/414,117. |
Jul. 20, 2018 (US) Declaration of Dr. Stuart Staniford in Support of Petition for Inter Partes Review of U.S. Pat. No. 9,124,552—IPR2018-01436. |
Jul. 20, 2018 (US) Declaration of Dr. Stuart Staniford in Support of Petition for Inter Partes Review of U.S. Pat. No. 9,160,713—IPR2018-01437. |
Jul. 20, 2018 (US) Petition for Inter Partes Review of U.S. Pat. No. 9,124,552—IPR2018-01436. |
Jul. 20, 2018 (US) Petition for Inter Partes Review of U.S. Pat. No. 9,160,713—IPR2018-01437. |
Jul. 26, 2018 (US) Declaration of Kevin Jeftay, PhD in Support of First Petition for Inter Partes Review of U.S. Pat. No. 9,137,205—IPR2018-01443. |
Jul. 26, 2018 (US) Declaration of Kevin Jeftay, PhD in Support of Second Petition for Inter Partes Review of U.S. Pat. No. 9,137,205—IPR2018-01444. |
Jul. 27, 2018 (US) First Petition for Inter Partes Review of U.S. Pat. No. 9,137,205—IPR2018-01443. |
Jul. 27, 2018 U.S. Non-Final Office Action—U.S. Appl. No. 15/382,806. |
Jul. 27, 2018 (US) Second Petition for Inter Partes Review of U.S. Pat. No. 9,137,205—IPR2018-01444. |
Jul. 5, 2018 U.S. Non-Final Office Action—U.S. Appl. No. 15/413,750. |
Mar. 15, 2018 (EP) Second Communication pursuant to Article 94(3) EPC—App. 13765547.8. |
Mar. 16, 2018 (EP) Communication Pursuant to Rule 164(2)(b) and Article 94(3) EPC—App. 15722292.8. |
Mar. 21, 2018 (AU) First Examination Report—App. 2015382393. |
Mar. 8, 2018 U.S. Non-Final Office Action—U.S. Appl. No. 14/745,207. |
May 25, 2018 U.S. Notice of Allowance—U.S. Appl. No. 15/413,834. |
Nov. 14, 2018 U.S. Final Office Action—U.S. Appl. No. 14/745,207. |
Oct. 12, 2018 U.S. Non-Final Office Action—U.S. Appl. No. 16/039,896. |
Oct. 4, 2018 U.S. Non-Final Office Action—U.S. Appl. No. 16/030,374. |
Oct. 4, 2018 U.S. Notice of Allowance—U.S. Appl. No. 15/827,477. |
Sep. 17, 2018 (US) Declaration of Narasimha Reddy Ph.D., in Support of Petition for Inter Partes Review of U.S. Pat. No. 9,560,176 (First)—IRP2018-01654. |
Sep. 17, 2018 (US) Declaration of Narasimha Reddy Ph.D., in Support of Petition for Inter Partes Review of U.S. Pat. No. 9,560,176 (Second)—IRP2018-01655. |
Sep. 17, 2018 (US) Petition for Inter Partes Review of U.S. Pat. No. 9,560,176 (First)—IPR 2018-01654. |
Sep. 17, 2018 (US) Petition for Inter Partes review of U.S. Pat. No. 9,560,176 (Second)—IPR2018-01655. |
Sep. 27, 2018 (WO) International Search Report and Written Opinion—App. PCT/US2018/043367. |
Sep. 4, 2018 (WO) International Search Report and Written Opinion—App. PCT/US2018/041355. |
Sep. 27, 2018 U.S. Non-Final Office Action—U.S. Appl No. 15/614,956. |
Apr. 2, 2019 (US) Decision—Institution of Inter Partes Review of U.S. Pat. No. 9,560,077—IPR 2018-01513. |
Apr. 8, 2019 U.S. Final Office Aciton—U.S. Appl. No. 15/413,947. |
Aug. 2, 2019 (CA) Office Action—App. 2,888,935. |
Aug. 2, 2019 U.S. Non-Final Office Action—U.S. Appl. No. 16/448,969. |
Feb. 21, 2019 U.S. Final Office Action—U.S. Appl. No. 15/382,806. |
Feb. 6, 2019 U.S. Final Office Action—U.S. Appl. No. 15/413,750. |
Feb. 6, 2019 U.S. Notice of Allowance and Fees Due—U.S. Appl. No. 16/039,896. |
Jan. 24, 2019 (US) Decision—Institution of Inter Partes Review of U.S. Pat. No. 9,124,552 B2—IPR 2018-01436. |
Jan. 24, 2019 (US) Decision—Institution of Inter Partes Review of U.S. Pat. No. 9,160,713 B2—IPR 2018-01437. |
Jan. 24, 2019 U.S. Notice of Allowance—U.S. Appl. No. 15/610,995. |
Jul. 5, 2019 (EP) Extended European Search Report—App. 19179539.2. |
Jun. 3, 2019 (EP) Communication pursuant to Article 94(3) EPC—Third Examination Report—App. 13765547.8. |
Jun. 3, 2019 U.S. Final Office Action—U.S. Appl. No. 15/614,956. |
Mar. 11, 2019 U.S. Final Office Action—U.S. Appl. No. 16/030,354. |
Mar. 18, 2019 (AU) First Examination Report—App. 2016379156. |
Mar. 8, 2019 U.S. Notice of Allowance and Fees Due—U.S. Appl. No. 16/030,374. |
Mar. 8, 2019 U.S. Notice of Allowance and Fees Due—U.S. Appl. No. 16/060,374. |
“Cisco ACNS Softward Configuration Guide for Centrally Managed Deployments,” Release 5.5. Text Part No. OL-9136-01, Cisco Systems, Inc., 2006, 944 pages. |
“Control Plane Policing Implementation Best Practices”; Cisco Systems; Mar. 13, 2013; <https://web.archive.org/web/20130313135143/http:www.cisco.com/web/about/security/intelligence/coppwp_gs.html>. |
“Examining SSL-encrypted Communications: Netronome SSL InspectorTM Solution Overview,” Jan. 1, 2008, XP055036015, retrieved from <http://www.infosecurityproductsguide.com/technology/2008/Netronome_Examining_SSL-encrypted_Communications.pdf>, 8 pages. |
Sep. 11, 2006—(WO) Written Opinion of the International Searching Authority—App PCT/US05/47008. |
Aug. 31, 2007—(EP) Communication Pursuant to Rules 109 and 110—App 05857614.1. |
Jul. 3, 2008—(WO) Written Opinion of the International Searching Authority—App PCT/US06/11291. |
Jun. 24, 2009—U.S. Office Action—U.S. Appl. No. 11/390,976. |
Sep. 14, 2009 U.S. Office Action—U.S. Appl. No. 11/316,331. |
Apr. 29, 2010—U.S. Interview Summary—U.S. Appl. No. 11/390,976. |
Aug. 20, 2010—(AU) Office Action—App 2005328336. |
Jun. 23, 2010—U.S. Final Rejection—U.S. Appl. No. 11/316,331. |
Mar. 26, 2010—U.S. Final Rejection—U.S. Appl. No. 11/390,976. |
Sep. 10, 2010—(AU) Office Action—App 2006230171. |
Sep. 30, 2010—U.S. Office Action—U.S. Appl. No. 11/390,976. |
Apr. 27, 2011—(WO) International Search Report and Written Opinion—App PCT/US2010/054520. |
Aug. 25, 2011—U.S. Non Final Rejection—U.S. Appl. No. 12/871,806. |
Feb. 14, 2011—(EP) Search Report—App 06758213.0. |
Jun. 9, 2011—U.S. Notice of Allowance—U.S. Appl. No. 11/390,976. |
Mar. 3, 2011—(EP) Communication Pursuant to Rules 70(2) and 70a(2)—App 06758213.0. |
Mar. 4, 2011—U.S. Notice of Allowance—U.S. Appl. No. 11/316,331. |
Nov. 11, 2011—(AU) Second Office Action—App 2006230171. |
Oct. 18, 2011—(EP) Communication Pursuant to Article 94(3)—App 06 758 213.0. |
Aug. 7, 2012—U.S. Non Final Rejection—U.S. Appl. No. 12/871,806. |
Feb. 6, 2012—U.S. Final Rejection—U.S. Appl. No. 12/871,806. |
Jun. 9, 2012—(AU) Notice of Acceptance—App 2006230171. |
Jun. 26, 2012—(EP) Extended Search Report—App 05857614.1. |
Nov. 20, 2012—(EP) Communication under rule 71(3)—App 06 758 213.0. |
Nov. 26, 2012—U.S. Final Rejection—U.S. Appl. No. 12/871,806. |
Apr. 4, 2013—U.S. Notice of Allowance—U.S. Appl. No. 12/871,806. |
Apr. 18, 2013—(EP) Decision to Grant a European Patent—App 06758212.0. |
Jan. 16, 2013—(CA) Office Action—App 2,594,020. |
Jan. 17, 2013—(CA) Office Action—App 2,600,236. |
Nov. 7, 2013 (WO) International Search Report—App. PCT/US2013/057502. |
Jun. 24, 2014 (WO) International Search Report—App. PCT/US2014/023286. |
Jun. 26, 2014 (WO) International Search Report—App. PCT/US2014/027723. |
Mar. 24, 2014 (WO) International Search Report—App. PCT/US2013/072566. |
May 26, 2014—(CA) Office Action—App 2010297968. |
Apr. 28, 2015 (WO) International Preliminary Report on Patentability—App. PCT/US2013/057502, dated Apr. 28, 2015. |
Dec. 22, 2015—U.S. Final Office Action—U.S. Appl. No. 14/714,207. |
Jan. 14, 2015—(EP) Extended Search Report—App 10819667.6. |
Jul. 10, 2015—(WO) Communication Relating to the Results of the Partial International Search for International App—PCT/US2015/024691. |
Jul. 14, 2015—(WO) International Preliminary Report on Patentability—App PCT/US2013/072566. |
May 14, 2015—U.S. Non Final Rejection—U.S. Appl. No. 13/940,240. |
May 25, 2015—(AU) Notice of Acceptance—App 2010297968. |
Nov. 2, 2015—(AU) Office Action—App 2013372879. |
Nov. 27, 2015—U.S. Final Rejection—U.S. Appl. No. 13/940,240. |
Sep. 15, 2015 (WO) International Preliminary Report on Patentability—App.—PCT/US2014/027723. |
Sep. 15, 2015 (WO) International Preliminary Report on Patentability—App. PCT/US2014/023286. |
Sep. 16, 2015 (WO) International Search Report and Written Opinion—App. No. PCT/US2015/024691. |
Sep. 4, 2015 U.S. Notice of Allowance—U.S. Appl. No. 14/702,755. |
Apr. 15, 2016—U.S. Notice of Allowance—U.S. Appl. No. 14/855,374. |
Apr. 26, 2016—(US) Office Action—U.S. Appl. No. 14/745,207. |
Dec. 5, 2016—U.S. Appl. No. Notice of Allowance—U.S. Appl. No. 14/714,207. |
Feb. 24, 2016—(AU) Office Action—App 2014228257. |
Feb. 25, 2016—(AU) Office Action—App 2014249055. |
Feb. 26, 2016—U.S. Non Final Office Action—U.S. Appl. No. 14/253,992. |
Jan. 11, 2016—U.S. Non Final Rejection—U.S. Appl. No. 14/698,560. |
Jan. 28, 2016—(WO) International Search Report and Written Opinion—App PCT/US2015/062691. |
Jul. 11, 2016—(EP) Office Action—App 14720824.3. |
Jul. 20, 2016—(AU) Office Action—App 2013335255. |
Jul. 22, 2016—U.S. Office Action—U.S. Appl. No. 14/921,718. |
Jun. 9, 2016—(Wo) International Search Report—PCT/US2016/026339. |
Jun. 14, 2016—U.S. Office Action—U.S. Appl. No. 14/625,486. |
Jun. 16, 2016—(CA) Office Action—App 2,888,935. |
May 6, 2016—(US) Office Action—U.S. Appl. No. 14/714,207. |
May. 13, 2016—U.S. Office Action—U.S. Appl. No. 13/940,240. |
Nov. 21, 2016—U.S. Office Action—U.S. Appl. No. 14/745,207. |
Oct. 5, 2016—U.S. Notice of Allowance—U.S. Appl. No. 14/698,560. |
Oct. 26, 2016—U.S. Office Action—U.S. Appl. No. 13/940,240. |
Sep. 13, 2016—(CA) Office Action—App 2,902,206. |
Sep. 14, 2016—(CA) Office Action—App 2,897,737. |
Sep. 26, 2016—(CA) Office Action—App 2,902,158. |
Apr. 12, 2017—U.S. Office Action—U.S. Appl. No. 14/757,638. |
Aug. 15, 2017 (WO) International Preliminary Report on Patentability—App. PCT/US2015/062691. |
Aug. 21, 2017 (AU) First Examination Report—App. 2015248067. |
Feb. 10, 2017—U.S. Notice of Allowance—U.S. Appl. No. 14/625,486. |
Feb. 15, 2017—U.S. Notice of Allowance—U.S. Appl. No. 14/921,718. |
Jul. 20, 2017 (US) Complaint for Patent Infringement—Case No. 2:17-cv-00383-HCN-LRL, Document 1, 38 pages. |
Jun. 7, 2017—U.S. Office Action—U.S. Appl. No. 14/745,207. |
Jun. 7, 2017—(WO) International Search Report and Written Opinion—App PCT/US2016/067111. |
Mar. 6, 2017—(WO) International Search Report and Written Opinion—App PCT/US2016/068008. |
Nov. 21, 2017 U.S. Notice of Allowance—U.S. Appl. No. 14/690,302. |
Nov. 3, 2017 U.S. Non-Final Office Action—U.S. Appl. No. 15/413,834. |
Oct. 17, 2017 (WO) International Preliminary Report on Patentability—App. PCT/US2016/026339. |
Sep. 5, 2017 (US) Defendant Ixia's Partial Answer to Complaint for Patent Infringement—Case No. 2:17-cv-00383-HCN-LRL, Document 29, 14 pages. |
Sep. 5, 2017 (US) Memorandum in Support of Defendant's Ixia and Keysight Technologies, Inc's Motion to Dismiss for Unpatentability Under 35 U.S.C. § 101—Case No. 2:17-cv-00383-HCM-LRL, Document 21, 29 pages. |
Sep. 5, 2017 (US) Request for Judicial Notice in Support of Defendants Ixia and Keysight Technologies, Inc's Motion to Dismiss for Unpatentability under 35 U.S.C. § 101—Case No. 2:17-cv-00383-HCN-LRL, Document 22, 3 pages. |
Sep. 29, 2017 (CA) Examination Report—App. 2,772,630. |
Apr. 17, 2018 U.S. Non-Final Office Action—U.S. Appl. No. 15/610,995. |
Aug. 3, 2018 (US) Declaration of Kevin Jeffay, PhD in Support of Third Petition for Inter Partes Review of U.S. Pat. No. 9,137,205—IPR2018-01505. |
Aug. 3, 2018 (US) Declaration of Kevin Jeffay, PhD in Support of Third Petition for Inter Partes Review of U.S. Pat. No. 9,560,077—IPR2018-01513. |
Aug. 3, 2018 (US) Third Petition for Inter Partes Review of U.S. Pat. No. 9,137,205—IPR2018-01505. |
Aug. 10, 2018 (US) Declaration of Kevin Jeffay, PhD in Support of Fourth Petition for Inter Partes Review of U.S. Pat. No. 9,137,205—IPR2018-01506. |
Aug. 10, 2018 (US) Fourth Petition for Inter Partes Review of U.S. Pat. No. 9,137,205—IPR2018-01506. |
Aug. 10, 2018 (US) Petition for Inter Partes Review of Claims 1-20 of U.S. Pat. No. 9,560,077—IPR2018-01513. |
Aug. 15, 2018 (US) Declaration of Kevin Jeffay, PhD in Support of Petition for Inter Partes Review of U.S. Pat. No. 9,565,213—IPR2018-01512. |
Aug. 15, 2018 (US) Declaration of Staurt Staniford, PhD in Support of Petition for Inter Partes Review of U.S. Patent No 9,686,193—IPR2018-01556. |
Aug. 2, 2018 U.S. Notice of Allowance and Fees Due—U.S. Appl. No. 16/030,254. |
Aug. 20, 2018 (US) Petition for Inter Partes Review of U.S. Pat. No. 9,565,213—IPR2018-01512. |
Aug. 21, 2018 (US) Petition for Inter Partes Review of U.S. Pat. No. 9,686,193—IPR2018-01559. |
May 23, 2019 (US) Non-Final Office Action—U.S. Appl. No. 14/745,207. |
May 24, 2019 (US) Non-Final Office Action—U.S. Appl. No. 16/111,524. |
A. Feldmann et al., “Tradeoffs for Packet Classification”, Proceedings of the IEEE INFOCOM, 397-413, 2000. |
A. Hari et al., “Detecting and Resolving Packet Filter Conflicts”, Proceedings of IEEE INFOCOM, 1203-1212, 2000. |
Acharya et al, “OPTWALL: A Hierarchical Traffic-Aware Firewall,” Department of Computer Science, Telecommunications Program, University of Pittsburgh, pp. 1-11 (2007). |
Anonymous: “The Distribution of Malicious Domains,” The DomainTools Report, 2016 Edition, Mar. 9, 2016 (Mar. 9, 2016), pp. 1-11, XP055502306, Retrieved from: https://www.domaintools.com/resources/white-papers/the-domaintools-report-the-distribution-of-malicious-domains. |
Bellion, “High Performance Packet Classification”, http://www.hipac.org (Publication Date Unknown). |
Blake, et al, “An Architecture for Differentiated Services,” Network Working Group RFC 2475, Dec. 1998, 36 pages. |
Blake, et al., “An Architecture for Differentiated Services,” also known as the Diffsery architecture, as defined in RFC 2475, Network Working Group, Dec. 1998, 36 pages. |
C. Benecke, “A Parallel Packet Screen for High Speed Networks”, Proceedings of the 15th Annual Computer Security Applications Conference, 1999. |
Chen, et al, “Research on the Anomaly Discovering Algorithm of the Packet Filtering Rule Sets,” Sep. 2010, First International Confererence on Pervasive Computing, Signal Processing and Applications, pp. 362-366. |
D. Comer, “Analysis of a Heuristic for Full Trie Minimization”, ACM Transactions on Database Systems, 6(3): 513-537, Sep. 1981. |
D. Decasper et al., “Router Plugins: A Software Architecture for Next-Generation Routers”, IEEE/ACM Transactions on Networking, 8(1): Feb. 2000. |
D. Eppstein et al., “Internet Packet Filter Management and Rectangle Geometry”, Proceedings of the Symposium on Discrete Algorithms, 827-835, 2001. |
E. Al-Shaer et al., “Firewall Policy Advisor for Anomaly Discovery and Rule Editing”, Proceedings of the IFIP/IEEE International Symposium on Integrated Network Management, 2003. |
E. Al-Shaer et al., “Modeling and Management of Firewall Policies”, IEEE Transactions on Network and Service Management, 1(1): 2004. |
E. Fulp et al., “Network Firewall Policy Tries”, Technical Report, Computer Science Department, Wake Forest University, 2004. |
E. Fulp, “Optimization of Network Firewall Policies Using Ordered Sets and Directed Acyclical Graphs”, Technical Report, Computer Solent Department, Wake Forest University, Jan. 2004. |
E. Fulp, “Preventing Denial of Service Attacks on Quality of Service”, Proceedings of the 2001 DARPA Information Survivability Conference and Exposition II, 2001. |
E.L. Lawler, “Sequencing Jobs to Minimize Total Weighted Completion Time Subject to Precedence Constraints”, Annals of Discrete Mathematics, 2: 75-90, 1978. |
E.W. Fulp, “Firewall Architectures for High Speed Networks”, U.S. Department of Energy Grant Application, Funded Sep. 2003. |
Frahim, et al., “Cisco ASA: All-in-One Firewall, IPS, and VPN Adaptive Security Appliance,” Indiana: Cisco Press: 2006, 54 pages. |
Fulp, “Trie-Based Policy Representations for Network Firewalls,” Proceedings of the IEEE International Symposium on Computer Communications (2005). |
Fulp, Errin: “CV: Errin Fulp,” XP002618346, www.cs.wfu.edu/fulp/ewfPub.html, pp. 1-5 (Copyright 2010). |
G. Brightwell et al., “Counting Linear Extensions is #P-Complete”, Proceedings of the Twenty-Third Annual ACM Symposium on Theory of Computing, 1991. |
G.V. Rooij, “Real Stateful TCP Packet Filtering in IP Filter”, Proceedings of the 10th USENIX Security Symposium, 2001. |
Greenwald, Michael; “Designing an Academic Firewall: Policy, Practice, and Experience with SURF”; IEEE, Proceedings of SNDSS, 1996. |
J. Xu et al., “Design and Evaluation of a High-Performance ATM Firewall Switch and Its Applications”, IEEE Journal on Selected Areas in Communications, 17(6): 1190-1200, Jun. 1999. |
J.K. Lenstra et al., “Complexity of Scheduling Under Precedence Constraints”, Operations Research, 26(1):22-35,1978. |
Kindervag, et al. “Build Security Into Your Network's DNA: The Zero Trust Network Architecture,” Forrester Research Inc.; Novermber 5, 2010, pp. 1-26. |
L. Qui et al.' “Fast Firewall Implementations for Software and Hardware-Based Routers”, Proceedings of ACM Sigmetncs, Jun. 2001. |
Lee et al., “Development Framework for Firewall Processors,” IEEE, pp. 352-355 (2002). |
M. Al-Suwaiyel et al., “Algorithms for Trie Compaction”, ACM Transactions on Database Systems, 9(2): 243-263, Jun. 1984. |
M. Christiansen et al., “Using IDDs for Packet Filtering,” Technical Report, BRICS, Oct. 2002. |
M. Degermark et al., “Small Forwarding Tables for Fast Routing Lookups”, Proceedings of ACM SIGCOMM, 4-13, 1997. |
Mizuno et al., A New Remote Configurable Firewall System for Home-use Gateways, Jan. 2005. Second IEEE consumer Communications and Networking Conference, pp. 599-601. |
Moore, S, “SBIR Case Study: Centripetal Networks: How CNI Leveraged DHS S&T SBIR Funding to Launch a Successful Cyber Security Company,” 2012 Principal Investigators' Meeting, Cyber Security Division, Oct. 10, 2014. |
Nichols, et al, “Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers,” Network Working Group RFC 2474, Dec. 1998, 20 pages. |
O. Paul et al., “A full Bandwidth ATM Firewall”, Proceedings of the 6th European Symposium on Research in computer Security ESORICS'2000, 2000. |
P. Warkhede et al., “Fast Packet Classification for Two-Dimensional Conflict-Free Filters”, Proceedings of IEEE INFOCOM, 1434-1443, 2001. |
Palo Alto Networks; “Designing A Zero Trust Network With Next-Generation Firewalls”; pp. 1-10; last viewed on October 21, 2012. |
Perkins, “IP Encapsulation with IP,” Network Working Group RFC 2003, Oct. 1996, 14 pages. |
R. Funke et al., “Performance Evaluation of Firewalls in Gigabit-Networks”, Proceedings of the Symposium on Performance Evaluation of Computer and Telecommunication Systems, 1999. |
R. Rivest, “On Self-Organizing Sequential Search Heuristics”, Communications of the ACM, 19(2): 1976. |
R.L. Graham et al., “Optimization and Approximation in Deterministic Sequencing and Scheduling: A Survey”, Annals of Discrete Mathematics, 5: 287-326, 1979. |
Reddy, A.L.(2012) A.L. Narasimha Reddy Curriculum Vitae. Retrieved from https://cesg.tamu.edu/wp-content/uploads/2012/02/res_ext032.pdf, 16 pages. |
Reumann, John; “Adaptive Packet Filters”; IEEE, 2001, Department of Electrical Engineering and Computer Science, The University of Michigan, Ann Arbor, MI. |
S,M. Bellovin et al., “Network Firewalls”, IEEE Communications Magazine, 50-57, 1994. |
S. Goddard et al., “An Unavailability Analysis of Firewall Sandwich Configurations”, Proceedings of the 6th IEEE Symposium on High Assurance Systems Engineering, 2001. |
S. Suri et al., “Packet Filtering in High Speed Networks”, Proceedings of the Symposium on Discrete Algorithms, 969-970, 1999. |
“Cisco Cyber Threat Defense Solution 1.1 How-To Guide: NetFlow Security Event Logging Guide”; 2013 Cisco, pp. 1-8. |
Singh, Rajeev et al. “Detecting and Reducing the Denial of Service attacks in WLANs”, Dec. 2011, World congress on Information and Communication Technologies, pp. 968-973. |
Sourcefire 3D System User Guide, Version 4.10, Mar. 16, 2011, 2123 pages. |
Statement RE: Related Application, dated Jul. 24, 2015. |
Tarsa et al., “Balancing Trie-Based Policy representations for Network Firewalls,” Department of Computer Science, Wake Forest University, pp. 1-6 (2006). |
U. Ellermann et al., “Firewalls for ATM Networks”, Proceedings of INFOSEC'COM, 1998. |
V. Srinivasan et al., “Fast and Scalable Layer Four Switching”, Proceedings of ACM SIGCOMM, 191-202, 1998. |
V.P. Ranganath, “A Set-Based Approach to Packet Classification”, Proceedings of the IASTED International Conference on Parallel and Distributed Computing and Systems, 889-894, 2003. |
W. E. Leland et al., “On the Self-Similar Nature of Ethernet Traffic”, IEEE Transactions on Networking, 2(1); 15, 1994. |
W. E. Smith, “Various Optimizers for Single-Stage Productions”, Naval Research Logistics Quarterly, 3: 59-66, 1956. |
X. Gan et al., “LSMAC vs. LSNAT: Scalable Cluster-based Web servers”, Journal of Networks, Software Tools, and Applications, 3(3): 175-185, 2000. |
Ylonen, et al, “The Secure Shell (SSH) Transport Layer Protocol,” SSH Communication Security Corp, Newtork Working Group RFC 4253, Jan. 2006, 32 pages. |
Aug. 16, 2019 (EP) Extended Search Report—App. 19170936.9. |
Sep. 18, 2018 (US) Petition for Inter Partes Review of U.S. Pat. No. 9,413,722—IPR 2018-01760. |
Sep. 18, 2018 (US) Declaration of Dr. Stuart Staniford in Support of Petition for Inter Partes Review of U.S. Pat. No. 9,413,722—IPR 2018-01760. |
Sep. 3, 2019 U.S. Notice of Allowance and Fees Due—U.S. Appl. No. 16/518,190. |
Aug. 19, 2019 (EP) Communication pursuant to Article 94(3) EPC—Examination Report—App. 14719415.3. |
Oct. 11, 2019—U.S. Non-Final Office Action—U.S. Appl. No. 16/554,293. |
Oct. 10, 2019—U.S. Notice of Allowance—U.S. Appl. No. 16/448,997. |
Sep. 30, 2019 (WO) International Search Report and Written Opinion of International Searching Authority—Application No. PCT/US2019/040830. |
Exhibit 1022—“Transmission Control Protocol,” IETF RFC 793. J. Postel, ed., Sep. 1981. |
Exhibit 1023—“Internet Protocol,” IETF RFC 791, J. Postel, ed., Sep. 1981. |
Exhibit 1024—“File Transfer Protocol,” IETF RFC 765, J. Postel, ed., Jun. 1980. |
May 20, 2019 (US) Decision—Institution of Inter Partes Review of U.S. Pat. No. 9,413,722 B1—IPR 2018-01760. |
Aug. 20, 2019 (US) Declaration of Dr. Alessandro Orso in Support of Patent Owner's Response of U.S. Pat. No. 9,413,722—IPR 2018-01760. |
Feb. 21, 2019 (US) Patent Owner's Preliminary Response of U.S. Pat. No. 9,413,722—IPR 2018-01760. |
Aug. 20, 2019 (US) Patent Owner's Response of U.S. Pat. No. 9,413,722—IPR 2018-01760. |
Jan. 15, 2020 (US) Patent Owner's Sur-Reply to Petitioner's Reply—IPR 2018-01760. |
Jan. 8, 2020 (US) Deposition of Jacob H. Baugher, III—IPR 2018-01760. |
Attachment 1 in German Nullity Action for EP32575202 dated Apr. 29, 2020. |
Attachment 2 in German Nullity Action in EP32575202 dated Apr. 29, 2020. |
Attachment 3 in German Nullity Action in EP32575202 dated Apr. 29, 2020. |
Attachment 4 in German Nullity Action in EP32575202 dated May 29, 2012. |
Attachment 5 in German Nullity Action in EP32575202 date unknown. |
Attachment 6 in German Nullity Action in EP32575202 dated Oct. 23, 2020. |
Attachment 7 in German Nullity Action in EP 32575202 dated Nov. 26, 2020. |
Part 1 Attachment in German Nullity Action in EP32575202 dated Dec. 23, 2020. |
Part 2 Attachment in German Nullity Action in EP32575202 dated Nov. 26, 2020. |
Part 3 Attachment in German Nullity Action in EP32575202 date unknown. |
Number | Date | Country | |
---|---|---|---|
20200252486 A1 | Aug 2020 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16554293 | Aug 2019 | US |
Child | 16854094 | US | |
Parent | 15413947 | Jan 2017 | US |
Child | 16554293 | US | |
Parent | 14714207 | May 2015 | US |
Child | 15413947 | US | |
Parent | 14618967 | Feb 2015 | US |
Child | 14714207 | US |