瀏覽代碼

Prepare publications/Seminar-Kognitive-Automobile for submission to arXiv

Martin Thoma 9 年之前
父節點
當前提交
c5887ded1d

+ 2 - 0
publications/Seminar-Kognitive-Automobile/00README.XXX

@@ -0,0 +1,2 @@
+booka4.tex toplevelfile
+nohypertex

+ 45 - 41
publications/Seminar-Kognitive-Automobile/content/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}

+ 2 - 2
publications/Seminar-Kognitive-Automobile/content/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.

+ 5 - 4
publications/Seminar-Kognitive-Automobile/content/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

+ 0 - 114
publications/Seminar-Kognitive-Automobile/UVKABoA4.cls

@@ -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}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

+ 14 - 14
publications/Seminar-Kognitive-Automobile/content/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.

+ 7 - 0
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}

二進制
publications/Seminar-Kognitive-Automobile/booka4.pdf


+ 32 - 64
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
+}
 
-\begin{document}
-
-\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
+\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}
+
+\bibliographystyle{IEEEtranSA}
+\bibliography{literatur}
 \end{document}

+ 0 - 29
publications/Seminar-Kognitive-Automobile/content/exploit-buffer-overflow/exploitable.asm

@@ -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 <gets@plt>
-0x000000000040059a <+20>:    lea    -0x20(%rbp),%rax
-0x000000000040059e <+24>:    mov    %rax,%rdi
-0x00000000004005a1 <+27>:    callq  0x400450 <puts@plt>
-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 <exploitableFunction>
-% 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

+ 0 - 12
publications/Seminar-Kognitive-Automobile/content/exploit-buffer-overflow/exploitable.c

@@ -1,12 +0,0 @@
-#include <stdio.h>
-
-void exploitableFunction (void) {
-    char small[30];
-    gets (small);
-    printf("%s\n", small);
-}
-
-int main(void) {
-    exploitableFunction();
-    return 0;
-}

+ 0 - 6
publications/Seminar-Kognitive-Automobile/graphics/README.md

@@ -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

publications/Seminar-Kognitive-Automobile/content/literatur.bib → publications/Seminar-Kognitive-Automobile/literatur.bib


+ 0 - 8
publications/Seminar-Kognitive-Automobile/preface/abstract.tex

@@ -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.

+ 0 - 82
publications/Seminar-Kognitive-Automobile/preface/kit_titlepage.tex

@@ -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}

+ 3 - 1
publications/Seminar-Kognitive-Automobile/content/exploit-buffer-overflow/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;