This GitHub repository contains the code and documentation for an Intrusion Detection System (IDS) developed by Derek Chan and Olivia Gallucci under the supervision of Dr. Leon Reznik. The IDS is designed to detect network attacks using decision trees and neural networks.
Clone this GitHub repository to your local machine:
git clone https://github.com/your-username/ids-aiml
cd ids-aiml
Take a moment to explore the project structure as well as the Weka user guide. Read the steps in the "Data preparation" and "Operation" sections to know how we preprocessed the data using the provided Python script (preprocessing.py
).
Ensure you have Python installed along with the required libraries (pandas, numpy, sklearn, concurrent.futures). Weka is also required for the neural network module.
- Use the provided Python script for misuse IDS (
misuse_ids.py
). - Adjust parameters based on your requirements.
- Run the script to train and test the misuse IDS.
- Review the generated results and metrics.
- Utilize the provided Python script for anomaly IDS (
anomaly_ids.py
). - Adjust parameters as needed.
- Execute the script to train and test the anomaly IDS.
- Examine the results and metrics.
- Refer to the Weka user guide for loading and preprocessing data for neural network training.
- Set hyperparameters for the Multilayer Perceptron (MLP) as described in the README.
- Use Weka Explorer to train and test the MLP neural network.
- Evaluate the model's performance based on accuracy and other metrics.
- Follow the Weka user guide's instructions for loading data, preprocessing, building a machine learning model, and evaluating the model.
- Explore the provided test results for the IDS systems, including accuracy, training time, and memory footprint.
For any questions or issues, please feel free to reach out to the project contributors listed in the README. Thank you for your interest in our intrusion detection system project!
- 1.0.0-alpha - testing is done by developers only
- Derek Chen (@dc8866) - https://www.linkedin.com/in/yinon-chan/
- Olivia Gallucci (@oliviagallucci) - https://oliviagallucci.com
The creator(s) of this tool provides no warranty or assurance regarding its performance, dependability, or suitability for any specific purpose.
The tool is furnished on an "as is" basis without any form of warranty, whether express or implied, encompassing, but not limited to, implied warranties of merchantability, fitness for a particular purpose, or non-infringement.
The user assumes full responsibility for employing this tool and does so at their own peril. The creator(s) holds no accountability for any loss, damage, or expenses sustained by the user or any third party due to the utilization of this tool, whether in a direct or indirect manner.
Moreover, the creator(s) explicitly renounces any liability or responsibility for the accuracy, substance, or availability of information acquired through the use of this tool, as well as for any harm inflicted by viruses, malware, or other malicious components that may infiltrate the user's system as a result of employing this tool.
By utilizing this tool, the user acknowledges that they have perused and understood this warranty declaration and agree to undertake all risks linked to its utilization.
This project is licensed under the MIT License - see the LICENSE.md file for details