Skip to content

This project creates a Cyber Intrusion Detection System (IDS) using machine learning to detect and mitigate network intrusions. Leveraging the KDD Cup 1999 dataset, the IDS targets high accuracy and low false positives, boosting network security against diverse cyber attacks.

License

Notifications You must be signed in to change notification settings

arunachaleswaranms/Cyber-Intrusion-Detection-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cyber Intrusion Detection System Using Machine Learning

Overview

This project involves developing a Cyber Intrusion Detection System (IDS) using various machine learning algorithms. The IDS aims to detect network intrusions with high accuracy and low false positive rates. The project utilizes the KDD Cup 1999 dataset for training and testing the machine learning models.

Project Structure

The repository is organized into the following files and directories:

  • data_preprocessing.py: Script for preprocessing the KDD Cup 1999 dataset.
  • model_training.py: Script for training machine learning models.
  • model_evaluation.py: Script for evaluating the performance of trained models.
  • data_preprocessing.ipynb: Jupyter notebook for data preprocessing.
  • model_training.ipynb: Jupyter notebook for model training.
  • model_evaluation.ipynb: Jupyter notebook for model evaluation.
  • requirements.txt: List of Python dependencies.
  • README.md: Project documentation.

Installation

To set up the project on your local machine, follow these steps:

  1. Clone the repository:

    git clone https://github.com/arunachaleswaranms/Cyber-Intrusion-Detection-System.git
    cd Cyber-Intrusion-Detection-System
  2. Create a virtual environment and activate it:

    python3 -m venv venv
    source venv/bin/activate   # On Windows use `venv\Scripts\activate`
  3. Install the required dependencies:

    pip install -r requirements.txt

Dataset

The KDD Cup 1999 dataset is used for training and testing the models. You can download the dataset from the following links and place the CSV files in the project directory:

Usage

Data Preprocessing

To preprocess the dataset, run the data_preprocessing.py script:

python data_preprocessing.py

Alternatively, you can explore the preprocessing steps using the data_preprocessing.ipynb notebook.

Model Training

To train the machine learning models, run the model_training.py script:

python model_training.py

Alternatively, you can explore the training steps using the model_training.ipynb notebook.

Model Evaluation

To evaluate the trained models, run the model_evaluation.py script:

python model_evaluation.py

Alternatively, you can explore the evaluation steps using the model_evaluation.ipynb notebook.

Project Workflow

  1. Data Preprocessing: Clean, normalize, and transform the raw data from the KDD Cup 1999 dataset.
  2. Model Training: Train machine learning models (Random Forest and Gradient Boosting) using the preprocessed data.
  3. Model Evaluation: Evaluate the trained models on the test dataset and generate evaluation reports.

Results

The project successfully developed a Cyber IDS that detects network intrusions with high accuracy and low false positive rates. The machine learning algorithms, particularly Random Forest and Gradient Boosting, proved effective in identifying various types of cyber attacks.

Future Work

Future work will focus on:

  • Addressing identified areas for improvement.
  • Expanding the scope of the IDS.
  • Further optimizing the performance of the models.

Contributions

Contributions are welcome! If you have any suggestions or improvements, please open an issue or submit a pull request.

About

This project creates a Cyber Intrusion Detection System (IDS) using machine learning to detect and mitigate network intrusions. Leveraging the KDD Cup 1999 dataset, the IDS targets high accuracy and low false positives, boosting network security against diverse cyber attacks.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published