| --- |
| 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 } |
| } |