Abstract:
The present invention relates to the communications field, and in particular, to a detection method, an apparatus, and a network with detection functions. The present invention solves the problem that the Botnet cannot be detected on a current communication network. The detection method is used to detect a Botnet and includes: obtaining a network address translation (NAT) table; detecting a behavior plane and a communication plane of a host according to the NAT table; and performing cluster analysis on results of detection on the communication plane and the behavior plane.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of International Application No. PCT/CN2010/071151, filed on Mar. 19, 2010, which claims priority to Chinese Patent Application No. 200910106341.6, filed on Mar. 23, 2009, both of which are hereby incorporated by reference in their entireties. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to the communications field, and in particular, to a method, an apparatus, and a system for detecting a zombie host. 
     BACKGROUND OF THE INVENTION 
     The Botnet is the biggest threat to current networks of operators. Most distribution denial of service (DDoS) attacks are initiated by the Botnet and pose great threats to telecom operators and their users. A controlled zombie host becomes a hotbed for malicious websites and junk mails, and also causes great information disclosures and economic losses. 
     Among the conventional Botnet detection technologies, an effective technology is behavior-based detection. This technology uses a single host as the detection target, detects a communication plane and a behavior plane, and performs cluster analysis on detection results. Then, the technology performs correlation analysis to judge whether the single host is infected and determine abnormal activities performed by the single host if the single host is infected. The detection on the communication plane focuses on data streams, and detects the communication features of the Internet Protocol (IP) layer and transport layer. The detection on the behavior plane judges, according to various behaviors of the single host, whether the host performs such suspicious behaviors as downloading malicious software, scanning, and sending malicious software or a junk mail, and then judges whether the host is infected. This technology is used to observe and analyze various behaviors of a single host or other network devices, and make a judgment according to the network communication behaviors of the host. However, when a network address translation (NAT) device exists, the access side of an operator cannot identify a single host on a private network from a user gateway. Therefore, it cannot be determined that network behaviors are initiated by one host on a private network. 
     SUMMARY OF THE INVENTION 
     Embodiments of the present invention provide a method, an apparatus, and a system for detecting a zombie host to solve the technical problem that a zombie host on a private network equipped with a NAT device cannot be detected on current communication networks. 
     An implementation of an embodiment of the present invention for solving the preceding technical problem is: providing a detection method. The method includes obtaining a NAT table; detecting a behavior plane and a communication plane of a host according to the NAT table; and analyzing results of detection on the behavior plane and the communication plane of the host to judge whether the host is a zombie host. 
     Another implementation of an embodiment of the present invention for solving the preceding technical problem is as follows: A detection apparatus is configured to detect a Botnet and includes a NAT log server, a Netflow collector, and a network behavior log server. The NAT log server is configured to maintain a NAT table. The Netflow collector is configured to: maintain a communication plane flow table, compare a data time stamp with a time stamp of the NAT table, and determine translation entries to be matched. The network behavior log server is configured to: maintain a behavior plane attack alarm table, search the NAT table for entries that match a source IP address, a source port, and a NAT device identity (ID), and translate the source IP address and the source port into a public IP address and port according to the NAT table. 
     Another implementation of an embodiment of the present invention for solving the preceding technical problem is as follows: A detection system includes at least one host on an internal private network and at least one detection apparatus located at the edge of an Internet service provider (ISP) network. When the host on the private network accesses the ISP network, the detection apparatus is configured to detect network behaviors of the host to judge whether the host is a zombie host. 
     By using the detection system and detection method provided in embodiments of the present invention, the problem that the host on the private network cannot be confirmed from the operator side in a NAT scenario is solved. Thereby, Botnet detection solutions can be provided for operators. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a schematic structural diagram of a network/system with detection functions according to an embodiment of the present invention; 
         FIG. 2  is a schematic structural diagram of a detection apparatus according to an embodiment of the present invention; and 
         FIG. 3  is a schematic flowchart of a detection method according to an embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
     The following describes the implementation process of the present invention with reference to exemplary embodiments. 
     NAT is a network address translation technology that permits a whole institution to appear on the Internet with a public Internet Protocol (IP) address. This technology translates an internal private IP address into a public IP address. With the NAT technology, an internal private IP address is used on an internal network such as an Intranet, and when an internal node needs to communicate with external networks, the internal private IP address is replaced by a public IP address, so that the public IP address is normally used on external public networks. NAT enables multiple computers to share the Internet connection, which solves the problem of public IP addresses shortage. 
     There are three types of NAT, namely, static NAT, pooled NAT, and network address port translation (NAPT). 
     Static NAT is the simplest and easiest to set and implement. It permanently maps the internal IP address of each host on an internal network to a legal IP address on an external network. Pooled NAT defines a series of legal addresses on the external network, and maps the legal addresses to the internal network by using a dynamic allocation method. NAPT maps internal addresses to different ports of an IP address on the external network. 
     Pooled NAT translates only IP addresses, and allocates a temporary external IP address to each internal IP address. Pooled NAT is mainly applied to dial-up and frequent remote connections. After a remote user is connected, pooled NAT may allocate an IP address to the remote user; when the user is disconnected, the IP address may be released and reserved for future use. 
     NAPT is a well-known translation mode. NAPT is generally applied in access devices, and may hide a small- and middle-sized network behind a legal IP address. Different from pooled NAT, NAPT maps an internal connection to an independent IP address on the external network, and adds a TCP port number selected by the NAT device to the IP address. When NAPT is used on the Internet, all different information flows seem to come from the same IP address. This merit enables NAPT to be practical in small offices. A small office may request an IP address from an Internet Service Provider (ISP) and connect multiple computers to the Internet through NAPT. 
     In an embodiment of the present invention, the NAT device on the user side has a mapping table (or other forms of mapping) between a host ID and an IP address (a port number may be added if NAPT is applied). The IP address is a public IP address used by the host to perform external communication through the NAT device. The NAT device is a gateway or a firewall. The host ID includes a media access control (MAC) address of the host, a user name or an internal private IP address. The detection apparatus on the operator side is deployed or integrated with the edge router on the ISP network. The detection apparatus on the operator side needs to cluster and detect behaviors of each host to judge whether the host is a zombie host. The NAT device shares the NAT mapping with the detection apparatus on the operator side, so that the detection apparatus can categorize network behaviors by using the host ID. 
       FIG. 1  is a schematic structural diagram of a network with detection functions according to an embodiment of the present invention. As shown in  FIG. 1 , the network includes at least one internal private network and at least one ISP network. The host on the internal private network accesses the ISP network through the NAT device and the edge router of the ISP network. The network further includes a detection apparatus. The detection apparatus is deployed or integrated with the edge router of the ISP network, and is configured to detect the network behaviors of the host accessing the ISP network to judge whether the host is a zombie host. 
       FIG. 1  illustrates a detection system according to an embodiment of the present invention. The detection system is configured to detect a Botnet. The system includes at least one host on an internal private network and at least one detection apparatus located at the edge of the ISP network. When the host on the private network accesses the ISP network, the detection apparatus is configured to detect network behaviors of the host to judge whether the host is a zombie host. 
     As shown in  FIG. 2 , the detection apparatus includes a NAT log server, a Netflow collector, and a network behavior log server. 
     The NAT log server is configured to maintain a NAT table, that is, the mapping table between a host ID and an IP address. The IP address is a public IP address used by the host to perform external communication through the NAT device. The maintenance of the NAT table includes adding or deleting the mapping table between an internal private network host ID and the public IP address and recording such information as the start and end time of the address translation and the NAT device ID. 
     The Netflow collector is configured to maintain a communication plane flow table and perform statistical analysis, for example, classification and clustering. 
     The network behavior log server is configured to maintain a behavior plane attack alarm table that carries information such as downloading and spreading malicious software, scanning, and sending a junk mail. 
     Optionally, the NAT log server is further configured to age the NAT table periodically. The aging time of old entries should be longer than that of the flow cache. 
     Optionally, the Netflow collector is further configured to compare the data time stamp with the time stamp of the NAT table, and determine translation entries to be matched in the NAT table. 
     Optionally, the network behavior log server is further configured to search the NAT table for entries that match the source IP address, source port, and NAT device ID according to the attack alarm table, and translate the source IP address and the source port into the public IP address and port according to the NAT table. 
     In addition, the network behavior log server performs correlation analysis on the analysis results of the communication plane (which receives the Netflow) and abnormal records of the behavior plane (which receives the attack alarm); if entries are matched, the network behavior log server increases flow information or alarm information; otherwise, the network behavior log server creates entries. 
     The zombie host may be located on the internal private network behind NAT. The unique ID of the zombie host may be restored through the mapping of the NAT. This case usually occurs under the following condition: After a user host on the internal private network is offline, the &lt;IP, Port&gt; pair leased by the user host in the NAT external network is released. A new user host on the internal private network is online, and leases the same &lt;IP, Port&gt; pair in the NAT address pool. Seen from the detection apparatus on the external network, this &lt;IP, Port&gt; pair in the NAT address pool is unchanged, but the actual host on the internal private network is already changed. Because the Botnet detection takes a long time, the user host on the internal private network may go online or offline frequently if the time is calculated by the day. The unique ID of the user host on the internal private network may be restored through the NAT mapping. This ID uniquely identifies the zombie host, and is used to detect the zombie host. It serves as an auxiliary function of the Botnet detection. The unique ID of the user host may be the MAC address of the host, internal private IP address or user name. 
       FIG. 3  is a schematic flowchart of a detection method according to an embodiment of the present invention. The method includes the following steps: 
     S 1 . Obtain a NAT table. 
     The detection apparatus obtains the NAT table. For example, the detection apparatus may obtain a mapping table between an internal private network host ID and an IP address from the NAT device, where the IP address is a public IP address used by the host to perform external communication through the NAT device. 
     S 2 . Detect a behavior plane and a communication plane of the host according to the NAT table. 
     The detection apparatus detects the behavior plane of the host according to the mapping table. For example, according to various behaviors of a single host, the detection apparatus judges whether the host is engaged in such suspicious behaviors as downloading malicious software, scanning, and sending malicious software or a junk mail, and then judges whether the host is infected as a zombie host. 
     The detection apparatus uses data streams as the detection target, and checks the communication plane, for example, the communication features of the network layer and transport layer. The detection on the communication plane may be implemented by using the Netflow technology. The Netflow technology measures and counts IP data streams passing through a network device. It can record the traffic passing through the network device (for example, a router). The recorded features include a quintuple, time stamp or other contents in the packet header. The recorded data streams may be combined according to the quintuple or other features. The data streams recorded by the network device (for example, the router) may be cached in the Netflow device; after a certain amount of stream data is collected, the stream data is sent to the Netflow server through User Datagram Protocol (UDP) packets. 
     S 3 . Analyze the results of detection on the communication plane and the behavior plane. 
     Cluster analysis is performed on the results of detection on the communication plane and the behavior plane, followed by correlation analysis. In this way, whether the single host is infected is judged and the abnormal activities carried out by the infected single host are determined. 
     On the behavior plane, the traffic features of the zombie IP stream are extracted after exceptions are detected through deep packet inspection (DPI). Because the communication plane includes all the IP traffic, the IP streams are clustered into several types on the communication plane, with each type having a traffic feature. The features of zombie IP streams detected on the behavior plane are compared with the features of IP streams on the communication plane; if the features are similar, zombie IP streams may also exist on the communication plane. 
     In addition, whether the host is infected may be judged through independent Botnet detection and analysis on the behavior plane. 
     By using the detection system and detection method provided in embodiments of the present invention, whether the host on the private network is a zombie host can be confirmed from the operator side in a NAT scenario. Thereby, Botnet detection solutions can be provided for operators. 
     Based on the preceding description of embodiments, it is understandable to those skilled in the art that the present invention may be implemented through software in addition to a necessary universal hardware platform or through hardware only. In most circumstances, the former is preferred. Therefore, the essence of the technical solution of the present invention or the contributions to the prior art may be embodied as a software product. The software product is stored in a storage medium, and includes several instructions that enable a computer device (a personal computer, a server, or a network device) to perform the methods provided in the embodiments of the present invention. 
     The above descriptions are merely exemplary embodiments of the present invention, but not intended to limit the scope of the present invention. Any modification, equivalent replacement, or improvement made without departing from the spirit and principle of the present invention should fall within the protection scope of the present invention. Therefore, the scope of the present invention is subject to the appended claims.