# Patent

## Title
Firewall security between network devices

## Abstract

A security device may be interconnected, via multiple links, between multiple network devices in a network. The firewall device may include multiple input interfaces that receive data units from a first network device destined for a second network device of the multiple network devices, identify a session associated with each of the data units, and process the data units in accordance with the identified sessions and a security policy.

## Background
BACKGROUND OF THE INVENTION
1. Field of the Invention
Implementations consistent with principles of the invention relate generally to networks, and more particularly, to implementing firewall security between network devices in networks.
2. Description of Related Art
The advent and rise of the Internet has permitted the widespread use of electronic forms of communication across vast distances at high speed. The widespread use of electronic forms of communication has resulted in the need to protect local systems, or networks of systems, from unauthorized security threats. Currently, firewalls have been inserted between a local system (e.g., a host, a local area network (LAN), or server) and the Internet to establish a controlled link and to erect an outer security wall or perimeter. The aim of this perimeter is to protect the local system from Internet-based attacks and to provide a single choke point where security can be imposed. Existing firewalls, implemented between a local system and the Internet, thus protect the local system from network-based security threats, while at the same time affording access to the “outside world” via, for example, wide area networks and the Internet.
Existing firewalls typically, though, have been implemented at the “periphery” of the Internet, such as, for example, at servers connected to LANs, or at hosts connected directly to the Internet. Using firewalls at merely the periphery of the Internet, however, permits the proliferation of security attacks throughout other portions of the Internet, such as between network devices (e.g., routers or switches), that are not firewall protected.
SUMMARY OF THE INVENTION
One aspect consistent with principles of the invention is directed to a security device interconnected, via multiple links, between multiple network devices in a network. The security device may include multiple first interfaces configured to: receive data units from a first network device destined for a second network device of the multiple network devices, identify a session associated with each of the data units, and process the data units in accordance with the identified sessions and a firewall security policy.
A second aspect consistent with principles of the invention is directed to a security device interconnected, via multiple links, between multiple network devices in a network. The security device may include multiple first interfaces configured to: implement a firewall security policy for protecting against network-based security threats, receive data units from a first network device destined for a second network device of the multiple network devices, and process the data units according to the firewall security policy.
Another aspect consistent with principles of the invention is directed to a method that may include interconnecting a security device between a first network device and multiple other network devices in a network by coupling each output interface of the first network device to a different first interface of the security device. The method may further include mapping each first interface of the security device to a different second interface of the security device, and coupling each second interface to a different one of the multiple other network devices. The method may also include routing data units received from the first network device at the first interfaces, via respective second interfaces to which each of the first interfaces is mapped, to the multiple other network devices.
Yet another aspect consistent with principles of the invention is directed to a security device interconnected, via a plurality of links, between a plurality of network devices in a network. The security device may include means for implementing a security policy for protecting against network-based security threats. The security device may further include means for receiving data units from a first network device destined for a second network device of the plurality of network devices. The security device may also include means for processing the data units according to the security policy.



BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate exemplary embodiments of the invention and, together with the description, explain the invention. In the drawings,
FIGS. 1A and 1B are diagrams of an exemplary network consistent with principles of the invention;
FIGS. 2A and 2B are diagrams of an exemplary firewall device of FIG. 1B consistent with principles of the invention;
FIG. 2C is a diagram illustrating implementation of virtual wires within the network of FIG. 1B consistent with principles of the invention;
FIG. 3 is a diagram of an exemplary table that includes session information consistent with principles of the invention; and
FIGS. 4-5 are flowcharts of an exemplary process for handling data units received at a firewall device according to an implementation consistent with principles of the invention.



