Skip to content

SERLABUniba/MaREA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

SA-Hacking Dataset: Synthetic Automotive Hacking Dataset

Authors: Vita Santa Barletta, Danilo Caivano, and Mirko De Vincentiis

References

MaREA: Multi-class Random Forest for Automotive Intrusion Detection

@InProceedings{Caivano2024MaREA,
author="Caivano, Danilo
and Catalano, Christian
and De Vincentiis, Mirko
and Lako, Alfred
and Pagano, Alessandro",
editor="Kadgien, Regine
and Jedlitschka, Andreas
and Janes, Andrea
and Lenarduzzi, Valentina
and Li, Xiaozhou",
title="MaREA: Multi-class Random Forest for Automotive Intrusion Detection",
booktitle="Product-Focused Software Process Improvement",
year="2024",
publisher="Springer Nature Switzerland",
address="Cham",
pages="23--34",
isbn="978-3-031-49269-3"
}

Machine Learning for Automotive Security in Technology Transfer

@InProceedings{Barletta2024TechTransfer,
author="Barletta, Vita Santa
and Caivano, Danilo
and Catalano, Christian
and De Vincentiis, Mirko
and Pal, Anibrata",
editor="Rocha, Alvaro
and Adeli, Hojjat
and Dzemyda, Gintautas
and Moreira, Fernando
and Colla, Valentina",
title="Machine Learning for Automotive Security in Technology Transfer",
booktitle="Information Systems and Technologies",
year="2024",
publisher="Springer Nature Switzerland",
address="Cham",
pages="341--350",
isbn="978-3-031-45651-0"
}

Code requirements

The code relies on the following python3.7+ libs. Packages with the version used are:

Data

The Car-Hacking Dataset, the Survival Analysis Dataset, and the Synthetic Automotive Dataset have used. For the Survivial Analysis only the KIA Soul were considered. The files for this dataset are trasformed from .txt to .csv. The Synthetic Automotive Dataset dataset is contained into the RandomForest\datasets

Corresponding labels for the Car-Hacking Dataset:

  • 0: Normal
  • 1: DoS
  • 2: Fuzzy
  • 3: Gear Spoofing
  • 4: RPM Spoofing

Corresponding labels for the concantenated dataset (Survival Analysis Dataset and Synthetic Automotive Hacking Dataset):

  • 0: Normal
  • 1: Flooding
  • 2: Fuzzy
  • 3: Malfunction
  • 4: Fabrication

How to use

The repository contains the following scripts: RandomForest\

  • main.py: script to execute the different phases
  • preprocessing.py: script that contains the preprocessing phases (load dataset, padding, conversion, ...).
  • classification.py: script that contains the classification phases (model evaluation, split dataset, train and test, results evaluation)

generated_dataset\

  • Fabrication.py: script that generate the normal and fabrication attacks using a virtual CAN interface

Replicate the experiments

Use the configuration.json to configure the different paths in which the datasets are contained. Use the label "true" or "false" to select the dataset that you want to use. Then, run main.py script. The configuration.json contains also the best parameters founded for the Random Forest.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages