|Publication number||US20030229703 A1|
|Application number||US 10/165,079|
|Publication date||Dec 11, 2003|
|Filing date||Jun 6, 2002|
|Priority date||Jun 6, 2002|
|Also published as||US8448189, US20100257607|
|Publication number||10165079, 165079, US 2003/0229703 A1, US 2003/229703 A1, US 20030229703 A1, US 20030229703A1, US 2003229703 A1, US 2003229703A1, US-A1-20030229703, US-A1-2003229703, US2003/0229703A1, US2003/229703A1, US20030229703 A1, US20030229703A1, US2003229703 A1, US2003229703A1|
|Inventors||Dolapo Falola, Vinit Jain, Shannon MacAlpine, Shawn Mullen, James Tesauro|
|Original Assignee||International Business Machines Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (5), Referenced by (10), Classifications (5), Legal Events (1)|
|External Links: USPTO, USPTO Assignment, Espacenet|
 1. Technical Field
 The present invention relates generally to an improved data processing system, and in particular, to a method and apparatus for handling intrusions. Still more particularly, the present invention provides a method and apparatus for identifying the source of an intrusion into a network data processing system.
 2. Description of Related Art
 Network data processing systems are commonly used in all aspects of business and research. These networks are used for communicating data and ideas as well as providing a repository to store information. Further, in many cases the different nodes making up a network data processing system may be employed to process information. Individual nodes may have different tasks to perform. Additionally, it is becoming more common to have the different nodes work towards solving a common problem, such as a complex calculation. A set of nodes participating in a resource sharing scheme is also referred to as a “grid” or “grid network”. For example, nodes in a grid network may share processing resources to perform a complex computation, such as deciphering keys.
 The nodes in a grid network may be contained within a network data processing system, such as a local area network (LAN) or a wide area network (WAN). These nodes also may be located in different geographically diverse locations. For example, different computers connected to the Internet may provide processing resources to a grid network. By applying the use of thousands of individual computers, large problems can be solved quickly. Grids are used in many areas, such as cancer research, physics, and geosciences. One problem with grids is that they are inherently vulnerable to network hacking because of the larger number of nodes typically present in grids.
 Currently, hackers attack victim computers through a maze of network hops to mask the true location and identity of the source of the attacks. Typically, a hacker or other unauthorized user will take over one node and then from that node take over another node. This series of takeovers occurs until reaching a targeted victim. Current computer forensic methods may take months to track down a hacker if identifying a source is even possible. Therefore, it would be advantageous to have an improved method, apparatus, and computer instructions for identifying and tracking intrusions into nodes in a network data processing system, such as a grid.
 The present invention provides a method, apparatus, and computer instructions for handling intrusions. A tracer packet is sent back to an intruder causing the intrusion in response to receiving notification of an intrusion from a particular node in a network data processing system. Nodes in the network data processing system are notified of the tracer packet. Identification of the node is stored for use in tracing a route of the tracer packet through the data processing system in response to receiving a message from a node indicating receipt of the tracer packet.
 The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
