Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

📚 The CoCalc Library - books, templates and other resources

132928 views
License: OTHER
1
%!TEX root = booka4.tex
2
\section{Angriffe}\label{ch:attack}
3
4
Eine Reihe von elektronischen Systemen wurde zum Diebstahlschutz entwickelt
5
\cite{Song2008,Turner1999,Hwang1997}. Allerdings passen sich auch Diebe an die
6
modernen Gegebenheiten, insbesondere Funk\-schlüssel \cite{Lee2014}, an. Außerdem
7
gehen diese Systeme von einem klassischen Angreifer aus, der sich
8
ausschließlich auf der Hardware-Ebene bewegt.
9
10
Im Folgenden werden in \cref{subsec:can-intern-attackers} zunächst
11
Möglichkeiten von netzwerk-internen Angreifer, d.h.~Angreifern welche
12
physischen Zugang zum CAN-Bus haben, aufgelistet. Es folgt in
13
\cref{subsec:can-extern-attackers} eine Beschreibung wie Angreifer ohne
14
direkten physischen Zugriff auf das Auto sich mit dem CAN-Bus verbinden können.
15
Viele Angriffe nutzen sogenannte Buffer Overflows aus. Diese werden
16
in~\cref{sec:Buffer-Overflow} erklärt. Abschließend folgt in
17
\cref{sec:sicherheitslage} eine Liste konkreter, öffentlich bekannt gewordener
18
Sicherheitslücken.
19
20
Es ist nicht notwendigerweise der Fall, dass alle ECUs am selben CAN-Bus
21
angeschlossen sind. Allerdings müssen einige der Geräte Daten an die OBD-II
22
Schnittstelle senden. Außerdem liegt es aus wirtschaftlichen Gründen nahe
23
möglichst wenige Leitungen zur Datenübertragung zu verlegen.
24
25
26
\subsection{CAN-interne Angriffe}\label{subsec:can-intern-attackers}
27
Koscher~et~al.~haben in \cite{Koscher2010} zwei nicht näher spezifizierte Autos
28
der selben Marke und des selben Modells untersucht. Sie waren in der Lage über
29
den CAN-Bus etliche Funktionen des Autos, unabhängig vom Fahrer, zu
30
manipulieren. Das beinhaltet das Deaktivieren und Aktivieren der Bremsen, das
31
Stoppen des Motors, das Steuern der Klimaanlage, Heizung, Lichter, Manipulation
32
der Anzeigen im Kombiinstrument sowie das Öffnen und Schließen der Schlösser.
33
Durch moderne Systeme wie eCall kann der Angreifer sich sogar einen
34
Kommunikationskanal zu dem Auto aufbauen. Dies setzt allerdings voraus, dass
35
der Angreifer sich bereits im auto-internen Netzwerk befindet.
36
37
\subsection{CAN-externe Angriffe}\label{subsec:can-extern-attackers}
38
In~\cite{Checkoway2011} wurde an einer Mittel\-klasse\-limosine mit
39
Standard\-komponenten gezeigt, dass der Zugang zum auto-internen Netzwerk über
40
eine Vielzahl an Komponenten erfolgen kann. So haben Checkoway~et~al.
41
CD-Spieler, Bluetooth und den OBD-Zugang als mögliche Angriffs\-vektoren
42
identifiziert.
43
44
Bei dem Angriff über den Media Player haben Checkoway~et~al. die Tatsache
45
genutzt, dass dieser am CAN-Bus angeschlossen ist und die Software des
46
Mediaplayers über eine CD mit einem bestimmten Namen und Dateiformat
47
aktualisiert werden kann. Außerdem wurde ein Fehler beim Abspielen der
48
Audio-Dateien genutzt um einen Buffer Overflow zu erzeugen. Es wurde gezeigt,
49
dass dieser genutzt werden kann um die Software des Media-Players zu
50
überschreiben. Über diesen Fehler können alle sicherheitskritischen Funktionen
51
wie beispielsweise das Deaktivieren der Bremsen nach dem Erreichen einer
52
Geschwindigkeit über $\SI[per-mode=fraction]{100}{\km\per\hour}$ vom Angreifer
53
kontrolliert werden. Dafür muss lediglich eine modifizierte Audio-Datei, welche
54
immer noch abspielbar ist, auf der CD sein.
55
56
Der von Checkoway~et~al. durchgeführte Angriff via Bluetooth benötigt ein
57
mit dem Media Player verbundenes Gerät. Dieses nutzt dann
58
\verb+strcpy+-Befehle, bei denen die Puffergrößen nicht überprüft wurden um bei
59
der Bluetooth-Konfiguration aus um beliebigen Code auf der Telematik-Einheit
60
des Autos ausführen zu können. Daher ist das Smartphone des Autobesitzers ein
61
Angriffsvektor.
62
63
Die Bluetooth-Verbindung kann jedoch auch ohne ein verbundenes Gerät für
64
Angriffe genutzt werden. Dazu muss der Angreifer genügend Zeit in der Nähe des
65
Autos verbringen um die Bluetooth-MAC-Adresse zu erfahren. Damit kann er ein
66
Anfrage zum Verbindungsaufbau starten. Diese müsste der Benutzer normalerweise
67
mit der Eingabe einer PIN bestätigen. Checkoway~et~al. haben für ein Auto
68
gezeigt, dass die Benutzerinteraktion nicht nötig ist und die PIN via
69
Brute-Force, also das Ausprobieren aller Möglichkeiten, innerhalb von
70
10~Stunden gefunden werden kann. Allerdings kann dieser Angriff parallel
71
ausgeführt werden. Es ist also beispielsweise möglich diesen Angriff für alle
72
Autos in einem Parkhaus durchzuführen. Bei einem parallel durchgeführten
73
Brute-Force-Angriff ist der erste Erfolg deutlich schneller zu erwarten.
74
75
Die standardisierte und von Automechanikern zu Diagnosezwecken genutzte
76
OBD-Schnittstelle stellt einen weiteren Angriffs\-vektor dar. Für die
77
verschiedenen Marken gibt es Diagnose\-werkzeuge, wie z.B. NGS für Ford,
78
Consult~II für Nissan und der Diagnostic~Tester von Toyota. Diese dedizierten
79
Diagnose\-geräte werden allerdings über PCs mit Aktualisierungen versorgt.
80
Modernere Diagnose\-werkzeuge sind nicht mehr bei der Diagnose vom PC getrennt,
81
sondern werden direkt, über ein Kabel, \mbox{W-LAN} oder Bluetooth, mit einem PC
82
verbunden. Daher stellt die Diagnose- und Aktualisierungs\-tätigkeit von
83
Automechanikern einen weiteren Angriffs\-vektor dar. Wenn der Mechaniker ein
84
Diagnose\-gerät benutzt, welches ein \mbox{W-LAN} aufbaut, so können Angreifer
85
sich mit diesem verbinden und selbst Aktualisierungen durchführen. Außerdem
86
wurde von Checkoway~et~al. gezeigt, dass auch das Diagnose\-gerät selbst so
87
manipuliert werden kann, dass es automatisch die gewünschten Angriffe ausführt.
88
89
Wie in \cref{ch:standards} beschrieben wird eCall-System ab 2018 in Europa
90
verpflichtend eingeführt. Dieses nutzt das Mobilfunknetz zur Kommunikation.
91
Checkoway~et~al. haben gezeigt, dass Telematik-Einheiten von außerhalb des
92
Autos angewählt werden und die Software auf diese Weise aus beliebigen
93
Entfernungen aktualisiert werden kann. Dazu wurden zahlreiche Schwachstellen
94
der Telematik-Einheit von Airbiquitys Modem aqLink genutzt. Dieses Modem wird
95
unter anderem von BMW und Ford eingesetzt \cite{AirbiquityBMW,AirbiquityFord}.
96
97
Ein Angriff auf die Privatsphäre ist mit TPMS möglich. In~\cite{Rouf2010} wurde
98
gezeigt, dass TPMS-Signale zur Identifikation von Autos genutzt werden können.
99
Die Identifikation eines vorbeifahrenden Autos ist aus bis zu \SI{40}{\meter}
100
Entfernung möglich.
101
102
Genauso stellt das Mikrofon, welches wegen eCall ab 2018 in jedem Auto sein
103
muss, eine Möglichkeit zum Angriff auf die Privatsphäre dar.
104
105
106
\subsection{Buffer Overflow Angriffe}\label{sec:Buffer-Overflow}
107
Dieser Abschnitt erklärt anhand eines einfachen Beispiels wie Buffer Overflow
108
Angriffe durchgeführt werden.
109
110
Um Buffer Overflow Angriffe zu verstehen, müssen Grundlagen der Struktur eines
111
Prozesses im Speicher bekannt sein. Diese werden im Detail
112
in~\cite{Silberschatz2005} erklärt.
113
114
Buffer Overflow Angriffe nutzen die Tatsache aus, dass bestimmte Befehle wie
115
beispielsweise \verb+gets+ Zeichenketten in einen Puffer schreiben, ohne die
116
Größe des Puffers zu beachten. \verb+gets+ erhält als Parameter einen Zeiger
117
auf die Startadresse des Puffers. Wenn der Benutzer eine längere Eingabe macht
118
als der Puffer erlaubt, so wird in nach\-folgende Speicher\-bereiche
119
geschrieben. Dies kann an folgendem, aus~\cite{Arora2013} entnommenem und
120
leicht modifiziertem Beispiel beobachtet werden:
121
122
\lstinputlisting[language=C,title=simple.c]{simple.c}
123
124
Kompiliert man dieses Programm mit
125
\texttt{gcc -O0 -fno-stack-protector -g simple.c -o simple}, so kann mit der
126
Eingabe von 16~Zeichen die Variable \texttt{pass} überschrieben werden. In diesem
127
Fall wird deshalb der passwortgeschützte Code-Abschnitt ausgeführt, selbst
128
wenn das eingegebene Passwort fehlerhaft ist.
129
130
Allerdings ist es nicht nur möglich interne Variablen zu überschreiben, sondern
131
sogar beliebigen Code auszuführen. Dies wird in \cite{Mixter} mit einem sehr
132
ähnlichem Beispiel gezeigt und im Detail erklärt. Dabei wird nicht beliebiger
133
Text in den Puffer geschrieben, sondern sogenannter \textit{Shellcode}. Unter
134
Shellcode versteht man Assemblerbefehle, welche in Opcodes umgewandelt wurden.
135
136
137
\subsection{Sicherheitslage in Automobilen bis August 2015}\label{sec:sicherheitslage}
138
Heutzutage ist nicht nur die Hardware von Automobilen durch Diebe und andere
139
Angreifer gefährdet, sondern auch die Software. Die folgenden Beispiele zeigen,
140
dass Angriffe auf die IT in Automobilen nicht nur im akademischen Rahmen
141
auf einige wenige spezielle Modelle durchgeführt werden, sondern dass auch
142
modellübergreifende Angriffe möglich sind.
143
144
Es gibt etliche Automobilhersteller, -marken und -modelle. Für viele Modelle
145
gibt es unterschiedliche Konfigurationen und wiederum zahlreiche Optionen für
146
Zubehör wie beispielsweise das Autoradio oder Navigationssysteme. Dies macht
147
allgemeine Aussagen über konkrete Angriffe auf Automobile schwierig. Allerdings
148
stellen Standards und Verordnungen (vgl. \cref{ch:standards}) sicher, dass
149
Teile der relevanten Infrastruktur in Automobilen gleich sind, sodass Angreifer
150
diese fahrzeugübergreifend nutzen können.
151
152
Die Art der Angriffe ist nicht neu. So sind wurde mit dem Morris-Wurm bereits
153
1988 ein Stack Overflow Angriff durchgeführt~\cite{Seltzer2013},
154
Replay-Angriffe wurden 1994 beschrieben~\cite{Syverson1994} und seit Beginn
155
der Entwicklung von Viren werden bekannte Lücken in veralteter Software
156
ausgenutzt. Allerdings ist die Software in kognitiven Automobilen komplexer
157
als in herkömmlichen Automobilen, die Menge der eingesetzten Software ist
158
größer und die Möglichkeiten zur Einflussnahme durch Aktoren sind gewachsen.
159
Daher bieten kognitive Automobile eine größere Angriffsfläche als
160
herkömmliche Automobile.
161
162
\begin{itemize}
163
\item 2010 hat ein ehemaliger Angestellter mehr als 100~Autos über ein
164
Fernsteuersystem, welches Kunden an fällige Zahlungen erinnern soll,
165
die Hupen aktiviert~\cite{Poulsen2010}.
166
\item 2010 wurde mit~\cite{Koscher2010} auf mögliche Probleme in kognitiven
167
Automobilen hingewiesen. Mit~\cite{Checkoway2011} wurde 2011 gezeigt,
168
dass mindestens ein Modell in einer bestimmten Konfiguration unsicher
169
ist.
170
\item 2015 wurde von Charlie Miller und Chris Valasek gezeigt, dass das
171
Unterhaltungssystem Uconnect von Fiat Crysler benutzt werden kann um
172
Autos aus der Ferne zu übernehmen. Wegen dieses Softwarefehlers hat
173
Fiat Chrysler 1,4~Millionen Autos zurückgerufen~\cite{Gallagher2015}.
174
\item 2015 wurde eine Sicherheitslücke in BMW's ConnectedDrive bekannt.
175
Diese hat es dem Angreifer erlaubt, das Auto zu
176
öffnen~\cite{Spaar2015}. Dieter Spaar hat dabei mehrere
177
Sicherheitslücken aufgedeckt: BMW hat in allen Fahrzeugen die selben
178
symmetrischen Schlüssel eingesetzt, Teildienste haben keine
179
Transportverschlüsselung verwendet und ConnectedDrive war nicht gegen
180
Replay-Angriffe geschützt. Bei Replay-Angriffen nimmt der Angreifer
181
Teile der Kommunikation zwischen dem BMW-Server und dem Auto auf und
182
spielt diese später wieder ab. Dies könnte beispielsweise eine
183
Nachricht sein, die das Auto entriegelt.
184
\item In \cite{Verdult2015} wurde 2015 gezeigt, dass einige Dutzend
185
Automodelle von Audi, Ferrari, Fiat, Opel, VW und weiterer Marken
186
eine Sicherheitslücke in den Schlüsseln haben, welche es Autodieben
187
erlaubt nach nur zweimaligem Abhören der Kommunikation des
188
Originalschlüssels mit dem Auto eine Kopie des Schlüssels
189
anzufertigen.
190
\item Die Sicherheitsfirma Lookout hat 2015 Fehler in der Software des
191
Tesla Model~S gefunden, welche Root-Zugang zu internen Systemen
192
erlaubt hat~\cite{Mahaffey2015}. Drei der gefundenen sechs
193
Sicherheitslücken sind veraltete Softwarekomponenten.
194
\item 2015 wurde auch ein Angriff auf das OnStar-System von GM bekannt,
195
durch welchen der Angreifer beliebige Autos mit dem OnStar-System
196
öffnen und den Motor starten konnte~\cite{Stevens2015}. Die Art des
197
Angriffs, die bisher noch nicht detailliert beschrieben wurde,
198
betrifft laut \cite{Greenberg2015} auch die iOS-Apps für Remote von
199
BMW, mbrace von Mercedes-Benz, Uconnect von Chrysler und Smartstart
200
von Viper.
201
\end{itemize}
202
203