DETAILED DESCRIPTION
The following detailed description of the invention refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. Also, the following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims and equivalents.
Consistent with principles of the invention implement, a firewall may be implemented between network devices in a network, such as, for example, the Internet. A firewall may be implemented within one or more firewall devices that may be interconnected between network devices in the network. A given firewall device may interconnect with each output interface of a given network device. The firewall devices may allow transparent data unit transmission between the network devices, while protecting against network-based security attacks through the implementation of firewall security policies at the one or more firewall devices. Implementation of firewalls in association with network devices imposes security protection at diverse locations in a network, and not just at the periphery of the network, thus serving to reduce security attacks throughout portions of the network in which firewall devices have been installed.
Exemplary Network
FIG. 1A illustrates an exemplary network 100 prior to implementation of firewall security between network devices consistent with principles of the invention. Network 100 may include network devices 105-1 through 105-N (collectively referred to as network devices 105 and referred to in the singular as network device 105-J, where J may include any number from 1 to N) interconnected via various links, where the links may include wired, wireless or optical connection links. Each of network devices 105 may include a router, a switch, a gateway, a hub, or other types of network devices that operate at intermediate locations within network 100 (i.e., not at endpoints, such as hosts or servers) and which store and forward data units towards network destinations.
Each of network devices 105 may route data units from a source (not shown) to a destination (not shown) in network 100. A data unit refers to any type of data, including, for example, packets, cells, datagrams, fragments of packets, fragments of datagrams or cells, or a combination of these types of data. Each network device 105-J may not implement firewall security for protecting each network device 105-J from various types of network-based security threats.
As shown in FIG. 1A, network devices 105-1 and 105-2 have been labeled as “upstream” network devices and network devices 105-3 through 105-N have been labeled as “downstream” network devices. Designation of network devices 105 as “upstream” or “downstream” involves an arbitrary selection of traffic traveling in one direction in network 100 as including “upstream” traffic and traffic traveling in the other direction as “downstream” traffic. Traffic, however, may traverse network 100 in any direction. In some implementations, downstream network devices 105-3 through 105-N may receive same session traffic from multiple upstream network devices via, for example, load balancing techniques. A session refers to a series of sequentially designated data units sent from a source to a destination in network 100.
FIG. 1B illustrates the insertion of firewall devices 110-1 through 110-M (collectively referred to as firewall devices 110 and referred to in the singular as firewall device 110-K, where K may include any number from 1 to M) between network devices 105 of network 100. As shown in FIG. 1B, a firewall device 110-K may be inserted along each link between network devices 105 in network 100. For example, firewall device 110-1 may be inserted in the links between network device 105-1 and network devices 105-3, 105-4, 105-5 and 105-N. As another example, firewall device 110-M may be inserted along each link between network device 105-2 and network devices 105-3, 105-4, 105-5 and 105-N. Firewall devices 110 implement session firewall security that protects each network device from network-based security threats. Each of firewall devices 110 may communicate with every other firewall device in network 100 to synchronize session information via one or more links 115.
The number of elements illustrated in FIGS. 1A and 1B are provided for explanatory purposes only. A typical network may include more or fewer elements than are illustrated in FIGS. 1A and 1B and may be configured differently.
Exemplary Firewall Device
FIG. 2A illustrates exemplary components of a firewall device 110-K consistent with principles of the invention. Firewall device 110-K receives incoming data units from an output interface of a network device 105-J, processes the data units in accordance with its firewall security policy, and outputs the data units on interfaces that lead to a “next hop” network device. In this manner, data units may pass, transparently, from one network device to another network device through the firewall implemented at firewall device 110-K.
As illustrated, firewall device 110-K may include multiple input interfaces 205-1 through 205-4 (collectively referred to as input interfaces 205 and referred to in the singular as input interface 205-L, where L may include any integer from 1 to 4), a switch fabric 210, and multiple output interfaces 215-1 through 215-4 (collectively referred to as output interfaces 215 and referred to in the singular as output interface 215-x, where x may include any number from 1 to 4). The number of input interfaces 205 and output interfaces 25 shown in FIG. 2A is for illustrative purposes only. Firewall device 110-K may include more, or fewer, interfaces than those shown. Each of input interfaces 205 may either set up switch fabric 210 to deliver a data unit to a corresponding output interface 215-x (e.g., input interface 205-1 to output interface 215-1, input interface 205-2 to output interface 215-2, etc.), or attach information to the data unit (e.g., output interface number) to allow switch fabric 210 to deliver the data unit to a corresponding output interface 215-x. Each of output interfaces 215 may queue data units received from fabric 210 and transmit the data units on to a “next hop” network device 105-J. Designation of the interfaces 205 or 215 of firewall device 110 as “input” or “output” interfaces involves an arbitrary selection of traffic traveling in one direction through firewall device 110. Data units may also be received at output interfaces 215 and be forwarded to input interfaces 205 via fabric 210.
FIG. 2B illustrates implementation of “virtual wires” 220-1 through 220-4 (collectively referred to as virtual wires 220 and referred to in the singular as virtual wire 220-y, where y may include any integer from 1 to 4) in a firewall device 110-K consistent with principles of the invention. Each of virtual wires 220 includes a pair of physical interfaces in which data units received at one interface in the pair, including unicast, multicast, and broadcast data units, can only be forwarded to the other interface of the pair. Each of virtual wires 220 thus includes a dedicated path from an input interface 205-L to a corresponding output interface 215-x, or from an output interface 215-x to a corresponding input interface 205-L, that maintains an identical path from a source network device to a destination network device that existed prior to insertion of a firewall device 110-K between the two network devices. Insertion of a firewall device 110-K and use of virtual wires 220 preserves the original network topology and routing while, at the same time, providing security services. Due to the dedicated pairs of physical interfaces, each downstream network device from its own standpoint appears directly connected to an upstream network device, in spite of insertion of a firewall device 110-K in between.
For illustrative purposes, FIG. 2C depicts the implementation of virtual wires 220 within firewall devices 110 of network 100. As shown in FIG. 2C, each virtual wire 220 provides a dedicated interconnection between a specific interface of a first network device (e.g., network device 105-1), and a specific interface of a second network device (e.g., network device 105-3).
Exemplary Session Table
FIG. 3 illustrates an exemplary session table 300, associated with a firewall device 110-K, consistent with the principles of the invention. Session table 300 may be stored in a memory (not shown) within firewall device 110-K, or may be stored in a memory external to firewall device 110-K. Session table 300 may include one or more table entries 305-1 through 305-P (collectively referred to as table entries 305), each of which may include a session identifier 310 and a session sequence number 315. Session ID 310 may identify a series of data units sent between a source and destination in network 100. Session sequence number 315 may identify the sequence number associated with the most recent data unit of a session received at a firewall device 110-K.
Exemplary Data Unit Handling Process
FIGS. 4-5 are flowcharts that illustrate an exemplary process, consistent with principles of the invention, for handling data units associated with sessions that are received at a firewall device 110-K. The exemplary process of FIGS. 4-5 may be implemented as software, hardware or firmware in an input interface 205-L, or an output interface 215-x, of a firewall device 110-K, or in any combination of software, hardware or firmware.
The exemplary process may begin with the receipt of a data unit, associated with a session, at an input interface 205-L or an output interface 215-x (act 405) (FIG. 4). The data unit may include header information that includes a source network address that identifies the source of the data unit, a destination network address that identifies the destination of the data unit in network 100, and a data unit sequence number that indicates a temporal placement of the data unit within a series of data units that comprise a session (i.e., a series of data units sent between the source and destination). Consistent with one aspect, the data unit may include a session establishment data unit, such as, for example, a Transmission Control Protocol (TCP) SYN data unit, that establishes a data session between a source and destination in network 100. Consistent with another aspect, the data unit may include a session termination data unit, such as, for example, a TCP FIN data unit, that terminates a session between a source and destination in network 100. Consistent with a further aspect, the data unit may include a conventional data “payload” sent from the source to the destination.
A determination may be made whether the received data unit includes a session establishment data unit (act 410). The session establishment data unit may include, for example, a TCP SYN data unit. If the received data unit does not include a session establishment data unit, the exemplary process may continue at act 505 below. If the received data unit does include a session establishment data unit, then a corresponding session entry 305 may be created in session table 300 (act 415). Session information may be stored in the session entry (act 420). The session information may include, for example, a session identifier 310 and a session sequence number 315. The session information may then also be sent to another firewall device(s) 110 in network 100 via link 115 (act 425). The session information sent to the other firewall device(s) 110 may notify the device(s) 110 of the establishment of the session.
If the data unit does not include a session establishment unit, then it may be determined whether the data unit includes a session termination data unit (act 505) (FIG. 5). The session termination data unit may include, for example, a TCP FIN data unit. If the data unit does include a session termination data unit, the corresponding entry 305 may be deleted from session table 300 (act 510) and any other firewall device(s) 110 may be notified of the session termination (act 515). The other firewall device(s) 110 may be notified via link(s) 115.
If the data unit does not include a session termination data unit, then the data unit may be processed by firewall device 110-K in accordance with the identified session and a firewall security policy (act 520). Each input interface 205-L, or output interface 215-x, of firewall device 110-K may enforce the firewall security policy using conventional techniques, such as, for example, conventional service control, direction control, user control, and behavior control techniques. Service control techniques determine the types of Internet services that can be accessed, either inbound or outbound. For example, the firewall may filter data units on the basis of Internet Protocol (IP) address and TCP port number. Direction control techniques determine the direction in which particular service requests may be initiated and allowed to flow through the firewall. User control techniques control access to a service according to which user is attempting to access it. Behavior control techniques control how particular services may be used. For example, the firewall may filter e-mail to eliminate spam, or it may enable external access to only a portion of the information on a local web server. Consistent with aspects of the invention, the firewall security policy may employ the above conventional techniques, and others not enumerated here.
The data unit may be forwarded to the corresponding output interface 215-x, or input interface 205-L (act 525). Only those data units that satisfy the firewall security policy may be forwarded to a corresponding output, or input, interface. Data units that fail to satisfy the firewall security policy may be deleted, or quarantined. The data unit may be forwarded from an input interface 205-L to an output interface 215-x via a corresponding virtual wire 220-y. If the data unit is received at an output interface 215-x, then the data unit may be forwarded to an input interface 205-L via a corresponding virtual wire 220-y. For example, as shown in FIG. 2B, a data unit received at input interface 205-1 may be forwarded to output interface 215-1 via virtual wire 220-1. Any session state changes noted by firewall device 110 may be synchronized with other firewall devices (act 530). For example, session age-out times, such as those that used in TCP, may elapse, and the corresponding “aged-out” sessions may be deleted from table 300. For example, if session_ID_1 is “aged-out,” then the corresponding table entry 305 may be deleted from table 300.
Synchronization of session state changes between the firewall devices 110 in network 100 may permit the establishment of asymmetric sessions in network 100. A session is asymmetric if data units of the session flow through one firewall device in a downstream direction (e.g., from network device 105-1 towards network devices 105-3 through 105-N) while data units of the session flow in an upstream direction (e.g., from network device 105-5 towards network devices 105-1 or 105-2) through another firewall device. To support asymmetric sessions, session information needs to be resident in firewall devices 110-1 through 110-M to correctly process all session data units in accordance with the firewall security policy.
The exemplary process of FIGS. 4-5 may be repeated for each data unit received at firewall device 110-K.
CONCLUSION
The foregoing description of preferred embodiments of the present invention provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. For example, although the implementations herein are described in terms of firewalls, any type of security device may be used without departing from the principles of the invention. Such security devices may include any type of security devices, including, in addition to firewalls, intrusion detection and prevention devices, virtual private network devices, security devices combining multiple types of security functionality, and combinations of security devices. While series of acts have been described in FIGS. 4-5, the order of the acts may vary in other implementations consistent with the present invention. Also, non-dependent acts may be performed in parallel.
No element, act, or instruction used in the description of the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise. The scope of the invention is defined by the claims and their equivalents.

