WO2006008307A1 - Method, system and computer program for detecting unauthorised scanning on a network - Google Patents

Method, system and computer program for detecting unauthorised scanning on a network Download PDF

Info

Publication number
WO2006008307A1
WO2006008307A1 PCT/EP2005/053518 EP2005053518W WO2006008307A1 WO 2006008307 A1 WO2006008307 A1 WO 2006008307A1 EP 2005053518 W EP2005053518 W EP 2005053518W WO 2006008307 A1 WO2006008307 A1 WO 2006008307A1
Authority
WO
WIPO (PCT)
Prior art keywords
leaf
packets
packet
slot
tcp
Prior art date
Application number
PCT/EP2005/053518
Other languages
French (fr)
Inventor
Alan David Boulanger
Robert William Danford
Kevin David Himberger
Clark Debs Jeffries
Original Assignee
International Business Machines Corporation
Ibm United Kingdom Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/896,733 external-priority patent/US7957372B2/en
Priority claimed from US10/896,680 external-priority patent/US7669240B2/en
Application filed by International Business Machines Corporation, Ibm United Kingdom Limited filed Critical International Business Machines Corporation
Priority to CN2005800228801A priority Critical patent/CN101052934B/en
Priority to JP2007521949A priority patent/JP4743901B2/en
Publication of WO2006008307A1 publication Critical patent/WO2006008307A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service

