IP Library Granted Patent US 8,533,823
Granted Patent B2
US 8,533,823 · App. 12/392,422 · Granted Sep 10, 2013

System and method for source IP anti-spoofing security

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,533,823
App. No.
12/392,422
Granted
Sep 10, 2013
Kind
B2
Abstract

A system and method that provides for using source IP addresses and MAC addresses in a network to provide security against attempts by users of the network to use false source IP addresses in data packets. The system and method provide for analyzing MAC addresses and source IP addresses at the datalink (layer 2) level, and to use the information derived from such analysis to block access through a port where a host device is using a false, or spoofed, source IP address in transmitted data packets. Further, the system and method provide for validating initially learned source IP addresses, and for determining whether the number of unsuccessful attempts to validate new source IP addresses exceeds a threshold level, and where the number does exceed the threshold number the system and method can provide for operation in a possible attack mode.

Claims (52)

1. A method comprising:

determining, by a network device, whether a MAC address included in a data packet received on a port of the network device is stored in a table of the network device, the table including a plurality of MAC address and source IP address pairs; and

if the MAC address is not stored in the table:

learning, by the network device, a source IP address included in the data packet, wherein the learning is performed using a first technique;

if the learning is successful, validating the source IP address by the network device, wherein the validating is performed using a second technique distinct from the first technique; and

if the validating is successful, storing, by the network device, the MAC address and the source IP address as a pair in the table.

2. The method of claim 1 wherein learning the source IP address using the first technique comprises transmitting a reverse Address Resolution Protocol (ARP) message based on a MAC address included in the data packet, and

wherein the learning is successful if a source IP address included in a response to the reverse ARP message matches the source IP address included in the data packet.

3. The method of claim 2 wherein validating the source IP address using the second technique comprises transmitting an ARP message based on the source IP address included in the data packet, and

wherein the validating is successful if a MAC address included in a response to the ARP message matches the MAC address included in the data packet.

4. The method of claim 1 wherein learning the source IP address using the first technique comprises transmitting an ARP message based on the source IP address included in the data packet, and

wherein the learning is successful if a MAC address included in a response to the ARP message matches a MAC address included in the data packet.

5. The method of claim 4 wherein validating the source IP address using the second technique comprises generating a reverse Address Resolution Protocol (ARP) message based on the MAC address included in the data packet, and

wherein the validating is successful if a source IP address included in a response to the reverse ARP message matches the source IP address included in the data packet.

6. The method of claim 1 wherein if the learning or the validating is unsuccessful, preventing the data packet from being passed through the port.

7. The method of claim 1 further comprising:

if the validating is unsuccessful:

determining a number of unsuccessful validation attempts over a predetermined, preceding time period; and

if the number of unsuccessful validation attempts is greater than a threshold number, causing the network device to operate in a mode wherein further data packets received by the network device that include source IP addresses not stored in the table are blocked without learning or validating the source IP addresses.

8. The method of claim 7 wherein the network device is configured to continue to operate in the mode until a predetermined condition has been satisfied.

9. The method of claim 7 wherein the threshold number is predetermined.

10. The method of claim 7 wherein the threshold number is determined dynamically by:

determining a first number of unsuccessful validation attempts over a first preceding time period;

determining a second number of unsuccessful validation attempts over a second preceding time period that is temporally adjacent to the first preceding time period; and

determining the threshold number based on an increase from the first number to the second number.

11. The method of claim 1 further comprising, subsequently to storing the source IP address in the table, applying a group of rules for forwarding additional data packets received on the port if the additional data packets include the source IP address.

12. A network device comprising:

a plurality of ports;

a storage component configured to store a table of MAC address and source IP address pairs; and

a control component configured to:

determine whether a MAC address included in a data packet received on a port of the network device is stored in the table; and

if the MAC address is not stored in the table:

learn a source IP address included in the data packet using a first technique;

if the learning is successful, validate the source IP address using a second technique distinct from the first technique; and

if the validating is successful, store the MAC address and the source IP address as a pair in the table.

13. The network device of claim 12 wherein learning the source IP address using the first technique comprises transmitting a reverse Address Resolution Protocol (ARP) message based on a MAC address included in the data packet, and

wherein the learning is successful if a source IP address included in a response to the reverse ARP message matches the source IP address included in the data packet.

14. The network device of claim 13 wherein validating the source IP address using the second technique comprises transmitting an ARP message based on the source IP address included in the data packet, and

wherein the validating is successful if a MAC address included in a response to the ARP message matches the MAC address included in the data packet.

15. The network device of claim 12 wherein learning the source IP address using the first technique comprises transmitting an ARP message based on the source IP address included in the data packet, and

wherein the learning is successful if a MAC address included in a response to the ARP message matches a MAC address included in the data packet.

16. The network device of claim 15 wherein validating the source IP address using the second technique comprises generating a reverse Address Resolution Protocol (ARP) message based on the MAC address included in the data packet, and

wherein the validating is successful if a source IP address included in a response to the reverse ARP message matches the source IP address included in the data packet.

17. The network device of claim 12 wherein the control component is further configured to:

if the validating is unsuccessful:

determine a number of unsuccessful validation attempts over a predetermined, preceding time period; and

if the number of unsuccessful validation attempts is greater than a threshold number, cause the network device to operate in a mode wherein further data packets received by the network device that include source IP addresses not stored in the table are blocked without learning or validating the source IP addresses.

18. The network device of claim 17 wherein the threshold number is determined dynamically by:

determining a first number of unsuccessful validation attempts over a first preceding time period;

determining a second number of unsuccessful validation attempts over a second preceding time period that is temporally adjacent to the first preceding time period; and

determining the threshold number based on an increase from the first number to the second number.

19. The network device of claim 12 wherein the control component is further configured to, subsequently to storing the source IP address in the table, apply a group of rules for forwarding additional data packets received on the port if the additional data packets include the source IP address.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
RELEASE OF SECURITY INTEREST Recorded Jan 22, 2015
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC
Reel/Frame 034804/0793 →
CHANGE OF NAME Recorded Jul 21, 2010
From: FOUNDRY NETWORKS, INC.
To: FOUNDRY NETWORKS, LLC
Reel/Frame 024733/0739 →
SECURITY AGREEMENT Recorded Jan 20, 2010
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION; MCDATA SERVICES CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 023814/0587 →