diff --git a/publications/Seminar-Kognitive-Automobile/00README.XXX b/publications/Seminar-Kognitive-Automobile/00README.XXX new file mode 100644 index 0000000..07e5b05 --- /dev/null +++ b/publications/Seminar-Kognitive-Automobile/00README.XXX @@ -0,0 +1,2 @@ +booka4.tex toplevelfile +nohypertex diff --git a/publications/Seminar-Kognitive-Automobile/content/Angriffe.tex b/publications/Seminar-Kognitive-Automobile/Angriffe.tex similarity index 76% rename from publications/Seminar-Kognitive-Automobile/content/Angriffe.tex rename to publications/Seminar-Kognitive-Automobile/Angriffe.tex index 037d31f..bf54981 100644 --- a/publications/Seminar-Kognitive-Automobile/content/Angriffe.tex +++ b/publications/Seminar-Kognitive-Automobile/Angriffe.tex @@ -1,5 +1,5 @@ %!TEX root = ../booka4.tex -\chapter{Angriffe}\label{ch:attack} +\section{Angriffe}\label{ch:attack} Eine Reihe von elektronischen Systemen wurde zum Diebstahlschutz entwickelt \cite{Song2008,Turner1999,Hwang1997}. Allerdings passen sich auch Diebe an die @@ -21,7 +21,7 @@ Schnittstelle senden. Außerdem liegt es aus wirtschaftlichen Gründen nahe möglichst wenige Leitungen zur Datenübertragung zu verlegen. -\section{CAN-interne Angriffe} +\subsection{CAN-interne Angriffe} Koscher~et~al.~haben in \cite{Koscher2010} zwei nicht näher spezifizierte Autos der selben Marke und des selben Modells untersucht. Sie waren in der Lage über den CAN-Bus etliche Funktionen des Autos, unabhängig vom Fahrer, zu @@ -32,7 +32,7 @@ moderne Systeme wie eCall kann der Angreifer sich sogar einen Kommunikationskanal zu dem Auto aufbauen. Dies setzt allerdings voraus, dass der Angreifer sich bereits im auto-internen Netzwerk befindet. -\section{CAN-externe Angriffe} +\subsection{CAN-externe Angriffe} In~\cite{Checkoway2011} wurde an einer Mittelklasselimosine mit Standardkomponenten gezeigt, dass der Zugang zum auto-internen Netzwerk über eine Vielzahl an Komponenten erfolgen kann. So haben Checkoway~et~al. @@ -98,7 +98,7 @@ Genauso stellt das Mikrofon, welches wegen eCall ab 2018 in jedem Auto sein muss, eine Möglichkeit zum Angriff auf die Privatsphäre dar. -\section{Buffer Overflow Angriffe}\label{sec:Buffer-Overflow} +\subsection{Buffer Overflow Angriffe}\label{sec:Buffer-Overflow} Dieser Abschnitt erklärt anhand eines einfachen Beispiels wie Buffer Overflow Angriffe durchgeführt werden. @@ -114,11 +114,11 @@ Puffer erlaubt, so wird in nachfolgende Speicherbereiche geschrieben. Dies kann an folgendem, aus~\cite{Arora2013} entnommenem und leicht modifiziertem Beispiel beobachtet werden: -\inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=simple.c]{c}{content/exploit-buffer-overflow/simple.c} +\inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=simple.c]{c}{simple.c} Kompiliert man dieses Programm mit -\verb+gcc -O0 -fno-stack-protector -g simple.c -o simple+, so kann mit der -Eingabe von 16~Zeichen die Variable \verb+pass+ überschrieben werden. In diesem +\texttt{gcc -O0 -fno-stack-protector -g simple.c -o simple}, so kann mit der +Eingabe von 16~Zeichen die Variable \texttt{pass} überschrieben werden. In diesem Fall wird deshalb der passwortgeschützte Code-Abschnitt ausgeführt, selbst wenn das eingegebene Passwort fehlerhaft ist. @@ -129,7 +129,7 @@ Text in den Puffer geschrieben, sondern sogenannter \textit{Shellcode}. Unter Shellcode versteht man Assemblerbefehle, welche in Opcodes umgewandelt wurden. -\section{Sicherheitslage in Automobilen bis August 2015}\label{sec:sicherheitslage} +\subsection{Sicherheitslage in Automobilen bis August 2015}\label{sec:sicherheitslage} Heutzutage ist nicht nur die Hardware von Automobilen durch Diebe und andere Angreifer gefährdet, sondern auch die Software. Die folgenden Beispiele zeigen, dass Angriffe auf die IT in Automobilen nicht nur im akademischen Rahmen @@ -155,38 +155,42 @@ Daher bieten kognitive Automobile eine größere Angriffsfläche als herkömmliche Automobile. \begin{itemize} - \item 2010 hat ein ehemaliger Angestellter mehr als 100 Autos über ein -Fernsteuersystem, welches Kunden an fällige Zahlungen erinnern soll, die Hupen -aktiviert~\cite{Poulsen2010}. + \item 2010 hat ein ehemaliger Angestellter mehr als 100~Autos über ein + Fernsteuersystem, welches Kunden an fällige Zahlungen erinnern soll, + die Hupen aktiviert~\cite{Poulsen2010}. \item 2010 wurde mit~\cite{Koscher2010} auf mögliche Probleme in kognitiven -Automobilen hingewiesen. Mit~\cite{Checkoway2011} wurde 2011 gezeigt, dass -mindestens ein Modell in einer bestimmten Konfiguration unsicher ist. - \item 2015 -wurde von Charlie Miller und Chris Valasek gezeigt, dass das -Unterhaltungssystem Uconnect von Fiat Crysler benutzt werden kann um Autos aus -der Ferne zu übernehmen. Wegen dieses Softwarefehlers hat Fiat Chrysler -1,4~Millionen Autos zurückgerufen~\cite{Gallagher2015}. - \item 2015 wurde eine Sicherheitslücke in BMW's ConnectedDrive bekannt. Diese hat -es dem Angreifer erlaubt, das Auto zu öffnen~\cite{Spaar2015}. Dieter Spaar -hat dabei mehrere Sicherheitslücken aufgedeckt: BMW hat in allen Fahrzeugen -die selben symmetrischen Schlüssel eingesetzt, Teildienste haben keine -Transportverschlüsselung verwendet und ConnectedDrive war nicht gegen -Replay-Angriffe geschützt. Bei Replay-Angriffen nimmt der Angreifer Teile der -Kommunikation zwischen dem BMW-Server und dem Auto auf und spielt diese -später wieder ab. Dies könnte beispielsweise eine Nachricht sein, die das -Auto entriegelt. - \item In \cite{Verdult2015} wurde 2015 gezeigt, dass einige Dutzend Automodelle von -Audi, Ferrari, Fiat, Opel, VW und weiterer Marken eine Sicherheitslücke in den -Schlüsseln haben, welche es Autodieben erlaubt nach nur zweimaligem Abhören der -Kommunikation des Originalschlüssels mit dem Auto eine Kopie des Schlüssels -anzufertigen. - \item Die Sicherheitsfirma Lookout hat 2015 Fehler in der Software des Tesla Model~S -gefunden, welche Root-Zugang zu internen Systemen erlaubt hat~\cite{Mahaffey2015}. -Drei der gefundenen sechs Sicherheitslücken sind veraltete Softwarekomponenten. - \item 2015 wurde auch ein Angriff auf das OnStar-System von GM bekannt, durch welchen -der Angreifer beliebige Autos mit dem OnStar-System öffnen und den Motor -starten konnte~\cite{Stevens2015}. Die Art des Angriffs, die bisher noch nicht -detailliert beschrieben wurde, betrifft laut \cite{Greenberg2015} auch die -iOS-Apps für Remote von BMW, mbrace von Mercedes-Benz, Uconnect von Chrysler -und Smartstart von Viper. + Automobilen hingewiesen. Mit~\cite{Checkoway2011} wurde 2011 gezeigt, + dass mindestens ein Modell in einer bestimmten Konfiguration unsicher + ist. + \item 2015 wurde von Charlie Miller und Chris Valasek gezeigt, dass das + Unterhaltungssystem Uconnect von Fiat Crysler benutzt werden kann um + Autos aus der Ferne zu übernehmen. Wegen dieses Softwarefehlers hat + Fiat Chrysler 1,4~Millionen Autos zurückgerufen~\cite{Gallagher2015}. + \item 2015 wurde eine Sicherheitslücke in BMW's ConnectedDrive bekannt. + Diese hat es dem Angreifer erlaubt, das Auto zu + öffnen~\cite{Spaar2015}. Dieter Spaar hat dabei mehrere + Sicherheitslücken aufgedeckt: BMW hat in allen Fahrzeugen die selben + symmetrischen Schlüssel eingesetzt, Teildienste haben keine + Transportverschlüsselung verwendet und ConnectedDrive war nicht gegen + Replay-Angriffe geschützt. Bei Replay-Angriffen nimmt der Angreifer + Teile der Kommunikation zwischen dem BMW-Server und dem Auto auf und + spielt diese später wieder ab. Dies könnte beispielsweise eine + Nachricht sein, die das Auto entriegelt. + \item In \cite{Verdult2015} wurde 2015 gezeigt, dass einige Dutzend + Automodelle von Audi, Ferrari, Fiat, Opel, VW und weiterer Marken + eine Sicherheitslücke in den Schlüsseln haben, welche es Autodieben + erlaubt nach nur zweimaligem Abhören der Kommunikation des + Originalschlüssels mit dem Auto eine Kopie des Schlüssels + anzufertigen. + \item Die Sicherheitsfirma Lookout hat 2015 Fehler in der Software des + Tesla Model~S gefunden, welche Root-Zugang zu internen Systemen + erlaubt hat~\cite{Mahaffey2015}. Drei der gefundenen sechs + Sicherheitslücken sind veraltete Softwarekomponenten. + \item 2015 wurde auch ein Angriff auf das OnStar-System von GM bekannt, + durch welchen der Angreifer beliebige Autos mit dem OnStar-System + öffnen und den Motor starten konnte~\cite{Stevens2015}. Die Art des + Angriffs, die bisher noch nicht detailliert beschrieben wurde, + betrifft laut \cite{Greenberg2015} auch die iOS-Apps für Remote von + BMW, mbrace von Mercedes-Benz, Uconnect von Chrysler und Smartstart + von Viper. \end{itemize} diff --git a/publications/Seminar-Kognitive-Automobile/content/Einleitung.tex b/publications/Seminar-Kognitive-Automobile/Einleitung.tex similarity index 92% rename from publications/Seminar-Kognitive-Automobile/content/Einleitung.tex rename to publications/Seminar-Kognitive-Automobile/Einleitung.tex index 323c815..2ff6797 100644 --- a/publications/Seminar-Kognitive-Automobile/content/Einleitung.tex +++ b/publications/Seminar-Kognitive-Automobile/Einleitung.tex @@ -1,6 +1,6 @@ %!TEX root = ../booka4.tex -\chapter{Einleitung} +\section{Einleitung} Kognitive Automobile sind, im Gegensatz zu klassischen Automobilen, in der Lage ihre Umwelt und sich selbst wahrzunehmen und dem Fahrer zu assistieren oder auch teil- bzw. vollautonom zu fahren. Diese Systeme benötigen Zugriff auf @@ -17,7 +17,7 @@ entwickelt~\cite{Kiencke1986}. Über ihn kommunizieren elektronische Steuergeräte, sog. \textit{ECUs} (engl. \textit{electronic control units}). Diese werden beispielsweise für ABS und ESP eingesetzt. -Der folgende Kapitel geht auf Standards wie den CAN-Bus und Verordnungen, die +Der folgende Abschnitt geht auf Standards wie den CAN-Bus und Verordnungen, die in der Europäischen Union gültig sind, ein. In \cref{ch:attack} werden Angriffsziele und Grundlagen zu den Angriffen erklärt, sodass in \cref{ch:defense} mögliche Verteidigungsmaßnahmen erläutert werden können. diff --git a/publications/Seminar-Kognitive-Automobile/content/Standards.tex b/publications/Seminar-Kognitive-Automobile/Standards.tex similarity index 89% rename from publications/Seminar-Kognitive-Automobile/content/Standards.tex rename to publications/Seminar-Kognitive-Automobile/Standards.tex index 182d1fe..7b2c6c2 100644 --- a/publications/Seminar-Kognitive-Automobile/content/Standards.tex +++ b/publications/Seminar-Kognitive-Automobile/Standards.tex @@ -1,13 +1,14 @@ %!TEX root = ../booka4.tex -\chapter{Standards und Verordnungen}\label{ch:standards} +\section{Standards und Verordnungen}\label{ch:standards} Für den Automobilbereich existieren viele Standards und Verordnungen. In diesem -Kapitel wird eine Auswahl vorgestellt, die Fahrzeuge der Klassen M$_1$ und +Abschnitt wird eine Auswahl vorgestellt, die Fahrzeuge der Klassen M$_1$ und N$_1$ betrifft. Das sind Fahrzeuge zur Personenbeförderung \enquote{mit mindestens vier Rädern und höchstens acht Sitzplätzen außer dem Fahrersitz} sowie \enquote{für die Güterbeförderung ausgelegte und gebaute Kraftfahrzeuge -mit einer zulässigen Gesamtmasse von 3,5 Tonnen}\cite{Richtlinie70/156/EWG:Fahrzeugklassen}. +mit einer zulässigen Gesamtmasse von +3,5~Tonnen}~\cite{Richtlinie70/156/EWG:Fahrzeugklassen}. -In der EU wurde mit \cite{EUDirective98/69/EC} die OBD-Schnittstelle +In der EU wurde mit~\cite{EUDirective98/69/EC} die OBD-Schnittstelle verpflichtend für Fahrzeuge der Klasse M$_1$ und N$_1$ mit Fremdzündungsmotor ab 1.~Januar 2004. Die EU-Direktive führt weiter die in der ISO~DIS~15031-6 Norm aufgeführten Fehlercodes als Minimalstandard ein. Diese müssen diff --git a/publications/Seminar-Kognitive-Automobile/UVKABoA4.cls b/publications/Seminar-Kognitive-Automobile/UVKABoA4.cls deleted file mode 100644 index 0580dd5..0000000 --- a/publications/Seminar-Kognitive-Automobile/UVKABoA4.cls +++ /dev/null @@ -1,114 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%Dokumentklasse UVKABook für A4%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\NeedsTeXFormat{LaTeX2e} -\ProvidesClass{UVKABoA4} - -\DeclareOption{twoside}{\PassOptionsToClass{\CurrentOption}{scrbook}} -\DeclareOption{parindent}{\PassOptionsToClass{\CurrentOption}{scrbook}} -\DeclareOption{11pt}{\PassOptionsToClass{\CurrentOption}{scrbook}} -\DeclareOption{liststotocnumbered}{\PassOptionsToClass{\CurrentOption}{scrbook}} -\DeclareOption{idxtotoc}{\PassOptionsToClass{\CurrentOption}{scrbook}} -\DeclareOption{bibtotocnumbered}{\PassOptionsToClass{\CurrentOption}{scrbook}} -\DeclareOption{idxtotocnumbered}{ - \AtEndOfClass{ - \renewcommand*\idx@heading{ - \if@openright\cleardoublepage\else\clearpage\fi - \twocolumn[\chapter{\indexname}] - \@mkboth{\indexname}{\indexname} - } - } -} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrbook}} -\ExecuteOptions{parindent,twoside,11pt,liststotocnumbered,idxtotocnumbered,bibtotocnumbered} -\ProcessOptions\relax -\LoadClass{scrbook} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\let\switcht@@therlang\relax -\let\svlanginfo\relax -\def\ds@deutsch{\def\switcht@@therlang{\switcht@deutsch} -\gdef\svlanginfo{\typeout{Deutsche Sprache}\global\let\svlanginfo\relax}} - -\AtBeginDocument{\@ifpackageloaded{babel}{ -\@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}} -\@ifundefined{extrasngerman}{}{\addto\extrasngerman{\switcht@deutsch}} -}{\switcht@@therlang} -} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\RequirePackage[T1]{fontenc} -\RequirePackage[utf8]{inputenc} -\RequirePackage[titles]{tocloft} -\RequirePackage{makeidx} -\RequirePackage{mathptmx} -\RequirePackage{natbib} -\RequirePackage{color} -\RequirePackage{scrpage2} -\RequirePackage[inner=3cm,% - outer=2cm,% - top=2.7cm,% - bottom=3.2cm]{geometry} -\RequirePackage[onehalfspacing]{setspace} -%\clubpenalty = 10000 -%\widowpenalty = 10000 -%\displaywidowpenalty = 10000 - -\bibliographystyle{abbrv} - -\setheadsepline{.4pt} - -\addtokomafont{chapter}{\fontfamily{phv}\fontsize{14}{14}\bfseries} -\addtokomafont{section}{\fontfamily{phv}\normalsize\bfseries} -\addtokomafont{subsection}{\fontfamily{phv}\normalsize\bfseries} -\addtokomafont{subsubsection}{\fontfamily{phv}\normalsize\bfseries} -\addtokomafont{caption}{\small} -\setkomafont{captionlabel}{\small} -\setkomafont{pagehead}{\small} - - - -\color[cmyk]{0,0,0,1} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\deffootnote[1.5em]{2em}{1.5em}{\textsuperscript{\thefootnotemark}} - -\renewcommand{\cftchappagefont}{\fontfamily{phv}\bfseries} -\renewcommand{\cftchapfont}{\fontfamily{phv}\bfseries} -\renewcommand{\cftsecpagefont}{\fontfamily{phv}} -\renewcommand{\cftsubsecpagefont}{\fontfamily{phv}} -\renewcommand{\cftsecfont}{\fontfamily{phv}} -\renewcommand{\cftsubsecfont}{\fontfamily{phv}} - -\newcommand{\affirmation}[1][\affirmationname]{\chapter*{#1}} -\newcommand{\Affirmation}[1][\affirmationname]{\chapter*{#1}\addcontentsline{toc}{chapter}{#1}} - -\newcommand{\preface}[1][\prefacename]{\chapter*{#1}} -\newcommand{\Preface}[1][\prefacename]{\chapter*{#1}\addcontentsline{toc}{chapter}{#1}} - -\newcommand{\ack}[1][\ackname]{\chapter*{#1}} -\newcommand{\Ack}[1][\ackname]{\chapter*{#1}\addcontentsline{toc}{chapter}{#1}} - -\newcommand{\abstract}[1][\abstractname]{\chapter*{#1}} -\newcommand{\Abstract}[1][\abstractname]{\chapter*{#1}\addcontentsline{toc}{chapter}{#1}} - -\newcommand{\changefont}[3]{\fontfamily{#1} \fontseries{#2} \fontshape{#3} \selectfont} - -\def\ackname{Acknowledgment} -\def\abstractname{Abstract} -\def\affirmationname{Affirmation} -\renewcommand{\figurename}{Fig.} -\renewcommand{\tablename}{Tab.} -\def\switcht@deutsch{\svlanginfo - \def\ackname{Danksagung} - \def\abstractname{Kurzfassung} - \def\affirmationname{Erklärung} - \renewcommand{\figurename}{Abb.} - \renewcommand{\tablename}{Tab.} -} - -\renewcommand*{\chapterpagestyle}{headings} -%\renewcommand{\baselinestretch}{1.33} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ No newline at end of file diff --git a/publications/Seminar-Kognitive-Automobile/content/Verteidigung.tex b/publications/Seminar-Kognitive-Automobile/Verteidigung.tex similarity index 71% rename from publications/Seminar-Kognitive-Automobile/content/Verteidigung.tex rename to publications/Seminar-Kognitive-Automobile/Verteidigung.tex index c0c1062..2ae3b77 100644 --- a/publications/Seminar-Kognitive-Automobile/content/Verteidigung.tex +++ b/publications/Seminar-Kognitive-Automobile/Verteidigung.tex @@ -1,5 +1,5 @@ %!TEX root = ../booka4.tex -\chapter{Verteidigungsmaßnahmen}\label{ch:defense} +\section{Verteidigungsmaßnahmen}\label{ch:defense} Wie bereits in \cref{sec:sicherheitslage} beschrieben, sind die Arten der Angriffe nicht neu. Daher sind auch die Verteidigungsmaßnahmen nicht spezifisch für den Automobilbereich, sondern allgemeiner softwaretechnischer @@ -13,23 +13,23 @@ Debugging-Symbole in der Software waren. Diese können und sollten entfernt werden. -\section{Datenvalidierung}\label{sec:validation} +\subsection{Datenvalidierung}\label{sec:validation} Der CAN-Bus ist eine große Schwachstelle der IT-Sicherheit in Autos. Über ihn müssen viele ECUs kommunizieren und einige, wie das Autoradio, werden nicht als -sicherheitskritisch wahrgenommen. Gleichzeitig sind sicherheitskritische ECUs +sicherheits\-kritisch wahrgenommen. Gleichzeitig sind sicherheitskritische ECUs an dem selben CAN-Bus angeschlossen. Daher ist es wichtig die Nachrichten, welche über den CAN-Bus empfangen werden, zu filtern. Die Informationen müssen auf Plausibilität geprüft werden. Insbesondere bei Software-Updates sollte anhand einer kryptographischen Signatur überprüft werden, ob das Update vom Hersteller stammt. -Außerdem sollten laut Checkoway~et~al. die Diagnosegeräte Authentifizierung und -Verschlüsselung wie beispielsweise OpenSSL nutzen. +Außerdem sollten laut Checkoway~et~al. die Diagnose\-geräte Authentifizierung +und Verschlüsselung wie beispielsweise OpenSSL nutzen. -\section{Buffer Overflows} +\subsection{Buffer Overflows} Gegen Buffer-Overflow-Angriffe können zum einen Sprachen wie Java oder Rust -verwendet werden, welche die Einhaltung der Bereichsgrenzen automatisch +verwendet werden, welche die Einhaltung der Bereichs\-grenzen automatisch überprüfen. Des Weiteren kann anstelle der C-Funktion \verb+strcpy()+ die Funktion \verb+strncpy()+ verwendet werden, welche die Anzahl der zu schreibenden Zeichen begrenzt~\cite{Eckert2012}. @@ -38,18 +38,18 @@ Ein weiteres Konzept zum Schutz vor Buffer-Overflow-Angriffen sind Stack Cookies~\cite{Bray2002}. Stack Cookies sind Werte die auf den Stack, direkt nach den Puffer geschrieben werden. Bevor der Sprung zurück in die aufrufende Funktion durchgeführt wird, wird die \verb+XOR+ Operation auf -den Stack Cookie und die Rücksprungadresse ausgeführt. Der so errechnete Wert +den Stack Cookie und die Rücksprung\-adresse ausgeführt. Der so errechnete Wert wird mit dem erwarteten Wert verglichen. Falls es eine Abweichung gibt wird -nicht die \verb+RET+ Operation ausgeführt, sondern in eine Sicherheitsroutine +nicht die \verb+RET+ Operation ausgeführt, sondern in eine Sicherheits\-routine gesprungen, die diesen Fall behandelt. -\section{Code-Qualität} -Code Reviews können solche Sicherheitslücken aufdecken~\cite{Howard2006}. +\subsection{Code-Qualität} +Code Reviews können solche Sicherheits\-lücken aufdecken~\cite{Howard2006}. Code Reviews können teilweise automatisch mit Werkzeugen zur statischen Code Analyse durchgeführt werden~\cite{McGraw2008}. Eine weiterer wichtiger Stützpfeiler für sichere Software sind schnell -ausgelieferte Sicherheitsaktualisierungen. Dazu gehört laut~\cite{Mahaffey2015} -unter anderem ein System zum mobilen versenden von Aktualisierungen an Autos -mit Mobilfunkverbindung. +ausgelieferte Sicherheits\-aktualisierungen. Dazu gehört +laut~\cite{Mahaffey2015} unter anderem ein System zum mobilen versenden von +Aktualisierungen an Autos mit Mobilfunk\-verbindung. diff --git a/publications/Seminar-Kognitive-Automobile/abstract.tex b/publications/Seminar-Kognitive-Automobile/abstract.tex new file mode 100644 index 0000000..e80b0fe --- /dev/null +++ b/publications/Seminar-Kognitive-Automobile/abstract.tex @@ -0,0 +1,7 @@ +\begin{abstract} +Moderne Automobile verfügen über eine Vielzahl von Assistenz- und +Fahrsicherheits\-systemen. Diese Systeme haben Schnittstellen, welche das Ziel +von Angriffen sein können. In dieser Seminar\-arbeit wird der aktuelle Stand der +IT-Sicherheit kognitiver Automobilie untersucht. Dabei wird auf mögliche +Angriffe sowie Möglichkeiten zum Schutz eingegangen. +\end{abstract} diff --git a/publications/Seminar-Kognitive-Automobile/booka4.pdf b/publications/Seminar-Kognitive-Automobile/booka4.pdf index a0ef463..4439965 100644 Binary files a/publications/Seminar-Kognitive-Automobile/booka4.pdf and b/publications/Seminar-Kognitive-Automobile/booka4.pdf differ diff --git a/publications/Seminar-Kognitive-Automobile/booka4.tex b/publications/Seminar-Kognitive-Automobile/booka4.tex index 1b5a541..335731a 100644 --- a/publications/Seminar-Kognitive-Automobile/booka4.tex +++ b/publications/Seminar-Kognitive-Automobile/booka4.tex @@ -1,5 +1,9 @@ -\documentclass{UVKABoA4} +\documentclass[technote,a4paper,leqno]{IEEEtran} +\pdfoutput=1 +\usepackage[utf8]{inputenc} % this is needed for umlauts +\usepackage[ngerman]{babel} % this is needed for umlauts +\usepackage[T1]{fontenc} % this is needed for correct output of umlauts in pdf \usepackage{graphicx} % Standardpaket zur Grafikeinbindung \usepackage{amsmath,amssymb} % Erweiterung des Mathematik-Modus \usepackage[colorinlistoftodos, german]{todonotes} % Option 'disable' entfernt alle ToDos @@ -10,84 +14,48 @@ \usepackage[binary-units=true]{siunitx} \usepackage{minted} % needed for the inclusion of source code -% Toggle the following two lines to switch between english and german layout -% \usepackage[english]{babel} % Neue deutsche Rechtschreibung und Silbentrennung. -\usepackage[ngerman]{babel} % Neue deutsche Rechtschreibung und Silbentrennung. - +\usepackage{url} +\usepackage{breakurl} \usepackage[raiselinks=true, bookmarks=true, bookmarksopenlevel=1, bookmarksopen=true, bookmarksnumbered=true, + breaklinks, hyperindex=true, plainpages=false, pdfpagelabels=true, pdfborder={0 0 0.5}]{hyperref} +\def\UrlBreaks{\do\/\do-} - -\makeatletter -\def\tagform@#1{\maketag@@@{\ignorespaces [#1]\unskip\@@italiccorr}} % Anpassung der Formelnummerierung -\makeatother - -\makeindex - -\newcommand{\myname}{Martin~Thoma} -\newcommand{\headtitle}{Sicherheit in Kognitiven Automobilien} -\newcommand{\floatingtitle}{Sicherheit in Kognitiven Automobilien} -\newcommand{\thesistype}{Seminararbeit} -\newcommand{\advisor}{Dipl.--Inform.~Ralf~Kohlhaas} - -\newcommand{\timestart}{23. Juli 2015} -\newcommand{\releaseyear}{2015} -\newcommand{\timeend}{17. April \releaseyear} -\newcommand{\releasemonth}{im Juli \releaseyear} - - -% Names of the organizations -\newcommand{\term}{\iflanguage{english}{Seminar Cognitive Vehicles} - {Seminar Kognitive Automobile}} -\newcommand{\department}{\iflanguage{english}{Department of Computer Science} - {Fakultät für Informatik}} -\newcommand{\institute}{\iflanguage{english}{Institute for Anthropomatics} - {Institut für Anthropomatik}} -\newcommand{\fzidepartment}{Abteilung Technisch Kognitive Assistenzsysteme} -\newcommand{\fziname}{\iflanguage{english}{FZI Research Center for Information Technology} - {FZI Forschungszentrum Informatik}} \usepackage{xspace} \newcommand*\elide{\textup{[\,\dots]}\xspace} -% A graphic best describing your thesis -\newcommand{\titlefig}{\includegraphics[width=0.4\textwidth]{graphics/FZI-Logo}} +\usepackage[german,nameinlink, noabbrev,capitalise]{cleveref} -\usepackage[german,nameinlink]{cleveref} +\title{Sicherheit in Kognitiven Automobilien} +\author{% + \IEEEauthorblockN{Martin Thoma}\\ + \IEEEauthorblockA{E-Mail: info@martin-thoma.de} % ORCID: http://orcid.org/0000-0002-6517-1690 +} + +\hypersetup{ + pdfauthor = {Martin Thoma}, + pdfkeywords = {security, Sicherheit, Automobile, Hacking}, + pdfsubject = {security}, + pdftitle = {Sicherheit in Kognitiven Automobilien}, +} + +\usepackage{microtype} \begin{document} +\maketitle +\input{abstract} +\input{Einleitung} +\input{Standards} +\input{Angriffe} +\input{Verteidigung} -\pagenumbering{roman} -\include{preface/kit_titlepage} - -\parindent 1em -\include{preface/abstract} -\begingroup -\changefont{phv}{m}{n} -\tableofcontents -\endgroup - -\mainmatter -\renewcommand{\chapterpagestyle}{plain} -\pagestyle{scrheadings} -\pagenumbering{arabic} - -\input{content/Einleitung} -\input{content/Standards} -\input{content/Angriffe} -\input{content/Verteidigung} - -\pagestyle{scrplain} -\appendix -\bibliography{content/literatur} - -\printindex - - +\bibliographystyle{IEEEtranSA} +\bibliography{literatur} \end{document} diff --git a/publications/Seminar-Kognitive-Automobile/content/exploit-buffer-overflow/exploitable.asm b/publications/Seminar-Kognitive-Automobile/content/exploit-buffer-overflow/exploitable.asm deleted file mode 100644 index 84f4788..0000000 --- a/publications/Seminar-Kognitive-Automobile/content/exploit-buffer-overflow/exploitable.asm +++ /dev/null @@ -1,29 +0,0 @@ -%% Funktion exploitableFunction -0x0000000000400586 <+0>: push %rbp -0x0000000000400587 <+1>: mov %rsp,%rbp -0x000000000040058a <+4>: sub $0x20,%rsp -0x000000000040058e <+8>: lea -0x20(%rbp),%rax -0x0000000000400592 <+12>: mov %rax,%rdi -0x0000000000400595 <+15>: callq 0x400480 -0x000000000040059a <+20>: lea -0x20(%rbp),%rax -0x000000000040059e <+24>: mov %rax,%rdi -0x00000000004005a1 <+27>: callq 0x400450 -0x00000000004005a6 <+32>: leaveq -0x00000000004005a7 <+33>: retq - - -%% Funktion main -% Funktionsprolog: Sichern des alten Base Pointers im Stack. Der alte Stack -% Pointer wird zum neuen Base Pointer -0x00000000004005a8 <+0>: push %rbp -0x00000000004005a9 <+1>: mov %rsp,%rbp - -% Aufrufen der Funktion "exploitableFunction" -0x00000000004005ac <+4>: callq 0x400586 -% Kopieren der Konstante "0" in das EAX-Register -0x00000000004005b1 <+9>: mov $0x0,%eax -% Kopieren des Wertes von [%rsp] in das Base Pointer Register -0x00000000004005b6 <+14>: pop %rbp -% Laden des Wertes von [%rsp], hinzufügen von 8 zu dem Wert in [%rsp], und -% Sprung zur geladenen Adresse -0x00000000004005b7 <+15>: retq diff --git a/publications/Seminar-Kognitive-Automobile/content/exploit-buffer-overflow/exploitable.c b/publications/Seminar-Kognitive-Automobile/content/exploit-buffer-overflow/exploitable.c deleted file mode 100644 index 7e76810..0000000 --- a/publications/Seminar-Kognitive-Automobile/content/exploit-buffer-overflow/exploitable.c +++ /dev/null @@ -1,12 +0,0 @@ -#include - -void exploitableFunction (void) { - char small[30]; - gets (small); - printf("%s\n", small); -} - -int main(void) { - exploitableFunction(); - return 0; -} \ No newline at end of file diff --git a/publications/Seminar-Kognitive-Automobile/graphics/README.md b/publications/Seminar-Kognitive-Automobile/graphics/README.md deleted file mode 100644 index 50d3aeb..0000000 --- a/publications/Seminar-Kognitive-Automobile/graphics/README.md +++ /dev/null @@ -1,6 +0,0 @@ -Not added due to legal reasons: - -* kitlogo_de_rgb.eps -* kitlogo_de_rgb.pdf -* kitlogo_en_rgb.eps -* kitlogo_en_rgb.pdf diff --git a/publications/Seminar-Kognitive-Automobile/content/literatur.bib b/publications/Seminar-Kognitive-Automobile/literatur.bib similarity index 100% rename from publications/Seminar-Kognitive-Automobile/content/literatur.bib rename to publications/Seminar-Kognitive-Automobile/literatur.bib diff --git a/publications/Seminar-Kognitive-Automobile/preface/abstract.tex b/publications/Seminar-Kognitive-Automobile/preface/abstract.tex deleted file mode 100644 index d544be3..0000000 --- a/publications/Seminar-Kognitive-Automobile/preface/abstract.tex +++ /dev/null @@ -1,8 +0,0 @@ - -\abstract - -Moderne Automobile verfügen über eine Vielzahl von Assistenz- und -Fahrsicherheitssystemen. Diese Systeme haben Schnittstellen, welche das Ziel -von Angriffen sein können. In dieser Seminararbeit wird der aktuelle Stand der -IT-Sicherheit kognitiver Automobilie untersucht. Dabei wird auf mögliche -Angriffe sowie Möglichkeiten zum Schutz eingegangen. \ No newline at end of file diff --git a/publications/Seminar-Kognitive-Automobile/preface/kit_titlepage.tex b/publications/Seminar-Kognitive-Automobile/preface/kit_titlepage.tex deleted file mode 100755 index c0d90db..0000000 --- a/publications/Seminar-Kognitive-Automobile/preface/kit_titlepage.tex +++ /dev/null @@ -1,82 +0,0 @@ -%% titlepage.tex -%% - -% coordinates for the bg shape on the titlepage -\newcommand{\diameter}{20} -\newcommand{\xone}{-25} -\newcommand{\xtwo}{150} -\newcommand{\yone}{25} -\newcommand{\ytwo}{-243} - -\begin{titlepage} -% bg shape -\begin{tikzpicture}[overlay] -\draw[color=gray] - (\xone mm, \yone mm) - -- (\xtwo mm, \yone mm) - arc (90:0:\diameter pt) - -- (\xtwo mm + \diameter pt , \ytwo mm) - -- (\xone mm + \diameter pt , \ytwo mm) - arc (270:180:\diameter pt) - -- (\xone mm, \yone mm); -\end{tikzpicture} - \begin{textblock}{10}[0,0](3.35,2.55) - \iflanguage{english} {\includegraphics[width=.3\textwidth]{graphics/kitlogo_en_rgb}} - {\includegraphics[width=.3\textwidth]{graphics/kitlogo_de_rgb}} - \end{textblock} - \changefont{phv}{m}{n} % helvetica - \vspace*{2.0cm} - - \begin{center} - \Large{ - \iflanguage{english}{Seminar Cognitive Vehicles} - {Seminar Kognitive Automobile} - }\\ - \vspace*{1cm} - \Huge{\headtitle} - \vspace*{2cm}\\ - \Large{ - \iflanguage{english}{Term Paper of} - {Seminararbeit\\von} - }\\ - \vspace*{1cm} - \huge{\myname}\\ - \vspace*{1cm} - \Large{ - \department\\ \institute\\ \iflanguage{english}{and}{und}\\ \fziname - } - \end{center} - \vspace*{1.5cm} -\Large{ -\begin{center} -\begin{tabular}[ht]{l c l} - %\iflanguage{english}{Reviewer}{Erstgutachter}: & \hfill & \reviewerone\\ - %\iflanguage{english}{Second reviewer}{Zweitgutachter}: & \hfill & \reviewertwo\\ - \iflanguage{english}{Advisor}{Betreuender Mitarbeiter}: & \hfill & \advisor\\ - % \iflanguage{english}{Second advisor}{Zweiter betreuender Mitarbeiter}: & \hfill & \advisortwo\\ -\end{tabular} -\end{center} -} - - -\vspace{2cm} -\begin{center} -\large{\iflanguage{english}{Research Period}{Sommersemester 2015} } -\end{center} - - -\begin{textblock}{10}[0,0](4,16.8) -\tiny{ - \iflanguage{english} - {KIT -- University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association} - {KIT -- Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft} -} -\end{textblock} - -\begin{textblock}{10}[0,0](14,16.75) -\large{ - \textbf{www.kit.edu} -} -\end{textblock} - -\end{titlepage} diff --git a/publications/Seminar-Kognitive-Automobile/content/exploit-buffer-overflow/simple.c b/publications/Seminar-Kognitive-Automobile/simple.c similarity index 76% rename from publications/Seminar-Kognitive-Automobile/content/exploit-buffer-overflow/simple.c rename to publications/Seminar-Kognitive-Automobile/simple.c index 70a271e..1496b83 100644 --- a/publications/Seminar-Kognitive-Automobile/content/exploit-buffer-overflow/simple.c +++ b/publications/Seminar-Kognitive-Automobile/simple.c @@ -15,7 +15,9 @@ int main(void) { } if (pass) { - printf("Password protected code. pass=%i\n", pass); + printf("Password protected"); + printf(" code. pass=%i\n", + pass); } return 0;