Intrusion Detection System Research Based on Data Mining for IPv6

IPv6 will inevitably take the place of IPv4 as the next generation of the Internet Protocol. Despite IPv6 has better security than IPv4, but there still have some security issues. So it is an urgent problem to requirement of IDS for IPv6 networks.
Many intelligent information processing methods, data mining technology and so on have been applied to improve detection accuracy for IPv4 network. At first IPv6 security issues has been analysis in this project, secondly discussed the IPv6 intrusion detection model, then we in accordance with such a model present an intrusion detection model realization for IPv6 network, and we propose a strategy for the system achieve and optimization. The system can work well for intrusion detection for IPv6 network.

Network Intrusion Detection:            
         Modern computer networks must be equipped with appropriate security mechanisms in order to protect the information resources maintained by them. Intrusion detection systems (IDSs) are integral parts of any well configured and managed computer network systems. An IDS is a combination of software and hardware components, capable of monitoring different activities in a network and analyze them for signs of security threats. There are two major approaches to intrusion detection: anomaly detection and misuse detection. Misuse detection uses patterns of well known intrusions to match and identify unlabeled data sets. In fact, many commercial and open source intrusion detection systems are misuse based. Anomaly detection, on the other hand, consists of building models from normal data which can be used to detect variations in the observed data from the normal model. The advantage with anomaly detection algorithms is that they can detect new forms of attacks which might deviate from the normal behaviour . In this project, various supervised learning algorithms, particularly decision trees based on ID3, J48, and Naïve Bayes algorithms are explored for network intrusion.Intrusion detection is the art of detecting the break-ins of malicious attackers. Today, computer security has grown in importance with the widespread use of the Internet. Firewalls are commonly used to prevent attacks from occurring. Antivirus and anti-spyware programs can help people to remove already existing automated attacks from their computer. Access control limits physical and networked use of a computer. However, an important component of setting up a secure system is to have some way to analyze the activity on the computer and determine whether an attack has been launched against the computer. Such a system is called an intrusion detection system. This project uses Naive Bayes, a Decision Tree algorithms to determine the relative strengths and weaknesses of using these approaches. The purpose is to give an evaluation of the performance of these algorithms that will allow someone who wishes to use one of these approaches to understand how accurate the approach is and under what conditions it works well. In addition, a novel evaluation technique will be considered. Accuracy can be evaluated effectively by using Receiver Operating Characteristic (ROC) curves. Cost curves  can indicate the conditions under which the algorithm works well.
           A requirement is a feature that the system must have or a constraint that it must satisfy to be accepted by client. Requirements engineering aims at defining the requirements for the system under construction. It includes two main activities: Requirements Elicitation and Analysis.
         Requirements elicitation is about communication among developers, clients, and users for defining a new system. It focuses on describing the purpose of the system. Such a definition is called system  specification. Requirement elicitation is the more challenging of the two because it requires the collaboration of several groups of participants with different backgrounds. On the one hand, the client and the users are experts in their domain and have a general idea of what the system should do, but they often have little experience in software development. On the other hand, the developers have experience in building systems, but often have  little knowledge of everyday environment of the users