Giter VIP home page Giter VIP logo

f2md's Introduction

Framework For Misbehavior Detection (F2MD)

This project aims to recreate within a simulation all the elements that form the chain of misbehavior detection.

The scientific publication is available on ResearchGate. If you find this code useful in your research, please consider citing :

@ARTICLE{9056489,
    author={J. {Kamel} and M. R. {Ansari} and J. {Petit} and A. {Kaiser} and I. {Ben Jemaa} and P. {Urien}},
    title={Simulation Framework for Misbehavior Detection in Vehicular Networks},
    journal={IEEE Transactions on Vehicular Technology},
    year={2020}
}

Supported network technologies:

  • ITS-G5 (IEEE 802.11p)
  • C-V2X (3GPP PC5 Mode 4)

Features

  • Basic Plausibility Checks on Received Beacons (mdChecks)
  • Node Level Plausibility Investigation (mdApplications)
  • Real Time Machine Learning for Plausibility Investigation (HTTP to the Python Server: machine-learning-server)
  • Real Time Detection Status Output (mdStats, see README in f2md-results)
  • Support for Multiple Reporting Mechanisms (mdReport)
  • Support for Global Reports Collection and Investigation (HTTP to the Python Server: misbehavior-authority-server)
  • Basic Psudonym Change Policies (mdPCPolicies)
  • Local and Global Misbehavior Attacks Implementation (mdAttacks)
  • Launch Attacks in Real Time (HTTP to the Python Server: attack-server)

Installation

The easiest way

Alternatively, you can download a preinstalled Instant F2MD virtual machine here:

Instant-F2MD Download Link

Or access the Docker Image here:

F2MD Docker Repository

The easy way

  1. If you're running a Debian-based Linux distribution, use the automatic install script (tested on Debian 9 and Ubuntu 18.04)
$ ./installF2MD

The hard way

  1. Install Sumo 1.5.0
  2. Install OMNeT++ 5.6.1
  3. Clone this repository along with all the submodules to your local machine
$ git clone --recurse-submodules https://github.com/avinashkarhana/F2MD.git
  1. Build all f2md modules (inet, veins, veins_inet3 and simulte)
$ ./buildF2MD

For more information check the Veins Tutorial or the OpenCV2X Tutorial.

Running a simulation

  1. Launch the SUMO TraCI daemon
$ ./launchSumoTraciDaemon
  1. Run a simulation scenario
$ ./runScenario
  1. Visualise the output
$ cd f2md-results && ./plotScenario

Project Diagram

alt text

f2md's People

Contributors

josephkamel avatar avinashkarhana avatar

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.