# A Connected and Autonomous Vehicle Reference Architecture for Attack Surface Analysis
## 3 A CAV Reference Architecture: Components and Related Attack Surfaces
### CAV Reference Architecture
#### 3.1.6 Data Analysis  
To make sense of the data obtained from external sources (such as the sensors) and the data stored locally in the vehicle, some sort of analysis will need to be performed on it. This analysis may use simple conditions to trigger actuators (e.g., if temperate rises above a threshold, then turn on the air conditioning) but more complicated techniques, such as machine learning models, will also be used. These machine learning models will be prevalent in CAVs due to the need for autonomy.  
\begin{tabular}{c} \hline \hline \multicolumn{2}{c}{**Example Attacks**} \\ \hline \(\bullet\) Induce bad analysis (e.g., adversarial ML [49]) \\ \(\bullet\) Obtain analysis \\ \(\bullet\) Malicious input to put analysis into infinite loop (DoS) \\ \hline \hline \end{tabular}  
Localisation  
One of the key pieces of knowledge for an autonomous vehicle is its location. Information such as from GNSS can be used to provide a fairly accurate location [50] as long as the vehicle is in an open area with few buildings blocking satellite signals. Other approaches such as dead reckoning are used to calculate the vehicle's current position based on a previously known position, the vehicle's speed, heading and the travel time.  
Object Identification  
As part of autonomous driving it will be necessary for the CAV to be able to identify objects. These objects will include people, obstacles, road signs and many other objects. Machine learning based algorithms will be used to perform visual identification. However, using machine learning can open the vehicle up to being attacked in new ways. One example is adversarial machine learning, where input manipulation can lead to unexpected results. For example, in Reference [51] 3D printed objects were crafted to be misclassified by an object detection model. In one case a turtle was detected as a gun, such a detection could lead to unexpected behaviour in the vehicle. Alternate issues might include the vehicle failing to recognise another vehicle, such as when a Tesla was involved with a fatal accident when it attempted to drive under a truck [52]. An adversary manipulating the data provided to sensors, may affect the actions vehicles take.  
To improve accuracy of sensor input the data provided from sensors is usually fused, such as via a Kalman Filter [53]. By doing so the quality of the fused data should be higher than the individually sensed data. However, if manipulated sensor data is used then the fusion approach could produce less accurate or even inaccurate results [54]. In Reference [55] spoofing sensor data was used to control a UAV, with the technique possibly extendable to other autonomous vehicles. Therefore, the sensor fusion technique needs to be aware of how to handle data provided by an attacker, such that it does not lead to incorrect actuations.  
Once an autonomous vehicle has both determined its location and the road objects surrounding it, it may call on the Action Engine sub-module to decide what it must do next. Possible actions to be taken include interactions with other connected vehicles on the road and both short and long term driving decisions. RSUs or the Cloud, on the other hand, make use of the Action Engine to ensure that the vehicle control and planning systems are correct and safe and to ensure that multiple vehicles on the road at the same time coordinate and are managed to move people and packages to their destinations in the most effective way.