Dependencies:
In order to use this IDS system, users need to install the following libraries:
-
Python3
-
python-can: https://python-can.readthedocs.io/en/master/
The python-can library provides Controller Area Network support for Python, providing common abstractions to different hardware devices, and a suite of utilities for sending and receiving messages on a CAN bus.
-
This program is trained and tested using tensorflow:2.2.2, I recommend using tensorflow with docker or install that specific tensorflow version
-
Socket CAN : https://github.com/linux-can/can-utils SocketCAN is a set of open source CAN drivers and a networking stack contributed by Volkswagen Research to the Linux kernel. Formerly known as Low Level CAN Framework (LLCF).
Usage
The repository contains only the codes need to recreate the MLIDS. Users need to train each arbitration ID independently. Training each arbitration ID will create a folder named trainingcheckpoints in their respective folders. MLIDS uses this files to make predictions.