This repository contains Python code for researching Intrusion Detection Systems (IDS) using various algorithms, including the Lion Optimization Algorithm (LOA).
An IDS is a security technology that monitors and analyzes network traffic or system events for signs of unauthorized access, malicious activities, or policy violations. This research project aims to develop and evaluate IDS algorithms that can improve the detection and prevention of cyber attacks, data breaches, and other security incidents.
This repository contains Python code for implementing and evaluating various IDS algorithms, including the LOA. It also includes several datasets for training and testing these algorithms.
To use the code in this repository, you will need Python 3 and several Python packages, including numpy, pandas, scikit-learn, and matplotlib. You can install these packages using pip:
bashCopy code
pip install numpy pandas scikit-learn
To download the code and datasets from this repository, you can use git:
bashCopy code
git clone https://github.com/LinuxDevil/Research-IDS.git
This repository currently includes implementations of the following IDS algorithms:
- Lion Optimization Algorithm (LOA)
- ...
This repository includes several datasets for training and testing IDS algorithms. These datasets are stored in the data
directory and are in CSV format. Each dataset includes a set of features and a binary label indicating whether an event is a normal or an attack.
The current datasets are:
- NSL-KDD: This is a dataset of network traffic that contains both normal and attack events. It is a modified version of the KDD Cup 1999 dataset and is commonly used for evaluating IDS algorithms.
To use the code in this repository, you can run the main Python scripts in the src
directory. These scripts include:
hyper_param_loa.py
: Runs the LOA algorithm on a given IDS function with hyperparameters specified in a parameter grid.- 'loa_cnn': Runs the LOA algorithm with CNN
- more to come
To run one of these scripts, you can use Python:
bashCopy code
python src/hyper_param_loa.py
Contributions to this repository are welcome. If you would like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch for your changes.
- Make your changes and commit them to your branch.
- Create a pull request to merge your changes into the main branch of the repository.