METHOD OF BLOCKING DISTRIBUTED DENIAL OF SERVICE ATTACKS AND CORRESPONDING APPARATUS
20190007449 ยท 2019-01-03
Inventors
Cpc classification
H04L2463/141
ELECTRICITY
International classification
Abstract
Gateways monitor communications between their LAN devices and the WAN and count the number of requests per LAN device to target IP addresses. If the number of requests for a LAN device to a target IP address exceeds a first value X, an alert message is transmitted at destination to all other gateways, the message including the target IP address. Gateways monitor the sum of request counter values based on alert messages received per target IP address. If the sum exceeds a second value VALUE_DDOS, a DDoS attack is detected. Gateways having detected a DDoS attack verify if they have a LAN device which transmitted a number of requests to the attacked IP address that exceeds value X and where appropriate puts such LAN device in quarantine by blocking data communication from the device to the WAN.
Claims
1. A method of blocking Distributed Denial of Service attacks from devices in a local area network, wherein said method is implemented by an access point connected to a wide area network and providing said local area network to said devices, said method comprising: counting a first total number of requests per device and per destination Internet Protocol address in said wide area network; transmitting an alert message destined to access points in said wide area network if for a device in said local area network said first total number exceeds a first value, the message comprising said destination Internet Protocol address; receiving alert messages and counting a second total number of requests per destination Internet Protocol address based on said received alert messages; if said second total number of requests to a destination Internet Protocol address exceeds a second value and said first value of said first total number of requests to said destination Internet Protocol address is exceeded for a device in said local area network, blocking data communication from said device to said wide area network.
2. The method according to claim 1, wherein said blocking data communication comprises blocking outgoing data communication from said device for which said first value is exceeded and to said destination Internet Protocol address for which said second value is exceeded.
3. The method according to claim 1, wherein said blocking data communication comprises blocking outgoing data communication from said device for which said first value is exceeded and blocking incoming data communication to said device for which said first value is exceeded.
4. The method according to claim 1, wherein said first and said second value are factory preset.
5. The method according to claim 1, wherein said first and said second value are remotely configurable parameters.
6. The method according to claim 5, wherein said first and said second value are remotely configurable parameters that are configurable per destination Internet Protocol address.
7. The method according to claim 6, further comprising receiving remote configuration commands for setting said first value and said second value.
8. The method according to claim 7, wherein said configuration commands are according to a Customer premises equipment Management Wide area network Management Protocol.
9. The method according to claim 7, wherein said configuration commands are according to a Simple Network Management Protocol.
10. An access point device for connection to a wide area network and for providing a local area network for local area network devices, the access point device comprising a processor, a memory, a first network interface and a second network interface, configured to: count a first total number of requests per device and per destination Internet Protocol address in said wide area network; transmit an alert message destined to access points in said wide area network if for a device in said local area network said first total number exceeds a first value, the message comprising said destination Internet Protocol address; receive alert messages and counting a second total number of requests per destination Internet Protocol address based on said received alert messages; and if said second total number of requests to a destination Internet Protocol address exceeds a second value and said first value of said first total number of requests to said destination Internet Protocol address is exceeded for a device in said local area network, block data communication from said device to said wide area network.
11. The access point device according to claim 10, wherein said processor, said memory, said first network interface and said second network interface are further configured to block outgoing data communication from said device for which said first value is exceeded and to said destination Internet Protocol address for which said second value is exceeded.
12. The access point device according to claim 10, wherein said processor, said memory, said first network interface and said second network interface are further configured to block outgoing data communication from said device for which said first value is exceeded and blocking incoming data communication to said device for which said first value is exceeded.
13. The access point device according to claim 10, wherein said processor, said memory, said first network interface and said second network interface are further configured to receive remote configuration commands comprising parameter values for setting said first and said second values.
14. The access point device according to claim 13, wherein said processor, said memory, said first network interface and said second network interface are further configured to receive remote configuration commands comprising parameter values per destination Internet Protocol address for setting said first and said second values.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0020] More advantages of the present disclosure will appear through the description of particular, non-restricting embodiments. To describe the way the advantages of the present disclosure can be obtained, particular descriptions of the present principles are rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. The drawings depict exemplary embodiments of the disclosure and are therefore not to be considered as limiting its scope. The embodiments described can be combined to form particular advantageous embodiments. In the following figures, items with same reference numbers as items already described in a previous figure will not be described again to avoid unnecessary obscuring the disclosure. The embodiments will be described with reference to the following drawings in which:
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029] It should be understood that the drawings are for purposes of illustrating the concepts of the disclosure and are not necessarily the only possible configuration for illustrating the disclosure.
DETAILED DESCRIPTION
[0030] The present description illustrates the principles of the present disclosure. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the disclosure and are included within its spirit and scope.
[0031] All examples and conditional language recited herein are intended for educational purposes to aid the reader in understanding the principles of the disclosure and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions.
[0032] Moreover, all statements herein reciting principles, aspects, and embodiments of the disclosure, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.
[0033] In the following, the terms gateway (GW), access point (AP) are used indifferently for meaning the same. In computer networking, an access point is a networking hardware device that allows a network compliant device to connect to a network provided by the access point and to connect to the devices in that network via the access point. Therefore, the present principles may apply to other types of access points than gateways, such as mobile devices acting as access points or network routers.
[0034]
[0035]
[0036]
[0037]
[0038] According to a particular embodiment, the MAC address in the alert message is replaced by a derived identifier such as a hash of the MAC address or a salted hash of the MAC address. This avoids information leaks which can be exploited by malicious software.
[0039] According to a particular embodiment, the gateway memorizes local request counters in a data structure. Table 1 hereunder is an example data structure for storing local request counters.
TABLE-US-00001 TABLE 1 data structure for memorizing local request counters MAC address Target IP WAN addr Local Request counter
[0040]
[0041] According to a particular embodiment, the gateway may memorize request counters in a data structure. Such data structure can be visualized by table 2 hereunder.
TABLE-US-00002 TABLE 2 data structure for memorizing request counters Target IP WAN addr Request counter
[0042] Using the data structures of tables 1 and 2, it is thus possible to keep track of the number of requests issued by a local LAN device to a target IP WAN address (column local request counter in table 1) and the total number of requests to a target IP address as issued by all devices in all LANs in a network (column request counter in table 2).
[0043]
[0044] According to a particular embodiment, space-efficient count-min sketch (CM sketch) like algorithm is used for the first and/or the second data structure.
[0045] As mentioned previously for X, VALUE_DDOS is for example a parameter that is factory preset and/or set by a remote management server (e.g., ACS) through a remote management command received from a remote management server, e.g., using CWMP or SNMP.
[0046] X and VALUE_DDOS can have any value while VALUE_DDOS is superior to X. In practice, the values of these parameters depend on the duration of the time slots. The value of X is a tradeoff between a need to detect DDoS attacks that issue relatively few requests to an attacked IP address per participating device and network bandwidth required for transmission of alert messages when X is exceeded. The value of X is a tradeoff between proactive use of the mechanism and thus increasing a probability of creating false alerts and thereby unjustified putting devices in quarantine and relaxed use of the mechanism and thus increasing the probability that real attacks remain unnoticed and are not reacted upon.
[0047] According to a particular embodiment, VALUE_DDOS and/or X are related to target (destination) IP addresses and thus configurable per destination IP address. This way, it is possible to specify these parameters per target IP address, which allows a fine adjustment. For example, VALUE_DDOS may be adjusted to a value equal or higher than a maximum number of requests that a particular server or a particular group of servers with a given IP address are expected to receive per time slot (time entity), and thus a higher number of requests or significant higher number of requests can be considered as representing a DDoS attack. Usage statistics may show that under normal circumstances, the number of requests to a server or group of servers per time entity is high during daytime, while being low during nighttime, vary during office hours, holiday periods etc. According to a particular embodiment, these parameters are adjusted frequently, for example several times a day or several times a week) based on usage statistics of the number of requests received by a particular server or group of servers per time entity, so that a higher or significantly higher number of requests received during the time entity will result in detection of a DDoS attack.
[0048] According to a particular embodiment, a warning message is transmitted to the device that is detected as participating in a DDoS attack or to the administrator or the user of the device that is detected as participating in a DDoS attack or the administrator of the local area network to which the device that is detected as participating in a DDoS attack is connected so that measures can be taken such as anti-virus scanning and removing of malicious software from the device before readmission to the local area network.
[0049] According to a particular embodiment, the putting in quarantine of a device detected as participating in a DDoS attack implies preventing any outgoing and incoming data traffic from/to the LAN device.
[0050] According to a particular embodiment, the putting in quarantine of a device detected as participating in a DDoS attack implies preventing any outgoing requests from the LAN device to the specific IP WAN address or addresses for which a DDoS attack is detected.
[0051] For reasons of clarity,
[0052] Through the above-mentioned mechanism of transmitting alert messages, the request counters are replicated among the gateways in the network.
[0053] According to a particular embodiment of the method of blocking Distributed Denial of Service attacks, the transmitting of alert messages is performed via IP multicast. Gateways that wish to receive alert messages can subscribe to the specific IP multicast alert message address to receive alert messages via the Internet Group Multicast Protocol (IGMP; IGMP join). This is a preferred embodiment if IP multicast in the network by gateways is allowed/enabled since network equipment in the core network of the service provider are already IP multicast enabled for broadcasting of, for example, IPTV streams from the service provider to the service provider's clients in the network.
[0054] However, the service provider may prohibit the use of IP multicasting by gateway equipment and LAN devices for reason of protection of its distribution network. Therefore, according to a particular embodiment, an application-layer technique for transmitting the alert messages is used such as Lightweight Probabilistic Broadcast (LPB). LPB mimics epidemic propagation: an alert message is transmitted via IP unicast to a randomly selected (small) number of other gateways, using gateway IP address of these gateways and specific application port number. The gateways that receive an alert message, in turn does exactly the same: they randomly select a set of gateways and forward the received alert message to the randomly selected set.
[0055] According to a particular embodiment of the method of blocking Distributed Denial of Service attacks, a service provider maintains an overlay communication infrastructure between gateways. The gateways interrogate the service provider to receive a list of gateway IP addresses of their neighbors in the overlay to which they are supposed to forward alert messages if any. The forwarding process of the alert messages is thus deterministic, and if the overlay is constructed to cover all gateways in a reliable manner, alert messages will also be reliably distributed. Examples of overlays are redundant trees, spanners, or grids. The overlay can be maintained in a central fashion (a service provider server is in charge to inform each gateway about its neighboring gateways in the overlay) or in a distributed fashion between the gateways only (with for instance the use of a protocol such as Chord).
[0056]
[0057]
[0058] It is to be appreciated that some elements in the drawings may not be used or be necessary in all embodiments. Some operations may be executed in parallel. Embodiments other than those illustrated and/or described are possible. For example, a device implementing the present principles may include a mix of hard- and software.
[0059] It is to be appreciated that aspects of the principles of the present disclosure can be embodied as a system, method or computer readable medium. Accordingly, aspects of the principles of the present disclosure can take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code and so forth), or an embodiment combining hardware and software aspects that can all generally be defined to herein as a circuit, module or system. Furthermore, aspects of the principles of the present disclosure can take the form of a computer readable storage medium. Any combination of one or more computer readable storage medium(s) can be utilized.
[0060] Thus, for example, it is to be appreciated that the diagrams presented herein represent conceptual views of illustrative system components and/or circuitry embodying the principles of the present disclosure. Similarly, it is to be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable storage media and so executed by a computer or processor, whether such computer or processor is explicitly shown.
[0061] A computer readable storage medium can take the form of a computer readable program product embodied in one or more computer readable medium(s) and having computer readable program code embodied thereon that is executable by a computer. A computer readable storage medium as used herein is considered a non-transitory storage medium given the inherent capability to store the information therein as well as the inherent capability to provide retrieval of the information there from. A computer readable storage medium can be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Some or all aspects of the storage medium may be remotely located (e.g., in the cloud). It is to be appreciated that the following, while providing more specific examples of computer readable storage mediums to which the present principles can be applied, is merely an illustrative and not exhaustive listing, as is readily appreciated by one of ordinary skill in the art: a hard disk, a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.