Fast detecting Hot-IPs in high speed networks

Hot-IPs, hosts appear with high frequency in networks, cause many threats for systems such as denial of service attacks or Internet worms. One of their main characteristics is quickly sending a large number of packets to victims in a short time in network. This paper presents a solution to find Hot-IPs by using non-adaptive group testing approach. The proposed solution has been implemented in combination with the distributed architecture and parallel processing techniques to quickly detect HotIPs in ISP networks. Experimental results can be applied to detect Hot-IPs in ISP networks.


Denial of Service attacks and Internet worms
In denial of service (DoS) or distributed denial of service (DDoS) attacks, attackers send a very large number of packets to victims in a very short time.They aim to make an unavailable service to legitimate clients.Internet worms propagate to detect vulnerable hosts very fast in networks [1][2].The problem is how to fast detect attackers, victims in denial of services attacks and sources of the worms propagating in high speed networks.Based on these results, administrators can quickly have solutions to prevent them or redirect attacks.
There are many methods to detect these risks on network, which are mostly based on Intrusion detection systems/Intrusion prevention systems (IDS/IPS) devices that are allocated before servers to monitor, alert and drop harmful packets.Techniques are used in these solutions that are based on signatures or thresholds.These solutions have some disadvantages in which new attack occurrence and establishing thresholds can decrease the performance of network devices.
High speed networks like ISP which needs a fast solution to decrease these risks.Based on IP traffics going through network devices, every IP packet with its source and destination IP addresses are monitored to appear with a high frequency (Hot-IP), they may be a server that is being attacked.In the case of denial of service attacks [3] or network scanning, attackers send a lot of traffics to a destination in a short time.Routers receive and process a lot of packets in the network.If there are many packets passing through router which have the same IP destination, it may be a DoS attack.In the case of worms [4][5], if there are many packets through the router which have the same source IP address, this host may be infected by worms, and they are scanning the network.Therefore, identifying victims in DoS attacks or Internet worms can be modeled by detecting Hot-IPs.

Trang 243
Our solution aims provides early warning and tracking Hot-IPs by collecting IP packets and finding out Hot-IPs.In our solution, the router acts as a sensor.When a packet arrives at the router, the IP header is extracted and put into groups.Based on the embedded source and destination IP addresses, the analysis is carried out quickly.This method is much faster than oneby-one testing.

ISP network
An ISP is a business or organization that offers users access to the Internet and services.ISP network infrastructure is distributed in areas and hierarchical model.To detect denial of service attacks or Internet worms, ISPs use some techniques, such as based on signatures or features of abnormal traffic behaviors.However, attacker detection is also very important.If we can detect early the identities of the attacker, malicious packets can be dropped and the victim will gain more time to apply attacking reaction mechanisms.Detecting the identities of the attackers requires high state overhead.
In our solution, we use the Non-adaptive Group Testing (NAGT) approach to detect Hot-IPs in networks quickly.It uses low state overhead without requiring either the model of legitimate requests or anomalous behaviors.Besides, ISP architecture is used for early warning Hot-IPs from area to others when it finds out them.

Fig. 1. An ISP network infrastructure
Establishing the distributed architecture to detect worms or denial of service attacks also been studied for many years [8][9].Detecting risks at an area can help to warn the others early.In the work of , they can quickly detect Hot-IPs in network using Non-adaptive Group testing method.This approach can be applied in some applications in data stream, such as: detecting DDoS attackers, Internet worms and networking anomalies.
In this paper, we combine both distributed architecture and NAGT for quickly detecting the Hot-IPs.ISP network architecture is distributed in areas.With this characteristic, we can implement detectors in these areas.Once an area finds out Hot-IPs, it will help other areas to early recognize and supports administrators to have time to find appropriate solutions.In addition, we also implement parallel processing technique to decrease time to detect the Hot-IPs.

Trang 244
We begin with some preliminaries and describe our solution for fast detecting Hot-IPs using NAGT, distributed architecture and parallel processing.The last section is the conclusion.
In this paper, we present a solution for fast detecting Hot-IPs in ISP networks by using Nonadaptive group testing approach with the combination of distributed architecture and parallel processing techniques.We implement strongly explicit d-disjunct matrices in our experiment and use network programming to establish the connection between detectors in areas.Once Hot-IPs are detected in one area, it will also immediately alert to other areas.

