|
|
--- |
|
|
license: apache-2.0 |
|
|
language: en |
|
|
library_name: keras |
|
|
tags: |
|
|
- intrusion-detection |
|
|
- network-security |
|
|
- iot-security |
|
|
- cnn |
|
|
- bilstm |
|
|
- time-series |
|
|
- cybersecurity |
|
|
datasets: |
|
|
- CICIoT2023 |
|
|
--- |
|
|
|
|
|
# Binary Network-Layer Cyber-Physical IDS |
|
|
|
|
|
A hybrid **CNN-BiLSTM** model for real-time binary network intrusion detection in IoT environments. |
|
|
This model acts as the first line of defense by quickly distinguishing between malicious and legitimate traffic. |
|
|
|
|
|
## Model Description |
|
|
|
|
|
- **Architecture:** `Conv1D -> ... -> Bidirectional LSTM -> Dense -> Dense (Sigmoid)` |
|
|
- **Dataset:** Balanced subset of CICIoT2023 |
|
|
- **Performance:** 99.9997% accuracy |
|
|
- **Limitations:** Validated only on CICIoT2023-like network traffic; may not detect novel attack types. Input must be normalized. |
|
|
- **Training Information:** |
|
|
- Optimizer: Adam |
|
|
- Loss: Binary Cross-Entropy |
|
|
- Balanced dataset: 2 million samples (1M benign, 1M attack) |
|
|
|
|
|
## Intended Use |
|
|
- **Primary Use:** Real-time network intrusion detection |
|
|
- **Input:** `(batch_size, 10, 46)` — 46 network flow features, normalized |
|
|
- **Output:** Float between 0.0 (Benign) and 1.0 (Attack), threshold 0.5 |
|
|
|
|
|
## How to Use |
|
|
```python |
|
|
import tensorflow as tf |
|
|
import numpy as np |
|
|
from huggingface_hub import hf_hub_download |
|
|
|
|
|
# Download the model from Hugging Face |
|
|
MODEL_PATH = hf_hub_download("Codelord01/binary_model", "binary_model.keras") |
|
|
model = tf.keras.models.load_model(MODEL_PATH) |
|
|
model.summary() |
|
|
|
|
|
# Prepare a sample input: 1 sample, 10 timesteps, 46 features |
|
|
sample_data = np.random.rand(1, 10, 46).astype(np.float32) |
|
|
|
|
|
# Make a prediction |
|
|
prediction_prob = model.predict(sample_data) |
|
|
predicted_class = 1 if prediction_prob > 0.5 else 0 |
|
|
|
|
|
print(f"Prediction Probability: {prediction_prob:.4f}") |
|
|
print("Malicious Traffic Detected" if predicted_class == 1 else "Benign Traffic") |
|
|
|
|
|
|
|
|
@mastersthesis{ababio2025multilayered, |
|
|
title={A Multi-Layered Hybrid Deep Learning Framework for Cyber-Physical Intrusion Detection in Climate-Monitoring IoT Systems}, |
|
|
author={Awuni David Ababio}, |
|
|
year={2025}, |
|
|
school={Kwame Nkrumah University of Science and Technology} |
|
|
} |
|
|
|