📚 The CoCalc Library - books, templates and other resources
cocalc-examples / martinthoma-latex-examples / publications / Seminar-Kognitive-Automobile / Angriffe.tex
132935 viewsLicense: OTHER
%!TEX root = booka4.tex1\section{Angriffe}\label{ch:attack}23Eine Reihe von elektronischen Systemen wurde zum Diebstahlschutz entwickelt4\cite{Song2008,Turner1999,Hwang1997}. Allerdings passen sich auch Diebe an die5modernen Gegebenheiten, insbesondere Funk\-schlüssel \cite{Lee2014}, an. Außerdem6gehen diese Systeme von einem klassischen Angreifer aus, der sich7ausschließlich auf der Hardware-Ebene bewegt.89Im Folgenden werden in \cref{subsec:can-intern-attackers} zunächst10Möglichkeiten von netzwerk-internen Angreifer, d.h.~Angreifern welche11physischen Zugang zum CAN-Bus haben, aufgelistet. Es folgt in12\cref{subsec:can-extern-attackers} eine Beschreibung wie Angreifer ohne13direkten physischen Zugriff auf das Auto sich mit dem CAN-Bus verbinden können.14Viele Angriffe nutzen sogenannte Buffer Overflows aus. Diese werden15in~\cref{sec:Buffer-Overflow} erklärt. Abschließend folgt in16\cref{sec:sicherheitslage} eine Liste konkreter, öffentlich bekannt gewordener17Sicherheitslücken.1819Es ist nicht notwendigerweise der Fall, dass alle ECUs am selben CAN-Bus20angeschlossen sind. Allerdings müssen einige der Geräte Daten an die OBD-II21Schnittstelle senden. Außerdem liegt es aus wirtschaftlichen Gründen nahe22möglichst wenige Leitungen zur Datenübertragung zu verlegen.232425\subsection{CAN-interne Angriffe}\label{subsec:can-intern-attackers}26Koscher~et~al.~haben in \cite{Koscher2010} zwei nicht näher spezifizierte Autos27der selben Marke und des selben Modells untersucht. Sie waren in der Lage über28den CAN-Bus etliche Funktionen des Autos, unabhängig vom Fahrer, zu29manipulieren. Das beinhaltet das Deaktivieren und Aktivieren der Bremsen, das30Stoppen des Motors, das Steuern der Klimaanlage, Heizung, Lichter, Manipulation31der Anzeigen im Kombiinstrument sowie das Öffnen und Schließen der Schlösser.32Durch moderne Systeme wie eCall kann der Angreifer sich sogar einen33Kommunikationskanal zu dem Auto aufbauen. Dies setzt allerdings voraus, dass34der Angreifer sich bereits im auto-internen Netzwerk befindet.3536\subsection{CAN-externe Angriffe}\label{subsec:can-extern-attackers}37In~\cite{Checkoway2011} wurde an einer Mittel\-klasse\-limosine mit38Standard\-komponenten gezeigt, dass der Zugang zum auto-internen Netzwerk über39eine Vielzahl an Komponenten erfolgen kann. So haben Checkoway~et~al.40CD-Spieler, Bluetooth und den OBD-Zugang als mögliche Angriffs\-vektoren41identifiziert.4243Bei dem Angriff über den Media Player haben Checkoway~et~al. die Tatsache44genutzt, dass dieser am CAN-Bus angeschlossen ist und die Software des45Mediaplayers über eine CD mit einem bestimmten Namen und Dateiformat46aktualisiert werden kann. Außerdem wurde ein Fehler beim Abspielen der47Audio-Dateien genutzt um einen Buffer Overflow zu erzeugen. Es wurde gezeigt,48dass dieser genutzt werden kann um die Software des Media-Players zu49überschreiben. Über diesen Fehler können alle sicherheitskritischen Funktionen50wie beispielsweise das Deaktivieren der Bremsen nach dem Erreichen einer51Geschwindigkeit über $\SI[per-mode=fraction]{100}{\km\per\hour}$ vom Angreifer52kontrolliert werden. Dafür muss lediglich eine modifizierte Audio-Datei, welche53immer noch abspielbar ist, auf der CD sein.5455Der von Checkoway~et~al. durchgeführte Angriff via Bluetooth benötigt ein56mit dem Media Player verbundenes Gerät. Dieses nutzt dann57\verb+strcpy+-Befehle, bei denen die Puffergrößen nicht überprüft wurden um bei58der Bluetooth-Konfiguration aus um beliebigen Code auf der Telematik-Einheit59des Autos ausführen zu können. Daher ist das Smartphone des Autobesitzers ein60Angriffsvektor.6162Die Bluetooth-Verbindung kann jedoch auch ohne ein verbundenes Gerät für63Angriffe genutzt werden. Dazu muss der Angreifer genügend Zeit in der Nähe des64Autos verbringen um die Bluetooth-MAC-Adresse zu erfahren. Damit kann er ein65Anfrage zum Verbindungsaufbau starten. Diese müsste der Benutzer normalerweise66mit der Eingabe einer PIN bestätigen. Checkoway~et~al. haben für ein Auto67gezeigt, dass die Benutzerinteraktion nicht nötig ist und die PIN via68Brute-Force, also das Ausprobieren aller Möglichkeiten, innerhalb von6910~Stunden gefunden werden kann. Allerdings kann dieser Angriff parallel70ausgeführt werden. Es ist also beispielsweise möglich diesen Angriff für alle71Autos in einem Parkhaus durchzuführen. Bei einem parallel durchgeführten72Brute-Force-Angriff ist der erste Erfolg deutlich schneller zu erwarten.7374Die standardisierte und von Automechanikern zu Diagnosezwecken genutzte75OBD-Schnittstelle stellt einen weiteren Angriffs\-vektor dar. Für die76verschiedenen Marken gibt es Diagnose\-werkzeuge, wie z.B. NGS für Ford,77Consult~II für Nissan und der Diagnostic~Tester von Toyota. Diese dedizierten78Diagnose\-geräte werden allerdings über PCs mit Aktualisierungen versorgt.79Modernere Diagnose\-werkzeuge sind nicht mehr bei der Diagnose vom PC getrennt,80sondern werden direkt, über ein Kabel, \mbox{W-LAN} oder Bluetooth, mit einem PC81verbunden. Daher stellt die Diagnose- und Aktualisierungs\-tätigkeit von82Automechanikern einen weiteren Angriffs\-vektor dar. Wenn der Mechaniker ein83Diagnose\-gerät benutzt, welches ein \mbox{W-LAN} aufbaut, so können Angreifer84sich mit diesem verbinden und selbst Aktualisierungen durchführen. Außerdem85wurde von Checkoway~et~al. gezeigt, dass auch das Diagnose\-gerät selbst so86manipuliert werden kann, dass es automatisch die gewünschten Angriffe ausführt.8788Wie in \cref{ch:standards} beschrieben wird eCall-System ab 2018 in Europa89verpflichtend eingeführt. Dieses nutzt das Mobilfunknetz zur Kommunikation.90Checkoway~et~al. haben gezeigt, dass Telematik-Einheiten von außerhalb des91Autos angewählt werden und die Software auf diese Weise aus beliebigen92Entfernungen aktualisiert werden kann. Dazu wurden zahlreiche Schwachstellen93der Telematik-Einheit von Airbiquitys Modem aqLink genutzt. Dieses Modem wird94unter anderem von BMW und Ford eingesetzt \cite{AirbiquityBMW,AirbiquityFord}.9596Ein Angriff auf die Privatsphäre ist mit TPMS möglich. In~\cite{Rouf2010} wurde97gezeigt, dass TPMS-Signale zur Identifikation von Autos genutzt werden können.98Die Identifikation eines vorbeifahrenden Autos ist aus bis zu \SI{40}{\meter}99Entfernung möglich.100101Genauso stellt das Mikrofon, welches wegen eCall ab 2018 in jedem Auto sein102muss, eine Möglichkeit zum Angriff auf die Privatsphäre dar.103104105\subsection{Buffer Overflow Angriffe}\label{sec:Buffer-Overflow}106Dieser Abschnitt erklärt anhand eines einfachen Beispiels wie Buffer Overflow107Angriffe durchgeführt werden.108109Um Buffer Overflow Angriffe zu verstehen, müssen Grundlagen der Struktur eines110Prozesses im Speicher bekannt sein. Diese werden im Detail111in~\cite{Silberschatz2005} erklärt.112113Buffer Overflow Angriffe nutzen die Tatsache aus, dass bestimmte Befehle wie114beispielsweise \verb+gets+ Zeichenketten in einen Puffer schreiben, ohne die115Größe des Puffers zu beachten. \verb+gets+ erhält als Parameter einen Zeiger116auf die Startadresse des Puffers. Wenn der Benutzer eine längere Eingabe macht117als der Puffer erlaubt, so wird in nach\-folgende Speicher\-bereiche118geschrieben. Dies kann an folgendem, aus~\cite{Arora2013} entnommenem und119leicht modifiziertem Beispiel beobachtet werden:120121\lstinputlisting[language=C,title=simple.c]{simple.c}122123Kompiliert man dieses Programm mit124\texttt{gcc -O0 -fno-stack-protector -g simple.c -o simple}, so kann mit der125Eingabe von 16~Zeichen die Variable \texttt{pass} überschrieben werden. In diesem126Fall wird deshalb der passwortgeschützte Code-Abschnitt ausgeführt, selbst127wenn das eingegebene Passwort fehlerhaft ist.128129Allerdings ist es nicht nur möglich interne Variablen zu überschreiben, sondern130sogar beliebigen Code auszuführen. Dies wird in \cite{Mixter} mit einem sehr131ähnlichem Beispiel gezeigt und im Detail erklärt. Dabei wird nicht beliebiger132Text in den Puffer geschrieben, sondern sogenannter \textit{Shellcode}. Unter133Shellcode versteht man Assemblerbefehle, welche in Opcodes umgewandelt wurden.134135136\subsection{Sicherheitslage in Automobilen bis August 2015}\label{sec:sicherheitslage}137Heutzutage ist nicht nur die Hardware von Automobilen durch Diebe und andere138Angreifer gefährdet, sondern auch die Software. Die folgenden Beispiele zeigen,139dass Angriffe auf die IT in Automobilen nicht nur im akademischen Rahmen140auf einige wenige spezielle Modelle durchgeführt werden, sondern dass auch141modellübergreifende Angriffe möglich sind.142143Es gibt etliche Automobilhersteller, -marken und -modelle. Für viele Modelle144gibt es unterschiedliche Konfigurationen und wiederum zahlreiche Optionen für145Zubehör wie beispielsweise das Autoradio oder Navigationssysteme. Dies macht146allgemeine Aussagen über konkrete Angriffe auf Automobile schwierig. Allerdings147stellen Standards und Verordnungen (vgl. \cref{ch:standards}) sicher, dass148Teile der relevanten Infrastruktur in Automobilen gleich sind, sodass Angreifer149diese fahrzeugübergreifend nutzen können.150151Die Art der Angriffe ist nicht neu. So sind wurde mit dem Morris-Wurm bereits1521988 ein Stack Overflow Angriff durchgeführt~\cite{Seltzer2013},153Replay-Angriffe wurden 1994 beschrieben~\cite{Syverson1994} und seit Beginn154der Entwicklung von Viren werden bekannte Lücken in veralteter Software155ausgenutzt. Allerdings ist die Software in kognitiven Automobilen komplexer156als in herkömmlichen Automobilen, die Menge der eingesetzten Software ist157größer und die Möglichkeiten zur Einflussnahme durch Aktoren sind gewachsen.158Daher bieten kognitive Automobile eine größere Angriffsfläche als159herkömmliche Automobile.160161\begin{itemize}162\item 2010 hat ein ehemaliger Angestellter mehr als 100~Autos über ein163Fernsteuersystem, welches Kunden an fällige Zahlungen erinnern soll,164die Hupen aktiviert~\cite{Poulsen2010}.165\item 2010 wurde mit~\cite{Koscher2010} auf mögliche Probleme in kognitiven166Automobilen hingewiesen. Mit~\cite{Checkoway2011} wurde 2011 gezeigt,167dass mindestens ein Modell in einer bestimmten Konfiguration unsicher168ist.169\item 2015 wurde von Charlie Miller und Chris Valasek gezeigt, dass das170Unterhaltungssystem Uconnect von Fiat Crysler benutzt werden kann um171Autos aus der Ferne zu übernehmen. Wegen dieses Softwarefehlers hat172Fiat Chrysler 1,4~Millionen Autos zurückgerufen~\cite{Gallagher2015}.173\item 2015 wurde eine Sicherheitslücke in BMW's ConnectedDrive bekannt.174Diese hat es dem Angreifer erlaubt, das Auto zu175öffnen~\cite{Spaar2015}. Dieter Spaar hat dabei mehrere176Sicherheitslücken aufgedeckt: BMW hat in allen Fahrzeugen die selben177symmetrischen Schlüssel eingesetzt, Teildienste haben keine178Transportverschlüsselung verwendet und ConnectedDrive war nicht gegen179Replay-Angriffe geschützt. Bei Replay-Angriffen nimmt der Angreifer180Teile der Kommunikation zwischen dem BMW-Server und dem Auto auf und181spielt diese später wieder ab. Dies könnte beispielsweise eine182Nachricht sein, die das Auto entriegelt.183\item In \cite{Verdult2015} wurde 2015 gezeigt, dass einige Dutzend184Automodelle von Audi, Ferrari, Fiat, Opel, VW und weiterer Marken185eine Sicherheitslücke in den Schlüsseln haben, welche es Autodieben186erlaubt nach nur zweimaligem Abhören der Kommunikation des187Originalschlüssels mit dem Auto eine Kopie des Schlüssels188anzufertigen.189\item Die Sicherheitsfirma Lookout hat 2015 Fehler in der Software des190Tesla Model~S gefunden, welche Root-Zugang zu internen Systemen191erlaubt hat~\cite{Mahaffey2015}. Drei der gefundenen sechs192Sicherheitslücken sind veraltete Softwarekomponenten.193\item 2015 wurde auch ein Angriff auf das OnStar-System von GM bekannt,194durch welchen der Angreifer beliebige Autos mit dem OnStar-System195öffnen und den Motor starten konnte~\cite{Stevens2015}. Die Art des196Angriffs, die bisher noch nicht detailliert beschrieben wurde,197betrifft laut \cite{Greenberg2015} auch die iOS-Apps für Remote von198BMW, mbrace von Mercedes-Benz, Uconnect von Chrysler und Smartstart199von Viper.200\end{itemize}201202203