Hot-IP
IP address is used to identify host in network.Every packet has an IP header which has source and destination IP addresses.IP packet stream is a sequence of IP packet 12 , ,..., m a a a in a link, every packet i a has an IP address i s (s i can be a source address or a destination one depending on particular applications) Hot-IPs in an IP packet stream are those that appear with a high frequency.Given a IP packet stream of n distinct IP A binary matrix M with t rows and N columns is called d-disjunct matrix if and only if the union of any d columns do not contain any other column.
There are three methods to construct ddisjunct matrices [12][13][14]: greedy algorithm, probabilistic and concatenation codes.To the first two methods, we must save the matrices when the program is running.Therefore, much of RAM space is used in applying these methods because the matrices are often large for the great number of items in high speed networks.Using concatenation codes method, we can generate any columns of the matrix that we need.Therefore, in this paper, we only consider the non-random construction of d-disjunct matrix.
Non-random d-disjunct matrix is constructed by concatenated codes [14].The codes concatenating between Reed-Solomon code and identity code is represented below.

Reed-Solomon and codes concatenation
Reed Solomon [15]: For a message 01 ( ,..., ) In which the degree of () PX m is at most k-1.

RS code [ , ] q
nk with k n q is a mapping RS:

Code concatenation [16]:
Let C out be a 11 ( , ) q nk code with 2 2 k q  is an outer code, and in C be a 2 2 2 ( , )

Trang 245
which C is constructed by replacing each symbol of C out by a codeword in C in .
In our solution, we choose C out is [ 1, ] - Here is an example of a matrix constructed by concatenated codes.

Group Testing
In World War II, millions of citizens in the USA joined the army.At that time, infectious diseases such as syphilis were serious problems.The cost for testing infectors in turn was very expensive and it also took several times.They wanted to detect infected people as fast as possible with the lowest cost.Robert Dorfman [10] proposed a solution to solve this problem.
The main idea of this solution was to get N bloods samples from N citizens and combined groups of blood samples to test.It would help to detect infected soldiers using as few tests as possible.This idea formed a new research field: Group testing.
Group testing is an applied mathematical theory applied in many different areas [10].The goal of the group testing is to identify the set of defective items in a large population of items using as few tests as possible.
There are two types of group testing [11]: Adaptive group testing and non-adaptive group testing.In adaptive group testing, later stages are designed depending on the test outcome of the earlier stages.In non-adaptive group testing, all tests must be specified without knowing the outcomes of the other tests.Many applications, such as data streams, require the NAGT, in which all tests are to be performed at once: the outcome of one test cannot be used to adaptively design another test.Therefore, in this paper, we only consider NAGT.
NAGT can be represented by a tN  binary matrix M, where the columns of the matrix correspond to items and the rows correspond to tests.In that matrix, 1 ij m  means that the th j item belongs to the th i test, and vice versa.We assume that we have at most d defective items.It is well-known that if M is a d-disjunct matrix, we can show all at most d defectives.

Trang 246 NAGT and some analysis
In this subsection, we analysis some features in our solution adapting the requirements in data stream algorithm: one-pass over the input, polylog space, poly-log update time and poly-log reporting time [12].
We use non-adaptive group testing.Therefore, the algorithm for the hot items can be implemented in one pass.If [12] proved that they can decode in time

RELATED WORK
Finding Hot-IP in IP packets stream is a particular circumstance items in data streams which can represent objects in the network search in high frequency.The items in the data streams can represent sequence queries to an Internet search engine.At that time, high frequent items are commonly searched key words.For Web proxy, these items can be used URL addresses sent from computers in the network.High frequent items are most frequently-asked URL addresses.Routers on the Internet are connected together in order to transfer IP packet streams to the destinations with an immense amount of data.Hot-IPs can be found through these packets.Those Hot-IP may cause problems such as DoS attacks or Internet worms.
Applications of finding high frequent items in data streams are very important and widespreadly used, therefore many algorithms are suggested.The Majority algorithm was proposed by Moore in 1982 [18], the Frequent algorithm was proposed by Misra and Gries in 1982 [19], the LossyCounting algorithm was proposed by Manku and Motwano in 2002 [20].The SpaceSaving algorithm was introduced in 2005 by Metwally et al [21].The CountSketch algorithm was proposed by Charikar et al. in 2002 [22].The CountMin sketch algorithm was proposed by Cormode and Muthukrishnan in 2005 [23].Finding frequent items using group testing approach is based on "combinatorial group testing" (CGT) that was proposed by Cormode et al. in 2005.

