slides/slides10.tex
changeset 341 f652d17db871
parent 339 0e78c809b17f
child 343 9a27fa14c17c
equal deleted inserted replaced
340:54ec490a3042 341:f652d17db871
     1 \documentclass[dvipsnames,14pt,t]{beamer}
     1 \documentclass[dvipsnames,14pt,t]{beamer}
     2 \usepackage{../slides}
     2 \usepackage{../slides}
     3 \usepackage{../langs}
     3 \usepackage{../langs}
     4 \usepackage{../graphics}
     4 \usepackage{../graphics}
       
     5 \usepackage{../data}
       
     6 \usepackage{../grammar}
     5 
     7 
     6 % beamer stuff 
     8 % beamer stuff 
     7 \renewcommand{\slidecaption}{APP 10, King's College London}
     9 \renewcommand{\slidecaption}{APP 10, King's College London}
     8 \newcommand{\bl}[1]{\textcolor{blue}{#1}}
    10 \newcommand{\bl}[1]{\textcolor{blue}{#1}}
     9 
    11 
    10 \begin{document}
    12 \begin{document}
    11 
    13 
    12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    14 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    13 \mode<presentation>{
    15 \begin{frame}[t]
    14 \begin{frame}<1>[t]
       
    15 \frametitle{%
    16 \frametitle{%
    16   \begin{tabular}{@ {}c@ {}}
    17   \begin{tabular}{@ {}c@ {}}
    17   \\
    18   \\
    18   \LARGE Access Control and \\[-3mm] 
    19   \LARGE Access Control and \\[-3mm] 
    19   \LARGE Privacy Policies (10)\\[-6mm] 
    20   \LARGE Privacy Policies (10)\\[-6mm] 
    20   \end{tabular}}\bigskip\bigskip\bigskip
    21   \end{tabular}}\bigskip\bigskip\bigskip
    21 
    22 
    22   %\begin{center}
    23   \normalsize
    23   %\includegraphics[scale=1.3]{pics/barrier.jpg}
       
    24   %\end{center}
       
    25 
       
    26 \normalsize
       
    27   \begin{center}
    24   \begin{center}
    28   \begin{tabular}{ll}
    25   \begin{tabular}{ll}
    29   Email:  & christian.urban at kcl.ac.uk\\
    26   Email:  & christian.urban at kcl.ac.uk\\
    30   Office: & S1.27 (1st floor Strand Building)\\
    27   Office: & S1.27 (1st floor Strand Building)\\
    31   Slides: & KEATS (also homework is there)\\
    28   Slides: & KEATS (also homework is there)\\
    32   \end{tabular}
    29   \end{tabular}
    33   \end{center}
    30   \end{center}
    34 
    31 
    35 \end{frame}}
    32 \end{frame}
    36  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
    33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
    37 
    34 
    38 
    35 
    39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    36 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    40 \mode<presentation>{
    37 \begin{frame}[c]
    41 \begin{frame}[c]
    38 \frametitle{\mbox{}\\[20mm]\Huge Revision}
    42 \frametitle{\mbox{}\\[20mm]\huge Revision}
    39 
    43 
    40 \end{frame}
    44 \end{frame}}
       
    45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
    41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
    46 
    42 
    47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    48 \mode<presentation>{
    44 \begin{frame}[c]
       
    45 \frametitle{Security Engineering}
       
    46   
       
    47   \begin{center}
       
    48   \begin{tabular}{cc}
       
    49   \raisebox{-0.8mm}{\includegraphics[scale=0.28]{../pics/flight.jpg}} &
       
    50   \includegraphics[scale=0.31]{../pics/airbus.jpg}\\
       
    51   \small Wright brothers, 1901 & \small Airbus, 2005 \\ 
       
    52   \end{tabular}
       
    53   \end{center}
       
    54 
       
    55   \end{frame}
       
    56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
    57 
       
    58 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    49 \begin{frame}[c]
    59 \begin{frame}[c]
    50 \frametitle{1st Lecture}
    60 \frametitle{1st Lecture}
    51 
    61 
    52 \begin{itemize}
    62 \begin{itemize}
    53 \item hashes and salts to guaranty data integrity\bigskip
    63 \item chip-and-pin, banks vs.~customers
    54 \item storing passwords (brute force attacks and dictionary attacks)
    64 \begin{quote}\small\rm
    55 \end{itemize}
    65  the one who can improve security should also be 
    56 
    66  liable for the losses 
    57 
    67 \end{quote}\pause\bigskip
    58 \end{frame}}
    68 
    59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
    69 \item hashes and salts to guarantee data integrity\medskip
    60 
    70 \item storing passwords (you should know the difference between
    61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    71 brute force attacks and dictionary attacks; how do salts help?)
    62 \begin{frame}[fragile,t]
    72 \end{itemize}
    63 \frametitle{\begin{tabular}{c}2nd Lecture:\\ E-Voting\end{tabular}}
    73 
       
    74 \end{frame}
       
    75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
       
    76 
       
    77 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
    78 \begin{frame}[c]
       
    79 \frametitle{1st Lecture: Cookies}
       
    80 
       
    81 \begin{itemize}
       
    82 \item good uses of cookies?\medskip
       
    83 
       
    84 \item bad uses of cookies: snooping, tracking, profiling\ldots
       
    85       the ``disadvantage'' is that the user is in
       
    86       \alert{control}, because you can delete them 
       
    87           
       
    88           \begin{center} ``Please track me using cookies.''
       
    89           \end{center}\bigskip\pause
       
    90                  
       
    91 \item fingerprinting beyond browser cookies
       
    92   \begin{quote}\small\rm
       
    93   Pixel Perfect: Fingerprinting Canvas in HTML5\\ 
       
    94   (a research paper from 2012)\\
       
    95   \footnotesize
       
    96   \url{http://cseweb.ucsd.edu/~hovav/papers/ms12.html}      
       
    97   \end{quote}      
       
    98 \end{itemize}
       
    99 
       
   100 \end{frame}
       
   101 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
       
   102 
       
   103 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   104 \begin{frame}[c]
       
   105 \frametitle{1st Lecture: Cookies}
       
   106 
       
   107 \begin{itemize}
       
   108 \item a bit of JavaScript and HTML5 + canvas\medskip
       
   109 \begin{center}
       
   110 \begin{tabular}{cc}
       
   111 Firefox & Safari\\
       
   112 \includegraphics[scale=0.31]{../pics/firefox1.png} &
       
   113 \includegraphics[scale=0.31]{../pics/safari1.png} \\
       
   114 \tiny
       
   115 \pcode{55b2257ad0f20ecbf927fb66a15c61981f7ed8fc} &
       
   116 \tiny
       
   117 \pcode{17bc79f8111e345f572a4f87d6cd780b445625d3}
       
   118 \end{tabular}
       
   119 \end{center}\bigskip
       
   120 
       
   121 \item\small no actual drawing needed\pause
       
   122 \item\small in May 2014 a crawl of 100,000 popular 
       
   123 webpages revealed 5.5\% already use canvas 
       
   124 fingerprinting\smallskip
       
   125 \begin{center}\scriptsize
       
   126 \url{https://securehomes.esat.kuleuven.be/~gacar/persistent/the_web_never_forgets.pdf}
       
   127 \end{center}
       
   128 \end{itemize}
       
   129 
       
   130 \end{frame}
       
   131 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
       
   132 
       
   133 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   134 \begin{frame}[c]
       
   135 \frametitle{1st Lecture: Cookies}
       
   136 
       
   137 Remember the small web-app I showed where a cookie 
       
   138 protected a counter\bigskip 
       
   139 
       
   140 \begin{itemize}
       
   141 \item NYT, the cookie looks the ``resource'' - harm\medskip
       
   142 \item imaginary discount unlocked by cookie - no harm
       
   143 \end{itemize}
       
   144 
       
   145 \end{frame}
       
   146 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
       
   147 
       
   148 
       
   149 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   150 \begin{frame}[t]
       
   151 \frametitle{2nd Lecture: E-Voting}
       
   152 
       
   153 Where are paper ballots better than voice voting?\bigskip
    64 
   154 
    65 \begin{itemize}
   155 \begin{itemize}
    66 \item Integrity 
   156 \item Integrity 
    67 \item Ballot Secrecy
   157 \item \alert{Ballot Secrecy}
    68 \item Voter Authentication
   158 \item Voter Authentication
    69 \item Enfranchisement
   159 \item Enfranchisement
    70 \item Availability
   160 \item Availability
    71 \end{itemize}
   161 \end{itemize}
    72 
   162 
    73 
       
    74 
       
    75 \end{frame}
   163 \end{frame}
    76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   164 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
    77 
   165 
    78 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   166 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    79 \begin{frame}[fragile,t]
   167 \begin{frame}[t]
    80 \frametitle{\begin{tabular}{c}2nd Lecture:\\ E-Voting\end{tabular}}
   168 \frametitle{2nd Lecture: E-Voting}
    81 
   169 
    82 Online Banking vs.~E-Voting
   170 \begin{itemize}
    83 
   171 \item (two weeks ago) an Australian parliamentary committee 
    84 \begin{itemize}
   172 found: e-voting is highly vulnerable to hacking and Australia 
    85 \item online banking: if fraud occurred you try to identify who did what (somebody's account got zero)\bigskip
   173 will not use it any time soon\bigskip\pause
    86 \item e-voting: some parts can be done electronically, but not the actual voting (final year project: online voting)
   174 \item Alex Halderman, Washington D.C.~hack
    87 \end{itemize}
   175 \begin{center}
    88 
   176 \scriptsize
    89 
   177 \url{https://jhalderm.com/pub/papers/dcvoting-fc12.pdf}
       
   178 \end{center}\medskip
       
   179 
       
   180 \item PDF-ballot tampering at the wireless router (the modification 
       
   181 is nearly undetectable and leaves no traces; MITM attack with firmware 
       
   182 updating)
       
   183 \begin{center}
       
   184 \scriptsize
       
   185 \url{http://galois.com/wp-content/uploads/2014/11/technical-hack-a-pdf.pdf}
       
   186 \end{center}
       
   187 
       
   188 \end{itemize}
    90 
   189 
    91 \end{frame}
   190 \end{frame}
    92 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   191 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
    93 
   192 
    94 
   193 
    95 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   194 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    96 \tikzset{alt/.code args={<#1>#2#3#4}{%
   195 \tikzset{alt/.code args={<#1>#2#3#4}{%
    97   \alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
   196   \alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
    98 }}
   197 }}
    99 
   198 
   100 \mode<presentation>{
       
   101 \begin{frame}[t]
   199 \begin{frame}[t]
   102 \frametitle{\begin{tabular}{c}3rd Lecture:\\ Buffer Overflow Attacks\end{tabular}}
   200 \frametitle{\begin{tabular}{c}3rd Lecture:\\ Buffer Overflow Attacks\end{tabular}}
   103 
   201 
   104 \begin{itemize}
   202 \begin{itemize}
   105 \item the problem arises from the way C/C++ organises its function calls\\[-8mm]\mbox{}
   203 \item the problem arises from the way C/C++ organises its function calls\\[-8mm]\mbox{}
   131 
   229 
   132 \node at (7.75,3.9) {\small\begin{tabular}{l}stack\end{tabular}};
   230 \node at (7.75,3.9) {\small\begin{tabular}{l}stack\end{tabular}};
   133 \draw[line width=1mm] (7,3.5) -- (7,0.5) -- (8.5,0.5) -- (8.5,3.5);
   231 \draw[line width=1mm] (7,3.5) -- (7,0.5) -- (8.5,0.5) -- (8.5,3.5);
   134 
   232 
   135 \onslide<3,4,7,8>{
   233 \onslide<3,4,7,8>{
   136 \node at (7.75, 0.8) {ret};
   234 \node at (7.75, 1.4) {ret};
   137 \draw[line width=1mm] (7,1.1) -- (8.5,1.1);
   235 \draw[line width=1mm] (7,1.1) -- (8.5,1.1);
       
   236 \node at (7.75, 2.0) {sp};
       
   237 \draw[line width=1mm] (7,2.3) -- (8.5,2.3);
   138 }
   238 }
   139 \onslide<3>{
   239 \onslide<3,4>{
   140 \node at (7.75, 1.4) {4};
   240 \node at (7.75, 0.8) {4};
   141 \draw[line width=1mm] (7,1.7) -- (8.5,1.7);
   241 \draw[line width=1mm] (7,1.7) -- (8.5,1.7);
   142 }
   242 }
   143 \onslide<7>{
   243 \onslide<7,8>{
   144 \node at (7.75, 1.4) {3};
   244 \node at (7.75, 0.8) {3};
   145 \draw[line width=1mm] (7,1.7) -- (8.5,1.7);
   245 \draw[line width=1mm] (7,1.7) -- (8.5,1.7);
   146 }
   246 }
   147 
   247 
   148 
   248 
   149 
       
   150 
       
   151 \end{tikzpicture}
   249 \end{tikzpicture}
   152 \end{center}
   250 \end{center}
   153 
   251 
   154 \end{frame}}
   252 \end{frame}
   155 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   253 
   156 \mode<presentation>{
   254 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   157 \begin{frame}[t]
   255 \begin{frame}[t]
   158 
   256 
   159 \begin{center}
   257 \begin{center}
   160 \begin{tikzpicture}[scale=1]
   258 \begin{tikzpicture}[scale=1]
   161 %\draw[black!10,step=2mm] (0,0) grid (9,4);
   259 %\draw[black!10,step=2mm] (0,0) grid (9,4);
   178 \onslide<5->{\draw[<-, line width=2mm,red] (4,2) to node [above,sloped,midway] 
   276 \onslide<5->{\draw[<-, line width=2mm,red] (4,2) to node [above,sloped,midway] 
   179 {\begin{tabular}{l}user\\[-1mm] input\end{tabular}} (6,2);}
   277 {\begin{tabular}{l}user\\[-1mm] input\end{tabular}} (6,2);}
   180 \onslide<8->{\draw[<-, line width=1mm,red] (1,-2) to (3,1);}
   278 \onslide<8->{\draw[<-, line width=1mm,red] (1,-2) to (3,1);}
   181 
   279 
   182 \node at (7.75,3.9) {\small\begin{tabular}{l}stack\end{tabular}};
   280 \node at (7.75,3.9) {\small\begin{tabular}{l}stack\end{tabular}};
   183 \draw[line width=1mm] (7,3.5) -- (7,0.5) -- (8.5,0.5) -- (8.5,3.5);
   281 \draw[line width=1mm] (7,3.5) -- (7,-0.1) -- (8.5,-0.1) -- (8.5,3.5);
   184 
   282 
   185 \onslide<3->{
   283 \onslide<3->{
       
   284 \node at (7.75, 0.2) {4};
   186 \draw[line width=1mm,alt=<6->{fill=red}{fill=white}] (7,0.5) rectangle (8.5,1.1);
   285 \draw[line width=1mm,alt=<6->{fill=red}{fill=white}] (7,0.5) rectangle (8.5,1.1);
   187 \node at (7.75, 0.8) {\alt<6->{@a\#}{ret}};
   286 \node at (7.75, 0.8) {\alt<6->{@a\#}{ret}};
   188 \draw[line width=1mm,alt=<6->{fill=red}{fill=white}] (7,1.1) rectangle (8.5,1.7);
   287 \draw[line width=1mm,alt=<6->{fill=red}{fill=white}] (7,1.1) rectangle (8.5,1.7);
   189 \node at (7.75, 1.4) {\alt<6->{!?w;}4};
   288 \node at (7.75, 1.4) {\alt<6->{!?w;}sp};
   190 }
   289 }
   191 
   290 
   192 \onslide<4->{
   291 \onslide<4->{
   193 \draw[line width=1mm,fill=red] (7,1.7) rectangle (8.5,3.0);
   292 \draw[line width=1mm,fill=red] (7,1.7) rectangle (8.5,3.0);
   194 \node[white] at (7.75, 2.4) {buffer};
   293 \node[white] at (7.75, 2.4) {buffer};
   195 }
   294 }
   196 
   295 
   197 \end{tikzpicture}
   296 \end{tikzpicture}
   198 \end{center}
   297 \end{center}
   199 
   298 
   200 \end{frame}}
   299 \end{frame}
   201 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   300 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   202 
   301 
   203 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   302 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   204 \mode<presentation>{
       
   205 \begin{frame}[t]
   303 \begin{frame}[t]
   206 \frametitle{\begin{tabular}{c}3rd Lecture:\\ Unix Access Control\end{tabular}}
   304 \frametitle{\begin{tabular}{c}3rd Lecture:\\[-3mm] 
       
   305 Buffer Overflow Attacks\end{tabular}}
       
   306 
       
   307 US National Vulnerability Database\\ 
       
   308 \small(636 out of 6675 in 2014)
       
   309 
       
   310 \begin{center}
       
   311 \begin{tikzpicture}
       
   312 \begin{axis}[
       
   313     xlabel={year},
       
   314     ylabel={\% of total attacks},
       
   315     ylabel style={yshift=0em},
       
   316     enlargelimits=false,
       
   317     xtick={1997,1998,2000,...,2014},
       
   318     xmin=1996.5,
       
   319     xmax=2015,
       
   320     ymax=21,
       
   321     ytick={0,5,...,20},
       
   322     scaled ticks=false,
       
   323     axis lines=left,
       
   324     width=11cm,
       
   325     height=5cm,
       
   326     ybar,
       
   327     nodes near coords=
       
   328      {\footnotesize
       
   329       $\pgfmathprintnumber[fixed,fixed zerofill,precision=1,use comma]{\pgfkeysvalueof{/data point/y}}$},
       
   330     x tick label style={font=\scriptsize,/pgf/number format/1000 sep={}}]
       
   331 \addplot
       
   332   table [x=Year,y=Percentage] {bufferoverflows.data};
       
   333 \end{axis}
       
   334 \end{tikzpicture}
       
   335 \end{center}
       
   336 
       
   337 \scriptsize
       
   338 \url{http://web.nvd.nist.gov/view/vuln/statistics}
       
   339 \end{frame}
       
   340 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   341 
       
   342 
       
   343 
       
   344 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   345 \begin{frame}[t]
       
   346 \frametitle{\begin{tabular}{c}4rd Lecture:\\ Unix Access Control\end{tabular}}
   207 
   347 
   208 \begin{itemize}
   348 \begin{itemize}
   209 \item privileges are specified by file access permissions (``everything is a file'') 
   349 \item privileges are specified by file access permissions (``everything is a file'') 
   210 \end{itemize}\medskip
   350 \end{itemize}\medskip
   211 
   351 
   228   \draw[red, <->, line width = 1mm] (-0.6,1) -- (-1.6,1);
   368   \draw[red, <->, line width = 1mm] (-0.6,1) -- (-1.6,1);
   229   \end{tikzpicture}
   369   \end{tikzpicture}
   230 \end{center}
   370 \end{center}
   231 
   371 
   232 \begin{itemize}
   372 \begin{itemize}
   233 \item the idea is make the attack surface smaller and 
   373 \item the idea is to make the attack surface smaller and 
   234 mitigate the consequences of an attack
   374 mitigate the consequences of an attack
   235 \end{itemize}
   375 \end{itemize}
   236 
   376 
   237 \end{frame}}
   377 \end{frame}
   238 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   378 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   239 
   379 
   240 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   380 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   241 \begin{frame}[fragile,t]
   381 \begin{frame}[fragile,t]
   242 \frametitle{\begin{tabular}{c}3rd Lecture:\\ Unix Access Control\end{tabular}}
   382 \frametitle{\begin{tabular}{c}4rd Lecture:\\ Unix Access Control\end{tabular}}
   243 
   383 
   244 \begin{itemize}
   384 \begin{itemize}
   245 \item when a file with setuid is executed, the resulting process will assume the 
   385 \item when a file with setuid is executed, the resulting process will assume the 
   246 UID given to the owner of the file
   386 UID given to the owner of the file
   247 \end{itemize}
   387 \end{itemize}
   248 
   388 
   249 \small\tt
   389 \footnotesize\tt
   250 \begin{center}
   390 \begin{center}
   251 \begin{verbatim}
   391 \begin{verbatim}
   252 $ ls -ld . * */*
   392 $ ls -ld . * */*
   253 drwxr-xr-x 1 ping staff  32768 Apr  2 2010 .
   393 drwxr-xr-x 1 ping staff  32768 Apr  2 2010 .
   254 -rw----r-- 1 ping students  31359 Jul 24 2011 manual.txt
   394 -rw----r-- 1 ping students  31359 Jul 24 2011 manual.txt
   255 -r--rw--w- 1 bob students   4359 Jul 24 2011 report.txt
   395 -r--rw--w- 1 bob students    4359 Jul 24 2011 report.txt
   256 -rwsr--r-x 1 bob students 141359 Jun  1 2013 microedit
   396 -rwsr--r-x 1 bob students  141359 Jun  1 2013 microedit
   257 dr--r-xr-x 1 bob staff  32768 Jul 23 2011 src
   397 dr--r-xr-x 1 bob staff      32768 Jul 23 2011 src
   258 -rw-r--r-- 1 bob staff  81359 Feb 28 2012 src/code.c
   398 -rw-r--r-- 1 bob staff      81359 Feb 28 2012 src/code.c
   259 -r--rw---- 1 emma students    959 Jan 23 2012 src/code.h
   399 -r--rw---- 1 emma students    959 Jan 23 2012 src/code.h
   260 \end{verbatim}
   400 \end{verbatim}
   261 \end{center}
   401 \end{center}
   262 
   402 
   263 
   403 
   264 \end{frame}
   404 \end{frame}
   265 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
   405 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
   266 
   406 
   267 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   407 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   268 \mode<presentation>{
   408 \begin{frame}[t]
   269 \begin{frame}[c]
   409 \frametitle{\begin{tabular}{c}4rd Lecture:\\ Unix Access Control\end{tabular}}
   270 \frametitle{\begin{tabular}{c}8th Lecture: Privacy\end{tabular}}
   410 
   271 
   411 \begin{itemize}
   272 \begin{itemize}
   412 \item Alice wants to have her files readable, 
   273 \item differential privacy for annonymizing research data
   413 \alert{except} for her office mates.
       
   414 \end{itemize}
       
   415 
       
   416 
       
   417 \end{frame}
       
   418 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
       
   419 
       
   420 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   421 \begin{frame}[c]
       
   422 \frametitle{5rd Lecture: Protocols}
       
   423 
       
   424 Simple Challenge Response\\
       
   425 (solving the replay problem):
       
   426 
       
   427 \begin{center}
       
   428 \begin{tabular}{lll}
       
   429 \bl{$A \rightarrow B:$} & \bl{Hi I am A}\\
       
   430 \bl{$B \rightarrow A:$} & \bl{$N$} & (challenge)\\
       
   431 \bl{$A \rightarrow B:$} & \bl{$\{N\}_{K_{AB}}$}\\
       
   432 \end{tabular} 
       
   433 \end{center}\pause
       
   434 
       
   435 Mutual Challenge Response:
       
   436 
       
   437 \begin{center}
       
   438 \begin{tabular}{ll}
       
   439 \bl{$A \rightarrow B:$} & \bl{$N_A$}\\
       
   440 \bl{$B \rightarrow A:$} & \bl{$\{N_A, N_B\}_{K_{AB}}$}\\
       
   441 \bl{$A \rightarrow B:$} & \bl{$N_B$}\\
       
   442 \end{tabular} 
       
   443 \end{center}
       
   444 
       
   445 \end{frame}
       
   446 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
       
   447 
       
   448 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   449 \begin{frame}[c]
       
   450 \frametitle{5rd Lecture: Protocols}
       
   451 
       
   452 A car-transponder protocol:
       
   453 
       
   454 \begin{enumerate}
       
   455 \item \bl{$C$} generates a random number \bl{$N$}
       
   456 \item \bl{$C$} calculates \bl{$(F,G) = \{N\}_K$}
       
   457 \item \bl{$C \to T$}: \bl{$N, F$}
       
   458 \item \bl{$T$} calculates \bl{$(F',G') = \{N\}_K$}
       
   459 \item \bl{$T$} checks that \bl{$F = F'$}
       
   460 \item \bl{$T \to C$}: \bl{$N, G'$}
       
   461 \item \bl{$C$} checks that \bl{$G = G'$}
       
   462 \end{enumerate}
       
   463 
       
   464 Authentication: \bl{$T \to C$}, \bl{$C \to T$}?
       
   465 \end{frame}
       
   466 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
       
   467 
       
   468 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   469 \begin{frame}[c]
       
   470 \frametitle{5rd Lecture: Protocols}
       
   471 
       
   472 The interlock protocol (``best bet'' against MITM):
       
   473 
       
   474 \begin{center}
       
   475 \begin{tabular}{ll@{\hspace{2mm}}l}
       
   476 1. & \bl{$A \to B :$} & \bl{$K^{pub}_A$}\\
       
   477 2. & \bl{$B \to A :$} & \bl{$K^{pub}_B$}\\
       
   478 3. & & \bl{$\{A,m\}_{K^{pub}_B} \;\mapsto\; H_1,H_2$}\\
       
   479    & & \bl{$\{B,m'\}_{K^{pub}_A} \;\mapsto\; M_1,M_2$}\\
       
   480 4. & \bl{$A \to B :$} & \bl{$H_1$}\\
       
   481 5. & \bl{$B \to A :$} & \bl{$\{H_1, M_1\}_{K^{pub}_A}$}\\
       
   482 6. & \bl{$A \to B :$} & \bl{$\{H_2, M_1\}_{K^{pub}_B}$}\\
       
   483 7. & \bl{$B \to A :$} & \bl{$M_2$}
       
   484 \end{tabular}
       
   485 \end{center}\pause
       
   486 
       
   487 \footnotesize
       
   488 \bl{$m$} = How is your grandmother? \bl{$m'$} = How is the
       
   489 weather today in London?
       
   490 
       
   491 \end{frame}
       
   492 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
       
   493 
       
   494 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   495 \begin{frame}[c]
       
   496 \frametitle{Access Control Logic}
       
   497 
       
   498 Ross Anderson about the use of Logic:\bigskip
       
   499 
       
   500 \begin{quote}\rm
       
   501 ``Formal methods can be an excellent way of finding 
       
   502 bugs in security protocol designs as they force the designer 
       
   503 to make everything explicit and thus confront difficult design 
       
   504 choices that might otherwise be fudged.'' 
       
   505 \end{quote}
       
   506 
       
   507 \end{frame}
       
   508 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       
   509 
       
   510 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   511   \begin{frame}[t]
       
   512   \frametitle{Access Control Logic}
       
   513   
       
   514   \begin{center}
       
   515   \begin{tabular}[t]{rcl@ {\hspace{10mm}}l}
       
   516    \bl{$F$} & \bl{$::=$} & \bl{$\textit{true}$}\\
       
   517             & \bl{$|$} & \bl{$\textit{false}$}\\
       
   518             & \bl{$|$} & \bl{$a(t_1,\ldots,t_n)$}\\
       
   519             & \bl{$|$} & \bl{$F_1 \wedge F_2$}\\
       
   520             & \bl{$|$} & \bl{$F_1 \vee F_2$}\\
       
   521             & \bl{$|$} & \bl{$F_1 \Rightarrow F_2$}\\
       
   522             & \bl{$|$} & \alert{$P\;\textit{says}\; F$}\\
       
   523   \end{tabular}
       
   524   \end{center}
       
   525   
       
   526   where \bl{$P = Alice, Bob, Christian$} 
       
   527   
       
   528   \begin{itemize}
       
   529   \item \bl{$HoD\;\textit{says}\;\textit{is\_staff}(Christian)$}
       
   530   \end{itemize}
       
   531   \end{frame}
       
   532 
       
   533 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   534   \begin{frame}[t]
       
   535   \frametitle{Access Control Logic}
       
   536 
       
   537 \ldots can be used for answering the following questions:
       
   538 
       
   539 \begin{itemize}
       
   540 \item To what conclusions does this protocol come?
       
   541 \item What assumptions are needed for this protocol?
       
   542 \item Does the protocol uses unnecessary actions, which can be left out?
       
   543 \item Does the protocol encrypt anything which could be sent in plain, without
       
   544 weakening the security?
       
   545 \end{itemize}
       
   546 
       
   547 \end{frame}
       
   548 
       
   549 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   550 \begin{frame}[c]
       
   551 \frametitle{5th Lecture: Protocols}
       
   552 
       
   553 An article in The Guardian from 2013 reveals how GCHQ and the
       
   554 NSA at a G20 Summit in 2009 sniffed emails from Internet
       
   555 cafes, monitored phone calls from delegates and attempted to
       
   556 listen on phone calls which were made by Russians and which
       
   557 were transmitted via satellite links:
       
   558 
       
   559 \begin{center}
       
   560 \small
       
   561 \url{http://www.theguardian.com/uk/2013/jun/16/gchq-intercepted-communications-g20-summits}
       
   562 \end{center}
       
   563 
       
   564 \end{frame}
       
   565 
       
   566 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   567 \begin{frame}[fragile,c]
       
   568 \frametitle{6th Lecture:\\[-2mm] Zero-Knowledge Proofs}
       
   569 
       
   570 \begin{center}
       
   571 %\addtolength{\fboxsep}{4mm}
       
   572 %\fbox{\includegraphics[scale=0.3]
       
   573 %{../pics/Dismantling_Megamos_Crypto.png}}
       
   574 \end{center}
       
   575 
       
   576 \end{frame}
       
   577 
       
   578 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   579 \begin{frame}[c]
       
   580 \frametitle{7th Lecture: Privacy}
       
   581 
       
   582 
       
   583 \begin{itemize}
       
   584 \item de-anonymisation attacks\\ (Netflix, DNA databases, \ldots) 
       
   585 \end{itemize}
       
   586 
       
   587 \end{frame}
       
   588 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   589 \begin{frame}[c]
       
   590 \frametitle{7th Lecture: Privacy}
       
   591 
       
   592 \begin{itemize}
       
   593 \item differential privacy for anonymising research data
   274 
   594 
   275 \begin{center}
   595 \begin{center}
   276 User\;\;\;\;    
   596 User\;\;\;\;    
   277 \begin{tabular}{c}
   597 \begin{tabular}{c}
   278 tell me \bl{$f(x)$} $\Rightarrow$\\
   598 tell me \bl{$f(x)$} $\Rightarrow$\\
   287 \item \bl{$f(x)$} can be released, if \bl{$f$} is insensitive to
   607 \item \bl{$f(x)$} can be released, if \bl{$f$} is insensitive to
   288 individual entries  \bl{$x_1, \ldots, x_n$}\\
   608 individual entries  \bl{$x_1, \ldots, x_n$}\\
   289 \item The intuition: whatever is learned from the dataset would be learned regardless of whether
   609 \item The intuition: whatever is learned from the dataset would be learned regardless of whether
   290 \bl{$x_i$} participates\bigskip\pause
   610 \bl{$x_i$} participates\bigskip\pause
   291 
   611 
   292 \item Tor webservice
   612 \end{itemize}
   293 \end{itemize}
   613 
   294 
   614 \end{frame}
   295 
   615 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
   296 \end{frame}}
   616 
   297 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
   617 
   298 
   618 
   299 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   619 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   300 \mode<presentation>{
   620 \begin{frame}[c]
   301 \begin{frame}[c]
   621 \frametitle{8th Lecture: Bitcoins}
   302 \frametitle{\begin{tabular}{c}9th Lecture:\\ Privacy\end{tabular}}
   622 
   303 
   623 
   304 \begin{itemize}
   624 \begin{itemize}
   305 \item zero-knowledge proofs
   625 \item conclusion: not anonymous, not free from (potential) government
   306 \item requires NP problems, for example graph isomorphisms\bigskip\pause
   626       interference\bigskip\bigskip
   307 \item random number generators
   627 
   308 \end{itemize}
   628 \item The department has large labs full
   309 
   629       of computers that are pretty much idle over night. Why
   310 
   630       is it a bad idea to let them mine for Bitcoins?\bigskip\pause
   311 \end{frame}}
   631 
   312 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
   632 \item other cryptocurrencies (Litecoins,\ldots)
       
   633 \begin{center}\small
       
   634 \url{http://en.wikipedia.org/wiki/Cryptocurrency}
       
   635 \end{center}
       
   636 \end{itemize}
       
   637 
       
   638 \end{frame}
       
   639 
       
   640 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   641 \begin{frame}[c]
       
   642 \frametitle{9th Lecture: Static Analysis}
       
   643 
       
   644 \begin{itemize}
       
   645 \item more principled way of writing software
       
   646 \item testing can show the presence of bugs, but not their 
       
   647 absence\bigskip
       
   648 
       
   649 \item ``A good attack is one that the engineers never even thought 
       
   650 about.'' ---Bruce Schneier
       
   651 \end{itemize}
       
   652 
       
   653 \begin{center}
       
   654   \includegraphics[scale=1]{../pics/barrier.jpg}
       
   655 \end{center}
       
   656 
       
   657 \end{frame}
       
   658 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
       
   659 
       
   660 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   661 \begin{frame}[c]
       
   662 \frametitle{9th Lecture}
       
   663 
       
   664 \begin{itemize}
       
   665 \item model checking\medskip
       
   666 \item program logics (Hoare logics, separation logic)\medskip
       
   667 \item specifications / correctness proofs
       
   668 \end{itemize}
       
   669 
       
   670 \end{frame}
       
   671 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
       
   672 
       
   673 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   674 \begin{frame}[c]
       
   675 \frametitle{Further Reading}
       
   676 
       
   677 \begin{itemize}
       
   678 \item Risks mailing list
       
   679 \begin{center}\small
       
   680 \url{http://catless.ncl.ac.uk/Risks}
       
   681 \end{center}
       
   682 \item Crypto-Gram
       
   683 \begin{center}\small
       
   684 \url{https://www.schneier.com/crypto-gram.html}
       
   685 \end{center}
       
   686 \item Light blue touchpaper
       
   687 \begin{center}\small
       
   688 \url{https://www.lightbluetouchpaper.org}
       
   689 \end{center}
       
   690 
       
   691 \end{itemize}
       
   692 
       
   693 \end{frame}
       
   694 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
       
   695 
       
   696 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
   697 \begin{frame}[c]
       
   698 
       
   699 \begin{itemize}
       
   700 \item you can still send me your hws\bigskip 
       
   701 \item projects
       
   702 \end{itemize}
       
   703 
       
   704 \end{frame}
       
   705 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
       
   706 
       
   707 
       
   708 
   313 
   709 
   314 \end{document}
   710 \end{document}
       
   711 
   315 
   712 
   316 %%% Local Variables:  
   713 %%% Local Variables:  
   317 %%% mode: latex
   714 %%% mode: latex
   318 %%% TeX-master: t
   715 %%% TeX-master: t
   319 %%% End: 
   716 %%% End: