Angriffe.tex 12 KB

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