With technology and computers becoming more and more sophisticated and readily available, cars have followed suit by integrating more and more microcontrollers to handle tasks ranging from controlling the radio to the brakes and steering. Handling all of these separate processors is a communication system and protocol known as Controller Area Network (CAN) bus. While the CAN bus is a robust system for sending messages, allowing control of the car through the CAN bus presents an opportunity for an outside party to interfere with the operations of a car. Any number of different methods could be used to hack the bus and take control of a car, including hacking into the bus remotely, plugging a small device into the on-board diagnostics port to the CAN bus, or swapping an existing node on the CAN bus for one that has been tampered with. This presents obvious safety risks, so to guard against this possibility, this paper will present an algorithm designed to recognize nodes based on the noise content of their signal so that any messages coming from an improper source can be flagged as suspicious.
The algorithm makes use of MATLAB and Python to perform various transformations on the data and calculate features of the noise in a signal. These features are then passed through a statistical analysis which provides each one a score for how much useful information it contains. The best performing features are run through both a multilayer perceptron neural network and a support vector machine, and the results are compared. Each algorithm gives strong prediction performance, with prediction accuracies of 99.9% and 99.8% for the neural network and support vector machine, respectively. / Master of Science / With technology and computers becoming more and more sophisticated and readily available, cars have followed suit by integrating more and more microcontrollers to handle tasks ranging from controlling the radio to the brakes. Handling all of these separate processors is a communication system and protocol known as Controller Area Network (CAN) bus. However, this presents an opportunity for an outside party to interfere with the operations of a car. An existing node for the CAN bus could be swapped out for one that has been tampered with, causing potentially fatal accidents. To guard against this possibility, this paper will present an algorithm designed to recognize nodes based on the noise content of their signal so that any new hardware will trigger a flag that an unrecognized source is trying to interfere. The algorithm makes use of the MATLAB and Python programming languages to calculate certain characteristics of the noise in the signal and pass those through a machine learning algorithm. This algorithm is able to learn through mathematical means what each node ”sounds like”. With over 99% accuracy, we were able to predict which node sent a given signal.
Identifer | oai:union.ndltd.org:VTETD/oai:vtechworks.lib.vt.edu:10919/81863 |
Date | 18 January 2018 |
Creators | Spicer, Matthew William |
Contributors | Mechanical Engineering, Wicks, Alfred L., Southward, Steve C., Abbott, A. Lynn |
Publisher | Virginia Tech |
Source Sets | Virginia Tech Theses and Dissertation |
Detected Language | English |
Type | Thesis |
Format | ETD, application/pdf |
Rights | In Copyright, http://rightsstatements.org/vocab/InC/1.0/ |
Page generated in 0.0021 seconds