These algorithms can be divided into two classes:
counted-based and sketch-based algorithms.Counter-based algorithms track a subset of items from the input, and the monitor counts the input which is associated with these items.They occupy a great deal of storage space.This is not suitable to quickly detect Hot-IPs established in networks with devices that have limited resources.Therefore, we only consider and compare solutions relating to sketch-based algorithms.
Unlike counter-based algorithms, Sketch ones do not monitor a set of counters of Trang 247 individual items.On the contrary, these algorithms are linear projections of the input viewed as a vector, and they solve the frequency estimation problem.Therefore they do not explicitly store items from the input.Some algorithms belong to sketch such as CountSketch, CountMin, and Group Testing.
These algorithms have been implemented by Cormode et al. in [17], [24].They use about 10,000,000 HTTP packets and threshold  , According to the experimental results, group testing method (CGT) consumes a lot of space but it is the fastest sketch and is very accurate, with high precision and good frequency estimation in all cases.In this paper, we use some techniques to improve the solution, such as parallel processing and distributed architecture in high speed network.

OUR SOLUTION
A distributed architecture for detecting Hot-IPs Fig. 4. A distributed architecture for detecting Hot-Ips It is assumed that ISP network is organized in areas.These areas are connected together.Distributed architecture is used for early warning of some risks on network.For example, if there is a denial of service attack at Area 4 and the victim allocated at Area 2, the detector at Area 4 will send information about the attackers and victims to other areas.From this information, these areas will have some solutions to prevent or limit the attack.
We establish a distributed architecture for fast detecting Hot-IP as follows: Central server allocated at head quarter and member servers allocated at each area.
Member servers act as sensors periodically to detect Hot-IPs in the network.If they are found, an alert will be sent to central server, all areas, or some areas which contain Hot-IPs.This depends on our purposes.
Central server acts as a sensor and also as a central point to manage all member servers.The connections between central server and member servers are established out-of-band to transfer information quickly.

Set up
Let N be the number of distinct IP addresses and d be the maximum number of IPs which can be attacked.IP addresses are put into groups (tests) depending on the generation of d-disjunct matrix.The number of tests,

Parallel processing
Parallel processing is a method of having many smaller tasks solving one large problem, so therefore the time required to solve the problem is reduced.In this paper, we run our algorithm solutions in parallel and coordinate their execution.
Parallel processing is used to execute the decoding in our solution as follow.One server acts as a master control, some servers are called slaves.Rows in the matrix M are sent to slaves to compute and the results will be sent back to the master.The master collects the outcome values from slaves and then finds Hot-IPs.

Trang 250
In our solution, we use parallel processing model with Parallel Virtual Machine (PVM) to improve the process instead of a single server.Fig. 5. PVM architecture PVM is a software environment for heterogeneous distributed computing.It is used to create and access a parallel computing system made from a collection of distributing processors, and treat the resulting system as a single machine.The master is programmed to be responsible for all of the work in the system and the slaves only perform tasks assigned by the master.
The master sends some parameters, such as the matrix , M counters , c and , d to all slaves.
These parameters are used for the processing of all slaves.It checks available slaves and sends to them vector M i (i th test), where M i refers to i th row.Slaves receive M j and compute to find out outcome value r j .Results are sent back to the master.It collects all the values and creates result vector r.From this vector, the master will detect Hot-IPs.

Experimentation
We use four servers to simulate this lab.One at main site is called "Central server" and three servers for three other areas called "Member servers".We use C/C++ network programming in Linux to establish the connection between "Central server" and "Member servers".These servers act as the routers in each area.We use some software from clients to generate any number of packets and implement the algorithm in C/C++, using "pcap" library to capture packets through routers.When each packet is captured, the IP header is extracted.Based on the embedded source and destination addresses, the analysis is done.
We can generate -disjunct d matrices as defined in Section II and support the number of hosts as much as we want.In our experiments, we used 3 matrices which were generated from 8 [7,3]  At each area, member server periodically tracks data streams with the algorithms above.If a Hot-IP is detected, server will send an alert to all other areas, including Hot-IP address.

… Trang 251
The comparison of decoding time between PVM and single server is described in Table 2.We implement PVM with 3 virtual servers (one master and two slaves).
Number of IPs: 100,000 -900,000 Random packets for Hot-IPs: 70-100 million, normal IPs: 300 -700 packets  We see that the decoding time to find Hot-IPs is acceptable.We can apply this solution in ISP networks to detect Hot-IPs in reality.

CONCLUSION
Early detection of Hot-IPs in networks is the most important problem in order to mitigate some risks on network.In this paper, we present the efficient solution of the combination of distributed architecture, parallel processing and Non-Adaptive group testing method for speedy Hot-IPs detection in ISP networks.Our future work is to evaluate the solution at ISPs. out

Fig. 6 .
Fig. 6.Single processing and parallel processing We tested many cases with different hosts sending packets at the same time, and the results are described in Table1(we ignore time to capture packets, only count the time to decode captured packets).

Table 1 .
The decoding time for Hot-IPs