This repository implements FCL-PRIDS, a framework designed to secure Industrial IoT (IIoT) networks against evolving cyber threats. Unlike traditional centralized IDSs, this project employs Federated Continual Learning (FCL) to train a global model across distributed edge devices without sharing raw traffic data.
The core classification engine is a 1D-Convolutional Neural Network (1D-CNN), optimized for extracting spatial features from time-series network traffic (MQTT, CoAP, HTTP).
.
├── src/
│ ├── FCL_PRIDS_CNN.py # The 1D-CNN model architecture
│ ├── train_federated.py # FL training loop (Server/Client logic)
│ ├── train_centralized.py # Baseline centralized training for comparison
│ ├── compute_communication_cost.py # Scripts to measure bandwidth usage
│ └── split_clients.py # Data partitioning logic for non-IID settings
├── results/
│ ├── accuracy_comparison.png # FCL vs Centralized performance
│ └── centralized_model.joblib # Saved model weights
├── data/ # (Excluded via .gitignore)
└── requirements.txt # Python dependencies