US20060075084A1 - Voice over internet protocol data overload detection and mitigation system and method - Google Patents

Voice over internet protocol data overload detection and mitigation system and method Download PDF

Info

Publication number
US20060075084A1
US20060075084A1 US11/241,470 US24147005A US2006075084A1 US 20060075084 A1 US20060075084 A1 US 20060075084A1 US 24147005 A US24147005 A US 24147005A US 2006075084 A1 US2006075084 A1 US 2006075084A1
Authority
US
United States
Prior art keywords
data
requests
attack
voip
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/241,470
Inventor
Barrett Lyon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Prolexic Technologies Inc
Original Assignee
Prolexic Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Prolexic Technologies Inc filed Critical Prolexic Technologies Inc
Priority to US11/241,470 priority Critical patent/US20060075084A1/en
Assigned to PROLEXIC TECHNOLOGIES, INC. reassignment PROLEXIC TECHNOLOGIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LYON, BARRETT
Publication of US20060075084A1 publication Critical patent/US20060075084A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1023Media gateways
    • H04L65/103Media gateways in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1033Signalling gateways
    • H04L65/104Signalling gateways in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls

Definitions

  • This invention relates to a system and method for preventing distributed denial of service (DDoS) attacks, or the like, via a network, such as the Internet.
  • the invention relates to a data cleaning center having attack detection and/or mitigation modules that provide DDoS attack-free data to back-end servers.
  • extortionists have developed ways to extract significant revenue from companies located in multiple jurisdictions. These extortionists avoid prosecution by law enforcement by launching their malicious attacks from countries in which they may avoid prosecution, either legally or practically. Further, the extortionists may obfuscate their identities by launching attacks from different computers at different locations.
  • an extortionist pre-warns a web site owner before an attack, demanding that a sum of money is wired to an anonymous, foreign account.
  • the extortionist may wait until just before a significant event, such as an on-line poker tournament, or in the case of gambling, a major horse race, such as the Kentucky Derby.
  • An electronic mail message may be sent to the site owner with the warning and appropriate bank account information.
  • the site owner does not pay the amount requested by the extortionist, then the extortionist may cause an attack to occur at the peak time for usage of the web site during the event. Still an attack may essentially shut down operations for the site. Acknowledging that the threat is real, the site owner will likely pay a potentially significant sum of money, rather than risk the loss of a significant profit obtained during the special event or peak time of the year.
  • DDoS distributed denial of service
  • a DDoS attack includes “flooding” a host computer or network with information. The flood of information can consume all available bandwidth of the host computer's or network's computing resources, thereby preventing legitimate network traffic from reaching the host network and further preventing an individual user from accessing the services of the host network.
  • the attacker can consume bandwidth through a network flood either by generating a large number of data packets, which contain data exchanged over the Internet, or by generating a small number of extremely large packets, directed to the target computer or network.
  • packets comprise Internet Control Message Protocol (ICMP) packets, User Datagram Protocol (UDP) stream attack packets, TCP SYN flood packets, or packets used in TCP based attacks such as GET flood attacks that typically occur after handshaking is completed and a session is started.
  • ICMP Internet Control Message Protocol
  • UDP User Datagram Protocol
  • TCP SYN flood packets or packets used in TCP based attacks such as GET flood attacks that typically occur after handshaking is completed and a session is started.
  • the packets can include any form.
  • the attacker can execute the flood attack from a single computer. This comprises a non-distributed or conventional denial of service (DoS) attack. Alternatively, during a DDoS attack, the attacker coordinates or co-opts several computers on different networks to achieve the same effect. The attacker also can falsify (spoof) the source IP address of the packets, thereby making it difficult to trace the identity of the computers used to carry out the attack. Spoofing the source IP address also can shift attention onto innocent third parties.
  • DoS denial of service
  • An attacker also may execute a more defined attack using spoofed packets called a “broadcast amplification” or a “smurf attack.”
  • the attacker generates packets with a spoofed source address of the target.
  • the attacker then sends a series of network requests using the spoofed packets to an organization having many computers.
  • the packets contain an address that broadcasts the packets to every computer within the organization. Every computer within the organization then responds to the spoofed packet requests and sends data on to the target site. Accordingly, the target computer or network becomes flooded with the responses from the organization. Unfortunately, the target site then may blame the organization for the attack.
  • DNS domain name service
  • IP Internet protocol
  • Some prior systems or solutions have individually used or proposed different tools or software, sometimes in the form of so-called firewalls, in an attempt to combat such attacks.
  • These tools or software may include: systems that detect half-open connections that are typically caused by many attacks; systems that compare headers of packets to specific, known flood attack headers; or systems that monitor data packet flow that is above average or that exceed various thresholds.
  • none of the prior systems provide for reliable universal protection of many computer systems or nodes through one access point, regardless of the source and target of an attack. Further, none of the prior systems provide for reliable universal protection of several computer systems or nodes at the same time, or after a connection has been deemed as safe using typical tools at lower levels of the OSI model.
  • VOIP voice over data
  • VOIP systems have several advantages over traditional telephonically switched voice systems. For example, VOIP systems can be built to take advantage of the unlimited resources of the Internet at a fraction of the cost necessary to build a private telephone infrastructure. However, currently, an adequate DDoS attack detection and protection system is lacking for VOIP systems.
  • a preferred embodiment relates to a system and method for detecting and/or mitigating an overload condition from one or more first computers, such as a distributed denial of service (DDoS) attack, viral attack or the like, targeting one or more of a plurality of second computers located on a network.
  • the network may comprise any type of public or private network, such as the Internet, intranet, virtual private network (VPN) or the like.
  • DDoS attacks originating from the one or more first computers on the network are mitigated
  • a meter, detection apparatus, software, or method detects the condition being mitigated in a data cleaning center, and in one embodiment, it provides an alert or notification regarding the mitigated attack.
  • a preferred embodiment comprises a data cleaning center, preferably as a stand-alone node on the network, which has a network connection for receiving a volume of data, and which may be measured as D in , over a time period, P in .
  • the data may be received from, for example, one or more first computers located on the network.
  • the overload condition is directed to one more of a plurality of second computers located on the network.
  • the second computers are server computers
  • the first computers are client or user computers.
  • a preferred embodiment does not necessarily differentiate between client and server computers in detecting and mitigating the overload condition.
  • each of the first and second computers may comprise a server, client, networked electronic device, or any type of network node.
  • an attempted overload condition in the form of a SYN-flood attack may be launched from several different computers, including servers and clients, that are unwittingly infected with a SYN-flood virus.
  • One embodiment includes one or more attack detection and/or mitigation modules that are used for detecting and/or mitigating the attempted overload condition.
  • One purpose of the attack detection and/or mitigation modules is to produce a volume of data that is free from the data causing the overload or attempted overload condition, called clean data, or D out , herein, for sending to the one or more second computers.
  • the amount or volume of the clean data may be measured as D out , over a time period, P out .
  • a meter is included to perform the task of measuring D in and D out and for comparing such measurements to determine whether the attempted or actual overload condition has been mitigated by the attack detection and/or mitigation modules.
  • the meter determines that such an attempted or actual overload condition directed toward one or more of the second computers has been mitigated if D out divided by P out is substantially less than D in divided by P in .
  • One embodiment includes an alert apparatus to provide an alert if the meter detects an overload or attempted overload condition.
  • the alert apparatus may provide an electronic mail alert, an audible alert, a visible alert, or the like, if an attempted overload condition is detected by the meter.
  • the one or more attack detection and/or mitigation modules include a module that determines whether a number of duplicate GET commands have been received that exceeds a threshold value.
  • Another attack mitigation module may also include a module that determines whether a user agent header entry in a packet header of a received data packet contains an alphabetical character. If not, the data packet is discarded. Further, one attack detection/and or mitigation module is included that determines whether a host value header entry exists in a packet header of a data packet, and if not, discards the data packet.
  • Another preferred embodiment relates, in general terms, to a system and method for detecting and/or mitigating an overload or attempted overload condition targeting a domain name service (DNS) server.
  • DNS domain name service
  • a network connection is provided for receiving one or more DNS requests from one or more client computers located on a network.
  • a preferred embodiment includes a processor for providing a response to the one or more DNS requests to the one or more client computers before normal processing by the domain name server.
  • the added processor preferably executes processes used to detect whether the one or more DNS requests comprise an attempted overload condition before allowing processing of the requests by the domain name server. If an overload or attempted overload condition is detected by the processor, then processing by the domain name server of the DNS requests is performed by the processor. Specifically, the requests are diverted to the processor, which comprises high-speed application specific hardware that can process requests much faster than typical DNS servers. Once the overload condition or attempted overload condition has subsided, processing of the requests are re-diverted back to the DNS server.
  • Another preferred embodiment relates, in general terms, to a system and method for detecting and/or mitigating an attempted overload condition targeting a networked computer system by counting a number of duplicate GET commands received.
  • a network connection is provided for receiving a plurality of data packets from one or more first computers located on a network, wherein the data packets include a plurality of GET commands directed toward one or more second computers located on the network.
  • An attack detection and/or mitigation module is provided that comprises a module to compare the received GET commands, and to determine whether a threshold number of the received GET commands are duplicative. If the threshold value is exceeded by the duplicate GET commands, then the attack mitigation module blocks or discards the duplicate GET commands from processing by the one or more second computers.
  • a database function may be performed on the received GET commands to determine if the GET commands are duplicates.
  • the database function may include a hashing algorithm applied to the GET commands to speed processing and to use less memory.
  • Another preferred embodiment relates, in general terms, to a system and method for detecting and/or mitigating an attempted overload condition targeting a. networked computer system that checks the user agent header entry of a packet header.
  • a preferred embodiment includes a network connection for receiving a data packet having a packet header.
  • An attack detection and/or mitigation module is provided to determine whether a user agent header entry in the packet header contains an alphanumeric character. Thus, the attack detection and/or mitigation module discards the data packet if the user agent header entry contains a non-alphanumeric character. Further, patterns in the user agent entry and/or other header entries may be detected that may indicate an attack.
  • Another preferred embodiment relates, in general terms, to a system and method for detecting and/or mitigating an attempted overload condition targeting a networked computer system that checks the host value header entry of a packet.
  • a network connection is provided for receiving a data packet having a packet header.
  • An attack detection and/or mitigation module determines whether a host value header entry exists in the packet header. The attack detection and/or mitigation module discards the data packet if the host value header entry does not exist in the packet header.
  • Another preferred embodiment relates, in general terms, to a system and method for detecting and/or mitigating an attempted overload condition targeting a networked computer system that checks line break indicators in packets.
  • a network connection is provided for receiving a data packet.
  • An attack detection and/or mitigation module determines whether the data packet contains valid line break indicators.
  • An example of a non-valid line break indicator is one that only contains one of a carriage return character (CR) or a line feed character (LF), and not both.
  • the attack detection and/or mitigation module discards the data packet if the data packet does not contain a valid line break indicator.
  • Another preferred embodiment relates, in general terms, to a system and method for detecting and/or mitigating an attempted overload condition targeting a networked computer system that uses a redirection module to divert data until it is deemed to be clean.
  • a network connection is provided for receiving one or more initial data packets from one or more first computers for processing by a second computer.
  • a redirection module redirects the first computer to send the one or more initial data packets to a third computer.
  • An attack detection and/or mitigation module determines whether the one or more initial data packets are a part of an overload or attempted overload condition.
  • the redirection module then redirects the one or more first computers to send one or more subsequent data packets directly to the second computer if the attack detection and/or mitigation module determines that the initial data packets are not a part of an attempted overload condition. Otherwise, the data from the one or more first computers remains re-directed to the third computer.
  • a network connection receives a plurality of session initiation protocol SIP requests.
  • a processor detects whether two or more of the SIP requests are substantially duplicate. The processor discards further received SIP requests that are determined to be substantially duplicate.
  • IPTV Internet protocol television
  • a network connection receives a plurality of IPTV requests.
  • a processor determines whether two or more of the IPTV requests are substantially duplicate.
  • the processor discards received IPTV requests that are determined to be substantially duplicate.
  • the processor applies a rate limit to limit the rate at which data packets are received from a sender sending the VOIP requests that are determined to be substantially duplicate.
  • a network connection receives a volume of data.
  • a meter measures a current data rate, and compares an average data rate of two or more previous measured data rates to the current data rate, wherein the meter is further to provide an alert to indicate a potential attack if the current data rate is substantially different than the average data rate.
  • FIG. 1 is a block diagram of a data cleaning center according to an exemplary embodiment of the system and method for detecting and/or mitigating an overload or attempted overload condition;
  • FIG. 2 is a block diagram illustrating packet switching flow through various hardware components of the data cleaning center according to another exemplary embodiment
  • FIG. 3 is a flow diagram illustrating the steps performed by one or more embodiments of the data cleaning center
  • FIG. 4 is a flow diagram illustrating a method performed by one exemplary embodiment of an attack mitigation module for detecting an attack based on whether a suspect number of duplicate GET commands are received over a sample time period
  • FIG. 5 is a flow diagram illustrating a method performed by one exemplary embodiment of an attack mitigation module for detecting and/or mitigating an attack by discarding data packets that have packet headers with a suspect user agent entry;
  • FIG. 6 is a flow diagram illustrating a method performed by one exemplary embodiment of an attack mitigation module for detecting and/or mitigating an attack by discarding data packets that have packet headers with suspect host value entries;
  • FIG. 7 is a flow diagram illustrating a method performed by one exemplary embodiment of an attack mitigation module for detecting and/or mitigating an attack by discarding data packets that use improper end-of-line or return characters;
  • FIG. 8 illustrates a method for preventing an attempted overload condition targeting a networked computer system that lessens or eliminates the latency effect of using the data cleaning center, such as that illustrated in FIG. 1 ;
  • FIG. 9 is a block diagram of a DNS protection system according to an exemplary embodiment.
  • FIG. 10 is a flow diagram that illustrates a method preformed by the DNS protection system
  • FIG. 11 is a block diagram illustrating the components of a typical prior art voice over packet network system
  • FIG. 12 is a block diagram illustrating the components of a VOIP system with added DDoS attack protection systems
  • FIG. 13 is a flow diagram illustrating the steps performed by a VOIP or IPTV detection and mitigation routine
  • FIG. 14 is a sample graph that provides a human the ability to visually track what is normal IP traffic and what is abnormal for purposes of detecting attacks and tuning mitigation systems.
  • FIG. 15 is a flow diagram illustrating the steps performed in an attack mitigation system according to another embodiment.
  • a preferred embodiment of a system and method for detecting and/or mitigating an overload condition provides detection and/or mitigation of an overload condition style attack from one or more first computers that target one or more of a plurality of second computers located on a network.
  • Such attack includes, by way of example only, and not by way of limitation a distributed denial of service (DDoS) attack, viral attack or the like.
  • the network may comprise any type of public or private network, such as the Internet, intranet, virtual private network (VPN) or the like.
  • FIG. 1 Shown in FIG. 1 is a preferred data cleaning center 100 according to an exemplary embodiment of the system and method for detecting and/or mitigating an overload or attempted overload condition (hereinafter “an attack”).
  • the data cleaning center 100 operates as a stand-alone node on a network 10 , which has a network connection 126 for receiving a volume of data, which is measured as D in , over a time period, P in .
  • the network connection 126 comprises a core edge aggregation router 102 to provide a backbone connection to the network 10 .
  • Core edge aggregation routers 102 that are available from, for example, Juniper Networks or Cisco Systems, are able to provide Internet connections of 76 gigabits per second or larger.
  • the data cleaning center 100 is configured to provide attack free, or clean, data to hundreds or thousands of servers, a core edge aggregation router 102 having a capability in the 1 to 76 gigabit per second range is desirable, although not necessary.
  • data may be received from, for example, one or more first computers 20 a , 20 b and 20 c located on the network 10 .
  • the one or more first computers 20 a , 20 b and 20 c comprise client computers or devices used by Internet users for accessing one or more second computers 80 a , 80 b 80 c and 80 d also located on the network 10 .
  • the data cleaning center 100 discards all data packets that are a part of the received data, D in , that use User Datagram Protocol (UDP) or Internet Control Message Protocol (ICMP). This is performed because, presently, these are common protocols used to launch DDoS attacks against the second computers 80 a , 80 b , 80 c and 80 d . Further, many commercial networks do not need to use UDP and ICMP protocols.
  • the filtering of UDP and ICMP packets may be performed by the core edge aggregation router 102 .
  • the core edge aggregation router 102 may be re-tuned to filter and discard data packets using such protocol.
  • the core aggregation router 102 may discard all data packets, except those having selected protocols, such as Transmission Control Protocol (TCP).
  • TCP Transmission Control Protocol
  • a core router 108 has or connects to, an inbound access control list (ACL) 124 for sanity checking, which typically includes confirming that the target node is listed in the ACL. Specifically, each incoming packet is preferably checked against the ACL, which provides a list, or range, of valid IP addresses for the second computers 80 a , 80 b , 80 c and 80 d serviced by the data cleaning center 100 . If a data packet is not directed to, or coming from, an IP address contained in the ACL 124 , it is discarded.
  • ACL inbound access control list
  • a meter 104 is either connected to the core router, or within the core router for measuring the received data, D in .
  • the meter 104 preferably operates on a Unix-based platform or other platform, and preferably performs its measurement of the received data, D in , from the core router 108 after the filtering of the UDP and ICMP data packets by the core edge aggregation router 102 .
  • the meter 104 is preferably connected to the core edge aggregation router 102 instead of the core router 108 .
  • the received data, D in is preferably further processed by one or more attack detection and/or mitigation tools or modules 1 10 (referred to herein as attack mitigation modules).
  • the one or more attack mitigation modules 110 are used to detect, mitigate, prevent and/or suppress one or more DDoS attacks that originate from the one or more of the first computers 20 a , 20 b and 20 c on the network 10 , and are directed to the one or more second computers 80 a , 80 b , 80 c and 80 d , located on the network 10 .
  • the one or more second computers 80 a , 80 b , 80 c and 80 d at which an attack is targeted are server computers
  • the one or more first computers 20 a , 20 b and 20 c from which an attack originates are client or user computers.
  • each of the first and second computers may comprise a server, client, networked electronic device, or any type of network node.
  • an attack in the form of a SYN-flood attack is launched from several different computers, including servers, clients, company networks or sub-networks that are unwittingly infected with a SYN-flood virus.
  • attack mitigation modules 110 are chained or combined, for example, by providing a series of processors connected within a preferably high-speed local fiber optic network, or attack mitigation pipe or loop 150 , within the data cleaning center 110 .
  • the attack mitigation modules 110 are embodied in hardware, software, or via a combination of hardware and software.
  • attack mitigation modules 110 There are several types of attack mitigation modules 110 that may be used in a preferred embodiment of the claimed invention. For example, many types of attack mitigation modules 110 are configured to detect a flood-type DoS attack, or DDoS attack. Some modules 110 perform this type of detection by using statistical analysis on data packets D in received from the network 10 to determine when the data packets vary from normal network traffic. Normal network traffic is determined based on observations of network traffic for a particular network. Thresholds for abnormal network traffic may be established based upon the observations and upon a balance between security level and false positive indications. An appropriate balance must be selected since a lower threshold will likely result in higher security, but may cause more false positive indications of an attack. On the other hand, a higher threshold can result in lower security, but with fewer false positive indications.
  • a flood-type DoS attack or DDoS attack.
  • Some modules 110 perform this type of detection by using statistical analysis on data packets D in received from the network 10 to determine when the data packets vary from normal network traffic. Normal network traffic is determined
  • the attack mitigation module 110 statistically analyzes the network traffic to determine when the traffic exceeds the thresholds. In this embodiment, if the traffic exceeds the thresholds, an attack is detected. After an attack is detected, countermeasures can be initiated to block data packets from a specific IP address. Additionally, countermeasures can be initiated to block data packets to or from a common port, data packets having a common protocol, and/or data packets having the same target or destination IP address.
  • a hash (or reduction) function is performed on the data packets, the results of which are sorted in a hash table. In such an embodiment, if the standard deviation of the entries in the hash table meets a threshold value, then a network attack is detected.
  • some attack mitigation modules 110 can monitor a parameter value, such as the protocols or protocol flags of network data packets. These modules preferably construct a histogram of the parameter value, and compare the histogram to a threshold value. In such an embodiment, if a portion of the histogram exceeds the threshold, then a network attack is detected.
  • a parameter value such as the protocols or protocol flags of network data packets.
  • Another preferred attack mitigation module 110 monitors the ratio of data packets received and sent to a single computer. If the ratio exceeds a threshold value, then a network attack is detected. Alternatively, the attack mitigation module 110 may monitor, for example, the ratio of traffic from a first computer (e.g., 20 a ), to a second computer; e.g., 80 b ), over the traffic from the second computer 80 b to the first computer 20 a . If the ratio exceeds a threshold value, then an attack may be detected, and the traffic between the first computer 20 a and second computer 80 b may be discarded.
  • a first computer e.g. 20 a
  • 80 b a second computer
  • another attack mitigation module 110 determines whether the attack was initiated from a single source computer 20 a , or determines whether data packets included in an attack have a common port or protocol. If the attack was initiated from a single source computer 20 a , then all data packets having the same attacking source IP address can be discarded. Additionally, if the attack was initiated by data packets having a common port or protocol, then all data packets having the common port or protocol can be discarded. Preferably, the attack mitigation modules 110 use other identifying information, such as the destination address, the destination port, or the content of the data packet itself, to determine whether a data packet should be discarded.
  • the module detects an attack by determining whether a number of duplicate GET commands have been received that exceeds a threshold value. If the threshold value is exceeded, then the duplicate packets are discarded. This module is described in more detail below.
  • Yet another preferred attack mitigation module 110 detects an attack by determining whether a user agent header entry in a packet header of a received data packet contains an alphabetical character. If an alphabetical character is not detected, the data packet is discarded. This module is described in more detail below.
  • Still another preferred attack mitigation module 110 detects an attack by determining whether a host value header entry exists in a packet header of a data packet. If the host value header entry does not exist, the data packet is discarded. This module is described in more detail below.
  • the attack mitigation module 110 keeps a blacklist of source addresses.
  • the blacklist is created, for example, from prior recorded attacks. If a received data packet, D in , contains a source address that is a member of the black list, the packet is blocked or discarded. In this regard, as attacks get more sophisticated, the attackers are able to modify the source address in the attacking data packets. However, even after changing the source addresses, many of the attacks use data packets that have not changed the source server or sub-network.
  • the blacklist also tracks suspect servers or sub-networks.
  • the attack mitigation module 110 discards data packets from a server or sub-networks if, for example, more than a threshold number of attacks have originated from the server or sub-network within the past year. It should be noted that any time period might be used, however, for such a determination.
  • the attack mitigation modules 110 produce a volume of data that is free of data causing the attack, called clean data, or D out , herein, for sending to the one or more second computers 80 a , 80 b , 80 c and 80 d .
  • the amount or volume of the clean data is measured as D out , over a time period, P out .
  • the data cleaning center 100 may optionally include a distribution router 112 , which provides a backbone or clean pipe to other data cleaning centers 100 a , 100 b , 100 c and 100 d following processing by the attack mitigation modules 110 .
  • the backbone uses a high-speed connection 158 to directly connect each data cleaning center 100 , 100 a , 100 b , 100 c and 100 d .
  • Providing a connection to other data cleaning centers 100 a , 100 b , 100 c and 100 d allows two or more data cleaning centers to share and distribute processing.
  • some data cleaning centers have updated attack mitigation modules 110 that preferably are remotely accessed by other data cleaning centers that have not been updated.
  • a particular data cleaning center 100 has one or more subsystems that fail, such as one or more attack mitigation modules 110 , then the attack detection and/or mitigation function may be outsourced to a fully functioning data cleaning center through the distribution router 112 .
  • processing of the one or more attacks may be load balanced across the backbone 158 to distribute processing across the other data cleaning centers 100 , 100 b , 100 c and 100 d.
  • the next task is to provide the clean data, D out , to one or more proxy servers 116 .
  • the proxy servers provide a reverse proxy function to the one or more second computers 80 a , 80 b 80 c and 80 d .
  • the second computers 80 a , 80 b , 80 c , and 80 d comprise server computers.
  • the proxy servers 116 provide added protection to the second computers 80 a , 80 b 80 c and 80 d that are server computers.
  • a firewall may be included in a proxy server 116 that is specific to the target server.
  • a server may also use two or more of the proxy servers 116 to provide load balancing.
  • load balancing of all of the proxy servers 116 is preferably provided using a load balancing apparatus 114 .
  • the load balancing apparatus 114 may include, by way of example only, and not by way of limitation, a RADWARE WSDTM device produced by Radware, Inc. of Mahwah, N.J., a JUNIPERTM M series device produced by Juniper Networks, Inc. of Sunnyvale, Calif. Any other similar device may also be used.
  • two or more of the load balancing systems 114 are provided so that different types of systems are available for matching with the proxy servers 116 depending on specific requirements.
  • software-based load balancing systems 114 tend to be less expensive, but slower, than hardware-based load balancing systems 114 .
  • a particular sever computer 80 b may, for example, only require that the slower software-based load balancing system 114 is used because the server 80 b has a lower throughput of clean data, D out , than another server 80 c , which requires a faster, hardware-based, load balancing system 114 because of its higher usage.
  • One or more of the attack mitigation modules 110 may be located in, or execute on, each of the proxy servers 116 . It is preferable, for example, for those mitigation modules 110 that execute on the application layer to reside in the proxy servers 116 after the network layer packet headers have been stripped. For example, the mitigation module 110 that checks for duplicate GET commands is preferably located on each of the proxy servers 116 .
  • the meter 104 takes a measurement of the clean data, D out , as it is routed out to the core edge aggregation router 102 , which processes the clean data, D out , for distribution through the network 10 .
  • the meter 104 while the meter 104 performs the task of measuring D in and D out , the meter 104 further compares the measurements to determine whether an attack has been mitigated by the attack mitigation modules 110 . For example, the meter 104 may determine that such an attack directed toward one or more of the second computers 80 a , 80 b , 80 c and 80 d has been mitigated if D out divided by P out is substantially less than D in divided by P in .
  • the detection method there is flexibility with regard to this implementation of the detection method. For example, in most embodiments, wherein the time periods P in and P out are long enough (e.g., 10 seconds), the measurement of the data D in and D out occurs during the same time interval, wherein the start of time periods P in and P out are concurrent.
  • any latency, L that occurs in the one or more data mitigation modules 110 , proxy servers 116 , or other modules within the data cleaning center 100 , would be a matter of microseconds. Accordingly, any difference in the measurement of D in and D out caused by the latency, L, would be relatively minimal when compared to the data throughput of the data cleaning center 100 .
  • the latency period, L is preferably taken into account in the detection method.
  • the time period, P out has a start time that occurs after the start time of P in plus a latency time period, L, for processing of the received data, D in , by the attack detection and/or mitigation modules.
  • the latency period, L is calculated by using historical averages for processing the received data D in by the attack detection and/or mitigation modules 110 , or other sub-systems within the data cleaning center 100 .
  • Another variable in the implementation of the detection method is the measure of the value of “substantially less” with regard to the comparison of D out divided by P out and D in divided by P in .
  • the measure of what is “substantially less” to determine if an attack is occurring may be an almost absolute measurement.
  • D out divided by P out may be deemed substantially less than D in divided by P in if (D in divided by P in ) minus (D out divided by P out ) is greater than 0, plus or minus a number of megabits in high-throughput systems.
  • D out divided by P out may be considered to be substantially less than D in divided by P in if (D in divided by P in ) minus (D out divided by P out ) is greater than a specified threshold value.
  • the threshold value is determined from historical averages of differences between the values of the received data, D in divided by P in , and the clean data, D out divided by P out , during normal, non-attack time, operations. The differences in the values may be due to processes in the system such as caching or the like.
  • the use of the threshold value may also provide a method for taking latency, L, into account in the determination as to whether there is an attack.
  • some of the data D in received from the one or more first computers 20 a , 20 b and 20 c is cached after it is cleaned. Subsequently, as is typical in many networked systems, a portion of the received data D in is the same as, or the duplicate of, previously received data D in . If the cleaned version, D out , of the received data is in the cache, then the cached clean data, D cache , is sent to the one or more second computers 80 a , 80 b , 80 c and 80 d in lieu of a portion of the received data, D in .
  • the cache is mathematically taken into account in determining the meaning of “substantially less.” Specifically, the system determines that D out divided by P out is substantially less than D in divided by P in , if ((D out plus D cache ) divided by P out ) is less than (D in divided by P in ). As described above, if the result is a non-zero value, a threshold value is used in this embodiment to compare to the result to allow for non-attack condition variances before an attack is determined to have been detected.
  • the time periods for P in and P out do not necessary have to be equal in length, as the comparison of the received data, D in , and clean data, D out , is normalized due to the division by the relative time periods, P in and P out , to provide megabit per second (Mbit/sec) ratios that can be compared. Also in this embodiment, a threshold value is used in the comparison of the ratios to take into consideration non-attack condition fluctuations in data rates.
  • the meter 104 is more passive and merely records the measurements of D in over P in and D out over P out .
  • a network device such as a client computer or workstation 90
  • the remote workstation 90 comprises a standard personal computer or notebook with access to the network 110 .
  • components of the data cleaning center 100 are preferably accessed through a secure connection using known encryption techniques.
  • the remote workstation 90 may read measurements taken by the meter 104 to perform the determination of whether an attack is occurring.
  • Using such a workstation 90 provides the added advantage of allowing the measurements from the meter 104 to be downloaded, stored, and manipulated in various statistical software packages, such as EXCELLTM by the Microsoft Corp., or OPENVIEWTM by the Hewlett-Packard Development Company, L.P.
  • an alert apparatus is provided either as a part of the meter 104 or the remote workstation 90 , to provide an alert if an attack is detected and/or mitigated.
  • the alert apparatus provides, by way of example only and not by way of limitation, an electronic mail alert, an audible alert, a visible alert, or the like.
  • the data, D in is received by the core edge router 102 .
  • a core edge router 102 may comprise a JUNIPER M40TM router produced by Juniper Networks of Sunnyvale, Calif. Any similar device may also be used.
  • the core edge router 102 performs the task of filtering the incoming data packets, D in , which comprises the discarding of all packets using UDP or ICMP protocols.
  • one of the second computers being protected by the data cleaning center 100 may require reception of UDP or ICMP packets.
  • an administrator at the data cleaning center 100 sets the core edge router 102 so that UDP or ICMP data packets received for the particular second computer are allowed to pass through the data cleaning center 100 .
  • the attack mitigation modules 110 described herein can sufficiently protect the second computer 80 receiving UDP and ICMP packets from various attacks.
  • the core router 108 is, by way of example only, a BIG IRONTM 4000 router available from Foundry Networks of San Jose, Calif., which provides network layer three packet switching. In some embodiments, more than one router is used to perform the functions of the core router 108 .
  • one BIG IRONTM 4000 system may be used to process the received data, D in , and another may be used to process the clean data, D out .
  • the received data, D in may pass through the meter 104 .
  • the meter 104 comprises, by way of example only, a NET IRON 800TM monitor, which provides a gigabit layer three switch that can monitor the received data, D in .
  • the meter 104 also may be configured to monitor the clean data, D out that is outgoing back to the network 10 after passing through the other components of the data cleaning center 100 . In this way, the meter 104 provides a “mirrored image” observation of data D in , being received by the data cleaning center, and the corresponding clean data, D out , being produced by the data cleaning center 100 .
  • the NET IRON 800TM performs some of the functions of the data mitigation modules 110 .
  • a SYN-flood attack detector may be included in the meter 104 .
  • the meter 104 sorts and counts the received data packets, D in , according to their sources and destinations, and count the number of packets marked with an “S” for send packets verses the number of other types of packets over the same period of time, P in , such as acknowledge (ACK) packets. If the number of send packets over other types of packets is more than a threshold, for example, 20% more, then a possible attack may have been detected, and an alert may be provided by the alert apparatus.
  • ACK acknowledge
  • one of the attack mitigation modules 110 may comprise, by way of example only, and not by way of limitation, an ATTACK MITIGATOR IPS 2800TM or ATTACK MITIGATOR IPS 5500TM, which are each available from Top Layer Networks of Westborough, Mass.
  • the ATTACK MITIGATOR IPS 5500TM blocks HTTP worms and other hybrid threats, using advanced “normalized” deep packet and multi-packet HTTP URL matching and wildcard checking, and is pre-configured to identify hundreds of HTTP URL exploits, including DoS and DDoS attacks, and trojan horses.
  • one ATTACK MITIGATOR IPSTM 5500 contains several or all of the attack mitigation modules 110 .
  • two or more of the ATTACK MITIGATOR IPS 5500TM shown as 110 a , 110 b , 110 c and 100 d in FIG. 2 , are duplicated in the local fiber network 150 to allow load balancing to provide higher output.
  • Open Shortest Path First (OSPF) routing protocol also may be used, and is able to determine if a link to an attack mitigation module 110 a or 110 b in the local fiber network 150 is down, so that the received data, D in , may be re-routed to other attack mitigation modules 110 c or 110 d performing the same function.
  • OSPF Open Shortest Path First
  • Another router 130 may be used to re-aggregate the load balanced data, D in , which, for the most part, is characterized as clean data, D out , when it reaches the router 130 .
  • Another NET IRON 800TM, or NET IRON 400TM offered from the same manufacturer, may be used to perform this function.
  • the router 130 may comprise an aggregate of several routers 130 a and 130 b.
  • attack mitigation modules 110 e and 110 f are used after re-aggregation of the data.
  • the attack mitigation modules 110 e and 110 f preferably comprise available firewall systems to further ensure that the data, D out , is free of data packets sent as part of an attack. If the firewalls 110 e and 110 f are load balanced, then a router 160 , such as a NetIron 800 or 400 may be used to re-aggregate the data. In higher volume systems, the re-aggregation process may be split between two or more routers 160 a and 160 b.
  • the load balancing apparatus 114 comprises a cluster of load balancing systems 114 a and 114 b .
  • each load balancing system of the cluster 114 comprises, by way of example only, one of the aforementioned RADWARE WSDTM devices, Foundry SERVER IRONTM devices, and Dell POWEREDGETM devices.
  • the brand selection of each of the load balancing devices 114 a and 114 b mainly depends on the number of proxy servers serviced by the device and the total throughput required. For example, some hardware-based systems, such as the RADWARE WSDTM device, operate faster than some software based systems, such as the Foundry SERVER IRONTM device.
  • the clean data, D out is then transmitted over the local network 150 back to the core router 108 , and then core edge router 102 .
  • the proxy servers 116 may be divided into clusters, wherein the proxy servers within each of the clusters are load balanced by one of the load balancing devices 114 .
  • one or more of the attack mitigation modules 110 may be executed on each of the proxy servers, as symbolically shown as 110 g in FIG. 2 .
  • each and every component illustrated in FIG. 2 may either be combined into one processor or computer that has multiple processors, and/or software processors, to process the functions described above.
  • the processing for all, or at least some of, the components may be expanded across multiple hardware devices for processing in parallel.
  • only one load balancing device 114 may be required if only a few proxy servers 116 are needed in the data cleaning center 100 .
  • the proxy servers 116 may be combined into one multiplexing device that provides proxy services for several servers.
  • FIG. 3 a flow diagram is shown that illustrates the steps performed by one or more exemplary preferred embodiments of the data cleaning center 100 .
  • the flow diagram illustrates the steps performed in a method for detecting and mitigating an attack, overload condition, or attempted overload condition (collectively referred to as an “attack”) that may originate from one or more first computers, targeting one or more of a plurality of second computers located on a network.
  • a volume of data, D in is received over a time period, P in , from one or more first computers located on a network, step 300 .
  • the data packets of the received data, D in is filtered to discard data packets using UDP and ICMP protocols, with the exception that the UDP and ICMP packets directed to destination addresses requiring those protocols are not discarded, step 302 .
  • the remaining received data packets, D in are measured by the meter over a time period, P in , step 304 .
  • the received data packets, D in are processed through the attack mitigation modules to detect and mitigate the attack, step 306 , to produce a volume of clean data, D out , over a time period, P out , wherein the time period, P out , may be equal to the time period, P in .
  • the clean data, D out is load balanced, step 308 , and processed by the proxy servers, step 310 .
  • the clean data, D out over the time period, P out is measured, step 312 .
  • the presence or absence of the attack targeting the one or more second computers is determined by calculating whether D out divided by P out is substantially less than D in divided by P in , step 314 .
  • the clean data, D out is distributed over the network to the one or more second computers, step 316 .
  • an attack mitigation module for detecting an attack, based on whether a suspect number of duplicate GET commands, or commands requesting the same information, are received from one or more first computers targeting one or more second computers on a network over a sample time period.
  • duplicates or patterns in the header may also be detected by this method.
  • the attack mitigation module may be included for use in a data cleaning center protecting a plurality of computer systems, such as that shown in FIG. 1 .
  • the method of FIG. 4 is executed on each of the proxy servers ( 116 of FIG. 1 ).
  • the attack mitigation module may be used in a stand-alone device or computer system on the network to protect one or a few server computers, and may be implemented in software, hardware, or in a programmable logic chip, such as an application specific integrated circuit (ASIC), field programmable gate array (FPGA), or the like.
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • a network connection receives a plurality of data packets, wherein many of the data packets may comprise GET commands, from the one or more first computers located on the network, step 400 .
  • Each GET command is stored in a database for a period of time, step 402 , which is preferably determined according to a statistical history of the length of time needed to collect a sufficient number of GET commands to sample, and the capacity of the storage device used to store the GET commands.
  • the sample period to store GET commands may easily be 10 seconds, without taxing the system.
  • the attack mitigation module counts the number of duplicate GET commands that have been received and stored over the sample period, step 404 . If the number of duplicate GET commands exceeds a threshold value, step 406 , the attack mitigation module may deem an attack to have been detected, step 408 . In this embodiment, the attack mitigation module blocks and discards any further duplicate GET commands received from the network, step 410 .
  • a message may be sent to a reporting system that alerts an administrator that a GET-flood type attack may be underway, step 411 .
  • the message may be in the form of, without limitation, an electronic mail, voice mail, or an audio or visual alert on an administrator's computer system.
  • the stored GET commands are cleared from storage, step 412 , and processing moves back to step 400 .
  • not all of the GET commands are captured and stored over the sample period, but a statistically relevant number of sampled GET commands are copied and stored in order to save on processing time and storage.
  • a hash, or reduction, function may be performed on each of the GET commands, the results of which are stored and sorted into a hash table in step 402 .
  • the hash function may reduce each GET command to a smaller amount of data for evaluation. If the standard deviation of the entries in the hash table, measured in step 404 , meets a threshold value, which is checked in step 406 (for being lower in some embodiments, or higher in other embodiments), then a network attack may be detected.
  • FIG. 5 a flow diagram is shown that illustrates a method performed by one preferred embodiment of an attack mitigation module for detecting and/or mitigating an attack by discarding data packets that have packet headers with a suspect user agent, or User-Agent, entry.
  • the attack mitigation module may be included for use in a data cleaning center protecting a plurality of computer systems, such as that shown in FIG. 1 .
  • the method of FIG. 5 is executed on each of the proxy servers ( 116 of FIG. 1 ).
  • the attack mitigation module may be used in a stand-alone device or computer system on the network to protect one or a few server computers, and may be implemented in software, hardware, or in a programmable logic chip, such as an ASIC, field programmable gate array (FPGA), or the like.
  • a programmable logic chip such as an ASIC, field programmable gate array (FPGA), or the like.
  • each data packet received has a header portion, having a user agent entry.
  • the attack mitigation module receives a data packet, step 500 , it reads the user agent entry, step 502 . It next determines whether the user agent entry contains a proper value, step 504 .
  • a proper user agent header entry may resemble the following sample:
  • User-Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
  • an improper user agent entry is one that does not contain an alphabetical character.
  • Many viral or other types of attacks on network systems send data packets that have non-alphabetical, or sometimes blank, user agent entries.
  • step 506 If the entry is improper, the session from which the data packet was sent is discarded or ended, step 506 .
  • a reporting system may alert an administrator that there was a potential attack, step 508 .
  • the proxy server processes the packets in the session, step 516 .
  • a preferred embodiment method of an attack mitigation module that detects and/or mitigates an attack is performed by discarding data packets that have packet headers with suspect host value entries.
  • the attack mitigation module is included for use in a data cleaning center protecting a plurality of computer systems, such as that described in FIG. 1 .
  • the method of FIG. 6 is executed on each of the proxy servers ( 116 of FIG. 1 ).
  • the attack mitigation module may be used in a stand-alone device or computer system on the network to protect one or a few server computers, and may be implemented in software, hardware, or in a programmable logic chip, such as an ASIC, field programmable gate array (FPGA), or the like.
  • each data packet received has a header portion, having a host value entry.
  • the host value entry is required by HTTP protocol to represent the naming authority of the origin server or gateway given by the original uniform resource locator (URL). This allows the origin server or gateway to differentiate between internally-ambiguous URLs, such as the root “/” URL of a server for multiple host names on a single IP address.
  • step 606 If the entry is improper, the session from which the data packet was sent is discarded or ended, step 606 .
  • a reporting system may alert an administrator that there was a potential attack, step 608 .
  • the proxy server processes the packets in the session, step 616 .
  • FIG. 7 a flow diagram is shown that illustrates a method performed in one exemplary embodiment of an attack mitigation module for detecting and/or mitigating an attack by discarding data packets that use improper end-of-line or return characters.
  • the attack mitigation module is included for use in a data cleaning center protecting a plurality of computer systems, such as that described in FIG. 1 .
  • the method of FIG. 7 is executed on each of the proxy servers ( 116 of FIG. 1 ).
  • the attack mitigation module may be used in a stand-alone device or computer system on the network to protect one or a few server computers, and may be implemented in software, hardware, or in a programmable logic chip, such as an ASIC, field programmable gate array (FPGA), or the like.
  • a programmable logic chip such as an ASIC, field programmable gate array (FPGA), or the like.
  • step 700 When the attack mitigation module receives a data packet, step 700 , it reads the line break characters, step 702 . It next determines whether the line break characters are proper, step 704 . In most cases an improper line break character is one that that is merely a CR or LF, and not a full CRLF. Many viral or other types of attacks on network systems send data packets, which have merely CR or LF line breaks.
  • step 706 If a line break is improper, the session from which the data packet was sent is discarded or ended, step 706 .
  • a reporting system may alert an administrator that there was a potential attack, step 708 .
  • the proxy server processes the packets in the session, step 716 .
  • the latency involved in using proxy servers to proxy every data packet that is sent from a first computer (e.g. 20 c ) to a second computer (e.g. 80 a ) may slow down communications between the first computer 20 c and the second computer 80 a .
  • the first computer 20 c and second computer 80 a are physically within the same region of the world on the Internet, the latency involved in using the proxy servers 116 , or any proxy server, within the same region may not add very much relevant communication time.
  • the second computer 80 a is a real-time processing server
  • the latency period required for each packet sent between the first computer 20 c and the second computer 80 a to be sent through a proxy server 116 in the data cleaning center, or any proxy server in the United States for that matter could degrade performance of time-critical or real-time applications.
  • administrators at the second computer 80 a may still desire to take advantage of the attack protection system and methods of the data cleaning center 100 .
  • the data cleaning center may receive one or more initial data packets from the first computer for processing by a second computer, step 800 .
  • the one or more initial data packets may comprise session initiating data packets so that the first computer may initiate contract with, and set up a session for using, the second computer.
  • the data cleaning center redirects the first computers to send the one or more initial data packets to a third computer, step 802 , which may comprise a proxy server ( 116 in FIG. 1 ) within or proximate to the data cleaning center, or another computer that may or may not be remote from the data cleaning center.
  • the third computer is designated to receive traffic from the first computer until the first computer is verified not to comprise an attacking system.
  • the attack mitigation modules 110 process the initial data packets to determine whether the one or more initial data packets are legitimate, and not a part of, for example, an attack on the second computer, step 804 . If the attack mitigation modules determine that the initial data packets are not a part of an attempted overload condition 110 , step 806 , then the first computer is redirected to send subsequent data packets directly to the second computer, step 808 , thereby eliminating any latency that would be associated with continuing to process subsequent data packets in the data cleaning center.
  • the second computer is configured with one or more local attack detection and/or mitigation modules that are at the least configured to detect such subsequent attacks, step 810 .
  • a SYN-Flood mitigation module may be installed on the second computer, or a version of the data 100 center of FIG. 1 may be installed. If a subsequent attack is detected, step 812 , then processing of all subsequent data packets is redirected back to the data cleaning center to use attack mitigation modules and proxy servers to clean the data before processing by the second computer, step 814 .
  • the domain name of the third computer has a different prefix than the domain name of the second computer.
  • the second computer may have a prefix of www
  • the domain name of the third computer may have a prefix of wwwn, wherein n is a numeric value. This way, the main body of the domain name could be the same so that users do not become confused to think that they have been redirected to the wrong server computer.
  • the method of the attack mitigation module includes determining whether the initial data packets are a part of an attack.
  • the attack mitigation module determines whether each received initial data packet is from a browser executing on the first computer. For example, this can be checked by attempting to write one or more cookies to the one or more first computers. Viruses running on the first computer, for example, sending data packets to the second computer currently do not have the ability to accept cookie files from the second computer. The failure to write the cookie file could indicate the initial data packets are a part of the attack, and the subsequent data packets should not be redirected to the second computer.
  • another way of determining whether the network connection has received the initial data packets from a browser executing on the first computer comprises presenting text, in a distorted image, or other human only readable test, to be typed into the one or more browsers by one or more users.
  • An example of a human-only readable challenge is used, by way of example only, by Yahoo!, Inc. of Sunnyvale, Calif., in their user-mail registration systems. Other human-only readable challenges are also known (e.g., ticket master, and the like). If the second computer receives an incorrect response that does not satisfy the human-only challenge, or if there is no response at all, as would be the case with most viruses, then an attack could be indicated, and the subsequent data packets should not be redirected to the second computer.
  • DNS domain name service
  • the DNS server may operate remotely from the system protecting it, as is the case with respect to one or more second computers described in FIG. 1 .
  • a pre-processing system for the DNS server is provided to absorb, to detect and to mitigate attacks.
  • the DNS server may use its own protection system embodied in a separate processor connected between the network and the DNS server, or in a local processor embedded within the DNS server itself.
  • FIG. 9 illustrates an embodiment of the DNS server protection system 900 to protect a DNS server 30 .
  • a network connection 126 is provided for receiving one or more DNS requests from one or more client computers 22 a , 22 b and 22 c located on the network 10 .
  • a preferred embodiment includes a processor 902 , separate from that normally used by the DNS server 30 , for providing a response for the one or more DNS requests to the one or more client computers. 22 a , 22 b and 22 c before or instead of normal processing by the DNS server 30 .
  • the processor 902 protects two or more load balanced DNS servers 30 .
  • a load balancing router 950 performs load balancing between the DNS servers 30 .
  • the added processor 902 monitors the volume of requests received per second to the DNS servers 30 . If a threshold volume is detected, then processing of the DNS requests is diverted to the processor 902 .
  • FIG. 10 a flow diagram is shown that illustrates a preferred method preformed by the DNS protection system for detecting and/or mitigating an attack targeting the DNS server.
  • One or more DNS requests are received from the one or more client computers located on a network, step 1000 .
  • the processor 902 checks for whether the request is directed to port 53 , step 1002 . All requests not directed to part 53 are discarded, step 1004 .
  • a sanity check is performed on the request, which determines whether DNS standard request requirements are met in the request, step 1006 .
  • Standards for DNS requirements may be found by contacting the Internet Engineering Task Force (www.IETF.org). Specifically, standards may be viewed in the request for comments (RFC) section of the IETF web site. If the request does not comply with DNS requirements, the request is discarded, step 1004 .
  • the processor 902 determines whether the request is for a domain name on a list of valid domain names for the DNS server, step 1008 . If not, then the request is discarded, step 1004 .
  • the processor 902 places the request in a database, step 1010 .
  • the database may be keyed by the source address, and target domain name requested. Further, a hit count is kept in the database to count the number of (duplicate) requests for each source address and request.
  • the processor 902 checks for whether the recorded hit count for the request exceeds a threshold for the number of requests over a period of time (for example, over the last ten seconds), step 1212 .
  • the threshold is based on the capacity of the DNS sever(s) 30 . If the threshold is exceeded, then the processor 902 itself services all requests for the particular source address and target domain requested until the hit count is reduced, step 1014 . If necessary, the processor 902 makes a request to the DNS server 30 to obtain the IP address to answer the request. However, in one embodiment, the required information is kept in a memory in the DNS protection system 900 .
  • the DNS sever(s) 30 process the request directly, step 1016 .
  • the processor 902 is preferably configured to execute instructions as fast as possible, given the size and speed of attacks that typically are to be handled by the processor.
  • the instructions to respond to requests are built directly into the chip logic of the processor 902 .
  • the list of valid domain names may be stored in a database 912 in a high-speed memory 920 in the DNS protection system 900 .
  • the high-speed memory 920 is preferably connected to the processor 902 through a high-speed data bus 922 Further, the database of received requests and hit counts are stored in a sorted database 914 located in the high-speed memory 920 .
  • a cache 916 of requests previously processed by the DNS server 30 may be stored in the memory 920 so that the processor 902 may perform step 1014 of FIG. 10 without the need to make a special request to the DNS server(s) 30 .
  • UDP packets may need to be transmitted or processed by some applications.
  • VOIP applications often use UDP packets for RTP transmission.
  • FIG. 11 shows a typical prior art voice over packet network system.
  • system 1100 includes a VOIP node 1120 coupled to the Internet 10 via network interface 161 .
  • the Internet 10 provides the Internet protocol (“IP”) network for the VOIP system 1100 as the transmission medium between the VOIP node 1120 and one or more other nodes 140 or 150 .
  • IP Internet protocol
  • the VOIP node 1120 includes a phone 1110 and/or a facsimile machine 115 , connected to a physical port 105 .
  • the physical port 105 is coupled to a DSP 125 and a codec bank 135 .
  • the codec bank 135 includes a group of codec devices (C 1 , C 2 , C 3 , and C 4 ) that determine the transmission and compression protocol performed by the DSP 125 .
  • the codec C 1 includes a G.729 compression algorithm that compresses a 64,000 bits (i.e. 64K) voice call into an eight thousand bits compressed data stream.
  • the DSP 125 uses the compression algorithm in codec C 1 to generate a digital stream that is packetized and transmitted across the Internet 10 . Subsequently, the digital data is decompressed and reconstructed as analog signal by a DSP device included in node 140 . The analog signal is transferred to phone 145 .
  • the data decompression performed by the DSP of node 1120 may be performed using a G.729 industry standard compress/decompress method.
  • One or more servers 80 a , 80 b , 80 c , 80 d may be configured as soft switch sites to provide core call processing for the VOIP network architecture.
  • the soft switch sites 80 a , 80 b , 80 c , 80 d provide the core call processing for the VOIP network architecture.
  • Each soft switch site 80 a , 80 b , 80 c , 80 d can process multiple types of calls including calls originating from, or terminating at, subscribers of a VOIP service that utilizes one or more of the soft switch sites 80 a , 80 b , 80 c , 80 d , as well as calls originating from non-subscribers.
  • Each soft switch site 80 a , 80 b , 80 c , 80 d receives signaling messages from, and sends signaling messages to, the Internet 10 .
  • the signaling messages can include, for example, SS7, integrated services digital network (ISDN) primary rate interface (PRI) and in-band signaling messages.
  • ISDN integrated services digital network
  • PRI primary rate interface
  • Each soft switch site processes these signaling messages for the purpose of establishing new calls through the Internet 10 , ending existing calls, and handling switching functions for in-progress calls.
  • Signaling messages can be transmitted between any combination of subscriber and non-subscriber callers.
  • IP gateways are used so that the non-subscriber users may conduct calls that are carried through to subscriber nodes.
  • IXC Internet Telephony Exchange Carrier Corporation
  • ITXC remotely manages IP gateways installed at telephone companies' offices as well as its own gateways.
  • the Packet 8® system includes a user-installed node that runs over an existing high-speed Internet connection in conjunction with the user's standard telephone service.
  • each packetized portion of the data stream comprises an encoded audio frame that is encapsulated in a “real time transport packet” in accordance with a real time transport protocol.
  • a real time transport packet Under the ITU-T H323 internet telephony standard, the audio frame is encapsulated in an real time protocol (RTP) packet.
  • RTP is defined in Schulzrinne, et al., “RTP: A Transport Protocol for Real-Time Applications”, RFC 1889, Internet Engineering Task Force, January 1996 the disclosure of which is incorporated herein by reference.
  • a RTP packet that encapsulates the audio frame comprises a header having a sequence number.
  • the sequence number corresponds to the temporal order of the audio frame in the RTP packet relative to other audio frames in the sequence of audio frames generated by the communication equipment.
  • Each RTP packet is in turn packaged in a data packet with a suitable data packet header according to Internet transport protocol.
  • the Internet transport protocol for RTP transmission is user datagram protocol (UDP).
  • UDP user datagram protocol
  • the data packets are transmitted in a stream of data packets over the Internet 10 from one node 1120 to another node 145 .
  • the communication equipment of the node 145 strips each data packet in the stream and its enclosed RTP packet of their respective headers to “unload” the audio frame “payload” in the RTP packet.
  • the communication equipment then concatenates the unloaded audio frames sequentially according to the sequence numbers of their respective RTP packets.
  • the concatenated audio frames are decoded and converted to analogue audio signals to reproduce the speech of the party transmitting the data packets.
  • Transmission of data packets using UDP can be unreliable and data packets sent via UDP can disappear without a trace and never reach their intended destinations.
  • a data packet can be lost for example if it passes through a network node that is overloaded and that dumps excess traffic. The rate at which data packets are lost generally increases as a network becomes more congested.
  • redundancy is sometimes implemented in audio frame transmission between parties to an internet telephony session.
  • redundancy a same audio frame to be transmitted from one to the other of the parties participating in the internet telephony session is transmitted more than once to assure that it reaches its destination.
  • a redundancy protocol has been promulgated in C. Perkins et al., “RTP Payload for Redundant Audio Data” RTP 2198. Internet Engineering Task Force, September 1997 the disclosure of which is incorporated herein by reference..
  • redundancy reduces vulnerability of data transmission to packet loss and improves reliability of data transmission
  • transmission of data with redundancy generally requires a bit-rate greater than a bit-rate required to transmit the data without redundancy.
  • Redundant data transmission therefore utilizes a greater portion of channel capacity than non-redundant transmission.
  • redundancy provides some protection against data packet loss
  • redundancy tends to increase network congestion, which can in turn exacerbate the packet loss problem redundancy is intended to alleviate.
  • SIP session initiation protocol
  • HTTP hypertext transport protocol
  • MIME multipurpose internet mail extensions
  • SIP protocol relies on session description protocol (SDP) for session description, and RTP for actual transport.
  • SIP has become popular enough to the extent that Windows XP®, by the Microsoft Corp., now natively supports SIP protocol.
  • a embodiment of the invention relates to a system and method for detecting and/or mitigating an attack targeting systems that use these protocols, such as VOIP systems.
  • FIG. 12 a block diagram illustrates the components of a VOIP system with DDoS attack protection systems added.
  • the details of nodes 1120 , 140 and 150 are left out in FIG. 12 , but may be substantially the same as shown in FIG. 11 .
  • the data center 100 (as shown in detail in FIG. 1 ) may be used to detect and mitigate DDoS attacks on the VOIP system, wherein VOIP data is diverted through the Internet 10 for processing by the data center 100 .
  • a hardware based VOIP protection system 900 using the same hardware as the DNS protection system 900 described in detail with respect to FIG. 9 , may be used in a different or separate means of defense, or in conjunction with the data center 100 .
  • Attacks on the VOIP system may be aimed at any one of its components.
  • the most effective attack for example, may be aimed at the soft switches 80 a , 80 b , 80 c , 80 d , rather than individual nodes 1120 or 140 , because attacks on the soft switches 80 a , 80 b , 80 c , 80 d would tend to bring down the whole system, or large portions thereof.
  • the data center 100 provides protection by filtering data packets through its various components and attack detection and mitigation modules 110 (shown in FIG. 1 ).
  • UDP and other packets that are otherwise filtered and discarded by the core edge router 102 should be let through for VOIP systems.
  • the core edge router 120 is configured to perform selective filtering.
  • the core edge router 120 is set to allow packets through that are using UDP protocols that have origins or destinations that are in a VOIP carrier's network. Any other special protocols that are otherwise restricted but needed by the VOIP system are similarly allowed through the core edge router 120 .
  • a detection and attack mitigation module 100 specific to VOIP systems may be added to the data center 100 . If the core edge router 120 allows a packet to enter into the data center despite that it is of an otherwise restricted protocol, such as UDP, the packet is filtered through the VOIP specific detection and mitigation module 110 .
  • the processor 902 may be hard coded to execute instructions as fast as possible, given the real time nature of packets in VOIP systems, and the possible size and speed of attacks that may be handled to protect the VOIP system.
  • the instructions to carry out the VOIP protection routine are built directly into the chip logic of the processor 902 as microcode or firmware.
  • a load balancing router 950 performs load balancing between the soft switches 80 a , 80 b , 80 c , 80 d.
  • a flow diagram illustrates the steps performed by a VOIP specific detection and mitigation routine.
  • a session initiation protocol (SIP) request is received.
  • SIP session initiation protocol
  • the administrator may still want to limit VOIP transmission to only certain types of packets. For example, for the embodiment of FIG. 13 , only SIP packets (that may contain RTP information comprising UDP information as described above in the Background Section) are allowed through, and the system checks for whether each packet is an SIP packet, step 1202 . Filtering for different protocols, SIP and non-SIP, can be customized for individual carriers, especially if the detection and mitigation module 110 is implemented in software or firmware that can be changed.
  • a sanity check is performed on the request, wherein the SIP packet is checked for whether it is compliant with the relevant IETF RFC(s) for SIP packets, step 1204 .
  • the following SIP related RFCs of the IETF may be relevant in this step: RFC 2543, RFC 3261, RFC 3262, RFC 3263, RFC 3264 and RFC 3265.
  • Each SIP packet may be checked against one or more of these or other current RFCs in step 1202 for compliance.
  • RFC 3265 provides for, among other enhancements, an expanded header for SIP packets.
  • the detection and mitigation module 110 in accordance with step 1202 , may check each SIP packet for whether proper header entries are included according to RFC 3265.
  • the request is checked for whether it is for a domain name on a list of valid domain names for the VOIP system, step 1208 . If not, then the request is discarded, step 1204 . Otherwise, the request is not the request is placed in a database, step 1210 .
  • the database may be keyed by the source address, and target domain name requested, and other attributes that may be checked for determining duplicate requests as described below. Further, a hit count is kept in the database to count the number of (duplicate) requests for each source address and request. Any attribute of the request may be examined to determine if it is one of a number of duplicate requests, including various values in the header entry of the request packet. For example, the data contained in the packet itself may be examined to determine if it is at least substantially duplicate to one or more of the packets stored in the database.
  • the SIP requests may just contain the same characters in one or more header entries, or the data portion of the itself, of the packets.
  • the system administrator may configure the system to compare any one or more attributes to determine whether a packet is a duplicate of one or more packets stored in the database.
  • Known data pattern recognition techniques such as the technique described in U.S. Pat. No. 6,728,728 for example, may be used to check for duplicate data in the packets.
  • the recorded hit count for the request is checked for whether it exceeds a threshold for the number of substantially duplicate requests over a period of time (for example, over the last ten seconds), step 1212 .
  • the threshold is based on the capacity of the data center 100 or the VOIP protection system 900 , whichever is executing the routine of FIG. 13 . If the threshold is exceeded, then a reset packet may be returned to the requester/sender, step 1214 .
  • the data center 100 and VOIP protection system 900 keeps a common database at one of their respective locations when working together, or keep separate databases, to store the data packets that are found to be substantially duplicate.
  • the data center 100 may store data packets that are tested using one of a combination of attributes for patterns, and the VOIP protection system 900 may store data packets that are tested using a different combination of attributes. If, for instance, the data center 100 finds that a threshold of substantially duplicate packets is met, then a message can be sent to the VOIP protection system 900 , and the packets of the same origin and destination may be discarded from the database located in the VOIP protection system 900 to free memory space therein.
  • the SIP request is forwarded to its destination, step 1216 .
  • the database contains a hash (or reduction) function that is performed on the SIP request packets, the results of which are sorted in a hash table.
  • a hash or reduction function that is performed on the SIP request packets, the results of which are sorted in a hash table.
  • a rate limiter is applied to the requestor's connection, step 1215 . This way, malicious attacks are limited in any use or damages they can cause to the system 1200 , while legitimate SIP requestors can still function with the system 1200 , albeit at a slow speed or packet rate than initially attempted.
  • IPTV Internet Protocol Television
  • IPTV transmits television programs from a Web site or from private Internet providers such as cable and telephone companies (cable modems and DSL). IPTV uses streaming video techniques to deliver scheduled TV programs of video on demand (VOD). Unlike transmitting over the air or via standard cable to a TV set, IPTV uses the IP protocol as the delivery transport and uses either a computer and software media player or an IPTV set-top box to decode the images in real time.
  • IPTV uses the IP protocol as the delivery transport and uses either a computer and software media player or an IPTV set-top box to decode the images in real time.
  • IPTV systems are vulnerable to malicious attacks such as those described above.
  • a DDoS attack can be devastating to a system that relies on real-time delivery, such as an IPTV system.
  • Customers of an IPTV system expect uninterrupted broadcast of both scheduled live streaming and recorded streaming programming. Customers further expect fast downloads of non-streaming large media files for viewing after download is completed. If the IPTV system breaks down from, for example, a DDoS attack on the IPTV servers, the consequences to an IPTV business can be devastating.
  • IPTV systems typically use real-time protocol (RTP), UDP, or other protocols for which attacks are difficult to protect against.
  • RTP real-time protocol
  • UDP User Datagram Protocol
  • Many Internet security systems disallow these protocols due to their danger as being commonly used for attacks. Thus, systems that use these protocols are left to accept packets using these protocols with no security measures applied from their security provider.
  • the same systems and methods described above and below to protect VOIP and other systems are used to protect IPTV systems.
  • a “human” filter is used, or intelligent data monitor that is able to recognize changes in data trends.
  • FIG. 14 a sample graph is shown that provides a human the ability to visually track what is normal IP traffic, or trends, and what is abnormal for purposes of detecting attacks and tuning mitigation systems, or changes in trends.
  • the graph in FIG. 14 compares time on one scale, to number of call sessions for a VOIP, IPTV, or other system over a week's period. Data is collected and tallied in a database based on, for example, the status of VOIP calls in a VOIP system 1200 .
  • one curve 1402 on the graph illustrates the number of “valid” sessions over the week, which includes phone calls that were connected and allowed using SIP or H.323 protocol, or in another embodiment using HTTP connections.
  • Another curve 1403 illustrates the number of rejected or terminated call sessions. Something may have failed with these sessions for some reason, but were these sessions were not specifically rejected by attack mitigation systems. For example, some sessions could have been rejected by the VOIP protocol because there was improper configuration on client devices, or there were delays or interruptions on the Internet that caused the calls to not go through.
  • the call sessions represented by the curve 1404 are those that were terminated by attack mitigation systems, for example, and not by limitation, such as those attack mitigation systems described above. These are sessions that somehow break protocol and are deemed to be invalid sessions, or that are not allowed to connect to the system 1200 ( 100 in FIG. 1 ) due to other reasons determined by the attack mitigation system.
  • Graphs such as that illustrated in FIG. 14 allows a system operator to learn graphically the characteristics of normal operation, so that abnormal conditions can be recognized by viewing the graph. This method of detection further provides the operator with the capability to plan and configure their systems based on usage projections perceived from viewing such graphs.
  • an intelligent software, or hardware, computerized data trend monitor recognizes changes in the data producing the graph of FIG. 14 , and automatically provides a warning or alert, based the same changes that are recognizable by a human using the graph of FIG. 14 .
  • the computerized data trend monitor comprises a system that recognizes changes in trend lines for the data over a time period, such as those used to track stocks in financial markets.
  • an intelligent software data trend monitor automatically institutes data mitigation techniques such as those describe herein, including but not limited to, resetting the source of an attack.
  • one or more types of “trigger” or threshold values are used for detecting an attack on a system.
  • the requester's number of sessions open is checked against a threshold.
  • the a reset is sent to the requestor, step 1214 , or, if the DNS protection system 900 is so configured, a rate limiter is applied to limit the rate of packets that can enter the VOIP system 1200 from the requester, step 1215 .
  • Other delay measures are used in other embodiments.
  • the requestor instead of sending a reset message to the suspect requester, or limiting the requesters packet traffic, the requestor is “logged off,” or prevented from using the VOIP system 1200 for a set period of time, which, for example, and not by limitation, is 30 minutes in one embodiment, before the same requestor is allowed to log-on and use the VOIP system 1200 again.
  • a flow diagram illustrates the steps performed in another method of attack detection and mitigation according to one embodiment.
  • This embodiment provides an alternative to comparing the incoming data rate D in to the outgoing data rate D out as described above. Instead a rotating average is compared to the current data rate, for example, in the data cleaning center 100 of FIG. 1 , to detect a possible DNS attack.
  • the system receives and/or transmits network data.
  • the data rate for the network data is measured, step 1502 .
  • the system calculates and compares average data rates according to the following formula, step 1504 : (( D t ⁇ D A )/ D A )*100
  • > ⁇ threshold where D A ( D t ⁇ 1 +D t ⁇ 2 )/2 wherein D t is the current data rate, D t ⁇ 1 is the data rate measured before D t , and D t ⁇ 2 is the data rate measured before D t ⁇ 1 .
  • D A is the average of D t ⁇ 1 and D t ⁇ 2 .
  • ⁇ threshold is a threshold value representing the percentage of change between the average of the last two measurements D A and the current data rate D t that causes an alert or notification to be provided warning of a possible network attack, step 1506 .
  • the alert or notification is the same type as that described above with respect to the data center 100 .
  • the average D A is a running average that is compared to the current data rate D t : ⁇ ( ( D t - D A ) / D A ) * 100 ⁇ > ⁇ threshold
  • D A ( ⁇ D t - 1 , D t - 2 , D t - 3 , ... ⁇ ⁇ D t - n ) n
  • n is the number of data rate measurements that are taken before the current data rate measurement D t
  • the ⁇ threshold is a threshold value representing the percentage of change between the average of the last n measurements D A and the current data rate D t that causes an alert or notification to be provided warning of a possible network attack.
  • the comparison of D t and D A is performed by one or more of the attack mitigation modules 110 with respect to each IP address sending or receiving data to the data cleaning center 100 . In this embodiment, if the threshold is exceeded, then the specific IP address is reset, or denied communication with the host to which requests are being sent. In another embodiment the comparison of D t and D A is performed by the DNS server protection system 900 described above to prevent attacks to VOIP or IPTV systems.
  • the data cleaning center 100 or the DNS protection system 900 , or one or more modules 110 in the data cleaning center 100 , provide an alternative method for responding to a recognized or suspected attack.
  • synthesized responses are sent that include, by way of example, and not by way of limitation, synthesized acknowledgements (ACKs) with proper sequencing included, such as source and port destination numbers.
  • RST reset
  • ACKs synthesized acknowledgements