Definitions

  • the present invention relates to computer networks in general and in particular to detecting and managing malicious traffic in said computer networks and protecting said networks against malicious traffic.
  • the worldwide web (WWW), better known as the Internet, is fast becoming the premier computer network for communicating both private and public information.
  • the Internet is an open network that can be accessed by anyone using primarily a protocol called TCP/IP (Transmission Control Protocol / Internet Protocol) or other protocols. Because of its openness computers on private networks (intranets) are susceptible to malicious attacks by hackers.
  • Computers have become the main instrument of communication for business and government agencies. For example, many business and government agencies use computers and computer networks to link remote offices, share data and other resources among employees within an office or campus, communicate with customers via electronic mail, reach new customers via electronic mail, provide information via web sites, etc.
  • hackers may elect to inflict malicious attacks on computers.
  • One way is to disrupt computers' operation by disseminating programs that take unauthorized control of a computer's operating system.
  • Another way is to discover confidential information about assets in the computer or a subnet in the network for the purpose of deleting data, modifying date and/or copying data. Any of these actions could adversely affect a home, business, or governmental agency network.
  • Port scanning is one of the techniques used by hackers or attackers to gather information relative to one host or several hosts. When several hosts are involved the technique is referred to as Distributed Port Scanning.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • SYN Synchronize
  • SYN/ACK Synchronize
  • FIN Null Christmas tree packets
  • any protocol requiring a response may be used for port scanning.
  • the present invention provides a method to detect unauthorized scanning on a network comprising: (a) monitoring traffic received in a network device; (b) detecting a predefined subset of packets within said traffic; and (c) analyzing the predefined subset of packets to detect suspicious packets having predefined statistical characteristics.
  • the method further comprises sounding an alarm indicating detection of packet with the predefined statistical characteristics.
  • the predefined subset of packets relate to TCP (Transmission Control Protocol)/IP (Internet Protocol) set.
  • the predefined subset of packets relate to UDP (User Datagram Protocol) set.
  • the predefined subset of packets include SYN packets from TCP/IP set.
  • the predefined subset of packets include TCP/IP "Christmas tree" packets.
  • the subset of packets include RST packets from TCP/IP set.
  • the subset of packets include null TCP packets from TCP/IP set.
  • the subset of packets include at least two of three bits of a TCP header are set (SYN, RST, FlN) in TCP packets from TCP/IP set.
  • the predefined statistical characteristics include one Source Address (SA), m Destination Address (DA) and n Destination Ports (DP) wherein m > 1 and n > 5.
  • the step of sounding an alarm further includes reporting said suspicious packets to a central administrative authority.
  • said admin ⁇ istrative authority drops all subsequent packets having characteristics like those of the suspicious packets. More preferably, said administrative authority limits all subsequent packets with same SA as the suspicious packets to a rate not likely to cause injury to the network.
  • the method further comprises the step of: providing a look-up structure in a device coupled to said network, said look-up structure being logically equivalent to a search tree having a first portion partitioned into a plurality of slots with at least one slot operatively coupled to a tree structure; receiving network traffic in the device; analyzing the network traffic with a programmed CPU to detect TCP/IP packets having a predefined statistical characteristic; for each TCP/IP packet so detected using said programmed CPU to generate a hashed value from Source Address (SA) and Destination Address (DA); using the hashed value to index into a slot; examining the slot for a pointer; if no pointer is found, inserting a new leaf with SA and DA being identifier of said leaf; storing in said leaf an address for a Destination Port (DP) contained in said each TCP/IP packet; and creating a pointer in said slot that points to the leaf.
  • SA Source Address
  • DA Destination Address
  • the method further comprises the step of: if a pointer is in the slot, using said pointer to access a leaf; examining contents of said leaf to detect addresses of Destination Ports (DP) recorded therein; comparing number of addresses so detected with a threshold value; and performing a second tier look-up if number of addresses equals or exceeds the threshold value.
  • DP Destination Ports
  • the method further comprises the step of: including adding
  • the present invention provides a system to detect scanning on a network comprising: a memory; a look-up data structure operatively configured within said memory; and a processor executing a set of algorithms that correlate predefined packets with the look-up data structure to detect predefined packets having predefined statistical characteristics and issuing an alarm message to alert an administrator when predefined packets having the predefined statistical charac ⁇ teristics are detected.
  • the look-up data structure includes a logically equivalent of a search tree. More preferably, a first portion of the search tree tests many bits of the predefined packets. Still more preferably, the first portion of the search tree includes a direct table.
  • the predefined statistical characteristics include one
  • the predefined statistical characteristics include one Source Address (SA), m Destination Address (DA) with m > 1 and n Destination Ports, n > 1.
  • the set of algorithm includes at lest one detection algorithm. More preferably, the set of algorithm includes insertion on Direct Table (DT) algorithm. Still more preferably, the set of algorithm includes insertion new tree algorithm. Preferably, the set of algorithms includes insertion larger tree algorithm. More preferably, the set of algorithms includes threshold algorithm. Still more preferably, the set of algorithms includes deletion algorithm.
  • the present invention provides a computer program comprising program code means adapted to perform all the steps of the above described method when said program is run on a computer.
  • Unauthorized entries to network devices such as hosts (computers) are done in two stages, namely reconnaissance and attack.
  • reconnaissance stage information about computers is gathered.
  • the gathered information is used to disrupt computing activities during the attack stage.
  • the present invention detects unauthorized scanning (also called reconnaissance) during the reconnaissance stage and takes corrective action set forth herein.
  • the system includes a programmed general processor, such as the PowerPC, or specialized processors, such as the PowerNP coacting with a lookup and recording structure to detect within high bandwidth traffic TCP/IP SYN (Synchronize) or RST (Reset) packets characterized by one Source Address (SA), one or a few Destination Addresses (DAs) and a few (less than 4) or many (greater than 4) Destination Ports (DP). TCP/IP packets meeting these characteristics are flagged and reported to admin ⁇ istrative management for further action.
  • a programmed general processor such as the PowerPC
  • specialized processors such as the PowerNP coacting with a lookup and recording structure to detect within high bandwidth traffic TCP/IP SYN (Synchronize) or RST (Reset) packets characterized by one Source Address (SA), one or a few Destination Addresses (DAs) and a few (less than 4) or many (greater than 4) Destination Ports (DP).
  • SA Source Address
  • the lookup and recording structure includes a Direct Table (DT) and associated Patricia trees.
  • DT Direct Table
  • FM Full Match
  • the first tier uses a hash of the SA and DA, in the portion of a received packet known as the key or header, to index into a slot of a first Direct Table. Selected bits from the DA and SA are used to walk the tree associated with the slot until a leaf is reached.
  • the SA and DA in the leaf are compared with SA and DA in the key and if match the DP in the key is compared with a link list of DPs for the same SA and DA. If the DP is new (i.e. No match found) it is added to the list.
  • n is set to 4.
  • This traffic ratio is actually a multiplier that is the number of unique DAs multiplied by the number of unique DPs and ensuring the product is greater than 10 (or another number decided upon). This would allow smaller scans to be discovered, but that are initially crafted to evade even low threshold detectors. This is a technique often employed by attackers, sending recon packets very slowly, as to evade detection.
  • the static number (like 4) would not be used, but rather the multiplier, compared to a static number (like 10). Input to the hash would then consist of the SA only.
  • a list of DAs associated with the SA would be kept. Each DA in the list would be associated with a list of DPs.
  • This larger leaf would allow detection of slow scans to many DA and DP combinations from one or a few SAs. The detection of these scans would be much the same, except instead of comparing the static number (like 4), a count of unique DPs per a DA would be obtained and then multiplied by other DAs (associated with the one SA). The response to such scans with multiple DAs and DPs for a particular SA would continue in the manner described above.
  • the present invention provides a method to detect harmful packets on a computer network including: a) providing at least one algorithm that scans received packets; and b) identifying packets having a predefined format including a single Source Address, (SA), N Destination Addresses (DAs) and M Destination Ports (DPs).
  • SA Source Address
  • DAs N Destination Addresses
  • DPs M Destination Ports
  • the present invention provides a system to detect packets containing harmful code in a computer network comprising: a Network Processor including memory and at least one processing element; a data structure including at least one Patricia Tree arrangement storing at least one rule with bit pattern similar to that of a packet carrying harmful code located within said memory; a computer program deployed on said at least one processing element and if executed causing said processing element to generate keys from predefined fields in predefined packets correlates the key with the rule to identify packets having a single SA (Source Address), a single DP (Destination Port) and many DAs (Destination Addresses).
  • SA Source Address
  • DP Dens Discovery Port
  • the present invention provides a computer program comprising program code means adapted to perform all the steps of the above described method when said program is run on a computer.
  • a detection and response system including a set of algorithms for detection within a stream of normal computer traffic a subset of TCP packets with one IP Source Address (SA), one Destination Port (DP), and a number exceeding a threshold of distinct Destination Addresses (DA).
  • SA IP Source Address
  • DP Destination Port
  • DA Destination Addresses
  • the existence of such a subset and the header values including SA, DP, and multiple DAs of the subset are reported to a network administrator.
  • various administrative responses to reports are provided.
  • the detection system of the present invention includes a computer such as a Network Processor, in which a construct comprising of a Direct Table and Patricia trees are provided in memory. Algorithms are provided to monitor selected network traffic, maintain the construct and correlate keys from the select network traffic with the construct so that Transmission Control Protocol (TCP) Synchronize (SYN) packets having one Source Address (SA), one Destination Port (DP) and many Destination Addresses (DAs) are identified and reported as malicious packets.
  • TCP Transmission Control Protocol
  • SYN Synchronize
  • SA Source Address
  • DP Destination Port
  • DAs Destination Addresses
  • the present invention first compares the raw DP (16 bits) to a relatively short list of well-known DP values that are specified by the administrator.
  • testing for such permissive DP values can be done in datapath software. That is, a small lookup table may be included in the program that processes packets in a programmable processor such as a network processor.
  • the small look-up table would be suitable for testing packet DP membership in a small list of permissive DPs (such as 10 permissive DPs). Another example of a permissive DP in some cases would be 25, the number designating Simple Mail Transfer Protocol (SMTP).
  • SMTP Simple Mail Transfer Protocol
  • the invention would automatically drop packets with illegal settings of header bits or illegal sequences of legal settings, for example, a TCP packet with both SYN and Finish (FlN) bits equal to one or a TCP packet with both SYN and Acknowledgment (ACK) bits set with no corresponding SYN packet having been recorded. Also in a preferred embodiment, the invention would delete lookup entries corresponding to one SA and one or more DAs when a FIN or FTN/ACK packet in the session or sessions is seen.
  • FlN SYN and Finish
  • ACK Acknowledgment
  • the present invention sniffs and detects malicious packets launched under guise of TCP packets used in TCP session.
  • a malicious person may elect to disrupt computer network traffic.
  • One way would be for the malicious person to disseminate a worm or virus in the payload of a Transmission Control Protocol (TCP) session. This could discover vulnerable machines for immediate or later infection.
  • TCP Transmission Control Protocol
  • the dissemination could be a TCP session sent from one IP Source Address (SA)
  • the present invention enables detection of the set of many such SYN packets that would comprise such malicious traffic, all within much larger set of normal traffic. Also, the present invention includes several possible responses to such a detection. [041] That is, the present invention includes an efficient search strategy and algorithm for the detection within high bandwidth traffic of a subset of Synchronize (SYN) packets with one SA, one DP, and many DA values. Some attacks might be purposefully slow, about one to ten packets per second, to avoid notice by anomaly detectors.
  • SYN Synchronize
  • the malicious traffic might be reconnaissance to discover the identity of target machines that support certain applications.
  • the malicious traffic might include a payload that is in itself a virus or worm capable of reconnaissance or gaining unauthorized control of a processor leading to unauthorized access to files, deletion of files, modification of files, or copying of files. Any such SYN traffic is called in this invention an exploit.
  • a programmable processor in a network such as a network processor may include
  • a longer key up to approximately 192 bits, with the IP five-tuple and other header value may be used.
  • the key is hashed to a convenient size, say, 16 bits. For a 16-bit index there would be a Direct Table (DT) with 64K slots. Each slot that stores a memory could point to exactly one leaf or could point to a tree with one or more branches and some leaves. In the tree some additional bits in the raw key are checked until at most one match remains possible (a leaf).
  • DT Direct Table
  • the full key is compared to the full leaf key pattern [with 0, 1, or * (don't care) entries, or high and low range entries], and there is either a hit (that leads to an associated action also recorded in the leaf) or a miss (that leads to a default action).
  • the present invention makes use of FM lookups in a new manner.
  • the goal is not to recognize a particular packet using known parameters and then to apply an action. Rather, there are no known parameters.
  • the goal is to recognize statistical behavior by a set packets with hitherto unknown header bit combinations. This might be called behavior recognition as opposed to conventional packet recognition.
  • the behavior recognition problem addressed by this invention consists of recognizing the fact that a set of SYN packets with one SA, one DP, and many DAs exists within a much larger set of packets.
  • the invention includes recognition and also reporting of the common SA and DP. In alternative embodiments, more than one SA or more than one DP, up to small limits such as two or ten, can be also recognized and reported.
  • the input key for the invention is defined to be the concatenation of SA and DP of every TCP packet.
  • an input key used by the invention is defined to be the concatenation of TCP Source Address (SA) and Destination Port (DP). This value SA, DP is fed as a key to a search engine incorporating a Patricia tree.
  • the present invention hashes the concatenation of the SA and DP (48 bits) to a convenient image (such as 16 bits) in a Direct Table (DT).
  • SA, DP bits must be taken in bit test branches of a tree until we reach a leaf associated with at most one previously seen SA, DP.
  • Each leaf is defined by an SA, DP combination.
  • Each leaf also contains at least one and possibly more DA values.
  • the central administrative authority takes decisive actions to limit harmful effects of said packets. More preferably, the decisive action includes dropping all subsequent packets having the same SA, DA and DP as the identified packets. Still more preferably, the decisive action include adding Destination Port, DP, of said packets to a list of Permissive DPs. Still more preferably, the decisive action includes rate limiting the set of all subsequent packets with the same SA.
  • the SA, DP and many DAs are stored in a leaf of the
  • the Patricia Tree arrangement includes a Direct Table. More preferably, the at least one algorithm is executed on a system operatively coupled to said computer network
  • Figure 1 shows high level components of a network and in particular some potential logical locations of the present invention as detection mechanism.
  • Figure 2 shows high level components of hardware and in particular some potential logical locations of the components needed to enable the present invention.
  • Figure 3 shows a flowchart for the detection portion of the present invention.
  • Figure 4 shows a flowchart for portion of the present invention that pertains to the insertion of a new pointer and new leaf in the Direct Table (DT).
  • Figure 5 shows a flowchart for portion of the present invention that pertains to the insertion of a new Patricia tree in the Direct Table (DT).
  • Figure 6 shows a flowchart for portion of the present invention that pertains to the insertion of a new leaf and new branch within a larger Patricia tree in the Direct Table
  • Figure 8 shows a flowchart for the periodic deletion of all leaves, trees, and pointers to reset the detection apparatus, a portion of the present invention.
  • Figure 9 shows a block diagram of a Network Processor in which the present invention can be implemented.
  • Figure 10 represents IP Datagram Header Format.
  • Figure 11 represents TCP Header Format.
  • Figure 12 represents look-up search structure according to teachings of the present invention.
  • Figure 13 shows a flowchart for the detection portion of the present invention.
  • Figure 14 shows a flowchart for portion of the present invention that pertains to the insertion of a new pointer and new leaf in the Direct Table (DT).
  • Figure 15 shows a flowchart for portion of the present invention that pertains to the insertion of a new Patricia tree in the Direct Table (DT).
  • Figure 16 shows a flowchart for portion of the present invention that pertains to the insertion of a new leaf and new branch within a larger Patricia tree in the Direct Table
  • Figure 18 shows a graphical representation of the look-up data structure according to teachings of the present invention.
  • Computer network administration includes defending network assets from malicious reconnaissance traffic.
  • the reconnaissance traffic in some cases entails a set of packets with one Source Address (SA) corresponding to the attacker, one or a few
  • SA Source Address
  • DA Destination Addresses
  • DP Destination Ports
  • the administrator may rely upon tools, such as the one disclosed in the present invention, to assist in defending the network.
  • tools such as the one disclosed in the present invention
  • an ad ⁇ ministrator may wish to detect such sets of packets as they pass through a switch, router, Network Interface Card (NIC), appliance, or, more generally, a machine capable of classifying, switching, routing, policing functions, or other security functions based upon classification results.
  • NIC Network Interface Card
  • FIG. 1 shows a highly simplified network 100 in which the present invention can be deployed.
  • the Internet or other network 102 connects to Edge devices 104.
  • Each edge device might or might not be provided with detection assembly 108 containing an instance of the invention.
  • Edge devices also connect subnets 106. In turn, two subnets might be connected by a Bridge device 110.
  • a Bridge device might or might not contain an instance of the present invention 112.
  • the edge devices may include routers, switches, servers, etc. Because Edge devices and Bridge devices are well known in the prior art, only those portions that include the teachings of the present invention or are necessary to understand the present invention will be discussed herein.
  • Figure 2 shows block diagram 200 of components within detection assembly 108 of
  • Random Access Memory (RAM) 202 stores updates of information as included in the present invention.
  • a Central Processing Unit (CPU) 204 has access to data stored at configuration in Read Only Memory (ROM) 206 to implement the algorithms of the present invention and thereby update RAM.
  • ROM Read Only Memory
  • a Bus 208 is provided for communication of signals among the components.
  • An Input/Output (I/O) adapter 210 manages signaling to and from external devices 212 that might include a general purpose computer with monitor (not shown) observed periodically by a human administrator.
  • Network Processor such as the PowerNP developed and marketed by IBM
  • the Network Processor is placed within the data plane and contains all the necessary components and algorithms for routing packets within the network.
  • the reconnaissance algorithms according to the teachings of the present invention are executed on the Network Processor.
  • Figure 9 for the moment a block diagram of the Network Processor is shown.
  • Figure 9 is the same as Figure 18 of U.S. Patent 6,404,752 which describes the Network Processor and is incorporated in its entirety herein. Because of this incorporation detailed description of the Network Processor can be readily obtained. Therefore, only those features of the Network Processor that are directly related to and used by the present invention will be identified and discussed.
  • the Embedded Processor Complex contains a plurality of processors that execute algorithms to route data and detection algorithms according to the teachings of the present invention. As stated herein the detection algorithm detects and identifies recon ⁇ dates packets on the network. Another feature of interest is the data structures shown in the incorporated patent.
  • the data structure includes a Direct Table and Patricia Trees coupled thereto.
  • the data structure and associated tree search engine is used as the lookup and tracking mechanism of the present invention.
  • a flowchart 300 is shown for the DETECTION algorithm included in the present invention.
  • the start Detection 302 of the algorithm is followed by the arrival of the next packet 304.
  • the Internet Protocol (IP) packet is tested 306 for being TCP. The test is carried out on bits in the header of the packet. If it is not, the algorithm returns to 304 to await the next packet. If the packet is TCP, then the packet is tested 308 for being SYN. The test is done by examining control bits in the header of the packet. If it is not, then the algorithm returns to 304. If it is SYN, then the con ⁇ catenation of SA and DA is fed 312 to a hash function.
  • IP Internet Protocol
  • the value of the hash becomes 314 the index into a Direct Table (DT).
  • the DT slot is tested 316 for already having a pointer to a leaf or to a tree with at least two leaves. If there is no pointer, then the algorithm branches 318 to the INSERTION ON DT algorithm ( Figure 4). If there is a pointer, then the algorithm tests 320 for pointing to exactly one leaf. If the pointer is to a tree with at least two leaves, then the SA, DA concatenation is tested 324 by the Patricia tree algorithm. The SA, DA then tested 330 by the Patricia tree algorithm to try to match the label of an existing leaf. If SA, DA does not match, then the algorithm branches 334 to the INSERTION LARGER TREE algorithm ( Figure 6).
  • the DP of the key is compared 332 to the one or more DP values in the leaf . Going again to 320, if the DT slot points to exactly one leaf, then the algorithm compares 322 the key SA, DA with the label of that leaf. If the SA, DA do not match 326, then the algorithm branches to INSERTION NEW TREE 328 ( Figure 500). If the SA, DA do match 326, then the algorithm branches to a comparison 332 of the DA of the key with the one or more DP values in the leaf. If the key DP matches some leaf DP, then the algorithm returns to 304 to await the next packet. If the key DP does not match any leaf DP, then the new DP is stored 338 in the leaf. The algorithm then goes 340 to the THRESHOLD algorithm ( Figure 700).
  • the detection algorithm may also be described as follows:
  • DT slots are normal FM slots and can point to no leaf, exactly one leaf, or to a tree with branches and two or more leaves.
  • Each leaf compares the full packet SA, DA to an exact pattern of SA, DA.
  • a leaf contains SA, DA as its label and at least one and possibly several DPs.
  • the leaf truly corresponds to the key and the DP value of the key is compared to the one or several DP values stored in the leaf. If the DP value of the key is the same as a previously stored DP, then do nothing. Else, add the DP value of the key to the one or more DP values stored in the leaf. Also compare the new total number of DP values with a threshold.
  • the hash value is used as an index into a Direct Table slot.
  • FIG. 4 a flowchart 400 for the INSERTION algorithm included in the invention is shown.
  • the start 402 of the algorithm is followed by the creation 404 of a new pointer from the Direct Table (DT) slot to a new leaf.
  • the leaf is labeled 406 with the concatenation of SA and DA.
  • the leaf is used to store 408 the value of the DP in the packet IP header.
  • the algorithm branches 410 to DETECTION, previously described.
  • FIG. 5 a flowchart 500 is shown for the INSERTION NEW TREE algorithm included in the present invention.
  • This algorithm covers the case that one original leaf is already attached to the DT slot and a second leaf with different SA, DA value but the same hash value is to be added.
  • the start 502 of the algorithm is followed by creation of a new tree 504 with root equal to the DT slot. One branch is attached 506 to the root. Two SA, DA value hash to this same slot.
  • the first bit is found 508 in which the two SA, DA labels differ.
  • One value of the test bit at the branch points to the original leaf 508.
  • the other possible value of the same bit points to the newly added leaf 510.
  • the newly added leaf has its SA, DA as label and stores the DP of the new key 510.
  • Table III sets forth a self-explanatory alternate representation of Insertion New Tree technique.
  • TREE algorithm included in the invention The start 602 of the algorithm is followed by well-known Patricia tree insertion 604 of a new branch and a new leaf.
  • the label of the new leaf is designated 606 as the concatenation of the SA, DA of the key.
  • the DP of the packet is stored 608 in the new leaf. Then the algorithm branches 610 to DETECTION, previously described.
  • the new leaf has the SA, DA of the new key as label and stores the DP.
  • a flowchart 700 is shown for the THRESHOLD algorithm included in the invention.
  • the start 702 of the algorithm is followed by comparing 704 the number of DP values stored in the leaf to a threshold specified at configuration, typically eight. If the number of (distinct) DP values is less than or equal to the threshold, then the algorithm branches 708 to DETECTION. If the number of DP values is greater than the threshold, then a report is sent 706 to the administrator or ad ⁇ ministration system. Then the algorithm branches 708 to DETECTION.
  • a flowchart 800 is shown for the DELETION algorithm included in the invention.
  • This algorithm deletes stale entries from the Direct Table/ Patricia Tree data structure.
  • the start 802 of the algorithm is followed by incrementing 804 the frame count value by one. Then the frame count is compared 806 to a threshold number of frames such as 1024. If the frame count is not greater than the threshold, then the algorithm branches 812 to DETECTION. If the frame counts is greater than or equal to the threshold, then the algorithm causes the complete deletion 808 of all leaves, trees (branches), and DT pointers. The algorithm next resets 810 the value of frame count to zero. Then the algorithm branches 812 to DETECTION.
  • Table VI sets forth a self-explanatory alternate representation of the Deletion Algorithm.
  • the count used could be time increments, not number of frames.
  • Table VII shows a self-explanatory representation of Detection Algorithm based upon time increments.
  • the invention includes several possible options for a RESPONSE to the reporting mechanism.
  • the invention can include alerting an administrator who then might investigate the traffic with given SA, DA, DP of the packets causing the branch to the REPORT state for possibly malicious intent.
  • the invention could include dropping all subsequent packets with the same SA, DA, DP.
  • the invention could include dropping or rate limiting all subsequent packets with the same SA.
  • the invention could include some combination of the first three possible RESPONSES. The combination of RESPONSES might change with time.
  • Figure 10 shows a graphical representation for the IP datagram header format.
  • SA Source IP Address
  • DA Destination IP Address
  • FIG 11 shows a graphical representation for the TCP Header Format which is nested in the payload field of the IP datagram.
  • the TCP Header Format is also well known in the prior art. Therefore, only the fields and bits which are of interest to the present invention will be discussed further.
  • the fields of interest include Source Port (SP) and Destination Port (DP). As is known to those skilled in the art the SP identifies origination port of a packet, whereas DP identifies end port to which packet is to be delivered.
  • the bits of interest include Reset (RST) and Synchronize (SYN). These bits when set are active and when reset are inactive. The packet identity is determined by setting of the bits. For example, if the SYN bit is set, this would include a SYN packet. The use and function of these bits are well documented in the prior art. Therefore, further discussion is not warranted.
  • Figure 12 shows a graphical representation of the search facility or search look-up structure according to the teachings of the present invention. It is recognized that other tree structures can be devised by those skilled in the art. Therefore, the graphical repre ⁇ sentation is only exemplary and does not limit the scope of the invention claimed.
  • the data structure 1200 includes the extraction of the key 1202 composed of the concatenation of SA and DA, 64 bits. It further includes applying a hash function 1204 to produce a shorter index such as 16 or 32 bits. The index is used relative to a Direct Table 1208 to identify an entry that is the root of a Patricia tree 1210 .
  • the Patricia tree has one or more leaves such as 1212 , 1214, 1216. Each leaf contains the full SA, DA that hashes to the Direct Table entry as well as one or more DP values that have been observed.
  • the lookup mechanism is logically equivalent to a search tree.
  • the first branch of the tree simultaneously tests many bits, connecting many conventional trees.
  • the first such branch can be called a Direct Table.
  • the first lookup hashes the Source Address (SA) and Destination
  • DA Direct Table
  • DT Direct Table
  • the index of the DT can be a convenient value (such as 16 bits).
  • the full key is SA, DA, and Destination Port (DP).
  • the leaf matches the packet by SA and DA, then in addition compares DP to a linked list of DPs for the same SA and DA. If the DP is new, then it is added to the list. Periodically (such as once per second) some fraction (such as 1/16) of this lookup is completely deleted.
  • a threshold such as 4
  • the SA, DA, DP combinations of the leaf are hashed to a second lookup (the second tier). For the second lookup, the hash is on the SA only. The number of bits in the DT index can be low (such as eight). If one SA has many DA, DP combinations, then the DA, DP combinations are stored in a leaf. If the number of DA, DP combinations in such a leaf exceeds a threshold (such as four), then SA is suspected of taking part in a Distributed Scan. The entire table in the second tier is purged within a medium period (such as four seconds).
  • the suggested purge intervals are based upon reasoning and real traffic statistics. If the purge intervals are too short, then attacks can be overlooked because a full-fledged attack actually spans several periods. If the purge intervals are too long, then the reaction of the invention to a new attack is delayed.
  • purge intervals can be adjusted. If there are few reported attacks, then the interval can be increased up to a limit. If the are too many reported attacks, then the purge intervals can be decreased to a limit.
  • the period adjustment can have the form
  • Computer network administration includes defending network assets from malicious traffic.
  • the dissemination of malicious traffic in some cases entails a set of packets with one Source Address (SA) corresponding to the attacker, one Destination Port (DP) corresponding to an application thought to be vulnerable by the attacker, and many Destination Addresses (DAs) corresponding to possible victims.
  • SA Source Address
  • DP Destination Port
  • DA Destination Addresses
  • a flowchart 1300 is shown for the DETECTION algorithm according to the teachings of the present invention.
  • the start 1302 of the algorithm is followed by the arrival of the next packet 1304.
  • the Internet Protocol (IP) packet is tested 1306 for being TCP.
  • the test is effectuated by examining control bits in the IP header. If it is not, the algorithm returns to state 1304 to await the next packet.
  • the packet is TCP, then the packet is tested 1308 for being SYN.
  • the test is carried out by examining control bits in the TCP header. If it is not, then the algorithm returns to 1304. If it is SYN, then the DP in the TCP header is tested 1310 for membership in the Permissive list.
  • the algorithm returns to 1304. If the DP is not Permissive, then the concatenation of SA and DP is fed 1312 to a hash function. The value of the hash becomes the index into a Direct Table (DT) 1314. The DT slot is tested 1316 for already having a pointer to a leaf or to a tree with at least two leaves. If there is no pointer, then the algorithm branches 1318 to the INSERTION ON DT algorithm ( Figure 4). If there is a pointer, then the algorithm tests for pointing to exactly one leaf 1320. If the pointer is to a tree with at least two leaves, then the SA, DP concatenation is tested 1324 by the Patricia tree algorithm.
  • DT Direct Table
  • the SA, DP key is then tested 1330 by the Patricia tree algorithm to try to match the label of an existing leaf. If SA, DP does not match, then the algorithm branches 1334 to the INSERTION LARGER TREE algorithm. If SA, DP does match a leaf in the tree, then the DA of the key is compared 1332 to the one or more DA values in the leaf. Going again to 1320, if the DT slot points to exactly one leaf, then the algorithm compares 1322 the key SA, DP with the label of that leaf. If the SA, DP do not match 1326, then the algorithm branches to INSERTION NEW TREE 1328.
  • the algorithm branches to a comparison 1332 of the DA of the key with the one or more DA values in the leaf. If the key DA matches some leaf DA 1336, then the algorithm returns to 1304 to await the next packet. If the key DA does not match any leaf DA, then the new DA is stored 1338 in the leaf. The algorithm then goes 1340 to the THRESHOLD algorithm.
  • FIG. 14 a flowchart 1400 is shown for the INSERTION algorithm included in the invention.
  • the start 1402 of the algorithm is followed by the creation 1404 of a new pointer from the Direct Table (DT) slot to a new leaf.
  • the leaf is labelled 1406 with the concatenation of SA and DP.
  • the leaf is used to store the value of the DA in the packet IP header 1408.
  • the algorithm branches 1410 to DETECTION previously described with reference to Figure 13.
  • FIG. 15 a flowchart 1500 is shown for the INSERTION NEW TREE algorithm included in the invention.
  • This algorithm covers the case that one original leaf is already attached to the DT slot and a second leaf with different SA, DP value but the same hash value is to be added.
  • the start 1502 of the algorithm is followed by creation of a new tree 1504 with root equal to the DT slot. One branch is attached 1506 to the root. Two SA, DP value hash to this same slot.
  • the first bit is found 1508 in which the two SA, DP labels differ.
  • One value of the test bit at the branch points to the original leaf block 1508.
  • the other possible value of the same bit points to the newly added leaf block 1510.
  • the newly added leaf has its SA, DP as label and stores block 1510 —the DA of the new key.
  • the algorithm branches to DETECTION Block 1512.
  • TREE algorithm included in the invention The start 1602 of the algorithm is followed by well-known Patricia tree insertion 1604 of a new branch and a new leaf.
  • the label of the new leaf is designated as the concatenation of the SA, DP of the key block 1606.
  • the DA of the packet is stored in the new leaf block 1608. Then the algorithm branches to DETECTION block 1610.
  • FIG. 17 a flowchart 1700 is shown for the THRESHOLD algorithm included in the invention.
  • the start 1702 of the algorithm is followed by comparing block 1704 the number of DA values stored in the leaf to a threshold specified at con ⁇ figuration, typically eight. If the number of (distinct) DA values is less than or equal to the threshold, then the algorithm branches block 1708 to DETECTION. If the number of DA values is greater than the threshold, then a report is sent block 1706 to the ad ⁇ ministrator or administration system. Then the algorithm branches block 1708 to DETECTION.
  • Figure 18 shows a graphical representation of a data structure against which the SA and DA of a TCP/IP SYN packet is correlated in order to determine if it is a malicious packet.
  • the data structure 1800 includes the extraction of the key 1802 composed of the concatenation of SA and DP, so 48 bits. It further includes applying a hash function 1804 to produce a shorter index such as 16 bits. The index is used relative to a Direct Table 1808 to identify an entry that is the root of a Patricia tree 1810.
  • the Patricia tree has one or more leaves such as 1812, 1814, 1816. Each leaf contains the full SA, DP that hashes to the Direct Table entry as well as one or more DA values that have been observed.
  • DT slots are normal FM slots and can point to no leaf, exactly one leaf, or to a tree with branches and two or more leaves.
  • Each leaf compares the full packet SA, DP to an exact pattern of SA, DP.
  • a leaf contains SA, DP as its label and at least one and possibly several DAs.
  • the leaf truly corresponds to the key and the DA value of the key is compared to the one or several DA values stored in the leaf. If the DA value of the key is the same as a previously stored DA, then do nothing. Else, add the DA value of the key to the one or more DA values stored in the leaf. Also compare the new total number of DA values with a threshold. If the number is greater than the threshold identify packet as containing virus.
  • the hash value is used as an index into a Direct Table slot.
  • INSERTION LARGER TREE [198] 0. Use conventional Patricia tree algorithm to insert a new bit test branch, add one leaf.
  • the new leaf has the SA, DP of the new key as label and stores the DA.
  • the count can be time intervals instead of frames, that is,
  • the present invention Upon receiving a REPORT from the detection mechanism, the present invention can react with one of the following Responses: [221] 1. Alert an administrator who then might investigate the traffic with given SA, SP,

Abstract

A detection and response system including a set of algorithms for detecting within a stream of normal computer traffic a subset of (should focus on network traffic eliciting a response) TCP or UDP packets with one IP Source Address (SA) value, one or a few Destination Address (DA) values, and a number exceeding a threshold of distinct Destination Port (DP) values. A lookup mechanism such as a Direct Table and Patricia search tree record and trace sets of packets with one SA and one DA as well as the set of DP values observed for the given SA, DA combination. The detection and response system reports the existence of such a subset and the header values including SA, DA, and multiple DPs of the subset. The detection and response system also includes various administrative responses to reports.

Description

Description
[001] METHOD, SYSTEM AND COMPUTER PROGRAM FOR DETECTING
UNAUTHORISED SCANNING ON A NETWORK Technical Field
[002] The present invention relates to computer networks in general and in particular to detecting and managing malicious traffic in said computer networks and protecting said networks against malicious traffic. Background Art
[003] The worldwide web (WWW), better known as the Internet, is fast becoming the premier computer network for communicating both private and public information. The Internet is an open network that can be accessed by anyone using primarily a protocol called TCP/IP (Transmission Control Protocol / Internet Protocol) or other protocols. Because of its openness computers on private networks (intranets) are susceptible to malicious attacks by hackers. Computers have become the main instrument of communication for business and government agencies. For example, many business and government agencies use computers and computer networks to link remote offices, share data and other resources among employees within an office or campus, communicate with customers via electronic mail, reach new customers via electronic mail, provide information via web sites, etc.
[004] Open access to public networks, such as the Internet, has made it easier for hackers to launch or disseminate harmful code known as worm, virus, etc. Because most private networks are coupled to the Internet viruses launched from public networks can affect not only devices connected to the public network but also devices connected to the private networks. With the advent of e-business and stock market activities, it is well known that large amounts of business transactions are consummated via computer networks. As a consequence a malicious person wishing to cause economic chaos could launch a virus from a public site to disrupt these transactions.
[005] Because businesses, governments and individuals rely heavily on computers and the
Internet malicious attacks could result in catastrophic economic loss or embarrassment. As a consequence computer security has become a major concern of business, government and individuals using the computer as a major communication vehicle.
[006] There are several ways in which hackers may elect to inflict malicious attacks on computers. One way is to disrupt computers' operation by disseminating programs that take unauthorized control of a computer's operating system. Another way is to discover confidential information about assets in the computer or a subnet in the network for the purpose of deleting data, modifying date and/or copying data. Any of these actions could adversely affect a home, business, or governmental agency network.
[007] There are several techniques used by hackers or attackers to gather information on network devices. Port scanning is one of the techniques used by hackers or attackers to gather information relative to one host or several hosts. When several hosts are involved the technique is referred to as Distributed Port Scanning. With port scanning, the hacker uses legitimate TCP/IP (Transmission Control Protocol/Internet Protocol) commands to gather information. In this regard the hacker issues a SYN (Synchronize) packet masquerading as a station wishing to initiate a TCP session. Alternatively, the hacker may issue an RST packet. In either case the hackers hope a non-suspecting host responds with packets from which information about the host can be gleaned. There are many other combinations that can be used for port scanning. Such combination includes SYN/ACK, FIN, Null Christmas tree packets, etc. In fact, any protocol requiring a response may be used for port scanning.
[008] The prior art has recognized the importance of computer networks and has provided intrusion detection systems to protect them from hackers. Examples of prior art detection systems can be found in U.S. Patents 6,405,318; 6,363,489; 6,477,651; 6,279,113; 6,282,546; 5,991,881; 6,338,141; 5,414,833; and 5,983,348. Even though the Intrusion Detection System (IDS) described in each of the patents works well for its intended purpose it does not work well in detecting scanning activities.
[009] It is believed the inability of prior art IDS to detect scanning of the network is based on the fact that they use a library of known patterns of header values or payload bytes. Packet headers or payloads in received packets are compared to known patterns which can be regular expressions or fixed values. The drawback with this approach is that such libraries cannot fully include reconnaissance or scan patterns not seen before. As a consequence some prior art IDS cannot protect against novel reconnaissance traffic.
[010] Even the IDS technologies that boast the ability to detect scanning only mean that they can discover if many packets (some threshold) have been sent to a single destination address. They are unable to correlate scans using fewer packets (than the threshold) and further hampered when multiple destinations and formats are used.
[011] The prior art has recognized the need and has provided tools to be used on said computer networks to detect malicious viruses. For the most part these tools work well for their intended purpose. Stated another way the tools work well to detect the virus for which it was created to detect. If the characteristics of the virus change the tool may be worthless and not able to detect the new virus. It is well known that hackers are very intelligent individuals and are most likely to change virus characteristics to prevent detection.
[012] In view of the above, prior art techniques and apparatus do not provide the network administrator with sufficient power to defend a computer network against recon- naissance or scan traffic. As a consequence a system and method, such as those described herein, are required to provide the additional protection.
[013] In view of the above, prior art techniques which are primarily based upon comparison between a library of patterns in the tool and virus in a packet do not give a network administrator sufficient power and control to protect a computer network against malicious viruses. As a consequence a tool is required that does not protect computer network based upon virus pattern but on other characteristics or statistics of the packets sent maliciously. By so doing hackers may change the virus pattern at will. Yet still such malicious packets will still be detected. Disclosure of Invention
[014] According to a first aspect, the present invention provides a method to detect unauthorized scanning on a network comprising: (a) monitoring traffic received in a network device; (b) detecting a predefined subset of packets within said traffic; and (c) analyzing the predefined subset of packets to detect suspicious packets having predefined statistical characteristics.
[015] Preferably, the method further comprises sounding an alarm indicating detection of packet with the predefined statistical characteristics. In one embodiment, the predefined subset of packets relate to TCP (Transmission Control Protocol)/IP (Internet Protocol) set. In another embodiment, the predefined subset of packets relate to UDP (User Datagram Protocol) set. In yet another embodiment, the predefined subset of packets include SYN packets from TCP/IP set. In yet another embodiment, the predefined subset of packets include TCP/IP "Christmas tree" packets. In yet another embodiment, the subset of packets include RST packets from TCP/IP set. In yet another embodiment, the subset of packets include null TCP packets from TCP/IP set.
[016] Preferably, the subset of packets include at least two of three bits of a TCP header are set (SYN, RST, FlN) in TCP packets from TCP/IP set. More preferably, the predefined statistical characteristics include one Source Address (SA), m Destination Address (DA) and n Destination Ports (DP) wherein m > 1 and n > 5.
[017] In a preferred embodiment, the step of sounding an alarm further includes reporting said suspicious packets to a central administrative authority. Preferably, said admin¬ istrative authority drops all subsequent packets having characteristics like those of the suspicious packets. More preferably, said administrative authority limits all subsequent packets with same SA as the suspicious packets to a rate not likely to cause injury to the network.
[018] Preferably, the method further comprises the step of: providing a look-up structure in a device coupled to said network, said look-up structure being logically equivalent to a search tree having a first portion partitioned into a plurality of slots with at least one slot operatively coupled to a tree structure; receiving network traffic in the device; analyzing the network traffic with a programmed CPU to detect TCP/IP packets having a predefined statistical characteristic; for each TCP/IP packet so detected using said programmed CPU to generate a hashed value from Source Address (SA) and Destination Address (DA); using the hashed value to index into a slot; examining the slot for a pointer; if no pointer is found, inserting a new leaf with SA and DA being identifier of said leaf; storing in said leaf an address for a Destination Port (DP) contained in said each TCP/IP packet; and creating a pointer in said slot that points to the leaf.
[019] More preferably, the method further comprises the step of: if a pointer is in the slot, using said pointer to access a leaf; examining contents of said leaf to detect addresses of Destination Ports (DP) recorded therein; comparing number of addresses so detected with a threshold value; and performing a second tier look-up if number of addresses equals or exceeds the threshold value.
[020] Still more preferably, the method further comprises the step of: including adding
DA to said leaf if number of addresses in said leaf is less than the threshold value.
[021] According to a second aspect, the present invention provides a system to detect scanning on a network comprising: a memory; a look-up data structure operatively configured within said memory; and a processor executing a set of algorithms that correlate predefined packets with the look-up data structure to detect predefined packets having predefined statistical characteristics and issuing an alarm message to alert an administrator when predefined packets having the predefined statistical charac¬ teristics are detected.
[022] Preferably, the look-up data structure includes a logically equivalent of a search tree. More preferably, a first portion of the search tree tests many bits of the predefined packets. Still more preferably, the first portion of the search tree includes a direct table.
[023] In a preferred embodiment, the predefined statistical characteristics include one
Source Address (SA), one Destination Address (DA) and n Destination Port (DP) n > 1. In another preferred embodiment, the predefined statistical characteristics include one Source Address (SA), m Destination Address (DA) with m > 1 and n Destination Ports, n > 1.
[024] Preferably, the set of algorithm includes at lest one detection algorithm. More preferably, the set of algorithm includes insertion on Direct Table (DT) algorithm. Still more preferably, the set of algorithm includes insertion new tree algorithm. Preferably, the set of algorithms includes insertion larger tree algorithm. More preferably, the set of algorithms includes threshold algorithm. Still more preferably, the set of algorithms includes deletion algorithm. [025] According to a third aspect, the present invention provides a computer program comprising program code means adapted to perform all the steps of the above described method when said program is run on a computer.
[026] Unauthorized entries to network devices, such as hosts (computers), are done in two stages, namely reconnaissance and attack. During the reconnaissance stage information about computers is gathered. The gathered information is used to disrupt computing activities during the attack stage.
[027] The present invention detects unauthorized scanning (also called reconnaissance) during the reconnaissance stage and takes corrective action set forth herein.
[028] The system includes a programmed general processor, such as the PowerPC, or specialized processors, such as the PowerNP coacting with a lookup and recording structure to detect within high bandwidth traffic TCP/IP SYN (Synchronize) or RST (Reset) packets characterized by one Source Address (SA), one or a few Destination Addresses (DAs) and a few (less than 4) or many (greater than 4) Destination Ports (DP). TCP/IP packets meeting these characteristics are flagged and reported to admin¬ istrative management for further action.
[029] In one embodiment the lookup and recording structure includes a Direct Table (DT) and associated Patricia trees. There are two tiers of Full Match (FM) lookup. The first tier uses a hash of the SA and DA, in the portion of a received packet known as the key or header, to index into a slot of a first Direct Table. Selected bits from the DA and SA are used to walk the tree associated with the slot until a leaf is reached. The SA and DA in the leaf are compared with SA and DA in the key and if match the DP in the key is compared with a link list of DPs for the same SA and DA. If the DP is new (i.e. No match found) it is added to the list. When the number of DPs, in the list, > n, the hash of the SA is used to do a second tier lookup in a second Direct Table and associated Patricia tree. The lookup in the second table is similar to the lookup in the first table. If the SA in the leaf of the second table matches the unhash SA the DAs and DPs in the leaf are examined and if DAs > n and the DPs > (equal or greater than) n an alarm is sounded declaring the packet with the SA and DA as an unauthorized scanning or re¬ connaissance packet. In response to the alarm the network administrator takes action to limit action of the SA from which the packets are launched. In one embodiment of the invention n is set to 4.
[030] In an alternative embodiment, one could use a ratio of destination addresses to ports searched to determine whether this traffic is malicious or not. This traffic ratio is actually a multiplier that is the number of unique DAs multiplied by the number of unique DPs and ensuring the product is greater than 10 (or another number decided upon). This would allow smaller scans to be discovered, but that are initially crafted to evade even low threshold detectors. This is a technique often employed by attackers, sending recon packets very slowly, as to evade detection.
[031] In the previously described alternative embodiment the static number (like 4) would not be used, but rather the multiplier, compared to a static number (like 10). Input to the hash would then consist of the SA only. In each leaf, a list of DAs associated with the SA would be kept. Each DA in the list would be associated with a list of DPs. This larger leaf would allow detection of slow scans to many DA and DP combinations from one or a few SAs. The detection of these scans would be much the same, except instead of comparing the static number (like 4), a count of unique DPs per a DA would be obtained and then multiplied by other DAs (associated with the one SA). The response to such scans with multiple DAs and DPs for a particular SA would continue in the manner described above.
[032] According to a fourth aspect, the present invention provides a method to detect harmful packets on a computer network including: a) providing at least one algorithm that scans received packets; and b) identifying packets having a predefined format including a single Source Address, (SA), N Destination Addresses (DAs) and M Destination Ports (DPs).
[033] According to a fifth aspect, the present invention provides a system to detect packets containing harmful code in a computer network comprising: a Network Processor including memory and at least one processing element; a data structure including at least one Patricia Tree arrangement storing at least one rule with bit pattern similar to that of a packet carrying harmful code located within said memory; a computer program deployed on said at least one processing element and if executed causing said processing element to generate keys from predefined fields in predefined packets correlates the key with the rule to identify packets having a single SA (Source Address), a single DP (Destination Port) and many DAs (Destination Addresses).
[034] According to a sixth aspect, the present invention provides a computer program comprising program code means adapted to perform all the steps of the above described method when said program is run on a computer.
[035] There is provided a detection and response system including a set of algorithms for detection within a stream of normal computer traffic a subset of TCP packets with one IP Source Address (SA), one Destination Port (DP), and a number exceeding a threshold of distinct Destination Addresses (DA). There is efficient use of a lookup mechanism such as a Direct Table and Patricia search tree to record sets of packets with one SA and one DP as well as the set of DA values observed for the given SA, DP combination. The existence of such a subset and the header values including SA, DP, and multiple DAs of the subset are reported to a network administrator. In addition, various administrative responses to reports are provided.
[036] The detection system of the present invention includes a computer such as a Network Processor, in which a construct comprising of a Direct Table and Patricia trees are provided in memory. Algorithms are provided to monitor selected network traffic, maintain the construct and correlate keys from the select network traffic with the construct so that Transmission Control Protocol (TCP) Synchronize (SYN) packets having one Source Address (SA), one Destination Port (DP) and many Destination Addresses (DAs) are identified and reported as malicious packets.
[037] In one embodiment the present invention first compares the raw DP (16 bits) to a relatively short list of well-known DP values that are specified by the administrator. The list could include, for example, port 80, the HyperText Transfer Protocol (HTTP) port since it is normal during web surfing to create traffic from one SA to many DAs all with DP = 80. If the packet is in the list, it is not considered further as a potential malicious packet by the present invention. In a preferred embodiment, testing for such permissive DP values can be done in datapath software. That is, a small lookup table may be included in the program that processes packets in a programmable processor such as a network processor. The small look-up table would be suitable for testing packet DP membership in a small list of permissive DPs (such as 10 permissive DPs). Another example of a permissive DP in some cases would be 25, the number designating Simple Mail Transfer Protocol (SMTP).
[038] In another embodiment, the invention would automatically drop packets with illegal settings of header bits or illegal sequences of legal settings, for example, a TCP packet with both SYN and Finish (FlN) bits equal to one or a TCP packet with both SYN and Acknowledgment (ACK) bits set with no corresponding SYN packet having been recorded. Also in a preferred embodiment, the invention would delete lookup entries corresponding to one SA and one or more DAs when a FIN or FTN/ACK packet in the session or sessions is seen.
[039] From a more general perspective the present invention sniffs and detects malicious packets launched under guise of TCP packets used in TCP session. There are many ways in which a malicious person may elect to disrupt computer network traffic. One way would be for the malicious person to disseminate a worm or virus in the payload of a Transmission Control Protocol (TCP) session. This could discover vulnerable machines for immediate or later infection.
[040] The dissemination could be a TCP session sent from one IP Source Address (SA)
(the attacker) to a vulnerable Destination Port (DP) number and several IP Destination Addresses (DAs) (possibly random, sequential, or in a set of DAs thought to be potential addresses of victims). The present invention enables detection of the set of many such SYN packets that would comprise such malicious traffic, all within much larger set of normal traffic. Also, the present invention includes several possible responses to such a detection. [041] That is, the present invention includes an efficient search strategy and algorithm for the detection within high bandwidth traffic of a subset of Synchronize (SYN) packets with one SA, one DP, and many DA values. Some attacks might be purposefully slow, about one to ten packets per second, to avoid notice by anomaly detectors. Slow dis¬ semination rates are in the problem described and addressed by the present invention. The malicious traffic might be reconnaissance to discover the identity of target machines that support certain applications. Alternatively, the malicious traffic might include a payload that is in itself a virus or worm capable of reconnaissance or gaining unauthorized control of a processor leading to unauthorized access to files, deletion of files, modification of files, or copying of files. Any such SYN traffic is called in this invention an exploit.
[042] A programmable processor in a network such as a network processor may include
Full Match (FM) lookups. A long key may be read from a TCP packet such as the 104-bit IP five-tuple consisting of SA, DA, Source Port (SP), DP, and Protocol number (= 6 for TCP). Alternatively, a longer key, up to approximately 192 bits, with the IP five-tuple and other header value may be used. The key is hashed to a convenient size, say, 16 bits. For a 16-bit index there would be a Direct Table (DT) with 64K slots. Each slot that stores a memory could point to exactly one leaf or could point to a tree with one or more branches and some leaves. In the tree some additional bits in the raw key are checked until at most one match remains possible (a leaf). When a leaf is reached by any means, the full key is compared to the full leaf key pattern [with 0, 1, or * (don't care) entries, or high and low range entries], and there is either a hit (that leads to an associated action also recorded in the leaf) or a miss (that leads to a default action).
[043] The present invention makes use of FM lookups in a new manner. The goal is not to recognize a particular packet using known parameters and then to apply an action. Rather, there are no known parameters. The goal is to recognize statistical behavior by a set packets with hitherto unknown header bit combinations. This might be called behavior recognition as opposed to conventional packet recognition. The behavior recognition problem addressed by this invention consists of recognizing the fact that a set of SYN packets with one SA, one DP, and many DAs exists within a much larger set of packets. The invention includes recognition and also reporting of the common SA and DP. In alternative embodiments, more than one SA or more than one DP, up to small limits such as two or ten, can be also recognized and reported.
[044] To solve the behavior recognition problem, the input key for the invention is defined to be the concatenation of SA and DP of every TCP packet.
[045] In an alternative embodiment, the present invention could be permissive of no DP values. [046] To solve the behavior recognition problem, an input key used by the invention is defined to be the concatenation of TCP Source Address (SA) and Destination Port (DP). This value SA, DP is fed as a key to a search engine incorporating a Patricia tree.
[047] If the packet does not have a permissive DP as above, then the present invention hashes the concatenation of the SA and DP (48 bits) to a convenient image (such as 16 bits) in a Direct Table (DT). SA, DP bits must be taken in bit test branches of a tree until we reach a leaf associated with at most one previously seen SA, DP. Each leaf is defined by an SA, DP combination. Each leaf also contains at least one and possibly more DA values.
[048] Two kinds of collisions can occur (packets with different header values having the same hash value in the DT). First, dissemination of malicious traffic can result in packets with the same SA and DP, but several different DAs. Since only SA, DP are inputs to the hash, such hashes will collide. Second, by chance the hash of two unrelated SA, DP combinations can be the same. In the second case, further tests of SA, DP bits must be taken in bit test branches of a tree until we reach a leaf associated with at most one previously seen SA, DP combination. Thus each leaf is defined by one SA, DP combination. Each leaf also contains at least one and possibly more DA values.
[049] Preferably, N > 8 and M = I. More preferably, the packets are reported to a central administrative authority.
[050] Preferably, the central administrative authority takes decisive actions to limit harmful effects of said packets. More preferably, the decisive action includes dropping all subsequent packets having the same SA, DA and DP as the identified packets. Still more preferably, the decisive action include adding Destination Port, DP, of said packets to a list of Permissive DPs. Still more preferably, the decisive action includes rate limiting the set of all subsequent packets with the same SA.
[051] In a preferred embodiment, the SA, DP and many DAs are stored in a leaf of the
Patricia Tree arrangement. Preferably, the Patricia Tree arrangement includes a Direct Table. More preferably, the at least one algorithm is executed on a system operatively coupled to said computer network
Brief Description of the Drawings
[052] The present invention will now be described, by way of example only, with reference to preferred embodiments thereof, as illustrated in the following drawings, in which:
[053] Figure 1 shows high level components of a network and in particular some potential logical locations of the present invention as detection mechanism.
[054] Figure 2 shows high level components of hardware and in particular some potential logical locations of the components needed to enable the present invention. [055] Figure 3 shows a flowchart for the detection portion of the present invention.
[056] Figure 4 shows a flowchart for portion of the present invention that pertains to the insertion of a new pointer and new leaf in the Direct Table (DT). [057] Figure 5 shows a flowchart for portion of the present invention that pertains to the insertion of a new Patricia tree in the Direct Table (DT). [058] Figure 6 shows a flowchart for portion of the present invention that pertains to the insertion of a new leaf and new branch within a larger Patricia tree in the Direct Table
(DT). [059] Figure 7 shows a flowchart for comparing the number of distinct Destination
Addresses (DA) in a leaf to a threshold, a portion of the present invention. [060] Figure 8 shows a flowchart for the periodic deletion of all leaves, trees, and pointers to reset the detection apparatus, a portion of the present invention. [061] Figure 9 shows a block diagram of a Network Processor in which the present invention can be implemented.
[062] Figure 10 represents IP Datagram Header Format.
[063] Figure 11 represents TCP Header Format.
[064] Figure 12 represents look-up search structure according to teachings of the present invention.
[065] Figure 13 shows a flowchart for the detection portion of the present invention.
[066] Figure 14 shows a flowchart for portion of the present invention that pertains to the insertion of a new pointer and new leaf in the Direct Table (DT). [067] Figure 15 shows a flowchart for portion of the present invention that pertains to the insertion of a new Patricia tree in the Direct Table (DT). [068] Figure 16 shows a flowchart for portion of the present invention that pertains to the insertion of a new leaf and new branch within a larger Patricia tree in the Direct Table
(DT). [069] Figure 17 shows a flowchart for comparing the number of distinct Destination
Addresses (DA) in a leaf to a threshold, a portion of the present invention. [070] Figure 18 shows a graphical representation of the look-up data structure according to teachings of the present invention.
Best Mode for Carrying Out the Invention [071] Computer network administration includes defending network assets from malicious reconnaissance traffic. The reconnaissance traffic in some cases entails a set of packets with one Source Address (SA) corresponding to the attacker, one or a few
Destination Addresses (DA) values corresponding to a victim machine or machines to be studied by the attacker, and a few or many Destination Ports (DPs) corresponding to applications that are thought to be possibly vulnerable by the attacker.
[072] The administrator may rely upon tools, such as the one disclosed in the present invention, to assist in defending the network. As part of network defense, an ad¬ ministrator may wish to detect such sets of packets as they pass through a switch, router, Network Interface Card (NIC), appliance, or, more generally, a machine capable of classifying, switching, routing, policing functions, or other security functions based upon classification results.
[073] Figure 1 shows a highly simplified network 100 in which the present invention can be deployed. The Internet or other network 102 connects to Edge devices 104. Each edge device might or might not be provided with detection assembly 108 containing an instance of the invention. Edge devices also connect subnets 106. In turn, two subnets might be connected by a Bridge device 110. A Bridge device might or might not contain an instance of the present invention 112. The edge devices may include routers, switches, servers, etc. Because Edge devices and Bridge devices are well known in the prior art, only those portions that include the teachings of the present invention or are necessary to understand the present invention will be discussed herein.
[074] Figure 2 shows block diagram 200 of components within detection assembly 108 of
Edge devices or Bridge device. Random Access Memory (RAM) 202 stores updates of information as included in the present invention. A Central Processing Unit (CPU) 204 has access to data stored at configuration in Read Only Memory (ROM) 206 to implement the algorithms of the present invention and thereby update RAM. A Bus 208 is provided for communication of signals among the components. An Input/Output (I/O) adapter 210 manages signaling to and from external devices 212 that might include a general purpose computer with monitor (not shown) observed periodically by a human administrator.
[075] In an alternate embodiment Network Processor (NET PRO), such as the PowerNP developed and marketed by IBM, is coupled to the I/O adapter 210. The Network Processor is placed within the data plane and contains all the necessary components and algorithms for routing packets within the network. The reconnaissance algorithms according to the teachings of the present invention are executed on the Network Processor. Turning to Figure 9 for the moment a block diagram of the Network Processor is shown. Figure 9 is the same as Figure 18 of U.S. Patent 6,404,752 which describes the Network Processor and is incorporated in its entirety herein. Because of this incorporation detailed description of the Network Processor can be readily obtained. Therefore, only those features of the Network Processor that are directly related to and used by the present invention will be identified and discussed. The Embedded Processor Complex (EPC) contains a plurality of processors that execute algorithms to route data and detection algorithms according to the teachings of the present invention. As stated herein the detection algorithm detects and identifies recon¬ naissance packets on the network. Another feature of interest is the data structures shown in the incorporated patent. The data structure includes a Direct Table and Patricia Trees coupled thereto. The data structure and associated tree search engine is used as the lookup and tracking mechanism of the present invention.
[076] Referring to Figure 3, a flowchart 300 is shown for the DETECTION algorithm included in the present invention. The start Detection 302 of the algorithm is followed by the arrival of the next packet 304. The Internet Protocol (IP) packet is tested 306 for being TCP. The test is carried out on bits in the header of the packet. If it is not, the algorithm returns to 304 to await the next packet. If the packet is TCP, then the packet is tested 308 for being SYN. The test is done by examining control bits in the header of the packet. If it is not, then the algorithm returns to 304. If it is SYN, then the con¬ catenation of SA and DA is fed 312 to a hash function. The value of the hash becomes 314 the index into a Direct Table (DT). The DT slot is tested 316 for already having a pointer to a leaf or to a tree with at least two leaves. If there is no pointer, then the algorithm branches 318 to the INSERTION ON DT algorithm (Figure 4). If there is a pointer, then the algorithm tests 320 for pointing to exactly one leaf. If the pointer is to a tree with at least two leaves, then the SA, DA concatenation is tested 324 by the Patricia tree algorithm. The SA, DA then tested 330 by the Patricia tree algorithm to try to match the label of an existing leaf. If SA, DA does not match, then the algorithm branches 334 to the INSERTION LARGER TREE algorithm (Figure 6). If SA, DA does match a leaf in the tree, then the DP of the key is compared 332 to the one or more DP values in the leaf . Going again to 320, if the DT slot points to exactly one leaf, then the algorithm compares 322 the key SA, DA with the label of that leaf. If the SA, DA do not match 326, then the algorithm branches to INSERTION NEW TREE 328 (Figure 500). If the SA, DA do match 326, then the algorithm branches to a comparison 332 of the DA of the key with the one or more DP values in the leaf. If the key DP matches some leaf DP, then the algorithm returns to 304 to await the next packet. If the key DP does not match any leaf DP, then the new DP is stored 338 in the leaf. The algorithm then goes 340 to the THRESHOLD algorithm (Figure 700).
[077] In addition to the flowchart, the detection algorithm may also be described as follows:
[078] The 16 bits (or so) of the hash of SA, DA are used as an index in a Direct Table
(DT). DT slots are normal FM slots and can point to no leaf, exactly one leaf, or to a tree with branches and two or more leaves. Each leaf compares the full packet SA, DA to an exact pattern of SA, DA. Again, a leaf contains SA, DA as its label and at least one and possibly several DPs.
[079] If upon computation of the hash value for an SA, DA combination it happens that the slot in the DT is empty (points to nothing), then the DT slot is revised to point to a new leaf with label SA, DA and content DP. Else, if the SA, DA slot in the DT has a pointer, then follow it to a leaf or tree. If the slot points to a tree, then this entails testing certain bits in SA, DA until at most one previously seen leaf can possibly fit the SA, DA. In either case, the full SA, DA in the key and the full SA, DA in the leaf are compared. If they are not equal, then the tree must be rebuilt to test for bits in SA, DA to distinguish the new key from previously seen keys. If they are equal, then the leaf truly corresponds to the key and the DP value of the key is compared to the one or several DP values stored in the leaf. If the DP value of the key is the same as a previously stored DP, then do nothing. Else, add the DP value of the key to the one or more DP values stored in the leaf. Also compare the new total number of DP values with a threshold.
[080] An alternate representation of the Detection Algorithm is set forth in Table I. The steps 0 through 16 are self-explanatory. Therefore, further description is not warranted.
[081] TABLE T
[082] DETECTION
[083] 0. A next packet arrives.
[084] 1. If the packet is not TCP, then goto 0.
[085] 2. If the packet is not SYN, then goto DELETION step 1 (TABLE VI).
[086] 3. The SA, DA combination (key) from the headers of the packet are fed to a hash function.
[087] 4. The hash value is used as an index into a Direct Table slot.
[088] 5. If the slot has no pointer (there is no current session with SA, DA that hash to the slot), then goto INSERTION ON DT step 0 (TABLE II).
[089] 6. If the slot points to a tree (with two or more leaves), then goto 12.
[090] 7. If the slot points to (exactly) one leaf, compare the SA, DA with that of the leaf.
[091] 8. If the SA, DA of the key and the leaf do not match, goto INSERTION NEW
TREE step 0 (TABLE HI).
[092] 9. Else, compare sequentially the DP of the packet with the one or more DP values in the leaf. 10. If the DP of the packet and some DP of the leaf are equal, then goto 0.
[093] 11. Else, store the new DP in the leaf. Goto THRESHOLD (TABLE V).
[094] 12. Perform bit-test branches in the tree on SA, DA of the key until a leaf is reached.
[095] 13. If the SA, DA of the key and leaf do not match, goto INSERTION LARGER
TREE step 0 (TABLE IV).
[096] 14. Else, compare sequentially the DP of the packet with the one or more DP values in the leaf.
[097] 15. If the DP of the packet and some DP of the leaf are equal, then goto 0. [098] 16. Else, store the new DP in the leaf. Goto THRESHOLD step 0.
[099] Referring to Figure 4, a flowchart 400 for the INSERTION algorithm included in the invention is shown. The start 402 of the algorithm is followed by the creation 404 of a new pointer from the Direct Table (DT) slot to a new leaf. The leaf is labeled 406 with the concatenation of SA and DA. The leaf is used to store 408 the value of the DP in the packet IP header. Then the algorithm branches 410 to DETECTION, previously described.
[100] TABLE π is a self-explanatory alternate representation of the Insertion Technique.
[101] TABLE II
[102] INSERTION ON DT
[103] 0. Create a pointer from the DT slot to a new leaf which has SA, DA as label and stores DP.
[104] 1. Goto DETECTION step 0.
[105] Referring to Figure 5, a flowchart 500 is shown for the INSERTION NEW TREE algorithm included in the present invention. This algorithm covers the case that one original leaf is already attached to the DT slot and a second leaf with different SA, DA value but the same hash value is to be added. The start 502 of the algorithm is followed by creation of a new tree 504 with root equal to the DT slot. One branch is attached 506 to the root. Two SA, DA value hash to this same slot. In the manner of the well- known Patricia tree algorithm, the first bit is found 508 in which the two SA, DA labels differ. One value of the test bit at the branch points to the original leaf 508. The other possible value of the same bit points to the newly added leaf 510. The newly added leaf has its SA, DA as label and stores the DP of the new key 510. Then the algorithm branches 512 to DETECTION, previously described.
[106] Table III sets forth a self-explanatory alternate representation of Insertion New Tree technique.
[107] TABLE in
[108] INSERTION NEW TREE
[109] 0. Create a new tree with root equal the DT slot and one branch.
[110] 1. Find first bit in the two concatenations of the two SA, DA combinations in which they differ.
[Ill] 2. Use that bit in a bit-test branch to the two leaves, one leaf is the original and the other is added that has label the new SA, DA and stores the DP of the new key.
[112] 3. Goto DETECTION step 0.
[113] Referring to Figure 6, a flowchart 600 is shown for the INSERTION LARGER
TREE algorithm included in the invention. The start 602 of the algorithm is followed by well-known Patricia tree insertion 604 of a new branch and a new leaf. The label of the new leaf is designated 606 as the concatenation of the SA, DA of the key. The DP of the packet is stored 608 in the new leaf. Then the algorithm branches 610 to DETECTION, previously described.
[114] Table IV sets forth a self-explanatory alternate representation of Insertion Larger
Tree Algorithm.
[115] TABLE IV
[116] INSERTION LARGER TREE
[117] 0. Use conventional Patricia tree algorithm to insert a new bit test branch, add one leaf.
[118] 1. The new leaf has the SA, DA of the new key as label and stores the DP.
[119] 3. Goto DETECTION step 0.
[ 120] Referring to Figure 7, a flowchart 700 is shown for the THRESHOLD algorithm included in the invention. The start 702 of the algorithm is followed by comparing 704 the number of DP values stored in the leaf to a threshold specified at configuration, typically eight. If the number of (distinct) DP values is less than or equal to the threshold, then the algorithm branches 708 to DETECTION. If the number of DP values is greater than the threshold, then a report is sent 706 to the administrator or ad¬ ministration system. Then the algorithm branches 708 to DETECTION.
[121] Table V sets forth a self-explanatory alternate representation of Threshold
Algorithm.
[122] TABLE V
[123] THRESHOLD
[ 124] 0. If the new number of DPs in the leaf is above a threshold T, then REPORT the possibility of malicious traffic from the SA.
[125] 1. Goto DETECTION step 0.
[126] Referring to Figure 8, a flowchart 800 is shown for the DELETION algorithm included in the invention. This algorithm deletes stale entries from the Direct Table/ Patricia Tree data structure. The start 802 of the algorithm is followed by incrementing 804 the frame count value by one. Then the frame count is compared 806 to a threshold number of frames such as 1024. If the frame count is not greater than the threshold, then the algorithm branches 812 to DETECTION. If the frame counts is greater than or equal to the threshold, then the algorithm causes the complete deletion 808 of all leaves, trees (branches), and DT pointers. The algorithm next resets 810 the value of frame count to zero. Then the algorithm branches 812 to DETECTION. Table VI sets forth a self-explanatory alternate representation of the Deletion Algorithm.
[127] TABLE VI
[128] DELETION
[ 129] 1. Increment time counter by 1.
[130] 2. Compare time counter value to a threshold. [131] 4. If the time count is less than or equal to a threshold, then goto DETECTION step
0.
[132] 5. If time counter value exceeds the threshold, then delete all leaves and trees from the DT.
[133] 6. Reset the time count to zero.
[ 134] 7. Goto DETECTION step 0.
[135] An alternative embodiment, the count used could be time increments, not number of frames. Those practiced in the art will understand this alternative is a simple change in the DELETION algorithm; Table VII shows a self-explanatory representation of Detection Algorithm based upon time increments.
[136] TABLE VII
[137] DELETION
[138] 1. Increment time counter by 1.
[139] 2. Compare time counter value to a threshold.
[140] 4. If the time count is less than or equal to a threshold, then goto DETECTION step
0.
[141] 5. If time counter value exceeds the threshold, then delete all leaves and trees from the DT.
[142] 6. Reset the time count to zero.
[143] 7. Goto DETECTION step 0.
[144] As stated herein once reconnaissance packets are detected in the network, they are reported to the administrator or other management function for further action.
[145] The invention includes several possible options for a RESPONSE to the reporting mechanism. In one embodiment, the invention can include alerting an administrator who then might investigate the traffic with given SA, DA, DP of the packets causing the branch to the REPORT state for possibly malicious intent. In a second embodiment, the invention could include dropping all subsequent packets with the same SA, DA, DP. In a third embodiment, the invention could include dropping or rate limiting all subsequent packets with the same SA. In a fourth embodiment, the invention could include some combination of the first three possible RESPONSES. The combination of RESPONSES might change with time.
[146] Figure 10 shows a graphical representation for the IP datagram header format.
Because this IP datagram header format is well known in the prior art only fields of the header that are relevant to the present invention will be identified and discussed. The fields of interest are the Source IP Address (SA) and Destination IP Address (DA). The SA identifies the origin of the datagram (packet) whereas DA identifies the end (destination) of said packet.
[147] Figure 11 shows a graphical representation for the TCP Header Format which is nested in the payload field of the IP datagram. The TCP Header Format is also well known in the prior art. Therefore, only the fields and bits which are of interest to the present invention will be discussed further. The fields of interest include Source Port (SP) and Destination Port (DP). As is known to those skilled in the art the SP identifies origination port of a packet, whereas DP identifies end port to which packet is to be delivered. The bits of interest include Reset (RST) and Synchronize (SYN). These bits when set are active and when reset are inactive. The packet identity is determined by setting of the bits. For example, if the SYN bit is set, this would include a SYN packet. The use and function of these bits are well documented in the prior art. Therefore, further discussion is not warranted.
[148] Figure 12 shows a graphical representation of the search facility or search look-up structure according to the teachings of the present invention. It is recognized that other tree structures can be devised by those skilled in the art. Therefore, the graphical repre¬ sentation is only exemplary and does not limit the scope of the invention claimed.
[149] The data structure 1200 includes the extraction of the key 1202 composed of the concatenation of SA and DA, 64 bits. It further includes applying a hash function 1204 to produce a shorter index such as 16 or 32 bits. The index is used relative to a Direct Table 1208 to identify an entry that is the root of a Patricia tree 1210 . The Patricia tree has one or more leaves such as 1212 , 1214, 1216. Each leaf contains the full SA, DA that hashes to the Direct Table entry as well as one or more DP values that have been observed.
[150] OPERATION:
[151] In operation packets received in a device on which the present invention is deployed are examined as follows:
[152] It is assumed that the lookup mechanism is logically equivalent to a search tree. In one embodiment, the first branch of the tree simultaneously tests many bits, connecting many conventional trees. The first such branch can be called a Direct Table.
[153] The first lookup (first tier) hashes the Source Address (SA) and Destination
Address (DA) of a TCP SYN or RST packet to a Direct Table (DT). The index of the DT can be a convenient value (such as 16 bits). The full key is SA, DA, and Destination Port (DP). The leaf matches the packet by SA and DA, then in addition compares DP to a linked list of DPs for the same SA and DA. If the DP is new, then it is added to the list. Periodically (such as once per second) some fraction (such as 1/16) of this lookup is completely deleted.
[154] If the number of observed DPs in a leaf is greater than a threshold (such as 4), then the SA, DA, DP combinations of the leaf are hashed to a second lookup (the second tier). For the second lookup, the hash is on the SA only. The number of bits in the DT index can be low (such as eight). If one SA has many DA, DP combinations, then the DA, DP combinations are stored in a leaf. If the number of DA, DP combinations in such a leaf exceeds a threshold (such as four), then SA is suspected of taking part in a Distributed Scan. The entire table in the second tier is purged within a medium period (such as four seconds).
[155] The suggested purge intervals are based upon reasoning and real traffic statistics. If the purge intervals are too short, then attacks can be overlooked because a full-fledged attack actually spans several periods. If the purge intervals are too long, then the reaction of the invention to a new attack is delayed.
[156] In general, purge intervals can be adjusted. If there are few reported attacks, then the interval can be increased up to a limit. If the are too many reported attacks, then the purge intervals can be decreased to a limit. An exponentially weighted function can be used to increase or decrease periods. The function can be described as follows. Let i denote the index = 0, 1, 2, ... of period P, so P(i) is the ith value in a sequence. P(O) = minimum limit. The period adjustment can have the form
[157] 1. If too few reported attacks, then P(i+1) = (l-K)*P(i) + K*maximum limit.
[158] 2. Else P(i+1) = (l-K)*P(i) + K*minimum limit
[159] Here minimum limit < maximum limit and K is some number with 0 < K <= 1.
[160] Computer network administration includes defending network assets from malicious traffic. The dissemination of malicious traffic in some cases entails a set of packets with one Source Address (SA) corresponding to the attacker, one Destination Port (DP) corresponding to an application thought to be vulnerable by the attacker, and many Destination Addresses (DAs) corresponding to possible victims. In other cases, a few SAs and DPs could be involved, but still many more DAs.
[161] Referring to Figure 13 a flowchart 1300 is shown for the DETECTION algorithm according to the teachings of the present invention. The start 1302 of the algorithm is followed by the arrival of the next packet 1304. The Internet Protocol (IP) packet is tested 1306 for being TCP. The test is effectuated by examining control bits in the IP header. If it is not, the algorithm returns to state 1304 to await the next packet. If the packet is TCP, then the packet is tested 1308 for being SYN. The test is carried out by examining control bits in the TCP header. If it is not, then the algorithm returns to 1304. If it is SYN, then the DP in the TCP header is tested 1310 for membership in the Permissive list. If it is the Permissive list, then the algorithm returns to 1304. If the DP is not Permissive, then the concatenation of SA and DP is fed 1312 to a hash function. The value of the hash becomes the index into a Direct Table (DT) 1314. The DT slot is tested 1316 for already having a pointer to a leaf or to a tree with at least two leaves. If there is no pointer, then the algorithm branches 1318 to the INSERTION ON DT algorithm (Figure 4). If there is a pointer, then the algorithm tests for pointing to exactly one leaf 1320. If the pointer is to a tree with at least two leaves, then the SA, DP concatenation is tested 1324 by the Patricia tree algorithm. The SA, DP key is then tested 1330 by the Patricia tree algorithm to try to match the label of an existing leaf. If SA, DP does not match, then the algorithm branches 1334 to the INSERTION LARGER TREE algorithm. If SA, DP does match a leaf in the tree, then the DA of the key is compared 1332 to the one or more DA values in the leaf. Going again to 1320, if the DT slot points to exactly one leaf, then the algorithm compares 1322 the key SA, DP with the label of that leaf. If the SA, DP do not match 1326, then the algorithm branches to INSERTION NEW TREE 1328. If the SA, DP do match 1326, then the algorithm branches to a comparison 1332 of the DA of the key with the one or more DA values in the leaf. If the key DA matches some leaf DA 1336, then the algorithm returns to 1304 to await the next packet. If the key DA does not match any leaf DA, then the new DA is stored 1338 in the leaf. The algorithm then goes 1340 to the THRESHOLD algorithm.
[162] Referring to Figure 14 a flowchart 1400 is shown for the INSERTION algorithm included in the invention. The start 1402 of the algorithm is followed by the creation 1404 of a new pointer from the Direct Table (DT) slot to a new leaf. The leaf is labelled 1406 with the concatenation of SA and DP. The leaf is used to store the value of the DA in the packet IP header 1408. Then the algorithm branches 1410 to DETECTION previously described with reference to Figure 13.
[163] Referring to Figure 15 a flowchart 1500 is shown for the INSERTION NEW TREE algorithm included in the invention. This algorithm covers the case that one original leaf is already attached to the DT slot and a second leaf with different SA, DP value but the same hash value is to be added. The start 1502 of the algorithm is followed by creation of a new tree 1504 with root equal to the DT slot. One branch is attached 1506 to the root. Two SA, DP value hash to this same slot. In the manner of the well-known Patricia tree algorithm, the first bit is found 1508 in which the two SA, DP labels differ. One value of the test bit at the branch points to the original leaf block 1508. The other possible value of the same bit points to the newly added leaf block 1510. The newly added leaf has its SA, DP as label and stores block 1510 —the DA of the new key. Then the algorithm branches to DETECTION Block 1512.
[164] Referring to Figure 16 a flowchart 1600 is shown for the INSERTION LARGER
TREE algorithm included in the invention. The start 1602 of the algorithm is followed by well-known Patricia tree insertion 1604 of a new branch and a new leaf. The label of the new leaf is designated as the concatenation of the SA, DP of the key block 1606. The DA of the packet is stored in the new leaf block 1608. Then the algorithm branches to DETECTION block 1610.
[165] Referring to Figure 17 a flowchart 1700 is shown for the THRESHOLD algorithm included in the invention. The start 1702 of the algorithm is followed by comparing block 1704 the number of DA values stored in the leaf to a threshold specified at con¬ figuration, typically eight. If the number of (distinct) DA values is less than or equal to the threshold, then the algorithm branches block 1708 to DETECTION. If the number of DA values is greater than the threshold, then a report is sent block 1706 to the ad¬ ministrator or administration system. Then the algorithm branches block 1708 to DETECTION.
[166] Figure 18 shows a graphical representation of a data structure against which the SA and DA of a TCP/IP SYN packet is correlated in order to determine if it is a malicious packet.
[167] The data structure 1800 includes the extraction of the key 1802 composed of the concatenation of SA and DP, so 48 bits. It further includes applying a hash function 1804 to produce a shorter index such as 16 bits. The index is used relative to a Direct Table 1808 to identify an entry that is the root of a Patricia tree 1810. The Patricia tree has one or more leaves such as 1812, 1814, 1816. Each leaf contains the full SA, DP that hashes to the Direct Table entry as well as one or more DA values that have been observed.
[168] So far the invention has been described using flowcharts. An alternate way of presenting the algorithms used in this invention follows:
[169] The 16 bits (or so) of the hash of SA, DP are used as an index in a Direct Table
(DT). DT slots are normal FM slots and can point to no leaf, exactly one leaf, or to a tree with branches and two or more leaves. Each leaf compares the full packet SA, DP to an exact pattern of SA, DP. Again, a leaf contains SA, DP as its label and at least one and possibly several DAs.
[170] If upon computation of the hash value for an SA, DP combination it happens that the slot in the DT is empty (points to nothing), then the DT slot is revised to point to a new leaf with label SA, DP and content DA. Else, if the SA, DP slot in the DT has a pointer, then follow it to a leaf or tree. If the slot points to a tree, then this entails testing certain bits in SA, DP until at most one previously seen leaf can possibly fit the SA, DP. In either case, the full SA, DP in the key and the full SA, DP in the leaf are compared. If they are not equal, then the tree must be rebuilt to test for bits in SA, DP to distinguish the new key from previously seen keys. If they are equal, then the leaf truly corresponds to the key and the DA value of the key is compared to the one or several DA values stored in the leaf. If the DA value of the key is the same as a previously stored DA, then do nothing. Else, add the DA value of the key to the one or more DA values stored in the leaf. Also compare the new total number of DA values with a threshold. If the number is greater than the threshold identify packet as containing virus.
[171] Following are the search acts in the DETECTION ALGORITHM of the invention include the following subprograms expressed in pseudocode. [172] DETECTION
[173] 0. A next packet arrives.
[ 174] 1. If the packet is not TCP, then goto DETECTION.
[ 175] 2. If the packet is not SYN, then goto DELETION.
[176] 3. If the DP of a packet is in a Permissive list, then goto DETECTION.
[177] 4. The SA, DP combination (key) from the headers of the packet are fed to a hash function.
[178] 5. The hash value is used as an index into a Direct Table slot.
[179] 6. If the slot has no pointer (there is no current session with SA, DP that hash to the slot), then goto INSERTION ON DT step 0.
[180] 7. If the slot points to a tree (with two or more leaves), then goto 13.
[181] 8. If the slot points to (exactly) one leaf, compare the SA, DP with that of the leaf.
[ 182] 9. If the SA, DP of the key and the leaf do not match, goto INSERTION NEW
TREE step 0. [183] 10. Else, compare sequentially the DA of the packet with the one or more DA values in the leaf. 11. If the DA of the packet and some DA of the leaf are equal, then goto 0.
[ 184] 12. Else, store the new DA in the leaf. Goto THRESHOLD.
[185] 13. Perform bit-test branches in the tree on SA, DP of the key until a leaf is reached.
[ 186] 14. If the SA, DP of the key and leaf do not match, goto INSERTION LARGER
TREE step 0. [187] 15. Else, compare sequentially the DA of the packet with the one or more DA values in the leaf. 16. If the DA of the packet and some DA of the leaf are equal, then goto 0.
[188] 17. Else, store the new DA in the leaf. Goto THRESHOLD.
[ 189] INSERTION ON DT
[190] 0. Create a pointer from the DT slot to a new leaf which has SA, DP as label and stores DA.
[191] 1. Goto DETECTION.
[192] INSERTION NEW TREE
[193] 0. Create a new tree with root equal the DT slot and one branch.
[194] 1. Find first bit in the two concatenations of the two SA, DP combinations in which they differ. [195] 2. Use that bit in a bit-test branch to the two leaves, one leaf is the original and the other is added that has label the new SA, DP and stores the DA of the new key. [196] 3. Goto DETECTION.
[197] INSERTION LARGER TREE [198] 0. Use conventional Patricia tree algorithm to insert a new bit test branch, add one leaf.
[199] 1. The new leaf has the SA, DP of the new key as label and stores the DA.
[200] 3. Goto DETECTION.
[201] THRESHOLD
[202] 0. If the new number of DAs in the leaf is thereby above a threshold T, then
REPORT the possibility of malicious traffic from the SA. [203] 1. Goto DETECTION.
[204] DELETION
[205] 1. Increment frame counter by 1.
[206] 2. Compare frame counter value to a threshold.
[207] 4. If the frame count is less than or equal to a threshold, then goto DETECTION.
[208] 5. If frame counter value exceeds the threshold, then delete all leaves and trees from the DT.
[209] 6. Reset the frame count to zero.
[210] 7. Goto DETECTION.
[211] In an alternative embodiment, the count can be time intervals instead of frames, that is,
[212] DELETION
[213] 1. Increment time counter by 1.
[214] 2. Compare time counter value to a threshold.
[215] 4. If the time count is less than or equal to a threshold, then goto DETECTION.
[216] 5. If time counter value exceeds the threshold, then delete all leaves and trees from the DT.
[217] 6. Reset the time count to zero.
[218] 7. Goto DETECTION.
[219] 3. REPORTING ALGORITHM
[220] Upon receiving a REPORT from the detection mechanism, the present invention can react with one of the following Responses: [221] 1. Alert an administrator who then might investigate the traffic with given SA, SP,
DA, or DP for possibly malicious intent.
[222] 2. Add the DP = slot value to the list of Permissive DPs.
[223] 3. Drop all subsequent packets with the same SA, DA, DP
[224] 4. Alternatively, drop all subsequent packets with the same SA
[225] 5. A combination of Responses 1, 2, 3, 4 that may change with time.
[226] One of the many benefits provided by the present invention is that the detection is done dynamically and in real time. As a consequence unauthorized snooping may be detected and corrective action is taken before harm is done to devices on the network. [227] Even though the present invention has been described in relationship with TCP/IP protocol, this should not be construed as a limitation on the scope of the invention. The present invention has broad application with many different protocols. It is well within the skill of one skilled in the art to apply teachings of the present invention to detect re¬ connaissance when other protocols are used. Any such usage and/or application are within the scope of the present invention as set forth in the claims.
[228] The foregoing is illustrative of the present invention and is not to be construed as limiting thereof. Although exemplary embodiments of this invention have been described, those skilled in the art will readily appreciate that many modifications are possible in the exemplary embodiments without materially departing from the novel teaching and advanced use of this invention. Accordingly, all such modifications are intended to be included within the scope of this invention as defined in the claims.

Claims

Claims
[001] L A method to detect unauthorized scanning on a network comprising the steps of: (a) monitoring traffic received in a network device; (b) detecting a predefined subset of packets within said traffic; and
(c) analyzing the predefined subset of packets to detect suspicious packets having predefined statistical characteristics.
[002] 2. The method of claim 1, further comprising the step of: sounding an alarm indicating detection of packet with the predefined statistical characteristics.
[003] 3. The method of claim 1 or claim 2, wherein the subset of packets include at least two of three bits of a TCP header are set (SYN, RST, FIN) in TCP packets from TCP/IP set.
[004] 4. A method as claimed in any preceding claim further comprising the steps of: providing a look-up structure in a device coupled to said network, said look-up structure being logically equivalent to a search tree having a first portion partitioned into a plurality of slots with at least one slot operatively coupled to a tree structure; receiving network traffic in the device; analyzing the network traffic with a programmed CPU to detect TCP/IP packets having a predefined statistical characteristic; for each TCP/IP packet so detected using said programmed CPU to generate a hashed value from Source Address (SA) and Destination Address (DA); using the hashed value to index into a slot; examining the slot for a pointer; if no pointer is found, inserting a new leaf with SA and DA being identifier of said leaf; storing in said leaf an address for a Destination Port (DP) contained in said each TCP/IP packet; and creating a pointer in said slot that points to the leaf.
[005] 5. The method of claim 4 further comprising the steps of: if a pointer is in the slot, using said pointer to access a leaf; examining contents of said leaf to detect addresses of Destination Ports (DP) recorded therein; comparing number of addresses so detected with a threshold value; and performing a second tier look¬ up if number of addresses equals or exceeds the threshold value.
[006] 6. The method of claim 5, further comprising the step of: adding DA to said leaf if number of addresses in said leaf is less than the threshold value.
[007] 7. A system to detect scanning on a network comprising: a memory; a look-up data structure operatively configured within said memory; and a processor executing a set of algorithms that correlate predefined packets with the look-up data structure to detect predefined packets having predefined statistical characteristics and to analyze the predefined subset of packets to detect suspicious packets.
[008] 8. The system of claim 7, further comprising: means for sounding an alarm indicating detection of packet with the predefined statistical characteristics.
[009] 9. The system of claim 7 or claim 8, wherein the subset of packets include at least two of three bits of a TCP header are set (SYN, RST, FIN) in TCP packets from TCP/IP set.
[010] 10. The system as claimed in any of claims 7 to 8, further comprising: a look-up structure in a device coupled to said network, said look-up structure being logically equivalent to a search tree having a first portion partitioned into a plurality of slots with at least one slot operatively coupled to a tree structure; means for receiving network traffic in the device; means for analyzing the network traffic with a programmed CPU to detect TCP/IP packets having a predefined statistical characteristic; for each TCP/IP packet so detected, means for using said programmed CPU to generate a hashed value from Source Address (SA) and Destination Address (DA); means for using the hashed value to index into a slot; means for examining the slot for a pointer; if no pointer is found, means for inserting a new leaf with SA and DA being identifier of said leaf; means for storing in said leaf an address for a Destination Port (DP) contained in said each TCP/IP packet; and means for creating a pointer in said slot that points to the leaf.
[011] 11. The system of claim 10, further comprising: if a pointer is in the slot, means for using said pointer to access a leaf; means for examining contents of said leaf to detect addresses of Destination Ports (DP) recorded therein; means for comparing number of addresses so detected with a threshold value; and means for performing a second tier look-up if number of addresses equals or exceeds the threshold value.
[012] 12. The system of claim 11, further comprising: means for adding DA to said leaf if number of addresses in said leaf is less than the threshold value.
[013] 13. A computer program comprising program code means adapted to perform all the steps of any of claims 1 to 6, when said program is run on a computer.
[014] 14. A method to detect harmful packets on a computer network including: a) providing at least one algorithm that scans received packets; and b) identifying packets having a predefined format including a single Source Address, (SA), N Destination Addresses (DAs) and M Destination Ports (DPs).
[015] 15. The method of claim 14 further comprising the step of: providing a list of
Permissible DPs; comparing a DP in an identified packet with the list of Permissible DPs; and discarding the identified packet having a matching DP.
[016] 16. A system to detect packets containing harmful code in a computer network comprising: a Network Processor including memory and at least one processing element; a data structure including at least one Patricia Tree arrangement storing at least one rule with bit pattern similar to that of a packet carrying harmful code located within said memory; a computer program deployed on said at least one processing element and if executed causing said processing element to generate keys from predefined fields in predefined packets correlates the key with the rule to identify packets having a single SA (Source Address), a single DP (Destination Port) and many DAs
(Destination Addresses).
[017] 17. The system of claim 16, wherein the processing element uses a hashed of SA and DP of a predefined packet to index into a slot of said Direct Table.
[018] 18. The system of claim 17, wherein if the slot has no entry the processor executes a second program to insert a pointer in said slot.
[019] 19. The system of claim 17, wherein if the slot contains information pointing to a single leaf comparing leaf SA, DP with SA, DP in predefined packet and if a match occurs on SA, DP, then the DA in the leaf is compared with the DA in the packet and the packet DA is added to the list of DAs in the leaf if no match occurs.
[020] 20. A computer program comprising program code means adapted to perform all the steps of any of claims 14 to 15, when said program is run on a computer.
PCT/EP2005/053518 2004-07-22 2005-07-20 Method, system and computer program for detecting unauthorised scanning on a network WO2006008307A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2005800228801A CN101052934B (en) 2004-07-22 2005-07-20 Method, system and computer program for detecting unauthorised scanning on a network
JP2007521949A JP4743901B2 (en) 2004-07-22 2005-07-20 Method, system and computer program for detecting unauthorized scanning on a network

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10/896,733 US7957372B2 (en) 2004-07-22 2004-07-22 Automatically detecting distributed port scans in computer networks
US10/896,680 2004-07-22
US10/896,733 2004-07-22
US10/896,680 US7669240B2 (en) 2004-07-22 2004-07-22 Apparatus, method and program to detect and control deleterious code (virus) in computer network

