| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- %!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}
|