📚 The CoCalc Library - books, templates and other resources
cocalc-examples / martinthoma-latex-examples / publications / Seminar-Kognitive-Automobile / Verteidigung.tex
132935 viewsLicense: OTHER
%!TEX root = booka4.tex1\section{Verteidigungsmaßnahmen}\label{ch:defense}2Wie bereits in \cref{sec:sicherheitslage} beschrieben, sind die Arten der3Angriffe nicht neu. Daher sind auch die Verteidigungs\-maßnahmen nicht4spezifisch für den Automobil\-bereich, sondern allgemeiner software\-technischer5Art.67Alle von Checkoway~et~al. beschriebenen Angriffe basieren zum einen auf8Reverse-Engineering, also der Rekonstruktion der Software-Systeme und9Protokolle, zum anderen auf Fehlern in der Software. Das Reverse-Engineering10wurde in einigen Fällen laut Checkoway~et~al. stark vereinfacht, da11Debugging-Symbole in der Software waren. Diese können und sollten12entfernt werden.131415\subsection{Datenvalidierung}\label{sec:validation}16Der CAN-Bus ist eine große Schwachstelle der IT-Sicherheit in Autos. Über ihn17müssen viele ECUs kommunizieren und einige, wie das Autoradio, werden nicht als18sicherheits\-kritisch wahrgenommen. Gleichzeitig sind sicherheitskritische ECUs19an dem selben CAN-Bus angeschlossen. Daher ist es wichtig die Nachrichten,20welche über den CAN-Bus empfangen werden, zu filtern. Die Informationen müssen21auf Plausibilität geprüft werden. Insbesondere bei Software-Updates sollte22anhand einer kryptographischen Signatur überprüft werden, ob das Update vom23Hersteller stammt.2425Außerdem sollten laut Checkoway~et~al. die Diagnose\-geräte Authentifizierung26und Verschlüsselung wie beispielsweise OpenSSL nutzen.272829\subsection{Buffer Overflows}30Gegen Buffer-Overflow-Angriffe können zum einen Sprachen wie Java oder Rust31verwendet werden, welche die Einhaltung der Bereichs\-grenzen automatisch32überprüfen. Des Weiteren kann anstelle der C-Funktion \verb+strcpy()+ die33Funktion \verb+strncpy()+ verwendet werden, welche die Anzahl der zu34schreibenden Zeichen begrenzt~\cite{Eckert2012}.3536Ein weiteres Konzept zum Schutz vor Buffer-Overflow-Angriffen sind Stack37Cookies~\cite{Bray2002}. Stack Cookies sind Werte die auf den Stack, direkt38nach den Puffer geschrieben werden. Bevor der Sprung zurück in39die aufrufende Funktion durchgeführt wird, wird die \verb+XOR+ Operation auf40den Stack Cookie und die Rücksprung\-adresse ausgeführt. Der so errechnete Wert41wird mit dem erwarteten Wert verglichen. Falls es eine Abweichung gibt wird42nicht die \verb+RET+ Operation ausgeführt, sondern in eine Sicherheits\-routine43gesprungen, die diesen Fall behandelt.444546\subsection{Code-Qualität}47Code Reviews und IT-Sicherheits\-audits können solche Sicherheits\-lücken48aufdecken~\cite{Howard2006}. Code Reviews können teilweise automatisch mit49Werkzeugen zur statischen Code Analyse durchgeführt werden~\cite{McGraw2008}.50Insbesondere Fahrzeuge welche typischerweise von der Feuerwehr, der Polizei51oder von Rettungsdiensten eingesetzt werden sollten --- unabhängig vom Hersteller52--- überprüft werden.5354Eine weiterer wichtiger Stützpfeiler für sichere Software sind schnell55ausgelieferte Sicherheits\-aktualisierungen. Dazu gehört56laut~\cite{Mahaffey2015} unter anderem ein System zum mobilen versenden von57Aktualisierungen an Autos mit Mobilfunk\-verbindung.585960