Publications (1)

Publication Number Publication Date
WO2006008307A1 true WO2006008307A1 (en) 2006-01-26

Family

ID=35058515

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2005/053518 WO2006008307A1 (en) 2004-07-22 2005-07-20 Method, system and computer program for detecting unauthorised scanning on a network

Country Status (3)

Country Link
JP (1) JP4743901B2 (en)
TW (1) TWI364190B (en)
WO (1) WO2006008307A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591965A (en) * 2011-12-30 2012-07-18 奇智软件(北京)有限公司 Method and device for detecting black chain
US9392003B2 (en) 2012-08-23 2016-07-12 Raytheon Foreground Security, Inc. Internet security cyber threat reporting system and method
US10505958B2 (en) 2015-09-16 2019-12-10 Guangdong Eflycloud Computing Co., LTD Method for detecting abnormal traffic
GB2583114A (en) * 2019-04-17 2020-10-21 F Secure Corp Hole punching abuse

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009171431A (en) * 2008-01-18 2009-07-30 Oki Electric Ind Co Ltd Traffic analyzer, traffic analyzing method, and traffic analyzing system
TWI387259B (en) * 2008-08-01 2013-02-21 Kathy T Lin System and method for scenario security of web application programs and program product and computer readable recording medium thereof
US8842590B2 (en) 2009-07-21 2014-09-23 Htc Corporation Mobile device and data connection method thereof
KR101499666B1 (en) * 2013-08-08 2015-03-06 주식회사 시큐아이 Apparatus and method for detecting network scanning

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1081894A1 (en) * 1999-08-18 2001-03-07 Alma-Baba Technical Research Laboratory Co., Ltd. System for monitoring network for cracker attack
US20030200441A1 (en) * 2002-04-19 2003-10-23 International Business Machines Corporation Detecting randomness in computer network traffic
US20040128550A1 (en) * 2002-12-31 2004-07-01 Intel Corporation Systems and methods for detecting and tracing denial of service attacks
WO2005015871A1 (en) * 2003-07-29 2005-02-17 International Business Machines Corporation Method, program and system for automatically detecting malicius computer network reconnaissance

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002124996A (en) * 2000-10-13 2002-04-26 Yoshimi Baba Fast packet acquiring engine/security

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1081894A1 (en) * 1999-08-18 2001-03-07 Alma-Baba Technical Research Laboratory Co., Ltd. System for monitoring network for cracker attack
US20030200441A1 (en) * 2002-04-19 2003-10-23 International Business Machines Corporation Detecting randomness in computer network traffic
US20040128550A1 (en) * 2002-12-31 2004-07-01 Intel Corporation Systems and methods for detecting and tracing denial of service attacks
WO2005015871A1 (en) * 2003-07-29 2005-02-17 International Business Machines Corporation Method, program and system for automatically detecting malicius computer network reconnaissance

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHO K ET AL: "An aggregation technique for traffic monitoring", APPLICATIONS AND THE INTERNET (SAINT) WORKSHOPS, 2002. PROCEEDINGS. 2002 SYMPOSIUM ON NARA, JAPAN 28 JAN.-1 FEB. 2002, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 28 January 2002 (2002-01-28), pages 74 - 81, XP010587865, ISBN: 0-7695-1450-2 *
KAIZAKI RYO ET AL: "Detection of denial of service attacks using AGURI", PROC. INTERNAT. CONF. TELECOMM.; PROCEEDING OF THE INTERNATIONAL CONFERENCE ON TELECOMMUNICATIONS 2002, vol. 1, 2002, pages 808 - 812, XP002349826 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591965A (en) * 2011-12-30 2012-07-18 奇智软件(北京)有限公司 Method and device for detecting black chain
CN102591965B (en) * 2011-12-30 2014-07-09 奇智软件(北京)有限公司 Method and device for detecting black chain
US9392003B2 (en) 2012-08-23 2016-07-12 Raytheon Foreground Security, Inc. Internet security cyber threat reporting system and method
US10505958B2 (en) 2015-09-16 2019-12-10 Guangdong Eflycloud Computing Co., LTD Method for detecting abnormal traffic
GB2583114A (en) * 2019-04-17 2020-10-21 F Secure Corp Hole punching abuse
GB2583114B (en) * 2019-04-17 2022-09-21 F Secure Corp Preventing UDP hole punching abuse
US11824831B2 (en) 2019-04-17 2023-11-21 F-Secure Corporation Hole punching abuse

