Project Description - achyut3598/SmartHackSmasher GitHub Wiki

Project Description

Problem

The time of driverless cars is upon us and with that comes a lot of new risks that did not exist previously. Driverless cars are computers at heart and like any computer, they can glitch and they can be hacked. Unlike most computers where if it goes wrong you may just lose some files or worst case have money stolen, a driverless car being hacked could lead to disaster. People could be stalked, kidnapped, or even die if someone took over their car. To help combat this, we propose Smart Hack Smasher.

Solution

Smart Hack Smasher is a tool that is designed to detect abnormal behavior in data. It continuously watches the incoming data from the car’s modules and uses a variety of machine learning techniques to identify anomalies in it’s behaviors, whether these are from a simple systems glitch or something more nefarious. It then tags this data with its findings and determines a level of severity associated with the anomaly and passes all of this on to the car’s control module, providing the car’s programmer the flexibility to determine what they want to do with the information Smart Hack Smasher provides them.

How it works

Driverless cars look at many inputs as they navigate the road. This includes data such as road signs, traffic lights, and other cars. A driverless car is an AI trained to process these inputs and take the proper action. While this is what is supposed to happen, the car can malfunction, either from its own systems misbehaving or from malicious actors acting on it. This is where Smart Hack Smasher comes in, sitting on the car’s data stream and identifying this kind of anomalous behavior. This includes using supervised and unsupervised training to learn to detect and override the bad behavior.

Supervised training of Smart Hack Smasher involves being trained on existing detailed car data from driverless car datasets that is known to be acceptable behavior. This shows Smart Hack Smasher a wide variety of different driving scenarios. The idea here being that Smart Hack Smasher will learn how each of the modules in a car works and how it should behave based on certain factors such as a road sign recommending a change in speed or a traffic light signal.

The semi-supervised and unsupervised training of Smart Hack Smasher involves Smart Hack Smasher actively looking at the incoming data that is coming from the car itself. It will try to look for little known or unknown patterns and establish correlations between various data sources. The idea here is that this training will help it learn new scenarios that were not previously encountered by the supervised training.

When Smart Hack Smasher has been trained and is actively running on a vehicle, it will be always looking out for some unusual data. If it finds something that is out of the ordinary, it will immediately take action to try and avoid harm. This is determined by a level of severity calculator. A minor issue where a value is slightly out of range, like speed, might involve telling the car to slow down a little. In essence, minor issues would just try to be corrected for. A slightly more worrisome issue might be if there is some issue related to road conditions causing issues for the car, alerting the driver might be in order. A high severity issue might involve something like the car going a completely wrong direction or ignoring the detection of other cars around it. Smart Hack Smasher in this case would send a signal telling the car it should stop and pull over as it is an immediate risk.

Limitations

Since this is a limited scale academic project and not a full blown commercial product, Smart Hack Smasher will be more limited in scope. In particular, Smart Hack Smasher will not be looking at every single thing a car does. A real car has hundreds of sensors that are all taking in data that would need to be looked at and trained with Smart Hack Smasher. Smart Hack Smasher instead will focus on 3 key areas of Car and object detection, road sign detection, and GPS data. These were chosen as they can make a somewhat decent approximation of a car’s basic movement and work as a proof of concept.