{"id":24155135,"url":"https://github.com/oliviagallucci/ids-aiml","last_synced_at":"2025-09-19T23:31:42.728Z","repository":{"id":214350750,"uuid":"736303121","full_name":"oliviagallucci/ids-aiml","owner":"oliviagallucci","description":"🕵️ IDS with accuracy rates of 94.4% for misuse detection and 99.0% for anomaly detection","archived":false,"fork":false,"pushed_at":"2023-12-30T13:44:51.000Z","size":25010,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-05-01T13:57:03.974Z","etag":null,"topics":["artificial-intelligence","artificial-neural-networks","decision-trees","defensive-security","ids","intrusion-detection","intrusion-detection-system","machine-learning","network-analysis"],"latest_commit_sha":null,"homepage":"https://oliviagallucci.com/ids-security-using-decision-trees-and-neural-networks/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oliviagallucci.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-12-27T14:36:56.000Z","updated_at":"2024-03-22T15:26:30.000Z","dependencies_parsed_at":"2023-12-27T15:58:54.931Z","dependency_job_id":null,"html_url":"https://github.com/oliviagallucci/ids-aiml","commit_stats":null,"previous_names":["oliviagallucci/ids-aiml"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oliviagallucci%2Fids-aiml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oliviagallucci%2Fids-aiml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oliviagallucci%2Fids-aiml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oliviagallucci%2Fids-aiml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oliviagallucci","download_url":"https://codeload.github.com/oliviagallucci/ids-aiml/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233606397,"owners_count":18701615,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["artificial-intelligence","artificial-neural-networks","decision-trees","defensive-security","ids","intrusion-detection","intrusion-detection-system","machine-learning","network-analysis"],"created_at":"2025-01-12T12:55:02.058Z","updated_at":"2025-09-19T23:31:32.702Z","avatar_url":"https://github.com/oliviagallucci.png","language":"Python","funding_links":["https://github.com/sponsors/oliviagallucci"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# ids-aiml 🕵️\n\n  ![Detective GIF](images/banner.gif)\n\n  An IDS designed to detect network attacks using decision trees and neural networks.  \n\n  \u003ca href=\"https://github.com/oliviagallucci/README\"\u003e![GitHub](https://img.shields.io/badge/github-EA4AAA.svg?style=for-the-badge\u0026logo=github\u0026logoColor=white)\u003c/a\u003e\n  \u003ca href=\"https://github.com/oliviagallucci/ids-aiml/blob/main/LICENSE\"\u003e![MIT license](https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge)\u003c/a\u003e\n  \u003ca href=\"\"\u003e![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge\u0026logo=python\u0026logoColor=ffdd54)\u003c/a\u003e\n  \u003ca href=\"https://github.com/sponsors/oliviagallucci\"\u003e![Github-sponsors](https://img.shields.io/badge/sponsor-pink?style=for-the-badge\u0026logo=GitHub-Sponsors\u0026logoColor=#EA4AAA)\u003c/a\u003e\n\n\u003c/div\u003e\n\n\n## Project Overview\n\nThis 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. \n\n## Usage Steps\n\n### Step 1: Clone the Repository\n\nClone this GitHub repository to your local machine:\n\n```bash\ngit clone https://github.com/your-username/ids-aiml\n```\n\n### Step 2: Navigate to the Project Directory\n\n```bash\ncd ids-aiml\n```\n\n### Step 3: Explore the Project Structure\n\nTake a moment to explore the project structure as well as the [Weka user guide](https://oliviagallucci.com/ids-security-using-decision-trees-and-neural-networks/#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`).\n\n### Step 4: Set Up Environment\n\nEnsure you have Python installed along with the required libraries (pandas, numpy, sklearn, concurrent.futures). Weka is also required for the neural network module.\n\n### Step 5: Misuse IDS\n\n#### Design\n\n- Use the provided Python script for misuse IDS (`misuse_ids.py`).\n- Adjust parameters based on your requirements.\n\n#### Operation\n\n- Run the script to train and test the misuse IDS.\n- Review the generated results and metrics.\n\n### Step 6: Anomaly IDS\n\n#### Design\n\n- Utilize the provided [Python script](cic-ids-2017/preprocessing.py) for anomaly IDS (`anomaly_ids.py`).\n- Adjust parameters as needed.\n\n#### Operation\n\n- Execute the script to train and test the anomaly IDS.\n- Examine the results and metrics.\n\n### Step 7: Neural Network\n\n#### Design\n\n- Refer to the [Weka user guide](https://oliviagallucci.com/ids-security-using-decision-trees-and-neural-networks/#weka-user-guide) for loading and preprocessing data for neural network training.\n- Set hyperparameters for the Multilayer Perceptron (MLP) as described in the README.\n\n#### Operation\n\n- Use Weka Explorer to train and test the MLP neural network.\n- Evaluate the model's performance based on accuracy and other metrics.\n\n### Step 8: Data Analysis with Weka\n\n- Follow the [Weka user guide's instructions](https://oliviagallucci.com/ids-security-using-decision-trees-and-neural-networks/#weka-user-guide) for loading data, preprocessing, building a machine learning model, and evaluating the model.\n\n### Step 9: Tests and Results\n\n- Explore the provided [test results](https://oliviagallucci.com/ids-security-using-decision-trees-and-neural-networks/#ids-results) for the IDS systems, including accuracy, training time, and memory footprint.\n\n## Additional Information\n\nFor 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! \n\n## Releases\n\n* 1.0.0-alpha - testing is done by developers only\n\n## Acknowledgements\n\n* Derek Chen ([@dc8866](https://github.com/dc8866)) - [https://www.linkedin.com/in/yinon-chan/](https://www.linkedin.com/in/yinon-chan/)\n* Olivia Gallucci ([@oliviagallucci](https://github.com/oliviagallucci)) - [https://oliviagallucci.com](https://oliviagallucci.com/)\n\n## Warranty\n\n### MIT \n\nThe creator(s) of this tool provides no warranty or assurance regarding its performance, dependability, or suitability for any specific purpose.\n\nThe 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.\n\nThe 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.\n\nMoreover, 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.\n\nBy 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.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foliviagallucci%2Fids-aiml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foliviagallucci%2Fids-aiml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foliviagallucci%2Fids-aiml/lists"}