Abstract

A system and method is disclosed for detecting and/or mitigating an attempted overload condition targeting a voice over data or Internet protocol system, and the like. A network connection receives a plurality of VOIP or IPTV requests, for example. A processor detects whether two or more of the requests are substantially duplicate. The processor discards further received requests that are determined to be substantially duplicate.

Description

    CROSS REFERENCE TO RELATED DOCUMENTS
  • This application is a continuation-in-part of U.S. patent application Ser. No. 10/956,721, filed Oct. 1, 2004.
  • FIELD OF THE INVENTION
  • This invention relates to a system and method for preventing distributed denial of service (DDoS) attacks, or the like, via a network, such as the Internet. In particular, the invention relates to a data cleaning center having attack detection and/or mitigation modules that provide DDoS attack-free data to back-end servers.
  • BACKGROUND OF THE INVENTION
  • During the past few decades, the Internet has provided a convenient way to obtain a wealth of information on almost any subject. Many paid and free information services may be offered over the Internet, including electronic mail, home shopping, gaming, paperless billing services, and the like. Users merely need to obtain a web page address or uniform resource locator (URL) for the service they desire.
  • In this regard, commercial revenue for Internet-based operations has steadily increased, even for those companies that offer their Internet services for free. The companies that offer free services may obtain revenue from related non-Internet services offered to their customers or through advertising on their web site. For example, many banks offer free on-line banking services to their account holders. Further, the most popular Internet search engine providers charge for advertising on their search engine web sites, which are accessed by millions of Internet users every day.
  • However, as the customer base for on-line services has grown dramatically over the years, so have the opportunities for those who wish to engage in malicious activity targeting Internet web sites. What originated as several individuals, or hackers, breaking into systems for unauthorized viewing of information or sending individual virus attacks against selected systems just for the thrill of doing so, has evolved into extortion-based, multi-front, attacks on many systems or whole sub-networks within the Internet.
  • For example, many offshore extortionists have developed ways to extract significant revenue from companies located in multiple jurisdictions. These extortionists avoid prosecution by law enforcement by launching their malicious attacks from countries in which they may avoid prosecution, either legally or practically. Further, the extortionists may obfuscate their identities by launching attacks from different computers at different locations.
  • Typically, an extortionist pre-warns a web site owner before an attack, demanding that a sum of money is wired to an anonymous, foreign account. For example, in the case of a gaming web site, the extortionist may wait until just before a significant event, such as an on-line poker tournament, or in the case of gambling, a major horse race, such as the Kentucky Derby. An electronic mail message may be sent to the site owner with the warning and appropriate bank account information. If the site owner does not pay the amount requested by the extortionist, then the extortionist may cause an attack to occur at the peak time for usage of the web site during the event. Still an attack may essentially shut down operations for the site. Acknowledging that the threat is real, the site owner will likely pay a potentially significant sum of money, rather than risk the loss of a significant profit obtained during the special event or peak time of the year.
  • The methods available to the extortionist are many. For example, one type of malicious attack that may target a system is called a distributed denial of service (DDoS) attack. This type of attack is universally acknowledged as being one of the most troublesome types of attacks of our time. A DDoS attack includes “flooding” a host computer or network with information. The flood of information can consume all available bandwidth of the host computer's or network's computing resources, thereby preventing legitimate network traffic from reaching the host network and further preventing an individual user from accessing the services of the host network. More particularly, the attacker can consume bandwidth through a network flood either by generating a large number of data packets, which contain data exchanged over the Internet, or by generating a small number of extremely large packets, directed to the target computer or network. Typically, those packets comprise Internet Control Message Protocol (ICMP) packets, User Datagram Protocol (UDP) stream attack packets, TCP SYN flood packets, or packets used in TCP based attacks such as GET flood attacks that typically occur after handshaking is completed and a session is started. In principle, however, the packets can include any form.
  • The attacker can execute the flood attack from a single computer. This comprises a non-distributed or conventional denial of service (DoS) attack. Alternatively, during a DDoS attack, the attacker coordinates or co-opts several computers on different networks to achieve the same effect. The attacker also can falsify (spoof) the source IP address of the packets, thereby making it difficult to trace the identity of the computers used to carry out the attack. Spoofing the source IP address also can shift attention onto innocent third parties.
  • An attacker also may execute a more defined attack using spoofed packets called a “broadcast amplification” or a “smurf attack.” In this common attack, the attacker generates packets with a spoofed source address of the target. The attacker then sends a series of network requests using the spoofed packets to an organization having many computers. The packets contain an address that broadcasts the packets to every computer within the organization. Every computer within the organization then responds to the spoofed packet requests and sends data on to the target site. Accordingly, the target computer or network becomes flooded with the responses from the organization. Unfortunately, the target site then may blame the organization for the attack.
  • Further, recent attacks have been launched against domain name service (DNS) servers. DNS servers are essential to the operation of the Internet, as they provide the key function of converting alphanumeric domain names, such as XYZ.com, into the number based Internet protocol (IP) addresses on which each Internet connection is ultimately based. Attackers have discovered a new way to bring down whole segments of the Internet by attacking the DNS servers themselves, instead of the computers that the IP addresses identify.
  • To date, systems for detecting and mitigating DoS or DDoS attacks have been few. Some prior systems or solutions have individually used or proposed different tools or software, sometimes in the form of so-called firewalls, in an attempt to combat such attacks. These tools or software may include: systems that detect half-open connections that are typically caused by many attacks; systems that compare headers of packets to specific, known flood attack headers; or systems that monitor data packet flow that is above average or that exceed various thresholds.
  • However, while these prior systems have experienced some success, such success has been limited. For example, typical systems attempt to prevent attacks from one or more computers, each of which having one source, and each targeted toward a single computer. These prior systems typically require identification of the source computers involved in the attacks, as well as the target, to compare duplicate source and target values to threshold values at the network or lower layers of the open system interconnect (OSI) model. If the attack detection tools are successfully spoofed at lower levels of the OSI model, this leaves higher levels of the OSI model, such as the application layer, vulnerable to subsequent attacks. This is true, because the prior systems assume that the data passing through a connection is safe after it has passed through the tools at the lower layers.
  • Thus, none of the prior systems provide for reliable universal protection of many computer systems or nodes through one access point, regardless of the source and target of an attack. Further, none of the prior systems provide for reliable universal protection of several computer systems or nodes at the same time, or after a connection has been deemed as safe using typical tools at lower levels of the OSI model.
  • Further, none of the prior systems provide for reliable protection of DNS servers to prevent whole networks from becoming non-operational. Accordingly, there is a need in the art for a system and method that solves the problems associated with such prior systems.
  • Finally, there has been an emergence of voice over data, or voice over Internet protocol (VOIP) systems. VOIP systems have several advantages over traditional telephonically switched voice systems. For example, VOIP systems can be built to take advantage of the unlimited resources of the Internet at a fraction of the cost necessary to build a private telephone infrastructure. However, currently, an adequate DDoS attack detection and protection system is lacking for VOIP systems.
  • SUMMARY OF THE INVENTION
  • Briefly, and in general terms, a preferred embodiment relates to a system and method for detecting and/or mitigating an overload condition from one or more first computers, such as a distributed denial of service (DDoS) attack, viral attack or the like, targeting one or more of a plurality of second computers located on a network. The network may comprise any type of public or private network, such as the Internet, intranet, virtual private network (VPN) or the like. While one or more DDoS attacks originating from the one or more first computers on the network are mitigated, a meter, detection apparatus, software, or method, detects the condition being mitigated in a data cleaning center, and in one embodiment, it provides an alert or notification regarding the mitigated attack.
  • A preferred embodiment comprises a data cleaning center, preferably as a stand-alone node on the network, which has a network connection for receiving a volume of data, and which may be measured as Din, over a time period, Pin. The data may be received from, for example, one or more first computers located on the network.
  • The overload condition is directed to one more of a plurality of second computers located on the network. Typically, the second computers are server computers, and the first computers are client or user computers. However, a preferred embodiment does not necessarily differentiate between client and server computers in detecting and mitigating the overload condition. Thus, each of the first and second computers may comprise a server, client, networked electronic device, or any type of network node. Sometimes, for example, an attempted overload condition in the form of a SYN-flood attack may be launched from several different computers, including servers and clients, that are unwittingly infected with a SYN-flood virus.
  • One embodiment includes one or more attack detection and/or mitigation modules that are used for detecting and/or mitigating the attempted overload condition. One purpose of the attack detection and/or mitigation modules is to produce a volume of data that is free from the data causing the overload or attempted overload condition, called clean data, or Dout, herein, for sending to the one or more second computers. The amount or volume of the clean data may be measured as Dout, over a time period, Pout.
  • In one embodiment, a meter is included to perform the task of measuring Din and Dout and for comparing such measurements to determine whether the attempted or actual overload condition has been mitigated by the attack detection and/or mitigation modules. The meter determines that such an attempted or actual overload condition directed toward one or more of the second computers has been mitigated if Dout divided by Pout is substantially less than Din divided by Pin.
  • One embodiment includes an alert apparatus to provide an alert if the meter detects an overload or attempted overload condition. The alert apparatus may provide an electronic mail alert, an audible alert, a visible alert, or the like, if an attempted overload condition is detected by the meter.
  • In one embodiment, the one or more attack detection and/or mitigation modules include a module that determines whether a number of duplicate GET commands have been received that exceeds a threshold value. Another attack mitigation module may also include a module that determines whether a user agent header entry in a packet header of a received data packet contains an alphabetical character. If not, the data packet is discarded. Further, one attack detection/and or mitigation module is included that determines whether a host value header entry exists in a packet header of a data packet, and if not, discards the data packet.
  • Another preferred embodiment relates, in general terms, to a system and method for detecting and/or mitigating an overload or attempted overload condition targeting a domain name service (DNS) server. A network connection is provided for receiving one or more DNS requests from one or more client computers located on a network. A preferred embodiment includes a processor for providing a response to the one or more DNS requests to the one or more client computers before normal processing by the domain name server.
  • The added processor preferably executes processes used to detect whether the one or more DNS requests comprise an attempted overload condition before allowing processing of the requests by the domain name server. If an overload or attempted overload condition is detected by the processor, then processing by the domain name server of the DNS requests is performed by the processor. Specifically, the requests are diverted to the processor, which comprises high-speed application specific hardware that can process requests much faster than typical DNS servers. Once the overload condition or attempted overload condition has subsided, processing of the requests are re-diverted back to the DNS server.
  • Another preferred embodiment relates, in general terms, to a system and method for detecting and/or mitigating an attempted overload condition targeting a networked computer system by counting a number of duplicate GET commands received. A network connection is provided for receiving a plurality of data packets from one or more first computers located on a network, wherein the data packets include a plurality of GET commands directed toward one or more second computers located on the network. An attack detection and/or mitigation module is provided that comprises a module to compare the received GET commands, and to determine whether a threshold number of the received GET commands are duplicative. If the threshold value is exceeded by the duplicate GET commands, then the attack mitigation module blocks or discards the duplicate GET commands from processing by the one or more second computers.
  • Due to the large volume of GET commands that may be received, a database function may be performed on the received GET commands to determine if the GET commands are duplicates. The database function may include a hashing algorithm applied to the GET commands to speed processing and to use less memory.
  • Another preferred embodiment relates, in general terms, to a system and method for detecting and/or mitigating an attempted overload condition targeting a. networked computer system that checks the user agent header entry of a packet header. A preferred embodiment includes a network connection for receiving a data packet having a packet header. An attack detection and/or mitigation module is provided to determine whether a user agent header entry in the packet header contains an alphanumeric character. Thus, the attack detection and/or mitigation module discards the data packet if the user agent header entry contains a non-alphanumeric character. Further, patterns in the user agent entry and/or other header entries may be detected that may indicate an attack.
  • Another preferred embodiment relates, in general terms, to a system and method for detecting and/or mitigating an attempted overload condition targeting a networked computer system that checks the host value header entry of a packet. A network connection is provided for receiving a data packet having a packet header. An attack detection and/or mitigation module determines whether a host value header entry exists in the packet header. The attack detection and/or mitigation module discards the data packet if the host value header entry does not exist in the packet header.
  • Another preferred embodiment relates, in general terms, to a system and method for detecting and/or mitigating an attempted overload condition targeting a networked computer system that checks line break indicators in packets. A network connection is provided for receiving a data packet. An attack detection and/or mitigation module determines whether the data packet contains valid line break indicators. An example of a non-valid line break indicator is one that only contains one of a carriage return character (CR) or a line feed character (LF), and not both. The attack detection and/or mitigation module discards the data packet if the data packet does not contain a valid line break indicator.
  • Another preferred embodiment relates, in general terms, to a system and method for detecting and/or mitigating an attempted overload condition targeting a networked computer system that uses a redirection module to divert data until it is deemed to be clean. A network connection is provided for receiving one or more initial data packets from one or more first computers for processing by a second computer. A redirection module redirects the first computer to send the one or more initial data packets to a third computer. An attack detection and/or mitigation module determines whether the one or more initial data packets are a part of an overload or attempted overload condition. The redirection module then redirects the one or more first computers to send one or more subsequent data packets directly to the second computer if the attack detection and/or mitigation module determines that the initial data packets are not a part of an attempted overload condition. Otherwise, the data from the one or more first computers remains re-directed to the third computer.
  • Another preferred embodiment relates, in general terms, to a system and method for detecting and/or mitigating an attempted overload condition targeting a voice over data or Internet protocol system. A network connection receives a plurality of session initiation protocol SIP requests. A processor detects whether two or more of the SIP requests are substantially duplicate. The processor discards further received SIP requests that are determined to be substantially duplicate.
  • Another preferred embodiment relates, in general terms, to a system and method for detecting and mitigating an attempted overload condition targeting an Internet protocol television (IPTV) system. A network connection receives a plurality of IPTV requests. A processor determines whether two or more of the IPTV requests are substantially duplicate. The processor discards received IPTV requests that are determined to be substantially duplicate. In another preferred embodiment, the processor applies a rate limit to limit the rate at which data packets are received from a sender sending the VOIP requests that are determined to be substantially duplicate.
  • Another preferred embodiment relates, in general terms, to a system and method for detecting an attempted overload condition targeting a networked computer system. A network connection receives a volume of data. A meter measures a current data rate, and compares an average data rate of two or more previous measured data rates to the current data rate, wherein the meter is further to provide an alert to indicate a potential attack if the current data rate is substantially different than the average data rate. These and other aspects of the invention will become apparent from the following more detailed description, when taken in conjunction with the accompanying drawings of illustrative embodiments.
  • DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of a data cleaning center according to an exemplary embodiment of the system and method for detecting and/or mitigating an overload or attempted overload condition;
  • FIG. 2 is a block diagram illustrating packet switching flow through various hardware components of the data cleaning center according to another exemplary embodiment;
  • FIG. 3 is a flow diagram illustrating the steps performed by one or more embodiments of the data cleaning center;
  • FIG. 4 is a flow diagram illustrating a method performed by one exemplary embodiment of an attack mitigation module for detecting an attack based on whether a suspect number of duplicate GET commands are received over a sample time period
  • FIG. 5 is a flow diagram illustrating a method performed by one exemplary embodiment of an attack mitigation module for detecting and/or mitigating an attack by discarding data packets that have packet headers with a suspect user agent entry;
  • FIG. 6 is a flow diagram illustrating a method performed by one exemplary embodiment of an attack mitigation module for detecting and/or mitigating an attack by discarding data packets that have packet headers with suspect host value entries;
  • FIG. 7 is a flow diagram illustrating a method performed by one exemplary embodiment of an attack mitigation module for detecting and/or mitigating an attack by discarding data packets that use improper end-of-line or return characters;
  • FIG. 8 illustrates a method for preventing an attempted overload condition targeting a networked computer system that lessens or eliminates the latency effect of using the data cleaning center, such as that illustrated in FIG. 1;
  • FIG. 9 is a block diagram of a DNS protection system according to an exemplary embodiment;
  • FIG. 10 is a flow diagram that illustrates a method preformed by the DNS protection system;
  • FIG. 11 is a block diagram illustrating the components of a typical prior art voice over packet network system;
  • FIG. 12 is a block diagram illustrating the components of a VOIP system with added DDoS attack protection systems;
  • FIG. 13 is a flow diagram illustrating the steps performed by a VOIP or IPTV detection and mitigation routine;
  • FIG. 14 is a sample graph that provides a human the ability to visually track what is normal IP traffic and what is abnormal for purposes of detecting attacks and tuning mitigation systems; and
  • FIG. 15 is a flow diagram illustrating the steps performed in an attack mitigation system according to another embodiment.
  • DETAILED DESCRIPTION
  • A preferred embodiment of a system and method for detecting and/or mitigating an overload condition, constructed in accordance with the claimed invention, provides detection and/or mitigation of an overload condition style attack from one or more first computers that target one or more of a plurality of second computers located on a network. Such attack includes, by way of example only, and not by way of limitation a distributed denial of service (DDoS) attack, viral attack or the like. The network may comprise any type of public or private network, such as the Internet, intranet, virtual private network (VPN) or the like.
  • Referring now to the drawings, like reference numerals denote like or corresponding parts throughout the drawing figures.
  • Referring now to the drawings, like reference numerals denote like or corresponding parts throughout the drawing figures. Shown in FIG. 1 is a preferred data cleaning center 100 according to an exemplary embodiment of the system and method for detecting and/or mitigating an overload or attempted overload condition (hereinafter “an attack”). In a preferred embodiment, the data cleaning center 100 operates as a stand-alone node on a network 10, which has a network connection 126 for receiving a volume of data, which is measured as Din, over a time period, Pin. The network connection 126 comprises a core edge aggregation router 102 to provide a backbone connection to the network 10. Core edge aggregation routers 102 that are available from, for example, Juniper Networks or Cisco Systems, are able to provide Internet connections of 76 gigabits per second or larger. In one embodiment, the data cleaning center 100 is configured to provide attack free, or clean, data to hundreds or thousands of servers, a core edge aggregation router 102 having a capability in the 1 to 76 gigabit per second range is desirable, although not necessary.
  • Through the network connection 126, data may be received from, for example, one or more first computers 20 a, 20 b and 20 c located on the network 10. Typically, the one or more first computers 20 a, 20 b and 20 c comprise client computers or devices used by Internet users for accessing one or more second computers 80 a, 80 b 80 c and 80 d also located on the network 10. In one embodiment, it is preferable for all data to pass through the data cleaning center 100. In other words, both requests and responses to and from servers preferably pass through the data cleaning center 100.
  • Preferably, the data cleaning center 100 discards all data packets that are a part of the received data, Din, that use User Datagram Protocol (UDP) or Internet Control Message Protocol (ICMP). This is performed because, presently, these are common protocols used to launch DDoS attacks against the second computers 80 a, 80 b, 80 c and 80 d. Further, many commercial networks do not need to use UDP and ICMP protocols. The filtering of UDP and ICMP packets may be performed by the core edge aggregation router 102. However, if it becomes more common to use a different type of protocol to launch attacks against the second computers 80 a, 80 b, 80 c and 80 d, then the core edge aggregation router 102 may be re-tuned to filter and discard data packets using such protocol. Alternatively, the core aggregation router 102 may discard all data packets, except those having selected protocols, such as Transmission Control Protocol (TCP).
  • In one preferred embodiment, a core router 108 is provided that has or connects to, an inbound access control list (ACL) 124 for sanity checking, which typically includes confirming that the target node is listed in the ACL. Specifically, each incoming packet is preferably checked against the ACL, which provides a list, or range, of valid IP addresses for the second computers 80 a, 80 b, 80 c and 80 d serviced by the data cleaning center 100. If a data packet is not directed to, or coming from, an IP address contained in the ACL 124, it is discarded.
  • In a preferred embodiment, a meter 104 is either connected to the core router, or within the core router for measuring the received data, Din. The meter 104 preferably operates on a Unix-based platform or other platform, and preferably performs its measurement of the received data, Din, from the core router 108 after the filtering of the UDP and ICMP data packets by the core edge aggregation router 102. However, in some embodiments it is desirable to include measurements of the UDP and ICMP data packets received by the data cleaning center 100. In those embodiments, the meter 104 is preferably connected to the core edge aggregation router 102 instead of the core router 108.
  • After the core router 108 has completed its processing procedures, the received data, Din, is preferably further processed by one or more attack detection and/or mitigation tools or modules 1 10 (referred to herein as attack mitigation modules). In one embodiment, the one or more attack mitigation modules 110 are used to detect, mitigate, prevent and/or suppress one or more DDoS attacks that originate from the one or more of the first computers 20 a, 20 b and 20 c on the network 10, and are directed to the one or more second computers 80 a, 80 b, 80 c and 80 d, located on the network 10.
  • Typically, the one or more second computers 80 a, 80 b, 80 c and 80 d at which an attack is targeted, are server computers, and the one or more first computers 20 a, 20 b and 20 c from which an attack originates, are client or user computers. However, a preferred embodiment does not necessarily differentiate between client and server computers in detecting and/or mitigating an attack. Thus, each of the first and second computers may comprise a server, client, networked electronic device, or any type of network node. Sometimes, for example, an attack in the form of a SYN-flood attack is launched from several different computers, including servers, clients, company networks or sub-networks that are unwittingly infected with a SYN-flood virus.
  • Furthermore, it may be desirable to detect and mitigate attacks using multiple different techniques. As such, some preferred embodiments use more than one attack mitigation module 110. In some embodiments, the attack mitigation modules 110 are chained or combined, for example, by providing a series of processors connected within a preferably high-speed local fiber optic network, or attack mitigation pipe or loop 150, within the data cleaning center 110. Preferably, the attack mitigation modules 110 are embodied in hardware, software, or via a combination of hardware and software.
  • There are several types of attack mitigation modules 110 that may be used in a preferred embodiment of the claimed invention. For example, many types of attack mitigation modules 110 are configured to detect a flood-type DoS attack, or DDoS attack. Some modules 110 perform this type of detection by using statistical analysis on data packets Din received from the network 10 to determine when the data packets vary from normal network traffic. Normal network traffic is determined based on observations of network traffic for a particular network. Thresholds for abnormal network traffic may be established based upon the observations and upon a balance between security level and false positive indications. An appropriate balance must be selected since a lower threshold will likely result in higher security, but may cause more false positive indications of an attack. On the other hand, a higher threshold can result in lower security, but with fewer false positive indications.
  • Preferably, after establishing the thresholds, the attack mitigation module 110 statistically analyzes the network traffic to determine when the traffic exceeds the thresholds. In this embodiment, if the traffic exceeds the thresholds, an attack is detected. After an attack is detected, countermeasures can be initiated to block data packets from a specific IP address. Additionally, countermeasures can be initiated to block data packets to or from a common port, data packets having a common protocol, and/or data packets having the same target or destination IP address.
  • In some attack mitigation modules 110, a hash (or reduction) function is performed on the data packets, the results of which are sorted in a hash table. In such an embodiment, if the standard deviation of the entries in the hash table meets a threshold value, then a network attack is detected.
  • Preferably, some attack mitigation modules 110 can monitor a parameter value, such as the protocols or protocol flags of network data packets. These modules preferably construct a histogram of the parameter value, and compare the histogram to a threshold value. In such an embodiment, if a portion of the histogram exceeds the threshold, then a network attack is detected.
  • Another preferred attack mitigation module 110 monitors the ratio of data packets received and sent to a single computer. If the ratio exceeds a threshold value, then a network attack is detected. Alternatively, the attack mitigation module 110 may monitor, for example, the ratio of traffic from a first computer (e.g., 20 a), to a second computer; e.g., 80 b), over the traffic from the second computer 80 b to the first computer 20 a. If the ratio exceeds a threshold value, then an attack may be detected, and the traffic between the first computer 20 a and second computer 80 b may be discarded.
  • In another aspect of a preferred embodiment, another attack mitigation module 110 determines whether the attack was initiated from a single source computer 20 a, or determines whether data packets included in an attack have a common port or protocol. If the attack was initiated from a single source computer 20 a, then all data packets having the same attacking source IP address can be discarded. Additionally, if the attack was initiated by data packets having a common port or protocol, then all data packets having the common port or protocol can be discarded. Preferably, the attack mitigation modules 110 use other identifying information, such as the destination address, the destination port, or the content of the data packet itself, to determine whether a data packet should be discarded.
  • Additionally, in another preferred attack mitigation module 110, the module detects an attack by determining whether a number of duplicate GET commands have been received that exceeds a threshold value. If the threshold value is exceeded, then the duplicate packets are discarded. This module is described in more detail below.
  • Yet another preferred attack mitigation module 110 detects an attack by determining whether a user agent header entry in a packet header of a received data packet contains an alphabetical character. If an alphabetical character is not detected, the data packet is discarded. This module is described in more detail below.
  • Still another preferred attack mitigation module 110 detects an attack by determining whether a host value header entry exists in a packet header of a data packet. If the host value header entry does not exist, the data packet is discarded. This module is described in more detail below.
  • In yet another preferred embodiment, the attack mitigation module 110 keeps a blacklist of source addresses. The blacklist is created, for example, from prior recorded attacks. If a received data packet, Din, contains a source address that is a member of the black list, the packet is blocked or discarded. In this regard, as attacks get more sophisticated, the attackers are able to modify the source address in the attacking data packets. However, even after changing the source addresses, many of the attacks use data packets that have not changed the source server or sub-network. The blacklist also tracks suspect servers or sub-networks. In one preferred embodiment, the attack mitigation module 110 discards data packets from a server or sub-networks if, for example, more than a threshold number of attacks have originated from the server or sub-network within the past year. It should be noted that any time period might be used, however, for such a determination.
  • Preferably, the attack mitigation modules 110 produce a volume of data that is free of data causing the attack, called clean data, or Dout, herein, for sending to the one or more second computers 80 a, 80 b, 80 c and 80 d. The amount or volume of the clean data is measured as Dout, over a time period, Pout.
  • The data cleaning center 100 may optionally include a distribution router 112, which provides a backbone or clean pipe to other data cleaning centers 100 a, 100 b, 100 c and 100 d following processing by the attack mitigation modules 110. Preferably, the backbone uses a high-speed connection 158 to directly connect each data cleaning center 100, 100 a, 100 b, 100 c and 100 d. Providing a connection to other data cleaning centers 100 a, 100 b, 100 c and 100 d allows two or more data cleaning centers to share and distribute processing. For example, some data cleaning centers have updated attack mitigation modules 110 that preferably are remotely accessed by other data cleaning centers that have not been updated.
  • Further, if a particular data cleaning center 100 has one or more subsystems that fail, such as one or more attack mitigation modules 110, then the attack detection and/or mitigation function may be outsourced to a fully functioning data cleaning center through the distribution router 112. Moreover, if one data cleaning center 100 a is overwhelmed by one or several large attacks, processing of the one or more attacks may be load balanced across the backbone 158 to distribute processing across the other data cleaning centers 100, 100 b, 100 c and 100 d.
  • Preferably, after the received data, Dout, is processed to produce the clean data, Dout, the next task is to provide the clean data, Dout, to one or more proxy servers 116. In one preferred embodiment, the proxy servers provide a reverse proxy function to the one or more second computers 80 a, 80 b 80 c and 80 d. In this case, the second computers 80 a, 80 b, 80 c, and 80 d comprise server computers. As is typical, the proxy servers 116 provide added protection to the second computers 80 a, 80 b 80 c and 80 d that are server computers. For example, a firewall may be included in a proxy server 116 that is specific to the target server. Further, a server may also use two or more of the proxy servers 116 to provide load balancing.
  • In this regard, load balancing of all of the proxy servers 116 is preferably provided using a load balancing apparatus 114. The load balancing apparatus 114 may include, by way of example only, and not by way of limitation, a RADWARE WSD™ device produced by Radware, Inc. of Mahwah, N.J., a JUNIPER™ M series device produced by Juniper Networks, Inc. of Sunnyvale, Calif. Any other similar device may also be used.
  • In one embodiment, two or more of the load balancing systems 114 are provided so that different types of systems are available for matching with the proxy servers 116 depending on specific requirements. For example, software-based load balancing systems 114 tend to be less expensive, but slower, than hardware-based load balancing systems 114. Further, a particular sever computer 80 b may, for example, only require that the slower software-based load balancing system 114 is used because the server 80 b has a lower throughput of clean data, Dout, than another server 80 c, which requires a faster, hardware-based, load balancing system 114 because of its higher usage.
  • One or more of the attack mitigation modules 110 may be located in, or execute on, each of the proxy servers 116. It is preferable, for example, for those mitigation modules 110 that execute on the application layer to reside in the proxy servers 116 after the network layer packet headers have been stripped. For example, the mitigation module 110 that checks for duplicate GET commands is preferably located on each of the proxy servers 116.
  • After the clean data, Dout, is routed through the proxy servers 116, it is processed by the core router 108 for forwarding to their destination over the network 10. The meter 104 takes a measurement of the clean data, Dout, as it is routed out to the core edge aggregation router 102, which processes the clean data, Dout, for distribution through the network 10.
  • In one embodiment, while the meter 104 performs the task of measuring Din and Dout, the meter 104 further compares the measurements to determine whether an attack has been mitigated by the attack mitigation modules 110. For example, the meter 104 may determine that such an attack directed toward one or more of the second computers 80 a, 80 b, 80 c and 80 d has been mitigated if Dout divided by Pout is substantially less than Din divided by Pin.
  • In preferred embodiments of the claimed invention, there is flexibility with regard to this implementation of the detection method. For example, in most embodiments, wherein the time periods Pin and Pout are long enough (e.g., 10 seconds), the measurement of the data Din and Dout occurs during the same time interval, wherein the start of time periods Pin and Pout are concurrent. In these embodiments, any latency, L, that occurs in the one or more data mitigation modules 110, proxy servers 116, or other modules within the data cleaning center 100, would be a matter of microseconds. Accordingly, any difference in the measurement of Din and Dout caused by the latency, L, would be relatively minimal when compared to the data throughput of the data cleaning center 100.
  • However, in configurations wherein the time periods Pin and Pout are closer in duration to the latency period, L, for processing of the received data, Din, the latency period, L, is preferably taken into account in the detection method. In these configurations, it may be desirable to measure Din and Dout over two different, but equal, time periods, Pin and Pout, to account for the latency, L, for processing of the received data Din by the attack detection and/or mitigation modules. More specifically, the time period, Pout, has a start time that occurs after the start time of Pin plus a latency time period, L, for processing of the received data, Din, by the attack detection and/or mitigation modules. Typically, the latency period, L, is calculated by using historical averages for processing the received data Din by the attack detection and/or mitigation modules 110, or other sub-systems within the data cleaning center 100.
  • Another variable in the implementation of the detection method is the measure of the value of “substantially less” with regard to the comparison of Dout divided by Pout and Din divided by Pin. For example, in one embodiment, the measure of what is “substantially less” to determine if an attack is occurring may be an almost absolute measurement. Specifically, Dout divided by Pout may be deemed substantially less than Din divided by Pin if (Din divided by Pin) minus (Dout divided by Pout) is greater than 0, plus or minus a number of megabits in high-throughput systems.
  • However, in another embodiment, Dout divided by Pout may be considered to be substantially less than Din divided by Pin if (Din divided by Pin) minus (Dout divided by Pout) is greater than a specified threshold value. Preferably, the threshold value is determined from historical averages of differences between the values of the received data, Din divided by Pin, and the clean data, Dout divided by Pout, during normal, non-attack time, operations. The differences in the values may be due to processes in the system such as caching or the like. In this embodiment, the use of the threshold value may also provide a method for taking latency, L, into account in the determination as to whether there is an attack.
  • In another preferred embodiment, some of the data Din received from the one or more first computers 20 a, 20 b and 20 c is cached after it is cleaned. Subsequently, as is typical in many networked systems, a portion of the received data Din is the same as, or the duplicate of, previously received data Din. If the cleaned version, Dout, of the received data is in the cache, then the cached clean data, Dcache, is sent to the one or more second computers 80 a, 80 b, 80 c and 80 d in lieu of a portion of the received data, Din. In this embodiment, the cache is mathematically taken into account in determining the meaning of “substantially less.” Specifically, the system determines that Dout divided by Pout is substantially less than Din divided by Pin, if ((Dout plus Dcache) divided by Pout) is less than (Din divided by Pin). As described above, if the result is a non-zero value, a threshold value is used in this embodiment to compare to the result to allow for non-attack condition variances before an attack is determined to have been detected.
  • In another embodiment, the time periods for Pin and Pout do not necessary have to be equal in length, as the comparison of the received data, Din, and clean data, Dout, is normalized due to the division by the relative time periods, Pin and Pout, to provide megabit per second (Mbit/sec) ratios that can be compared. Also in this embodiment, a threshold value is used in the comparison of the ratios to take into consideration non-attack condition fluctuations in data rates.
  • In one embodiment, the meter 104 is more passive and merely records the measurements of Din over Pin and Dout over Pout. Further, it may be preferable to provide for remote access by a network device, such as a client computer or workstation 90, to the data cleaning center 100 to perform any other calculations necessary to determine if an attack is occurring. In this embodiment, the remote workstation 90 comprises a standard personal computer or notebook with access to the network 110. Using the workstation 90, components of the data cleaning center 100 are preferably accessed through a secure connection using known encryption techniques. Specifically, the remote workstation 90 may read measurements taken by the meter 104 to perform the determination of whether an attack is occurring. Using such a workstation 90 provides the added advantage of allowing the measurements from the meter 104 to be downloaded, stored, and manipulated in various statistical software packages, such as EXCELL™ by the Microsoft Corp., or OPENVIEW™ by the Hewlett-Packard Development Company, L.P.
  • In one embodiment, an alert apparatus is provided either as a part of the meter 104 or the remote workstation 90, to provide an alert if an attack is detected and/or mitigated. Preferably, the alert apparatus provides, by way of example only and not by way of limitation, an electronic mail alert, an audible alert, a visible alert, or the like.
  • Referring now to FIG. 2, a schematic block diagram of various hardware components of the data cleaning center 100 are shown according to another preferred embodiment. The data, Din, is received by the core edge router 102. Such a core edge router 102 may comprise a JUNIPER M40™ router produced by Juniper Networks of Sunnyvale, Calif. Any similar device may also be used. The core edge router 102 performs the task of filtering the incoming data packets, Din, which comprises the discarding of all packets using UDP or ICMP protocols. In some instances, one of the second computers being protected by the data cleaning center 100 may require reception of UDP or ICMP packets. In those instances, an administrator at the data cleaning center 100 sets the core edge router 102 so that UDP or ICMP data packets received for the particular second computer are allowed to pass through the data cleaning center 100. Nevertheless, the attack mitigation modules 110 described herein can sufficiently protect the second computer 80 receiving UDP and ICMP packets from various attacks.
  • Preferably, the core router 108 is, by way of example only, a BIG IRON™ 4000 router available from Foundry Networks of San Jose, Calif., which provides network layer three packet switching. In some embodiments, more than one router is used to perform the functions of the core router 108. For example, one BIG IRON™ 4000 system may be used to process the received data, Din, and another may be used to process the clean data, Dout.
  • From the core router 108, the received data, Din, may pass through the meter 104. In one preferred embodiment, the meter 104 comprises, by way of example only, a NET IRON 800™ monitor, which provides a gigabit layer three switch that can monitor the received data, Din. As stated above, the meter 104 also may be configured to monitor the clean data, Dout that is outgoing back to the network 10 after passing through the other components of the data cleaning center 100. In this way, the meter 104 provides a “mirrored image” observation of data Din, being received by the data cleaning center, and the corresponding clean data, Dout, being produced by the data cleaning center 100.
  • In one preferred embodiment, over and above the measurement of Din verses Dout, the NET IRON 800™ performs some of the functions of the data mitigation modules 110. For example, a SYN-flood attack detector may be included in the meter 104. The meter 104 sorts and counts the received data packets, Din, according to their sources and destinations, and count the number of packets marked with an “S” for send packets verses the number of other types of packets over the same period of time, Pin, such as acknowledge (ACK) packets. If the number of send packets over other types of packets is more than a threshold, for example, 20% more, then a possible attack may have been detected, and an alert may be provided by the alert apparatus.
  • In some situations, however, it is preferable to use dedicated computer hardware systems on the local fiber network 150 to perform the attack detection and/or mitigation functions. For example, one of the attack mitigation modules 110 may comprise, by way of example only, and not by way of limitation, an ATTACK MITIGATOR IPS 2800™ or ATTACK MITIGATOR IPS 5500™, which are each available from Top Layer Networks of Westborough, Mass. The ATTACK MITIGATOR IPS 5500™ blocks HTTP worms and other hybrid threats, using advanced “normalized” deep packet and multi-packet HTTP URL matching and wildcard checking, and is pre-configured to identify hundreds of HTTP URL exploits, including DoS and DDoS attacks, and trojan horses.
  • In another preferred embodiment, one ATTACK MITIGATOR IPS™ 5500 contains several or all of the attack mitigation modules 110. However, two or more of the ATTACK MITIGATOR IPS 5500™, shown as 110 a, 110 b, 110 c and 100 d in FIG. 2, are duplicated in the local fiber network 150 to allow load balancing to provide higher output. Open Shortest Path First (OSPF) routing protocol also may be used, and is able to determine if a link to an attack mitigation module 110 a or 110 b in the local fiber network 150 is down, so that the received data, Din, may be re-routed to other attack mitigation modules 110 c or 110 d performing the same function.
  • Another router 130 may be used to re-aggregate the load balanced data, Din, which, for the most part, is characterized as clean data, Dout, when it reaches the router 130. Another NET IRON 800™, or NET IRON 400™ offered from the same manufacturer, may be used to perform this function. In some embodiments, the router 130 may comprise an aggregate of several routers 130 a and 130 b.
  • Optionally, further attack mitigation modules 110 e and 110 f are used after re-aggregation of the data. For example, the attack mitigation modules 110 e and 110 f preferably comprise available firewall systems to further ensure that the data, Dout, is free of data packets sent as part of an attack. If the firewalls 110 e and 110 f are load balanced, then a router 160, such as a NetIron 800 or 400 may be used to re-aggregate the data. In higher volume systems, the re-aggregation process may be split between two or more routers 160 a and 160 b.
  • After the clean data, Dout, is re-aggregated, it is ready to be load balanced and apportioned to proxy servers 116. In the embodiment shown in FIG. 2, the load balancing apparatus 114 comprises a cluster of load balancing systems 114 a and 114 b. In one embodiment, each load balancing system of the cluster 114 comprises, by way of example only, one of the aforementioned RADWARE WSD™ devices, Foundry SERVER IRON™ devices, and Dell POWEREDGE™ devices. The brand selection of each of the load balancing devices 114 a and 114 b mainly depends on the number of proxy servers serviced by the device and the total throughput required. For example, some hardware-based systems, such as the RADWARE WSD™ device, operate faster than some software based systems, such as the Foundry SERVER IRON™ device.
  • Preferably, the clean data, Dout, is then transmitted over the local network 150 back to the core router 108, and then core edge router 102. The proxy servers 116 may be divided into clusters, wherein the proxy servers within each of the clusters are load balanced by one of the load balancing devices 114.
  • As described with respect to FIG. 1, one or more of the attack mitigation modules 110 may be executed on each of the proxy servers, as symbolically shown as 110 g in FIG. 2.
  • In some embodiments, each and every component illustrated in FIG. 2 may either be combined into one processor or computer that has multiple processors, and/or software processors, to process the functions described above. In other embodiments, the processing for all, or at least some of, the components may be expanded across multiple hardware devices for processing in parallel. As an example, in some embodiments, only one load balancing device 114 may be required if only a few proxy servers 116 are needed in the data cleaning center 100. Further, the proxy servers 116 may be combined into one multiplexing device that provides proxy services for several servers.
  • Methods Performed By The Data Cleaning Center
  • Referring now to FIG. 3, a flow diagram is shown that illustrates the steps performed by one or more exemplary preferred embodiments of the data cleaning center 100. Specifically, the flow diagram illustrates the steps performed in a method for detecting and mitigating an attack, overload condition, or attempted overload condition (collectively referred to as an “attack”) that may originate from one or more first computers, targeting one or more of a plurality of second computers located on a network. A volume of data, Din, is received over a time period, Pin, from one or more first computers located on a network, step 300. The data packets of the received data, Din, is filtered to discard data packets using UDP and ICMP protocols, with the exception that the UDP and ICMP packets directed to destination addresses requiring those protocols are not discarded, step 302. The remaining received data packets, Din, are measured by the meter over a time period, Pin, step 304.
  • The received data packets, Din, are processed through the attack mitigation modules to detect and mitigate the attack, step 306, to produce a volume of clean data, Dout, over a time period, Pout, wherein the time period, Pout, may be equal to the time period, Pin. The clean data, Dout, is load balanced, step 308, and processed by the proxy servers, step 310. The clean data, Dout over the time period, Pout, is measured, step 312. The presence or absence of the attack targeting the one or more second computers is determined by calculating whether Dout divided by Pout is substantially less than Din divided by Pin, step 314. Finally, the clean data, Dout is distributed over the network to the one or more second computers, step 316.
  • Referring now to FIG. 4, a preferred embodiment method is shown of an attack mitigation module for detecting an attack, based on whether a suspect number of duplicate GET commands, or commands requesting the same information, are received from one or more first computers targeting one or more second computers on a network over a sample time period. However, it should be noted that duplicates or patterns in the header may also be detected by this method.
  • The attack mitigation module may be included for use in a data cleaning center protecting a plurality of computer systems, such as that shown in FIG. 1. Preferably, the method of FIG. 4 is executed on each of the proxy servers (116 of FIG. 1). However, the attack mitigation module may be used in a stand-alone device or computer system on the network to protect one or a few server computers, and may be implemented in software, hardware, or in a programmable logic chip, such as an application specific integrated circuit (ASIC), field programmable gate array (FPGA), or the like.
  • A network connection (e.g., the network edge router of FIG. 1), receives a plurality of data packets, wherein many of the data packets may comprise GET commands, from the one or more first computers located on the network, step 400. Each GET command is stored in a database for a period of time, step 402, which is preferably determined according to a statistical history of the length of time needed to collect a sufficient number of GET commands to sample, and the capacity of the storage device used to store the GET commands. For example, for a system processing up to 10 gigabits per second, and having a network storage device with a capacity of two or more hundred gigabytes set aside for the attack mitigation module's storage, the sample period to store GET commands may easily be 10 seconds, without taxing the system.
  • The attack mitigation module counts the number of duplicate GET commands that have been received and stored over the sample period, step 404. If the number of duplicate GET commands exceeds a threshold value, step 406, the attack mitigation module may deem an attack to have been detected, step 408. In this embodiment, the attack mitigation module blocks and discards any further duplicate GET commands received from the network, step 410. A message may be sent to a reporting system that alerts an administrator that a GET-flood type attack may be underway, step 411. The message may be in the form of, without limitation, an electronic mail, voice mail, or an audio or visual alert on an administrator's computer system.
  • Alternatively, if the threshold is not exceeded, the stored GET commands are cleared from storage, step 412, and processing moves back to step 400. In some embodiments, not all of the GET commands are captured and stored over the sample period, but a statistically relevant number of sampled GET commands are copied and stored in order to save on processing time and storage.
  • Still, in other embodiments, in order to save storage space and processing time, a hash, or reduction, function may be performed on each of the GET commands, the results of which are stored and sorted into a hash table in step 402. The hash function may reduce each GET command to a smaller amount of data for evaluation. If the standard deviation of the entries in the hash table, measured in step 404, meets a threshold value, which is checked in step 406 (for being lower in some embodiments, or higher in other embodiments), then a network attack may be detected.
  • Referring to FIG. 5, a flow diagram is shown that illustrates a method performed by one preferred embodiment of an attack mitigation module for detecting and/or mitigating an attack by discarding data packets that have packet headers with a suspect user agent, or User-Agent, entry. The attack mitigation module may be included for use in a data cleaning center protecting a plurality of computer systems, such as that shown in FIG. 1. Preferably, the method of FIG. 5 is executed on each of the proxy servers (116 of FIG. 1). However, the attack mitigation module may be used in a stand-alone device or computer system on the network to protect one or a few server computers, and may be implemented in software, hardware, or in a programmable logic chip, such as an ASIC, field programmable gate array (FPGA), or the like.
  • In standard Internet HTTP protocol, each data packet received has a header portion, having a user agent entry. When the attack mitigation module receives a data packet, step 500, it reads the user agent entry, step 502. It next determines whether the user agent entry contains a proper value, step 504. For example, a proper user agent header entry may resemble the following sample:
  • User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
  • In most cases, an improper user agent entry is one that does not contain an alphabetical character. Many viral or other types of attacks on network systems send data packets that have non-alphabetical, or sometimes blank, user agent entries.
  • If the entry is improper, the session from which the data packet was sent is discarded or ended, step 506. A reporting system may alert an administrator that there was a potential attack, step 508.
  • If the User-Agent value is proper, then the session is not discarded, and if no other attack mitigation modules prevent processing, the proxy server processes the packets in the session, step 516.
  • As shown in FIG. 6, a preferred embodiment method of an attack mitigation module that detects and/or mitigates an attack is performed by discarding data packets that have packet headers with suspect host value entries. Preferably, the attack mitigation module is included for use in a data cleaning center protecting a plurality of computer systems, such as that described in FIG. 1. Preferably, the method of FIG. 6 is executed on each of the proxy servers (116 of FIG. 1). However, the attack mitigation module may be used in a stand-alone device or computer system on the network to protect one or a few server computers, and may be implemented in software, hardware, or in a programmable logic chip, such as an ASIC, field programmable gate array (FPGA), or the like.
  • In standard Internet HTTP protocol, each data packet received has a header portion, having a host value entry. The host value entry is required by HTTP protocol to represent the naming authority of the origin server or gateway given by the original uniform resource locator (URL). This allows the origin server or gateway to differentiate between internally-ambiguous URLs, such as the root “/” URL of a server for multiple host names on a single IP address.
  • When the attack mitigation module receives a data packet, step 600, it reads the host value entry, step 602. It next determines whether the host value entry contains a proper value, step 604. For example, a proper user host value header entry may resemble the following sample:
    Host=“Host” “:” host [“:” port]
  • In most cases an improper host value entry is one that is blank. Many viral or other types of attacks on network systems send data packets, which have blank host value entries.
  • If the entry is improper, the session from which the data packet was sent is discarded or ended, step 606. A reporting system may alert an administrator that there was a potential attack, step 608.
  • If the host value entry is proper, then the session is not discarded, and if no other attack mitigation modules prevent processing, the proxy server processes the packets in the session, step 616.
  • Referring now to FIG. 7, a flow diagram is shown that illustrates a method performed in one exemplary embodiment of an attack mitigation module for detecting and/or mitigating an attack by discarding data packets that use improper end-of-line or return characters. Preferably, the attack mitigation module is included for use in a data cleaning center protecting a plurality of computer systems, such as that described in FIG. 1. Preferably, the method of FIG. 7 is executed on each of the proxy servers (116 of FIG. 1). However, the attack mitigation module may be used in a stand-alone device or computer system on the network to protect one or a few server computers, and may be implemented in software, hardware, or in a programmable logic chip, such as an ASIC, field programmable gate array (FPGA), or the like.
  • In standard Internet HTTP protocol, the structures of data packets are required to include full control-return (CR) and linefeed (LF) characters. The standard specifically states that a bare CR or LF should not be substituted for a full CRLF within any of the HTTP control structures. Web browsers must send CRLF as a line break indicator under the standard. If the session does not use CRLF, the session is rejected.
  • When the attack mitigation module receives a data packet, step 700, it reads the line break characters, step 702. It next determines whether the line break characters are proper, step 704. In most cases an improper line break character is one that that is merely a CR or LF, and not a full CRLF. Many viral or other types of attacks on network systems send data packets, which have merely CR or LF line breaks.
  • If a line break is improper, the session from which the data packet was sent is discarded or ended, step 706. A reporting system may alert an administrator that there was a potential attack, step 708.
  • If the host value entry is proper, then the session is not discarded, and if no other attack mitigation modules prevent processing, the proxy server processes the packets in the session, step 716.
  • Clean Data Redirection
  • Referring again to FIG. 1, with some applications of the data cleaning center, the latency involved in using proxy servers to proxy every data packet that is sent from a first computer (e.g. 20 c) to a second computer (e.g. 80 a) may slow down communications between the first computer 20 c and the second computer 80 a. When the first computer 20 c and second computer 80 a are physically within the same region of the world on the Internet, the latency involved in using the proxy servers 116, or any proxy server, within the same region may not add very much relevant communication time.
  • However, there is a unique problem that arises when, for example, the first computer 20 c and the second computer 80 a are located in the same region, for example in Australia, and the data cleaning center 100 is located in, for example, the United States. In this case, if the second computer 80 a is a real-time processing server, the latency period required for each packet sent between the first computer 20 c and the second computer 80 a to be sent through a proxy server 116 in the data cleaning center, or any proxy server in the United States for that matter, could degrade performance of time-critical or real-time applications. However, administrators at the second computer 80 a may still desire to take advantage of the attack protection system and methods of the data cleaning center 100.
  • Referring now to FIG. 8, a method is shown for preventing an attempted overload condition targeting a networked computer system that lessens or eliminates the latency effect of using the data cleaning center (e.g., 100 in FIG. 1) to protect the second computer (e.g., 80 a in FIG. 1). Just as is the normal case when the first computer (e.g. 20 c in FIG. 1) requires access to the second computer, the data cleaning center may receive one or more initial data packets from the first computer for processing by a second computer, step 800. For example, the one or more initial data packets may comprise session initiating data packets so that the first computer may initiate contract with, and set up a session for using, the second computer.
  • In one embodiment, the data cleaning center redirects the first computers to send the one or more initial data packets to a third computer, step 802, which may comprise a proxy server (116 in FIG. 1) within or proximate to the data cleaning center, or another computer that may or may not be remote from the data cleaning center. The third computer is designated to receive traffic from the first computer until the first computer is verified not to comprise an attacking system.
  • The attack mitigation modules 110 process the initial data packets to determine whether the one or more initial data packets are legitimate, and not a part of, for example, an attack on the second computer, step 804. If the attack mitigation modules determine that the initial data packets are not a part of an attempted overload condition 110, step 806, then the first computer is redirected to send subsequent data packets directly to the second computer, step 808, thereby eliminating any latency that would be associated with continuing to process subsequent data packets in the data cleaning center.
  • With this embodiment and the use of the data cleaning center, there is concern that an attack may escape detection by delaying the attack until after the initial data packets are processed. In order to lessen this possibility, the second computer is configured with one or more local attack detection and/or mitigation modules that are at the least configured to detect such subsequent attacks, step 810. For example, a SYN-Flood mitigation module may be installed on the second computer, or a version of the data 100 center of FIG. 1 may be installed. If a subsequent attack is detected, step 812, then processing of all subsequent data packets is redirected back to the data cleaning center to use attack mitigation modules and proxy servers to clean the data before processing by the second computer, step 814.
  • In some embodiments, the domain name of the third computer has a different prefix than the domain name of the second computer. For example, the second computer may have a prefix of www, and the domain name of the third computer may have a prefix of wwwn, wherein n is a numeric value. This way, the main body of the domain name could be the same so that users do not become confused to think that they have been redirected to the wrong server computer.
  • In one preferred embodiment, the method of the attack mitigation module includes determining whether the initial data packets are a part of an attack. The attack mitigation module determines whether each received initial data packet is from a browser executing on the first computer. For example, this can be checked by attempting to write one or more cookies to the one or more first computers. Viruses running on the first computer, for example, sending data packets to the second computer currently do not have the ability to accept cookie files from the second computer. The failure to write the cookie file could indicate the initial data packets are a part of the attack, and the subsequent data packets should not be redirected to the second computer.
  • In another preferred embodiment, another way of determining whether the network connection has received the initial data packets from a browser executing on the first computer comprises presenting text, in a distorted image, or other human only readable test, to be typed into the one or more browsers by one or more users. An example of a human-only readable challenge is used, by way of example only, by Yahoo!, Inc. of Sunnyvale, Calif., in their user-mail registration systems. Other human-only readable challenges are also known (e.g., ticket master, and the like). If the second computer receives an incorrect response that does not satisfy the human-only challenge, or if there is no response at all, as would be the case with most viruses, then an attack could be indicated, and the subsequent data packets should not be redirected to the second computer.
  • DNS Attack Mitigation
  • Another preferred embodiment relates to a system and method for detecting and/or mitigating an attack targeting a domain name service (DNS) server. The DNS server may operate remotely from the system protecting it, as is the case with respect to one or more second computers described in FIG. 1. A pre-processing system for the DNS server is provided to absorb, to detect and to mitigate attacks. However, in some configurations, the DNS server may use its own protection system embodied in a separate processor connected between the network and the DNS server, or in a local processor embedded within the DNS server itself.
  • FIG. 9 illustrates an embodiment of the DNS server protection system 900 to protect a DNS server 30. A network connection 126 is provided for receiving one or more DNS requests from one or more client computers 22 a, 22 b and 22 c located on the network 10. A preferred embodiment includes a processor 902, separate from that normally used by the DNS server 30, for providing a response for the one or more DNS requests to the one or more client computers. 22 a, 22 b and 22 c before or instead of normal processing by the DNS server 30.
  • In one embodiment, the processor 902 protects two or more load balanced DNS servers 30. A load balancing router 950 performs load balancing between the DNS servers 30.
  • Preferably, the added processor 902 monitors the volume of requests received per second to the DNS servers 30. If a threshold volume is detected, then processing of the DNS requests is diverted to the processor 902.
  • Referring now to FIG. 10, a flow diagram is shown that illustrates a preferred method preformed by the DNS protection system for detecting and/or mitigating an attack targeting the DNS server. One or more DNS requests are received from the one or more client computers located on a network, step 1000. The processor 902 checks for whether the request is directed to port 53, step 1002. All requests not directed to part 53 are discarded, step 1004. A sanity check is performed on the request, which determines whether DNS standard request requirements are met in the request, step 1006. Standards for DNS requirements may be found by contacting the Internet Engineering Task Force (www.IETF.org). Specifically, standards may be viewed in the request for comments (RFC) section of the IETF web site. If the request does not comply with DNS requirements, the request is discarded, step 1004.
  • Next, the processor 902 determines whether the request is for a domain name on a list of valid domain names for the DNS server, step 1008. If not, then the request is discarded, step 1004.
  • If the request is not discarded, the processor 902 places the request in a database, step 1010. The database may be keyed by the source address, and target domain name requested. Further, a hit count is kept in the database to count the number of (duplicate) requests for each source address and request.
  • The processor 902 checks for whether the recorded hit count for the request exceeds a threshold for the number of requests over a period of time (for example, over the last ten seconds), step 1212. The threshold is based on the capacity of the DNS sever(s) 30. If the threshold is exceeded, then the processor 902 itself services all requests for the particular source address and target domain requested until the hit count is reduced, step 1014. If necessary, the processor 902 makes a request to the DNS server 30 to obtain the IP address to answer the request. However, in one embodiment, the required information is kept in a memory in the DNS protection system 900.
  • Otherwise, if the hit count threshold is not exceeded, the DNS sever(s) 30 process the request directly, step 1016.
  • Referring again to FIG. 9, the processor 902 is preferably configured to execute instructions as fast as possible, given the size and speed of attacks that typically are to be handled by the processor. Thus, in a preferred embodiment, the instructions to respond to requests are built directly into the chip logic of the processor 902.
  • The list of valid domain names may be stored in a database 912 in a high-speed memory 920 in the DNS protection system 900. The high-speed memory 920 is preferably connected to the processor 902 through a high-speed data bus 922 Further, the database of received requests and hit counts are stored in a sorted database 914 located in the high-speed memory 920.
  • A cache 916 of requests previously processed by the DNS server 30 may be stored in the memory 920 so that the processor 902 may perform step 1014 of FIG. 10 without the need to make a special request to the DNS server(s) 30.
  • Voice Over IP Attack Mitigation
  • In some cases, UDP packets, and other packets with protocols that are otherwise prohibited and discarded by embodiments described above, may need to be transmitted or processed by some applications. For example, VOIP applications often use UDP packets for RTP transmission.
  • FIG. 11 shows a typical prior art voice over packet network system. In particular, system 1100 includes a VOIP node 1120 coupled to the Internet 10 via network interface 161. The Internet 10 provides the Internet protocol (“IP”) network for the VOIP system 1100 as the transmission medium between the VOIP node 1120 and one or more other nodes 140 or 150.
  • As illustrated in FIG. 11, the VOIP node 1120 includes a phone 1110 and/or a facsimile machine 115, connected to a physical port 105. The physical port 105, in turn, is coupled to a DSP 125 and a codec bank 135. The codec bank 135 includes a group of codec devices (C1, C2, C3, and C4) that determine the transmission and compression protocol performed by the DSP 125. For example, the codec C1 includes a G.729 compression algorithm that compresses a 64,000 bits (i.e. 64K) voice call into an eight thousand bits compressed data stream. Thus, to maintain a voice call from phone 1110 to the phone 145 of node 140, the DSP 125 uses the compression algorithm in codec C1 to generate a digital stream that is packetized and transmitted across the Internet 10. Subsequently, the digital data is decompressed and reconstructed as analog signal by a DSP device included in node 140. The analog signal is transferred to phone 145. The data decompression performed by the DSP of node 1120 may be performed using a G.729 industry standard compress/decompress method.
  • One or more servers 80 a, 80 b, 80 c, 80 d may be configured as soft switch sites to provide core call processing for the VOIP network architecture. The soft switch sites 80 a, 80 b, 80 c, 80 d provide the core call processing for the VOIP network architecture. Each soft switch site 80 a, 80 b, 80 c, 80 d can process multiple types of calls including calls originating from, or terminating at, subscribers of a VOIP service that utilizes one or more of the soft switch sites 80 a, 80 b, 80 c, 80 d, as well as calls originating from non-subscribers. Each soft switch site 80 a, 80 b, 80 c, 80 d receives signaling messages from, and sends signaling messages to, the Internet 10. The signaling messages can include, for example, SS7, integrated services digital network (ISDN) primary rate interface (PRI) and in-band signaling messages. Each soft switch site processes these signaling messages for the purpose of establishing new calls through the Internet 10, ending existing calls, and handling switching functions for in-progress calls. Signaling messages can be transmitted between any combination of subscriber and non-subscriber callers.
  • Many carriers have soft switches that provide IP gateway services so that the non-subscriber users may conduct calls that are carried through to subscriber nodes. For example, the Internet Telephony Exchange Carrier Corporation (ITXC), of Princeton, N.J., one of the largest IP exchange carrier in the world, provides call completion services (routing, authorization and settlement) to long distance carriers, mobile carriers and prepaid service providers using the Internet as the transport. ITXC remotely manages IP gateways installed at telephone companies' offices as well as its own gateways.
  • One example of a system in current use is the Packet 8® system offered by 8×8, Inc., of Santa Clara, Calif. The Packet 8® system includes a user-installed node that runs over an existing high-speed Internet connection in conjunction with the user's standard telephone service.
  • Typically in the VOIP system 1100, for transmission, each packetized portion of the data stream comprises an encoded audio frame that is encapsulated in a “real time transport packet” in accordance with a real time transport protocol. Under the ITU-T H323 internet telephony standard, the audio frame is encapsulated in an real time protocol (RTP) packet. RTP is defined in Schulzrinne, et al., “RTP: A Transport Protocol for Real-Time Applications”, RFC 1889, Internet Engineering Task Force, January 1996 the disclosure of which is incorporated herein by reference.
  • A RTP packet that encapsulates the audio frame comprises a header having a sequence number. The sequence number corresponds to the temporal order of the audio frame in the RTP packet relative to other audio frames in the sequence of audio frames generated by the communication equipment. Each RTP packet is in turn packaged in a data packet with a suitable data packet header according to Internet transport protocol. Typically, the Internet transport protocol for RTP transmission is user datagram protocol (UDP). The data packets are transmitted in a stream of data packets over the Internet 10 from one node 1120 to another node 145.
  • When the node 145 receives the stream of data packets, the communication equipment of the node 145 strips each data packet in the stream and its enclosed RTP packet of their respective headers to “unload” the audio frame “payload” in the RTP packet. The communication equipment then concatenates the unloaded audio frames sequentially according to the sequence numbers of their respective RTP packets. The concatenated audio frames are decoded and converted to analogue audio signals to reproduce the speech of the party transmitting the data packets.
  • Transmission of data packets using UDP can be unreliable and data packets sent via UDP can disappear without a trace and never reach their intended destinations. A data packet can be lost for example if it passes through a network node that is overloaded and that dumps excess traffic. The rate at which data packets are lost generally increases as a network becomes more congested.
  • To improve reliability and quality of internet telephony using RTP on top of UDP, and reduce effects of data packet loss on internet telephony, redundancy is sometimes implemented in audio frame transmission between parties to an internet telephony session. With redundancy, a same audio frame to be transmitted from one to the other of the parties participating in the internet telephony session is transmitted more than once to assure that it reaches its destination. A redundancy protocol has been promulgated in C. Perkins et al., “RTP Payload for Redundant Audio Data” RTP 2198. Internet Engineering Task Force, September 1997 the disclosure of which is incorporated herein by reference..
  • While redundancy reduces vulnerability of data transmission to packet loss and improves reliability of data transmission, transmission of data with redundancy generally requires a bit-rate greater than a bit-rate required to transmit the data without redundancy. Redundant data transmission therefore utilizes a greater portion of channel capacity than non-redundant transmission. As a result, while redundancy provides some protection against data packet loss, redundancy tends to increase network congestion, which can in turn exacerbate the packet loss problem redundancy is intended to alleviate.
  • The Internet Engineering Task Force (IETF), has developed a protocol for VOID and other multi-media applications, called session initiation protocol (SIP). SIP is a text-based protocol that is based on hypertext transport protocol (HTTP) and multipurpose internet mail extensions (MIME). SIP is designed for real time transmission, uses fewer resources and is considerably less complex than, for example, H.323 protocol. Its addressing scheme uses URLs and is human readable; for example:
  • sip:john.doe@company.com.
  • SIP protocol relies on session description protocol (SDP) for session description, and RTP for actual transport. SIP has become popular enough to the extent that Windows XP®, by the Microsoft Corp., now natively supports SIP protocol.
  • However, as the installed base of VOIP systems grows, there is an increasing need to protect them from DDoS attacks, and the like. Thus, a embodiment of the invention relates to a system and method for detecting and/or mitigating an attack targeting systems that use these protocols, such as VOIP systems.
  • With reference to FIG. 12, a block diagram illustrates the components of a VOIP system with DDoS attack protection systems added. The details of nodes 1120, 140 and 150 are left out in FIG. 12, but may be substantially the same as shown in FIG. 11. As one line of defense against DDoS attacks, the data center 100 (as shown in detail in FIG. 1) may be used to detect and mitigate DDoS attacks on the VOIP system, wherein VOIP data is diverted through the Internet 10 for processing by the data center 100. A hardware based VOIP protection system 900, using the same hardware as the DNS protection system 900 described in detail with respect to FIG. 9, may be used in a different or separate means of defense, or in conjunction with the data center 100.
  • Attacks on the VOIP system may be aimed at any one of its components. The most effective attack, for example, may be aimed at the soft switches 80 a, 80 b, 80 c, 80 d, rather than individual nodes 1120 or 140, because attacks on the soft switches 80 a, 80 b, 80 c, 80 d would tend to bring down the whole system, or large portions thereof. In either case, whether an attack is brought against individual nodes, or other more significant system components such as the soft switches 80 a, 80 b, 80 c, 80 d, the data center 100 provides protection by filtering data packets through its various components and attack detection and mitigation modules 110 (shown in FIG. 1). However, in the case of a VOIP system, UDP and other packets that are otherwise filtered and discarded by the core edge router 102 (FIG. 1) should be let through for VOIP systems.
  • With respect to the data center 100, in order to allow the VOIP system to use protocols that are otherwise restricted by the core edge router 120 of the data center 100, the core edge router 120 is configured to perform selective filtering. When a VOIP carrier is registered with the data center, the core edge router 120 is set to allow packets through that are using UDP protocols that have origins or destinations that are in a VOIP carrier's network. Any other special protocols that are otherwise restricted but needed by the VOIP system are similarly allowed through the core edge router 120.
  • In order to address the added risk of allowing UDP and certain other otherwise restricted protocols to be processed through the data center 100, a detection and attack mitigation module 100 specific to VOIP systems may be added to the data center 100. If the core edge router 120 allows a packet to enter into the data center despite that it is of an otherwise restricted protocol, such as UDP, the packet is filtered through the VOIP specific detection and mitigation module 110.
  • With respect to the VOIP protection system 900, referring again to FIG. 9, in one embodiment, the processor 902 may be hard coded to execute instructions as fast as possible, given the real time nature of packets in VOIP systems, and the possible size and speed of attacks that may be handled to protect the VOIP system. Thus, in this embodiment, the instructions to carry out the VOIP protection routine, the steps of which are explained with respect to FIG. 13, below, are built directly into the chip logic of the processor 902 as microcode or firmware.
  • Referring back to FIG. 12, a load balancing router 950 performs load balancing between the soft switches 80 a, 80 b, 80 c, 80 d.
  • Whether embodied in the data center 100, or in the VOIP protection system 900, referencing FIG. 13, a flow diagram illustrates the steps performed by a VOIP specific detection and mitigation routine. In step 1200, a session initiation protocol (SIP) request is received. Next, since the routine of the embodiment of FIG. 13 is specific to VOIP packets, the administrator may still want to limit VOIP transmission to only certain types of packets. For example, for the embodiment of FIG. 13, only SIP packets (that may contain RTP information comprising UDP information as described above in the Background Section) are allowed through, and the system checks for whether each packet is an SIP packet, step 1202. Filtering for different protocols, SIP and non-SIP, can be customized for individual carriers, especially if the detection and mitigation module 110 is implemented in software or firmware that can be changed.
  • Next, a sanity check is performed on the request, wherein the SIP packet is checked for whether it is compliant with the relevant IETF RFC(s) for SIP packets, step 1204. Currently, the following SIP related RFCs of the IETF may be relevant in this step: RFC 2543, RFC 3261, RFC 3262, RFC 3263, RFC 3264 and RFC 3265. Each SIP packet may be checked against one or more of these or other current RFCs in step 1202 for compliance. For example, RFC 3265 provides for, among other enhancements, an expanded header for SIP packets. The detection and mitigation module 110, in accordance with step 1202, may check each SIP packet for whether proper header entries are included according to RFC 3265.
  • Next, the request is checked for whether it is for a domain name on a list of valid domain names for the VOIP system, step 1208. If not, then the request is discarded, step 1204. Otherwise, the request is not the request is placed in a database, step 1210. The database may be keyed by the source address, and target domain name requested, and other attributes that may be checked for determining duplicate requests as described below. Further, a hit count is kept in the database to count the number of (duplicate) requests for each source address and request. Any attribute of the request may be examined to determine if it is one of a number of duplicate requests, including various values in the header entry of the request packet. For example, the data contained in the packet itself may be examined to determine if it is at least substantially duplicate to one or more of the packets stored in the database.
  • In some DDoS attacks, the SIP requests may just contain the same characters in one or more header entries, or the data portion of the itself, of the packets. The system administrator may configure the system to compare any one or more attributes to determine whether a packet is a duplicate of one or more packets stored in the database. Known data pattern recognition techniques, such as the technique described in U.S. Pat. No. 6,728,728 for example, may be used to check for duplicate data in the packets.
  • The recorded hit count for the request is checked for whether it exceeds a threshold for the number of substantially duplicate requests over a period of time (for example, over the last ten seconds), step 1212. The threshold is based on the capacity of the data center 100 or the VOIP protection system 900, whichever is executing the routine of FIG. 13. If the threshold is exceeded, then a reset packet may be returned to the requester/sender, step 1214. Alternatively, in another embodiment, the data center 100 and VOIP protection system 900 keeps a common database at one of their respective locations when working together, or keep separate databases, to store the data packets that are found to be substantially duplicate.
  • For example, the data center 100 may store data packets that are tested using one of a combination of attributes for patterns, and the VOIP protection system 900 may store data packets that are tested using a different combination of attributes. If, for instance, the data center 100 finds that a threshold of substantially duplicate packets is met, then a message can be sent to the VOIP protection system 900, and the packets of the same origin and destination may be discarded from the database located in the VOIP protection system 900 to free memory space therein.
  • If the hit count threshold is not exceeded, the SIP request is forwarded to its destination, step 1216.
  • In some embodiments, the database contains a hash (or reduction) function that is performed on the SIP request packets, the results of which are sorted in a hash table. In such an embodiment, if the standard deviation of the entries in the hash table meets a threshold value, then an attack on the VOIP system is detected, and a reset packet is sent to the requester(s) sending the duplicate requests.
  • In another embodiment, if the hit count exceeds the threshold in step 1212, instead of resetting or cutting off the SIP requestor, a rate limiter is applied to the requestor's connection, step 1215. This way, malicious attacks are limited in any use or damages they can cause to the system 1200, while legitimate SIP requestors can still function with the system 1200, albeit at a slow speed or packet rate than initially attempted.
  • Internet Protocol Television (IPTV)
  • An IPTV system transmits television programs from a Web site or from private Internet providers such as cable and telephone companies (cable modems and DSL). IPTV uses streaming video techniques to deliver scheduled TV programs of video on demand (VOD). Unlike transmitting over the air or via standard cable to a TV set, IPTV uses the IP protocol as the delivery transport and uses either a computer and software media player or an IPTV set-top box to decode the images in real time.
  • Unfortunately, IPTV systems are vulnerable to malicious attacks such as those described above. For example, a DDoS attack can be devastating to a system that relies on real-time delivery, such as an IPTV system. Customers of an IPTV system expect uninterrupted broadcast of both scheduled live streaming and recorded streaming programming. Customers further expect fast downloads of non-streaming large media files for viewing after download is completed. If the IPTV system breaks down from, for example, a DDoS attack on the IPTV servers, the consequences to an IPTV business can be devastating. Further, just as is the case with VOIP systems, IPTV systems typically use real-time protocol (RTP), UDP, or other protocols for which attacks are difficult to protect against. Many Internet security systems disallow these protocols due to their danger as being commonly used for attacks. Thus, systems that use these protocols are left to accept packets using these protocols with no security measures applied from their security provider. Thus, in one embodiment, the same systems and methods described above and below to protect VOIP and other systems are used to protect IPTV systems.
  • Other Attack Mitigation and Detection Methods
  • In some embodiments, a “human” filter is used, or intelligent data monitor that is able to recognize changes in data trends. With reference to FIG. 14, a sample graph is shown that provides a human the ability to visually track what is normal IP traffic, or trends, and what is abnormal for purposes of detecting attacks and tuning mitigation systems, or changes in trends. The graph in FIG. 14 compares time on one scale, to number of call sessions for a VOIP, IPTV, or other system over a week's period. Data is collected and tallied in a database based on, for example, the status of VOIP calls in a VOIP system 1200. In the embodiment of FIG. 14, one curve 1402 on the graph illustrates the number of “valid” sessions over the week, which includes phone calls that were connected and allowed using SIP or H.323 protocol, or in another embodiment using HTTP connections.
  • Another curve 1403 illustrates the number of rejected or terminated call sessions. Something may have failed with these sessions for some reason, but were these sessions were not specifically rejected by attack mitigation systems. For example, some sessions could have been rejected by the VOIP protocol because there was improper configuration on client devices, or there were delays or interruptions on the Internet that caused the calls to not go through.
  • The call sessions represented by the curve 1404 are those that were terminated by attack mitigation systems, for example, and not by limitation, such as those attack mitigation systems described above. These are sessions that somehow break protocol and are deemed to be invalid sessions, or that are not allowed to connect to the system 1200 (100 in FIG. 1) due to other reasons determined by the attack mitigation system.
  • Graphs such as that illustrated in FIG. 14, whether the time scale is a minute, hour, day, week, month, or year, allows a system operator to learn graphically the characteristics of normal operation, so that abnormal conditions can be recognized by viewing the graph. This method of detection further provides the operator with the capability to plan and configure their systems based on usage projections perceived from viewing such graphs. In one embodiment, an intelligent software, or hardware, computerized data trend monitor recognizes changes in the data producing the graph of FIG. 14, and automatically provides a warning or alert, based the same changes that are recognizable by a human using the graph of FIG. 14. In one embodiment, the computerized data trend monitor comprises a system that recognizes changes in trend lines for the data over a time period, such as those used to track stocks in financial markets. In one embodiment such an intelligent software data trend monitor automatically institutes data mitigation techniques such as those describe herein, including but not limited to, resetting the source of an attack.
  • In other embodiments, one or more types of “trigger” or threshold values are used for detecting an attack on a system. For example, and not by way of limitation, with reference back to FIG. 13, in step 1212, in one embodiment, instead of, or in addition to, checking a requester's hit count against a threshold, the requester's number of sessions open is checked against a threshold. In this embodiment, if a threshold number of sessions is met or exceeded by any requester, then the a reset is sent to the requestor, step 1214, or, if the DNS protection system 900 is so configured, a rate limiter is applied to limit the rate of packets that can enter the VOIP system 1200 from the requester, step 1215. Other delay measures are used in other embodiments. For example, in one embodiment, instead of sending a reset message to the suspect requester, or limiting the requesters packet traffic, the requestor is “logged off,” or prevented from using the VOIP system 1200 for a set period of time, which, for example, and not by limitation, is 30 minutes in one embodiment, before the same requestor is allowed to log-on and use the VOIP system 1200 again.
  • With reference to FIG. 15, a flow diagram illustrates the steps performed in another method of attack detection and mitigation according to one embodiment. This embodiment provides an alternative to comparing the incoming data rate Din to the outgoing data rate Dout as described above. Instead a rotating average is compared to the current data rate, for example, in the data cleaning center 100 of FIG. 1, to detect a possible DNS attack. In step 1500, the system receives and/or transmits network data. The data rate for the network data is measured, step 1502. The system calculates and compares average data rates according to the following formula, step 1504:
    ((D t −D A)/D A)*100|>Δthreshold
    where
    D A=(D t−1 +D t−2)/2
    wherein Dt is the current data rate, Dt−1 is the data rate measured before Dt, and Dt−2 is the data rate measured before Dt−1. DA is the average of Dt−1 and Dt−2. Δthreshold is a threshold value representing the percentage of change between the average of the last two measurements DA and the current data rate Dt that causes an alert or notification to be provided warning of a possible network attack, step 1506. In one embodiment, the alert or notification is the same type as that described above with respect to the data center 100.
  • In another embodiment, the average DA is a running average that is compared to the current data rate Dt: ( ( D t - D A ) / D A ) * 100 > Δ threshold where D A = ( D t - 1 , D t - 2 , D t - 3 , D t - n ) n
    wherein n is the number of data rate measurements that are taken before the current data rate measurement Dt, and the Δthreshold is a threshold value representing the percentage of change between the average of the last n measurements DA and the current data rate Dt that causes an alert or notification to be provided warning of a possible network attack.
  • Further, in another embodiment, the comparison of Dt and DA is performed by one or more of the attack mitigation modules 110 with respect to each IP address sending or receiving data to the data cleaning center 100. In this embodiment, if the threshold is exceeded, then the specific IP address is reset, or denied communication with the host to which requests are being sent. In another embodiment the comparison of Dt and DA is performed by the DNS server protection system 900 described above to prevent attacks to VOIP or IPTV systems.
  • In another embodiment, the data cleaning center 100, or the DNS protection system 900, or one or more modules 110 in the data cleaning center 100, provide an alternative method for responding to a recognized or suspected attack. Instead of sending a reset (RST) to the suspected attacker, or denying the attacker's traffic, synthesized responses are sent that include, by way of example, and not by way of limitation, synthesized acknowledgements (ACKs) with proper sequencing included, such as source and port destination numbers. In this way attacking systems, or persons perpetrating an attack, are “tricked” into the false belief that their attack is successful, with the target system returning acknowledgements, hiding or masking the fact that the attack is being mitigated.
  • It will be apparent from the foregoing that, while particular forms of the invention have been illustrated and described, various modifications can be made without departing from the spirit and scope of the invention. Accordingly, it is not intended that the invention be limited, except as by the appended claims.