Also Published As

Publication number Publication date
TW200625871A (en) 2006-07-16
JP4743901B2 (en) 2011-08-10
JP2008507222A (en) 2008-03-06
TWI364190B (en) 2012-05-11

Similar Documents

Publication Publication Date Title
US7669240B2 (en) Apparatus, method and program to detect and control deleterious code (virus) in computer network
US7966658B2 (en) Detecting public network attacks using signatures and fast content analysis
US8042182B2 (en) Method and system for network intrusion detection, related network and computer program product
US7734776B2 (en) Automatically detecting malicious computer network reconnaissance by updating state codes in a histogram
US8326881B2 (en) Detection of network security breaches based on analysis of network record logs
US20100205671A1 (en) Hash-based systems and methods for detecting and preventing transmission of polymorphic network worms and viruses
US20040064737A1 (en) Hash-based systems and methods for detecting and preventing transmission of polymorphic network worms and viruses
WO2006008307A1 (en) Method, system and computer program for detecting unauthorised scanning on a network
Karasaridis et al. Nis04-2: Detection of dns anomalies using flow data analysis
Mohammed et al. Honeycyber: Automated signature generation for zero-day polymorphic worms
Bakos et al. Early detection of internet worm activity by metering icmp destination unreachable messages
Cabana et al. Threat intelligence generation using network telescope data for industrial control systems
US20060085861A1 (en) Tracing slaves from reflectors with deterministic packet marking
US7957372B2 (en) Automatically detecting distributed port scans in computer networks
Gandhi et al. Detecting and preventing attacks using network intrusion detection systems
Jaiganesh et al. An efficient algorithm for network intrusion detection system
Streilein et al. Improved detection of low-profile probe and denial-of-service attacks
Blackwell Ramit-Rule-Based Alert Management Information Tool
CN115225301A (en) D-S evidence theory-based hybrid intrusion detection method and system
US20050147037A1 (en) Scan detection
Chen et al. Extracting attack sessions from real traffic with intrusion prevention systems
Mohammed et al. An automated signature generation approach for polymorphic worms using principal component analysis
Beyah et al. Invisible Trojan: An architecture, implementation and detection method
Kabiri et al. Category-based selection of effective parameters for intrusion detection
Kijewski Automated extraction of threat signatures from network flows

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 200580022880.1

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2007521949

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase