Abstract:
Back door packet communication between a workstation on a network and a device outside the network is identified by detecting packets that are associated with communication involving devices outside the network, and identifying packets, among those detected packets, that are being sent or received by a device that is not authorized for communication with devices outside the network.

Description:
BACKGROUND 
     This invention relates to detecting unauthorized network communication. 
     As seen in FIG. 1, workstations 18 in an internal local area network (LAN) 20 may communicate with the world outside the LAN via authorized gateways 22 that are connected, on one hand, to the LAN, and, on the other hand, to a dedicated or dial-up telephone line 24. The gateways may be set up to prevent unauthorized communication between the LAN workstations and devices located outside the LAN (e.g., a device 26 connected to another LAN which is reached via another gateway 27). Unauthorized communication may still occur inadvertently or intentionally when a LAN workstation 28 is connected directly to the outside world. The same is true in situations where a LAN has no authorized gateway to the outside world. 
     For example, a LAN workstation that includes a modem hooked to a outside telephone line 30, may serve as an unauthorized &#34;back door&#34; that may pass packets back and forth between the outside telephone line and the LAN. To eliminate back door communication, LAN administrators sometimes make a physical inventory of workstations to determine whether any of them are connected to the outside world by a path other than through the authorized gateways. 
     Referring also to FIG. 3, a packet constructed in accordance with the so-called internet protocol (IP) protocol includes an IP portion 69. The IP portion has an IP source address 74 which identifies the source device, and an IP destination address 76 which identifies the target device. While the packet is being communicated within an internal network, the packet also includes a hardware destination address 72 (e.g., the hardware address of a network interface card, or NIC) which identifies a destination device within the network by an address that is unique at least within the internal network. 
     Referring again to FIG. 1, a packet sent by workstation 18 includes the IP address of workstation 18 as the IP source address and the IP address of the target device as the IP destination address. If the target device is within the internal network, the hardware address of the target device is included as the hardware destination address 72. If the target device is not on the internal network, for example device 26, the hardware address of the NIC in gateway 22 is included as the hardware destination address. In this latter case, the gateway removes the hardware addresses from the packet and forwards it to gateway 27. Gateway 27 adds to the packet the hardware address of device 26 as the hardware destination address 72. 
     SUMMARY 
     In general, in one aspect, the invention is used with devices that are coupled by a communication medium to form an internal packet network, at least one of the devices not being an authorized conduit for communication with external devices that are not part of the internal packet network. In the invention, packets are observed while passing on the medium. Based on the observation, packets associated with communication with an external device are detected. For detected packets associated with communication with an external device, a determination is made (e.g., by examining hardware addresses in the packets, or watching for packets indicating that a non-authorized device is advertising routes, or watching for redirect messages being sent by a non-authorized device) whether or not the communication is authorized. 
     Other aspects and features of the invention include the following. The detecting includes comparing address information in the packets (e.g., logical network addresses, such as IP addresses) with address information associated with devices that are part of the internal packet network to determine if the packet involves communication only between devices that are part of the internal packet network. The address information associated with devices that are part of the internal packet network is stored in a look-up table. 
     The hardware addresses that are examined are hardware addresses of network interface cards. The address information that is used for comparison is address information (stored in a look-up table) of devices that are authorized conduits for communication with external devices. 
     The packets are stored temporarily in a look-ahead buffer. Information about the non-authorized communication is reported for use by another process, which may, e.g., raise an alarm or obstruct the passage of the non-authorized packet. 
     In an internal packet network of the kind in which none of the devices are authorized conduits for communication with external devices, an event may be logged with respect to packets intended for communication with an external device even without checking the hardware addresses in the packets. 
     Among the advantages of the invention are that back door communication may be effectively identified in a simple way. The system works automatically. The scanner may be a passive device. The tables may be built easily without requiring a detailed knowledge of hardware addresses. 
     Other advantages and features will become apparent from what follows. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIGS. 1 and 2 are block diagrams of a network. 
     FIG. 3 is a diagram of a portion of a packet. 
     FIG. 4 is a block diagram of a portion of a packet scanner. 
     FIG. 5 is a flow diagram. 
    
    
     DESCRIPTION 
     As seen in FIG. 2, internal LAN 20 includes a physical communication medium 40 (such as twisted pair wiring, optical fibers, or coaxial cable) that interconnects workstations 18, 42, 44. In each workstation 18, the interconnection is made via a network interface card (NIC) 46. Operating system software 48, such as Microsoft Windows NT®, running on the workstation and in a network server 50 implements network packet communication. 
     The network software is layered. The lowest layer, medium access control (MAC) 54, manages the operation of the NIC to achieve the communication of physical bits on the communication medium. The NIC in each workstation has a hardware address 58 that is unique at least among the devices connected in the internal LAN. The hardware address may be set manually using physical switches or manually or automatically using software switches. As seen in FIG. 3, the hardware address may be used as a hardware destination address 72 or a hardware source address 70 within a packet. 
     The packet also includes a network layer source address 74 and destination address 76 (for example, IP addresses). An IP address is a logical address which specifies a device whether or not located on the internal LAN. An IP address may be of the form 206.8.142.10 where the higher order elements (e.g., 206.8.142) of the address hierarchically and globally identify the address of the LAN, and the lower order elements of the address (0.10) identifies a particular device on the LAN. A network mask (e.g., 255.255.255.0) may be provided for masking the address, leaving only the elements that identify a network. This enables a determination whether a particular addressed device (e.g., 0.10) is part of a particular addressed network (e.g., 206.8.142). 
     Referring again to FIG. 2, to identify packets which may be passing via a back door 28, a packet scanner 80 is connected to the internal LAN medium 40. The packet scanner may be implemented as a workstation similar to the other workstations on the LAN but with additional software to perform the scanning operations. 
     Referring to FIG. 4, during scanning operations, the MAC of the packet server operates in a so-called promiscuous listening mode in which it places, in a FIFO look-ahead buffer, every packet P1, P2, . . . that appears on the network medium. The look-ahead FIFO buffer is provided by the MAC layer to make incoming packets available to the layer above it. 
     A layer of software 83 (called the VPN layer and discussed in Alan J. Kirby et al., U.S. patent. application Ser. No. 08/585,765, filed on Jan. 16, 1995 now abandoned in favor of Ser. No. 08/946,941 filed on Oct. 9, 1997) looks, in turn, at each of the packets in the look-ahead buffer on a FIFO basis. 
     The VPN software layer maintains two tables. One table 84 holds a list of subnetwork addresses 86(e.g., 8.142) which represent internal logical networks which are served by the physical network medium to which the packet scanner is connected. Note that, although each of the devices that is physically connected to the physical network medium 40 (FIG. 2) has a unique hardware address, the devices may be grouped logically into internal logical networks each of which may include a subset of all of the physical devices. A second table 88 lists the hardware addresses 90 of only authorized gateways connected to the physical network medium. 
     As seen in FIG. 5, during the scanning loop, after getting (90) the next packet from the look-ahead buffer, the VPN layer compares (92) the source and destination IP addresses with subnetwork addresses in table 86 to determine if the packet is one that both came from and is intended for devices which are within one of the internal networks. If so, it is assumed that the packet did not pass via a back door and the packet is disregarded for further purposes of the scanning loop. Then the next packet is fetched from the buffer 
     If neither of the source or destination IP addresses are associated with internal networks (93), the packet should not be passing on that subnetwork and an event is logged. 
     Otherwise, one and only one of the IP addresses must be of a device not associated with the internal networks; which one has already been determined in steps 92 and 93. For the IP address of the device that is not associated with the internal networks, the VPN layer compares (96) the corresponding hardware address with hardware addresses held in table 88 to determine if the packet came from or is intended for (depending on the particular case) a device that is one of the authorized gateways. If the address is in the table (result of the test is &#34;yes&#34; 99), then the packet is assumed not to have passed via a back door. 
     Otherwise, if the hardware address does not match any of the hardware addresses in the gateway table, it is assumed that it passed or is going to pass via a back door. The VPN layer then performs (98) one or more event routines associated with this occurrence before proceeding to fetch the next packet. 
     The routines may include logging information about the destination and source devices and the content of the packet, the time on which the event occurred, and a variety of other information. The information may be sent to another process or device using an SNMP (simple network management protocol) message or other mechanisms. 
     Even though the hardware address of the backdoor may be determined and reported using the method described above, it may be cumbersome for the LAN administrator to use this information because the hardware addresses of the devices connected to the network medium may not be known. To simplify the administrator&#39;s work, a reverse address resolution protocol (RARP) server 100 (FIG. 2) may be used. The RARP server includes a table that permits it automatically to translate hardware network addresses to IP addresses which are typically well known by the administrator. One of the event routines 98 may be to send the hardware address of the back door to the RARP server for resolution into the corresponding IP address. 
     Similarly, building up table 88 may be a cumbersome job for the administrator who may not know the hardware addresses of the devices connected to the network medium. The table could be built dynamically using an ARP protocol on IP addresses. 
     An example of code which implements a packet scanner is set forth in Appendix A. 
     Other embodiments are within the scope of the following claims. For example, the network protocol need not be IP. 
     The determination of whether or not a packet is involved in an off-network communication need not be based on analysis of IP addresses in the packet. In the case of a routing protocol (such as RIP), the packet scanner could watch for packets indicating that a non-authorized router on its network is advertising routes. In the case of a protocol (such as ICMP), the packet scanner could watch for a &#34;redirect&#34; message which may be sent to force a redirection of a message to an unauthorized gateway. ##SPC1##