Claims (31)

1. A system for detecting and mitigating an attempted overload condition targeting a voice over data system, comprising:
a network connection for receiving a plurality of VOIP requests;
a processor for determining whether two or more of the VIOP requests are substantially duplicate;
the processor further for discarding received VOIP requests that are determined to be substantially duplicate.
2. The system of claim 1, wherein the processor discards any VOIP request that does not pass a sanity check.
3. The system of claim 1, wherein the processor discards each request containing a domain name that is not on a list as a valid domain name.
4. The system of claim 4, wherein the processor detects whether a threshold number of VOIP requests are duplicate by storing the received requests in a database, counting the number of requests that are substantially duplicate to produce a hit count over a period of time, and comparing the hit count against a threshold value.
5. The system of claim 4, wherein the processor detects whether a threshold number of VOIP requests are duplicate by comparing one or more attributes of the VOIP requests.
6. The system of claim 1, wherein the processor comprises an application specific integrated circuit.
7. The system of claim 1, wherein the processor comprises a data center.
8. A method for detecting and mitigating an attempted overload condition targeting a voice over data system, comprising:
receiving a plurality of VOIP requests;
determining whether two or more of the VOIP requests are substantially duplicate;
discarding received VOIP requests that are determined to be substantially duplicate.
9. The method of claim 8, comprising discarding any of VOIP request that does not pass a sanity check.
10. The method of claim 8, comprising each VOIP request containing a domain name that is not on a list as a valid domain name.
11. The method of claim 8, wherein the step of detecting whether a threshold number of the plurality of VOIP requests received are duplicate comprises storing the received requests in a database, counting the number of requests that are substantially duplicate to produce a hit count over a period of time, and comparing the hit count against a threshold value.
12. The system of claim 11, wherein the step of detecting whether a threshold number of VOIP requests are duplicate is performed by comparing one or more attributes of the VOIP requests.
13. A system for detecting an attempted overload condition targeting a voice over data system, comprising:
a network connection for receiving a plurality of VOIP requests;
a processor for determining whether two or more of the VOIP requests are substantially duplicate;
the processor further for discarding received VOIP requests that are determined to be substantially duplicate.
14. A method for detecting an attempted overload condition targeting a voice over data system, comprising:
receiving a plurality of VOIP requests;
determining whether two or more of the VOIP requests are substantially duplicate;
discarding received VOIP requests that are determined to be substantially duplicate.
15. A system for mitigating an attempted overload condition targeting a voice over data system, comprising:
a network connection for receiving a plurality of VOIP requests;
a processor for determining whether two or more of the VOIP requests are substantially duplicate, the processor further for discarding received VOIP requests that are determined to be substantially duplicate.
16. A method for mitigating an attempted overload condition targeting a voice over data system, comprising:
receiving a plurality of SIP requests;
determining whether two or more of the SIP requests are substantially duplicate;
discarding received SIP requests that are determined to be substantially duplicate.
17. A system for mitigating an attempted overload condition targeting a voice over data system, comprising:
a network connection for receiving a plurality of SIP packets;
a processor for determining whether two or more of the SIP packets are substantially duplicate, the processor further for discarding received SIP packets that are determined to be substantially duplicate.
18. A system for mitigating an attempted overload condition targeting an IPTV system, comprising:
a network connection for receiving a plurality of IPTV requests;
a processor for determining whether two or more of the IPTV requests are substantially duplicate;
the processor further for discarding received IPTV requests that are determined to be substantially duplicate.
19. A method for mitigating an attempted overload condition targeting an IPTV system, comprising:
receiving a plurality of IPTV requests;
determining whether two or more of the IPTV requests are substantially duplicate;
discarding received IPTV requests that are determined to be substantially duplicate.
20. A system for mitigating an attempted overload condition targeting a voice over data system, comprising:
a network connection for receiving a plurality of VOIP requests;
a processor for determining whether two or more of the VOIP requests are substantially duplicate;
the processor further for applying a rate limit to limit the rate at which packets are received from a sender sending the VOIP requests that are determined to be substantially duplicate.
21. A method for detecting an attempted overload condition targeting a voice over data system, comprising:
receiving a plurality of VOIP requests;
determining whether two or more of the VOIP requests are substantially duplicate;
applying a rate limit to limit the rate at which packets are received from a sender sending the VOIP requests that are determined to be substantially duplicate.
22. A system for detecting an attempted overload condition targeting a networked computer system, comprising:
a network connection for receiving a volume of data;
a meter for measuring a current data rate, and to compare an average data rate of two or more previous measured data rates to the current data rate, wherein the meter is further to provide an alert to indicate a potential attack if the current data rate is substantially different than the average data rate.
23. A method for detecting an attempted attack targeting a networked computer system, comprising:
receiving a volume of data;
measuring a current data rate;
comparing an average data rate of two or more previous measured data rates to the current data rate;
providing an alert to indicate a potential attack if the current data rate is substantially different than the average data rate.
24. A method for mitigating an attempted attack targeting a networked computer system, comprising:
receiving network data; and
detecting a suspected attack;
mitigating the attack by providing synthesized responses in response to the attack, thereby masking mitigation of the attack.
25. A system for mitigating an attempted overload condition targeting a networked computer system, comprising:
a network connection for receiving network data; and
a processor for detecting a suspected attack, wherein the processor is further to mitigate the attack by providing synthesized responses in response to the attack, thereby masking that the processor mitigates the attack.
26. A method for mitigating an attempted attack targeting a networked computer system, comprising:
receiving a volume of network data over a period of time;
tracking the volume of network data over the period of time thereby detecting one or more trends in the network data;
detecting a suspected attack by detecting changes in the one or more trends in the network data.
27. The method of claim 26, wherein the detecting is performed by a human viewing a graph illustrating the one or more trends in the network.
28. The method of claim 26, wherein the detecting is performed by a computerized data trend monitor that detects the changes in the one or more trends in the network data.
29. A system for mitigating an attempted attack targeting a networked computer system, comprising:
a network connection to receive a volume of network data over a period of time; and
a processor to track the volume of network data over the period of time to detect one or more trends in the network data, the processor further to detect a suspected attack by detecting changes in the one or more trends in the network data.
30. The system of claim 29, further comprising a graph to present to a human to detect the changes in the one or more trends.
31. The system of claim 29, wherein the processor includes a computerized data trend monitor to detect the changes in the one or more trends in the network data.
US11/241,470 2004-10-01 2005-09-30 Voice over internet protocol data overload detection and mitigation system and method Abandoned US20060075084A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/241,470 US20060075084A1 (en) 2004-10-01 2005-09-30 Voice over internet protocol data overload detection and mitigation system and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/956,721 US7478429B2 (en) 2004-10-01 2004-10-01 Network overload detection and mitigation system and method
US11/241,470 US20060075084A1 (en) 2004-10-01 2005-09-30 Voice over internet protocol data overload detection and mitigation system and method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/956,721 Continuation-In-Part US7478429B2 (en) 2004-10-01 2004-10-01 Network overload detection and mitigation system and method

