This invention relates in general to communication systems, and more particularly to a method for blocking denial of service and address spoofing attacks on a private network.
Corporate and other private networks often provide external access outward and inward through Internet gateways, firewalls or other routing devices. It is important for these routing devices to defend the private network against attackers from the outside as well as to allow access to the private network by authorized users. However there are numerous forms of attack on conventional routing device that can incapacitate the devices and interfere with an associated private network. The problem of keeping unauthorized persons from accessing data is a large problem for corporate and other information service management. Routing devices, such as gateways, firewalls and network routers lack important safeguards to block or prevent attacks. In particular, the number of denial service attacks have risen dramatically in recent years. Further, IP spoofing incidents occur with increasing frequency.
A denial of service attack consists of repeatedly sending requests for connections to different hosts through and/or behind the routing device. Typically, the host will wait for acknowledgment from the requester. Because a host can only handle a finite number of requests (for example, 1 to n, where n depends on the resources available to the host), the attacker can crash or “flood” a host with requests to the point of disrupting network service (host/server/port) to users.
Another form of attack is address spoofing which can be used by unauthorized third parties to gain access to a private network. This attack involves the attacker identifying a valid internal network address within the private network. The attacker then requests access to the private network through the routing device by spoofing that internal network address. Conventional routing devices typically are not sophisticated enough to determine that such a request should be denied (i.e., because an external request can not originate from an internal address) and will allow access to the attacker. Address spoofing attacks can be carried out against various types of networks and network protocols such as IPX/SPX, MAC layer, Netbios, and IP.
It is therefore advantageous to provide facilities within a routing device that block denial of service, address spoofing and other attacks on an associated private network.
In accordance with the present invention, a method for blocking denial of service and address spoofing attacks on a private network is disclosed that provides significant advantages over conventional network routing devices.
According to one aspect of the present invention, the method is implemented by a routing device interconnecting the private network to a public network. The method includes analyzing an incoming data packet from the public network. The incoming data packet is then matched against known patterns where the known patterns are associated with known forms of attack on the private network. A source of the data packet is then identified as malicious or non-malicious based upon the matching. In one embodiment, one of the known forms of attack is a denial of service attack and an associated known pattern is unacknowledged data packets. In another embodiment, one of the known forms of attack is an address spoofing attack and an associated known pattern is a data packet having a source address matching an internal address of the private network.
A technical advantage of the present invention is the enabling of a routing device to the identify a denial of service attack and to block such an attack from tying up the routing device.
Another technical advantage of the present invention is enabling a routing device to identify an address spoofing attack and to block such an attack.
A further technical advantage of the present invention is an ability for the routing device to track information about the attacker to allow preventive measures to be taken.
Other technical advantages should be readily apparent to one skilled in the art from the following figures, description, and claims.
A more complete understanding of the present invention and advantages thereof may be acquired by referring to the following description taken in conjunction with the accompanying drawings, in which like reference numbers indicate like features, and wherein:
Denial of service and address spoofing are two common forms of attack that might be used by attacker 16. In general, a denial service attack is one in which attacker 16 attempts to prevent others from using private network 12. A denial service attack works if routing device 10 spends all of its time processing requests and cannot respond quickly enough to satisfy additional requests. An Address spoofing attack is on in which attacker 16 fakes an internal address to get around or into standard address filtering schemes. According to the present invention, routing device 10 is enabled with a method for blocking these and other types of attacks by analyzing incoming data packets.
Thus, one possible occurrence is that attacker 16 will try to get into private network 12 by spoofing an address that exists inside private network 12. This is intended to allow attacker 16 to gain access and impersonate an internal user. When a packet from attacker 16 reaches routing device 12, an attack blocking component, according to the present invention, will notice that the address matches one that exists within private network 12. Because incoming packets should not be the same as outgoing packets, the attack blocking component can deny access to private network 12 and record the information about the attack for use by the system administrator. Attacker 16 can also try to deny access to all external users by conducting a denial of service attack. This involves attacker 16 flooding private network 12 or routing device 10 by sending an extremely large number of packets. For example, attacker 16 may send 30,000 or more packets. According to the present invention, the attack blocking component of routing device 10 can notice that the first packet is spoofed or that it cannot be acknowledged and ignore all other packets. Further, routing device 10 can use diagnostic detection tools (e.g., trace root, ping, NS lookup) to pinpoint attacker 16 and notify the system administrator. In general, according to the present invention, routing device 10 can be enabled to intelligently analyze incoming packets, match the packets against known patterns for attack strategies and respond accordingly to malicious packets.
In particular, the routing device can implement methods for blocking denial of service attacks and address spoofing attacks as shown, for example, in
As shown in step 30 of
If an acknowledgment is received in step 54, the routing device moves to step 58 and compares the requested connection to existing connections. Then, in step 60, the routing device determines if there is a match between the requested connection and one of the existing connections. If so, the routing device moves to step 46 and denies the request. The request is denied because one source should not have more than one connection through the routing device to the private network. If, in step 60, there is no match, then the routing device can allow the connection in step 62. The method of
In general, the method of the present invention can be integrated as a component of a gateway, firewall or other routing device. In one implementation, the present invention can work off of a variable size cache file that holds network addresses. For blocking spoofing, each incoming address can be held in the cache file and checked to see if the incoming address matches an network address that is on the private network. If the incoming address matches, then the request can be denied. Also, a message can be sent to a system log which, rather than being written to a file, can be written to a console to prevent the log from getting overloaded and crashing the routing device. Further, an optional E-mail message or page can be sent to a specified address or number in the case of an attack. If an attack happens more than once on the same address in the span of a certain period of time (for example, five minutes), then the number of messages can be limited to prevent overloading of the E-mail or paging service. An optional shutdown mechanism can also be in place that will enable the routing device to automatically shut down certain services if attacks continued.
Denial of service attacks are generally easier to trace. However, when such an attack is also spoofed, the problem becomes very difficult to stop. According to the present invention, an incoming address can be checked against the cache file and a quick search can be performed to see if the address is already in a list of pending addresses. If so, the request packet can be discarded. An address is removed from the list if a successful acknowledge packet is sent back or a variable time limit is reached. The number of matching addresses that are allowed in the list can be a variable set by the system administrator.
Although the present invention has been described in detail, it should be understood that various changes, substitutions and alterations can be made thereto without departing from the sphere and scope of the invention as defined by the appended claims.
This application is a continuation of U.S. application Ser. No. 09/040,898 filed Mar. 18, 1998 now U.S. Pat. No. 6,738,814 by Dennis Cox and Kip McClanahan and entitled “Method for Blocking Denial of Service and Address Spoofing Attacks on a Private Network”.
Number | Name | Date | Kind |
---|---|---|---|
4438511 | Baran | Mar 1984 | A |
4672572 | Alsberg | Jun 1987 | A |
4679227 | Hughes-Hartogs | Jul 1987 | A |
4731816 | Hughes-Hartogs | Mar 1988 | A |
4757495 | Decker et al. | Jul 1988 | A |
4769771 | Lippmann et al. | Sep 1988 | A |
4771425 | Baran et al. | Sep 1988 | A |
4819228 | Baran et al. | Apr 1989 | A |
4833706 | Hughes-Hartogs | May 1989 | A |
4903261 | Baran et al. | Feb 1990 | A |
4980897 | Decker et al. | Dec 1990 | A |
5003595 | Collins | Mar 1991 | A |
5020058 | Holden et al. | May 1991 | A |
5025469 | Bingham | Jun 1991 | A |
5032979 | Hecht et al. | Jul 1991 | A |
5054034 | Hughes-Hartogs | Oct 1991 | A |
5059925 | Weisbloom | Oct 1991 | A |
5072449 | Enns et al. | Dec 1991 | A |
5088032 | Bosack | Feb 1992 | A |
5115431 | Williams et al. | May 1992 | A |
5128945 | Enns et al. | Jul 1992 | A |
5206886 | Bingham | Apr 1993 | A |
5224099 | Corbalis et al. | Jun 1993 | A |
5228062 | Bingham | Jul 1993 | A |
5255291 | Holden et al. | Oct 1993 | A |
5274631 | Bhardwaj | Dec 1993 | A |
5274635 | Rahman et al. | Dec 1993 | A |
5274643 | Fisk | Dec 1993 | A |
5313454 | Bustini et al. | May 1994 | A |
5317562 | Nardin et al. | May 1994 | A |
5359592 | Corbalis et al. | Oct 1994 | A |
5365580 | Morisaki | Nov 1994 | A |
5390239 | Morris et al. | Feb 1995 | A |
5394394 | Crowther et al. | Feb 1995 | A |
5422880 | Heitkamp et al. | Jun 1995 | A |
5430715 | Corbalis et al. | Jul 1995 | A |
5473599 | Li et al. | Dec 1995 | A |
5473607 | Hausman et al. | Dec 1995 | A |
5509006 | Wilford et al. | Apr 1996 | A |
5519704 | Farinacci et al. | May 1996 | A |
5555244 | Gupta et al. | Sep 1996 | A |
5561663 | Klausmeier | Oct 1996 | A |
5561669 | Lenney et al. | Oct 1996 | A |
5570360 | Klausmeier et al. | Oct 1996 | A |
5598581 | Daines et al. | Jan 1997 | A |
5602902 | Satterlund et al. | Feb 1997 | A |
5617417 | Sathe et al. | Apr 1997 | A |
5617421 | Chin et al. | Apr 1997 | A |
5623601 | Vu | Apr 1997 | A |
5631897 | Pacheco et al. | May 1997 | A |
5666353 | Klausmeier et al. | Sep 1997 | A |
5668857 | McHale | Sep 1997 | A |
5673265 | Gupta et al. | Sep 1997 | A |
5678004 | Thaweethai | Oct 1997 | A |
5682478 | Watson et al. | Oct 1997 | A |
5687176 | Wisniewski et al. | Nov 1997 | A |
5691997 | Lackey, Jr. | Nov 1997 | A |
5729546 | Gupta et al. | Mar 1998 | A |
5732079 | Castrigno | Mar 1998 | A |
5737364 | Cohen et al. | Apr 1998 | A |
5737526 | Periasamy et al. | Apr 1998 | A |
5737635 | Daines et al. | Apr 1998 | A |
5740171 | Mazzola et al. | Apr 1998 | A |
5740176 | Gupta et al. | Apr 1998 | A |
5742604 | Edsall et al. | Apr 1998 | A |
5742649 | Muntz et al. | Apr 1998 | A |
5756280 | Soora et al. | May 1998 | A |
5757916 | MacDoran et al. | May 1998 | A |
5757924 | Friedman et al. | May 1998 | A |
5764636 | Edsall | Jun 1998 | A |
5764641 | Lin | Jun 1998 | A |
5765032 | Valizadeh | Jun 1998 | A |
5770950 | Zurcher et al. | Jun 1998 | A |
5781550 | Templin et al. | Jul 1998 | A |
5781617 | McHale et al. | Jul 1998 | A |
5784559 | Frazier et al. | Jul 1998 | A |
5787070 | Gupta et al. | Jul 1998 | A |
5787255 | Parlan et al. | Jul 1998 | A |
5793763 | Mayes et al. | Aug 1998 | A |
5793951 | Stein et al. | Aug 1998 | A |
5793978 | Fowler | Aug 1998 | A |
5796732 | Mazzola et al. | Aug 1998 | A |
5799017 | Gupta et al. | Aug 1998 | A |
5802042 | Natarajan et al. | Sep 1998 | A |
5805595 | Sharper et al. | Sep 1998 | A |
5812618 | Muntz et al. | Sep 1998 | A |
5812786 | Seazholtz et al. | Sep 1998 | A |
5822383 | Muntz et al. | Oct 1998 | A |
5826014 | Coley et al. | Oct 1998 | A |
5828846 | Kirby et al. | Oct 1998 | A |
5835036 | Takefman | Nov 1998 | A |
5835481 | Akyol et al. | Nov 1998 | A |
5835494 | Hughes et al. | Nov 1998 | A |
5835725 | Chiang et al. | Nov 1998 | A |
5838915 | Klausmeier et al. | Nov 1998 | A |
5838994 | Valizadeh | Nov 1998 | A |
5852655 | McHale et al. | Dec 1998 | A |
5859550 | Brandt | Jan 1999 | A |
5864542 | Gupta et al. | Jan 1999 | A |
5864666 | Shrader | Jan 1999 | A |
5867647 | Haigh et al. | Feb 1999 | A |
5867666 | Harvey | Feb 1999 | A |
5892903 | Klaus | Apr 1999 | A |
5958053 | Denker | Sep 1999 | A |
5968176 | Nessett et al. | Oct 1999 | A |
5983270 | Abraham et al. | Nov 1999 | A |
5991881 | Conklin et al. | Nov 1999 | A |
6003030 | Kenner et al. | Dec 1999 | A |
6009475 | Shrader | Dec 1999 | A |
6035404 | Zhao | Mar 2000 | A |
6061650 | Malkin et al. | May 2000 | A |
20030053170 | Levinson et al. | Mar 2003 | A1 |
Number | Date | Country |
---|---|---|
WO9737458 | Oct 1997 | WO |
Number | Date | Country | |
---|---|---|---|
20040181694 A1 | Sep 2004 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09040898 | Mar 1998 | US |
Child | 10808629 | US |