slides/slides04.tex
author Christian Urban <christian dot urban at kcl dot ac dot uk>
Mon, 21 Oct 2013 23:28:03 +0100
changeset 117 59d3bf386a6d
parent 105 40c51038c9e4
child 118 a42bbdfe5dd9
permissions -rw-r--r--
added
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     1
\documentclass[dvipsnames,14pt,t]{beamer}
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
     2
\usepackage{beamerthemeplaincu}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
     3
%\usepackage[T1]{fontenc}
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     4
\usepackage[latin1]{inputenc}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     5
\usepackage{mathpartir}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     6
\usepackage[absolute,overlay]{textpos}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     7
\usepackage{ifthen}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     8
\usepackage{tikz}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     9
\usepackage{pgf}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    10
\usepackage{calc} 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    11
\usepackage{ulem}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    12
\usepackage{courier}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    13
\usepackage{listings}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    14
\renewcommand{\uline}[1]{#1}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    15
\usetikzlibrary{arrows}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    16
\usetikzlibrary{automata}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    17
\usetikzlibrary{shapes}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    18
\usetikzlibrary{shadows}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    19
\usetikzlibrary{positioning}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    20
\usetikzlibrary{calc}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    21
\usepackage{graphicx} 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    23
\definecolor{javared}{rgb}{0.6,0,0} % for strings
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    24
\definecolor{javagreen}{rgb}{0.25,0.5,0.35} % comments
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    25
\definecolor{javapurple}{rgb}{0.5,0,0.35} % keywords
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    26
\definecolor{javadocblue}{rgb}{0.25,0.35,0.75} % javadoc
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    27
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    28
\lstset{language=Java,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    29
	basicstyle=\ttfamily,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    30
	keywordstyle=\color{javapurple}\bfseries,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    31
	stringstyle=\color{javagreen},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    32
	commentstyle=\color{javagreen},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    33
	morecomment=[s][\color{javadocblue}]{/**}{*/},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    34
	numbers=left,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    35
	numberstyle=\tiny\color{black},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    36
	stepnumber=1,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    37
	numbersep=10pt,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    38
	tabsize=2,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    39
	showspaces=false,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    40
	showstringspaces=false}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    42
\lstdefinelanguage{scala}{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    43
  morekeywords={abstract,case,catch,class,def,%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    44
    do,else,extends,false,final,finally,%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    45
    for,if,implicit,import,match,mixin,%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    46
    new,null,object,override,package,%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    47
    private,protected,requires,return,sealed,%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    48
    super,this,throw,trait,true,try,%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    49
    type,val,var,while,with,yield},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    50
  otherkeywords={=>,<-,<\%,<:,>:,\#,@},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    51
  sensitive=true,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    52
  morecomment=[l]{//},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    53
  morecomment=[n]{/*}{*/},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    54
  morestring=[b]",
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    55
  morestring=[b]',
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    56
  morestring=[b]"""
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    57
}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    58
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    59
\lstset{language=Scala,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    60
	basicstyle=\ttfamily,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    61
	keywordstyle=\color{javapurple}\bfseries,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    62
	stringstyle=\color{javagreen},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    63
	commentstyle=\color{javagreen},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    64
	morecomment=[s][\color{javadocblue}]{/**}{*/},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    65
	numbers=left,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    66
	numberstyle=\tiny\color{black},
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    67
	stepnumber=1,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    68
	numbersep=10pt,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    69
	tabsize=2,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    70
	showspaces=false,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    71
	showstringspaces=false}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    72
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    73
% beamer stuff 
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
    74
\renewcommand{\slidecaption}{APP 03, King's College London, 22 October 2014}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
    75
\makeatletter
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
    76
\def\verbatim@font{\consolas\footnotesize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
    77
\makeatother
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    78
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    79
\begin{document}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    81
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    82
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    83
\begin{frame}<1>[t]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    84
\frametitle{%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    85
  \begin{tabular}{@ {}c@ {}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    86
  \\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    87
  \LARGE Access Control and \\[-3mm] 
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
    88
  \LARGE Privacy Policies (4)\\[-6mm] 
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    89
  \end{tabular}}\bigskip\bigskip\bigskip
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    90
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    91
\normalsize
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    92
  \begin{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    93
  \begin{tabular}{ll}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    94
  Email:  & christian.urban at kcl.ac.uk\\
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
    95
  Office: & S1.27 (1st floor Strand Building)\\
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
    96
  Slides: & KEATS (also home work is there)\\
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    97
  \end{tabular}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    98
  \end{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    99
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   100
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   101
\end{frame}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   102
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   103
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   104
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   105
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   106
\begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   107
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   108
\begin{center}
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   109
\includegraphics[scale=0.45]{pics/trainwreck.jpg}\\
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   110
two weeks ago: buffer overflow attacks
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   111
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   112
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   113
  
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   114
\end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   115
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   116
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   117
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   118
\begin{frame}[fragile]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   119
\frametitle{Buffer Overflows}
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   120
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   121
\begin{verbatim}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   122
As a proof-of-concept, the following URL allows 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   123
attackers to control the return value saved on 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   124
the stack (the vulnerability is triggered when
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   125
executing "/usr/sbin/widget"):
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   126
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   127
 curl http://<target ip>/post_login.xml?hash=AAA...AAABBBB
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   128
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   129
The value of the "hash" HTTP GET parameter consists in 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   130
292 occurrences of the 'A' character, followed by four 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   131
occurrences of character 'B'. In our lab setup, characters 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   132
'B' overwrite the saved program counter (%ra).
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   133
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   134
Discovery date: 06/03/2013
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   135
Release date:   02/08/2013
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   136
\end{verbatim}
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   137
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   138
\mbox{}\footnotesize\hfill\url{http://pastebin.com/vbiG42VD}  
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   139
\end{frame}
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   140
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   141
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   142
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   143
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   144
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   145
\begin{frame}[fragile]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   146
\frametitle{Backdoors}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   147
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   148
D-Link router flaw lets anyone login through "Joel's Backdoor":\medskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   149
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   150
If you tell your browser to identify itself as Joel's backdoor, instead of (say) 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   151
as Mozilla/5.0 AppleWebKit/536.30.1 Version/6.0.5, you're in without authentication.\medskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   152
  
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   153
"What is this string," I hear you ask?
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   154
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   155
You will laugh: it is 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   156
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   157
\begin{verbatim}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   158
xmlset_roodkcableoj28840ybtide
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   159
\end{verbatim}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   160
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   161
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   162
\hfill\footnotesize October 15, 2013\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   163
\hfill\tiny\url{http://www.devttys0.com/2013/10/reverse-engineering-a-d-link-backdoor/}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   164
  
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   165
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   166
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   167
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   168
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   169
\mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   170
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   171
\frametitle{Access Control in Unix}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   172
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   173
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   174
\item access control provided by the OS
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   175
\item authenticate principals (login)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   176
\item mediate access to files, ports, processes according to \alert{roles} (user ids)\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   177
\item roles get attached with privileges\bigskip\\%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   178
\hspace{8mm}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   179
\begin{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   180
\draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   181
{\begin{minipage}{8cm}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   182
\alert{principle of least privilege:}\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   183
programs should only have as much privilege as they need 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   184
\end{minipage}};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   185
\end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   186
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   187
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   188
\end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   189
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   190
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   191
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   192
\mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   193
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   194
\frametitle{Access Control in Unix (2)}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   195
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   196
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   197
\item the idea is to restrict access to files and therefore lower the consequences of an attack\\[1cm]\mbox{}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   198
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   199
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   200
\begin{textblock}{1}(2.5,9.5)
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   201
  \begin{tikzpicture}[scale=1]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   202
  
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   203
  \draw[line width=1mm] (-.3, 0) rectangle (1.5,2);
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   204
  \draw (4.7,1) node {Internet};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   205
  \draw (0.6,1.7) node {\footnotesize Interface};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   206
  \draw (0.6,-0.4) node {\footnotesize \begin{tabular}{c}unprivileged\\[-1mm] process\end{tabular}};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   207
  \draw (-2.7,-0.4) node {\footnotesize \begin{tabular}{c}privileged\\[-1mm] process\end{tabular}};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   208
  
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   209
  \draw[line width=1mm] (-1.8, 0) rectangle (-3.6,2);
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   210
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   211
  \draw[white] (1.7,1) node (X) {};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   212
  \draw[white] (3.7,1) node (Y) {};
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   213
  \draw[red, <->, line width = 2mm] (X) -- (Y);
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   214
 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   215
  \draw[red, <->, line width = 1mm] (-0.6,1) -- (-1.6,1);
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   216
  \end{tikzpicture}
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   217
\end{textblock}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   218
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   219
\end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   220
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   221
\newcommand{\bl}[1]{\textcolor{blue}{#1}}  
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   222
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   223
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   224
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   225
\frametitle{Access Control}
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   226
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   227
\begin{itemize}
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   228
\item \bl{Discretionary Access Control:}\mbox{}\medskip\\
\small Access to objects (files, directories, devices, etc.) is permitted 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   229
based on user identity. Each object is owned by a user. Owners can 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   230
specify freely (at their discretion) how they want to share their objects 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   231
with other users, by specifying which other users can have which 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   232
form of access to their objects.\medskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   233
Discretionary access control is implemented on any multi-user OS 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   234
(Unix, Windows NT, etc.).
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   235
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   236
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   237
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   238
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   239
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   240
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   241
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   242
\frametitle{Access Control}
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   243
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   244
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   245
\item \bl{Mandatory Access Control:}\mbox{}\medskip\\
\small Access to objects is controlled by a system-wide policy, for example 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   246
to prevent certain flows of information. In some forms, the system maintains 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   247
security labels for both objects and subjects (processes, users), based on 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   248
which access is granted or denied. Labels can change as the result of an 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   249
access. Security policies are enforced without the cooperation of users or 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   250
application programs.\medskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   251
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   252
This is implemented today in special military operating system versions
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   253
(SELinux).
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   254
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   255
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   256
\end{frame}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   257
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   258
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   259
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   260
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   261
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   262
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   263
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   264
\begin{frame}[c]
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   265
\frametitle{Discretionary Access Control}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   266
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   267
In its most generic form usually given by an Access Control Matrix 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   268
of the form
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   269
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   270
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   271
\begin{tabular}{r|c|c|c}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   272
                 & /mail/jane & edit.exe & sendmail \\\hline
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   273
jane          & r, w & r, x & r, x\\\hline
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   274
john          & $\varnothing$ & r, w, x&  r, x\\\hline
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   275
sendmail  & a & $\varnothing$ &  r, x\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   276
\end{tabular}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   277
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   278
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   279
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   280
access privileges: {\bf r}ead, {\bf w}rite, e{\bf x}ecute, {\bf a}ppend
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   281
\end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   282
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   283
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   284
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   285
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   286
\frametitle{Mandatory Access Control}
45
Christian Urban <urbanc@in.tum.de>
parents: 44
diff changeset
   287
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   288
\begin{itemize}
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   289
\item Restrictions to allowed information flows are not decided at the user’s 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   290
discretion (as with Unix chmod), but instead enforced by system policies.
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   291
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   292
\item Mandatory access control mechanisms are aimed in particular at 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   293
preventing policy violations by untrusted application software, which 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   294
typically have at least the same access privileges as the invoking user.\medskip
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   295
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   296
Simple example: Air Gap Security.
Uses completely separate network and computer hardware for different application classes.
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   297
\end{itemize}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   298
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   299
\end{frame}
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   300
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   301
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   302
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   303
117
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 105
diff changeset
   304
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   305
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   306
\mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   307
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   308
\frametitle{Setuid and Setgid}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   309
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   310
The solution is that unix file permissions are 9 + \underline{2 Bits}:
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   311
\alert{Setuid} and \alert{Setgid} Bits
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   312
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   313
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   314
\item When a file with setuid is executed, the resulting process will assume the UID given to the owner of the file. 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   315
\item This enables users to create processes as root (or another user).\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   316
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   317
\item Essential for changing passwords, for example.
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   318
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   319
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   320
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   321
\texttt{chmod 4755 fobar\_file}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   322
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   323
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   324
\end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   325
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   326
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   327
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   328
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   329
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   330
\begin{frame}[c]
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   331
\frametitle{\begin{tabular}{c}Privilege Separation in\\ OpenSSH\end{tabular}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   332
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   333
\begin{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   334
\begin{tikzpicture}[scale=1]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   335
  
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   336
  \draw[line width=1mm] (0, 1.1) rectangle (1.2,2);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   337
  \draw (4.7,1) node {Internet};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   338
  \draw (0.6,1.7) node {\footnotesize Slave};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   339
  \draw[line width=1mm] (0, 0) rectangle (1.2,0.9);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   340
  \draw (0.6,1.7) node {\footnotesize Slave};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   341
  \draw (0.6,0.6) node {\footnotesize Slave};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   342
  \draw (0.6,-0.5) node {\footnotesize \begin{tabular}{c}unprivileged\\[-1mm] processes\end{tabular}};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   343
  \draw (-2.7,-0.4) node {\footnotesize \begin{tabular}{c}privileged\\[-1mm] process\end{tabular}};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   344
  
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   345
  \draw[line width=1mm] (-1.8, 0) rectangle (-3.6,2);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   346
  \draw (-2.9,1.7) node {\footnotesize Monitor};
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   347
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   348
  \draw[white] (1.7,1) node (X) {};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   349
  \draw[white] (3.7,1) node (Y) {};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   350
  \draw[red, <->, line width = 2mm] (X) -- (Y);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   351
 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   352
  \draw[red, <->, line width = 1mm] (-0.4,1.4) -- (-1.4,1.1);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   353
  \draw[red, <->, line width = 1mm] (-0.4,0.6) -- (-1.4,0.9);
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   354
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   355
  \end{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   356
\end{center}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   357
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   358
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   359
\item pre-authorisation slave 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   360
\item post-authorisation\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   361
\item 25\% codebase is privileged, 75\% is unprivileged
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   362
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   363
\end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   364
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   365
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   366
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   367
\mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   368
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   369
\frametitle{Network Applications}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   370
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   371
ideally network application in Unix should be designed as follows:
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   372
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   373
\begin{itemize}
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   374
\item need two distinct processes
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   375
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   376
\item one that listens to the network; has no privilege
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   377
\item one that is privileged and listens to the latter only (but does not trust it)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   378
 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   379
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   380
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   381
\item to implement this you need a parent process, which forks a child process
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   382
\item this child process drops privileges and listens to hostile data\medskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   383
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   384
\item after authentication the parent forks again and the new child becomes the user
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   385
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   386
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   387
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   388
\end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   389
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   390
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   391
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   392
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   393
\begin{frame}[c]
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   394
\frametitle{\begin{tabular}{@ {}c@ {}}Other Problems\end{tabular}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   395
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   396
There are thing's you just cannot solve on the programming side:\bigskip
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   397
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   398
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   399
\item for system maintenance you often have \texttt{cron}-jobs cleaning \texttt{/tmp}\medskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   400
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   401
\item attacker:\\ 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   402
\texttt{mkdir /tmp/a; cat > /tmp/a/passwd}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   403
\item root:\\\texttt{rm /tmp/*/*}:
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   404
\item attacker:\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   405
\texttt{rm /tmp/a/passwd; rmdir /tmp/a;}\\\texttt{ln -s /etc /tmp/a}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   406
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   407
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   408
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   409
\end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   410
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   411
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   412
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   413
\mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   414
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   415
\frametitle{\begin{tabular}{@ {}c@ {}}Security Levels\end{tabular}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   416
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   417
Unix essentially can only distinguish between two security levels (root and non-root).
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   418
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   419
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   420
\item In military applications you often have many security levels (top-secret, secret, confidential, unclassified)\bigskip\pause 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   421
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   422
\item Information flow: Bell --- La Padula model
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   423
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   424
\begin{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   425
\item read: your own level and below
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   426
\item write: your own level and above
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   427
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   428
\end{itemize}
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   429
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   430
\end{frame}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   431
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   432
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   433
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   434
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   435
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   436
\begin{frame}[c]
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   437
\frametitle{\begin{tabular}{@ {}c@ {}}Security Levels (2)\end{tabular}}
45
Christian Urban <urbanc@in.tum.de>
parents: 44
diff changeset
   438
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   439
\begin{itemize}
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   440
\item Bell --- La Padula preserves data secrecy, but not data integrity\bigskip\pause
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   441
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   442
\item Biba model is for data integrity  
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   443
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   444
\begin{itemize}
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   445
\item read: your own level and above
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   446
\item write: your own level and below
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   447
\end{itemize}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   448
\end{itemize}
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   449
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   450
\end{frame}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   451
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   452
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   453
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   454
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   455
\begin{frame}[c]
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   456
\frametitle{\begin{tabular}{@ {}c@ {}}Access Control in 2000\end{tabular}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   457
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   458
According to Ross Anderson (1st edition of his book), some senior Microsoft people held the
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   459
following view:
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   460
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   461
\begin{center}
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   462
\begin{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   463
\draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   464
{\begin{minipage}{10.5cm}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   465
\small Access control does not matter. Computers are becoming single-purpose
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   466
or single-user devices. Single-purpose devices, such as Web servers that deliver a single service, don't 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   467
need much in the way of access control as there's nothing for operating system access controls
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   468
to do; the job of separating users from each other is best left to application code. As for the PC
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   469
on your desk, if all the software on it comes from a single source, then again there's no need 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   470
for the operating system to provide separation. \hfill{}\textcolor{gray}{(in 2000)} 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   471
\end{minipage}};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   472
\end{tikzpicture}
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   473
\end{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   474
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   475
\end{frame}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   476
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   477
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   478
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   479
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   480
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   481
\begin{frame}[t]
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   482
\frametitle{\begin{tabular}{@ {}c@ {}}Research Problems\end{tabular}}
43
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   483
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   484
\begin{itemize}
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   485
\item with access control we are back to 1970s\bigskip
43
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   486
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   487
\only<1>{
43
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   488
\begin{tikzpicture}
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   489
\draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   490
{\begin{minipage}{10cm}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   491
\small Going all the way back to early time-sharing systems we systems people regarded the users, and any code they wrote, as the mortal enemies of us and each other. We were like the police force in a violent slum.\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   492
\mbox{}\hfill--- Roger Needham
43
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   493
\end{minipage}};
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   494
\end{tikzpicture}}\pause
43
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   495
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   496
\item the largest research area in access control in 2000-07 has been ``Trusted Computing'', but thankfully it
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   497
is dead now\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   498
\item a useful research area is to not just have robust access control, but also usable access control --- by programmers and users\\ 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   499
(one possible answer is operating system virtualisation, e.g.~Xen, VMWare)\medskip\pause
43
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   500
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   501
\item electronic voting
43
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   502
\end{itemize}
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   503
\end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   504
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   505
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   506
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   507
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   508
\begin{frame}[t]
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   509
\frametitle{\begin{tabular}{@ {}c@ {}}Mobile OS\end{tabular}}
43
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   510
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   511
\begin{itemize}
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   512
\item iOS and Android solve the defence-in-depth problem by \alert{sandboxing} applications\bigskip
43
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   513
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   514
\item you as developer have to specify the resources an application needs
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   515
\item the OS provides a sandbox where access is restricted to only these resources
43
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   516
\end{itemize}
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   517
\end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   518
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   519
45
Christian Urban <urbanc@in.tum.de>
parents: 44
diff changeset
   520
Christian Urban <urbanc@in.tum.de>
parents: 44
diff changeset
   521
Christian Urban <urbanc@in.tum.de>
parents: 44
diff changeset
   522
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 44
diff changeset
   523
\mode<presentation>{
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   524
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   525
\frametitle{\begin{tabular}{@ {}c@ {}}Security Theatre\end{tabular}}
43
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   526
45
Christian Urban <urbanc@in.tum.de>
parents: 44
diff changeset
   527
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   528
Security theatre is the practice of investing in countermeasures intended to provide the 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   529
\underline{feeling} of improved security while doing little or nothing to actually achieve it.\hfill{}\textcolor{gray}{Bruce Schneier}
45
Christian Urban <urbanc@in.tum.de>
parents: 44
diff changeset
   530
Christian Urban <urbanc@in.tum.de>
parents: 44
diff changeset
   531
\end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 44
diff changeset
   532
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <urbanc@in.tum.de>
parents: 44
diff changeset
   533
Christian Urban <urbanc@in.tum.de>
parents: 44
diff changeset
   534
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 44
diff changeset
   535
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents: 44
diff changeset
   536
\begin{frame}[c]
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   537
\frametitle{\begin{tabular}{@ {}c@ {}}Security Theatre\end{tabular}}
45
Christian Urban <urbanc@in.tum.de>
parents: 44
diff changeset
   538
Christian Urban <urbanc@in.tum.de>
parents: 44
diff changeset
   539
\begin{itemize}
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   540
\item for example, usual locks and strap seals are security theatre
45
Christian Urban <urbanc@in.tum.de>
parents: 44
diff changeset
   541
\end{itemize}
Christian Urban <urbanc@in.tum.de>
parents: 44
diff changeset
   542
47
Christian Urban <urbanc@in.tum.de>
parents: 46
diff changeset
   543
\begin{center}
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   544
\includegraphics[scale=0.45]{pics/seal.jpg}
43
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   545
\end{center}
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   546
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   547
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   548
\end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   549
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   550
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   551
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   552
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   553
\begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   554
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   555
\begin{minipage}{11cm}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   556
From: Ross Anderson <Ross.Anderson@cl.cam.ac.uk>\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   557
To: cl-security-research@lists.cam.ac.uk\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   558
Subject: Tip off\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   559
Date: Tue, 02 Oct 2012 13:12:50 +0100\\
43
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   560
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   561
I received the following tip off, and have removed the sender's
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   562
coordinates. I suspect it is one of many security vendors who
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   563
don't even get the basics right; if you ever go to the RSA 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   564
conference, there are a thousand such firms in the hall, each
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   565
with several eager but ignorant salesmen. A trying experience.\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   566
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   567
Ross
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   568
\end{minipage}
43
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   569
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   570
\end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   571
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   572
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   573
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   574
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   575
\begin{frame}[c]
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   576
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   577
\begin{minipage}{11cm}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   578
I'd like to anonymously tip you off about this\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   579
product:\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   580
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   581
{\small http://www.strongauth.com/products/key-appliance.html}\\
43
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   582
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   583
It sounds really clever, doesn't it?\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   584
\ldots\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   585
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   586
Anyway, it occurred to me that you and your colleagues might have a
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   587
field day discovering weaknesses in the appliance and their
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   588
implementation of security.  However, whilst I'd be willing to help
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   589
and/or comment privately, it'd have to be off the record ;-)
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   590
\end{minipage}
43
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   591
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   592
\end{frame}}
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   593
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   594
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   595
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   596
\mode<presentation>{
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   597
\begin{frame}[c]
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   598
\frametitle{\begin{tabular}{@ {}c@ {}}Schneier: Step 1\end{tabular}}
43
Christian Urban <urbanc@in.tum.de>
parents: 41
diff changeset
   599
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   600
{\bf What assets are you trying to protect?}\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   601
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   602
This question might seem basic, but a surprising number of people never ask it. The question involves understanding the scope of the problem. For example, securing an airplane, an airport, commercial aviation, the transportation system, and a nation against terrorism are all different security problems, and require different solutions.
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   603
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   604
\only<2>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   605
\begin{tikzpicture}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   606
\draw (0,0) node[inner sep=2mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] 
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   607
{\begin{minipage}{10cm}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   608
\small You like to prevent: ``It would be terrible if this sort of attack ever happens; we need to do everything in our power to prevent it.''
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   609
\end{minipage}};
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   610
\end{tikzpicture}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   611
\end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   612
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   613
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   614
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   615
\mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   616
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   617
\frametitle{\begin{tabular}{@ {}c@ {}}Schneier: Step 2\end{tabular}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   618
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   619
{\bf What are the risks to these assets?}\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   620
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   621
Here we consider the need for security. Answering it involves understanding what is being defended, what the consequences are if it is successfully attacked, who wants to attack it, how they might attack it, and why.
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   622
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   623
\end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   624
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   625
105
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   626
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   627
\mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   628
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   629
\frametitle{\begin{tabular}{@ {}c@ {}}Schneier: Step 3\end{tabular}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   630
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   631
{\bf How well does the security solution mitigate those risks?}\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   632
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   633
Another seemingly obvious question, but one that is frequently ignored. If the security solution doesnÕt solve the problem, it's no good. This is not as simple as looking at the security solution and seeing how well it works. It involves looking at how the security solution interacts with everything around it, evaluating both its operation and its failures.
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   634
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   635
\end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   636
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   637
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   638
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   639
\mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   640
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   641
\frametitle{\begin{tabular}{@ {}c@ {}}Schneier: Step 4\end{tabular}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   642
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   643
{\bf What other risks does the security solution cause?}\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   644
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   645
This question addresses what might be called the problem of unintended consequences. Security solutions have ripple effects, and most cause new security problems. The trick is to understand the new problems and make sure they are smaller than the old ones.
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   646
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   647
\end{frame}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   648
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   649
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   650
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   651
\mode<presentation>{
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   652
\begin{frame}[c]
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   653
\frametitle{\begin{tabular}{@ {}c@ {}}Schneier: Step 5\end{tabular}}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   654
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   655
{\bf What costs and trade-offs does the security solution impose?}\bigskip
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   656
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 90
diff changeset
   657
Every security system has costs and requires trade-offs. Most security costs money, sometimes substantial amounts; but other trade-offs may be more important, ranging from matters of convenience and comfort to issues involving basic freedoms like privacy. Understanding these trade-offs is essential.
41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   658
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   659
\end{frame}}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   660
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   661
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   662
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   663
\end{document}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   664
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   665
%%% Local Variables:  
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   666
%%% mode: latex
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   667
%%% TeX-master: t
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   668
%%% End: 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   669