Publications (1)

Publication Number Publication Date
US20060075084A1 true US20060075084A1 (en) 2006-04-06

Family

ID=36126944

Family Applications (4)

Application Number Title Priority Date Filing Date
US10/956,721 Active 2025-06-25 US7478429B2 (en) 2004-10-01 2004-10-01 Network overload detection and mitigation system and method
US11/241,470 Abandoned US20060075084A1 (en) 2004-10-01 2005-09-30 Voice over internet protocol data overload detection and mitigation system and method
US12/251,723 Abandoned US20090037592A1 (en) 2004-10-01 2008-10-15 Network overload detection and mitigation system and method
US13/734,104 Abandoned US20130145464A1 (en) 2004-10-01 2013-01-04 Network Overload Detection and Mitigation System and Method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/956,721 Active 2025-06-25 US7478429B2 (en) 2004-10-01 2004-10-01 Network overload detection and mitigation system and method

Family Applications After (2)

Application Number Title Priority Date Filing Date
US12/251,723 Abandoned US20090037592A1 (en) 2004-10-01 2008-10-15 Network overload detection and mitigation system and method
US13/734,104 Abandoned US20130145464A1 (en) 2004-10-01 2013-01-04 Network Overload Detection and Mitigation System and Method

Country Status (3)

Country Link
US (4) US7478429B2 (en)
EP (1) EP1812867A4 (en)
WO (2) WO2006039529A2 (en)