## Claims

1. A security device to be interconnected, via a plurality of links, between a first network device and a plurality of second network devices in a network, the security device comprising:
a plurality of first interfaces, within the security device, to:
receive data units from the first network device destined for different ones of the plurality of second network devices,
identify a session associated with each of the data units, and
process the data units in accordance with the identified sessions and a firewall security policy;

a switch fabric to receive, based on the processing, select ones of the data units forwarded from the plurality of first interfaces; and
a plurality of second interfaces, within the security device, to receive the select ones of the data units via virtual wires,
where each of the plurality of first interfaces are further to:
establish, through the switch fabric, the virtual wires,
where each of the virtual wires provides a dedicated interconnection, through the switch fabric, between one of the plurality of first interfaces and a corresponding one of the plurality of second interfaces, and
where the dedicated interconnection preserves a network topology associated with the transmission of data units between the first network device and the different ones of the plurality of second network devices prior to the security device being interconnected via the plurality of links.

2. The security device of claim 1, where each of the plurality of first interfaces is mapped to only one of the plurality of second interfaces.

3. The security device of claim 1, where each of the plurality of first interfaces is further to:
forward only those of the one or more of the data units that satisfy the firewall security policy to the corresponding one of the plurality of second interfaces.

4. The security device of claim 1, where the plurality of first interfaces is further configured to at least one of:
receive session synchronization information, related to the identified sessions, from other firewall devices in the network, or
provide session synchronization information, related to the identified sessions, to other firewall devices in the network.

