Git Product home page Git Product logo

vasp's Introduction

V2X Application Spoofing Platform (VASP) ๐ŸฆŸ

This repository provides a framework to simulate attacks on V2X networks. It uses the VEINS simulation framework as a dependency.

Dependencies

  1. Operating System: Ubuntu/Debian/macOS
  2. CSVWriter.h
    • Please put this file in your system's (or user's) default include directory. E.g., /usr/include
  3. json.hpp
    • Rename this file to json.h and
    • Put it in your system's (or user's) default include directory. E.g., /usr/include

Installation

  1. Download all of the following into the same folder (preferably called "src")
  2. Download and extract OMNeT++ (version 5.6.2)
    • Please uncomment the line with CXXFLAGS in the "configure.user" file in the root directory of OMNeT++ with CXXFLAGS=-std=c++14
    • Install by following their installation guide.
  3. Install SUMO (version 1.8.0) by following their installation guide.
  4. Clone VEINS (version 5.2): git clone --branch veins-5.2 https://github.com/sommer/veins.git
  5. Add this repo as submodule under <path/to/veins>/src/: cd veins && git submodule add https://github.com/quic/vasp src/vasp

Build

  1. Change directory to <path/to/veins>
  2. Configure and build
    ./configure && make [-j6]

Running simulations

  1. Change directory to <path/to/veins>
  2. Start sumo server: bin/veins_launchd -vv
  3. Change directory to <path/to/veins>/src/vasp/scenario/
  4. Run simulation:
    ./run [-u Cmdenv]
  5. You should see a trace file generated under <path/to/veins>/src/vasp/scenario/results folder.

More Documentation

  1. Configuring your simulation
  2. Know your trace file
  3. Implementing your own attack

Citation

If you are using our VASP framework or codes for your development, please cite the following paper:

@inproceedings{vasp2023,
  title={VASP: V2X Application Spoofing Platform},
  author={Ansari, Mohammad Raashid and Petit, Jonathan and Monteuuis, Jean-Philippe and Chen, Cong},
  booktitle={Proceedings Inaugural International Symposium on Vehicle Security & Privacy, ndss-symposium},
  url={https://doi.org/10.14722/vehiclesec.2023.23071},
  year={2023}
  }

License

MIT

vasp's People

Contributors

raash1d avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

vasp's Issues

Error: no template named 'make_unique' in namespace 'std' while Building vasp

Summary

While building vasp (See step 2 in Build: ./configure && make [-j6]), there comes an error vasp/driver/CarApp.cc:258:19: error: no template named 'make_unique' in namespace 'std'; did you mean 'veins::make_unique'?

After searching for the error, it appears that make_unique is a C++14 feature and thus might not be available on my compiler with the following c++ --version.

c++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.

To Reproduce (for bugs)

Steps to reproduce the behavior:

  1. Follow the installation guidelines until the section Build
  2. Try building using ./configure && make [-j6]
  3. See error while dealing with vasp

Expected behavior

The building process should go smoothly as did for veins without an error (missing nameplate)

Screenshots

issu_With_make_unique

System Information (please complete the following information):

  • OS: Ubuntu 20.04
  • Default c++ version: (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0

Additional context

Here are the PATH variables while I was building:

bash: /home/hasan/Desktop/InstalledApps/v2x-sim/vasp/bin:
/home/hasan/Desktop/InstalledApps/v2x-sim/veins/bin:
/home/hasan/Desktop/InstalledApps/v2x-sim/omnetpp/bin:
/home/hasan/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:
/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin: No such file or directory

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.