Cited By (173)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050076238A1 (en) * 2003-10-03 2005-04-07 Ormazabal Gaston S. Security management system for monitoring firewall operation
US20050185668A1 (en) * 2004-02-21 2005-08-25 Williamson Matthew M. Network connection control
US20070133539A1 (en) * 2005-12-08 2007-06-14 Electronics And Telecommunications Research Institute Routing apparatus for supporting IPv6 anycast service and method thereof
US20070140121A1 (en) * 2005-12-21 2007-06-21 Chris Bowman Method of preventing denial of service attacks in a network
US20070147380A1 (en) * 2005-11-08 2007-06-28 Ormazabal Gaston S Systems and methods for implementing protocol-aware network firewall
US20070214490A1 (en) * 2006-03-08 2007-09-13 Cheng Gary F Method for reducing channel change startup delays for multicast digital video streams
US20070291650A1 (en) * 2003-10-03 2007-12-20 Ormazabal Gaston S Methodology for measurements and analysis of protocol conformance, performance and scalability of stateful border gateways
US20080028463A1 (en) * 2005-10-27 2008-01-31 Damballa, Inc. Method and system for detecting and responding to attacking networks
US20080095144A1 (en) * 2006-10-23 2008-04-24 Net2Phone, Inc. Providing service availability despite bandwidth limitations
US20080189489A1 (en) * 2007-02-01 2008-08-07 Cisco Technology, Inc. Regularly occurring write back scheme for cache soft error reduction
US20080192839A1 (en) * 2007-02-12 2008-08-14 Cisco Technology, Inc. Fast channel change on a bandwidth constrained network
US20080195732A1 (en) * 2007-02-09 2008-08-14 Tatsuya Maruyama Information processor and information processing system
US20080209564A1 (en) * 2007-02-28 2008-08-28 Ruth Schaefer Gayde Security protection for a customer programmable platform
US20080222724A1 (en) * 2006-11-08 2008-09-11 Ormazabal Gaston S PREVENTION OF DENIAL OF SERVICE (DoS) ATTACKS ON SESSION INITIATION PROTOCOL (SIP)-BASED SYSTEMS USING RETURN ROUTABILITY CHECK FILTERING
US20080225850A1 (en) * 2007-03-14 2008-09-18 Cisco Technology, Inc. Unified transmission scheme for media stream redundancy
US20080253369A1 (en) * 2007-04-16 2008-10-16 Cisco Technology, Inc. Monitoring and correcting upstream packet loss
US20080285468A1 (en) * 2007-05-15 2008-11-20 Korea University Industry And Academy Collaboration Foundation Method and computer-readable medium for detecting abnormal packet in VoIP
US20090007220A1 (en) * 2007-06-29 2009-01-01 Verizon Services Corp. Theft of service architectural integrity validation tools for session initiation protocol (sip)-based systems
US20090006841A1 (en) * 2007-06-29 2009-01-01 Verizon Services Corp. System and method for testing network firewall for denial-of-service (dos) detection and prevention in signaling channel
US20090064332A1 (en) * 2007-04-04 2009-03-05 Phillip Andrew Porras Method and apparatus for generating highly predictive blacklists
US20090083845A1 (en) * 2003-10-03 2009-03-26 Verizon Services Corp. Network firewall test methods and apparatus
US20090185503A1 (en) * 2008-01-18 2009-07-23 Oki Electric Industry Co., Ltd. Network traffic analyzing device, network traffic analyzing method and network traffic analyzing system
US20090201805A1 (en) * 2008-02-10 2009-08-13 Cisco Technology Inc. Forward error correction based data recovery with path diversity
US20090210515A1 (en) * 2006-05-15 2009-08-20 Takeshi Fujita Method for acquiring long data by get method
US20090238088A1 (en) * 2008-03-19 2009-09-24 Oki Electric Industry Co., Ltd. Network traffic analyzing device, network traffic analyzing method and network traffic analyzing system
US20090248858A1 (en) * 2008-03-31 2009-10-01 Swaminathan Sivasubramanian Content management
WO2009140878A1 (en) * 2008-05-23 2009-11-26 成都市华为赛门铁克科技有限公司 Method, network apparatus and network system for defending distributed denial of service ddos attack
US20100037314A1 (en) * 2008-08-11 2010-02-11 Perdisci Roberto Method and system for detecting malicious and/or botnet-related domain names
US20100058457A1 (en) * 2003-10-03 2010-03-04 Verizon Services Corp. Methodology, Measurements and Analysis of Performance and Scalability of Stateful Border Gateways
US20100071062A1 (en) * 2008-09-18 2010-03-18 Alcatel Lucent MECHANISM FOR IDENTIFYING MALICIOUS CONTENT, DoS ATTACKS, AND ILLEGAL IPTV SERVICES
US20100097945A1 (en) * 2008-10-21 2010-04-22 Michael Raftelis Centralized Analysis and Management of Network Packets
US20100122335A1 (en) * 2008-11-12 2010-05-13 At&T Corp. System and Method for Filtering Unwanted Internet Protocol Traffic Based on Blacklists
US20100125658A1 (en) * 2008-11-17 2010-05-20 At&T Intellectual Property I, L.P. Method and system for multimedia content consumption analysis
US20100260170A1 (en) * 2009-04-14 2010-10-14 Global Convergence Solutions System and method for dynamic call routing
CN101924764A (en) * 2010-08-09 2010-12-22 中国电信股份有限公司 Large-scale DDoS (Distributed Denial of Service) attack defense system and method based on two-level linkage mechanism
US7869364B2 (en) 2008-10-27 2011-01-11 Broadsoft, Inc. SIP server overload detection and control
WO2011020380A1 (en) * 2009-08-16 2011-02-24 中兴通讯股份有限公司 Streaming media server system and related implementation method, device, and iptv system
US7965771B2 (en) 2006-02-27 2011-06-21 Cisco Technology, Inc. Method and apparatus for immediate display of multicast IPTV over a bandwidth constrained network
US20110161765A1 (en) * 2006-09-11 2011-06-30 Cisco Technology, Inc. Retransmission-based stream repair and stream join
US20110167495A1 (en) * 2010-01-06 2011-07-07 Antonakakis Emmanouil Method and system for detecting malware
EP2342649A1 (en) * 2008-09-11 2011-07-13 Alibaba Group Holding Limited Request processing in a distributed environment
US20110231057A1 (en) * 2010-03-19 2011-09-22 Javad Gnss, Inc. Method for generating offset paths for ground vehicles
US20120030724A1 (en) * 2010-07-30 2012-02-02 Joe Godas System and method for detecting hacked modems
WO2012071282A1 (en) 2010-11-22 2012-05-31 Amazon Technologies, Inc. Request routing processing
US8275874B2 (en) 2008-03-31 2012-09-25 Amazon Technologies, Inc. Locality based content distribution
US8301778B2 (en) 2008-11-17 2012-10-30 Amazon Technologies, Inc. Service provider registration by a content broker
US8301748B2 (en) 2008-11-17 2012-10-30 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8321588B2 (en) 2008-11-17 2012-11-27 Amazon Technologies, Inc. Request routing utilizing client location information
US8331371B2 (en) 2009-12-17 2012-12-11 Amazon Technologies, Inc. Distributed routing architecture
US8331370B2 (en) 2009-12-17 2012-12-11 Amazon Technologies, Inc. Distributed routing architecture
US8386596B2 (en) 2008-03-31 2013-02-26 Amazon Technologies, Inc. Request routing based on class
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8423667B2 (en) 2008-11-17 2013-04-16 Amazon Technologies, Inc. Updating routing information based on client location
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8458250B2 (en) 2008-06-30 2013-06-04 Amazon Technologies, Inc. Request routing using network computing components
US8463877B1 (en) 2009-03-27 2013-06-11 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularitiy information
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
CN103209192A (en) * 2013-05-10 2013-07-17 张昱 Domain status cleaning system for DDoS (distributed denial of service) attack and detection method
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US8543702B1 (en) 2009-06-16 2013-09-24 Amazon Technologies, Inc. Managing resources using resource expiration data
US8549531B2 (en) 2008-09-29 2013-10-01 Amazon Technologies, Inc. Optimizing resource configurations
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US8583776B2 (en) 2008-11-17 2013-11-12 Amazon Technologies, Inc. Managing content delivery network service providers
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8626950B1 (en) 2010-12-03 2014-01-07 Amazon Technologies, Inc. Request routing processing
US8631489B2 (en) 2011-02-01 2014-01-14 Damballa, Inc. Method and system for detecting malicious domain names at an upper DNS hierarchy
US8667127B2 (en) 2009-03-24 2014-03-04 Amazon Technologies, Inc. Monitoring web site content
US8719930B2 (en) * 2010-10-12 2014-05-06 Sonus Networks, Inc. Real-time network attack detection and mitigation infrastructure
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8762526B2 (en) 2008-09-29 2014-06-24 Amazon Technologies, Inc. Optimizing content management
US8788671B2 (en) 2008-11-17 2014-07-22 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US20140215611A1 (en) * 2013-01-31 2014-07-31 Samsung Electronics Co., Ltd. Apparatus and method for detecting attack of network system
US20140211614A1 (en) * 2013-01-25 2014-07-31 Arxceo Corporation Methods and systems for providing redundancy in data network communications
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US8826438B2 (en) 2010-01-19 2014-09-02 Damballa, Inc. Method and system for network-based detecting of malware from behavioral clustering
US8843625B2 (en) 2008-09-29 2014-09-23 Amazon Technologies, Inc. Managing network data display
WO2014179602A1 (en) * 2013-05-01 2014-11-06 Kodiak Networks, Inc. Voip denial-of-service protection mechanisms from attack
US20140351931A1 (en) * 2012-09-06 2014-11-27 Dstillery, Inc. Methods, systems and media for detecting non-intended traffic using co-visitation information
US20140359105A1 (en) * 2013-06-03 2014-12-04 Tencent Technology (Shenzhen) Company Limited Method, client, server, and system for processing data
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
WO2013188611A3 (en) * 2012-06-14 2015-07-02 Tt Government Solutions, Inc. Real-time reporting of anomalous internet protocol attacks
US9083743B1 (en) 2012-03-21 2015-07-14 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US9088460B2 (en) 2008-09-29 2015-07-21 Amazon Technologies, Inc. Managing resource consolidation configurations
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US20150264013A1 (en) * 2008-08-07 2015-09-17 At&T Intellectual Property I, L.P. Method and apparatus for providing security in an intranet network
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9160641B2 (en) 2008-09-29 2015-10-13 Amazon Technologies, Inc. Monitoring domain allocation performance
US9166994B2 (en) 2012-08-31 2015-10-20 Damballa, Inc. Automation discovery to identify malicious activity
US9246776B2 (en) 2009-10-02 2016-01-26 Amazon Technologies, Inc. Forward-based resource delivery network management techniques
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US9338184B1 (en) * 2014-03-11 2016-05-10 Sprint Communications Company L.P. Systems, methods, and software for improving resistance to distributed denial of service attacks
US9374342B2 (en) 2005-11-08 2016-06-21 Verizon Patent And Licensing Inc. System and method for testing network firewall using fine granularity measurements
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9444836B2 (en) * 2011-05-26 2016-09-13 At&T Intellectual Property I, L.P. Modeling and outlier detection in threat management system data
US9473529B2 (en) 2006-11-08 2016-10-18 Verizon Patent And Licensing Inc. Prevention of denial of service (DoS) attacks on session initiation protocol (SIP)-based systems using method vulnerability filtering
US9479476B2 (en) 2008-03-31 2016-10-25 Amazon Technologies, Inc. Processing of DNS queries
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US9516058B2 (en) 2010-08-10 2016-12-06 Damballa, Inc. Method and system for determining whether domain names are legitimate or malicious
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9525701B2 (en) 2012-10-04 2016-12-20 Akamai Technologies, Inc. Server with mechanism for changing treatment of client connections determined to be related to attacks
US9628554B2 (en) 2012-02-10 2017-04-18 Amazon Technologies, Inc. Dynamic content delivery
US9680861B2 (en) 2012-08-31 2017-06-13 Damballa, Inc. Historical analysis to identify malicious activity
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9787775B1 (en) 2010-09-28 2017-10-10 Amazon Technologies, Inc. Point of presence management in request routing
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
WO2017190623A1 (en) * 2016-05-06 2017-11-09 阿里巴巴集团控股有限公司 Data processing method, device and system
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
EP3160086A4 (en) * 2014-06-20 2018-01-24 Jeong Hoan Seo Method and system for detecting failure-inducing client by using client route control system
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9894088B2 (en) 2012-08-31 2018-02-13 Damballa, Inc. Data mining to identify malicious activity
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US9930065B2 (en) 2015-03-25 2018-03-27 University Of Georgia Research Foundation, Inc. Measuring, categorizing, and/or mitigating malware distribution paths
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10050986B2 (en) 2013-06-14 2018-08-14 Damballa, Inc. Systems and methods for traffic classification
CN108449386A (en) * 2018-02-24 2018-08-24 深圳市联软科技股份有限公司 A kind of method, medium and equipment redirecting access request
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10084806B2 (en) 2012-08-31 2018-09-25 Damballa, Inc. Traffic simulation to identify malicious activity
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US10116691B2 (en) 2004-11-23 2018-10-30 Kodiak Networks, Inc. VoIP denial-of-service protection mechanisms from attack
WO2018234039A1 (en) * 2017-06-22 2018-12-27 Siemens Aktiengesellschaft Method and device for transmitting a message in a safety-relevant facility
US10171492B2 (en) * 2016-06-24 2019-01-01 Fortinet, Inc. Denial-of-service (DoS) mitigation based on health of protected network device
US10170112B2 (en) * 2017-05-11 2019-01-01 Google Llc Detecting and suppressing voice queries
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US10243925B2 (en) 2009-12-12 2019-03-26 Akamai Technologies, Inc. Cloud based firewell system and service
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10432650B2 (en) 2016-03-31 2019-10-01 Stuart Staniford System and method to protect a webserver against application exploits and attacks
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US10462025B2 (en) 2008-09-29 2019-10-29 Amazon Technologies, Inc. Monitoring performance and operation of data exchanges
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US10547674B2 (en) 2012-08-27 2020-01-28 Help/Systems, Llc Methods and systems for network flow analysis
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US10771391B2 (en) * 2015-11-05 2020-09-08 Hewlett Packard Enterprise Development Lp Policy enforcement based on host value classification
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US10911483B1 (en) * 2017-03-20 2021-02-02 Amazon Technologies, Inc. Early detection of dedicated denial of service attacks through metrics correlation
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US11032392B1 (en) * 2019-03-21 2021-06-08 Amazon Technologies, Inc. Including prior request performance information in requests to schedule subsequent request performance
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US20210367968A1 (en) * 2019-07-03 2021-11-25 Netflix, Inc. Attack mitigation in a packet-switched network
US11190543B2 (en) * 2017-01-14 2021-11-30 Hyprfire Pty Ltd Method and system for detecting and mitigating a denial of service attack
US11290418B2 (en) 2017-09-25 2022-03-29 Amazon Technologies, Inc. Hybrid content request routing system
US11297098B2 (en) * 2016-03-10 2022-04-05 Telefonaktiebolaget Lm Ericsson (Publ) DDoS defence in a packet-switched network
US11604667B2 (en) 2011-04-27 2023-03-14 Amazon Technologies, Inc. Optimized deployment based upon customer locality

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4484663B2 (en) * 2004-02-02 2010-06-16 株式会社サイバー・ソリューションズ Unauthorized information detection system and unauthorized attack source search system
WO2006055714A2 (en) * 2004-11-19 2006-05-26 Triad Biometrics, Llc Methods and systems for use in biomeiric authentication and/or identification
US20070022479A1 (en) * 2005-07-21 2007-01-25 Somsubhra Sikdar Network interface and firewall device
US20060259950A1 (en) 2005-02-18 2006-11-16 Ulf Mattsson Multi-layer system for privacy enforcement and monitoring of suspicious data access behavior
US10225282B2 (en) * 2005-04-14 2019-03-05 International Business Machines Corporation System, method and program product to identify a distributed denial of service attack
US7665135B1 (en) 2005-06-03 2010-02-16 Sprint Communications Company L.P. Detecting and addressing network attacks
US7694338B1 (en) * 2005-06-03 2010-04-06 Sprint Communications Company L.P. Shared tap DOS-attack protection
JP4089719B2 (en) * 2005-09-09 2008-05-28 沖電気工業株式会社 Abnormality detection system, abnormality management device, abnormality management method, probe and program thereof
US8689326B2 (en) * 2006-01-16 2014-04-01 Cyber Solutions Inc. Device for analyzing and diagnosing network traffic, a system for analyzing and diagnosing network traffic, and a system for tracing network traffic
WO2007097177A1 (en) * 2006-02-24 2007-08-30 Matsushita Electric Industrial Co., Ltd. Wavelength converter and image display
US20070226799A1 (en) * 2006-03-21 2007-09-27 Prem Gopalan Email-based worm propagation properties
US7773540B1 (en) * 2006-06-01 2010-08-10 Bbn Technologies Corp. Methods, system and apparatus preventing network and device identification
US7768921B2 (en) * 2006-10-30 2010-08-03 Juniper Networks, Inc. Identification of potential network threats using a distributed threshold random walk
CA2714549A1 (en) * 2007-02-09 2008-08-14 Smobile Systems, Inc. Off-line mms malware scanning system and method
US9088658B2 (en) * 2007-02-23 2015-07-21 Cisco Technology, Inc. Intelligent overload control for contact center
US8341727B2 (en) * 2007-03-09 2012-12-25 Se Cure 64 Software Corporation Method and system for protecting a computer system from denial-of-service attacks and other deleterious resource-draining phenomena related to communications
US8838774B2 (en) * 2007-08-21 2014-09-16 Inmon Corporation Method, system, and computer program product for identifying common factors associated with network activity with reduced resource utilization
US8427950B2 (en) * 2007-08-28 2013-04-23 Inmon Corporation Method, system, and computer program product for identifying common factors associated with network threshold violations
US20090222832A1 (en) * 2008-02-29 2009-09-03 Dell Products, Lp System and method of enabling resources within an information handling system
US8365259B2 (en) * 2008-05-28 2013-01-29 Zscaler, Inc. Security message processing
US20100033433A1 (en) * 2008-08-08 2010-02-11 Dell Products, Lp Display system and method within a reduced resource information handling system
KR100908404B1 (en) * 2008-09-04 2009-07-20 (주)이스트소프트 System and method for protecting from distributed denial of service
US8863268B2 (en) * 2008-10-29 2014-10-14 Dell Products, Lp Security module and method within an information handling system
US8370673B2 (en) * 2008-10-30 2013-02-05 Dell Products, Lp System and method of utilizing resources within an information handling system
US8037333B2 (en) 2008-10-31 2011-10-11 Dell Products, Lp Information handling system with processing system, low-power processing system and shared resources
US8914878B2 (en) 2009-04-29 2014-12-16 Juniper Networks, Inc. Detecting malicious network software agents
US20110023088A1 (en) * 2009-07-23 2011-01-27 Electronics And Telecommunications Research Institute Flow-based dynamic access control system and method
US8427949B2 (en) * 2009-08-07 2013-04-23 Future Wei Technologies, Inc. System and method for adapting a source rate
US8789173B2 (en) * 2009-09-03 2014-07-22 Juniper Networks, Inc. Protecting against distributed network flood attacks
US8443434B1 (en) * 2009-10-06 2013-05-14 Palo Alto Networks, Inc. High availability security device
US8443444B2 (en) * 2009-11-18 2013-05-14 At&T Intellectual Property I, L.P. Mitigating low-rate denial-of-service attacks in packet-switched networks
JP2013523043A (en) 2010-03-22 2013-06-13 エルアールディシー システムズ、エルエルシー How to identify and protect the integrity of a source dataset
US9049247B2 (en) 2010-04-01 2015-06-02 Cloudfare, Inc. Internet-based proxy service for responding to server offline errors
US9009330B2 (en) 2010-04-01 2015-04-14 Cloudflare, Inc. Internet-based proxy service to limit internet visitor connection speed
US9313224B1 (en) * 2010-09-30 2016-04-12 Google Inc. Connectivity protector
US20120151012A1 (en) * 2010-12-09 2012-06-14 Shakeel Mustafa Internet delivery of scheduled multimedia content
KR20120068612A (en) * 2010-12-17 2012-06-27 한국전자통신연구원 Dns query traffic monitoring and processing method and apparatus
DE102011016804B4 (en) 2011-04-12 2016-01-28 Drägerwerk AG & Co. KGaA Device and method for data processing of physiological signals
US8151341B1 (en) 2011-05-23 2012-04-03 Kaspersky Lab Zao System and method for reducing false positives during detection of network attacks
US8584235B2 (en) * 2011-11-02 2013-11-12 Bitdefender IPR Management Ltd. Fuzzy whitelisting anti-malware systems and methods
TWI459232B (en) * 2011-12-02 2014-11-01 Inst Information Industry Phishing site processing method, system and computer readable storage medium storing the method
US9197653B2 (en) * 2012-06-05 2015-11-24 Empire Technology Development Llc Cross-user correlation for detecting server-side multi-target intrusion
US8613089B1 (en) 2012-08-07 2013-12-17 Cloudflare, Inc. Identifying a denial-of-service attack in a cloud-based proxy service
US9137205B2 (en) 2012-10-22 2015-09-15 Centripetal Networks, Inc. Methods and systems for protecting a secured network
US9565213B2 (en) 2012-10-22 2017-02-07 Centripetal Networks, Inc. Methods and systems for protecting a secured network
US9203806B2 (en) 2013-01-11 2015-12-01 Centripetal Networks, Inc. Rule swapping in a packet network
US9124552B2 (en) 2013-03-12 2015-09-01 Centripetal Networks, Inc. Filtering network data transfers
US9450981B2 (en) * 2013-03-14 2016-09-20 Radware, Ltd. System and method thereof for mitigating denial of service attacks in virtual networks
US9722918B2 (en) 2013-03-15 2017-08-01 A10 Networks, Inc. System and method for customizing the identification of application or content type
US9912555B2 (en) 2013-03-15 2018-03-06 A10 Networks, Inc. System and method of updating modules for application or content identification
US9197362B2 (en) 2013-03-15 2015-11-24 Mehdi Mahvi Global state synchronization for securely managed asymmetric network communication
US9094445B2 (en) * 2013-03-15 2015-07-28 Centripetal Networks, Inc. Protecting networks from cyber attacks and overloading
US9043912B2 (en) 2013-03-15 2015-05-26 Mehdi Mahvi Method for thwarting application layer hypertext transport protocol flood attacks focused on consecutively similar application-specific data packets
US8978138B2 (en) 2013-03-15 2015-03-10 Mehdi Mahvi TCP validation via systematic transmission regulation and regeneration
WO2014176461A1 (en) 2013-04-25 2014-10-30 A10 Networks, Inc. Systems and methods for network access control
US10038714B2 (en) 2013-06-18 2018-07-31 Level 3 Communications, Llc Data center redundancy in a network
US9172721B2 (en) * 2013-07-16 2015-10-27 Fortinet, Inc. Scalable inline behavioral DDOS attack mitigation
US9294503B2 (en) * 2013-08-26 2016-03-22 A10 Networks, Inc. Health monitor based distributed denial of service attack mitigation
EP3095213B1 (en) * 2014-01-17 2018-12-05 F5 Networks, Inc. Systems and methods for network destination based flood attack mitigation
US20150350154A1 (en) * 2014-06-03 2015-12-03 John Myla Using Distributed Network Elements to Send Authoritative DNS Responses
US9900344B2 (en) * 2014-09-12 2018-02-20 Level 3 Communications, Llc Identifying a potential DDOS attack using statistical analysis
US9769202B2 (en) * 2014-09-12 2017-09-19 Level 3 Communications, Llc Event driven route control
US9756071B1 (en) 2014-09-16 2017-09-05 A10 Networks, Inc. DNS denial of service attack protection
US9537886B1 (en) 2014-10-23 2017-01-03 A10 Networks, Inc. Flagging security threats in web service requests
EP3215955B1 (en) 2014-11-03 2019-07-24 Level 3 Communications, LLC Identifying a potential ddos attack using statistical analysis
US9621575B1 (en) 2014-12-29 2017-04-11 A10 Networks, Inc. Context aware threat protection
US9584318B1 (en) 2014-12-30 2017-02-28 A10 Networks, Inc. Perfect forward secrecy distributed denial of service attack defense
US9900343B1 (en) 2015-01-05 2018-02-20 A10 Networks, Inc. Distributed denial of service cellular signaling
CN104580216B (en) * 2015-01-09 2017-10-03 北京京东尚科信息技术有限公司 A kind of system and method limited access request
US9848013B1 (en) 2015-02-05 2017-12-19 A10 Networks, Inc. Perfect forward secrecy distributed denial of service attack detection
US9264370B1 (en) 2015-02-10 2016-02-16 Centripetal Networks, Inc. Correlating packets in communications networks
US10063591B1 (en) 2015-02-14 2018-08-28 A10 Networks, Inc. Implementing and optimizing secure socket layer intercept
US9866576B2 (en) 2015-04-17 2018-01-09 Centripetal Networks, Inc. Rule-based network-threat detection
CN106453215B (en) * 2015-08-13 2019-09-10 阿里巴巴集团控股有限公司 A kind of defence method of network attack, apparatus and system
US10116692B2 (en) * 2015-09-04 2018-10-30 Arbor Networks, Inc. Scalable DDoS protection of SSL-encrypted services
US9787581B2 (en) 2015-09-21 2017-10-10 A10 Networks, Inc. Secure data flow open information analytics
US10469594B2 (en) 2015-12-08 2019-11-05 A10 Networks, Inc. Implementation of secure socket layer intercept
US10505984B2 (en) 2015-12-08 2019-12-10 A10 Networks, Inc. Exchange of control information between secure socket layer gateways
US9917856B2 (en) 2015-12-23 2018-03-13 Centripetal Networks, Inc. Rule-based network-threat detection for encrypted communications
US11729144B2 (en) 2016-01-04 2023-08-15 Centripetal Networks, Llc Efficient packet capture for cyber threat analysis
US10652271B2 (en) * 2016-03-25 2020-05-12 Verisign, Inc. Detecting and remediating highly vulnerable domain names using passive DNS measurements
US10116634B2 (en) 2016-06-28 2018-10-30 A10 Networks, Inc. Intercepting secure session upon receipt of untrusted certificate
CN106209852A (en) * 2016-07-13 2016-12-07 成都知道创宇信息技术有限公司 A kind of DNS refusal service attack defending method based on DPDK
CN107645478B (en) 2016-07-22 2020-12-22 阿里巴巴集团控股有限公司 Network attack defense system, method and device
US10158666B2 (en) 2016-07-26 2018-12-18 A10 Networks, Inc. Mitigating TCP SYN DDoS attacks using TCP reset
CN107819888B (en) * 2016-09-14 2020-03-31 华为技术有限公司 Method, device and network element for distributing relay address
CN106302537B (en) * 2016-10-09 2019-09-10 广东睿江云计算股份有限公司 A kind of cleaning method and system of DDOS attack flow
TWI787168B (en) * 2017-01-19 2022-12-21 香港商阿里巴巴集團服務有限公司 Defense method, device and system for network attack
US10270674B2 (en) 2017-05-19 2019-04-23 Akamai Technologies, Inc. Traceroutes for discovering the network path of inbound packets transmitted from a specified network node
US10673890B2 (en) * 2017-05-30 2020-06-02 Akamai Technologies, Inc. Systems and methods for automatically selecting an access control entity to mitigate attack traffic
US10503899B2 (en) 2017-07-10 2019-12-10 Centripetal Networks, Inc. Cyberanalysis workflow acceleration
US10284526B2 (en) 2017-07-24 2019-05-07 Centripetal Networks, Inc. Efficient SSL/TLS proxy
US11233777B2 (en) 2017-07-24 2022-01-25 Centripetal Networks, Inc. Efficient SSL/TLS proxy
US9923757B1 (en) 2017-10-03 2018-03-20 Akamai Technologies, Inc. Reducing data sets related to network security events
EP3588897B1 (en) * 2018-06-30 2020-04-22 Ovh Method and system for defending an infrastructure against a distributed denial of service attack
US10333898B1 (en) 2018-07-09 2019-06-25 Centripetal Networks, Inc. Methods and systems for efficient network protection
US11245667B2 (en) 2018-10-23 2022-02-08 Akamai Technologies, Inc. Network security system with enhanced traffic analysis based on feedback loop and low-risk domain identification
US11019034B2 (en) 2018-11-16 2021-05-25 Akamai Technologies, Inc. Systems and methods for proxying encrypted traffic to protect origin servers from internet threats
CN109729098A (en) * 2019-03-01 2019-05-07 国网新疆电力有限公司信息通信公司 Automatically the method for malice port scan is blocked in dns server
US10897411B1 (en) * 2019-04-05 2021-01-19 Rockwell Collins, Inc. Passive packet cross check for multi-node systems
US11461213B2 (en) * 2019-10-31 2022-10-04 Microsoft Technology Licensing, Llc Mitigating slow instances in large-scale streaming pipelines
US11019022B1 (en) * 2020-01-28 2021-05-25 F5 Networks, Inc. Processing packets with returnable values
US11362996B2 (en) 2020-10-27 2022-06-14 Centripetal Networks, Inc. Methods and systems for efficient adaptive logging of cyber threat incidents
US11159546B1 (en) 2021-04-20 2021-10-26 Centripetal Networks, Inc. Methods and systems for efficient threat context-aware packet filtering for network protection
US11736510B2 (en) * 2021-07-27 2023-08-22 Disney Enterprises, Inc. Domain security assurance automation