FIG. 1 depicts a pictorial representation of a network of data processing systems in which the present invention may be implemented;
FIG. 2 is a block diagram of a data processing system that may be implemented as a server in accordance with a preferred embodiment of the present invention;
FIG. 3 is a block diagram illustrating a data processing system in which the present invention may be implemented;
FIG. 4 is a diagram illustrating components used in tracking the source of an intrusion into a network data processing system in accordance with a preferred embodiment of the present invention;
FIG. 5 is a diagram illustrating a set of connection parameters in accordance with a preferred embodiment of the present invention;
FIG. 6 is an example of a tracer packet illustrated in accordance with a preferred embodiment of the present invention;
FIG. 7 is a flowchart of a process used for handling detection of an intrusion in accordance with a preferred embodiment of the present invention;
FIG. 8 is a flowchart of a process used for monitoring for tracer packets in accordance with a preferred embodiment of the present invention; and
FIG. 9 is a flowchart of a process used for handling a report of an intrusion in accordance with a preferred embodiment of the present invention.
 With reference now to the figures, FIG. 1 depicts a pictorial representation of a network of data processing systems in which the present invention may be implemented. Network data processing system 100 is a network of computers in which the present invention may be implemented. Network data processing system 100 contains a network 102, which is the medium used to provide communications links between various devices and computers connected together within network data processing system 100. Network 102 may include connections, such as wire, wireless communication links, or fiber optic cables. In the depicted example, server 104 is connected to network 102 along with storage unit 106. In addition, clients 108, 110, and 112 are connected to network 102. These clients 108, 110, and 112 may be, for example, personal computers or network computers. In the depicted example, server 104 provides data, such as boot files, operating system images, and applications to clients 108-112. Clients 108, 110, and 112 are clients to server 104. Network data processing system 100 may include additional servers, clients, and other devices not shown.
 In the depicted example, network data processing system 100 is the Internet with network 102 representing a worldwide collection of networks and gateways that use the Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols to communicate with one another. At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers, consisting of thousands of commercial, government, educational and other computer systems that route data and messages. Of course, network data processing system 100 also may be implemented as a number of different types of networks, such as for example, an intranet, a local area network (LAN), or a wide area network (WAN). FIG. 1 is intended as an example, and not as an architectural limitation for the present invention. The different servers and clients within network data processing system 100 are also referred to as nodes.
 Referring to FIG. 2, a block diagram of a data processing system that may be implemented as a server, such as server 104 in FIG. 1, is depicted in accordance with a preferred embodiment of the present invention. Data processing system 200 may be a symmetric multiprocessor (SMP) system including a plurality of processors 202 and 204 connected to system bus 206. Alternatively, a single processor system may be employed. Also connected to system bus 206 is memory controller/cache 208, which provides an interface to local memory 209. I/O bus bridge 210 is connected to system bus 206 and provides an interface to I/O bus 212. Memory controller/cache 208 and I/O bus bridge 210 may be integrated as depicted.
 Peripheral component interconnect (PCI) bus bridge 214 connected to I/O bus 212 provides an interface to PCI local bus 216. A number of modems may be connected to PCI local bus 216. Typical PCI bus implementations will support four PCI expansion slots or add-in connectors. Communications links to clients 108-112 in FIG. 1 may be provided through modem 218 and network adapter 220 connected to PCI local bus 216 through add-in boards.
 Additional PCI bus bridges 222 and 224 provide interfaces for additional PCI local buses 226 and 228, from which additional modems or network adapters may be supported. In this manner, data processing system 200 allows connections to multiple network computers. A memory-mapped graphics adapter 230 and hard disk 232 may also be connected to I/O bus 212 as depicted, either directly or indirectly.
 Those of ordinary skill in the art will appreciate that the hardware depicted in FIG. 2 may vary. For example, other peripheral devices, such as optical disk drives and the like, also may be used in addition to or in place of the hardware depicted. The depicted example is not meant to imply architectural limitations with respect to the present invention.
 The data processing system depicted in FIG. 2 may be, for example, an IBM eServer pSeries system, a product of International Business Machines Corporation in Armonk, N.Y., running the Advanced Interactive Executive (AIX) operating system or LINUX operating system.
 With reference now to FIG. 3, a block diagram illustrating a data processing system is depicted in which the present invention may be implemented. Data processing system 300 is an example of a client computer. Data processing system 300 employs a peripheral component interconnect (PCI) local bus architecture. Although the depicted example employs a PCI bus, other bus architectures such as Accelerated Graphics Port (AGP) and Industry Standard Architecture (ISA) may be used. Processor 302 and main memory 304 are connected to PCI local bus 306 through PCI bridge 308. PCI bridge 308 also may include an integrated memory controller and cache memory for processor 302. Additional connections to PCI local bus 306 may be made through direct component interconnection or through add-in boards. In the depicted example, local area network (LAN) adapter 310, SCSI host bus adapter 312, and expansion bus interface 314 are connected to PCI local bus 306 by direct component connection. In contrast, audio adapter 316, graphics adapter 318, and audio/video adapter 319 are connected to PCI local bus 306 by add-in boards inserted into expansion slots. Expansion bus interface 314 provides a connection for a keyboard and mouse adapter 320, modem 322, and additional memory 324. Small computer system interface (SCSI) host bus adapter 312 provides a connection for hard disk drive 326, tape drive 328, and CD-ROM drive 330. Typical PCI local bus implementations will support three or four PCI expansion slots or add-in connectors.
 An operating system runs on processor 302 and is used to coordinate and provide control of various components within data processing system 300 in FIG. 3. The operating system may be a commercially available operating system, such as Windows XP, which is available from Microsoft Corporation. An object oriented programming system such as Java may run in conjunction with the operating system and provide calls to the operating system from Java programs or applications executing on data processing system 300. “Java” is a trademark of Sun Microsystems, Inc. Instructions for the operating system, the object-oriented operating system, and applications or programs are located on storage devices, such as hard disk drive 326, and may be loaded into main memory 304 for execution by processor 302.
 Those of ordinary skill in the art will appreciate that the hardware in FIG. 3 may vary depending on the implementation. Other internal hardware or peripheral devices, such as flash read-only memory (ROM), equivalent nonvolatile memory, or optical disk drives and the like, may be used in addition to or in place of the hardware depicted in FIG. 3. Also, the processes of the present invention may be applied to a multiprocessor data processing system.
 The depicted example in FIG. 3 and above-described examples are not meant to imply architectural limitations. As a further example, data processing system 300 may be a personal digital assistant (PDA) device or a notebook computer.
 The present invention recognizes that one characteristic of a grid is that different nodes within the grid may be geographically diverse. The nodes may be scattered throughout the Internet. The present invention takes advantage of this characteristic in providing a security tool. Routers are used to segregate Internet protocol (IP) packets and keep packets in line to their destination. Although this feature often prevents an unauthorized intruder from being easily tracked down, the present invention also recognizes that IP packets originating from a hacker can be uniquely identified by the IP checksum or very accurately identified by computing a digest on the packet of payloads. The present invention recognizes that these packets cannot be detected from a single point, but within a network data processing system, such as a LAN, a WAN, or the Internet, a central command point may be employed to tell different nodes within a network what IP packet characteristics should be reported. The reports of IP packets meeting these characteristics may be used by the central command point to identify a route back to the source of the intrusion.
 With reference now to FIG. 4, a diagram illustrating components used in tracking the source of an intrusion into a network data processing system is depicted in accordance with a preferred embodiment of the present invention. In this example, nodes, 400, 402, 404, 406, 408, 410, and 412 are nodes in a grid. Nodes 414, 416, and 418 are nodes that are not part of the grid. In this example, these nodes are all nodes that are part of the Internet. Node 414 is the hacker source in this example, while node 406 is the victim. A hacker connects from node 414 and makes a connection to node 416. This connection may be, for example, via telnet. The hacker takes over node 416 and from this node attacks and takes over node 418. From node 418, the hacker attacks and takes over node 402 and uses this node to connect to and take over node 404. From node 404, the hacker reaches and attacks node 406, which is the victim.
 In this example, the hacker at node 414 breaks into multiple machines making it difficult to trace the source of the attack. Node 406 detects an attack, but only sees packets originating from node 404. In this example, the mechanism of the present invention is able to trace a path back to node 414 through connections 420 and 422 to identify a point in which the hacker first entered the grid.
 Basically, node 406, upon detecting the intrusion, does not break communication with the attacker. Node 406, however, does not send or receive data using the connection established by the hacker to avoid any further damage to this node. Node 406 notifies a “grid security eye”, which is a central command point for use in identifying a source of intrusions. In this example, the grid security eye is embodied in node 400. The notification includes connection parameters for the connection made by the intruder, which is illustrated in FIG. 5.
 Turning now to FIG. 5, a diagram illustrating a set of connection parameters is depicted in accordance with a preferred embodiment of the present invention. In this example, connection parameters 500 contains connection information, such as source IP address 502, destination IP address 504, protocol 506, ports 508, and sequence number 510. Connection parameters 500 are illustrated as examples and the particular parameters may vary depending on the type of connection used in the intrusion.
 With reference back to FIG. 4, when the grid security eye, represented by node 400, receives connection parameters, such as connection parameters 500 in FIG. 5, from node 406, tracer packet 424 is generated. This tracer packet is made to appear is if it originated from the victim node, node 406. An example of a tracer packet is illustrated in FIG. 6, which is a diagram illustrating a tracer packet used to identify the source of an intrusion. Tracer packet 600 includes a header 602 and a payload 604. As formed by the grid security eye, tracer packet 600 includes source 606 and destination 608. Source 606 is the IP address of the victim while destination 608 is the IP address of the node next to the victim. In this example, the source is node 406 and the destination is node 404 in FIG. 4.
 In this example, payload 604 includes identifier 610. In this example, the identifier may be used to generate a unique digital fingerprint. An algorithm, such as MD5 or SHA, may be used to generate a digital fingerprint from this identifier. Identifier 610 is tailored for the type of connection used by the hacker. For example, if the connection is through a telnet session, identifier 610 and payload 604 would include a series of spaces and backspaces. Such a payload may cause the cursor at node 414, in FIG. 4, to flutter but would not necessarily tip off the hacker that the intrusion has been identified and is being traced.
 Turning back to FIG. 4, all of the nodes within the grid are notified or requested to monitor for tracer packet 424. In this example, the nodes are sent an identifier, such as identifier 610, in FIG. 6, for use in detecting whether tracer packet 424 has been received by a particular node. Thereafter, tracer packet 424 is sent to node 404 from node 400. As node 404 identifies tracer packet 424 based on the identifier located within tracer packet 424, notification is sent to node 400 that the packet has been received by node 404. Thereafter, node 404 sends tracer packet 424 to node 402, which identifies this packet as a tracer packet and sends tracer packet 424 on to node 418. In addition, node 402 sends a notification or report to node 400 that tracer packet 424 has been received by this node. Node 418 is not part of the grid and will send the packet on to node 416, which in turn sends the packet back to node 414, the source of the intrusion. Node 414 treats tracer packet 424 as a corrupted packet or as garbage and discards tracer packet 424.
 Through these notifications, the entry point into the grid at node 402 is identified and any necessary actions to prevent intrusions at this point may be taken. In some cases, if the hacker is located at a grid node, then the source of the hacker may be pinpointed to a specific machine.
 In some cases, a grid node is not along the path in the connection setup between the hacker source and the victim, but the node may detect a packet that is not intended for the node. In such an instance, the node still alerts the grid security eye of the vicinity of the tracer. In the depicted examples, the ability to track the tracer packet goes beyond having only nodes that are part of the hacker break-in path report detecting the tracer packet. Such a feature allows for a situation in which a hacker breaks into a grid node and disables the node's ability to report seeing a tracer packet. The mechanism of the present invention includes having all participating grid nodes look for the tracer packet. The grid security eye, node 400, sends a message to all participating grid nodes to be on the lookout for the tracer packet. Then, all nodes start monitoring all of the network traffic. This type of monitoring may be performed by monitoring the network in a promiscuous mode (iptrace in AIX, snoop in Solaris). Thus, in a preferred embodiment of the present invention, nodes 412 and 410 would report seeing the tracer packet going into the hacker node 414.
 With reference now to FIG. 7, a flowchart of a process used for handling detection of an intrusion is depicted in accordance with a preferred embodiment of the present invention. The process illustrated in FIG. 7 may be implemented in a node, such as node 406 in FIG. 4.
 The process begins by monitoring for an intrusion (step 700). The monitoring for intrusions may be implemented using various known mechanisms for detecting unauthorized access. For example, promiscuous network monitoring may be employed in which the node sees all network traffic. Examples are Iptrace in AIX and snoop with Solaris.
 A determination is made as to whether an intrusion has been detected (step 702). If an intrusion has been detected, connection parameters are identified (step 704). Examples of connection parameters are illustrated in connection parameters 500 in FIG. 5. of course, the particular types of parameters will depend on the type of connection used in the attack. Notification is sent to the grid security eye (step 706) and communication with the attacker ceases (step 708). The connection is maintained (step 710) and the process terminates thereafter. The connection is maintained to avoid alerting the attacker to the fact that the intrusion has been detected.
 Referring again to step 702, if an intrusion is not detected, the process returns to step 700 as described above.
 Turning now to FIG. 8, a flowchart of a process used for monitoring for tracer packets is depicted in accordance with a preferred embodiment of the present invention. The process illustrated in FIG. 8 may be implemented in a node, such as node 402 or 412 in FIG. 4. Specifically, this process may be implemented in any node within a network.
 The process begins by receiving a packet (step 800). A determination is made as to whether the packet is a tracer packet (step 802). This determination may be made by comparing information in the packet with information received from the grid security eye. For example, this information may be an identifier containing a digital signature. If the packet is a tracker packet, the tracker packet sighting is reported to the security grid eye (step 804) and the process terminates thereafter. This report may include, for example, the identification of the node and a time stamp identifying when a packet was received.
 Referring again to step 802, if the packet is not a tracer packet, the process terminates.
 With reference now to FIG. 9, a flowchart of a process used for handling a report of an intrusion is depicted in accordance with a preferred embodiment of the present invention. The process illustrated in FIG. 9 may be implemented in a command node or grid security eye, such as node 400 in FIG. 4.
 The process begins by receiving an intrusion notification (step 900). In these examples, the intrusion notification also includes connection parameters, such as connection parameters 500 in FIG. 5. A tracer packet is generated (step 902). Notification is sent to all nodes in the grid to snoop for the tracer packet (step 904). This notification allows for all of the nodes in a network to monitor for the tracer packet. For example, an identifier, such as a digital signature or other unique identification information in the payload or elsewhere in the packet may be sent to all of the nodes within the network for use in monitoring for the tracer packet. The tracer packet is sent to the node identified in the connection parameters as the source (step 906). Monitoring for a report of the tracer packet is initiated (step 908).
 Next, a determination is made as to whether a report has been received (step 910). If a report has been received, the node information from the report is stored (step 912). A determination is made as to whether monitoring is completed (step 914). Monitoring may finish or complete if the source or the entry point of the attack is identified. If monitoring is completed, the process terminates. Otherwise, the process returns to step 908 as described above.
 Referring again to step 910, if a report has not been received, a determination is made as to whether a timeout has occurred (step 916). If a timeout has occurred, the process terminates. If a timeout has not occurred, the process returns to step 908 as described above. The reports may be used to generate or identify a route through which the hacker has used to attack the victim. With this information, the location of the hacker or an entry point may be identified with appropriate security measures being taken based on the identification.
 Thus, the present invention provides an improved method, apparatus, and computer instructions for identifying a source of an intrusion. Specifically, the actual location of the hacker or an entry point into the network may be identified using the mechanism of the present invention. A tracer packet and a monitoring process are used to detect a path within the network along which intrusions have occurred. In this manner, attacks on a network, such as a grid, may be quickly identified and handled.
 It is important to note that while the present invention has been described in the context of a fully functioning data processing system, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of a computer readable medium of instructions and a variety of forms and that the present invention applies equally regardless of the particular type of signal bearing media actually used to carry out the distribution. Examples of computer readable media include recordable-type media, such as a floppy disk, a hard disk drive, a RAM, CD-ROMs, DVD-ROMs, and transmission-type media, such as digital and analog communications links, wired or wireless communications links using transmission forms, such as, for example, radio frequency and light wave transmissions. The computer readable media may take the form of coded formats that are decoded for actual use in a particular data processing system.
 The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. In these examples, the processes of the present invention were described as implemented in a grid. The mechanism of the present invention may be applied to other types of networks including, for example, a LAN or a WAN. Further, the mechanism of the present invention may be applied to any type of connection or protocol used in an intrusion. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US2151733||May 4, 1936||Mar 28, 1939||American Box Board Co||Container|
