{"id":23454030,"url":"https://github.com/mohammadshabazuddin/fedsecguard-federated_learning_techniques_for_advanced_malware_detection","last_synced_at":"2026-01-08T12:35:10.134Z","repository":{"id":159520720,"uuid":"630222814","full_name":"MohammadShabazuddin/FedSecGuard-Federated_Learning_Techniques_for_Advanced_Malware_Detection","owner":"MohammadShabazuddin","description":"The project focuses on utilizing federated machine learning to enhance the detection of malware in Internet of Things (IoT) devices. The code includes experiments simulating various configurations where clients collaboratively train deep learning models for malware detection without sharing raw data.","archived":false,"fork":false,"pushed_at":"2024-05-30T19:12:49.000Z","size":13075,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-06T03:04:18.259Z","etag":null,"topics":["deep-learning","federated-learning","iot","mechine-learning","pycharm","python3"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MohammadShabazuddin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-19T23:41:05.000Z","updated_at":"2024-05-30T19:12:54.000Z","dependencies_parsed_at":"2024-12-24T02:35:24.805Z","dependency_job_id":"975a6ef9-87fb-43e3-9420-4900fd8ddac8","html_url":"https://github.com/MohammadShabazuddin/FedSecGuard-Federated_Learning_Techniques_for_Advanced_Malware_Detection","commit_stats":null,"previous_names":["mohammadshabazuddin/fedsecguard-federated_learning_techniques_for_advanced_malware_detection"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohammadShabazuddin%2FFedSecGuard-Federated_Learning_Techniques_for_Advanced_Malware_Detection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohammadShabazuddin%2FFedSecGuard-Federated_Learning_Techniques_for_Advanced_Malware_Detection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohammadShabazuddin%2FFedSecGuard-Federated_Learning_Techniques_for_Advanced_Malware_Detection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohammadShabazuddin%2FFedSecGuard-Federated_Learning_Techniques_for_Advanced_Malware_Detection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MohammadShabazuddin","download_url":"https://codeload.github.com/MohammadShabazuddin/FedSecGuard-Federated_Learning_Techniques_for_Advanced_Malware_Detection/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246385414,"owners_count":20768672,"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":["deep-learning","federated-learning","iot","mechine-learning","pycharm","python3"],"created_at":"2024-12-24T02:35:13.781Z","updated_at":"2026-01-08T12:35:10.103Z","avatar_url":"https://github.com/MohammadShabazuddin.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"**Project Title: #FedSecGuard - Federated Learning Techniques for Advanced Malware Detection**\n\n🔍 **Overview:**\nThe project focuses on utilizing federated machine learning to enhance the detection of malware in Internet of Things (IoT) devices. The code includes experiments simulating various configurations where clients collaboratively train deep learning models for malware detection without sharing raw data.\n\n🛠️ **Setup Instructions:**\n1. **Recommendations:**\n   - Use Linux (preferably Ubuntu 20.04) for easier dataset handling.\n   - Employ Python 3.9 for compatibility.\n   - Consider using PyCharm for streamlined configuration handling.\n\n2. **Repository Setup:**\n   - Clone or download the repository to your machine.\n\n3. **Data Acquisition:**\n   - Manually create a `data/` folder in `fed_iot_guard/`.\n   - Download and extract the N-BaIoT dataset into the `data/N-BaIoT/` folder.\n   - On Linux, execute a command to download the dataset. If not on Linux, find an alternative method.\n   - Use the `unar` command to extract files with .rar extension.\n\n4. **Python Library Installation:**\n   - Using PyCharm: Create a new Python interpreter, PyCharm will prompt to install requirements from `requirements.txt`.\n   - Using virtualenv: Create a new virtual environment, activate it, and install requirements using `pip install -r requirements.txt`.\n\n5. **Usage:**\n   - Run experiments with different configurations by adjusting program arguments.\n   - Examples include collaborative grid search for classifiers and federated training/testing for autoencoders.\n   - Detailed instructions for PyCharm users and terminal commands are provided.\n\n6. **Hyper-Parameters:**\n   - Hyper-parameters are defined in the code; fixed parameters are in `constant_params`, varying ones in `varying_params`.\n   - After running a grid search, check results using the provided Jupyter notebook `GS Results.ipynb`.\n   - Copy the best hyper-parameters for each configuration into `configuration_params` lists.\n\n7. **Modification and Code Structure:**\n   - The code is designed for easy extension, organized into files for specific functionalities.\n   - Explanation provided for each file's purpose, such as data handling, machine learning functions, and experiments.\n\n8. **Context and Additional Information:**\n   - The project uses federated learning to collaborate on model training without sharing raw data, enhancing malware detection for IoT devices.\n   - Detailed insights into the structure, modifications, and usage are provided for better understanding.\n\n📚 **References:**\n- [N-BaIoT Dataset](https://archive.ics.uci.edu/ml/datasets/detection_of_IoT_botnet_attacks_N_BaIoT)\n- [Related Publication](https://www.sciencedirect.com/science/article/pii/S1389128621005582)\n  \n## Contact\n\n_Connect with me through various portals :_\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003cth\u003e\u003c/th\u003e\n    \u003cth\u003eSocial Media\u003c/th\u003e\n    \u003cth\u003eUsername\u003c/th\u003e\n    \u003cth\u003eLink\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"https://cdn4.iconfinder.com/data/icons/social-media-logos-6/512/112-gmail_email_mail-512.png\" width=\"20\" /\u003e\u003c/td\u003e\n    \u003ctd\u003eEmail\u003c/td\u003e\n    \u003ctd\u003e\u003ccode\u003eshabazuddin.198@gmail.com\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"mailto:shabazuddin.198@gmail.com\" target=\"_blank\"\u003eEmail\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/c/ca/LinkedIn_logo_initials.png/480px-LinkedIn_logo_initials.png\" width=\"20\" /\u003e\u003c/td\u003e\n    \u003ctd\u003eLinkedIn\u003c/td\u003e\n    \u003ctd\u003e\u003ccode\u003eShabazuddin Mohammad\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.linkedin.com/in/shabazuddin123/\" target=\"_blank\"\u003eLinkedIn\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/a/a5/Instagram_icon.png/600px-Instagram_icon.png\" width=\"20\" /\u003e\u003c/td\u003e\n    \u003ctd\u003eInstagram\u003c/td\u003e\n    \u003ctd\u003e\u003ccode\u003eshabaz_uddin\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.instagram.com/shabaz_uddin/\" target=\"_blank\"\u003eInstagram\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/6/6c/Facebook_Logo_2023.png\" width=\"20\" /\u003e\u003c/td\u003e\n    \u003ctd\u003eFacebook\u003c/td\u003e\n    \u003ctd\u003e\u003ccode\u003eShabaz\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://www.facebook.com/shabaz.shabaz.37819/\" target=\"_blank\"\u003eFacebook\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/6/6f/Logo_of_Twitter.svg/512px-Logo_of_Twitter.svg.png\" width=\"20\" /\u003e\u003c/td\u003e\n    \u003ctd\u003eTwitter\u003c/td\u003e\n    \u003ctd\u003e\u003ccode\u003eshabazuddin786\u003c/code\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://twitter.com/shabazuddin786\" target=\"_blank\"\u003eTwitter\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\nI'm always open to collaboration and new opportunities! Feel free to reach out and connect with me. 🌟\n\n🚀 **Note:** The project requires careful attention to setup details and may involve lengthy execution times for experiments. Adjust parameters as needed for your environment.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohammadshabazuddin%2Ffedsecguard-federated_learning_techniques_for_advanced_malware_detection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohammadshabazuddin%2Ffedsecguard-federated_learning_techniques_for_advanced_malware_detection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohammadshabazuddin%2Ffedsecguard-federated_learning_techniques_for_advanced_malware_detection/lists"}