Citations (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311278B1 (en) * 1998-09-09 2001-10-30 Sanctum Ltd. Method and system for extracting application protocol characteristics
US6321337B1 (en) * 1997-09-09 2001-11-20 Sanctum Ltd. Method and system for protecting operations of trusted internal networks
US20020032871A1 (en) * 2000-09-08 2002-03-14 The Regents Of The University Of Michigan Method and system for detecting, tracking and blocking denial of service attacks over a computer network
US20020083175A1 (en) * 2000-10-17 2002-06-27 Wanwall, Inc. (A Delaware Corporation) Methods and apparatus for protecting against overload conditions on nodes of a distributed network
US20020103916A1 (en) * 2000-09-07 2002-08-01 Benjie Chen Thwarting connection-based denial of service attacks
US20020101819A1 (en) * 2001-01-31 2002-08-01 Goldstone Jonathan S. Prevention of bandwidth congestion in a denial of service or other internet-based attack
US20020161884A1 (en) * 1998-10-30 2002-10-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
US20020184362A1 (en) * 2001-05-31 2002-12-05 International Business Machines Corporation System and method for extending server security through monitored load management
US20020199109A1 (en) * 2001-06-25 2002-12-26 Boom Douglas D. System, method and computer program for the detection and restriction of the network activity of denial of service attack software
US20030014665A1 (en) * 2001-07-03 2003-01-16 Anderson Todd A. Apparatus and method for secure, automated response to distributed denial of service attacks
US20030023733A1 (en) * 2001-07-26 2003-01-30 International Business Machines Corporation Apparatus and method for using a network processor to guard against a "denial-of-service" attack on a server or server cluster
US20030061514A1 (en) * 2001-09-27 2003-03-27 International Business Machines Corporation Limiting the output of alerts generated by an intrusion detection sensor during a denial of service attack
US20030086415A1 (en) * 2001-10-02 2003-05-08 Bernhard Urs Peter Method for filtering redundant data packets
US6584569B2 (en) * 2000-03-03 2003-06-24 Sanctum Ltd. System for determining web application vulnerabilities
US20030145226A1 (en) * 2002-01-28 2003-07-31 International Business Machines Corporation Integrated intrusion detection services
US20030145232A1 (en) * 2002-01-31 2003-07-31 Poletto Massimiliano Antonio Denial of service attacks characterization
US20030145233A1 (en) * 2002-01-31 2003-07-31 Poletto Massimiliano Antonio Architecture to thwart denial of service attacks
US20030172289A1 (en) * 2000-06-30 2003-09-11 Andrea Soppera Packet data communications
US20030226032A1 (en) * 2002-05-31 2003-12-04 Jean-Marc Robert Secret hashing for TCP SYN/FIN correspondence
US20030236999A1 (en) * 2002-06-19 2003-12-25 Brustoloni Jose?Apos; C. Method and apparatus for incrementally deploying ingress filtering on the internet
US20040008681A1 (en) * 2002-07-15 2004-01-15 Priya Govindarajan Prevention of denial of service attacks
US6687251B1 (en) * 1999-12-08 2004-02-03 Nortel Networks Limited Method and apparatus for distributed MTP Level 2 architecture
US20040054925A1 (en) * 2002-09-13 2004-03-18 Cyber Operations, Llc System and method for detecting and countering a network attack
US20040186904A1 (en) * 2003-03-20 2004-09-23 Oliveira Marcelo Gomes Method and system for balancing the load on media processors based upon CPU utilization information
US20040250124A1 (en) * 2003-05-19 2004-12-09 Vsecure Technologies (Us) Inc. Dynamic network protection
US20050018618A1 (en) * 2003-07-25 2005-01-27 Mualem Hezi I. System and method for threat detection and response
US6882624B1 (en) * 1998-04-09 2005-04-19 Nokia Networks Oy Congestion and overload control in a packet switched network
US20050160293A1 (en) * 2004-01-16 2005-07-21 Anantha Ramaiah Preventing network data injection attacks using duplicate-ACK and reassembly gap approaches
US20060036727A1 (en) * 2004-08-13 2006-02-16 Sipera Systems, Inc. System and method for detecting and preventing denial of service attacks in a communications system
US7020783B2 (en) * 2000-04-17 2006-03-28 Circadence Corporation Method and system for overcoming denial of service attacks
US7123608B1 (en) * 1999-09-10 2006-10-17 Array Telecom Corporation Method, system, and computer program product for managing database servers and service
US7457279B1 (en) * 1999-09-10 2008-11-25 Vertical Communications Acquisition Corp. Method, system, and computer program product for managing routing servers and services
US7529187B1 (en) * 2004-05-04 2009-05-05 Symantec Corporation Detecting network evasion and misinformation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067545A (en) * 1997-08-01 2000-05-23 Hewlett-Packard Company Resource rebalancing in networked computer systems
US20050058149A1 (en) * 1998-08-19 2005-03-17 Howe Wayne Richard Time-scheduled and time-reservation packet switching
CN1498368A (en) 2001-03-20 2004-05-19 ���˹���Ѷ��� System, method and apparatus that employ virtual private networks to resist IPQoS denial of service attacks
US7207062B2 (en) * 2001-08-16 2007-04-17 Lucent Technologies Inc Method and apparatus for protecting web sites from distributed denial-of-service attacks
US7092357B1 (en) * 2001-11-13 2006-08-15 Verizon Services Corp. Anti-flooding flow-control methods and apparatus
US6633835B1 (en) * 2002-01-10 2003-10-14 Networks Associates Technology, Inc. Prioritized data capture, classification and filtering in a network monitoring environment
US7372809B2 (en) * 2004-05-18 2008-05-13 Time Warner Cable, Inc. Thwarting denial of service attacks originating in a DOCSIS-compliant cable network

Patent Citations (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6321337B1 (en) * 1997-09-09 2001-11-20 Sanctum Ltd. Method and system for protecting operations of trusted internal networks
US6882624B1 (en) * 1998-04-09 2005-04-19 Nokia Networks Oy Congestion and overload control in a packet switched network
US6311278B1 (en) * 1998-09-09 2001-10-30 Sanctum Ltd. Method and system for extracting application protocol characteristics
US20020161884A1 (en) * 1998-10-30 2002-10-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
US7123608B1 (en) * 1999-09-10 2006-10-17 Array Telecom Corporation Method, system, and computer program product for managing database servers and service
US7457279B1 (en) * 1999-09-10 2008-11-25 Vertical Communications Acquisition Corp. Method, system, and computer program product for managing routing servers and services
US6687251B1 (en) * 1999-12-08 2004-02-03 Nortel Networks Limited Method and apparatus for distributed MTP Level 2 architecture
US6584569B2 (en) * 2000-03-03 2003-06-24 Sanctum Ltd. System for determining web application vulnerabilities
US7020783B2 (en) * 2000-04-17 2006-03-28 Circadence Corporation Method and system for overcoming denial of service attacks
US20030172289A1 (en) * 2000-06-30 2003-09-11 Andrea Soppera Packet data communications
US20020103916A1 (en) * 2000-09-07 2002-08-01 Benjie Chen Thwarting connection-based denial of service attacks
US20020032871A1 (en) * 2000-09-08 2002-03-14 The Regents Of The University Of Michigan Method and system for detecting, tracking and blocking denial of service attacks over a computer network
US20020083175A1 (en) * 2000-10-17 2002-06-27 Wanwall, Inc. (A Delaware Corporation) Methods and apparatus for protecting against overload conditions on nodes of a distributed network
US20020101819A1 (en) * 2001-01-31 2002-08-01 Goldstone Jonathan S. Prevention of bandwidth congestion in a denial of service or other internet-based attack
US20020184362A1 (en) * 2001-05-31 2002-12-05 International Business Machines Corporation System and method for extending server security through monitored load management
US20020199109A1 (en) * 2001-06-25 2002-12-26 Boom Douglas D. System, method and computer program for the detection and restriction of the network activity of denial of service attack software
US20030014665A1 (en) * 2001-07-03 2003-01-16 Anderson Todd A. Apparatus and method for secure, automated response to distributed denial of service attacks
US20030023733A1 (en) * 2001-07-26 2003-01-30 International Business Machines Corporation Apparatus and method for using a network processor to guard against a "denial-of-service" attack on a server or server cluster
US20030061514A1 (en) * 2001-09-27 2003-03-27 International Business Machines Corporation Limiting the output of alerts generated by an intrusion detection sensor during a denial of service attack
US20030086415A1 (en) * 2001-10-02 2003-05-08 Bernhard Urs Peter Method for filtering redundant data packets
US20030145226A1 (en) * 2002-01-28 2003-07-31 International Business Machines Corporation Integrated intrusion detection services
US20030145233A1 (en) * 2002-01-31 2003-07-31 Poletto Massimiliano Antonio Architecture to thwart denial of service attacks
US20030145232A1 (en) * 2002-01-31 2003-07-31 Poletto Massimiliano Antonio Denial of service attacks characterization
US20030226032A1 (en) * 2002-05-31 2003-12-04 Jean-Marc Robert Secret hashing for TCP SYN/FIN correspondence
US20030236999A1 (en) * 2002-06-19 2003-12-25 Brustoloni Jose?Apos; C. Method and apparatus for incrementally deploying ingress filtering on the internet
US20040008681A1 (en) * 2002-07-15 2004-01-15 Priya Govindarajan Prevention of denial of service attacks
US20040054925A1 (en) * 2002-09-13 2004-03-18 Cyber Operations, Llc System and method for detecting and countering a network attack
US20040186904A1 (en) * 2003-03-20 2004-09-23 Oliveira Marcelo Gomes Method and system for balancing the load on media processors based upon CPU utilization information
US20040250124A1 (en) * 2003-05-19 2004-12-09 Vsecure Technologies (Us) Inc. Dynamic network protection
US20050018618A1 (en) * 2003-07-25 2005-01-27 Mualem Hezi I. System and method for threat detection and response
US20050160293A1 (en) * 2004-01-16 2005-07-21 Anantha Ramaiah Preventing network data injection attacks using duplicate-ACK and reassembly gap approaches
US7529187B1 (en) * 2004-05-04 2009-05-05 Symantec Corporation Detecting network evasion and misinformation
US20060036727A1 (en) * 2004-08-13 2006-02-16 Sipera Systems, Inc. System and method for detecting and preventing denial of service attacks in a communications system

Cited By (372)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7886348B2 (en) 2003-10-03 2011-02-08 Verizon Services Corp. Security management system for monitoring firewall operation
US20070291650A1 (en) * 2003-10-03 2007-12-20 Ormazabal Gaston S Methodology for measurements and analysis of protocol conformance, performance and scalability of stateful border gateways
US8509095B2 (en) 2003-10-03 2013-08-13 Verizon Services Corp. Methodology for measurements and analysis of protocol conformance, performance and scalability of stateful border gateways
US8046828B2 (en) 2003-10-03 2011-10-25 Verizon Services Corp. Security management system for monitoring firewall operation
US20090083845A1 (en) * 2003-10-03 2009-03-26 Verizon Services Corp. Network firewall test methods and apparatus
US8001589B2 (en) 2003-10-03 2011-08-16 Verizon Services Corp. Network firewall test methods and apparatus
US20090205039A1 (en) * 2003-10-03 2009-08-13 Verizon Services Corp. Security management system for monitoring firewall operation
US8925063B2 (en) 2003-10-03 2014-12-30 Verizon Patent And Licensing Inc. Security management system for monitoring firewall operation
US8015602B2 (en) 2003-10-03 2011-09-06 Verizon Services Corp. Methodology, measurements and analysis of performance and scalability of stateful border gateways
US7886350B2 (en) 2003-10-03 2011-02-08 Verizon Services Corp. Methodology for measurements and analysis of protocol conformance, performance and scalability of stateful border gateways
US7853996B1 (en) 2003-10-03 2010-12-14 Verizon Services Corp. Methodology, measurements and analysis of performance and scalability of stateful border gateways
US20050076238A1 (en) * 2003-10-03 2005-04-07 Ormazabal Gaston S. Security management system for monitoring firewall operation
US20100058457A1 (en) * 2003-10-03 2010-03-04 Verizon Services Corp. Methodology, Measurements and Analysis of Performance and Scalability of Stateful Border Gateways
US20050185668A1 (en) * 2004-02-21 2005-08-25 Williamson Matthew M. Network connection control
US7558216B2 (en) * 2004-02-21 2009-07-07 Hewlett-Packard Development Company, L.P. Network connection control
US10116691B2 (en) 2004-11-23 2018-10-30 Kodiak Networks, Inc. VoIP denial-of-service protection mechanisms from attack
US9306969B2 (en) 2005-10-27 2016-04-05 Georgia Tech Research Corporation Method and systems for detecting compromised networks and/or computers
US8566928B2 (en) 2005-10-27 2013-10-22 Georgia Tech Research Corporation Method and system for detecting and responding to attacking networks
US10044748B2 (en) 2005-10-27 2018-08-07 Georgia Tech Research Corporation Methods and systems for detecting compromised computers
US20080028463A1 (en) * 2005-10-27 2008-01-31 Damballa, Inc. Method and system for detecting and responding to attacking networks
US9374342B2 (en) 2005-11-08 2016-06-21 Verizon Patent And Licensing Inc. System and method for testing network firewall using fine granularity measurements
US8027251B2 (en) 2005-11-08 2011-09-27 Verizon Services Corp. Systems and methods for implementing protocol-aware network firewall
US20070147380A1 (en) * 2005-11-08 2007-06-28 Ormazabal Gaston S Systems and methods for implementing protocol-aware network firewall
US9077685B2 (en) 2005-11-08 2015-07-07 Verizon Patent And Licensing Inc. Systems and methods for implementing a protocol-aware network firewall
US20070133539A1 (en) * 2005-12-08 2007-06-14 Electronics And Telecommunications Research Institute Routing apparatus for supporting IPv6 anycast service and method thereof
US20070140121A1 (en) * 2005-12-21 2007-06-21 Chris Bowman Method of preventing denial of service attacks in a network
US7965771B2 (en) 2006-02-27 2011-06-21 Cisco Technology, Inc. Method and apparatus for immediate display of multicast IPTV over a bandwidth constrained network
US8462847B2 (en) 2006-02-27 2013-06-11 Cisco Technology, Inc. Method and apparatus for immediate display of multicast IPTV over a bandwidth constrained network
US8218654B2 (en) 2006-03-08 2012-07-10 Cisco Technology, Inc. Method for reducing channel change startup delays for multicast digital video streams
US20070214490A1 (en) * 2006-03-08 2007-09-13 Cheng Gary F Method for reducing channel change startup delays for multicast digital video streams
US20090210515A1 (en) * 2006-05-15 2009-08-20 Takeshi Fujita Method for acquiring long data by get method
US8316103B2 (en) * 2006-05-15 2012-11-20 Sony Corporation Method for acquiring long data by GET method
US8031701B2 (en) 2006-09-11 2011-10-04 Cisco Technology, Inc. Retransmission-based stream repair and stream join
US8588077B2 (en) 2006-09-11 2013-11-19 Cisco Technology, Inc. Retransmission-based stream repair and stream join
US20110161765A1 (en) * 2006-09-11 2011-06-30 Cisco Technology, Inc. Retransmission-based stream repair and stream join
US9083585B2 (en) 2006-09-11 2015-07-14 Cisco Technology, Inc. Retransmission-based stream repair and stream join
US20080095144A1 (en) * 2006-10-23 2008-04-24 Net2Phone, Inc. Providing service availability despite bandwidth limitations
US8966619B2 (en) 2006-11-08 2015-02-24 Verizon Patent And Licensing Inc. Prevention of denial of service (DoS) attacks on session initiation protocol (SIP)-based systems using return routability check filtering
US9473529B2 (en) 2006-11-08 2016-10-18 Verizon Patent And Licensing Inc. Prevention of denial of service (DoS) attacks on session initiation protocol (SIP)-based systems using method vulnerability filtering
US20080222724A1 (en) * 2006-11-08 2008-09-11 Ormazabal Gaston S PREVENTION OF DENIAL OF SERVICE (DoS) ATTACKS ON SESSION INITIATION PROTOCOL (SIP)-BASED SYSTEMS USING RETURN ROUTABILITY CHECK FILTERING
US7937531B2 (en) 2007-02-01 2011-05-03 Cisco Technology, Inc. Regularly occurring write back scheme for cache soft error reduction
US20080189489A1 (en) * 2007-02-01 2008-08-07 Cisco Technology, Inc. Regularly occurring write back scheme for cache soft error reduction
US7814224B2 (en) * 2007-02-09 2010-10-12 Hitachi Industrial Equipment Systems Co. Information processor deactivates communication processing function without passing interrupt request for processing when detecting traffic inbound is in over-traffic state
US20080195732A1 (en) * 2007-02-09 2008-08-14 Tatsuya Maruyama Information processor and information processing system
US8769591B2 (en) 2007-02-12 2014-07-01 Cisco Technology, Inc. Fast channel change on a bandwidth constrained network
US20080192839A1 (en) * 2007-02-12 2008-08-14 Cisco Technology, Inc. Fast channel change on a bandwidth constrained network
US20080209564A1 (en) * 2007-02-28 2008-08-28 Ruth Schaefer Gayde Security protection for a customer programmable platform
US8689334B2 (en) * 2007-02-28 2014-04-01 Alcatel Lucent Security protection for a customer programmable platform
US7940644B2 (en) * 2007-03-14 2011-05-10 Cisco Technology, Inc. Unified transmission scheme for media stream redundancy
US20080225850A1 (en) * 2007-03-14 2008-09-18 Cisco Technology, Inc. Unified transmission scheme for media stream redundancy
US9083712B2 (en) * 2007-04-04 2015-07-14 Sri International Method and apparatus for generating highly predictive blacklists
US20090064332A1 (en) * 2007-04-04 2009-03-05 Phillip Andrew Porras Method and apparatus for generating highly predictive blacklists
US8711854B2 (en) 2007-04-16 2014-04-29 Cisco Technology, Inc. Monitoring and correcting upstream packet loss
US20080253369A1 (en) * 2007-04-16 2008-10-16 Cisco Technology, Inc. Monitoring and correcting upstream packet loss
US20080285468A1 (en) * 2007-05-15 2008-11-20 Korea University Industry And Academy Collaboration Foundation Method and computer-readable medium for detecting abnormal packet in VoIP
US9992303B2 (en) 2007-06-29 2018-06-05 Amazon Technologies, Inc. Request routing utilizing client location information
US8635693B2 (en) * 2007-06-29 2014-01-21 Verizon Patent And Licensing Inc. System and method for testing network firewall for denial-of-service (DoS) detection and prevention in signaling channel
US9021127B2 (en) 2007-06-29 2015-04-28 Amazon Technologies, Inc. Updating routing information based on client location
US9021129B2 (en) 2007-06-29 2015-04-28 Amazon Technologies, Inc. Request routing utilizing client location information
US10027582B2 (en) 2007-06-29 2018-07-17 Amazon Technologies, Inc. Updating routing information based on client location
US20120137357A1 (en) * 2007-06-29 2012-05-31 Verizon Patent And Licensing, Inc. System and method for testing network firewall for denial-of-service (dos) detection and prevention in signaling channel
US20090007220A1 (en) * 2007-06-29 2009-01-01 Verizon Services Corp. Theft of service architectural integrity validation tools for session initiation protocol (sip)-based systems
US20090006841A1 (en) * 2007-06-29 2009-01-01 Verizon Services Corp. System and method for testing network firewall for denial-of-service (dos) detection and prevention in signaling channel
US8522344B2 (en) 2007-06-29 2013-08-27 Verizon Patent And Licensing Inc. Theft of service architectural integrity validation tools for session initiation protocol (SIP)-based systems
US8302186B2 (en) * 2007-06-29 2012-10-30 Verizon Patent And Licensing Inc. System and method for testing network firewall for denial-of-service (DOS) detection and prevention in signaling channel
US20090185503A1 (en) * 2008-01-18 2009-07-23 Oki Electric Industry Co., Ltd. Network traffic analyzing device, network traffic analyzing method and network traffic analyzing system
US20090201805A1 (en) * 2008-02-10 2009-08-13 Cisco Technology Inc. Forward error correction based data recovery with path diversity
US8787153B2 (en) 2008-02-10 2014-07-22 Cisco Technology, Inc. Forward error correction based data recovery with path diversity
US20090238088A1 (en) * 2008-03-19 2009-09-24 Oki Electric Industry Co., Ltd. Network traffic analyzing device, network traffic analyzing method and network traffic analyzing system
US11194719B2 (en) 2008-03-31 2021-12-07 Amazon Technologies, Inc. Cache optimization
US8756325B2 (en) 2008-03-31 2014-06-17 Amazon Technologies, Inc. Content management
US8930544B2 (en) 2008-03-31 2015-01-06 Amazon Technologies, Inc. Network resource identification
US8346937B2 (en) 2008-03-31 2013-01-01 Amazon Technologies, Inc. Content management
US8352614B2 (en) 2008-03-31 2013-01-08 Amazon Technologies, Inc. Content management
US8352613B2 (en) 2008-03-31 2013-01-08 Amazon Technologies, Inc. Content management
US8352615B2 (en) 2008-03-31 2013-01-08 Amazon Technologies, Inc. Content management
US8386596B2 (en) 2008-03-31 2013-02-26 Amazon Technologies, Inc. Request routing based on class
US9887915B2 (en) 2008-03-31 2018-02-06 Amazon Technologies, Inc. Request routing based on class
US8402137B2 (en) 2008-03-31 2013-03-19 Amazon Technologies, Inc. Content management
US9888089B2 (en) 2008-03-31 2018-02-06 Amazon Technologies, Inc. Client side cache management
US9621660B2 (en) 2008-03-31 2017-04-11 Amazon Technologies, Inc. Locality based content distribution
US8438263B2 (en) 2008-03-31 2013-05-07 Amazon Technologies, Inc. Locality based content distribution
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US10530874B2 (en) 2008-03-31 2020-01-07 Amazon Technologies, Inc. Locality based content distribution
US10511567B2 (en) 2008-03-31 2019-12-17 Amazon Technologies, Inc. Network resource identification
US9571389B2 (en) 2008-03-31 2017-02-14 Amazon Technologies, Inc. Request routing based on class
US9544394B2 (en) 2008-03-31 2017-01-10 Amazon Technologies, Inc. Network resource identification
US9894168B2 (en) 2008-03-31 2018-02-13 Amazon Technologies, Inc. Locality based content distribution
US11451472B2 (en) 2008-03-31 2022-09-20 Amazon Technologies, Inc. Request routing based on class
US10645149B2 (en) 2008-03-31 2020-05-05 Amazon Technologies, Inc. Content delivery reconciliation
US9479476B2 (en) 2008-03-31 2016-10-25 Amazon Technologies, Inc. Processing of DNS queries
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US20090248858A1 (en) * 2008-03-31 2009-10-01 Swaminathan Sivasubramanian Content management
US9407699B2 (en) 2008-03-31 2016-08-02 Amazon Technologies, Inc. Content management
US9954934B2 (en) 2008-03-31 2018-04-24 Amazon Technologies, Inc. Content delivery reconciliation
US9009286B2 (en) 2008-03-31 2015-04-14 Amazon Technologies, Inc. Locality based content distribution
US10771552B2 (en) 2008-03-31 2020-09-08 Amazon Technologies, Inc. Content management
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US20110072110A1 (en) * 2008-03-31 2011-03-24 Swaminathan Sivasubramanian Content management
US9026616B2 (en) 2008-03-31 2015-05-05 Amazon Technologies, Inc. Content delivery reconciliation
US10554748B2 (en) 2008-03-31 2020-02-04 Amazon Technologies, Inc. Content management
US9332078B2 (en) 2008-03-31 2016-05-03 Amazon Technologies, Inc. Locality based content distribution
US11245770B2 (en) 2008-03-31 2022-02-08 Amazon Technologies, Inc. Locality based content distribution
US10305797B2 (en) 2008-03-31 2019-05-28 Amazon Technologies, Inc. Request routing based on class
US10797995B2 (en) 2008-03-31 2020-10-06 Amazon Technologies, Inc. Request routing based on class
US8275874B2 (en) 2008-03-31 2012-09-25 Amazon Technologies, Inc. Locality based content distribution
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8713156B2 (en) 2008-03-31 2014-04-29 Amazon Technologies, Inc. Request routing based on class
US10157135B2 (en) 2008-03-31 2018-12-18 Amazon Technologies, Inc. Cache optimization
US9210235B2 (en) 2008-03-31 2015-12-08 Amazon Technologies, Inc. Client side cache management
US8639817B2 (en) 2008-03-31 2014-01-28 Amazon Technologies, Inc. Content management
US9208097B2 (en) 2008-03-31 2015-12-08 Amazon Technologies, Inc. Cache optimization
US10158729B2 (en) 2008-03-31 2018-12-18 Amazon Technologies, Inc. Locality based content distribution
US11909639B2 (en) 2008-03-31 2024-02-20 Amazon Technologies, Inc. Request routing based on class
US20110035801A1 (en) * 2008-05-23 2011-02-10 Hongxing Li Method, network device, and network system for defending distributed denial of service attack
WO2009140878A1 (en) * 2008-05-23 2009-11-26 成都市华为赛门铁克科技有限公司 Method, network apparatus and network system for defending distributed denial of service ddos attack
US9608957B2 (en) 2008-06-30 2017-03-28 Amazon Technologies, Inc. Request routing using network computing components
US8458250B2 (en) 2008-06-30 2013-06-04 Amazon Technologies, Inc. Request routing using network computing components
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US9021128B2 (en) 2008-06-30 2015-04-28 Amazon Technologies, Inc. Request routing using network computing components
US9699143B2 (en) * 2008-08-07 2017-07-04 At&T Intellectual Property I, L.P. Method and apparatus for providing security in an intranet network
US20150264013A1 (en) * 2008-08-07 2015-09-17 At&T Intellectual Property I, L.P. Method and apparatus for providing security in an intranet network
US20100037314A1 (en) * 2008-08-11 2010-02-11 Perdisci Roberto Method and system for detecting malicious and/or botnet-related domain names
US10027688B2 (en) 2008-08-11 2018-07-17 Damballa, Inc. Method and system for detecting malicious and/or botnet-related domain names
EP2342649A4 (en) * 2008-09-11 2014-07-16 Alibaba Group Holding Ltd Request processing in a distributed environment
EP2342649A1 (en) * 2008-09-11 2011-07-13 Alibaba Group Holding Limited Request processing in a distributed environment
US8769682B2 (en) * 2008-09-18 2014-07-01 Alcatel Lucent Mechanism for identifying malicious content, DoS attacks, and illegal IPTV services
US20100071062A1 (en) * 2008-09-18 2010-03-18 Alcatel Lucent MECHANISM FOR IDENTIFYING MALICIOUS CONTENT, DoS ATTACKS, AND ILLEGAL IPTV SERVICES
US8549531B2 (en) 2008-09-29 2013-10-01 Amazon Technologies, Inc. Optimizing resource configurations
US8762526B2 (en) 2008-09-29 2014-06-24 Amazon Technologies, Inc. Optimizing content management
US9088460B2 (en) 2008-09-29 2015-07-21 Amazon Technologies, Inc. Managing resource consolidation configurations
US8843625B2 (en) 2008-09-29 2014-09-23 Amazon Technologies, Inc. Managing network data display
US10462025B2 (en) 2008-09-29 2019-10-29 Amazon Technologies, Inc. Monitoring performance and operation of data exchanges
US9210099B2 (en) 2008-09-29 2015-12-08 Amazon Technologies, Inc. Optimizing resource configurations
US9160641B2 (en) 2008-09-29 2015-10-13 Amazon Technologies, Inc. Monitoring domain allocation performance
US8085681B2 (en) * 2008-10-21 2011-12-27 At&T Intellectual Property I, Lp Centralized analysis and management of network packets
US20100097945A1 (en) * 2008-10-21 2010-04-22 Michael Raftelis Centralized Analysis and Management of Network Packets
US7869364B2 (en) 2008-10-27 2011-01-11 Broadsoft, Inc. SIP server overload detection and control
US8539576B2 (en) 2008-11-12 2013-09-17 At&T Intellectual Property Ii, L.P. System and method for filtering unwanted internet protocol traffic based on blacklists
US20100122335A1 (en) * 2008-11-12 2010-05-13 At&T Corp. System and Method for Filtering Unwanted Internet Protocol Traffic Based on Blacklists
US10523783B2 (en) 2008-11-17 2019-12-31 Amazon Technologies, Inc. Request routing utilizing client location information
US11115500B2 (en) 2008-11-17 2021-09-07 Amazon Technologies, Inc. Request routing utilizing client location information
US9787599B2 (en) 2008-11-17 2017-10-10 Amazon Technologies, Inc. Managing content delivery network service providers
US8423667B2 (en) 2008-11-17 2013-04-16 Amazon Technologies, Inc. Updating routing information based on client location
US11811657B2 (en) 2008-11-17 2023-11-07 Amazon Technologies, Inc. Updating routing information based on client location
US9590946B2 (en) 2008-11-17 2017-03-07 Amazon Technologies, Inc. Managing content delivery network service providers
US8458360B2 (en) 2008-11-17 2013-06-04 Amazon Technologies, Inc. Request routing utilizing client location information
US8321588B2 (en) 2008-11-17 2012-11-27 Amazon Technologies, Inc. Request routing utilizing client location information
US9515949B2 (en) 2008-11-17 2016-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US10742550B2 (en) 2008-11-17 2020-08-11 Amazon Technologies, Inc. Updating routing information based on client location
US11283715B2 (en) 2008-11-17 2022-03-22 Amazon Technologies, Inc. Updating routing information based on client location
US8495220B2 (en) 2008-11-17 2013-07-23 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8510448B2 (en) 2008-11-17 2013-08-13 Amazon Technologies, Inc. Service provider registration by a content broker
US9451046B2 (en) 2008-11-17 2016-09-20 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US9444759B2 (en) 2008-11-17 2016-09-13 Amazon Technologies, Inc. Service provider registration by a content broker
US8301748B2 (en) 2008-11-17 2012-10-30 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US9985927B2 (en) 2008-11-17 2018-05-29 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8788671B2 (en) 2008-11-17 2014-07-22 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8301778B2 (en) 2008-11-17 2012-10-30 Amazon Technologies, Inc. Service provider registration by a content broker
US8583776B2 (en) 2008-11-17 2013-11-12 Amazon Technologies, Inc. Managing content delivery network service providers
US20100125658A1 (en) * 2008-11-17 2010-05-20 At&T Intellectual Property I, L.P. Method and system for multimedia content consumption analysis
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US10116584B2 (en) 2008-11-17 2018-10-30 Amazon Technologies, Inc. Managing content delivery network service providers
US9251112B2 (en) 2008-11-17 2016-02-02 Amazon Technologies, Inc. Managing content delivery network service providers
US9734472B2 (en) 2008-11-17 2017-08-15 Amazon Technologies, Inc. Request routing utilizing cost information
US8667127B2 (en) 2009-03-24 2014-03-04 Amazon Technologies, Inc. Monitoring web site content
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8996664B2 (en) 2009-03-27 2015-03-31 Amazon Technologies, Inc. Translation of resource identifiers using popularity information upon client request
US10230819B2 (en) 2009-03-27 2019-03-12 Amazon Technologies, Inc. Translation of resource identifiers using popularity information upon client request
US10491534B2 (en) 2009-03-27 2019-11-26 Amazon Technologies, Inc. Managing resources and entries in tracking information in resource cache components
US8521885B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US9191458B2 (en) 2009-03-27 2015-11-17 Amazon Technologies, Inc. Request routing using a popularity identifier at a DNS nameserver
US10601767B2 (en) 2009-03-27 2020-03-24 Amazon Technologies, Inc. DNS query processing based on application information
US8463877B1 (en) 2009-03-27 2013-06-11 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularitiy information
US9083675B2 (en) 2009-03-27 2015-07-14 Amazon Technologies, Inc. Translation of resource identifiers using popularity information upon client request
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US9237114B2 (en) 2009-03-27 2016-01-12 Amazon Technologies, Inc. Managing resources in resource cache components
US10574787B2 (en) 2009-03-27 2020-02-25 Amazon Technologies, Inc. Translation of resource identifiers using popularity information upon client request
US10264062B2 (en) 2009-03-27 2019-04-16 Amazon Technologies, Inc. Request routing using a popularity identifier to identify a cache component
US8228901B2 (en) * 2009-04-14 2012-07-24 Global Convergence Solutions System and method for dynamic call routing
US20100260170A1 (en) * 2009-04-14 2010-10-14 Global Convergence Solutions System and method for dynamic call routing
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US10521348B2 (en) 2009-06-16 2019-12-31 Amazon Technologies, Inc. Managing resources using resource expiration data
US10783077B2 (en) 2009-06-16 2020-09-22 Amazon Technologies, Inc. Managing resources using resource expiration data
US8543702B1 (en) 2009-06-16 2013-09-24 Amazon Technologies, Inc. Managing resources using resource expiration data
US9176894B2 (en) 2009-06-16 2015-11-03 Amazon Technologies, Inc. Managing resources using resource expiration data
WO2011020380A1 (en) * 2009-08-16 2011-02-24 中兴通讯股份有限公司 Streaming media server system and related implementation method, device, and iptv system
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US10135620B2 (en) 2009-09-04 2018-11-20 Amazon Technologis, Inc. Managing secure content in a content delivery network
US10785037B2 (en) 2009-09-04 2020-09-22 Amazon Technologies, Inc. Managing secure content in a content delivery network
US9712325B2 (en) 2009-09-04 2017-07-18 Amazon Technologies, Inc. Managing secure content in a content delivery network
US9130756B2 (en) 2009-09-04 2015-09-08 Amazon Technologies, Inc. Managing secure content in a content delivery network
US9246776B2 (en) 2009-10-02 2016-01-26 Amazon Technologies, Inc. Forward-based resource delivery network management techniques
US9893957B2 (en) 2009-10-02 2018-02-13 Amazon Technologies, Inc. Forward-based resource delivery network management techniques
US10218584B2 (en) 2009-10-02 2019-02-26 Amazon Technologies, Inc. Forward-based resource delivery network management techniques
US10243925B2 (en) 2009-12-12 2019-03-26 Akamai Technologies, Inc. Cloud based firewell system and service
US8331371B2 (en) 2009-12-17 2012-12-11 Amazon Technologies, Inc. Distributed routing architecture
US8902897B2 (en) 2009-12-17 2014-12-02 Amazon Technologies, Inc. Distributed routing architecture
US8331370B2 (en) 2009-12-17 2012-12-11 Amazon Technologies, Inc. Distributed routing architecture
US8971328B2 (en) 2009-12-17 2015-03-03 Amazon Technologies, Inc. Distributed routing architecture
US10257212B2 (en) 2010-01-06 2019-04-09 Help/Systems, Llc Method and system for detecting malware
US20110167495A1 (en) * 2010-01-06 2011-07-07 Antonakakis Emmanouil Method and system for detecting malware
US9525699B2 (en) 2010-01-06 2016-12-20 Damballa, Inc. Method and system for detecting malware
US8578497B2 (en) 2010-01-06 2013-11-05 Damballa, Inc. Method and system for detecting malware
US9948671B2 (en) 2010-01-19 2018-04-17 Damballa, Inc. Method and system for network-based detecting of malware from behavioral clustering
US8826438B2 (en) 2010-01-19 2014-09-02 Damballa, Inc. Method and system for network-based detecting of malware from behavioral clustering
US11205037B2 (en) 2010-01-28 2021-12-21 Amazon Technologies, Inc. Content distribution network
US10506029B2 (en) 2010-01-28 2019-12-10 Amazon Technologies, Inc. Content distribution network
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US20110231057A1 (en) * 2010-03-19 2011-09-22 Javad Gnss, Inc. Method for generating offset paths for ground vehicles
US8707339B2 (en) * 2010-07-30 2014-04-22 CSC Holdings, LLC System and method for detecting hacked modems
US20120030724A1 (en) * 2010-07-30 2012-02-02 Joe Godas System and method for detecting hacked modems
CN101924764A (en) * 2010-08-09 2010-12-22 中国电信股份有限公司 Large-scale DDoS (Distributed Denial of Service) attack defense system and method based on two-level linkage mechanism
US9516058B2 (en) 2010-08-10 2016-12-06 Damballa, Inc. Method and system for determining whether domain names are legitimate or malicious
US10225322B2 (en) 2010-09-28 2019-03-05 Amazon Technologies, Inc. Point of presence management in request routing
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US10778554B2 (en) 2010-09-28 2020-09-15 Amazon Technologies, Inc. Latency measurement in resource requests
US20160028644A1 (en) * 2010-09-28 2016-01-28 Amazon Technologies, Inc. Request routing in a networked environment
US9787775B1 (en) 2010-09-28 2017-10-10 Amazon Technologies, Inc. Point of presence management in request routing
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US9794216B2 (en) * 2010-09-28 2017-10-17 Amazon Technologies, Inc. Request routing in a networked environment
US9800539B2 (en) 2010-09-28 2017-10-24 Amazon Technologies, Inc. Request routing management based on network components
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US9191338B2 (en) 2010-09-28 2015-11-17 Amazon Technologies, Inc. Request routing in a networked environment
US10931738B2 (en) 2010-09-28 2021-02-23 Amazon Technologies, Inc. Point of presence management in request routing
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US10079742B1 (en) 2010-09-28 2018-09-18 Amazon Technologies, Inc. Latency measurement in resource requests
US11632420B2 (en) 2010-09-28 2023-04-18 Amazon Technologies, Inc. Point of presence management in request routing
US8676918B2 (en) 2010-09-28 2014-03-18 Amazon Technologies, Inc. Point of presence management in request routing
US9106701B2 (en) 2010-09-28 2015-08-11 Amazon Technologies, Inc. Request routing management based on network components
US9185012B2 (en) 2010-09-28 2015-11-10 Amazon Technologies, Inc. Latency measurement in resource requests
US11336712B2 (en) 2010-09-28 2022-05-17 Amazon Technologies, Inc. Point of presence management in request routing
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US9497259B1 (en) 2010-09-28 2016-11-15 Amazon Technologies, Inc. Point of presence management in request routing
US9160703B2 (en) 2010-09-28 2015-10-13 Amazon Technologies, Inc. Request routing management based on network components
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US9253065B2 (en) 2010-09-28 2016-02-02 Amazon Technologies, Inc. Latency measurement in resource requests
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US10015237B2 (en) 2010-09-28 2018-07-03 Amazon Technologies, Inc. Point of presence management in request routing
US11108729B2 (en) 2010-09-28 2021-08-31 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US9332026B2 (en) * 2010-10-12 2016-05-03 Sonus Networks, Inc. Real-time network attack detection and mitigation infrastructure
US8719930B2 (en) * 2010-10-12 2014-05-06 Sonus Networks, Inc. Real-time network attack detection and mitigation infrastructure
US20150047036A1 (en) * 2010-10-12 2015-02-12 Sonus Networks, Inc. Real-time network attack detection and mitigation infrastructure
US9930131B2 (en) * 2010-11-22 2018-03-27 Amazon Technologies, Inc. Request routing processing
US9003040B2 (en) 2010-11-22 2015-04-07 Amazon Technologies, Inc. Request routing processing
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
WO2012071282A1 (en) 2010-11-22 2012-05-31 Amazon Technologies, Inc. Request routing processing
US10951725B2 (en) 2010-11-22 2021-03-16 Amazon Technologies, Inc. Request routing processing
US20150172407A1 (en) * 2010-11-22 2015-06-18 Amazon Technologies, Inc. Request routing processing
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US8626950B1 (en) 2010-12-03 2014-01-07 Amazon Technologies, Inc. Request routing processing
US8631489B2 (en) 2011-02-01 2014-01-14 Damballa, Inc. Method and system for detecting malicious domain names at an upper DNS hierarchy
US9686291B2 (en) 2011-02-01 2017-06-20 Damballa, Inc. Method and system for detecting malicious domain names at an upper DNS hierarchy
US11604667B2 (en) 2011-04-27 2023-03-14 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US9444836B2 (en) * 2011-05-26 2016-09-13 At&T Intellectual Property I, L.P. Modeling and outlier detection in threat management system data
US9628554B2 (en) 2012-02-10 2017-04-18 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US9172674B1 (en) 2012-03-21 2015-10-27 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US9083743B1 (en) 2012-03-21 2015-07-14 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US11303717B2 (en) 2012-06-11 2022-04-12 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US10225362B2 (en) 2012-06-11 2019-03-05 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US11729294B2 (en) 2012-06-11 2023-08-15 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
WO2013188611A3 (en) * 2012-06-14 2015-07-02 Tt Government Solutions, Inc. Real-time reporting of anomalous internet protocol attacks
US9130982B2 (en) 2012-06-14 2015-09-08 Vencore Labs, Inc. System and method for real-time reporting of anomalous internet protocol attacks
US10547674B2 (en) 2012-08-27 2020-01-28 Help/Systems, Llc Methods and systems for network flow analysis
US9894088B2 (en) 2012-08-31 2018-02-13 Damballa, Inc. Data mining to identify malicious activity
US9680861B2 (en) 2012-08-31 2017-06-13 Damballa, Inc. Historical analysis to identify malicious activity
US9166994B2 (en) 2012-08-31 2015-10-20 Damballa, Inc. Automation discovery to identify malicious activity
US10084806B2 (en) 2012-08-31 2018-09-25 Damballa, Inc. Traffic simulation to identify malicious activity
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US20140351931A1 (en) * 2012-09-06 2014-11-27 Dstillery, Inc. Methods, systems and media for detecting non-intended traffic using co-visitation information
US9306958B2 (en) * 2012-09-06 2016-04-05 Dstillery, Inc. Methods, systems and media for detecting non-intended traffic using co-visitation information
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US10542079B2 (en) 2012-09-20 2020-01-21 Amazon Technologies, Inc. Automated profiling of resource usage
US10015241B2 (en) 2012-09-20 2018-07-03 Amazon Technologies, Inc. Automated profiling of resource usage
US9525701B2 (en) 2012-10-04 2016-12-20 Akamai Technologies, Inc. Server with mechanism for changing treatment of client connections determined to be related to attacks
US10645056B2 (en) 2012-12-19 2020-05-05 Amazon Technologies, Inc. Source-dependent address resolution
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US20140211614A1 (en) * 2013-01-25 2014-07-31 Arxceo Corporation Methods and systems for providing redundancy in data network communications
US20140215611A1 (en) * 2013-01-31 2014-07-31 Samsung Electronics Co., Ltd. Apparatus and method for detecting attack of network system
WO2014179602A1 (en) * 2013-05-01 2014-11-06 Kodiak Networks, Inc. Voip denial-of-service protection mechanisms from attack
CN103209192A (en) * 2013-05-10 2013-07-17 张昱 Domain status cleaning system for DDoS (distributed denial of service) attack and detection method
US20140359105A1 (en) * 2013-06-03 2014-12-04 Tencent Technology (Shenzhen) Company Limited Method, client, server, and system for processing data
US10374955B2 (en) 2013-06-04 2019-08-06 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US9929959B2 (en) 2013-06-04 2018-03-27 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US10050986B2 (en) 2013-06-14 2018-08-14 Damballa, Inc. Systems and methods for traffic classification
US9338184B1 (en) * 2014-03-11 2016-05-10 Sprint Communications Company L.P. Systems, methods, and software for improving resistance to distributed denial of service attacks
US10411981B2 (en) 2014-06-20 2019-09-10 Jeong Hoan Seo Method and system for detecting client causing network problem using client route control system
EP3160086A4 (en) * 2014-06-20 2018-01-24 Jeong Hoan Seo Method and system for detecting failure-inducing client by using client route control system
US11381487B2 (en) 2014-12-18 2022-07-05 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US11863417B2 (en) 2014-12-18 2024-01-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10728133B2 (en) 2014-12-18 2020-07-28 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US11297140B2 (en) 2015-03-23 2022-04-05 Amazon Technologies, Inc. Point of presence based data uploading
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9930065B2 (en) 2015-03-25 2018-03-27 University Of Georgia Research Foundation, Inc. Measuring, categorizing, and/or mitigating malware distribution paths
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US10469355B2 (en) 2015-03-30 2019-11-05 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US10180993B2 (en) * 2015-05-13 2019-01-15 Amazon Technologies, Inc. Routing based request correlation
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US20180063027A1 (en) * 2015-05-13 2018-03-01 Amazon Technologies, Inc. Routing based request correlation
US10691752B2 (en) 2015-05-13 2020-06-23 Amazon Technologies, Inc. Routing based request correlation
US11461402B2 (en) 2015-05-13 2022-10-04 Amazon Technologies, Inc. Routing based request correlation
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US10200402B2 (en) 2015-09-24 2019-02-05 Amazon Technologies, Inc. Mitigating network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US10771391B2 (en) * 2015-11-05 2020-09-08 Hewlett Packard Enterprise Development Lp Policy enforcement based on host value classification
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US11134134B2 (en) 2015-11-10 2021-09-28 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US11297098B2 (en) * 2016-03-10 2022-04-05 Telefonaktiebolaget Lm Ericsson (Publ) DDoS defence in a packet-switched network
US10432650B2 (en) 2016-03-31 2019-10-01 Stuart Staniford System and method to protect a webserver against application exploits and attacks
WO2017190623A1 (en) * 2016-05-06 2017-11-09 阿里巴巴集团控股有限公司 Data processing method, device and system
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US11463550B2 (en) 2016-06-06 2022-10-04 Amazon Technologies, Inc. Request management for hierarchical cache
US10666756B2 (en) 2016-06-06 2020-05-26 Amazon Technologies, Inc. Request management for hierarchical cache
US10171492B2 (en) * 2016-06-24 2019-01-01 Fortinet, Inc. Denial-of-service (DoS) mitigation based on health of protected network device
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US11457088B2 (en) 2016-06-29 2022-09-27 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10516590B2 (en) 2016-08-23 2019-12-24 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10469442B2 (en) 2016-08-24 2019-11-05 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US11330008B2 (en) 2016-10-05 2022-05-10 Amazon Technologies, Inc. Network addresses with encoded DNS-level information
US10616250B2 (en) 2016-10-05 2020-04-07 Amazon Technologies, Inc. Network addresses with encoded DNS-level information
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
US10505961B2 (en) 2016-10-05 2019-12-10 Amazon Technologies, Inc. Digitally signed network address
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US11762703B2 (en) 2016-12-27 2023-09-19 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US11627157B2 (en) 2017-01-14 2023-04-11 Hyprfire Pty Ltd Method and system for detecting and mitigating a denial of service attack
US11190543B2 (en) * 2017-01-14 2021-11-30 Hyprfire Pty Ltd Method and system for detecting and mitigating a denial of service attack
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US20210144172A1 (en) * 2017-03-20 2021-05-13 Amazon Technologies, Inc. Early detection of dedicated denial of service attacks through metrics correlation
US10911483B1 (en) * 2017-03-20 2021-02-02 Amazon Technologies, Inc. Early detection of dedicated denial of service attacks through metrics correlation
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11341969B2 (en) 2017-05-11 2022-05-24 Google Llc Detecting and suppressing voice queries
US10170112B2 (en) * 2017-05-11 2019-01-01 Google Llc Detecting and suppressing voice queries
US10699710B2 (en) * 2017-05-11 2020-06-30 Google Llc Detecting and suppressing voice queries
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
WO2018234039A1 (en) * 2017-06-22 2018-12-27 Siemens Aktiengesellschaft Method and device for transmitting a message in a safety-relevant facility
US11290418B2 (en) 2017-09-25 2022-03-29 Amazon Technologies, Inc. Hybrid content request routing system
CN108449386A (en) * 2018-02-24 2018-08-24 深圳市联软科技股份有限公司 A kind of method, medium and equipment redirecting access request
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11362986B2 (en) 2018-11-16 2022-06-14 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US11032392B1 (en) * 2019-03-21 2021-06-08 Amazon Technologies, Inc. Including prior request performance information in requests to schedule subsequent request performance
US11683339B2 (en) * 2019-07-03 2023-06-20 Netflix, Inc. Attack mitigation in a packet-switched network
US20210367968A1 (en) * 2019-07-03 2021-11-25 Netflix, Inc. Attack mitigation in a packet-switched network

Also Published As

Publication number Publication date
US20090037592A1 (en) 2009-02-05
WO2006039529A2 (en) 2006-04-13
US20060075491A1 (en) 2006-04-06
EP1812867A2 (en) 2007-08-01
WO2006039529A3 (en) 2007-06-21
WO2006039629A2 (en) 2006-04-13
US20130145464A1 (en) 2013-06-06
EP1812867A4 (en) 2010-02-03
US7478429B2 (en) 2009-01-13
WO2006039629A3 (en) 2008-11-20

Similar Documents

Publication Publication Date Title
US20060075084A1 (en) Voice over internet protocol data overload detection and mitigation system and method
US20200177556A1 (en) Methods and systems for api deception environment and api traffic control and security
US10009365B2 (en) System and method for integrated header, state, rate and content anomaly prevention for session initiation protocol
US7246376B2 (en) Method and apparatus for security management in a networked environment
US8819821B2 (en) Proactive test-based differentiation method and system to mitigate low rate DoS attacks
KR101107742B1 (en) SIP Intrusion Detection and Response System for Protecting SIP-based Services
US8370937B2 (en) Handling of DDoS attacks from NAT or proxy devices
US7930740B2 (en) System and method for detection and mitigation of distributed denial of service attacks
US7331060B1 (en) Dynamic DoS flooding protection
US8670316B2 (en) Method and apparatus to control application messages between client and a server having a private network address
US20140173731A1 (en) System and Method for Unified Communications Threat Management (UCTM) for Converged Voice, Video and Multi-Media Over IP Flows
US20050166049A1 (en) Upper-level protocol authentication
CN110099027B (en) Service message transmission method and device, storage medium and electronic device
JP3928866B2 (en) DoS attack source detection method, DoS attack prevention method, session control device, router control device, program, and recording medium thereof
JP4602158B2 (en) Server equipment protection system
EP2109281A1 (en) Method and system for server-load and bandwidth dependent mitigation of distributed denial of service attacks
JP4878630B2 (en) Communication server and DoS attack prevention method
EP2169898A1 (en) Method of and telecommunication apparatus for mitigating Distributed Denial-of-Service attacks in SIP packet networks
EP2109279B1 (en) Method and system for mitigation of distributed denial of service attacks using geographical source and time information
KR101379779B1 (en) Caller Information Modulated Voice/Message Phishing Detecting and Blocking Method
Kumarasamy et al. An Efficient Detection Mechanism for Distributed Denial of Service (DDoS) Attack
Razmov Denial of service attacks and how to defend against them
KR101037575B1 (en) Method on detection of ddos attact and measurement of efficiency of detection on voip network
Cearns Design of an Autonomous Anti-DDoS network (A2D2)
Luo et al. Differentiated service protection of multimedia transmission via detection of traffic anomalies

Legal Events

Date Code Title Description
AS Assignment

Owner name: PROLEXIC TECHNOLOGIES, INC., FLORIDA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LYON, BARRETT;REEL/FRAME:016971/0888

Effective date: 20051031

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION