summaryrefslogtreecommitdiff
path: root/ma
diff options
context:
space:
mode:
authorjaseg <git@jaseg.net>2019-12-28 10:51:58 +0100
committerjaseg <git@jaseg.net>2019-12-28 10:51:58 +0100
commit6dd75fd080777e6b013f5cd4308c1da9d12f40db (patch)
tree2e165b7700a8617b4ac164e4fe0b7283df0e548d /ma
parentf2c7387637f705d53ca273a498cb4c1c694edb0b (diff)
downloadmaster-thesis-6dd75fd080777e6b013f5cd4308c1da9d12f40db.tar.gz
master-thesis-6dd75fd080777e6b013f5cd4308c1da9d12f40db.tar.bz2
master-thesis-6dd75fd080777e6b013f5cd4308c1da9d12f40db.zip
Initial commit
Diffstat (limited to 'ma')
-rw-r--r--ma/Makefile19
-rw-r--r--ma/murks.tex160
-rw-r--r--ma/safety_reset.tex336
3 files changed, 515 insertions, 0 deletions
diff --git a/ma/Makefile b/ma/Makefile
new file mode 100644
index 0000000..3645f5f
--- /dev/null
+++ b/ma/Makefile
@@ -0,0 +1,19 @@
+
+SHELL := bash
+.ONESHELL:
+.SHELLFLAGS := -eu -o pipefail -c
+.DELETE_ON_ERROR:
+MAKEFLAGS += --warn-undefined-variables
+MAKEFLAGS += --no-builtin-rules
+
+all: safety_reset.pdf
+
+%.pdf: %.tex %.bib
+ pdflatex $<
+ biber $*
+ pdflatex $<
+
+.PHONY: clean
+clean:
+ rm -f safety_reset.aux safety_reset.bbl safety_reset.bcf safety_reset.log safety_reset.blg
+ rm -f safety_reset.out safety_reset.run.xml texput.log
diff --git a/ma/murks.tex b/ma/murks.tex
new file mode 100644
index 0000000..4c3527e
--- /dev/null
+++ b/ma/murks.tex
@@ -0,0 +1,160 @@
+% LaTeX-Vorlage für die Titelseite und Selbständigkeitserklärung einer Abschlussarbeit
+% basierend auf der vorigen Institutsvorlage des Instituts für Informatik
+% sowie der Vorlage für Promotionsarbeiten.
+%
+% erweitert: 2014-06-12 Dennis Schneider <dschneid@informatik.hu-berlin.de>
+
+% gepunktete Linie unter Objekt:
+\newcommand{\TitelPunkte}[1]{%
+ \tikz[baseline=(todotted.base)]{
+ \node[inner sep=1pt,outer sep=0pt] (todotted) {#1};
+ \draw[dotted] (todotted.south west) -- (todotted.south east);
+ }%
+}%
+
+% gepunktete Linie mit gegebener Länge:
+\newcommand{\TitelPunktLinie}[1]{\TitelPunkte{\makebox[#1][l]{}}}
+
+\makeatletter
+
+\newcommand*{\@titelTitel}{Titel der Arbeit}
+\newcommand{\titel}[1]{\renewcommand*{\@titelTitel}{#1}} % Titel der Arbeit
+\newcommand*{\@titelArbeit}{Arbeitstyp}
+\newcommand{\typ}[1]{\renewcommand*{\@titelArbeit}{#1}} % Typ der Arbeit
+\newcommand*{\@titelGrad}{akademischer Grad}
+\newcommand{\grad}[1]{\renewcommand*{\@titelGrad}{#1}} % Akademischer Grad
+\newcommand*{\@titelAutor}{Autor}
+\newcommand{\autor}[1]{\renewcommand*{\@titelAutor}{#1}} % Autor der Arbeit
+\newcommand*{\@titelGeburtsdatum}{\TitelPunktLinie{2cm}}
+\newcommand{\gebdatum}[1]{\renewcommand*{\@titelGeburtsdatum}{#1}} % Geburtsdatum des Autors
+\newcommand*{\@titelGeburtsort}{\TitelPunktLinie{5cm}}
+\newcommand{\gebort}[1]{\renewcommand*{\@titelGeburtsort}{#1}} % Geburtsort des Autors
+\newcommand*{\@titelGutachterA}{\TitelPunktLinie{5cm}}
+\newcommand*{\@titelGutachterB}{\TitelPunktLinie{5cm}}
+\newcommand{\gutachter}[2]{\renewcommand*{\@titelGutachterA}{#1}\renewcommand*{\@titelGutachterB}{#2}} % Erst- und Zweitgutachter
+\newcommand*{\@titelEinreichungsdatum}{\TitelPunktLinie{3cm}} % Datum der Einreichung, wird nicht vom Studenten ausgefüllt
+\newcommand*{\@titelVerteidigungsdatum}{} % Verteidigungstext, wird nicht vom Studenten ausgefüllt
+\newcommand{\mitverteidigung}{\renewcommand*{\@titelVerteidigungsdatum}{verteidigt am: \,\,\TitelPunktLinie{3cm}}} % Verteidigungsplatzhalter erzeugen
+\newcommand*{\@wastwoside}{}
+
+% Titelseite erzeugen:
+\newcommand{\makeTitel}{%
+ % Speichere, ob doppelseitiges Layout gewählt wurde:
+\if@twoside%
+ \renewcommand*{\@wastwoside}{twoside}
+\else
+ \renewcommand*{\@wastwoside}{twoside=false}
+\fi
+ \begin{titlepage}
+ % Ändern der Einrückungen
+ \newlength{\parindentbak} \setlength{\parindentbak}{\parindent}
+ \newlength{\parskipbak} \setlength{\parskipbak}{\parskip}
+ \setlength{\parindent}{0pt}
+ \setlength{\parskip}{\baselineskip}
+
+ \thispagestyle{empty}
+
+ \begin{minipage}[c][3cm][c]{12cm}
+ \textsc{%
+ % optischer Randausgleich per Hand:
+ \hspace{-0.4mm}\textls*[68]{\Large Humboldt-Universität zu Berlin}\\
+ \normalsize \textls*[45]{
+ Mathematisch-Naturwissenschaftliche Fakultät\\
+ Institut für Informatik
+ }
+ }
+ \end{minipage}
+ \hfill
+
+
+ % Also wenn schon serifenlose Schriften (Titel), dann ganz oder gar nicht
+ \sffamily
+
+ \vfill
+
+ \begin{center}
+ \begin{doublespace}
+ \vspace{\baselineskip}
+ {\LARGE \textbf{\@titelTitel}}\\
+ %\vspace{1\baselineskip}
+ {\Large
+ \@titelArbeit\\
+ zur Erlangung des akademischen Grades\\
+ \@titelGrad
+ \vspace{\baselineskip}
+ }
+ \end{doublespace}
+ \end{center}
+
+ \vfill
+\newcolumntype{L}{>{\raggedright\arraybackslash}X}
+ {\large \raggedleft
+ \begin{tabularx}{\textwidth}{l@{\,\,\raggedright~}L} % verbreiterter Abstand zwischen Feldern wurde gewünscht
+ eingereicht von: & \@titelAutor\\
+ geboren am: & {\@titelGeburtsdatum}\\
+ geboren in: & \@titelGeburtsort
+ \vspace{0.5\baselineskip}\\
+ Gutachter/innen: & \@titelGutachterA \\
+ & \@titelGutachterB
+ \vspace{0.5\baselineskip}\\
+ eingereicht am: & \@titelEinreichungsdatum \hfill \@titelVerteidigungsdatum
+ \end{tabularx}}
+ \vspace{-1\baselineskip}\\\phantom{x} % Übler Hack, um eine Warnung wg. einer zu leeren hbox zu verhindern
+ % Wiederherstellen der Einrückung
+ \setlength{\parindent}{\parindentbak}
+ \setlength{\parskip}{\parskipbak}
+ \end{titlepage}
+
+ % Aufräumen:
+ \let\@titelTitel\undefined
+ \let\titel\undefined
+ \let\@titelArbeit\undefined
+ \let\typ\undefined
+ \let\@titelGrad\undefined
+ \let\grad\undefined
+ \let\@titelAutor\undefined
+ \let\autor\undefined
+ \let\@titelGeburtsdatum\undefined
+ \let\gebdatum\undefined
+ \let\@titelGeburtsort\undefined
+ \let\gebort\undefined
+ \let\@titelGutachterA\undefined
+ \let\@titelGutachterB\undefined
+ \let\gutachter\undefined
+ \let\@titelEinreichungsdatum\undefined
+ \let\einreichungsdatum\undefined
+ \let\@titelVerteidigungsdatum\undefined
+ \let\verteidigungsdatum\undefined
+
+ \let\@wastwoside\undefined
+ \cleardoublepage % ganzes Blatt für die Titelseite
+}
+
+% Als Allerallerletztes kommt Selbständigkeitserklärung:
+% Aufruf mit dem Datum in deutscher und englischer Form
+\newcommand{\selbstaendigkeitserklaerung}[1]{%
+ \cleardoublepage% Wieder auf eine eigene Doppelseite
+ {\parindent0cm
+ \subsection*{Selbständigkeitserklärung}
+ Ich erkläre hiermit, dass ich die vorliegende Arbeit selbständig verfasst
+ und noch nicht für andere Prüfungen eingereicht habe.
+ Sämtliche Quellen einschließlich Internetquellen, die unverändert oder
+ abgewandelt wiedergegeben werden, insbesondere Quellen für Texte, Grafiken,
+ Tabellen und Bilder, sind als solche kenntlich gemacht. Mir ist bekannt,
+ dass bei Verstößen gegen diese Grundsätze ein Verfahren wegen
+ Täuschungsversuchs bzw. Täuschung eingeleitet wird.
+ \vspace{3\baselineskip}
+
+ {\raggedright Berlin, den #1 \hfill \TitelPunktLinie{8cm}\\}
+% \vspace{3\baselineskip}
+%
+% \selectlanguage{english}
+% \subsection*{Statement of authorship}
+% Hier würde die englische Selbständigkeitserklärung folgen, falls gewünscht. Doch es fehlt eine akzeptable Übersetzung.
+% \vspace{3\baselineskip}
+%
+% Berlin, #2 \hfill \TitelPunktLinie{6cm}
+ }
+}%
+
+\makeatother
diff --git a/ma/safety_reset.tex b/ma/safety_reset.tex
new file mode 100644
index 0000000..41b511b
--- /dev/null
+++ b/ma/safety_reset.tex
@@ -0,0 +1,336 @@
+\documentclass[12pt,a4paper,notitlepage]{report}
+\usepackage[utf8]{inputenc}
+\usepackage[a4paper,textwidth=17cm, top=2cm, bottom=3.5cm]{geometry}
+\usepackage[T1]{fontenc}
+\usepackage[
+ backend=biber,
+ style=numeric,
+ natbib=true,
+ url=true,
+ doi=true,
+ eprint=false
+ ]{biblatex}
+\addbibresource{safety_reset.bib}
+\usepackage{amssymb,amsmath}
+\usepackage{listings}
+\usepackage{eurosym}
+\usepackage{wasysym}
+\usepackage{amsthm}
+\usepackage{tabularx}
+\usepackage{multirow}
+\usepackage{multicol}
+\usepackage{tikz}
+
+\usetikzlibrary{arrows}
+\usetikzlibrary{backgrounds}
+\usetikzlibrary{calc}
+\usetikzlibrary{decorations.markings}
+\usetikzlibrary{decorations.pathreplacing}
+\usetikzlibrary{fit}
+\usetikzlibrary{patterns}
+\usetikzlibrary{positioning}
+\usetikzlibrary{shapes}
+
+\usepackage{hyperref}
+\usepackage{tabularx}
+\usepackage{commath}
+\usepackage{graphicx,color}
+\usepackage{subcaption}
+\usepackage{float}
+\usepackage{footmisc}
+\usepackage{array}
+\usepackage[underline=false]{pgf-umlsd}
+\usetikzlibrary{calc}
+%\usepackage[pdftex]{graphicx,color}
+%\usepackage{epstopdf}
+% Needed for murks.tex
+\usepackage{setspace}
+\usepackage[draft=false,babel,tracking=true,kerning=true,spacing=true]{microtype} % optischer Randausgleich etc.
+% For german quotation marks
+
+\newcommand{\foonote}[1]{\footnote{#1}}
+\newcommand{\degree}{\ensuremath{^\circ}}
+\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}}
+
+\begin{document}
+
+% Beispielhafte Nutzung der Vorlage für die Titelseite (bitte anpassen):
+\input{murks}
+\titel{FIXME} % Titel der Arbeit
+\typ{Masterarbeit} % Typ der Arbeit: Diplomarbeit, Masterarbeit, Bachelorarbeit
+\grad{Master of Science (M. Sc.)} % erreichter Akademischer Grad
+% z.B.: Master of Science (M. Sc.), Master of Education (M. Ed.), Bachelor of Science (B. Sc.), Bachelor of Arts (B. A.), Diplominformatikerin
+\autor{Jan Sebastian Götte}
+\gebdatum{Aus datenschutzrechtlichen Gründen nicht abgedruckt} % Geburtsdatum des Autors
+\gebort{Aus datenschutzrechtlichen Gründen nicht abgedruckt} % Geburtsort des Autors
+\gutachter{Prof. Dr. Björn Scheuermann}{FIXME} % Erst- und Zweitgutachter der Arbeit
+\mitverteidigung % entfernen, falls keine Verteidigung erfolgt
+\makeTitel
+\selbstaendigkeitserklaerung{31.03.2020}
+\newpage
+
+% Hier folgt die eigentliche Arbeit (bei doppelseitigem Druck auf einem neuen Blatt):
+\tableofcontents
+\newpage
+
+\chapter{Introduction}
+\section{Structure and operation of the electrical grid}
+\subsection{Structure of the electrical grid}
+\subsubsection{Generators and loads}
+\subsubsection{Transformers}
+\subsubsection{Tie lines}
+
+\subsection{Operational concerns}
+\subsubsection{Modelling the electrical grid}
+\subsubsection{Generator controls}
+\subsubsection{Load shedding}
+\subsubsection{System stability}
+\subsubsection{Power System Stabilizers}
+
+\subsubsection{Smart metering}
+
+\section{Regulatory frameworks around the world}
+\subsection{International standards}
+\subsection{Regulations in Europe}
+\subsection{The regulatory situation in Germany}
+\subsection{The regulatory situation in France}
+\subsection{The regulatory situation in the UK}
+\subsection{The regulatory situation in Italy}
+\subsection{The regulatory situation in northern America}
+\subsection{The regulatory situation in Japan}
+\subsection{Common themes}
+
+\section{Security in smart grids}
+The smart grid in practice is nothing more or less than an aggregation of embedded control and measurement devices that
+are part of a large control system. This implies that all the same security concerns that apply to embedded systems in
+general also apply to most components of a smart grid in some way. Where programmers have been struggling for decades
+now with input validation\cite{leveson01}, the same potential issue raises security concerns in smart grid scenarios as
+well\cite{mo01, lee01}. Only, in smart grid we have two complicating factors present: Many components are embedded
+systems, and as such inherently hard to update. Also, the smart grid and its control algorithms act as a large
+(partially-)distributed system, making problems such as input validation or authentication difficult to
+implement\cite{blaze01} and adding a host of distributed systems problems on top\cite{lamport01}.
+
+Given that the electrical grid is a major piece of essential infrastructure in modern civilization, these problems
+amount to significant issues in practice. Attacks on the electrical grid may have grave consequences\cite{lee01} all the
+while the long maintenance cycles of various components make the system slow to adapt. Thus, components for the smart
+grid need to be built to a much higher standard of security than most consumer devices to ensure they live up to
+well-funded attackers even decades down the road. This requirement intensifies the challenges of embedded security and
+distributed systems security among others that are inherent in any modern complex technological system.
+
+\subsection{Smart grid components as embedded devices}
+A fundamental challenge in smart grid implementations is the central role smart electricity meters play. Smart meters
+are used both for highly-granular load measurement and (in some countries) load switching\cite{zheng01}.
+Smart electricity meters are effectively consumer devices. They are built down to a certain price point that is
+measured by the burden it puts on consumers and that is generally fixed by regulatory authorities. % FIXME cite
+This requirement precludes some hardware features such as the use of a standard hardened software environment on a
+high-powerded embedded system (such as a hypervirtualized embedded linux setup) that would both increase resilience
+against attacks and simplify updates. Combined with the small market sizes in smart grid deployments
+\footnote{
+ Most vendors of smart electricity meters only serve a handful of markets. For the most part, smart meter development
+ cost lies in the meter's software % TODO cite?
+ and most countries use their own home-grown standards, creating a large development burden for new market entrants
+ \cite{cenelec01}.
+}
+this produces a high cost pressure on the software development process for smart electricity meters.
+
+\subsection{The state of the art in embedded security}
+Embedded security generally is much harder than security of higher-level systems. This is due to a combination of the
+unique constraints of embedded devices (hard to update, usually small quantity) and their lack of capabilities
+(processing power, memory protection functions, user interface devices). Even very well-funded companies continue to
+have serious problems securing their embedded systems. A spectacular example of this difficulty is the recently-exposed
+flaw in Apple's iPhone SoC first-stage ROM bootloader\footnote{
+ Modern system-on-chips integrate one or several CPUs with a multitude of peripherals, from memory and DMA
+ controllers over 3D graphics accelerators down to general-purpose IO modules for controlling things like indicator
+ LEDs. Most SoCs boot from one of several boot devices such as flash memory, ethernet or USB according to a
+ configuration set e.g. by connecting some SoC pins a certain way or set by device-internal write-only fuse bits.
+
+ Physically, one of the processing cores of the SoC (usually one of the main CPU cores) is connected such that it is
+ taken out of reset before all other devices, and is tasked with switching on and configuring all other devices of
+ the SoC. In order to run later intialization code or more advanced bootloaders, this core on startup runs a very
+ small piece of code hard-burned into the SoC in the factory. This ROM loader initializes the most basic peripherals
+ such as internal SRAM memory and selects a boot device for the next bootloader stage.
+
+ Apple's ROM loader performs some authorization checks, to ensure no unauthorized software is loaded. The present
+ flaw allows an attacker to circumvent these checks, booting code not authorized by Apple on a USB-connected iPhone,
+ compromising Apple's chain of trust from ROM loader to userland right at its root.
+}, that allows a full compromise of any iPhone before the iPhone X. iPhone 8, one of the affected models, is still being
+manufactured and sold by Apple today\footnote{
+ i.e. at the time this paragraph was written, on %FIXME
+}. In another instance, Samsung put a flaw in their secure-world firmware used for protection of sensitive credentials
+in their mobile phone SoCs in % FIXME year % .
+If both of these very large companies have trouble securing parts of their secure embedded software stacks measuring a
+mere few hundred bytes in Apple's case or a few kilobytes in Samsung's, what is a smart electricity meter manufacturer
+to do? For their mass-market phones, these two companies have R\&D budgets that dwarf some countries' national budgets.
+% FIXME hyperbole?
+% FIXME cite
+
+Since thorough formal verification of code is not yet within reach for either large-scale software development or
+code heavy in side-effects such as embedded firmware or industrial control software\cite{pariente01}
+the two most effective measures for embedded security is reducing the amount of code on one hand, and labour-intensively
+checking and double-checking this code on the other hand. A smart electricity manufacturer does not have a say in the
+former since it is bound by the official regulations it has to comply with, and will almost certainly not have sufficient
+resources for the latter.
+% FIXME expand?
+% FIXME cite some figures on code size in smart meter firmware?
+
+\subsection{Attack avenues in the smart grid}
+If we model the smart grid as a control system responding to changes in inputs by regulating outputs, on a very high
+level we can see two general categories of attacks: Attacks that directly change the state of the outputs, and attacks
+that try to influence the outputs indirectly by changing the system's view of its inputs. The former would be an attack
+such as one that shuts down a power plant to decrease generation capacity. The latter would be an attack such as one
+that forges grid frequency measurements where they enter a power plant's control systems to provoke increasing
+oscillation in the amount of power generated by the plant according to the control systems' directions.
+% FIXME cite
+% FIXME expand
+
+\subsubsection{Communication channel attacks}
+Communication channel attacks are attacks on the communication links between smart grid components. This could be
+attacks on IP-connected parts of the core network or attacks on shared busses between smart meters and IP gateways in
+substations. Generally, these attacks can be mitigated by securing the aforementioned communication links using modern
+cryptography. IP links can be protected using TLS, and more low-level busses can be protected using more lightweight
+Noise-based protocols. % FIXME cite
+Cryptographic security transforms an attackers ability to manipulate communication contents into a mere denial of
+service attack. Thus, in addition to cryptographic security safety under DoS conditions must be ensured to ensure
+continued system performance under attacks. This safety property is identical with the safety required to withstand
+random outages of components, such as communications link outages due to physical damage from storms, flooding etc.
+% FIXME cite papers on attack impact, on coutermeasures and on attack realization
+
+\subsubsection{Exploiting centralized control systems}
+The type of smart grid attack most often cited in popular discourse, and to the author's knowledge % FIXME verify, cite
+the only type that has so far been conducted in practice, is a direct attack on centralized control systems. In this
+attack, computer components of control systems are compromised by the same techniques used to compromise any other kind
+of computer system such as exploiting insecure services running on internet-exposed ports and using one compromised
+system to compromised other systems connected with it through an ostensably secure internal network. These attacks are
+very powerful as they yield the attacker direct control over whatever outputs the control systems are controlling. If an
+attacker manages to compromise a power stations control computers, they may be able to influence generation output or
+even cause an emergency shutdown. % FIXME
+
+Despite their potentially large impact, these attacks are only moderately interesting from a scientific perspective. For
+one, their mitigation mostly consists of a straightforward application of security practices well-known for decades.
+Though there is room for the implementation of genuinely new, application-specific security systems in this field, the
+general state of the art is lacking behind the rest of the computer industry such that the low-hanging fruit should take
+priority. % FIXME cite this bold claim very properly
+
+In addition, given political will these systems can readily be secured since there is only a comparatively small number
+of them and driving a technician to every one of them in turn to install some security update is perfectly feasible.
+
+\subsubsection{Control function exploits}
+Control function exploits are attacks on the mathematical control loops used by the centralized control system. One
+example of such an attack would be resonance attacks as described in \textcite{wu01}.
+In this kind of attack, inputs from peripheral sensors indicating grid load to the centralized control system are
+carefully modified to cause a disproportionally large oscillation in control system action. This type of attack relies
+on complex resonance effects that arise when mechanical generators are electrically coupled. These resonances,
+coloquially called ``modes'' are well-studied in power system engineering\cite{rogers01,grebe01,entsoe01}.
+% FIXME: refer to section on stability control above here
+Even disregarding modern attack scenarios, for stability electrical grids are designed with measures in place to dampen
+any resonances inherent to grid structure. Still, requiring an accurate grid model these resonances are hard to analyze
+and unlikely to be noiticed under normal operating conditions.
+
+Mitigation of these attacks is most easily done by on the one hand ensuring unmodified sensor inputs to the control
+systems in the first place, and on the other hand carefully designing control systems not to exhibit exploitable
+behavior such as oscillations.
+% FIXME cite mitigation approaches
+
+\subsubsection{Endpoint exploits}
+One rather interesting attack on smart grid systems is one exploiting the grid's endpoint devices such as smart
+electricity meters\footnote{
+ Though potentially this could also aim at other kinds of devices distributed on a large scale such as sensors in
+ unmanned substations. % FIXME cite verify
+}
+These meters are deployed on a massive scale, with several thousand meters deployed for every substation.
+% FIXME cite (this should be straightforward)
+Thus, once compromised restoration to an uncompromised state can be potentially very difficult if it requires physical
+access to thousands of devices hidden inaccessible in private homes.
+
+By compromising smart electricity meters, an attacker can trivially forge the distributed energy measurements these
+devices perform. In a best-case scenario, this might only affect billing and lead to customers being under- or
+over-charged if the attack is not noticed in time. However, in a less ideal scenario the energy measurements taken by
+these devices migth be used to inform the grid centralized control systems % FIXME cite (straightforward)
+and a falsification of these measurements might lead to inefficiency or even instability.
+
+In some countries and for some customers, these smart meters have one additional function that is highly useful to an
+attacker: They contain high-current load switches to disconnect the entire household or business in case electricity
+bills are left unpaid for a certain period. In countries that use these kinds of systems, the load disconnect is often
+simply hooked up to one of the smart merter's central microcontroller's general-purpose IO pins, allowing anyone
+compromising this microcontroller's firmware to actuate the load switch at will. % FIXME validate cite add pictures
+
+Given control over a large number of network-connected smart meters, an attacker might thus be able to cause large-scale
+disruptions of power consumption by repeatedly disconnecting and re-connecting a large number of consumers.
+% FIXME cite some analysis of this
+Combined with an attack method such as the resonance attack from \textcite{wu01}
+that was mentioned above, this scenario poses a serious danger to grid stability.
+
+% FIXME add small-scale load shedding for heaters etc.
+
+\subsection{Attacker models in the smart grid}
+\subsection{Practical attacks}
+\subsection{Practical threats}
+\subsection{Conclusion, or why we are doomed}
+
+\chapter{Restoring endpoint safety in an age of smart devices}
+\section{The theory of endpoint safety}
+\subsection{Attack characteristics}
+\subsection{Complex microcontroller firmware}
+\subsection{Modern microcontroller hardware}
+\subsection{Regulatory and economical constraints}
+\subsection{Safety vs. Security: Opting for restoration instead of prevention}
+\subsection{Technical outline of a safety reset}
+
+\section{Communication channels on the grid}
+\subsection{Powerline communication systems and their use}
+\subsection{Proprietary wireless systems}
+\subsection{Landline IP}
+\subsection{IP-based wireless systems}
+\subsection{Frequency modulation as a communication channel}
+\subsubsection{The frequency dependance of grid frequency}
+\subsubsection{Control systems coupled to grid frequency}
+\subsubsection{Avoiding dangerous modes}
+\subsubsection{Overall system parameters}
+\subsubsection{An outline of practical implementation}
+
+\section{From grid frequency to a reliable communications channel}
+\subsection{Channel properties}
+\subsection{Modulation and its parameters}
+\subsection{Error-correcting codes}
+\subsection{Cryptographic security}
+
+\chapter{Practical implementation}
+\section{Cryptographic validation}
+
+\section{Data collection for channel validation}
+\subsection{Frequency sensor hardware design}
+\subsection{Frequency sensor measurement results}
+
+\section{Channel simulation and parameter validation}
+
+\section{Implementation of a demonstrator unit}
+
+\section{Experimental results}
+
+\section{Lessons learned}
+
+\chapter{Future work}
+\section{Technical standardization}
+\section{Regulatory adoption}
+\section{Practical implementation}
+
+\newpage
+\appendix
+\chapter{Acknowledgements}
+\newpage
+
+\chapter{References}
+\nocite{*}
+\printbibliography
+\newpage
+
+\chapter{Demonstrator schematics and code}
+
+\chapter{Economic viability of countermeasures}
+\section{Attack cost}
+\section{Countermeasure cost}
+\section{Conclusion}
+
+\chapter{The ethics and security implications of centralized crackdown on energy theft}
+
+\end{document}