Angriffe.tex 12 KB

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