Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

📚 The CoCalc Library - books, templates and other resources

132928 views
License: OTHER
1
%!TEX root = booka4.tex
2
\section{Verteidigungsmaßnahmen}\label{ch:defense}
3
Wie bereits in \cref{sec:sicherheitslage} beschrieben, sind die Arten der
4
Angriffe nicht neu. Daher sind auch die Verteidigungs\-maßnahmen nicht
5
spezifisch für den Automobil\-bereich, sondern allgemeiner software\-technischer
6
Art.
7
8
Alle von Checkoway~et~al. beschriebenen Angriffe basieren zum einen auf
9
Reverse-Engineering, also der Rekonstruktion der Software-Systeme und
10
Protokolle, zum anderen auf Fehlern in der Software. Das Reverse-Engineering
11
wurde in einigen Fällen laut Checkoway~et~al. stark vereinfacht, da
12
Debugging-Symbole in der Software waren. Diese können und sollten
13
entfernt werden.
14
15
16
\subsection{Datenvalidierung}\label{sec:validation}
17
Der CAN-Bus ist eine große Schwachstelle der IT-Sicherheit in Autos. Über ihn
18
müssen viele ECUs kommunizieren und einige, wie das Autoradio, werden nicht als
19
sicherheits\-kritisch wahrgenommen. Gleichzeitig sind sicherheitskritische ECUs
20
an dem selben CAN-Bus angeschlossen. Daher ist es wichtig die Nachrichten,
21
welche über den CAN-Bus empfangen werden, zu filtern. Die Informationen müssen
22
auf Plausibilität geprüft werden. Insbesondere bei Software-Updates sollte
23
anhand einer kryptographischen Signatur überprüft werden, ob das Update vom
24
Hersteller stammt.
25
26
Außerdem sollten laut Checkoway~et~al. die Diagnose\-geräte Authentifizierung
27
und Verschlüsselung wie beispielsweise OpenSSL nutzen.
28
29
30
\subsection{Buffer Overflows}
31
Gegen Buffer-Overflow-Angriffe können zum einen Sprachen wie Java oder Rust
32
verwendet werden, welche die Einhaltung der Bereichs\-grenzen automatisch
33
überprüfen. Des Weiteren kann anstelle der C-Funktion \verb+strcpy()+ die
34
Funktion \verb+strncpy()+ verwendet werden, welche die Anzahl der zu
35
schreibenden Zeichen begrenzt~\cite{Eckert2012}.
36
37
Ein weiteres Konzept zum Schutz vor Buffer-Overflow-Angriffen sind Stack
38
Cookies~\cite{Bray2002}. Stack Cookies sind Werte die auf den Stack, direkt
39
nach den Puffer geschrieben werden. Bevor der Sprung zurück in
40
die aufrufende Funktion durchgeführt wird, wird die \verb+XOR+ Operation auf
41
den Stack Cookie und die Rücksprung\-adresse ausgeführt. Der so errechnete Wert
42
wird mit dem erwarteten Wert verglichen. Falls es eine Abweichung gibt wird
43
nicht die \verb+RET+ Operation ausgeführt, sondern in eine Sicherheits\-routine
44
gesprungen, die diesen Fall behandelt.
45
46
47
\subsection{Code-Qualität}
48
Code Reviews und IT-Sicherheits\-audits können solche Sicherheits\-lücken
49
aufdecken~\cite{Howard2006}. Code Reviews können teilweise automatisch mit
50
Werkzeugen zur statischen Code Analyse durchgeführt werden~\cite{McGraw2008}.
51
Insbesondere Fahrzeuge welche typischerweise von der Feuerwehr, der Polizei
52
oder von Rettungsdiensten eingesetzt werden sollten --- unabhängig vom Hersteller
53
--- überprüft werden.
54
55
Eine weiterer wichtiger Stützpfeiler für sichere Software sind schnell
56
ausgelieferte Sicherheits\-aktualisierungen. Dazu gehört
57
laut~\cite{Mahaffey2015} unter anderem ein System zum mobilen versenden von
58
Aktualisierungen an Autos mit Mobilfunk\-verbindung.
59
60