93
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1
\documentclass[dvipsnames,14pt,t, xelatex]{beamer}
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 2
\usepackage{../slides}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 3
\usepackage{../graphics}
157
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 4
\usepackage{../langs}
0
+ − 5
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 6
\setmonofont[Scale=.88]{Consolas}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 7
\newfontfamily{\consolas}{Consolas}
0
+ − 8
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 9
\hfuzz=220pt
0
+ − 10
+ − 11
% beamer stuff
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 12
\renewcommand{\slidecaption}{APP 01, King's College London}
0
+ − 13
170
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 14
\lstset{language=JavaScript,
162
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 15
style=mystyle,
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 16
numbersep=0pt,
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 17
numbers=none,
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 18
xleftmargin=0mm}
0
+ − 19
+ − 20
\begin{document}
+ − 21
9
+ − 22
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 23
\begin{frame}
0
+ − 24
\frametitle{%
1
+ − 25
\begin{tabular}{@ {}c@ {}}
+ − 26
\LARGE Access Control and \\[-3mm]
+ − 27
\LARGE Privacy Policies (1)\\[-6mm]
+ − 28
\end{tabular}}
+ − 29
+ − 30
\begin{center}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 31
\includegraphics[scale=1.3]{../pics/barrier.jpg}
1
+ − 32
\end{center}
+ − 33
157
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 34
\normalsize
1
+ − 35
\begin{center}
98
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 36
\begin{tabular}{ll}
1
+ − 37
Email: & christian.urban at kcl.ac.uk\\
93
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 38
Office: & S1.27 (1st floor Strand Building)\\
159
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 39
Slides: & KEATS
1
+ − 40
\end{tabular}
+ − 41
\end{center}
157
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 42
\end{frame}
162
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 43
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0
+ − 44
8
+ − 45
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 46
\begin{frame}
+ − 47
+ − 48
\begin{center}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 49
\includegraphics[scale=2.1]{../pics/barrier.jpg}
8
+ − 50
\end{center}
+ − 51
157
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 52
\end{frame}
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 53
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1
+ − 54
+ − 55
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
95
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 56
\begin{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 57
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 58
\begin{center}
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 59
\begin{tikzpicture}[scale=1.3]
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 60
%\draw[very thick, scale=1] (0, 0) grid (6, -4);
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 61
\draw (0,0) node (X) {\includegraphics[scale=0.1]{../pics/rman.png}};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 62
\draw (6,0) node (Y) {\includegraphics[scale=0.1]{../pics/gman.png}};
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 63
\node[below] at (X.south) {Alice};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 64
\node[below] at (Y.south) {Bob};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 65
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 66
\draw[red,<->,line width = 3mm] (X) -- (Y);
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 67
\node [inner sep=5pt,label=above:{\begin{tabular}{c}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 68
secure/private\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 69
communication
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 70
\end{tabular}}]
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 71
at ($ (X)!.5!(Y) $) {};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 72
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 73
\draw (1.0,-1.5) node {\includegraphics[scale=0.05]{../pics/nsa.png}};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 74
\draw (2.4,-1.5) node {\includegraphics[scale=0.3]{../pics/gchq.jpg}};
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 75
\draw (1.7,-2.3) node {\huge\ldots};
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 76
\draw (4.2,-1.5) node {\includegraphics[scale=0.05]{../pics/apple.png}};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 77
\draw (5.4,-1.7) node {\includegraphics[scale=0.15]{../pics/google.png}};
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 78
\draw (5.0,-2.3) node {\huge\ldots};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 79
\end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 80
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 81
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 82
\begin{center}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 83
\includegraphics[scale=0.1]{../pics/snowden.jpg}
157
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 84
\end{center}
96
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 85
157
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 86
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 87
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
96
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 88
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 89
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 90
\begin{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 91
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 92
\begin{center}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 93
\includegraphics[scale=0.45]{../pics/lavabit-email.jpg}
96
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 94
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 95
\small{}\mbox{}\hfill{}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 96
Lavabit email service closed down on 8 August 2013. \\
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 97
\mbox{}\hfill{}\url{www.goo.gl/bgSrVp}
96
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 98
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 99
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 100
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
96
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 101
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 102
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 103
\begin{frame}
159
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 104
\frametitle{Also Bad Guys}
96
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 105
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 106
\begin{textblock}{1}(4,2.5)
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 107
\begin{tikzpicture}[scale=1.3]
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 108
\draw (0,0) node (X) {\includegraphics[scale=0.1]{../pics/rman.png}};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 109
\draw (4,0) node (Y) {\includegraphics[scale=0.1]{../pics/gman.png}};
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 110
\draw[red, <->, line width = 2mm] (X) -- (Y);
96
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 111
\end{tikzpicture}
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 112
\end{textblock}
96
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 113
167
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 114
\begin{textblock}{1}(1,5)
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 115
\begin{bubble}[11cm]
167
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 116
\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 117
Anonymous Hacker operating a 10k bonnet using the ZeuS
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 118
hacking tool wrote:\medskip\\ ``FYI I do not cash out the bank
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 119
accounts or credit cards, I just sell the information (I know,
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 120
its just as bad...), there isn't even a law against
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 121
such in most countries, dealing with stolen information is
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 122
most of the time a legally greyzone (I was just as surprised
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 123
when I looked it up), I'm not talking about 3rd world
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 124
countries, but about European like Spain (The Mariposa botnet
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 125
owner never got charged, because a botnet isn't illegal, only
167
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 126
abusing CC information is, but that did other guys).''
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 127
\hfill{}\url{www.goo.gl/UWluh0}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 128
\end{bubble}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 129
\end{textblock}
96
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 130
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 131
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 132
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
96
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 133
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 134
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 135
\begin{frame}
162
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 136
\frametitle{This is a Misconception!}
96
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 137
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 138
\begin{center}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 139
\includegraphics[scale=0.55]{../pics/cryptographic-small.png}
95
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 140
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 141
162
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 142
\centering
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 143
\begin{bubble}[9cm]
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 144
\small
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 145
There is some consensus that the NSA can probably not
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 146
brute-force magically better than the ``public''.
162
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 147
\end{bubble}
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 148
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 149
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 150
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 151
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 152
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 153
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 154
The content of this course is very much inspired by the work of
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 155
three people:\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 156
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 157
\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 158
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 159
\begin{tabular}{ccc}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 160
\includegraphics[scale=1.4]{../pics/schneier.png} &
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 161
\includegraphics[scale=0.103]{../pics/ross.jpg} &
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 162
\includegraphics[scale=0.2]{../pics/halderman.jpg} \\
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 163
Bruce Schneier & Ross Anderson & Alex Halderman\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 164
\tiny\url{en.wikipedia.org/wiki/Bruce_Schneier} &
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 165
\tiny\url{www.cl.cam.ac.uk/~rja14} &
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 166
\tiny\url{jhalderm.com}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 167
\end{tabular}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 168
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 169
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 170
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 171
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
95
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 172
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 173
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1
+ − 174
\begin{frame}[c]
+ − 175
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 176
\alert{\bf Security engineers} require a particular \alert{\bf mindset}:
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 177
\bigskip\medskip
1
+ − 178
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 179
\begin{overlayarea}{\textwidth}{5cm}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 180
\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 181
\only<1>{\begin{bubble}[10cm]
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 182
``Security engineers --- at least the good ones --- see
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 183
the world differently. They can't walk into a store without
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 184
noticing how they might shoplift. They can't use a computer
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 185
without wondering about the security vulnerabilities. They
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 186
can't vote without trying to figure out how to vote twice.
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 187
They just can't help it.''\\
95
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 188
\hfill{}---Bruce Schneier
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 189
\end{bubble}}%
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 190
\only<2>{\begin{bubble}[10.5cm]
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 191
``Security engineering\ldots requires you to think
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 192
differently. You need to figure out not how something works,
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 193
but how something can be made to not work. You have to imagine
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 194
an intelligent and malicious adversary inside your system
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 195
\ldots, constantly trying new ways to
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 196
subvert it. You have to consider all the ways your system can
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 197
fail, most of them having nothing to do with the design
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 198
itself. You have to look at everything backwards, upside down,
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 199
and sideways. You have to think like an alien.''\hfill{}---Bruce Schneier
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 200
\end{bubble}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 201
\end{overlayarea}
1
+ − 202
+ − 203
\begin{flushright}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 204
\includegraphics[scale=0.0087]{../pics/schneierbook1.jpg}\;
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 205
\includegraphics[scale=0.0087]{../pics/schneierbook2.jpg}\;
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 206
\includegraphics[scale=0.23]{../pics/schneierbook3.jpg}\;
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 207
\includegraphics[scale=0.85]{../pics/schneier.png}
1
+ − 208
\end{flushright}
+ − 209
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 210
\end{frame}
1
+ − 211
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 212
4
+ − 213
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 214
\begin{frame}[c]
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 215
\frametitle{Breaking Things}
98
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 216
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 217
For example:
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 218
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 219
\begin{center}
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 220
\begin{bubble}[10cm]\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 221
Prof.~V.~Nasty gives the following final exam question (closed books,
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 222
closed notes):\bigskip
98
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 223
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 224
\noindent
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 225
\begin{tabular}{@ {}l}
102
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 226
Write the first 100 digits of $\pi$:\\
98
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 227
3.\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_\,\_
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 228
\end{tabular}
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 229
\end{bubble}
98
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 230
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 231
102
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 232
How can you cheat in this exam and how can you defend against such cheating?
98
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 233
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 234
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 235
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 236
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 237
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 238
\begin{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 239
\frametitle{\textcolor{red}{Warning}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 240
\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 241
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 242
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 243
\item<1-> I will be teaching techniques that can be used to
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 244
compromise security and privacy.
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 245
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 246
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 247
\onslide<2->{
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 248
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 249
\item Don’t be evil!
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 250
\only<3>{\item Using those techniques in the real world may
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 251
violate the law or King’s rules, and it may be unethical.}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 252
\only<3>{\item Under some circumstances, even probing for weaknesses of a
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 253
system may result in severe penalties, up to and including
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 254
expulsion, fines and jail time.}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 255
\only<3>{\item Acting lawfully and ethically is \underline{your} responsibility.}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 256
\only<4>{\item Ethics requires you to
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 257
refrain from doing harm.}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 258
\only<4>{\item \underline{Always} respect privacy and rights of
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 259
others.}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 260
\only<4>{\item Do not tamper with any of King's systems.}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 261
\only<5>{\item If you try
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 262
out a technique, always make doubly sure you are working in a
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 263
safe environment so that you cannot cause any harm, not even
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 264
accidentally.}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 265
\only<5>{\item Don't be evil. Be an \underline{ethical} hacker.}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 266
\end{itemize}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 267
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 268
\end{frame}
98
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 269
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 270
162
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 271
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 272
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 273
\frametitle{Secure Systems}
98
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 274
162
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 275
For a secure system, four requirements need to come
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 276
together:
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 277
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 278
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 279
\item {\bf Policy}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 280
{\small What is supposed to be achieved?}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 281
\item {\bf Mechanism}\\
167
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 282
{\small Cipher, access controls, tamper resistance, \ldots}
162
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 283
\item {\bf Assurance}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 284
{\small The amount of reliance you can put on the mechanism.}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 285
\item {\bf Incentive}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 286
{\small The motive that the people guarding and maintaining the
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 287
system have to do their job properly, and also the motive
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 288
that the attackers have to try to defeat your policy.}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 289
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 290
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 291
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 292
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 293
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 294
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
98
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 295
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 296
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 297
\begin{frame}[c]
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 298
\frametitle{Chip-and-PIN}
4
+ − 299
+ − 300
\begin{center}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 301
\includegraphics[scale=0.3]{../pics/creditcard1.jpg}\;
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 302
\includegraphics[scale=0.3]{../pics/creditcard2.jpg}
4
+ − 303
\end{center}
+ − 304
+ − 305
\begin{itemize}
+ − 306
\item Chip-and-PIN was introduced in the UK in 2004
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 307
\item before that customers had to sign a receipt\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 308
\item \bf Is Chip-and-PIN a more secure system?
4
+ − 309
\end{itemize}
+ − 310
+ − 311
\begin{flushright}
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 312
\small\textcolor{gray}{(some other countries still use the old method)}
4
+ − 313
\end{flushright}
+ − 314
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 315
\end{frame}
4
+ − 316
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 317
0
+ − 318
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 319
\begin{frame}[c]
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 320
\frametitle{Yes \ldots}
1
+ − 321
167
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 322
\ldots if you believe the banks:\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 323
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 324
\begin{bubble}[10cm]
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 325
\small ``Chip-and-PIN is so effective in this country [UK]
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 326
that fraudsters are starting to move their activities
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 327
overseas,''\smallskip\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 328
\hfill{}said some spokesman for Lloyds TSB\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 329
\hfill(in The Guardian, 2006)
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 330
\end{bubble}\bigskip
1
+ − 331
0
+ − 332
1
+ − 333
\begin{itemize}
+ − 334
\item mag-stripe cards cannot be cloned anymore
+ − 335
\item stolen or cloned cards need to be used abroad
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 336
\item fraud on lost, stolen and counterfeit credit
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 337
cards was down \pounds{60m} (24\%) on 2004's figure
1
+ − 338
\end{itemize}
+ − 339
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 340
\end{frame}
1
+ − 341
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 342
+ − 343
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 344
\begin{frame}[c]
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 345
\frametitle{But let's see}
1
+ − 346
+ − 347
+ − 348
\begin{textblock}{1}(3,4)
+ − 349
\begin{tabular}{c}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 350
\includegraphics[scale=0.3]{../pics/bank.png}\\[-2mm]
1
+ − 351
\small Bank
0
+ − 352
\end{tabular}
+ − 353
\end{textblock}
1
+ − 354
+ − 355
\begin{textblock}{1}(7,4.5)
+ − 356
\begin{tabular}{c}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 357
\includegraphics[scale=3]{../pics/store.png}\\[-2mm]
1
+ − 358
\end{tabular}
+ − 359
\end{textblock}
+ − 360
+ − 361
\begin{textblock}{1}(4.5,9.9)
+ − 362
\begin{tabular}{c}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 363
\includegraphics[scale=0.16]{../pics/rman.png}\\[-1mm]
167
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 364
\small customer / you
1
+ − 365
\end{tabular}
+ − 366
\end{textblock}
8
+ − 367
+ − 368
\only<2->{
+ − 369
\begin{textblock}{1}(4.5,7.5)
+ − 370
\begin{tikzpicture}[scale=1.3]
+ − 371
\draw[white] (0,0) node (X) {};
+ − 372
\draw[white] (1,-1) node (Y) {};
+ − 373
\draw[red, ->, line width = 2mm] (X) -- (Y);
+ − 374
\node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {};
+ − 375
\end{tikzpicture}
+ − 376
\end{textblock}}
+ − 377
+ − 378
\only<3->{
+ − 379
\begin{textblock}{1}(6.8,7.5)
+ − 380
\begin{tikzpicture}[scale=1.3]
+ − 381
\draw[white] (0,0) node (X) {};
+ − 382
\draw[white] (1,1) node (Y) {};
+ − 383
\draw[red, ->, line width = 2mm] (X) -- (Y);
+ − 384
\node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {};
+ − 385
\end{tikzpicture}
+ − 386
\end{textblock}
+ − 387
+ − 388
\begin{textblock}{1}(4.8,5.9)
+ − 389
\begin{tikzpicture}[scale=1.3]
+ − 390
\draw[white] (0,0) node (X) {};
+ − 391
\draw[white] (1.4,0) node (Y) {};
+ − 392
\draw[red, <->, line width = 2mm] (X) -- (Y);
+ − 393
\node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {};
+ − 394
\end{tikzpicture}
+ − 395
\end{textblock}}
+ − 396
+ − 397
\only<4->{
+ − 398
\begin{textblock}{1}(12,6.5)
+ − 399
\begin{tabular}{c}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 400
\includegraphics[scale=0.8]{../pics/factory.png}\\[-1mm]
8
+ − 401
\small card\\[-2mm]\small terminal\\[-2mm] \small producer
+ − 402
\end{tabular}
+ − 403
\end{textblock}
+ − 404
+ − 405
\begin{textblock}{1}(10,7)
+ − 406
\begin{tikzpicture}[scale=1.6]
+ − 407
\draw[white] (0,0) node (X) {};
+ − 408
\draw[white] (-1,0.6) node (Y) {};
+ − 409
\draw[red, ->, line width = 2mm] (X) -- (Y);
+ − 410
\node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {};
+ − 411
\end{tikzpicture}
+ − 412
\end{textblock}}
0
+ − 413
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 414
\end{frame}
0
+ − 415
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 416
+ − 417
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 418
\begin{frame}[c]
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 419
\frametitle{Chip-and-PIN}
0
+ − 420
1
+ − 421
\begin{itemize}
5
+ − 422
\item A ``tamperesitant'' terminal playing Tetris on
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 423
\href{http://www.youtube.com/watch?v=wWTzkD9M0sU}{youtube}.\smallskip\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 424
\footnotesize(\url{http://www.youtube.com/watch?v=wWTzkD9M0sU})
1
+ − 425
\end{itemize}
+ − 426
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 427
\includegraphics[scale=0.2]{../pics/tetris.jpg}
1
+ − 428
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 429
\end{frame}
1
+ − 430
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0
+ − 431
+ − 432
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 433
\begin{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 434
\frametitle{Chip-and-PIN}
0
+ − 435
+ − 436
\begin{itemize}
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 437
\item in 2006, Shell petrol stations stopped accepting Chip-and-PIN after
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 438
\pounds{1M} had been stolen from customer accounts\smallskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 439
\item in 2008, hundreds of card readers for use in Britain, Ireland,
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 440
the Netherlands, Denmark, and Belgium had been expertly tampered with
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 441
shortly after manufacture so that details and PINs of credit cards
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 442
were sent during the 9 months before over mobile phone networks
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 443
to criminals in Lahore, Pakistan
0
+ − 444
\end{itemize}
+ − 445
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 446
\end{frame}
0
+ − 447
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 448
+ − 449
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 450
\begin{frame}[c]
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 451
\frametitle{Chip-and-PIN is Broken}
0
+ − 452
1
+ − 453
\begin{flushright}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 454
\includegraphics[scale=0.01]{../pics/andersonbook1.jpg}\;
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 455
\includegraphics[scale=1.5]{../pics/anderson.jpg}
1
+ − 456
\end{flushright}
0
+ − 457
+ − 458
\begin{itemize}
5
+ − 459
\item man-in-the-middle attacks by the group around Ross Anderson\medskip
0
+ − 460
\end{itemize}
+ − 461
1
+ − 462
\begin{center}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 463
\mbox{}\hspace{-20mm}\includegraphics[scale=0.5]{../pics/chip-attack.png}
1
+ − 464
\end{center}
5
+ − 465
+ − 466
\begin{textblock}{1}(11.5,13.7)
+ − 467
\begin{tabular}{l}
+ − 468
\footnotesize on BBC Newsnight\\[-2mm]
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 469
\footnotesize in 2010 or
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 470
\href{http://www.youtube.com/watch?v=JPAX32lgkrw}{youtube}
5
+ − 471
\end{tabular}
+ − 472
\end{textblock}
0
+ − 473
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 474
\end{frame}
0
+ − 475
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 476
+ − 477
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 478
\begin{frame}[c]
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 479
\frametitle{\Large Chip-and-PIN is Really Broken}
0
+ − 480
1
+ − 481
\begin{flushright}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 482
\includegraphics[scale=0.01]{../pics/andersonbook1.jpg}\;
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 483
\includegraphics[scale=1.5]{../pics/anderson.jpg}
1
+ − 484
\end{flushright}
0
+ − 485
+ − 486
\begin{itemize}
98
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 487
\item same group successfully attacked in 2012 card readers and ATM machines
167
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 488
\item the problem was: several types of ATMs generate poor random numbers,
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 489
which are used as nonces
0
+ − 490
\end{itemize}
1
+ − 491
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 492
\end{frame}
0
+ − 493
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 494
+ − 495
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 496
\begin{frame}[c]
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 497
\frametitle{The Real Problem \ldots}
0
+ − 498
1
+ − 499
\begin{textblock}{1}(3,4)
+ − 500
\begin{tabular}{c}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 501
\includegraphics[scale=0.3]{../pics/bank.png}\\[-2mm]
1
+ − 502
\small Bank
+ − 503
\end{tabular}
+ − 504
\end{textblock}
+ − 505
+ − 506
\begin{textblock}{1}(7,4.5)
+ − 507
\begin{tabular}{c}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 508
\includegraphics[scale=3]{../pics/store.png}\\[-2mm]
1
+ − 509
\end{tabular}
+ − 510
\end{textblock}
0
+ − 511
1
+ − 512
\begin{textblock}{1}(12,6.5)
+ − 513
\begin{tabular}{c}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 514
\includegraphics[scale=0.8]{../pics/factory.png}\\[-1mm]
1
+ − 515
\small terminal\\[-2mm] \small producer
+ − 516
\end{tabular}
0
+ − 517
\end{textblock}
1
+ − 518
+ − 519
\begin{textblock}{1}(4.5,9.9)
+ − 520
\begin{tabular}{c}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 521
\includegraphics[scale=0.13]{../pics/rman.png}\\[-1mm]
167
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 522
\small customer / you
1
+ − 523
\end{tabular}
+ − 524
\end{textblock}
0
+ − 525
8
+ − 526
\begin{textblock}{1}(4.5,7.5)
+ − 527
\begin{tikzpicture}[scale=1.3]
+ − 528
\draw[white] (0,0) node (X) {};
+ − 529
\draw[white] (1,-1) node (Y) {};
+ − 530
\draw[gray, ->, line width = 2mm] (X) -- (Y);
+ − 531
\node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {};
+ − 532
\end{tikzpicture}
+ − 533
\end{textblock}
+ − 534
+ − 535
\begin{textblock}{1}(6.8,7.5)
+ − 536
\begin{tikzpicture}[scale=1.3]
+ − 537
\draw[white] (0,0) node (X) {};
+ − 538
\draw[white] (1,1) node (Y) {};
+ − 539
\draw[gray, ->, line width = 2mm] (X) -- (Y);
+ − 540
\node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {};
+ − 541
\end{tikzpicture}
+ − 542
\end{textblock}
+ − 543
+ − 544
\begin{textblock}{1}(4.8,5.9)
+ − 545
\begin{tikzpicture}[scale=1.3]
+ − 546
\draw[white] (0,0) node (X) {};
+ − 547
\draw[white] (1.4,0) node (Y) {};
+ − 548
\draw[gray, <->, line width = 2mm] (X) -- (Y);
+ − 549
\node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {};
+ − 550
\end{tikzpicture}
+ − 551
\end{textblock}
+ − 552
+ − 553
\begin{textblock}{1}(10,7)
+ − 554
\begin{tikzpicture}[scale=1.6]
+ − 555
\draw[white] (0,0) node (X) {};
+ − 556
\draw[white] (-1,0.6) node (Y) {};
+ − 557
\draw[gray, ->, line width = 2mm] (X) -- (Y);
+ − 558
\node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {};
+ − 559
\end{tikzpicture}
+ − 560
\end{textblock}
+ − 561
1
+ − 562
\begin{textblock}{14}(1,13.5)
+ − 563
\begin{itemize}
98
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 564
\item the burden of proof for fraud and financial liability was shifted to the costumer (until approx.~2009/10)
1
+ − 565
\end {itemize}
0
+ − 566
\end{textblock}
+ − 567
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 568
\end{frame}
0
+ − 569
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 570
+ − 571
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 572
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 573
\frametitle{The Bad Guy Again}
98
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 574
169
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 575
\begin{bubble}[10.5cm]
167
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 576
\small
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 577
The anonymous hacker from earlier:\medskip\\ ``Try to use
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 578
`Verified-By-Visa' and `Mastercard-Securecode' as rarely as
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 579
possible. If only your CVV2 code is getting sniffed, you are
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 580
not liable for any damage, because the code is physically
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 581
printed and could have been stolen while you payed with your
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 582
card at a store. Same applies if someone cloned your CC
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 583
reading the magnetic stripe or sniffing RFID. Only losing your
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 584
VBV or MCSC password can cause serious trouble.''\\
174
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 585
\hfill{}\url{www.goo.gl/UWluh0}
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 586
\end{bubble}
98
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 587
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 588
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 589
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
98
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 590
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 591
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 592
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 593
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0
+ − 594
\begin{frame}[c]
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 595
\frametitle{Being Screwed Again}
0
+ − 596
1
+ − 597
\begin{flushright}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 598
\includegraphics[scale=0.3]{../pics/rbssecure.jpg}
1
+ − 599
\end{flushright}
+ − 600
0
+ − 601
\begin{itemize}
1
+ − 602
\item {\bf Responsibility}\\
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 603
``You understand that you are financially responsible for all uses
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 604
of RBS Secure.''\medskip\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 605
\footnotesize\url{https://www.rbssecure.co.uk/rbs/tdsecure/terms_of_use.jsp}
0
+ − 606
\end{itemize}
+ − 607
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 608
\end{frame}
0
+ − 609
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 610
2
+ − 611
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 612
\begin{frame}[c]
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 613
\frametitle{Web Applications}
2
+ − 614
+ − 615
\begin{textblock}{1}(2,5)
+ − 616
\begin{tabular}{c}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 617
\includegraphics[scale=0.15]{../pics/servers.png}\\[-2mm]
2
+ − 618
\small Servers from\\[-2mm]
+ − 619
\small Dot.com Inc.
+ − 620
\end{tabular}
+ − 621
\end{textblock}
+ − 622
6
+ − 623
\begin{textblock}{1}(5.6,6)
+ − 624
\begin{tikzpicture}[scale=2.5]
+ − 625
\draw[white] (0,0) node (X) {};
+ − 626
\draw[white] (1,0) node (Y) {};
8
+ − 627
\only<2>{\draw[red, <-, line width = 2mm] (X) -- (Y);
6
+ − 628
\node [inner sep=5pt,label=above:\textcolor{black}{GET request}] at ($ (X)!.5!(Y) $) {};}
8
+ − 629
\only<3>{\draw[red, ->, line width = 2mm] (X) -- (Y);
6
+ − 630
\node [inner sep=5pt,label=above:\textcolor{black}{webpage}] at ($ (X)!.5!(Y) $) {};}
8
+ − 631
\only<4>{\draw[red, <-, line width = 2mm] (X) -- (Y);
6
+ − 632
\node [inner sep=7pt,label=above:\textcolor{black}{POST data}] at ($ (X)!.5!(Y) $) {};}
+ − 633
\end{tikzpicture}
+ − 634
\end{textblock}
+ − 635
+ − 636
2
+ − 637
\begin{textblock}{1}(9,5.5)
+ − 638
\begin{tabular}{c}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 639
\includegraphics[scale=0.15]{../pics/laptop.png}\\[-2mm]
8
+ − 640
\small Client(s)
2
+ − 641
\end{tabular}
+ − 642
\end{textblock}
+ − 643
+ − 644
\begin{textblock}{13}(1,13)
+ − 645
\begin{itemize}
+ − 646
\item What are pitfalls and best practices?
+ − 647
\end{itemize}
+ − 648
\end{textblock}
+ − 649
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 650
\end{frame}
2
+ − 651
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 652
5
+ − 653
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 654
\begin{frame}[c]
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 655
\frametitle{JavaScript + Node.js}
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 656
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 657
A simple response from the server:
5
+ − 658
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 659
\small
170
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 660
\lstinputlisting{../progs/ap0.js}
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 661
\medskip\pause
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 662
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 663
\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 664
alternative response:\smallskip\\
98
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 665
6
+ − 666
170
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 667
\lstinline{response.write('<H1>Hello World</H1>');}
5
+ − 668
160
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 669
\end{frame}
5
+ − 670
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 671
98
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 672
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 673
5
+ − 674
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 675
\begin{frame}[c]
+ − 676
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 677
\footnotesize
170
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 678
\lstinputlisting{../progs/ap1.js}
5
+ − 679
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 680
\end{frame}
5
+ − 681
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 682
6
+ − 683
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 684
\begin{frame}[c]
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 685
\frametitle{Cookies}
6
+ − 686
+ − 687
\begin{textblock}{1}(1.5,5)
+ − 688
\begin{tabular}{c}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 689
\includegraphics[scale=0.15]{../pics/servers.png}\\[-2mm]
6
+ − 690
\small Servers from\\[-2mm]
+ − 691
\small Dot.com Inc.
+ − 692
\end{tabular}
+ − 693
\end{textblock}
+ − 694
+ − 695
\begin{textblock}{1}(5.6,5.6)
+ − 696
\begin{tikzpicture}[scale=2.5]
+ − 697
\draw[white] (0,0) node (X) {};
+ − 698
\draw[white] (1,0) node (Y) {};
+ − 699
\draw[white] (0.05,-0.3) node (X1) {};
+ − 700
\draw[white] (0.95,-0.3) node (Y1) {};
+ − 701
\only<1-2>{\draw[red, <-, line width = 2mm] (X) -- (Y);
+ − 702
\node [inner sep=5pt,label=above:\textcolor{black}{GET request}] at ($ (X)!.5!(Y) $) {};}
8
+ − 703
\only<1>{\draw[white, <-, line width = 1mm] (X1) -- (Y1);
+ − 704
\node [inner sep=2pt,label=below:\textcolor{white}{read a cookie}] at ($ (X1)!.5!(Y1) $) {};}
6
+ − 705
\only<2>{\draw[red, <-, line width = 1mm] (X1) -- (Y1);
+ − 706
\node [inner sep=2pt,label=below:\textcolor{black}{read a cookie}] at ($ (X1)!.5!(Y1) $) {};}
+ − 707
\only<3->{\draw[red, ->, line width = 2mm] (X) -- (Y);
+ − 708
\node [inner sep=5pt,label=above:\textcolor{black}{webpage}] at ($ (X)!.5!(Y) $) {};}
+ − 709
\only<3->{\draw[red, ->, line width = 1mm] (X1) -- (Y1);
+ − 710
\node [inner sep=2pt,label=below:\textcolor{black}{write a cookie}] at ($ (X1)!.5!(Y1) $) {};}
+ − 711
\end{tikzpicture}
+ − 712
\end{textblock}
+ − 713
+ − 714
+ − 715
\begin{textblock}{1}(9.5,5.5)
+ − 716
\begin{tabular}{c}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 717
\includegraphics[scale=0.15]{../pics/laptop.png}\\[-2mm]
6
+ − 718
\small Client
+ − 719
\end{tabular}
+ − 720
\end{textblock}
+ − 721
+ − 722
\only<4->{
+ − 723
\begin{textblock}{13}(1,11)
+ − 724
\small\begin{itemize}
+ − 725
\item cookies: max 4KB data\\[-2mm]
+ − 726
\item cookie theft, cross-site scripting attacks\\[-2mm]
+ − 727
\item session cookies, persistent cookies, HttpOnly cookies, third-party cookies, zombie cookies
+ − 728
\end{itemize}
+ − 729
\end{textblock}}
+ − 730
+ − 731
\only<5>{
+ − 732
\begin{textblock}{11}(1,3)
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 733
\begin{bubble}[10cm]\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 734
{\bf EU Privacy Directive about Cookies:}\smallskip\\ ``In May 2011, a
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 735
European Union law was passed stating that websites that leave
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 736
non-essential cookies on visitors' devices have to alert the visitor
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 737
and get acceptance from them. This law applies to both individuals and
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 738
businesses based in the EU regardless of the nationality of their
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 739
website's visitors or the location of their web host. It is not enough
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 740
to simply update a website's terms and conditions or privacy
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 741
policy. The deadline to comply with the new EU cookie law was 26th May
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 742
2012 and failure to do so could mean a fine of up to
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 743
\pounds{500,000}.'' \hfill\small\textcolor{gray}{$\rightarrow$BBC
174
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 744
News}, \url{www.goo.gl/RI4qhh}
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 745
\end{bubble}
6
+ − 746
\end{textblock}}
+ − 747
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 748
\end{frame}
6
+ − 749
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 750
+ − 751
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9
+ − 752
\begin{frame}[t]
+ − 753
\begin{itemize}
+ − 754
\item While cookies are per web-page, this can be easily circumvented.
+ − 755
\end{itemize}
+ − 756
+ − 757
\begin{textblock}{1}(1.5,4.5)
+ − 758
\begin{tabular}{c}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 759
\includegraphics[scale=0.07]{../pics/servers.png}\\[-2mm]
9
+ − 760
\small Pet Store\\[-2mm]
+ − 761
\small Dot.com\\[-2mm]
+ − 762
\end{tabular}
+ − 763
\end{textblock}
+ − 764
+ − 765
\begin{textblock}{1}(1.5,8)
+ − 766
\begin{tabular}{c}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 767
\includegraphics[scale=0.07]{../pics/servers.png}\\[-2mm]
9
+ − 768
\small Dating.com
+ − 769
\end{tabular}
+ − 770
\end{textblock}
+ − 771
+ − 772
\begin{textblock}{1}(10.5,7.5)
+ − 773
\begin{tabular}{c}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 774
\includegraphics[scale=0.07]{../pics/servers.png}\\[-2mm]
9
+ − 775
\small Evil-Ad-No\\[-2mm]
+ − 776
\small Privacy.com
+ − 777
\end{tabular}
+ − 778
\end{textblock}
+ − 779
+ − 780
\begin{textblock}{1}(6,10.5)
+ − 781
\begin{tabular}{c}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 782
\includegraphics[scale=0.16]{../pics/rman.png}\\[-1mm]
9
+ − 783
\small you
+ − 784
\end{tabular}
+ − 785
\end{textblock}
+ − 786
+ − 787
\begin{textblock}{1}(4,5)
+ − 788
\begin{tikzpicture}[scale=1]
+ − 789
\draw[white] (0,0.5) node (X) {};
+ − 790
\draw[white] (5.7,-1) node (Y) {};
+ − 791
\draw[red, ->, line width = 0.5mm] (X) -- (Y);
+ − 792
\node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {};
+ − 793
\end{tikzpicture}
+ − 794
\end{textblock}
+ − 795
+ − 796
\begin{textblock}{1}(4,7.9)
+ − 797
\begin{tikzpicture}[scale=1]
+ − 798
\draw[white] (0,0) node (X) {};
+ − 799
\draw[white] (5.7,0) node (Y) {};
+ − 800
\draw[red, ->, line width = 0.5mm] (X) -- (Y);
+ − 801
\node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {};
+ − 802
\end{tikzpicture}
+ − 803
\end{textblock}
+ − 804
+ − 805
\begin{textblock}{1}(3.3,9.3)
+ − 806
\begin{tikzpicture}[scale=1.2]
+ − 807
\draw[white] (0,0) node (X) {};
+ − 808
\draw[white] (1.5,-1) node (Y) {};
+ − 809
\draw[red, <->, line width = 2mm] (X) -- (Y);
+ − 810
\node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {};
+ − 811
\draw[white] (0.9,0.3) node (X1) {};
+ − 812
\draw[white] (1.9,-1) node (Y1) {};
+ − 813
\draw[red, <->, line width = 2mm] (X1) -- (Y1);
+ − 814
\node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X1)!.5!(Y1) $) {};
+ − 815
\end{tikzpicture}
+ − 816
\end{textblock}
+ − 817
+ − 818
\begin{textblock}{1}(8.6,10.1)
+ − 819
\begin{tikzpicture}[scale=0.9]
+ − 820
\draw[white] (0,0) node (X) {};
+ − 821
\draw[white] (-2,-1) node (Y) {};
+ − 822
\draw[red, <->, line width = 0.5mm] (X) -- (Y);
+ − 823
\node [inner sep=5pt,label=above:\textcolor{black}{}] at ($ (X)!.5!(Y) $) {};
+ − 824
\end{tikzpicture}
+ − 825
\end{textblock}
+ − 826
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 827
\end{frame}
9
+ − 828
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 829
+ − 830
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6
+ − 831
\begin{frame}[c]
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 832
\frametitle{My First Real Webapp}
6
+ − 833
+ − 834
{\bf GET request:}\smallskip
+ − 835
\begin{enumerate}
8
+ − 836
\item read the cookie from client
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 837
\item if none is present, set \texttt{counter} to \textcolor{blue}{zero}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 838
\item if cookie is present, extract \texttt{counter}
169
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 839
\item if \texttt{counter} is greater or equal than \textcolor{blue}{$5$}, \\
8
+ − 840
print a valued customer message\\
+ − 841
otherwise just a normal message
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 842
\item increase \texttt{counter} by \textcolor{blue}{$1$} and store new cookie with client
6
+ − 843
\end{enumerate}
+ − 844
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 845
\end{frame}
6
+ − 846
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 847
+ − 848
+ − 849
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 850
\begin{frame}[c]
+ − 851
\mbox{}\\[-9mm]
+ − 852
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 853
\footnotesize
170
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 854
\lstinputlisting{../progs/ap2.js}
6
+ − 855
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 856
\end{frame}
7
+ − 857
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 858
+ − 859
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 860
\begin{frame}[c]
+ − 861
8
+ − 862
\begin{center}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 863
\includegraphics[scale=1.8]{../pics/barrier.jpg}
8
+ − 864
\end{center}
+ − 865
+ − 866
\begin{itemize}
+ − 867
\item data integrity needs to be ensured
+ − 868
\end{itemize}
7
+ − 869
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 870
\end{frame}
8
+ − 871
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7
+ − 872
+ − 873
+ − 874
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 875
\begin{frame}[c]
8
+ − 876
\mbox{}\\[-7mm]
7
+ − 877
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 878
\footnotesize
170
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 879
\lstinputlisting{../progs/ap3.js}
7
+ − 880
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 881
\end{frame}
6
+ − 882
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 883
9
+ − 884
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7
+ − 885
\begin{frame}[c]
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 886
\frametitle{SHA-1}
7
+ − 887
+ − 888
\begin{itemize}
8
+ − 889
\item SHA-1 is a cryptographic hash function\\
+ − 890
(MD5, SHA-256, SHA-512, \ldots)
+ − 891
\item message $\rightarrow$ digest
102
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 892
\item attacks exist: $2^{80} \rightarrow 2^{61}$ \bigskip\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 893
\item but dictionary attacks are much more effective for extracting passwords (later)
7
+ − 894
\end{itemize}
+ − 895
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 896
\end{frame}
9
+ − 897
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 898
7
+ − 899
+ − 900
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 901
\begin{frame}[c]
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 902
\mbox{}\\[-2mm]
7
+ − 903
170
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 904
{\footnotesize\lstinputlisting{../progs/ap4.js}}
7
+ − 905
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 906
\begin{textblock}{1}(9,0)
8
+ − 907
\begin{tikzpicture}[scale=1.3]
+ − 908
\draw[white] (0,0) node (X) {};
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 909
\draw[white] (3.5,0) node (Y) {};
8
+ − 910
\draw[red, <-, line width = 2mm] (X) -- (Y);
+ − 911
\node [inner sep=5pt,label=above:\textcolor{black}{\small should be random}] at ($ (X)!.5!(Y) $) {};
+ − 912
\end{tikzpicture}
+ − 913
\end{textblock}
+ − 914
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 915
\begin{textblock}{1}(12.6,6.5)
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 916
\begin{tikzpicture}[scale=1.3]
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 917
\draw[white] (0,0) node (X) {};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 918
\draw[white] (-1,-1) node (Y) {};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 919
\draw[red, <-, line width = 2mm] (X) -- (Y);
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 920
\node [inner sep=5pt,label=above:{}] at ($ (X)!.5!(Y) $) {};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 921
\end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 922
\end{textblock}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 923
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 924
\begin{textblock}{1}(9.9,11.5)
8
+ − 925
\begin{tikzpicture}[scale=1.3]
+ − 926
\draw[white] (0,0) node (X) {};
+ − 927
\draw[white] (1,-1) node (Y) {};
+ − 928
\draw[red, <-, line width = 2mm] (X) -- (Y);
+ − 929
\node [inner sep=5pt,label=above:{}] at ($ (X)!.5!(Y) $) {};
+ − 930
\end{tikzpicture}
+ − 931
\end{textblock}
+ − 932
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 933
\end{frame}
7
+ − 934
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 935
6
+ − 936
9
+ − 937
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7
+ − 938
\mode<presentation>{
+ − 939
\begin{frame}[c]
+ − 940
\frametitle{\begin{tabular}{c}Unix Passwords\end{tabular}}
6
+ − 941
8
+ − 942
\begin{itemize}
99
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 943
\item passwords must \alert{\bf not} be stored in clear text
9
+ − 944
\item instead \texttt{/etc/shadow} contains
8
+ − 945
\end{itemize}
9
+ − 946
+ − 947
{\small
+ − 948
\texttt{name:\$1\$QIGCa\$/ruJs8AvmrknzKTzM2TYE.:other\_info}
+ − 949
}
+ − 950
+ − 951
\begin{itemize}
+ − 952
\item \texttt{\$} is separator
+ − 953
\item \texttt{1} is MD5 (actually SHA-512 is used nowadays, \texttt{6})
+ − 954
\item \texttt{QIGCa} is salt
+ − 955
\item \texttt{ruJs8AvmrknzKTzM2TYE} $\rightarrow$ password + salt
+ − 956
\end{itemize}
+ − 957
+ − 958
\textcolor{gray}{\small
+ − 959
(\texttt{openssl passwd -1 -salt QIGCa pippo})
+ − 960
}
7
+ − 961
% Unix password
+ − 962
% http://ubuntuforums.org/showthread.php?p=5318038
+ − 963
+ − 964
\end{frame}}
9
+ − 965
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7
+ − 966
99
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 967
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 968
\mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 969
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 970
\frametitle{\begin{tabular}{@ {}c@ {}}Plain-Text Passwords\end{tabular}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 971
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 972
\pause
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 973
\small\textcolor{gray}{On 25 September 2012, a report on a data breach at IEEE:}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 974
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 975
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 976
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 977
\item IEEE is a standards organisation (not-for-profit)
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 978
\item many standards in CS are by IEEE\medskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 979
\item 100k plain-text passwords were recorded in logs
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 980
\item the logs were openly accessible on their FTP server
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 981
\end{itemize}\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 982
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 983
\begin{flushright}\small
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 984
\textcolor{gray}{\url{http://ieeelog.com}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 985
\end{flushright}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 986
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 987
\only<3->{
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 988
\begin{textblock}{11}(3,2)
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 989
\begin{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 990
\draw (0,0) node[inner sep=2mm,fill=white, ultra thick, draw=red, rounded corners=2mm]
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 991
{\normalsize\color{darkgray}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 992
\begin{minipage}{7.5cm}\raggedright\small
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 993
\includegraphics[scale=0.6]{../pics/IEEElog.jpg}
99
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 994
\end{minipage}};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 995
\end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 996
\end{textblock}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 997
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 998
\end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 999
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1000
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1001
9
+ − 1002
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7
+ − 1003
\mode<presentation>{
+ − 1004
\begin{frame}[c]
99
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1005
\frametitle{\begin{tabular}{c}Other Password Blunders\end{tabular}}
6
+ − 1006
9
+ − 1007
+ − 1008
\begin{itemize}
+ − 1009
\item in late 2009, when an SQL injection attack against online games
+ − 1010
service RockYou.com exposed 32 million \alert{plaintext} passwords
8
+ − 1011
9
+ − 1012
\item 1.3 million Gawker credentials exposed in December 2010 containing
+ − 1013
unsalted(?) \alert{MD5} hashes
+ − 1014
12
+ − 1015
\item June 6th, 2012, 6 million unsalted SHA-1 passwords were leaked from linkedIn
3
+ − 1016
% linkedIn password
+ − 1017
% http://erratasec.blogspot.co.uk/2012/06/confirmed-linkedin-6mil-password-dump.html
9
+ − 1018
\end{itemize}\medskip
8
+ − 1019
9
+ − 1020
\small
99
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1021
(web user maintains 25 separate accounts but uses just 6.5 passwords.)
8
+ − 1022
7
+ − 1023
\end{frame}}
9
+ − 1024
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7
+ − 1025
8
+ − 1026
%For instance, SHA512crypt, which is included in Mac OS X and most Unix-based operating systems, passes text through 5,000 iterations, a %hurdle that would have limited Gosney to slightly less than 2,600 guesses per second. The Bcrypt algorithm is even more computationally %expensive, in large part because it subjects text to multiple iterations of the Blowfish cipher that was deliberately modified to increase the %time required to generate a hash. PBKDF2, a function built into Microsoft's .Net software developer framework, offers similar benefits.
+ − 1027
+ − 1028
3
+ − 1029
% rainbow tables
+ − 1030
% http://en.wikipedia.org/wiki/Rainbow_table
+ − 1031
7
+ − 1032
3
+ − 1033
9
+ − 1034
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3
+ − 1035
\begin{frame}[c]
+ − 1036
\frametitle{\begin{tabular}{c}Brute Forcing Passwords\end{tabular}}
+ − 1037
+ − 1038
\begin{itemize}
5
+ − 1039
\item How fast can hackers crack SHA-1 passwords? \pause
3
+ − 1040
5
+ − 1041
\item The answer is 2 billion attempts per second\\
+ − 1042
using a Radeon HD 7970
3
+ − 1043
\end{itemize}
+ − 1044
+ − 1045
\begin{center}
5
+ − 1046
\begin{tabular}{@ {\hspace{-12mm}}rl}
3
+ − 1047
password length & time\smallskip\\\hline
+ − 1048
5 letters & 5 secs\\
+ − 1049
6 letters & 500 secs\\
+ − 1050
7 letters & 13 hours\\
+ − 1051
8 letters & 57 days\\
+ − 1052
9 letters & 15 years\\
+ − 1053
\end{tabular}
+ − 1054
\end{center}
+ − 1055
+ − 1056
\small
5
+ − 1057
5 letters $\approx$ 100$^5$ $=$ 10 billion combinations\\
+ − 1058
(1 letter - upper case, lower case, digits, symbols $\approx$ 100)
+ − 1059
+ − 1060
\only<2->{
+ − 1061
\begin{textblock}{1}(12,5)
+ − 1062
\begin{tabular}{c}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1063
\includegraphics[scale=0.3]{../pics/radeon.jpg}\\[-6mm]
5
+ − 1064
\footnotesize graphics card\\[-1mm]
+ − 1065
\footnotesize ca.~\pounds{}300
+ − 1066
\end{tabular}
+ − 1067
\end{textblock}}
+ − 1068
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1069
\end{frame}
9
+ − 1070
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3
+ − 1071
9
+ − 1072
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4
+ − 1073
\begin{frame}[c]
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1074
\frametitle{Passwords}
4
+ − 1075
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1076
How to recover from a break in?\pause\medskip
9
+ − 1077
4
+ − 1078
\begin{itemize}
9
+ − 1079
\item Do not send passwords in plain text.
+ − 1080
\item Security questions are tricky to get right.
+ − 1081
\item QQ (Chinese Skype) authenticates you via contacts.
4
+ − 1082
\end{itemize}
+ − 1083
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1084
\end{frame}
9
+ − 1085
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4
+ − 1086
9
+ − 1087
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3
+ − 1088
\begin{frame}[c]
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1089
\frametitle{This Course}
3
+ − 1090
+ − 1091
\begin{itemize}
9
+ − 1092
\item break-ins (buffer overflows)
+ − 1093
\item access control\\ (role based, data security / data integrity)
101
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1094
\item electronic voting
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1095
\item protocols (specification)
7
+ − 1096
\item access control logic
+ − 1097
\item privacy
+ − 1098
\begin{quote}
+ − 1099
Scott McNealy: \\``You have zero privacy anyway. Get over it.''
+ − 1100
\end{quote}
101
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1101
\item zero-knowledge proofs
3
+ − 1102
\end{itemize}
+ − 1103
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1104
\end{frame}
9
+ − 1105
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3
+ − 1106
9
+ − 1107
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3
+ − 1108
\begin{frame}[c]
100
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1109
\frametitle{\Large\begin{tabular}{c}User-Tracking Without Cookies\end{tabular}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1110
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1111
Can you track a user {\bf without}:
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1112
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1113
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1114
\item Cookies
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1115
\item JavaScript
100
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1116
\item LocalStorage/SessionStorage/GlobalStorage
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1117
\item Flash, Java or other plugins
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1118
\item Your IP address or user agent string
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1119
\item Any methods employed by Panopticlick\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1120
\mbox{}\hfill $\rightarrow$ \textcolor{blue}{\url{https://panopticlick.eff.org/}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1121
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1122
164
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1123
Even when you disabled cookies entirely, have JavaScript turned off and use a VPN service.\\\pause
167
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1124
(And numerous sites use it.)
100
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1125
168
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1126
\end{frame}
100
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1127
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1128
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1129
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1130
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1131
\begin{frame}[c]
168
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1132
\frametitle{Web-Protocol}
100
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1133
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1134
\only<1->{
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1135
\begin{textblock}{1}(2,2)
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1136
\begin{tikzpicture}[scale=1.3]
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1137
\draw[white] (0,0) node (X) {\includegraphics[scale=0.12]{../pics/firefox.jpg}};
100
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1138
\end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1139
\end{textblock}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1140
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1141
\only<1->{
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1142
\begin{textblock}{1}(11,2)
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1143
\begin{tikzpicture}[scale=1.3]
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1144
\draw[white] (0,0) node (X) {\includegraphics[scale=0.15]{../pics/servers.png}};
100
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1145
\end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1146
\end{textblock}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1147
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1148
\only<1->{
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1149
\begin{textblock}{1}(5,2.5)
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1150
\begin{tikzpicture}[scale=1.3]
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1151
\draw[white] (0,0) node (X) {};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1152
\draw[white] (3,0) node (Y) {};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1153
\draw[red, ->, line width = 2mm] (X) -- (Y);
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1154
\node [inner sep=5pt,label=above:\textcolor{black}{\small GET static.jpg}] at ($ (X)!.5!(Y) $) {};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1155
\end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1156
\end{textblock}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1157
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1158
\only<2->{
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1159
\begin{textblock}{1}(5,6)
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1160
\begin{tikzpicture}[scale=1.3]
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1161
\draw[white] (0,0) node (X) {};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1162
\draw[white] (3,0) node (Y) {};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1163
\draw[red, <-, line width = 2mm] (X) -- (Y);
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1164
\node [inner sep=5pt,label=below:\textcolor{black}{\small ETag: 7b33de1}] at ($ (X)!.5!(Y) $) {};
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1165
\node [inner sep=5pt,label=above:{\includegraphics[scale=0.15]{../pics/tvtestscreen.jpg}}] at ($ (X)!.5!(Y) $) {};
100
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1166
\end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1167
\end{textblock}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1168
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1169
\only<3->{
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1170
\begin{textblock}{1}(4.2,11)
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1171
\begin{tikzpicture}[scale=1.3]
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1172
\draw[white] (0,0) node (X) {};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1173
\draw[white] (3,0) node (Y) {};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1174
\draw[red, ->, line width = 2mm] (X) -- (Y);
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1175
\node [inner sep=5pt,label=above:\textcolor{black}{\small GET static.jpg ETag: 7b33de1}] at ($ (X)!.5!(Y) $) {};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1176
\end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1177
\end{textblock}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1178
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1179
\only<4->{
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1180
\begin{textblock}{1}(4.2,13.9)
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1181
\begin{tikzpicture}[scale=1.3]
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1182
\draw[white] (0,0) node (X) {};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1183
\draw[white] (3,0) node (Y) {};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1184
\draw[red, <-, line width = 2mm] (X) -- (Y);
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1185
\node [inner sep=5pt,label=below:\textcolor{black}{\small HTTP/1.1 304 (Not Modified)}] at ($ (X)!.5!(Y) $) {};
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1186
\end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1187
\end{textblock}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1188
168
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1189
\end{frame}
100
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1190
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1191
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1192
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1193
\begin{frame}[c]
168
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1194
\frametitle{Books + Homework}
8
+ − 1195
9
+ − 1196
\begin{itemize}
100
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1197
\item There is no single book I am following
168
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1198
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1199
\begin{center}
199
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1200
\includegraphics[scale=0.012]{../pics/andersonbook1.jpg}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1201
%%\includegraphics[scale=0.23]{../pics/accesscontrolbook.jpg}
168
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1202
\end{center}\medskip\pause
9
+ − 1203
+ − 1204
\item The question ``Is this relevant for the exams'' is not appreciated!\medskip\\
+ − 1205
168
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1206
Whatever is in the homework (and is not marked optional) is relevant for the
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1207
exam. No code needs to be written.
9
+ − 1208
\end{itemize}
8
+ − 1209
168
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1210
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1211
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1212
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1213
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1214
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1215
\frametitle{Further Information}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1216
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1217
For your personal interest:
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1218
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1219
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1220
\item RISKS mailing list
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1221
\item Schneier's Crypto newsletter
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1222
\item Google+ Ethical Hacker group
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1223
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1224
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1225
\end{frame}
8
+ − 1226
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − 1227
2
+ − 1228
102
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1229
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1230
\begin{frame}[c]
168
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1231
\frametitle{Take-Home Points}
102
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1232
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1233
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1234
\item Never store passwords in plain text.\medskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1235
\item Always salt your hashes!\medskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1236
\item Use an existing crypto algorithm; do not write your own!\medskip
170
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1237
\item Make the party responsible for losses that is in the position to improve
168
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1238
security.
102
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1239
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1240
168
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1241
\end{frame}
102
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1242
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0
+ − 1243
+ − 1244
+ − 1245
\end{document}
+ − 1246
+ − 1247
%%% Local Variables:
94
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
+ − 1248
%%% mode: xelatex
0
+ − 1249
%%% TeX-master: t
+ − 1250
%%% End:
+ − 1251