Skip to content

This project showcases a Network Intrusion Detection System (NIDS) designed to bolster cybersecurity defenses against evolving threats

Notifications You must be signed in to change notification settings

imharshag/NIDS-using-ML

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 

Repository files navigation

Network Intrusion Detection System using Machine Learning πŸ›‘οΈ

Note 🚨: The source code for this project is available in the README file. The project was developed using Google Colab due to restrictions of the XGBoost classifier, which cannot be executed directly on a local system.

Overview

🌐 In today's interconnected world, cybersecurity threats pose significant challenges to individuals and organizations alike. A crucial aspect of defending against these threats is the ability to detect and respond to network intrusions effectively. A Network Intrusion Detection System (NIDS) plays a vital role in this regard by monitoring network traffic for suspicious activity and alerting administrators to potential security breaches.

πŸ›‘οΈ In this project, we focus on building a NIDS using the nSL KDD dataset, a widely used benchmark dataset in the field of intrusion detection research. The dataset comprises a vast amount of network traffic data captured from various network activities, including both normal and malicious behavior. With around 1.5 lakh instances and 23 labels representing different types of network attacks, the NSL KDD dataset presents a challenging yet realistic scenario for developing intrusion detection systems.

Preprocessing πŸ› οΈ

  • Label encoding and one-hot encoding for categorical data conversion.
  • Recursive Feature Elimination (RFE) for feature selection with Random Forest Classifier.

Implemented Classifiers πŸ€–

  1. Random Forest
  2. K-Nearest Neighbors (KNN)
  3. Support Vector Machine (SVM)
  4. Principal Component Analysis (PCA)
  5. Ensemble Voting Classifier
  6. Gaussian Naive Bayes (NB)
  7. XGBoost

Implementation Details πŸ“

I have implemented each classifier using Python and relevant libraries such as scikit-learn, XGBoost, Matplotlib etc. The code is available in a Google Colab notebook due to the requirement of executing XGBoost, which cannot be done directly on a local system.

Related Documents and Reports πŸ“„

The project documentation provides a comprehensive overview of the methodologies employed, analyses conducted, and results obtained throughout the development of the Network Intrusion Detection System, offering valuable insights into the intricacies of network security and machine learning integration. Click here for Project Documentation

Source Code πŸ’»

The source code for this project is available in the following Google Colab notebook: Link to Source code

Contact πŸ“¬

For any inquiries or feedback, please contact Harsha G

Contributions 🀝

Contributions to this project are welcome! You can contribute by:

  • Improving the efficiency of implemented classifiers.
  • Enhancing the preprocessing techniques.
  • Optimizing the feature selection process.
  • Providing insights and suggestions for further improvements.

License πŸ“œ

This project is licensed under the General Public License (GPL).