5. The security device of claim 4, where the session synchronization information indicates an establishment of a new session or a termination of an existing session and includes a session identifier for the new or the existing session.

6. The security device of claim 1, where the session comprises a sequence of data units sent between a source and a destination in the network.

7. A security device to be interconnected, via a plurality of links, between a first network device and plurality of second network devices in a network, the security device comprising:
a plurality of first interfaces, within the security device, where each first interface is to:
establish, based on a network topology associated with the network prior to the security device being interconnected between the first network device and the plurality of second network devices, a plurality of virtual wires through a switch fabric of the security device, where each of the plurality of virtual wires includes a pair of physical interfaces, the pair of physical interfaces including one of the plurality of first interfaces and a corresponding one of a plurality of second interfaces,
implement a firewall security policy for protecting against network-based security threats,
receive data units from the first network device destined for ones of the plurality of second network devices,
process the data units according to the firewall security policy, and
selectively output, via one of the plurality of virtual wires corresponding to a path associated with a transmission of data between the first network device and the corresponding one of the plurality of second network devices associated with the network topology of the network prior to the security device being interconnected, each one of the data units to the corresponding one of the plurality of second interfaces, based on a result of processing the data units according to the firewall security policy;

the switch fabric to receive the data units from each of the plurality of first interfaces; and
the plurality of second interfaces, within the security device, to receive data units forwarded by the plurality of first interfaces via the plurality of virtual wires, where a particular virtual wire, of the plurality of virtual wires, provides a dedicated path between only one first interface, of the plurality of first interfaces, and only one second interface, of the plurality of second interfaces.

