Full Text 01
Full Text 01
OF TECHNOLOGY
PHILIP ANDERSSON
Abstract
With the growing demand for smart and luxurious vehicles, the automotive
industry has moved toward developing technologies to enhance the in-vehicle
user experience. As a result, most vehicles today have a so-called In-Vehicle
Infotainment (IVI) system, or simply an infotainment system, which provides
a combination of information and entertainment in one system. IVI systems
are used to control, for instance, the audio, navigation, and air conditioning
in vehicles. Increasingly more IVI systems are also connected to the internet
which has enabled features such as web browsers and third-party apps on them.
This raises questions concerning the cybersecurity of IVI systems. As more
vehicles are connected to the internet, it increases the risk of vehicles getting
hacked. Previous research has shown that it is possible to take control of an
entire vehicle by hacking the IVI system.
In this thesis, penetration testing was conducted on an IVI system included
on a rig from Volvo Cars to find potential vulnerabilities in the system. To the
best of the author’s knowledge, this is the first paper describing penetration
tests performed on a greater attack surface of the Android Automotive
operating system used by the IVI system than previous research which only
focused on the attack surface of third-party apps. Moreover, threat modeling
was performed by employing the threat analysis and risk assessment part of
the ISO/SAE 21434: Road vehicles — Cybersecurity engineering. This has
not yet been done in the research area of security of IVI systems as far as the
author knows.
The results from the various penetration tests show that no major
vulnerabilities were discovered in the IVI system. However, several findings
were made in the thesis where the main one was that multiple content
providers, managing access to storage (e.g., relational databases) in Android,
were found to be exported by Android apps on the IVI system, and that some
of these were vulnerable to SQL injection. This vulnerability of some of the
content providers was exploited but did not lead to any collection of private
information. For future work, penetration testing of the cellular interface of
the IVI system is suggested.
Keywords
Cybersecurity, Penetration testing, In-Vehicle Infotainment system, Android
Automotive, ISO/SAE 21434
ii | Sammanfattning
Sammanfattning
Med en ökad efterfrågan för smarta och lyxiga fordon så har fordonsindustrin
behövt utveckla teknologier som förbättrar användarupplevelsen i fordon.
Ett resultat av detta är att de flesta fordon idag har ett så kallat infotain-
mentsystem vilket kombinerar information och underhållning i ett system.
Infotainmentsystem används till exempel för att styra ljudet, navigationen
och luftkonditioneringen i fordon. Fler infotainmentsystem börjar också
bli uppkopplade mot internet som möjliggör för användare att surfa på
internet och ladda ner tredjepartsappar. Detta väcker frågor beträffande
cybersäkerheten hos dessa. I takt med att fler fordon blir uppkopplade mot
internet så ökar det risken för att fordon blir hackade. Tidigare forskning har
visat att det är möjligt att ta kontroll över ett helt fordon genom att hacka
infotainmentsystemet.
I detta examensarbete har penetrationstestning utförts på ett infotain-
mentsystem som var inkluderad på en rigg från Volvo Personvagnar för att
hitta potentiella säkerhetsbrister i infotainmentsystemet. Till författarens bästa
vetskap är denna rapport den första som beskriver om penetrationstester
utförda på en större attackyta av operativsystemet Android Automotive
som används av infotainmentsystemet än tidigare forskning som bara har
fokuserat på tredjepartsappar som attackyta. Hotmodellering har också utförts
i examensarbetet enligt ett avsnitt kallad hotanalys och riskbedömning i
ISO/SAE 21434: Vägfordon — Process och metod för cybersäkerhet. Detta
har ännu inte gjorts inom forskningsområdet säkerhet för infotainmentsystem
så vitt författaren känner till.
Resultaten från de olika penetrationstesterna visar att inga allvarliga
säkerhetsbrister hittades i infotainmentsystemet. Dock gjordes flera upptäckter
under examensarbetet där den mest väsentliga var att ett flertal innehållsle-
verantörer, som hanterar åtkomst till lagring (t.ex. relationsdatabaser) i
Android, var exporterade från Android appar på infotainmentsystemet, och
att några av dem var sårbara till SQL-injektioner. Denna sårbarhet hos vissa
innehållsleverantörer utnyttjades men ledde inte till någon insamling av privat
information. Ett förslag för framtida arbeten är att utföra penetrationstestning
på det mobila gränssnittet hos infotainmentsystemet.
Nyckelord
Cybersäkerhet, Penetrationstestning, Infotainmentsystem i fordon, Android
Automotive, ISO/SAE 21434
Acknowledgments | iii
Acknowledgments
First of all, from the bottom of my heart, I want to thank my parents. You have
always been there during my entire life, supporting me when I needed it the
most. Without you, I would not be where I am today. Thank you.
I would also like to thank my thesis supervisors, Nikolaos Kakouros and Ismail
Butun, for all of the help and invaluable feedback I received during the project.
I especially want to thank Nikolaos for managing the contact with Volvo Cars
and the suggestion regarding using the ISO/SAE 21434 TARA part in the
thesis, and Ismail, for all of the help I got when working in the NSE’s cyber
security lab on the rig.
Then, I would like to thank my main examiner, Benoit Baudry, for all of the
help throughout the project and the feedback on the report. I also would like
to thank my original examiner, Robert Lagerström, for setting up this project
and getting the rig from Volvo Cars to KTH.
Additionally, I would like to thank Porsev Aslan and Dana Ismail, who worked
in parallel on the rig from Volvo Cars with attack simulations and threat
modeling, for ideas on how to hack the IVI system and for showing me your
work which enabled me to understand the rig better.
Next, I would like to thank all of the people at Volvo Cars which have been
involved in this project and helped to answer the questions I had.
Finally, I would like to thank all of the nice people I have met and worked
with during my time at KTH.
Contents
1 Introduction 1
1.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Research Question . . . . . . . . . . . . . . . . . . . 3
1.1.2 Hypothesis . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Ethics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Research Method . . . . . . . . . . . . . . . . . . . . . . . . 4
1.6 Delimitations . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.7 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Background 6
2.1 Android Automotive . . . . . . . . . . . . . . . . . . . . . . 6
2.2 In-Vehicle Infotainment System Components . . . . . . . . . . 7
2.3 Electronic Control Units and In-Vehicle Networks . . . . . . . 8
2.4 Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4.1 Protocol Stack . . . . . . . . . . . . . . . . . . . . . 9
2.4.2 Address . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5 Android Apps . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5.1 Manifest File . . . . . . . . . . . . . . . . . . . . . . 11
2.5.2 Activity . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5.3 Content Providers . . . . . . . . . . . . . . . . . . . . 11
2.6 Structured Query Language . . . . . . . . . . . . . . . . . . . 12
2.6.1 SQL Injection . . . . . . . . . . . . . . . . . . . . . . 12
2.7 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3 Method 17
3.1 Penetration Testing . . . . . . . . . . . . . . . . . . . . . . . 17
Contents | v
3.1.1 Pre-engagement . . . . . . . . . . . . . . . . . . . . . 19
3.1.2 Information Gathering . . . . . . . . . . . . . . . . . 19
3.1.3 Threat Modeling . . . . . . . . . . . . . . . . . . . . 19
3.1.3.1 STRIDE . . . . . . . . . . . . . . . . . . . 20
3.1.4 Vulnerability Analysis . . . . . . . . . . . . . . . . . 20
3.1.5 Exploitation . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.6 Post Exploitation . . . . . . . . . . . . . . . . . . . . 21
3.1.7 Reporting . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 ISO/SAE 21434 — Threat Analysis and Risk Assessment . . . 21
3.3 Overview of Penetration Testing Stages . . . . . . . . . . . . 24
5 Threat Model 32
5.1 Asset Identification . . . . . . . . . . . . . . . . . . . . . . . 32
5.2 Impact Rating . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3 Threat Scenario Identification . . . . . . . . . . . . . . . . . 35
5.4 Attack Path Analysis . . . . . . . . . . . . . . . . . . . . . . 36
5.5 Attack Feasibility Rating . . . . . . . . . . . . . . . . . . . . 39
5.6 Risk Value Determination . . . . . . . . . . . . . . . . . . . . 40
7 Discussion 63
7.1 Validity and Comparison of Results . . . . . . . . . . . . . . 63
7.2 Deviation from Weidman’s Methodology . . . . . . . . . . . 64
7.3 Sustainability and Ethics . . . . . . . . . . . . . . . . . . . . 66
8 Conclusion 68
9 Future Work 69
References 71
List of Figures | vii
List of Figures
List of Tables
MITM Man-In-The-Middle
MobSF Mobile Security Framework
RC Recommendation
RFCOMM Radio Frequency Communication
RQ Requirement
Chapter 1
Introduction
This thesis will also investigate the following two related sub-questions:
1. Can the system endanger the people in the vehicle and on the road?
1.1.2 Hypothesis
Based on previous research, the hypothesis is that vulnerabilities exist in the
IVI system.
1.2 Purpose
The purpose of this thesis is to improve the overall security of the IVI system
and make it harder for a real hacker to attack the system. This will improve the
safety of the vehicle which benefits the people using it and people nearby, but
also Volvo Cars financially, as more people want to purchase a safer vehicle.
It will also strengthen the security against data breaches which can negatively
affect the people in the vehicle and Volvo Cars.
Academically, the purpose of this thesis is to further expand the research
area of automotive cybersecurity and ethical hacking of IVI systems.
1.3 Goals
One goal of this thesis project is to find potential vulnerabilities and let Volvo
Cars know about them so they can patch them. Another goal is to document
the method of threat modeling and how the penetration testing was carried out
on an IVI system.
4 | Introduction
1.4 Ethics
Ethics is a large part of penetration testing and this will be discussed further
in the thesis. Hacking a system without the owner’s permission is illegal,
which in Sweden is stated in the Swedish Criminal Code [8]. Therefore, it
is needed to first establish an agreement with Volvo Car before any sort of
penetration testing is conducted on their IVI system. The results and potential
vulnerabilities found during this project will be communicated to Volvo Cars
first through responsible disclosure so that they can patch the findings before
the thesis is published.
1.6 Delimitations
One delimitation is that this thesis will not include patching of potential
vulnerabilities found in the IVI system. Another delimitation is that no In-
Vehicle Network (IVN) hacking will be performed in the thesis, for example,
Introduction | 5
1.7 Outline
This thesis consists of nine chapters and a section for references. In chapter 1,
this chapter, an introduction to the topic and the problem this thesis tries
to address are presented, and importantly the research question is stated.
Following in chapter 2 is the necessary background for the thesis and includes
related work. The method used in this thesis is then described in chapter 3.
In chapter 4, the target IVI system from Volvo Cars in focus of this thesis
is described. Chapter 5 shows how the threat modeling was performed by
employing the ISO/SAE 21434 TARA. In chapter 6, the steps, results, and
discussion of all of the penetration tests performed on the target IVI system are
described, and since each penetration test has a results section, no dedicated
chapter for the results exists in this thesis. Chapter 7 discuss the general results
of all penetration tests, the method chosen for this thesis, and the sustainability
and ethical aspects of the work. Chapter 8 outlines the main conclusions of this
thesis. Finally, in chapter 9, suggested work for future research is described.
6 | Background
Chapter 2
Background
This chapter will first describe the Android Automotive operating system and
IVI systems and their typical components. Then, ECUs and IVNs are briefly
described. Next, Bluetooth and technical information related to the technology
are described. Thereafter, this chapter will describe different components of
Android Apps and the technique of SQL injections. Finally, related work
on the security of IVI systems and automotive cybersecurity, in general, are
described, and the chapter ends with a summary.
such as mileage and failures of vehicles. The server can also be used
for distributing OTA updates to vehicles. Some manufacturers have an
app where users control some functions in their vehicles where the app
communicates with the vehicle through the backend server.
Figure 2.1: Typical components in an IVI system and how they are connected.
The connection between the TCU and the IHU is different among IVI systems
where some use one of the types shown in the figure or none and instead
communicate through the IVNs. CAN-X denotes an arbitrary CAN link.
CAN, LIN, FlexRay) that have different speeds. More vehicles are also using
Ethernet which enables even higher speeds [18].
2.4 Bluetooth
Bluetooth, also known as IEEE 802.15, is a technology for short-range
wireless communication [19]. The Bluetooth Special Interest Group
(Bluetooth SIG) oversees the technology and publishes new Bluetooth
standards. Two types of Bluetooth exist called Bluetooth Classic and
Bluetooth Low Energy (BLE), both operating at the 2.4 GHz frequency band.
The main focus here is on Bluetooth Classic since this is used by the IHU
described in section 4.2.2.
2.4.2 Address
The address of a Bluetooth interface is a unique 48-bit identifier. A Bluetooth
address is often shown in hexadecimal separated by colons, and it consists of
the three following parts: Non-significant Address Part (NAP), Upper Address
10 | Background
Part (UAP), and Lower Address Part (LAP) [20]. These parts of a Bluetooth
address are shown in figure 2.3. The LAP is assigned by the vendor and the
UAP is used as a seed in Bluetooth specification algorithms. The NAP and
UAP parts together form the Organizationally Unique Identifier (OUI) that can
be used to determine the manufacturer of a Bluetooth device and is assigned
by the Institute of Electrical and Electronics Engineers (IEEE). There is also
a Significant Address Part (SAP) of a Bluetooth address formed by the UAP
and LAP together.
2.5.2 Activity
An activity is a fundamental part of Android apps, a window where an app
draws its UI [22]. Usually, an activity covers the whole screen but can also
be only a part of the screen on top of another activity. An example of an
implementation of an activity is the Preference screen in an app.
Android apps can in the manifest file declare activities that it shares with
other apps on a device. This makes it possible for other apps to call an activity
of a specific app that is then displayed on the screen.
components due to a gateway between the different CAN buses. They also
discovered that the USB port recognized some USB-to-Ethernet adapters used
as a debugging interface which also had the vulnerable service.
One research group that has hacked multiple cars and IVI systems is the
Tencent Keen Security Lab based in China. In 2016, they were the first to
report a remote attack compromising the CAN bus on a Tesla car [29]. Two
years later they found 14 vulnerabilities by analyzing the firmware acquired
from the IVI system used across several BMW models (e.g., BMW i3) [15].
They discovered that the IHU recognized USB-to-Ethernet adapters which
exposed many internal services. The USB port was also used to update the
IHU which they managed to exploit and obtain root privileges. Through
fuzzing the Bluetooth stack in the IHU and sending malformed packages, they
got the IHU to reboot when it was in pairing mode affecting the availability.
Remote control of the entire vehicle was also obtained by setting up a cellular
rogue base station and letting the vehicle connect to it. In 2021, the same
team investigated the security of the IVI system used in Mercedes-Benz cars
and discovered multiple vulnerabilities [16]. They found a hidden Wi-Fi
connection between the TCU and the IHU and were able to connect as TCU to
the IHU revealing TCP and UDP ports. There was one particular port assigned
to a protocol where they found several buffer overflow vulnerabilities that were
used to obtain a reverse shell. The IHU also had a web browser where a
JavaScript vulnerability was exploited to get a reverse shell.
There are two main books on the topic of hacking vehicles and IVI systems.
The first is The Car Hacker’s Handbook [30] by Craig Smith from 2016
which describes different embedded systems and bus protocols used in cars.
Furthermore, it covers various attack surfaces including an entire chapter on
attacking IVI systems. The second book is Hacking Connected Cars [1] by
Alissa Knight from 2020 which is more focused on remotely hacking cars. It
includes several examples of how to attack the IHU and TCU in an IVI system.
The first part of the book is also structured similar to Weidman’s penetration
testing methodology [2] which is the method used in this thesis.
2.8 Summary
This chapter has given the reader a foundation for this thesis. It started with
a description of Android Automotive which is used by the IVI system from
Volvo Cars. In order to understand the IVI system in focus and compare it
to other IVI systems, the typical components of IVI systems were described
in this chapter. Although ECUs and IVNs are not a major part of this thesis,
16 | Background
Chapter 3
Method
This chapter describes the research method of the thesis and how the project
was approached.
3.1.1 Pre-engagement
In this stage, the initial contact is made with the client that wants a system
to be penetration tested. It includes discussing and agreeing on the goals,
scope, and duration of the test. The scope should carefully state what will be
penetration tested in order to avoid situations where the pentester performs a
test that was not expected by the client. A non-disclosure agreement (NDA)
is usually signed in this stage by the pentester.
3.1.3.1 STRIDE
3.1.5 Exploitation
In this stage, the actual attack is made against a target system. A pentester
exploits vulnerabilities found in the previous stage, sometimes using an
existing tool. It is in this stage that the question is answered regarding if a
system is vulnerable.
Method | 21
3.1.7 Reporting
The reporting stage consists of creating a report that explains what has been
done during the period of pen testing, it also includes findings and results of
the various tests. The report needs to be clear for the owner of the system to
be able to fix the vulnerabilities found during the pen test.
The findings and potential vulnerabilities discovered in this project will be
included in this thesis as responsible disclosure.
Figure 3.2 shows the steps of the ISO/SAE 21434 TARA employed in the
thesis. Each arrow represents a WP from one step in the TARA which is a
prerequisite of another step.
describing a scenario where a road user is harmed, are also identified which
compromise the cybersecurity properties of an asset.
The damage scenarios are then assessed in the second step called impact
rating based on what consequences they have for road users. The ISO/SAE
21434 uses four impact categories in which each damage scenario should be
assessed but only the categories of safety and privacy will be assessed since
the research question is related to these. The severity of the impact is assigned
one of the following labels (descending order of severity): severe, major,
moderate, and negligible. Table 3.1 will be used in the thesis for assessing
the safety impact rating of a damage scenario. This table which maps the
criteria for a safety impact to an impact rating label is based on the ISO 26262-
3:2018, section 6.4.3 [35], from which the ISO/SAE 21434 states the safety
impact ratings should be derived. The criteria in table 3.1 take into account
the severity of the damages and the controllability of the vehicle in a damage
scenario. Injuries to the driver, passengers, and people outside the vehicle
should all be considered when assessing the safety impact rating of a damage
scenario. Table F.4 on page 64 in the ISO/SAE 21434 will be used in the thesis
for assessing the privacy impact of a damage scenario.
The third step is threat scenario identification where threats against an
item’s assets are identified. A threat scenario describes a scenario where
the cybersecurity properties of an asset are compromised. The method of
identifying threat scenarios this thesis will use is according to STRIDE,
described in section 3.1.3.1. Each damage scenario is associated with one
or more threat scenarios.
In the fourth step called attack path analysis, attack paths are produced.
An attack path can be a list of steps that realize a threat scenario. However,
these can be imprecise since all of the details of an item are not yet known. In
this thesis, a top-down approach is used to produce the attack paths where
different ways of realizing the threat scenarios are analyzed, contrary to a
bottom-up approach where attack paths are produced based on vulnerabilities
already identified.
The attack paths are then assessed in the fifth step called attack feasibility
rating. The ISO/SAE 21434 has three RCs for methods of rating the attack
feasibility of an attack path where the attack vector-based approach was chosen
and will be used in this thesis. In this approach, the predominant attack vector
of an attack path determines the rating. Based on this approach and the RQs
in this step of the ISO/SAE 21434 TARA, table 3.2 was created which will be
used in the thesis for assessing the attack feasibility ratings of the attack paths.
The sixth and final step of the TARA is called risk value determination,
24 | Method
where a risk value of a threat scenario is obtained based on inputs to this step
which are the threat scenarios, impact ratings and attack feasibility ratings, as
shown in figure 3.2. Since the thesis will assess the impact rating for both
the safety and privacy category, two risk values are obtained for each threat
scenario. The risk values in this thesis are determined according to the risk
matrix in table H.8 on page 78 in the ISO/SAE 21434. The threat scenarios
with the highest risk values will motivate the tests in the penetration testing
stage of the project.
Example situations:
– Front collision with another vehicle at a medium to high speed
where people in both vehicles are fatally injured due to brake
system malfunctioning.
– Pedestrian accident with life-threatening injuries due to steering
malfunctioning.
– Drive off a cliff due to the navigation showing a malicious left
turn resulting in life-threatening injuries for the people in the
vehicle (example of the controllability affected indirectly).
Example situations:
– Front collision with another vehicle at a low speed where people
in both vehicles are severely injured due to brake system
malfunctioning.
– Pedestrian accident with severe injuries due to steering
malfunctioning.
Moderate Light and moderate injuries. The vehicle is very controllable and
the driver can quickly fix problems in the vehicle.
Example situations:
– Driver shocked by music played at max volume and can quickly
turn it down but still keep good attention to the road. Driver get
light neck injuries by the shock.
– Injuries got when entering/exiting the vehicle.
Negligible The driver has full control of the vehicle and there are no injuries.
Medium Attack paths where an attack can be made within a short range of
the target.
Low Attack paths where an attacker has limited physical access to the
vehicle.
Very low Attack paths where an attack has full physical access to the
vehicle and can disassemble components and access the IVNs.
Table 3.2: Attack feasibility rating criteria using the attack vector-based
approach.
28 | Target In-Vehicle Infotainment System
Chapter 4
This chapter describes the target system in detail, which is an IVI system
from Volvo Cars, and constitutes the information gathering stage described
in section 3.1.2. The information in this chapter was collected from OSINT
sources, physical examination, and enumeration. This information is needed
to understand the IVI system and later perform penetration tests on it. The
content of this chapter is the first original contribution of the thesis.
4.1 Components
The target IVI system was part of a rig from Volvo Cars which consisted of
multiple electronic components from a Volvo car. An image of the rig is shown
in figure 4.1. The following are the relevant IVI system components that were
available on the rig: touchscreen, IHU, Telematics and Connectivity Antenna
Module (TCAM), and Vehicle Gateway Module (VGM). A simple diagram
of how the IVI system’s components were connected is shown in figure 4.2.
Moreover, the following are the relevant ports available on the rig: USB, OBD-
II, FlexRay, LIN, and Body CAN.
Google Maps, Bluetooth Media Player, Radio, Phone, Google Assistant, Car
status, Google Play Store, and Owner’s Manual. The apps among these that
need further explanation are described here. In the Car status app, a user can
view information about the vehicle such as warnings. Google Assistant can
be used to, for instance, control the audio and navigation. On this IHU, the
Owner’s Manual app did not work and could not be used. Through the IHU a
user can also control the HVAC in the vehicle. Another feature of the IHU is
the possibility to have different profiles. One input to the IHU was the USB
port available on the rig.
By physical examination of the IHU, the following FCC ID was found
printed on the unit: LTQIHU4. An FCC ID is a unique identifier that most
computer hardware has and that can be useful to find information about the
hardware such as the manufacturer [36]. This FCC ID was searched on
30 | Target In-Vehicle Infotainment System
Figure 4.2: A simple diagram of the target IVI system’s components and how
they were connected.
Chapter 5
Threat Model
This chapter shows how threat modeling was performed in the project. The
threat modeling stage of the penetration testing methodology (described in
section 3.1.3) is constituted by this chapter. The ISO/SAE 21434 TARA was
employed as described in section 3.2.
For damage scenario 1, the safety impact was assessed to be moderate since
the vehicle would still be very controllable if the Bluetooth interface of the IHU
would become unavailable. Furthermore, potential injuries of other people
around the vehicle would likely be light or moderate, as a consequence of the
reduced attention to the road, and maps to a safety impact rating of moderate.
The privacy impact of this damage scenario was assessed to be negligible since
no personal information is leaked when the Bluetooth interface is unavailable.
Threat Model | 35
One threat scenario was identified for damage scenario 4, shown in table
5.3 as threat scenario 6. Since the cybersecurity property of the asset, IVI
system’s Wi-Fi network traffic, is confidentiality the only threat category in
STRIDE is information disclosure.
Damage Threat Threat scenario ID
scenario
1 DoS Crash the Bluetooth interface used by the IHU 1
that results in the loss of availability of the
Bluetooth communication.
2 Information Compromise the operating system of the IHU 2
disclosure to access all information in it which leads to
the loss of confidentiality.
2 Information Extract private information from pre-installed 3
disclosure apps on the IHU. The compromised
cybersecurity property is confidentiality.
2 Information Exploit the open port on the IVI system with 4
disclosure port number 13402 to gain access to the
system and information on it which results in
the loss of confidentiality.
3 Information Extraction of the firmware of the IVI system’s 5
disclosure components which leads to the loss of
confidentiality.
4 Information Extract sensitive information from network 6
disclosure traffic captured from the IVI system. The
compromised cybersecurity property is
confidentiality.
Table 5.3: Threat scenarios and categories with associated
damage scenario. Each threat scenario is assigned an ID.
where fuzzing is performed as a way to crash the Bluetooth interface, and the
idea behind this attack path came from [15] which has also performed fuzzing
on the Bluetooth interface of an IVI system.
Based on the knowledge that the IHU has a USB port and that Android
Automotive is the OS running on it, which potentially could mean that adb
(described in section 6.1) is available, attack path 3 was produced which
realizes threat scenario 2. Furthermore, to compromise the OS and get access
to all information in it, which was the goal of threat scenario 2, privilege
escalation is part of the attack path so that then an attacker can search for
sensitive information in all of the files on the IHU.
With the same reasoning regarding the availability of adb together with the
idea of exploiting pre-installed apps on the IHU, attack path 4 was produced
which realizes threat scenario 3. Previous research as [5] has focused on
exploiting third-party apps, this attack path describes an attack where pre-
installed apps on the IHU are exploited by targeting potentially exported
information from them.
Attack path 5, realizing threat scenario 4, describes an attack where the
attack vector is the Wi-Fi interface of the IVI system and the open network port
previously discovered, described in section 4.2. Before an attacker can access
the open port on the IVI system, the attacker needs to be on the same network
to which the IVI system is connected, and therefore, the idea of performing
an evil twin attack was thought of as a way for an attacker to access the open
port. Once an attacker has access, the attacker then tries to exploit the open
port number to potentially obtain a shell in the OS through Telnet, for instance
as previously tried in [4], to then search for sensitive information in the IVI
system and compromise the cybersecurity property of the asset.
To realize threat scenario 5, attack path 6 was produced. One way of
extracting the firmware from devices is to use debugging ports such as JTAG
and UART on PCBs [41], hence this attack path. The first step though is
to disassemble the different components of the target IVI system before an
attacker can access potential available debugging ports.
Attack path 7 was produced to realize threat scenario 6. To capture network
traffic going through the Wi-Fi interface of the IVI system, an attacker needs
to be at a medium to close distance from the target IVI system and have access
to the router to which the IVI system is connected. This is accomplished
by following the same steps 1-2 of attack path 5. Subsequently, an attacker
can start capturing traffic to then analyze it and search for potential sensitive
information in it which if found would compromise the cybersecurity property
of the asset.
38 | Threat Model
1 2
1. An attacker performs steps 1-2 of attack path 1.
2. Uses a fuzzing tool to crash the Bluetooth interface.
2 3
1. An attacker locally gets access to the IHU and connects
to it through USB.
2. Uses adb potentially available in the IHU to obtain a
shell in the OS.
3. Performs privilege escalation techniques to compro-
mise the OS.
4. Searches for sensitive information.
3 4
1. An attacker locally gets access to the IHU and connects
to it through USB.
2. Creates a malicious app that can extract information
exported by the pre-installed apps on the IHU.
3. Installs the app on the IHU through adb potentially
available on the unit.
4. Uses the app to extract potential sensitive information
exported by the pre-installed apps on the IHU.
Threat Model | 39
4 5
1. An attacker gets into the vicinity of the target Wi-Fi
interface of the IVI system.
2. Sets up an evil twin Wi-Fi network to potentially get
the IVI system to connect to it. This could be done in
a public space, for example, a gas station.
3. Tries to exploit the open port on the IVI system with
port number 13402 to potentially obtain a shell in the
OS.
4. Searches for sensitive information.
5 6
1. An attacker disassembles all of the components in the
IVI system to access the PCB(s) in them.
2. Searches for available debugging ports such as JTAG
and UART on the PCBs.
3. Connects to all available debugging ports.
4. Potentially extracts the firmware of the IVI system’s
components.
6 7
1. An attacker performs steps 1-2 of the attack path 5.
2. Starts capturing traffic on the Wi-Fi router.
3. Analyses the traffic captured to find potential sensitive
information.
Chapter 6
This chapter will first describe the tools and equipment used during the
project, and the work which was performed in the vulnerability analysis
stage (see section 3.1.4). Then, all of the penetration tests conducted on the
target IVI system are described, which correspond to the exploitation and
post exploitation stages (see sections 3.1.5 and 3.1.6). The steps, results,
and discussion of each penetration test will be described in this chapter.
Additionally, an introduction is provided for each penetration test, and a more
specific background is given for some of the penetration tests.
A laptop running the Linux distribution Ubuntu version 20.04 LTS was
used during the project. A Samsung Galaxy S8 smartphone was also used,
especially in Bluetooth-related penetration tests.
Nmap
Nmap which stands for Network Mapper is a common penetration testing tool
that is used to discover, manage and monitor networks [42]. It can be used
to find available hosts in a network and information about them such as their
hostnames and what OS they are running. A common task is to use Nmap for
finding open ports used by services on a host where it also tries to determine
the name and version of the services.
Penetration Testing: Steps, Results & Discussion | 43
sdptool
l2ping
adb
MobSF
Ubertooth One
Telnet
Telnet is a network application protocol that is used for remote terminal access
on another machine [48]. Telnet uses the default port number 23. The
connection between the client and server is not encrypted.
Wireshark
Wireshark is one of the most widely used network traffic analyzers available
that support over several hundred protocols [49]. It can be used to live capture
network traffic but also analyze already captured traffic. A user can filter
packets based on, for instance, the IP address or protocol.
Penetration Testing: Steps, Results & Discussion | 45
tcpdump
jadx
Drozer
written by the same creator of the script. If the script finds any technique that
potentially allows an elevation of privilege on a machine it is highlighted by
the script.
The script was first transferred to the IHU through adb and then executed.
No high probability privilege escalation techniques were found by the script.
However, the script indicated a few possible lower probability privilege
escalation techniques to examine, but all of these were false positives. Some
useful information about the IHU was obtained by using the script. It was
discovered the IHU had Netcat installed. The script also listed the network
interfaces of IHU where one was called modem_oem0 and was assigned an
IP address to a subnet only consisting of 2 hosts. It was believed that this
subnet was used for communication between the IHU and the TCAM.
Figure 6.2: A sample MobSF scoreboard for one of the APKs from the IHU.
The IHU had a Bluetooth interface that was used to, for instance, play music
and make calls from a smartphone. The goal of this penetration test was
48 | Penetration Testing: Steps, Results & Discussion
Background
A script called Bluetooth DOS-Attack Script [58] from GitHub was used in
this test. This script tries to make it impossible for new devices to connect to
the target and does not affect the already established connections. It does this
by using l2ping with the flood option and targets the L2CAP layer. When the
script is started, it takes the following three inputs: target Bluetooth address,
size of the packages, and the number of threads that will send packages to the
target at the same time. In the README of the GitHub repository, there is a
table showing the results of Bluetooth DoS attacks performed using the script
with different values on the package size and the number of threads.
Steps
To use this script, the target Bluetooth address was needed which was obtained
by reading on the IHU box where it was printed. This was also the same
Bluetooth address as stated in the “About” view in the settings of the IHU. The
script was executed on one laptop that performed the Bluetooth DoS attacks.
The table in the README was used as guidelines for setting the package size
and the number of threads. In all attempted DoS attacks, a package size of 600
was used since a greater value resulted in failed sends. The following values
on the number of threads were used: 10, 50, 100, 200, 500, and 1000. For
each time the script was run with different values, a smartphone was used that
tried to establish a Bluetooth connection to the IHU.
Results
In all attempted Bluetooth DoS attacks, the smartphone was able to establish a
connection to the IHU. This meant the IHU withstood all performed Bluetooth
DoS attacks. However, when the number of threads was increased from 10 to
100, the response time increased from 40 ms to 500 ms on average.
Penetration Testing: Steps, Results & Discussion | 49
Discussion
Only one computer was used to perform the DoS attack against the Bluetooth
interface of the IHU which did affect the availability of the interface. Using
more computers simultaneously attacking the Bluetooth interface might have
resulted in the IHU not withstanding the attack and made the interface
unavailable for devices to connect to it.
It is important that the Bluetooth interface withstood the DoS attacks. A
driver that cannot connect his/her phone to the IHU over Bluetooth for making
hands-free phone calls then could choose to use one hand for holding the
phone and reduces the capacity of maneuvering the vehicle on the road if an
unexpected event would occur. Thus, if the IHU had not withstood the DoS
attack, it would have posed a greater risk, although quite a small increase, of
endangering the driver and other people on the road.
Amongst the steps in attack path 1, only step 2 was not executed in this
penetration test. This was because physical access to the IVI system was
available from which it was obtained. However, in reality, an attacker will
often not have this access and needs to perform step 2.
6.3.2 Fuzzing
Introduction
The attack vector for this penetration test was fuzzing. The goal was to
remotely fuzz the Bluetooth interface of the IHU to find out if the interface
crashed or in some other way failed.
The motivation for performing this penetration test is threat scenario 1.
Furthermore, the steps in attack path 2 are used as guidelines for this
penetration test.
Background
A fuzzer called Bluetooth Stash Smasher [59, 60] was used in this penetration
test. The Bluetooth Stack Smasher fuzzer targets the L2CAP layer by sending
malicious packets to it. After a malicious packet is sent, Bluetooth Stack
Smasher uses l2ping to check if a host is still responding to pings and if
not it returns that a potential crash was detected. Bluetooth Stack Smasher has
multiple different modes, in total 13, such as L2CAP full header fuzzing and
L2CAP random fuzzing, and there is an option to use all modes in a performed
fuzz test. Multiple options exist including setting the size of the packets and
50 | Penetration Testing: Steps, Results & Discussion
the max crash count before stopping. The target Bluetooth address needs to
be specified when starting the Bluetooth Stash Smasher.
Steps
The target Bluetooth address needed by Bluetooth Stash Smasher was already
known from another penetration test (see section 6.3.1). A max crash count
value of zero was chosen to not accept any crashes. The packet size used
was 10 bytes since this was the same value that the Bluetooth Stack Smasher
used in an example fuzz test. Furthermore, a packet size of 600 bytes was also
used to examine how the Bluetooth interface handled larger malicious packets,
potentially with a greater chance of a successful crash. The reason for using
just a packet size of 600 bytes and not a greater value was because otherwise
l2ping would return a message not sent which results in the Bluetooth Stack
Smasher believing a response was not sent from the target and that a crash
occurred. All available Bluetooth Stash Smasher modes were separately used,
i.e., each mode was used in separate fuzz tests instead of performing only one
fuzz test going through each mode which could be selected as an option, to
thoroughly fuzz test the L2CAP layer. Each fuzz test with one mode was run
for approximately half an hour because of time limitations.
Results
For fuzz tests with a packet size of 10 bytes, the Bluetooth Stack Smasher
reported multiple potential crashes except when using the L2CAP random
fuzzing mode which did not result in any reported crashes. However, the
reported crashes seemed to be false since it was possible to still connect
a smartphone over Bluetooth to the IHU and there was no sign on the
touchscreen connected to the IHU of anything erroneous. There was no
difference when using a packet size of 600 bytes. Overall, the Bluetooth
interface of the IHU was not affected by the fuzz tests performed by the
Bluetooth Stack Smasher.
Discussion
The validity of the results from this penetration test is poor because the
Bluetooth Stack Smasher did not seem to perform any good fuzz tests against
the L2CAP layer in the Bluetooth stack used by the IHU. The Bluetooth Stack
Smasher reported multiple crashes when there was no sign of any failure.
Hence, other fuzz testers were considered such as the Bluetooth RFCOMM
Penetration Testing: Steps, Results & Discussion | 51
fuzzer [61] but not tried since those found were either based on the Bluetooth
Stack Smasher or did not perform remote Bluetooth fuzzing.
Regardless of the poor validity of the results, it is important that a
Bluetooth stack withstands fuzz tests. A Bluetooth stack that fails because of
malformed packets received could result in an IVI system rebooting which was
the case in [15]. A reboot of the IVI system affects its availability, although
only shortly but could, for example, make a driver miss a turn from not being
able to use the navigation which in turn could lead to the use of more fuel.
Background
The Ubertooth One tool was used in this penetration test to sniff the LAP.
Once the LAP of a Bluetooth address is found, Ubertooth One can also find
the UAP. This means that the Ubertooth One can find the SAP of a Bluetooth
address [47].
Steps
First, the Bluetooth on the IHU was turned on and a smartphone was
connected to it. The smartphone was used to generate some Bluetooth
traffic. Subsequently, the Ubertooth One was connected to a laptop via USB,
and passive LAP monitoring was started. Multiple monitoring tests were
performed to ensure that all traffic in the vicinity was captured. Then, the
LAPs in the captured traffic were analyzed and compared against the actual
LAP. After a successful match with the actual LAP, the Ubertooth One could
then be used to find the UAP. When the SAP (LAP and UAP) was found, it was
easy to figure out the complete Bluetooth address of the IHU since the NAP
is the same for all IHUs from Aptiv.
52 | Penetration Testing: Steps, Results & Discussion
Results
This pen test was successful since it was possible to discover the address to the
Bluetooth interface of the IHU by using the Ubertooth One tool. The SAP of
the Bluetooth address was obtained and together with the same NAP assigned
to all IHUs from Aptiv, the full Bluetooth address could be found without
physical access to the IHU.
Discussion
The results from this penetration test seem to be reliable since the Ubertooth
One was able to capture the LAP and UAP several times in different
monitoring tests. Alone, the results are insignificant and do not have any direct
consequences, however, an attacker being able to use the Ubertooth One to find
the address to the Bluetooth interface of the IHU is needed to perform attacks
such as those described in sections 6.3.1 and 6.3.2 where the address must be
known. In a realistic scenario, performing Bluetooth-related attacks where the
address is needed, finding the address is usually amongst the first steps of an
attack path, which the results show can be achieved by using the Ubertooth One
tool, given that the attacker is in the vicinity of the target Bluetooth interface.
Therefore, the Ubertooth One tool can be used when performing step 2 of
attack path 1.
Introduction
During the information gathering stage, it was discovered that the IVI system
had an open port with port number 13402 of which Nmap could not identify
the service (see section 4.2.1). The goal of this penetration test was to explore
this port and examine if it was possible to exploit it and gain access to the IVI
system.
The steps in attack path 5 (see table 5.4) are used as guidelines for this
penetration test.
Steps
The IVI system and a laptop were first connected to the same controlled Wi-Fi
network. The IP address of the IVI system was obtained in the same way as
described in section 4.2.1.
Penetration Testing: Steps, Results & Discussion | 53
Previous research has found an open Telnet port on an IVI system that
was used to communicate with the CAN bus in the vehicle [4]. Telnet was
on port number 6667 on the IVI system they investigated. The default Telnet
port number is 23 but it is possible to configure this and use Telnet on other
port numbers. This would explain why Nmap could not identify the service
that used port number 13402 on the target IVI system. Therefore, Telnet was
tried on this port. The telnet command was executed on the laptop with
the IP address of the IVI system and port number 13402 which resulted in an
established connection. However, shortly after when trying to enter a Linux
command such as ls, the connection was closed by the IVI system. This
was tried multiple times with different Linux commands after an established
connection but the IVI system always closed the connection.
The network port number 13402 was then searched on the internet to learn
about other potential services using this port. However, no common service
using this port was found.
Results
A connection was established by connecting to the open port 13402 on the
IVI system with Telnet. However, shortly after trying to exploit it and passing
Linux commands, the IVI system closed this connection. Further analysis of
this open port did not lead to any findings of other common services using it.
Therefore, the open port 13402 on the IVI system was not exploited during the
project.
Discussion
The results which show that it was not possible to connect to the open port
using Telnet are reliable since this was thoroughly tested. However, there
is probably some known service that uses this open port that could not be
determined during this test. One far-fetched idea that was never tired was that
this port was used by a service called Diagnostic communication over Internet
Protocol (DoIP), a protocol for performing automotive diagnostics over IP,
since its common port number is 13400 which is close to the open port number
13402 [62].
In attack path 5, step 2 describes how an attacker could get on the same
network to which the IVI system is connected by setting up an evil twin Wi-Fi
network. This was not performed in this penetration test, as the main objective
was to exploit the open port discovered. Setting up an evil twin network is not
54 | Penetration Testing: Steps, Results & Discussion
Introduction
It was of interest to examine the IVI system’s network traffic when connected
to a Wi-Fi network, potentially revealing sensitive information. Therefore, it
was decided to sniff this traffic.
The motivation for performing this penetration test is threat scenario 6,
identified in the TARA (see section 5.3). Furthermore, the steps in attack path
7 are used as guidelines for this penetration test.
Steps
The IVI system and a laptop were first connected to the same controlled Wi-Fi
network, and the IP address of the IVI system was obtained in the same way as
described in section 4.2.1. Then, using SSH the laptop was connected to the
router on this Wi-Fi network. Traffic going through the router including the
IVI system’s traffic was captured using tcpdump and saved to a .pcap file.
Wireshark was then used to analyze the traffic captured.
The IP address of the IVI system was used as a filter to only display the
IVI system’s traffic in Wireshark. Traffic going through the open port 13402
on the IVI system was first searched for by filtering on this port, but no traffic
could be observed.
Another filtering method was then tried that consisted of searching
for specific strings in packets containing the following strings: volvo,
volvocars, and vcc. Multiple packets containing the string volvocars were
found, all of them being DNS packets querying for the following hostname:
inet.connect.c3.volvocars.com. The response to these DNS queries contained
IP addresses to several Amazon CloudFront servers.
Then, packets containing application data were searched. Multiple packets
that were captured contained application data, however, encrypted by the
Penetration Testing: Steps, Results & Discussion | 55
Transport Layer Security (TLS) protocol. So, no unencrypted data was found
in the captured traffic potentially containing sensitive information.
Results
No sensitive information was found by performing network sniffing and
analyzing the traffic captured. However, a hostname related to Volvo Cars
was discovered.
Discussion
The results show that no major sensitive information was found. But if more
traffic was captured for a longer period, the results might have been different,
and more significant sensitive information could have been found.
In this penetration test, the IVI system was physically accessible to connect
it to a controlled Wi-Fi network and then capture its network traffic. However,
in a realistic scenario, when an attacker wants to capture the IVI system’s
network traffic, the attacker can first perform an evil twin attack and set up
a fake Wi-Fi network to which a victim connects the IVI system. Another
realistic attack path would be to first perform a Man-in-the-Middle (MITM)
attack where an attacker gains access to a poorly secured Wi-Fi router in a
public area to which the IVI system is connected and then start to capture its
traffic. For example, the IVI system could be connected to a public Wi-Fi
network when the vehicle is being refueled.
The steps in attack path 7 correspond quite well with the steps which were
taken in this penetration test, except for the step of setting up an evil twin
Wi-Fi network (which has already been described as why it was not done).
Therefore, it can be said that the steps of attack path 7 serve well as guidelines
to realize threat scenario 6.
Introduction
MobSF found a few false positive secrets described in section 6.2.2. It was of
interest to further examine the already pulled APKs from the IHU for sensitive
information, that MobSF might have missed, and other resources included
such as images. To examine the APKs, they needed to be decompiled into
human-readable format.
56 | Penetration Testing: Steps, Results & Discussion
Steps
The jadx tool and its GUI were used to decompile the APKs and examine
them. First, the strings in the resource directory of the APKs were gone
through. Following the results from MobSF, there were no strings containing
any sensitive information such as passwords, API keys, or tokens. Some APKs
contained images in the resource directory but none of these showed anything
secret. Then, the following strings were used in text searches on all the files in
the APKs: username, password, API key, and token. The reason for doing this
was to find text containing these strings in other places such as comments and
code. There were multiple hits on the strings username and password but all of
these were included in method and variable names, and not any text together
with actual values.
Results
Using the jadx tool it was possible to decompile APKs from the IHU and
examine most of the content in them. But no sensitive information was found
in any of the decompiled APKs which was the goal of this pen test.
Discussion
The results show that no sensitive information was found in any of the APKs.
However, since not all of the available APKs were pulled from the IHU in
section 6.2.2 which were the same APKs examined in this penetration test,
there could be other APKs containing sensitive information. Moreover, there
could also have been sensitive information in the examined APKs which was
missed. Using another method of not just searching after specific strings in all
of the files in the APKs and instead, for instance, going through each file in
the APKs could have resulted in findings of sensitive information.
It is important that no APKs, regardless if they are installed on the IHU,
contain any sensitive information since APKs can easily be decompiled with
tools such as jadx and gone through. The consequences of finding sensitive
information in APKs could be serious, for example, finding an API key to an
API that costs to use could be used by an attacker to impose the creators of the
application to pay the cost.
Penetration Testing: Steps, Results & Discussion | 57
Introduction
In the vulnerability analysis stage, MobSF showed that multiple APKs pulled
from the IHU potentially contained vulnerabilities of exported Activities and
Content Providers, described in section 6.2.2. Therefore, the goal of this
penetration test was to exploit exported Activities and Content Providers of
apps on the IHU using the tool Drozer.
The steps in attack path 4 (see table 5.4) are used as guidelines for this
penetration test.
Background
The following list shows the most important Drozer modules [52] that were
used in this penetration test and a brief description of them:
Steps
A laptop and the IHU were first connected over USB and by using adb the
Drozer Agent was installed on the IHU. Subsequently, the Drozer Agent server
was started on the IHU to which the laptop was connected and a Drozer session
was created. The available Android apps on the IHU were then listed using
module (1) to obtain their names.
58 | Penetration Testing: Steps, Results & Discussion
Module (2) was used on most of the available apps on the IHU which
showed the activities exported by them. Since there were many apps on the
IHU where most of them had several exported activities, a selection had to be
made because of time limitations. Only apps that were believed to potentially
have some kind of authentication process such as a login screen were selected.
Some of the exported activities in the selected apps overlapped with results
from MobSF (see section 6.2.2). Using module (3), the selected exported
activities were called from the Drozer Agent app. When each exported activity
was called, the touchscreen went from showing the main activity in the Drozer
Agent app to the activity called in another app. However, no activity reached
by exploiting it being exported bypassed any authentication process and did
not contain any sensitive information.
The next step was to try and exploit exported content providers of apps
on the IHU. Module (4) was used which found multiple accessible content
providers and URIs which are shown in figure 6.3. Then, all of the URIs
found were queried using (5) to examine what data the tables they pointed to
contained. Most of the tables were empty, but a few tables contained some
information, however, not revealing any sensitive or useful information.
Module (6) was then used which found several content providers
vulnerable to SQL injection, and their URIs are shown in figure 6.4. Some
Penetration Testing: Steps, Results & Discussion | 59
of the URIs pointed to the same table. Ultimately, there were only two tables
to which the URIs pointed. The following shows the simplest form of the URIs
that pointed to the two tables: content://carrier_information
and content://com.google.settings/partner. All of the steps
described in the next paragraph were done on both these URIs but will only
be explained for the former URI as an example.
the content provider. The database queried was discovered to store two tables
of which one was the table already known and the second, a previously hidden
and inaccessible table named android_metadata. This table was queried
as shown in figure 6.8 but did not contain any sensitive information.
Figure 6.5: Queried content URI for examination of the table fetched.
Figure 6.6: The content provider manually tested for SQL injection abusing
the projection and selections fields in two separate queries.
Figure 6.7: SQL injection on the content provider results in all of the tables
in the database being shown. The image has been cropped to improve the
readability of the text in it.
Results
Many apps on the IHU were found to be exporting activities but none of
the activities selected to be called from the Drozer Agent bypassed any
Penetration Testing: Steps, Results & Discussion | 61
Figure 6.8: SQL injection on the content provider results in the contents of a
previously hidden and inaccessible table being shown.
authentication. This meant that none of the selected exported activities posed
any threat.
Multiple exported content providers from apps on the IHU were also
found but none of the tables to which they pointed contained any sensitive
information. Moreover, two exported content provider was found to be
vulnerable to SQL injection which was exploited and resulted in the finding
of several hidden tables, however, not containing any sensitive information.
Discussion
As only some exported activities from other apps on IHU were selected
to be called from the Drozer Agent app with the goal of bypassing some
authentication process, the results cannot be fully validated. The results
showed that no activity reached in any of the apps posed any threat but since
not all of the activities were not tested there could be other exported activities
from apps on the IHU which are vulnerable to this attack.
A successful attack of exploiting exported activities could have serious
consequences depending on the activities reached. An activity that should only
be accessed after some authentication process results in an attacker getting
unauthorized access to parts of an app and potentially obtaining sensitive
information that could be leaked.
The results show that two exported content providers from apps on the
IHU were vulnerable to SQL injection, but that the exploitation of them did
not result in any further findings of sensitive information. Thus, the SQL
injection attacks were unsuccessful since no sensitive information was found.
However, the results are still important because they show that exploiting
content providers vulnerable to SQL injection is a possible attack vector
that could have serious consequences, for example, data breaches. When
developers create apps for the IHU, they need to know that exported content
providers could be exploited.
Exploiting activities and content providers exported by apps on the IHU
require that a malicious app is also installed on it. In this penetration test, the
Drozer tool was used and the Drozer Agent app was installed on the IHU to
62 | Penetration Testing: Steps, Results & Discussion
simulate a malicious app. Any app installed on the IHU could exploit the
activities and content providers found in this penetration test. The Drozer
Agent app could be installed on the IHU because of physical access to the
IHU and the possibility to use adb. However, in a realistic scenario, an
attacker could get a malicious app to exploit the activities and content providers
installed either through social engineering or physical access to the IHU and
the vehicle. The latter would correspond to step 3 of attack path 4.
When comparing the steps taken in this penetration test to steps described
in attack path 4, they are quite similar overall. However, step 4 of attack path 4
is quite unspecific since as shown in this penetration test, multiple steps were
required to be executed before, for instance, the content providers could be
exploited.
Discussion | 63
Chapter 7
Discussion
This chapter will first discuss the validity of the results of this thesis and
compare them to previous research. Additionally, the limitations of this thesis
affecting the results are discussed. Then, the method chosen for this thesis is
discussed, including a TARA analysis comparison with the penetration testing.
Finally, sustainability and ethical aspects of the work done are discussed.
remote attack is more valuable which means that it is more critical to perform
penetration tests that are remote. Thus, the results of the thesis could have
been strengthened if the internet connectivity issue would have been solved
earlier.
Compared to the security of other IVI systems evaluated in previous
research (described in section 2.7), the IVI system from Volvo Cars had a
high level of security. While previous research [4, 27, 28] found multiple open
network ports on the IVI systems which they were able to exploit, the target IVI
system from Volvo Cars only had one open port which was not exploited during
the project. Furthermore, the Bluetooth penetration tests in this thesis did not
affect the availability of the Bluetooth interface of the IHU in the IVI system
which was possible in [15] where they got their IHU to reboot by attacking the
Bluetooth interface. In article [17], they were able to obtain the firmware of
the TCU, and in this project, both the IHU and the TCAM were disassembled
to potentially find debugging ports and extract the firmware, but no ports were
found. Exported content providers from apps on the IHU were found to be
vulnerable to SQL injection which was exploited, though not resulting in any
findings of sensitive information. This corresponds with the results of article
[25] which showed that many Android apps are vulnerable to attacks where
inter-component communication, offered by content providers, is exploited.
One successful attack vector in [16] was the web browser, but since the IHU
in the IVI system from Volvo Cars did not have a pre-installed web browser, nor
amongst the downloadable apps from Google Play, Volvo Cars have removed
the possibility to attack their IVI system through a web browser which makes
it more secure.
Since no major vulnerabilities were found in the thesis, the hypothesis (see
section 1.1.2) is considered incorrect. However, further penetration testing of
the IVI system from Volvo Cars might change this and validate the hypothesis.
stages is similar and that is the reason why they are all included in the
penetration testing chapter (6).
Amongst the seven stages, the threat modeling stage deviated the most
from Weidman’s methodology since the ISO/SAE 21434 TARA constituted
this stage. The main reason the ISO/SAE 21434 TARA was employed is
that it considers safety compared to other threat modeling methods, but also
because it is adapted for automotive cyber threats. Learning to perform TARA
according to the ISO/SAE 21434 took some time but once learned it provided
a well-thought-out way of identifying damage and threat scenarios and rating
their impact and feasibility. One drawback of the ISO/SAE 21434 TARA is
that it is manually carried out. This made it harder to keep track of all scenarios
and ratings. Other threat modeling methods have tools such as Microsoft
Threat Modeling Tool [63] which helps with this.
All of the penetration tests in this thesis were performed in attempts
to compromise the cybersecurity properties of all assets identified in the
TARA. However, none of the penetration tests compromised the cybersecurity
properties of the assets. For example, the Bluetooth DoS attack which was
performed in one penetration test did not affect the availability of the Bluetooth
interface, and the penetration testing on the open port of the IVI system to
obtain private information in the IHU was unsuccessful and did not result in
the compromise of the confidentiality property of the asset. Furthermore, the
two content providers which were found to be vulnerable to SQL injection and
then exploited in one penetration test did not result in any findings of sensitive
information and thus, this test did not compromise the confidentiality property
of the asset. Therefore, based on the results of all the penetration tests in this
thesis, the assets in the IVI system which were identified are secure.
Generally, the attack paths from the TARA were helpful when planning and
carrying out the penetration tests in the thesis. Note that discussions regarding
the similarity between steps described in the attack paths and the actual steps
taken in the penetration tests have already been described in chapter 6.
The risk values from the TARA (see tables 5.6 and 5.7) will now be
compared to actual risk based on the results of the penetration test in this
thesis. The threats with the highest risk values were the exploitation of the
open port on the IVI system (threat scenario 4) and the extraction of sensitive
information from the IVI system’s network traffic (threat scenario 6). Two
penetration tests (see sections 6.4 and 6.5) were performed which are related
to these threats. Both penetration tests were unsuccessful and did not realize
the threats. Therefore, the risk for these two threats is less than indicated by
the risk values.
66 | Discussion
A risk value of 2 was determined for attack paths 1 and 2 realizing threat
scenario 1. This scenario describes the threat of crashing the Bluetooth
interface of the IVI system to make it unavailable. Both fuzzing and DoS
attacks were performed in two penetration tests to realize the threat but neither
of them was successful. Therefore, the risk value for this threat scenario and
the two attack paths should be reduced to 1 which is the lowest risk value. It is
worth mentioning here again that this is based on the result of this thesis and
could change with other penetration tests trying to realize the same threat.
The threat of extracting private information from pre-installed apps on IHU
(threat scenario 3) was assessed to have a risk value of 2. The penetration test
related to this threat which consisted of the exploitation of content providers
did not result in any finding of any private information. Therefore, the risk
value for this threat should be reduced to 1 despite having found content
providers that were vulnerable to SQL injection.
Multiple assets, damage and threat scenarios were identified, and multiple
attack paths were produced, in the threat modeling stage (see chapter 5).
However, the threat model in this thesis should not be considered exhaustive.
More assets, damage and threat scenarios can be identified, and other attack
paths can be produced which realize the threat scenarios identified in this
thesis. It is impossible to cover all of them, and this thesis only included the
ones which were relevant to the penetration tests in this thesis. Moreover, some
attack surfaces such as the cellular interface were not considered in the threat
model because of the limitations stated in section 1.6.
thesis, produces IVI systems with a high level of security that improves social
sustainability.
One aspect of social sustainability is related to people’s health and well-
being. Several hidden tables not indented to be accessed in databases were
found in the thesis by exploiting SQL vulnerable content providers exported
from apps on the IHU in the IVI system from Volvo Cars. Although no
sensitive information was found, this could raise awareness amongst Android
developers at Volvo Cars, and all Android developers, that adversaries can
exploit content providers and potentially find sensitive information. Malicious
use of such information could negatively affect the health and well-being of
individuals. Thus, one might argue that the results of this work could help to
improve social sustainability.
One ethical consideration is the law. As already stated in section 1.4, it
is according to the Swedish Criminal Code [8] illegal to hack a system in
Sweden without the owner’s permission. For this project, a non-disclosure
agreement (NDA) was signed with Volvo Cars in order to legally perform
penetration testing on their IVI system. Any vulnerabilities found during the
project needed to first be communicated to Volvo Cars for them to patch them
before this thesis was published. Therefore, although no major vulnerabilities
were found during the project, all of the vulnerabilities and findings were first
shared with Volvo Cars. This thesis has been approved by Volvo Cars for
publication. Since the scope of this NDA was the IVI system, no other services
were penetration tested. For example, the Volvo Cars app was not tested even
though it communicated with cars from Volvo.
68 | Conclusion
Chapter 8
Conclusion
Chapter 9
Future Work
Penetration Testing
• Perform LTE hacking and penetration test the cellular interface of the
IVI system. For example, setting up a rogue base station could be
attempted to possibly get the IVI system to connect to it instead of a
legitimate base station. This would allow to capture the traffic going
through the cellular interface and analyze it. Furthermore, it could allow
for interception and modification of the transmission between the IVI
system and a potential backend server to in the end possibly gain control
of the IVI system. Moreover, jamming LTE signals could be performed
to affect the availability of the IVI system’s internet connection.
• Conduct penetration testing of the IVNs on the rig from Volvo Cars
which was not part of this thesis. Reverse engineer messages on one or
more of the available IVNs on the rig and then injecting messages into
these IVNs could be attempted to then try and control ECUs on the rig.
This is important to penetration test since an ECU that can be controlled
by an adversary could result in life-threatening injuries if performed on
a safety-critical ECU when a vehicle is used on the road. Although
there was no safety-critical ECU on the rig, the IVNs are likely to be
connected to safety-critical ECUs in the real vehicles from Volvo Cars.
• One attack surface of the IVI system that could be penetration tested is
the radio (AM/FM and DAB). Often radio stations send out some text
information in addition to audio such as the name of the station and the
title of the song playing, which is then displayed on the screen of an
70 | Future Work
IVI system. This data needs to be parsed where there might be some
vulnerability.
• The open network port on the IVI system, which was discovered but not
exploited in this thesis, could be further analyzed and penetration tested.
Threat Modeling
• Model threats against the cellular interface and the radio of the IVI
system by employing the ISO/SAE 21434 TARA.
References
[1] Alissa Knight. Hacking connected cars: tactics, techniques and proce-
dures. Indianapolis, Indiana: Wiley, 2020. 238 pp. isbn: 9781119491804.
[2] Georgia Weidman. Penetration testing: a hands-on introduction to
hacking. San Francisco: No Starch Press, 2014. 495 pp. isbn:
9781593275648.
[3] Karl Koscher et al. “Experimental Security Analysis of a Modern
Automobile”. In: 2010 IEEE Symposium on Security and Privacy. 2010
IEEE Symposium on Security and Privacy. ISSN: 2375-1207. May
2010, pp. 447–462. doi: 10.1109/SP.2010.34.
[4] Charlie Miller and Chris Valasek. “Remote exploitation of an unaltered
passenger vehicle”. In: Black Hat USA. Vol. 2015. Las Vegas, 2015.
[5] Benjamin Eriksson, Jonas Groth, and Andrei Sabelfeld. “On the
Road with Third-party Apps: Security Analysis of an In-vehicle App
Platform:” in: 5th International Conference on Vehicle Technology and
Intelligent Transport Systems. Heraklion, Crete, Greece: SCITEPRESS
- Science and Technology Publications, 2019, pp. 64–75. isbn:
9789897583742. doi: 10 . 5220 / 0007678200640075. url:
https : / / www . scitepress . org / DigitalLibrary /
Link.aspx?doi=10.5220/0007678200640075 (visited on
03/07/2022).
[6] Alexander Palm and Benjamin Gafvelin. “Ethical Hacking of Android
Auto in the Context of Road Safety”. Bachelor’s. KTH, School of
Electrical Engineering and Computer Science (EECS), 2021. url:
http://urn.kb.se/resolve?urn=urn:nbn:se:kth:
diva-299647 (visited on 03/07/2022).
[7] International Organization for Standardization and SAE International.
Road vehicles — Cybersecurity engineering (ISO/SAE 21434). Stan-
dard. Clause 15. Geneva, CH, Aug. 2021, p. 88.
72 | References
[17] Minrui Yan, Jiahao Li, and Guy Harpak. “Security Research on
Mercedes-Benz: From Hardware to Car Control”. In: Black Hat USA.
2020. url: https : / / www . blackhat . com / us - 20 /
briefings / schedule / #security - research - on -
mercedes - benz - from - hardware - to - car - control -
20746 (visited on 03/09/2022).
[18] Sotirios Katsikeas. “vehicleLang: a probabilistic modeling and simula-
tion language for vehicular cyber attacks”. Master’s. 2018. 92 pp. url:
http://urn.kb.se/resolve?urn=urn:nbn:se:kth:
diva-232182 (visited on 03/25/2022).
[19] Cory Beard and William Stallings. Wireless communication networks
and systems. In collab. with Mohit Tahiliani. Global edition. Always
learning. Chapter 12. Boston Columbus Hoboken Indianapolis New
York San Francisco Amsterdam Cape Town Dubai London Madrid
Milan Munich Paris Montreal Toronto Delhi Mexico City São Paulo
Sydney Hong Kong Seoul Singapore Taipei Tokyo: Pearson, 2016.
605 pp. isbn: 9781292108711.
[20] What is Bluetooth Address (BD_ADDR). Bluetooth MAC Address
Changer for Windows. url: https : / / macaddresschanger .
com/what- is- bluetooth- address- BD_ ADDR (visited on
05/09/2022).
[21] App Manifest Overview. Android Developers. url: https : / /
developer . android . com / guide / topics / manifest /
manifest-intro (visited on 05/13/2022).
[22] Introduction to Activities. Android Developers. url: https : / /
developer . android . com / guide / components /
activities/intro-activities (visited on 05/13/2022).
[23] Content provider basics. Android Developers. url: https : / /
developer . android . com / guide / topics / providers /
content-provider-basics (visited on 05/14/2022).
[24] Ettore Galluccio, Edoardo Caselli, and Gabriele Lombari. SQL
injection strategies: practical techniques to secure old vulnerabilities
against modern attacks. OCLC: 1202027428. Chapters 1 & 2. 2020.
isbn: 9781839217135. url: https : / / search . ebscohost .
com / login . aspx ? direct = true & scope = site & db =
nlebk&db=nlabk&AN=2526559 (visited on 05/16/2022).
74 | References
[25] Abdul Moiz and Manar H. Alalfi. “An Approach for the Identification
of Information Leakage in Automotive Infotainment systems”. In: 2020
IEEE 20th International Working Conference on Source Code Analysis
and Manipulation (SCAM). Adelaide, Australia: IEEE, Sept. 2020,
pp. 110–114. isbn: 9781728192482. doi: 10.1109/SCAM51674.
2020 . 00017. url: https : / / ieeexplore . ieee . org /
document/9252027/ (visited on 03/08/2022).
[26] Stephen Checkoway et al. “Comprehensive Experimental Analyses of
Automotive Attack Surfaces”. In: USENIX Security. SEC’11. San
Francisco, CA: USENIX Association, 2011.
[27] Edwin Franco Myloth Josephlal and Sridhar Adepu. “Vulnerability
Analysis of an Automotive Infotainment System’s WIFI Capability”. In:
2019 IEEE 19th International Symposium on High Assurance Systems
Engineering (HASE). Hangzhou, China: IEEE, Jan. 2019, pp. 241–246.
isbn: 9781538685402. doi: 10.1109/HASE.2019.00044. url:
https://ieeexplore.ieee.org/document/8673049/
(visited on 03/09/2022).
[28] Computest. Research paper: The connected car - ways to get
unauthorized access and potential implications. Technical report. 2018.
[29] Ling Liu, Sen Nie, and Yuefeng Du. “Free-Fall: Hacking Tesla from
Wireless to CAN Bus”. In: Black Hat USA. Las Vegas: Tencent Keen
Security Lab, 2017. url: https : / / www . blackhat . com /
us - 17 / briefings / schedule / #free - fall - hacking -
tesla - from - wireless - to - can - bus - 6415 (visited on
03/09/2022).
[30] Craig Smith. The car hacker’s handbook: a guide for the penetra-
tion tester. San Francisco: No Starch Press, 2016. 278 pp. isbn:
9781593277031.
[31] Aileen G Bacudio et al. “An overview of penetration testing”. In:
International Journal of Network Security & Its Applications. Academy
& Industry Research Collaboration Center (AIRCC) 3.6 (Nov. 2011),
p. 19.
[32] The Penetration Testing Execution Standard (PTES). url: http://
www . pentest - standard . org / index . php / Main _ Page
(visited on 03/07/2022).
References | 75
www.kth.se