Angriffe.tex 12 KB

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