Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mohammadshabazuddin/fedsecguard-federated_learning_techniques_for_advanced_malware_detection

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.
https://github.com/mohammadshabazuddin/fedsecguard-federated_learning_techniques_for_advanced_malware_detection

deep-learning federated-learning iot mechine-learning pycharm python3

Last synced: 1 day ago
JSON representation

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.

Awesome Lists containing this project

README

        

**Project Title: #FedSecGuard - Federated Learning Techniques for Advanced Malware Detection**

🔍 **Overview:**
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.

🛠️ **Setup Instructions:**
1. **Recommendations:**
- Use Linux (preferably Ubuntu 20.04) for easier dataset handling.
- Employ Python 3.9 for compatibility.
- Consider using PyCharm for streamlined configuration handling.

2. **Repository Setup:**
- Clone or download the repository to your machine.

3. **Data Acquisition:**
- Manually create a `data/` folder in `fed_iot_guard/`.
- Download and extract the N-BaIoT dataset into the `data/N-BaIoT/` folder.
- On Linux, execute a command to download the dataset. If not on Linux, find an alternative method.
- Use the `unar` command to extract files with .rar extension.

4. **Python Library Installation:**
- Using PyCharm: Create a new Python interpreter, PyCharm will prompt to install requirements from `requirements.txt`.
- Using virtualenv: Create a new virtual environment, activate it, and install requirements using `pip install -r requirements.txt`.

5. **Usage:**
- Run experiments with different configurations by adjusting program arguments.
- Examples include collaborative grid search for classifiers and federated training/testing for autoencoders.
- Detailed instructions for PyCharm users and terminal commands are provided.

6. **Hyper-Parameters:**
- Hyper-parameters are defined in the code; fixed parameters are in `constant_params`, varying ones in `varying_params`.
- After running a grid search, check results using the provided Jupyter notebook `GS Results.ipynb`.
- Copy the best hyper-parameters for each configuration into `configuration_params` lists.

7. **Modification and Code Structure:**
- The code is designed for easy extension, organized into files for specific functionalities.
- Explanation provided for each file's purpose, such as data handling, machine learning functions, and experiments.

8. **Context and Additional Information:**
- The project uses federated learning to collaborate on model training without sharing raw data, enhancing malware detection for IoT devices.
- Detailed insights into the structure, modifications, and usage are provided for better understanding.

📚 **References:**
- [N-BaIoT Dataset](https://archive.ics.uci.edu/ml/datasets/detection_of_IoT_botnet_attacks_N_BaIoT)
- [Related Publication](https://www.sciencedirect.com/science/article/pii/S1389128621005582)

## Contact

_Connect with me through various portals :_



Social Media
Username
Link



Email
[email protected]
Email



LinkedIn
Shabazuddin Mohammad
LinkedIn



Instagram
shabaz_uddin
Instagram



Facebook
Shabaz
Facebook



Twitter
shabazuddin786
Twitter

I'm always open to collaboration and new opportunities! Feel free to reach out and connect with me. 🌟

🚀 **Note:** The project requires careful attention to setup details and may involve lengthy execution times for experiments. Adjust parameters as needed for your environment.