|CH283612A *||Title not available|
|FR1392029A *||Title not available|
|FR2166276A1 *||Title not available|
|GB533718A||Title not available|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US7440434||Dec 29, 2004||Oct 21, 2008||Airtight Networks, Inc.||Method and system for detecting wireless access devices operably coupled to computer local area networks and related methods|
|US7536723 *||Aug 31, 2004||May 19, 2009||Airtight Networks, Inc.||Automated method and system for monitoring local area computer networks for unauthorized wireless access|
|US7710933||Mar 10, 2006||May 4, 2010||Airtight Networks, Inc.||Method and system for classification of wireless devices in local area computer networks|
|US7788721 *||Jan 10, 2007||Aug 31, 2010||Alaxala Networks Corporation||Traffic control method, apparatus, and system|
|US7804808||Sep 18, 2006||Sep 28, 2010||Airtight Networks, Inc.||Method and system for monitoring a selected region of an airspace associated with local area networks of computing devices|
|US7970894||Nov 15, 2007||Jun 28, 2011||Airtight Networks, Inc.||Method and system for monitoring of wireless devices in local area computer networks|
|US7974286||Dec 4, 2006||Jul 5, 2011||International Business Machines Corporation||Reduced redundant security screening|
|US8281400 *||Sep 5, 2002||Oct 2, 2012||Juniper Networks, Inc.||Systems and methods for identifying sources of network attacks|
|US20050195753 *||Dec 29, 2004||Sep 8, 2005||Airtight Networks, Inc. (F/K/A Wibhu Technologies, Inc.)||Method and system for detecting wireless access devices operably coupled to computer local area networks and related methods|
|US20070025313 *||Sep 18, 2006||Feb 1, 2007||Airtight Networks, Inc. (F/K/A Wibhu Technologies, Inc.)||Method and System for Monitoring a Selected Region of an Airspace Associated with Local Area Networks of computing Devices|
|Cooperative Classification||H04L63/1416, H04L2463/146|
|Jun 6, 2002||AS||Assignment|
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FALOLA, DOLAPO MARTIN;JAIN, VINIT;MACALPINE, SHANNON MARIE;AND OTHERS;REEL/FRAME:013008/0810;SIGNING DATES FROM 20020531 TO 20020605