8. The security device of claim 7, where each of the plurality of second interfaces is to enforce the firewall security policy on other data units received from the ones of the plurality of second network devices, and forward one or more of the other data units within the security device to corresponding ones of the plurality of first interfaces via corresponding ones of the plurality of virtual wires.

9. The security device of claim 8, where each of the plurality of first interfaces is further to:
forward only those of the one or more of the data units that satisfy the firewall security policy to the corresponding one of the plurality of second interfaces.

10. The security device of claim 8, where the plurality of first interfaces and the plurality of second interfaces are further to:
receive session synchronization information, related to select ones of the data units, from other security devices in the network, or
provide session synchronization information, related to select ones of the data units, to other security devices in the network.

11. The security device of claim 10, where the session synchronization information indicates an establishment of a new session or a termination of an existing session.

12. A method, comprising:
interconnecting a security device between a first network device and multiple other network devices in a network by coupling each output interface of the first network device to a different first interface of the security device;
mapping each first interface of the security device to a respective different second interface of the security device;
setting up, based on the mapping, dedicated connections, through a switch fabric, to deliver data units from the first interfaces to the respective second interfaces to which each of the first interfaces is mapped;
coupling each second interface to a different one of the multiple other network devices to maintain a path from the first network device to the different one of the multiple other network devices that existed prior to interconnecting the security device;
performing security related processing of the data units received from the first network device, in accordance with security policies implemented by each of the first interfaces;
selectively forwarding, via the dedicated connections through the switch fabric and based on the security related processing, the data units received from the first network device at the first interfaces to the respective second interfaces to which each of the first interfaces is mapped; and
routing the data units forwarded from the first interfaces via the respective second interfaces to the multiple other network devices.

13. The method of claim 12, further comprising:
routing data units received from ones of the multiple other network devices at the second interfaces, via respective first interfaces to which each of the second interfaces is mapped, to the first network device.

14. The method of claim 12, further comprising:
synchronizing session information between the security device and another security device, where the session information identifies a series of data units sent between a source and destination in the network.

15. A security device to be interconnected, via a plurality of links, between a plurality of network devices in a network, the security device comprising:
a first interface coupled to a first network device of the plurality of network devices;
a second interface coupled to the first network device;
a third interface coupled to a second network device of the plurality of network devices;
a fourth interface coupled to a third network device of the plurality of network devices; and
a switch fabric coupled to each of the first, second, third, and fourth interfaces,
where each of the first, the second, the third, and the fourth interfaces implement a security policy,
where the first interface is to:
establish, through the switch fabric, a first virtual wire to deliver data units that satisfy a first security policy to the third interface, where establishing the first virtual wire maintains a path between the first network device and the second network device that existed prior to the security device being interconnected, and

where the fourth interface is to:
establish, through the switch fabric, a second virtual wire to deliver data units that satisfy a second security policy to the second interface, where establishing the second virtual wire maintains a path between the fourth network device and the first network device that existed prior to the security device being interconnected, and

where all data units received at the first interface, that satisfy the first security policy, are delivered exclusively via the first virtual wire to the third interface and forwarded to the second network device via the third interface, and where all data units received at the fourth interface, that satisfy the second security policy, are delivered exclusively via the second virtual wire to the second interface and forwarded to the first network device via the second interface.

16. The security device of claim 15, where the data units received at the first interface comprise a session that includes a series of data units from the first network device intended for the second network device.

17. The security device of claim 16, where the first interface records session information related to the session, where the session information includes a session identifier for the series of data units between the first network device and the second network device.

18. The security device of claim 17, where the first interface notifies another security device, in the network, of the session information.

19. The security device of claim 15, where the first interface is to attach information to the data units that satisfy the first security policy to allow the switch fabric to deliver the data units that satisfy the first security policy to the third interface, and the fourth interface is to attach information to the data units that satisfy the second security policy to allow the switch fabric to deliver the data units that satisfy the second security policy to the second interface.