mirror of
https://github.com/MartinThoma/LaTeX-examples.git
synced 2025-04-19 11:38:05 +02:00
201 lines
12 KiB
TeX
201 lines
12 KiB
TeX
%!TEX root = booka4.tex
|
|
\section{Angriffe}\label{ch:attack}
|
|
|
|
Eine Reihe von elektronischen Systemen wurde zum Diebstahlschutz entwickelt
|
|
\cite{Song2008,Turner1999,Hwang1997}. Allerdings passen sich auch Diebe an die
|
|
modernen Gegebenheiten, insbesondere Funk\-schlüssel \cite{Lee2014}, an. Außerdem
|
|
gehen diese Systeme von einem klassischen Angreifer aus, der sich
|
|
ausschließlich auf der Hardware-Ebene bewegt.
|
|
|
|
Im Folgenden werden in \cref{subsec:can-intern-attackers} zunächst
|
|
Möglichkeiten von netzwerk-internen Angreifer, d.h.~Angreifern welche
|
|
physischen Zugang zum CAN-Bus haben, aufgelistet. Es folgt in
|
|
\cref{subsec:can-extern-attackers} eine Beschreibung wie Angreifer ohne
|
|
direkten physischen Zugriff auf das Auto sich mit dem CAN-Bus verbinden können.
|
|
Viele Angriffe nutzen sogenannte Buffer Overflows aus. Diese werden
|
|
in~\cref{sec:Buffer-Overflow} erklärt. Abschließend folgt in
|
|
\cref{sec:sicherheitslage} eine Liste konkreter, öffentlich bekannt gewordener
|
|
Sicherheitslücken.
|
|
|
|
Es ist nicht notwendigerweise der Fall, dass alle ECUs am selben CAN-Bus
|
|
angeschlossen sind. Allerdings müssen einige der Geräte Daten an die OBD-II
|
|
Schnittstelle senden. Außerdem liegt es aus wirtschaftlichen Gründen nahe
|
|
möglichst wenige Leitungen zur Datenübertragung zu verlegen.
|
|
|
|
|
|
\subsection{CAN-interne Angriffe}\label{subsec:can-intern-attackers}
|
|
Koscher~et~al.~haben in \cite{Koscher2010} zwei nicht näher spezifizierte Autos
|
|
der selben Marke und des selben Modells untersucht. Sie waren in der Lage über
|
|
den CAN-Bus etliche Funktionen des Autos, unabhängig vom Fahrer, zu
|
|
manipulieren. Das beinhaltet das Deaktivieren und Aktivieren der Bremsen, das
|
|
Stoppen des Motors, das Steuern der Klimaanlage, Heizung, Lichter, Manipulation
|
|
der Anzeigen im Kombiinstrument sowie das Öffnen und Schließen der Schlösser.
|
|
Durch moderne Systeme wie eCall kann der Angreifer sich sogar einen
|
|
Kommunikationskanal zu dem Auto aufbauen. Dies setzt allerdings voraus, dass
|
|
der Angreifer sich bereits im auto-internen Netzwerk befindet.
|
|
|
|
\subsection{CAN-externe Angriffe}\label{subsec:can-extern-attackers}
|
|
In~\cite{Checkoway2011} wurde an einer Mittel\-klasse\-limosine mit
|
|
Standard\-komponenten gezeigt, dass der Zugang zum auto-internen Netzwerk über
|
|
eine Vielzahl an Komponenten erfolgen kann. So haben Checkoway~et~al.
|
|
CD-Spieler, Bluetooth und den OBD-Zugang als mögliche Angriffs\-vektoren
|
|
identifiziert.
|
|
|
|
Bei dem Angriff über den Media Player haben Checkoway~et~al. die Tatsache
|
|
genutzt, dass dieser am CAN-Bus angeschlossen ist und die Software des
|
|
Mediaplayers über eine CD mit einem bestimmten Namen und Dateiformat
|
|
aktualisiert werden kann. Außerdem wurde ein Fehler beim Abspielen der
|
|
Audio-Dateien genutzt um einen Buffer Overflow zu erzeugen. Es wurde gezeigt,
|
|
dass dieser genutzt werden kann um die Software des Media-Players zu
|
|
überschreiben. Über diesen Fehler können alle sicherheitskritischen Funktionen
|
|
wie beispielsweise das Deaktivieren der Bremsen nach dem Erreichen einer
|
|
Geschwindigkeit über $\SI[per-mode=fraction]{100}{\km\per\hour}$ vom Angreifer
|
|
kontrolliert werden. Dafür muss lediglich eine modifizierte Audio-Datei, welche
|
|
immer noch abspielbar ist, auf der CD sein.
|
|
|
|
Der von Checkoway~et~al. durchgeführte Angriff via Bluetooth benötigt ein
|
|
mit dem Media Player verbundenes Gerät. Dieses nutzt dann
|
|
\verb+strcpy+-Befehle, bei denen die Puffergrößen nicht überprüft wurden um bei
|
|
der Bluetooth-Konfiguration aus um beliebigen Code auf der Telematik-Einheit
|
|
des Autos ausführen zu können. Daher ist das Smartphone des Autobesitzers ein
|
|
Angriffsvektor.
|
|
|
|
Die Bluetooth-Verbindung kann jedoch auch ohne ein verbundenes Gerät für
|
|
Angriffe genutzt werden. Dazu muss der Angreifer genügend Zeit in der Nähe des
|
|
Autos verbringen um die Bluetooth-MAC-Adresse zu erfahren. Damit kann er ein
|
|
Anfrage zum Verbindungsaufbau starten. Diese müsste der Benutzer normalerweise
|
|
mit der Eingabe einer PIN bestätigen. Checkoway~et~al. haben für ein Auto
|
|
gezeigt, dass die Benutzerinteraktion nicht nötig ist und die PIN via
|
|
Brute-Force, also das Ausprobieren aller Möglichkeiten, innerhalb von
|
|
10~Stunden gefunden werden kann. Allerdings kann dieser Angriff parallel
|
|
ausgeführt werden. Es ist also beispielsweise möglich diesen Angriff für alle
|
|
Autos in einem Parkhaus durchzuführen. Bei einem parallel durchgeführten
|
|
Brute-Force-Angriff ist der erste Erfolg deutlich schneller zu erwarten.
|
|
|
|
Die standardisierte und von Automechanikern zu Diagnosezwecken genutzte
|
|
OBD-Schnittstelle stellt einen weiteren Angriffs\-vektor dar. Für die
|
|
verschiedenen Marken gibt es Diagnose\-werkzeuge, wie z.B. NGS für Ford,
|
|
Consult~II für Nissan und der Diagnostic~Tester von Toyota. Diese dedizierten
|
|
Diagnose\-geräte werden allerdings über PCs mit Aktualisierungen versorgt.
|
|
Modernere Diagnose\-werkzeuge sind nicht mehr bei der Diagnose vom PC getrennt,
|
|
sondern werden direkt, über ein Kabel, \mbox{W-LAN} oder Bluetooth, mit einem PC
|
|
verbunden. Daher stellt die Diagnose- und Aktualisierungs\-tätigkeit von
|
|
Automechanikern einen weiteren Angriffs\-vektor dar. Wenn der Mechaniker ein
|
|
Diagnose\-gerät benutzt, welches ein \mbox{W-LAN} aufbaut, so können Angreifer
|
|
sich mit diesem verbinden und selbst Aktualisierungen durchführen. Außerdem
|
|
wurde von Checkoway~et~al. gezeigt, dass auch das Diagnose\-gerät selbst so
|
|
manipuliert werden kann, dass es automatisch die gewünschten Angriffe ausführt.
|
|
|
|
Wie in \cref{ch:standards} beschrieben wird eCall-System ab 2018 in Europa
|
|
verpflichtend eingeführt. Dieses nutzt das Mobilfunknetz zur Kommunikation.
|
|
Checkoway~et~al. haben gezeigt, dass Telematik-Einheiten von außerhalb des
|
|
Autos angewählt werden und die Software auf diese Weise aus beliebigen
|
|
Entfernungen aktualisiert werden kann. Dazu wurden zahlreiche Schwachstellen
|
|
der Telematik-Einheit von Airbiquitys Modem aqLink genutzt. Dieses Modem wird
|
|
unter anderem von BMW und Ford eingesetzt \cite{AirbiquityBMW,AirbiquityFord}.
|
|
|
|
Ein Angriff auf die Privatsphäre ist mit TPMS möglich. In~\cite{Rouf2010} wurde
|
|
gezeigt, dass TPMS-Signale zur Identifikation von Autos genutzt werden können.
|
|
Die Identifikation eines vorbeifahrenden Autos ist aus bis zu \SI{40}{\meter}
|
|
Entfernung möglich.
|
|
|
|
Genauso stellt das Mikrofon, welches wegen eCall ab 2018 in jedem Auto sein
|
|
muss, eine Möglichkeit zum Angriff auf die Privatsphäre dar.
|
|
|
|
|
|
\subsection{Buffer Overflow Angriffe}\label{sec:Buffer-Overflow}
|
|
Dieser Abschnitt erklärt anhand eines einfachen Beispiels wie Buffer Overflow
|
|
Angriffe durchgeführt werden.
|
|
|
|
Um Buffer Overflow Angriffe zu verstehen, müssen Grundlagen der Struktur eines
|
|
Prozesses im Speicher bekannt sein. Diese werden im Detail
|
|
in~\cite{Silberschatz2005} erklärt.
|
|
|
|
Buffer Overflow Angriffe nutzen die Tatsache aus, dass bestimmte Befehle wie
|
|
beispielsweise \verb+gets+ Zeichenketten in einen Puffer schreiben, ohne die
|
|
Größe des Puffers zu beachten. \verb+gets+ erhält als Parameter einen Zeiger
|
|
auf die Startadresse des Puffers. Wenn der Benutzer eine längere Eingabe macht
|
|
als der Puffer erlaubt, so wird in nach\-folgende Speicher\-bereiche
|
|
geschrieben. Dies kann an folgendem, aus~\cite{Arora2013} entnommenem und
|
|
leicht modifiziertem Beispiel beobachtet werden:
|
|
|
|
\lstinputlisting[language=C,title=simple.c]{simple.c}
|
|
|
|
Kompiliert man dieses Programm mit
|
|
\texttt{gcc -O0 -fno-stack-protector -g simple.c -o simple}, so kann mit der
|
|
Eingabe von 16~Zeichen die Variable \texttt{pass} überschrieben werden. In diesem
|
|
Fall wird deshalb der passwortgeschützte Code-Abschnitt ausgeführt, selbst
|
|
wenn das eingegebene Passwort fehlerhaft ist.
|
|
|
|
Allerdings ist es nicht nur möglich interne Variablen zu überschreiben, sondern
|
|
sogar beliebigen Code auszuführen. Dies wird in \cite{Mixter} mit einem sehr
|
|
ähnlichem Beispiel gezeigt und im Detail erklärt. Dabei wird nicht beliebiger
|
|
Text in den Puffer geschrieben, sondern sogenannter \textit{Shellcode}. Unter
|
|
Shellcode versteht man Assemblerbefehle, welche in Opcodes umgewandelt wurden.
|
|
|
|
|
|
\subsection{Sicherheitslage in Automobilen bis August 2015}\label{sec:sicherheitslage}
|
|
Heutzutage ist nicht nur die Hardware von Automobilen durch Diebe und andere
|
|
Angreifer gefährdet, sondern auch die Software. Die folgenden Beispiele zeigen,
|
|
dass Angriffe auf die IT in Automobilen nicht nur im akademischen Rahmen
|
|
auf einige wenige spezielle Modelle durchgeführt werden, sondern dass auch
|
|
modellübergreifende Angriffe möglich sind.
|
|
|
|
Es gibt etliche Automobilhersteller, -marken und -modelle. Für viele Modelle
|
|
gibt es unterschiedliche Konfigurationen und wiederum zahlreiche Optionen für
|
|
Zubehör wie beispielsweise das Autoradio oder Navigationssysteme. Dies macht
|
|
allgemeine Aussagen über konkrete Angriffe auf Automobile schwierig. Allerdings
|
|
stellen Standards und Verordnungen (vgl. \cref{ch:standards}) sicher, dass
|
|
Teile der relevanten Infrastruktur in Automobilen gleich sind, sodass Angreifer
|
|
diese fahrzeugübergreifend nutzen können.
|
|
|
|
Die Art der Angriffe ist nicht neu. So sind wurde mit dem Morris-Wurm bereits
|
|
1988 ein Stack Overflow Angriff durchgeführt~\cite{Seltzer2013},
|
|
Replay-Angriffe wurden 1994 beschrieben~\cite{Syverson1994} und seit Beginn
|
|
der Entwicklung von Viren werden bekannte Lücken in veralteter Software
|
|
ausgenutzt. Allerdings ist die Software in kognitiven Automobilen komplexer
|
|
als in herkömmlichen Automobilen, die Menge der eingesetzten Software ist
|
|
größer und die Möglichkeiten zur Einflussnahme durch Aktoren sind gewachsen.
|
|
Daher bieten kognitive Automobile eine größere Angriffsfläche als
|
|
herkömmliche Automobile.
|
|
|
|
\begin{itemize}
|
|
\item 2010 hat ein ehemaliger Angestellter mehr als 100~Autos über ein
|
|
Fernsteuersystem, welches Kunden an fällige Zahlungen erinnern soll,
|
|
die Hupen aktiviert~\cite{Poulsen2010}.
|
|
\item 2010 wurde mit~\cite{Koscher2010} auf mögliche Probleme in kognitiven
|
|
Automobilen hingewiesen. Mit~\cite{Checkoway2011} wurde 2011 gezeigt,
|
|
dass mindestens ein Modell in einer bestimmten Konfiguration unsicher
|
|
ist.
|
|
\item 2015 wurde von Charlie Miller und Chris Valasek gezeigt, dass das
|
|
Unterhaltungssystem Uconnect von Fiat Crysler benutzt werden kann um
|
|
Autos aus der Ferne zu übernehmen. Wegen dieses Softwarefehlers hat
|
|
Fiat Chrysler 1,4~Millionen Autos zurückgerufen~\cite{Gallagher2015}.
|
|
\item 2015 wurde eine Sicherheitslücke in BMW's ConnectedDrive bekannt.
|
|
Diese hat es dem Angreifer erlaubt, das Auto zu
|
|
öffnen~\cite{Spaar2015}. Dieter Spaar hat dabei mehrere
|
|
Sicherheitslücken aufgedeckt: BMW hat in allen Fahrzeugen die selben
|
|
symmetrischen Schlüssel eingesetzt, Teildienste haben keine
|
|
Transportverschlüsselung verwendet und ConnectedDrive war nicht gegen
|
|
Replay-Angriffe geschützt. Bei Replay-Angriffen nimmt der Angreifer
|
|
Teile der Kommunikation zwischen dem BMW-Server und dem Auto auf und
|
|
spielt diese später wieder ab. Dies könnte beispielsweise eine
|
|
Nachricht sein, die das Auto entriegelt.
|
|
\item In \cite{Verdult2015} wurde 2015 gezeigt, dass einige Dutzend
|
|
Automodelle von Audi, Ferrari, Fiat, Opel, VW und weiterer Marken
|
|
eine Sicherheitslücke in den Schlüsseln haben, welche es Autodieben
|
|
erlaubt nach nur zweimaligem Abhören der Kommunikation des
|
|
Originalschlüssels mit dem Auto eine Kopie des Schlüssels
|
|
anzufertigen.
|
|
\item Die Sicherheitsfirma Lookout hat 2015 Fehler in der Software des
|
|
Tesla Model~S gefunden, welche Root-Zugang zu internen Systemen
|
|
erlaubt hat~\cite{Mahaffey2015}. Drei der gefundenen sechs
|
|
Sicherheitslücken sind veraltete Softwarekomponenten.
|
|
\item 2015 wurde auch ein Angriff auf das OnStar-System von GM bekannt,
|
|
durch welchen der Angreifer beliebige Autos mit dem OnStar-System
|
|
öffnen und den Motor starten konnte~\cite{Stevens2015}. Die Art des
|
|
Angriffs, die bisher noch nicht detailliert beschrieben wurde,
|
|
betrifft laut \cite{Greenberg2015} auch die iOS-Apps für Remote von
|
|
BMW, mbrace von Mercedes-Benz, Uconnect von Chrysler und Smartstart
|
|
von Viper.
|
|
\end{itemize}
|