|
--- |
|
license: cc-by-nc-4.0 |
|
language: |
|
- en |
|
- de |
|
metrics: |
|
- accuracy |
|
- f1 |
|
- precision |
|
- recall |
|
- roc_auc |
|
tags: |
|
- IDS, |
|
- SecIDS-CNN |
|
- Cybersecurity |
|
- automotive |
|
- pi |
|
- jetson |
|
- CNN |
|
- fast |
|
- small |
|
--- |
|
|
|
# SecIDS-CNN: Advanced Convolutional Neural Network for Intrusion Detection in Cybersecurity and Automotive Applications |
|
|
|
|
|
### Model Description |
|
|
|
SecIDS-CNN is a high-performance Convolutional Neural Network (CNN) model developed specifically for Intrusion Detection Systems (IDS) in cybersecurity and automotive network applications. Leveraging temporal patterns in network traffic, SecIDS-CNN identifies and classifies malicious activity with high accuracy, designed to meet the real-time security demands of vehicular and automotive networks. This model supports proactive threat mitigation, helping to protect in-vehicle and connected systems against cyber threats that could impact operational safety. |
|
|
|
- **Developed by:** Keyvan Hardani |
|
- **Model Type:** Convolutional Neural Network (CNN) for Intrusion Detection |
|
- **Languages:** English, German |
|
- **License:** Creative Commons Attribution Non Commercial 4.0 (cc-by-nc-4.0) |
|
- **Finetuned from model:** None |
|
|
|
### Model Sources |
|
|
|
- **Repository:** https://github.com/Keyvanhardani/SecIDS-CNN.git |
|
|
|
## Uses |
|
|
|
### Direct Use |
|
|
|
SecIDS-CNN can be directly deployed for real-time intrusion detection within cybersecurity monitoring systems. Its design supports seamless integration into automotive communication networks, enabling anomaly detection within complex, connected vehicular systems. |
|
|
|
### Downstream Use |
|
|
|
Potential applications include broader network monitoring platforms and integrated security systems in automotive and connected vehicle environments. |
|
|
|
### Out-of-Scope Use |
|
|
|
SecIDS-CNN is not suited for non-network data or applications outside the network security and automotive domains. Misuse may include attempts to deploy it in systems without real-time requirements or in unrelated cybersecurity needs. |
|
|
|
## Bias, Risks, and Limitations |
|
|
|
SecIDS-CNN, while highly accurate, may have a minor bias toward benign traffic when optimized for recall, which could lead to rare false negatives. Additionally, its effectiveness depends on access to live network data, essential for real-time intrusion detection. |
|
|
|
### Recommendations |
|
|
|
Users should be aware of the model’s optimal use cases in real-time network environments and its limitations in handling unrelated or non-automotive network types. |
|
|
|
|
|
## How to Get Started with SecIDS-CNN |
|
|
|
To get started with SecIDS-CNN, you can import the model and use it in your Python project. Follow the steps below: |
|
|
|
### Step 1: Install Dependencies |
|
|
|
Clone the repository and install the necessary dependencies: |
|
|
|
```bash |
|
git clone https://github.com/Keyvanhardani/SecIDS-CNN.git |
|
cd SecIDS-CNN |
|
pip install -r requirements.txt |
|
``` |
|
|
|
### Step 2: Import the Model |
|
|
|
Once dependencies are installed, you can import the model into your Python project: |
|
|
|
```python |
|
from secids_cnn import SecIDSModel |
|
``` |
|
|
|
### Step 3: Load and Use the Model |
|
|
|
To evaluate SecIDS-CNN’s real-time detection on sample network traffic data: |
|
|
|
```python |
|
# Initialize the model |
|
model = SecIDSModel() |
|
|
|
# Load your network traffic data (example) |
|
data = load_network_data('path/to/your/data.csv') |
|
|
|
# Make predictions |
|
predictions = model.predict(data) |
|
|
|
# Output results |
|
print("Intrusion Detection Results:", predictions) |
|
``` |
|
|
|
This setup allows you to test SecIDS-CNN on provided sample data or integrate it into larger projects for real-time intrusion detection. |
|
|
|
## Training Details |
|
|
|
### Training Data |
|
|
|
The dataset for SecIDS-CNN consists of labeled network traffic, distinguishing between benign and malicious activity. It includes data from general network and automotive sources, with features capturing packet flows, timing, and network behavior. |
|
|
|
### Training Procedure |
|
|
|
The model’s training pipeline encompasses data preprocessing, feature extraction, and training on temporal network data patterns. |
|
|
|
#### Training Hyperparameters |
|
|
|
- **Precision Type:** FP32 |
|
- **Batch Size:** 32 |
|
- **Epochs:** 50 |
|
|
|
### Compute Requirements |
|
|
|
SecIDS-CNN was trained on a multi-GPU setup, with optimizations for real-time performance in security-critical applications. |
|
|
|
## Evaluation |
|
|
|
### Testing Data and Metrics |
|
|
|
#### Testing Data |
|
|
|
The model was evaluated on a balanced set of benign and malicious network traffic records, sourced from both general cybersecurity and automotive domains. |
|
|
|
#### Metrics |
|
|
|
SecIDS-CNN’s evaluation included accuracy, precision, recall, F1-score, ROC curve, and AUC, chosen for their relevance to classification performance in security applications. |
|
|
|
### Results |
|
|
|
- **Accuracy:** 97.72% |
|
- **Precision:** 97.74% |
|
- **Recall:** 97.72% |
|
- **F1-Score:** 0.9772 |
|
|
|
SecIDS-CNN demonstrated high reliability, achieving almost 98% accuracy in intrusion detection and benign traffic classification. |
|
|
|
## Model Examination |
|
|
|
Feature importance was analyzed using SHAP (SHapley Additive exPlanations) to gain insight into feature contributions. This interpretability measure supports transparency and offers guidance for refining the model for intrusion detection. |
|
|
|
- **Top Features:** Packet_Length_Mean, Flow_Duration |
|
- **Least Impactful Features:** Bwd_Packet_Length_Mean, Idle_Mean |
|
|
|
## Environmental Impact |
|
|
|
The estimated carbon footprint for training SecIDS-CNN was calculated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute). |
|
|
|
- **Hardware:** Multi-GPU setup (NVIDIA RTX 4070, RTX 4090Ti) |
|
- **Training Duration:** |
|
|
|
Batch Size: 32 |
|
Epochs: 50 |
|
Training Duration: ~72 hours on RTX 4090Ti |
|
Emissions: ~15 kg CO₂ |
|
|
|
## Technical Specifications |
|
|
|
### Model Architecture |
|
|
|
SecIDS-CNN utilizes a multi-layer convolutional architecture, optimized for high-throughput analysis of network traffic data, with an emphasis on capturing time-based patterns. |
|
|
|
### Compute Infrastructure |
|
|
|
- **Software:** TensorFlow, Python, Keras |
|
|
|
### Supported Hardware |
|
|
|
This model is lightweight and versatile for inference across a wide range of hardware, including: |
|
|
|
- **CPUs**: Compatible with standard CPUs, allowing easy deployment on nearly any system. |
|
- **GPUs**: Optimized for all GPUs (primarily used for training), but also enables faster inference if needed. |
|
- **Microcontrollers and Edge Devices**: With a small model size (~700 KB), it supports microprocessors and edge devices, such as Raspberry Pi, NVIDIA Jetson Nano, and other embedded systems. |
|
|
|
This compatibility ensures flexibility for various applications in automotive and cybersecurity environments. |
|
|
|
## Citation |
|
|
|
**BibTeX:** |
|
|
|
```bibtex |
|
@misc{secids-cnn, |
|
author = {Keyvan Hardani}, |
|
title = {SecIDS-CNN: Advanced Convolutional Neural Network for Intrusion Detection}, |
|
year = {2023}, |
|
note = {Available under CC BY-NC 4.0} |
|
} |
|
@misc {keyvan_hardani_2024, |
|
author = { {Keyvan Hardani} }, |
|
title = { SecIDS-CNN (Revision 5daf4a4) }, |
|
year = 2024, |
|
url = { https://huggingface.co/Keyven/SecIDS-CNN }, |
|
doi = { 10.57967/hf/3351 }, |
|
publisher = { Hugging Face } |
|
} |