This repository contains a Google Colab–ready implementation of an IoT malware detection framework based on federated learning. The complete experimental pipeline is implemented in a single Python file (main.py), reflecting the setup used during thesis experimentation.
The framework evaluates malware detection performance under multiple adversarial and robustness scenarios, including data poisoning, model poisoning, and targeted backdoor attacks, using the IoT-23 preprocessed dataset.
This project uses the IoT-23 preprocessed dataset available on Kaggle:
https://www.kaggle.com/datasets/engraqeel/iot23preprocesseddata
The dataset is not included in this repository due to licensing restrictions.
Download the CSV file from Kaggle and upload it to your Google Drive. A typical path used in the code is:
/content/drive/MyDrive/iot23_preprocessed.csv
Open Google Colab and either upload the main.py file or open this repository directly from GitHub using Colab.
The script automatically mounts Google Drive, installs required dependencies, loads the dataset, applies preprocessing and time-aware data splitting, and runs all federated learning experiments.
At the top of main.py, the following setup is used:
from google.colab import drive
drive.mount('/content/drive')
!pip install flwr