handouts/ho01.tex
author Christian Urban <christian dot urban at kcl dot ac dot uk>
Tue, 23 Sep 2014 17:05:33 +0100
changeset 173 9126c13a7d93
parent 169 2866fae8c1cf
child 174 e2180cead443
permissions -rw-r--r--
updated
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
167
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 160
diff changeset
     1
 \documentclass{article}
158
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     2
\usepackage{../style}
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     3
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     4
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     5
\begin{document}
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     6
167
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 160
diff changeset
     7
\section*{Handout 1 (Security Engineering)}
158
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     8
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
     9
Much of the material and inspiration in this module is taken
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    10
from the works of Bruce Schneier, Ross Anderson and Alex
159
77cf0362b87a updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 158
diff changeset
    11
Halderman. I think they are the world experts in the area of
77cf0362b87a updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 158
diff changeset
    12
security engineering. I especially like that they argue that a
77cf0362b87a updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 158
diff changeset
    13
security engineer requires a certain \emph{security mindset}.
77cf0362b87a updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 158
diff changeset
    14
Bruce Schneier for example writes:
158
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    15
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    16
\begin{quote} 
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    17
\it ``Security engineers --- at least the good ones --- see
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    18
the world differently. They can't walk into a store without
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    19
noticing how they might shoplift. They can't use a computer
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    20
without wondering about the security vulnerabilities. They
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    21
can't vote without trying to figure out how to vote twice.
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    22
They just can't help it.''
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    23
\end{quote}
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    24
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    25
\begin{quote}
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    26
\it ``Security engineering\ldots requires you to think
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    27
differently. You need to figure out not how something works,
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    28
but how something can be made to not work. You have to imagine
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    29
an intelligent and malicious adversary inside your system
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    30
\ldots, constantly trying new ways to
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    31
subvert it. You have to consider all the ways your system can
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    32
fail, most of them having nothing to do with the design
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    33
itself. You have to look at everything backwards, upside down,
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    34
and sideways. You have to think like an alien.''
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    35
\end{quote}
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    36
159
77cf0362b87a updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 158
diff changeset
    37
\noindent In this module I like to teach you this security
168
793ae8926a97 polished
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 167
diff changeset
    38
mindset. This might be a mindset that you think is very foreign to you
793ae8926a97 polished
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 167
diff changeset
    39
(after all we are all good citizens and not ahck into things). I beg
793ae8926a97 polished
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 167
diff changeset
    40
to differ: You have this mindset already when in school you were
169
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    41
thinking, at least hypothetically, about in which ways you can cheat in an
168
793ae8926a97 polished
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 167
diff changeset
    42
exam (whether it is about hiding notes or looking over the shoulders
793ae8926a97 polished
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 167
diff changeset
    43
of your fellow pupils). Right? To defend a system, you need to have
793ae8926a97 polished
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 167
diff changeset
    44
this kind mindset and be able to think like an attacker. This will
793ae8926a97 polished
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 167
diff changeset
    45
include understanding techniques that can be used to compromise
793ae8926a97 polished
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 167
diff changeset
    46
security and privacy in systems. This will many times result in
169
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    47
insights where well-intended security mechanisms made a system actually
168
793ae8926a97 polished
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 167
diff changeset
    48
less secure.\smallskip
158
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    49
159
77cf0362b87a updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 158
diff changeset
    50
{\Large\bf Warning!} However, don’t be evil! Using those
77cf0362b87a updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 158
diff changeset
    51
techniques in the real world may violate the law or King’s
77cf0362b87a updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 158
diff changeset
    52
rules, and it may be unethical. Under some circumstances, even
77cf0362b87a updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 158
diff changeset
    53
probing for weaknesses of a system may result in severe
160
4cbd6ca025e6 updated slides
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 159
diff changeset
    54
penalties, up to and including expulsion, fines and
159
77cf0362b87a updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 158
diff changeset
    55
jail time. Acting lawfully and ethically is your
77cf0362b87a updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 158
diff changeset
    56
responsibility. Ethics requires you to refrain from doing
77cf0362b87a updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 158
diff changeset
    57
harm. Always respect privacy and rights of others. Do not
77cf0362b87a updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 158
diff changeset
    58
tamper with any of King's systems. If you try out a technique,
77cf0362b87a updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 158
diff changeset
    59
always make doubly sure you are working in a safe environment
160
4cbd6ca025e6 updated slides
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 159
diff changeset
    60
so that you cannot cause any harm, not even accidentally.
169
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    61
Don't be evil. Be an ethical hacker.\smallskip
158
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    62
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    63
169
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    64
In this lecture I want to make you familiar with the security mindset
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    65
and dispel the myth that encryption is the answer to all security
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    66
problems (it is certainly often part of an answer, but almost always
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    67
never a sufficient one). This is actually an important thread going
159
77cf0362b87a updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 158
diff changeset
    68
through the whole course: We will assume that encryption works
169
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    69
perfectly, but still attack ``things''. By ``works perfectly'' we mean
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    70
that we will assume encryption is a black box and, for example, will
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    71
not look at the underlying mathematics and break the 
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    72
algorithms.\footnote{Though fascinating it might be.}
158
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    73
 
169
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    74
For a secure system it seems four requirements need to come together:
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    75
First a security policy (what is supposed to be achieved?); second a
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    76
mechanism (cipher, access controls, tamper resistance etc); third the
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    77
assurance we obtain from the mechanism (the amount of reliance we can
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    78
put on the mechanism) and finally the incentives (the motive that the
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    79
people guarding and maintaining the system have to do their job
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    80
properly, and also the motive that the attackers have to try to defeat
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    81
your policy). The last point is often overlooked, but plays an
173
9126c13a7d93 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 169
diff changeset
    82
important role. 
9126c13a7d93 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 169
diff changeset
    83
9126c13a7d93 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 169
diff changeset
    84
Lets look at an example. The questions is whether the Chip-and-PIN
9126c13a7d93 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 169
diff changeset
    85
system with credit cards is more secure than the older method of
9126c13a7d93 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 169
diff changeset
    86
signing receipts at the till. 
169
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    87
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    88
2866fae8c1cf updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 168
diff changeset
    89
158
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    90
\end{document}
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    91
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    92
%%% Local Variables: 
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    93
%%% mode: latex
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    94
%%% TeX-master: t
702fea7754eb added handouts
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents:
diff changeset
    95
%%% End: