Datasets
Standard Dataset
MisbehaviorX: Comprehensive V2X Misbehavior Detection Dataset Enabled by the V2X Application Spoofing Platform
- Citation Author(s):
- Submitted by:
- Md Hasan Shahriar
- Last updated:
- Sun, 12/29/2024 - 19:06
- DOI:
- 10.21227/s44z-8616
- Data Format:
- Research Article Link:
- Links:
- License:
- Categories:
- Keywords:
Abstract
This dataset contains a comprehensive V2X misbehavior dataset simulated using VASP, an open-source framework. VASP allows the simulation of diverse types of V2X attacks and works as a sub-module for Veins, a well-established open-source framework for running vehicular network simulations. Veins runs on an event-based network simulator OMNeT ++, and road traffic simulator SUMO. Data are collected from the Boston traffic network, which is a good candidate to represent real-world traffic mobility. We run VASP simulation for 3,000 simulated seconds to collect benign traces without any attacks. Such simulation provided us with 1,018,098 benign BSMs from 475 different vehicles. Similarly, we ran a VASP simulation for 1360 simulated seconds to collect malicious traces with 68 distinct attacks. While running the attack, we selected the attack policy as persistent, where the attacker vehicle always transmits attack messages and 25% malicious vehicles.
Dataset Structure
The dataset folder contains two subfolders: ambients and attacks.
- The ambients folder contains the BSM traces in an ambient and benign scenario.
- The attacks folder contains BSM traces for different attack scenarios.
Trace File Format
The trace file generated after running a simulation is in the form of a Comma Separated Value (CSV) format. Each CSV file includes the following columns:
Columns and Descriptions:
rv_id
(integer): Identifier of the remote vehicle (transmitter of V2X message).hv_id
(integer): Identifier of the host vehicle (receiver of V2X message).target_id
(integer): Identifier of the target vehicle of the attack, especially useful for ghost-node-based attacks to understand the target vehicle.msg_generation_time
(double): Timestamp of when the message was generated at the transmitter.msg_rcv_time
(double): Timestamp of when the message was received at the receiver.rv_msg_count
(integer): Message sequence identifier or message count of the message transmitted by the remote vehicle. Resets to 0 after reaching 127.rv_wsm_data
(string): Additional data about the message.rv_pos_x
(double): Latitude of the transmitter.rv_pos_y
(double): Longitude of the transmitter.rv_pos_z
(double): Elevation of the transmitter.rv_speed
(double): Speed of the transmitter.rv_accel
(double): Acceleration of the transmitter.rv_heading
(double): Heading/bearing/direction of the transmitter.rv_yaw_rate
(double): Yaw-rate of the transmitter.rv_length
(double): Length of the transmitter vehicle.rv_width
(double): Width of the transmitter vehicle.rv_height
(double): Height of the transmitter vehicle.hv_msg_count
(integer): Message sequence identifier or message count of the message about to be transmitted by the host vehicle. Resets to 0 after reaching 127.hv_wsm_data
(string): Additional data about the message.hv_pos_x
(double): Latitude of the receiver.hv_pos_y
(double): Longitude of the receiver.hv_pos_z
(double): Elevation of the receiver.hv_speed
(double): Speed of the receiver.hv_accel
(double): Acceleration of the receiver.hv_heading
(double): Heading/bearing/direction of the receiver.hv_length
(double): Length of the receiving vehicle.hv_width
(double): Width of the receiving vehicle.hv_height
(double): Height of the receiving vehicle.attack_type
(string): Type of attack if malicious/attacker vehicle; otherwise, defaults to "Genuine".eebl_warn
(boolean): Indicates if EEBL raised a warning (1 = warning; 0 = no warning).ima_warn
(boolean): Indicates if IMA raised a warning (1 = warning; 0 = no warning).