| author | cu | 
| Thu, 19 Oct 2017 11:04:43 +0100 | |
| changeset 524 | e264779c3411 | 
| parent 500 | 91b888c91d73 | 
| child 543 | 8e9e634d054c | 
| permissions | -rw-r--r-- | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 1 | \documentclass[dvipsnames,14pt,t]{beamer}
 | 
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 2 | \usepackage{../slides}
 | 
| 215 
828303e8e4af
updated slides
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
93diff
changeset | 3 | \usepackage{../langs}
 | 
| 
828303e8e4af
updated slides
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
93diff
changeset | 4 | \usepackage{../data}
 | 
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 5 | \usepackage{../graphics}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 6 | \usepackage{soul}
 | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 7 | |
| 223 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 8 | \tikzset{onslide/.code args={<#1>#2}{%
 | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 9 |   \only<#1>{\pgfkeysalso{#2}} % \pgfkeysalso doesn't change the path
 | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 10 | }} | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 11 | |
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 12 | \makeatletter | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 13 | \newenvironment<>{btHighlight}[1][]
 | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 14 | {\begin{onlyenv}#2\begingroup\tikzset{bt@Highlight@par/.style={#1}}\begin{lrbox}{\@tempboxa}}
 | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 15 | {\end{lrbox}\bt@HL@box[bt@Highlight@par]{\@tempboxa}\endgroup\end{onlyenv}}
 | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 16 | |
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 17 | \newcommand<>\btHL[1][]{%
 | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 18 |   \only#2{\begin{btHighlight}[#1]\bgroup\aftergroup\bt@HL@endenv}%
 | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 19 | } | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 20 | \def\bt@HL@endenv{%
 | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 21 |   \end{btHighlight}%   
 | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 22 | \egroup | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 23 | } | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 24 | \newcommand{\bt@HL@box}[2][]{%
 | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 25 |   \tikz[#1]{%
 | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 26 |     \pgfpathrectangle{\pgfpoint{1pt}{0pt}}{\pgfpoint{\wd #2}{\ht #2}}%
 | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 27 |     \pgfusepath{use as bounding box}%
 | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 28 |     \node[anchor=base west, fill=orange!30,outer sep=0pt,inner xsep=1pt, inner ysep=0pt, rounded corners=3pt, minimum height=\ht\strutbox+1pt,#1]{\raisebox{1pt}{\strut}\strut\usebox{#2}};
 | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 29 | }% | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 30 | } | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 31 | \makeatother | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 32 | |
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 33 | |
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 34 | % beamer stuff | 
| 459 | 35 | \renewcommand{\slidecaption}{CFL 10, King's College London}
 | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 36 | \newcommand{\bl}[1]{\textcolor{blue}{#1}}       
 | 
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 37 | |
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 38 | |
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 39 | \begin{document}
 | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 40 | |
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 41 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 42 | \begin{frame}[t]
 | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 43 | \frametitle{%
 | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 44 |   \begin{tabular}{@ {}c@ {}}
 | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 45 | \\[-3mm] | 
| 459 | 46 | \LARGE Compilers and \\[-2mm] | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 47 | \LARGE Formal Languages (10)\\[3mm] | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 48 |   \end{tabular}}
 | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 49 | |
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 50 | \normalsize | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 51 |   \begin{center}
 | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 52 |   \begin{tabular}{ll}
 | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 53 | Email: & christian.urban at kcl.ac.uk\\ | 
| 500 | 54 | Office: & N7.07 (North Wing, Bush House)\\ | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 55 | Slides: & KEATS (also home work is there)\\ | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 56 |   \end{tabular}
 | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 57 |   \end{center}
 | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 58 | |
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 59 | \end{frame}
 | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 60 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 61 | |
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 62 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 63 | \mode<presentation>{
 | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 64 | \begin{frame}[c]
 | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 65 | |
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 66 | \large\bf | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 67 | Using a compiler, \\how can you mount the\\ perfect attack against a system? | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 68 | |
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 69 | \end{frame}}
 | 
| 223 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 70 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 71 | |
| 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 72 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 73 | \mode<presentation>{
 | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 74 | \begin{frame}[c]
 | 
| 223 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 75 | |
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 76 | {\large\bf
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 77 | What is a \alert{perfect} attack?}\bigskip
 | 
| 223 
e4b29b57f6a3
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
215diff
changeset | 78 | |
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 79 | \begin{enumerate}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 80 | \item you can potentially completely take over a target system | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 81 | \item your attack is (nearly) undetectable | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 82 | \item the victim has (almost) no chance to recover | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 83 | \end{enumerate}
 | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 84 | |
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 85 | \end{frame}}
 | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 86 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 87 | |
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 88 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 89 | \mode<presentation>{
 | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 90 | \begin{frame}[c]
 | 
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 91 | |
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 92 | |
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 93 |   \begin{center}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 94 |   \begin{tikzpicture}[scale=1]
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 95 | |
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 96 |   \onslide<1->{
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 97 |   \node (A) at (0,0)  [draw=black, rectangle, very thick, minimum height=18mm, minimum width=17mm] {};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 98 |   \node [below right] at (A.north west) {\footnotesize\begin{tabular}{@{}l@{}}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 99 |   \only<1,2>{clean}\only<3->{\alert{hacked}}\\compiler\end{tabular}};}
 | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 100 | |
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 101 | |
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 102 |   \onslide<2->{
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 103 |   \node (B) at (-2,2)  [draw=black, rectangle, very thick, minimum height=10mm, minimum width=12mm] {};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 104 |   \node [below right] at (B.north west) {\footnotesize\begin{tabular}{@{}l@{}}login\\(src)\end{tabular}};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 105 | |
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 106 |   \node (C) at (2,2)  [draw=black, rectangle, very thick, minimum height=10mm, minimum width=12mm] {};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 107 |   \node [below right] at (C.north west) {\footnotesize\begin{tabular}{@{}l@{}}login\\(bin)\end{tabular}};
 | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 108 | |
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 109 | \draw[->, line width=2mm] (B) -- (C); | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 110 | } | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 111 | |
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 112 |  \onslide<3->{\node [above left=-1.5mm] at (C.south east) {\footnotesize \alert{$\blacksquare$}};}
 | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 113 | |
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 114 |   \end{tikzpicture}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 115 |   \end{center}
 | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 116 | |
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 117 | \end{frame}}
 | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 118 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 119 | |
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 120 | |
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 121 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 122 | \mode<presentation>{
 | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 123 | \begin{frame}[c]
 | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 124 | |
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 125 |   \begin{center}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 126 |   \begin{tikzpicture}[scale=1]
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 127 | |
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 128 |   \onslide<1->{
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 129 |   \node (A) at (0,0)  [draw=black, rectangle, very thick, minimum height=18mm, minimum width=14mm] {};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 130 |   \node [below right] at (A.north west) {\small V0.01};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 131 |   \node [below right] (A1) at (A.south west) {\small Scala};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 132 |   \node [below right] (A1) at (A1.south west) {\small\textcolor{gray}{host language}};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 133 |   \node [above right] at (A.north west) {my compiler (src)};}
 | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 134 | |
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 135 |   \onslide<2->{
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 136 |   \node (B) at (1.8,0)  [draw=black, rectangle, very thick, minimum height=18mm, minimum width=14mm] {};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 137 |   \node [below right] at (B.north west) {\small V0.02};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 138 |   \node [below right] at (B.south west) {\small Scala};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 139 |   \node at (3,0) {\ldots};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 140 | |
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 141 |   \node (C) at (5,0)  [draw=black, rectangle, very thick, minimum height=18mm, minimum width=14mm] {};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 142 |   \node [below right] at (C.north west) {\small V1.00};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 143 |   \node [below right] at (C.south west) {\small Scala};}
 | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 144 | |
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 145 |   \onslide<3->{
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 146 |   \node (D) at (6.8,0)  [draw=black, rectangle, very thick, minimum height=18mm, minimum width=14mm] {};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 147 |   \node [below right] at (D.north west) {\small V1.00};
 | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 148 | |
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 149 |   \node (E) at (6.8,2)  [draw=black, rectangle, very thick, minimum height=18mm, minimum width=14mm] {};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 150 |   \node [below right] at (E.north west) {\small V1.01};}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 151 | |
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 152 |   \onslide<4->{
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 153 |   \node (F) at (8.6,0)  [draw=black, rectangle, very thick, minimum height=18mm, minimum width=14mm] {};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 154 |   \node [below right] at (F.north west) {\small V1.01};
 | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 155 | |
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 156 |   \node (G) at (8.6,2)  [draw=black, rectangle, very thick, minimum height=18mm, minimum width=14mm] {};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 157 |   \node [below right] at (G.north west) {\small V1.02};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 158 |   \node at (9.8,0) {\ldots};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 159 |   \node at (9.8,2) {\ldots};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 160 |   \node at (8,-2) {\textcolor{gray}{\begin{tabular}{@{}l@{}}no host language\\needed\end{tabular}}};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 161 | } | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 162 | |
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 163 |   \end{tikzpicture}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 164 |   \end{center}
 | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 165 | |
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 166 | \end{frame}}
 | 
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 167 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 168 | |
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 169 | |
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 170 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 171 |   \mode<presentation>{
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 172 |   \begin{frame}<1-3>
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 173 |   \frametitle{\LARGE\begin{tabular}{c}Hacking Compilers 
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 174 |   \end{tabular}}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 175 | |
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 176 | %Why is it so paramount to have a small trusted code base (TCB)? | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 177 | \bigskip\bigskip | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 178 | |
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 179 |   \begin{columns}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 180 |   \begin{column}{2.7cm}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 181 |   \begin{minipage}{2.5cm}%
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 182 |   \begin{tabular}{c@ {}}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 183 |   \includegraphics[scale=0.2]{../pics/ken-thompson.jpg}\\[-1.8mm]
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 184 | \footnotesize Ken Thompson\\[-1.8mm] | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 185 | \footnotesize Turing Award, 1983\\ | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 186 |   \end{tabular}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 187 |   \end{minipage}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 188 |   \end{column}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 189 |   \begin{column}{9cm}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 190 |   \begin{tabular}{l@ {\hspace{1mm}}p{8cm}}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 191 | |
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 192 | & Ken Thompson showed how to hide a Trojan Horse in a | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 193 |   compiler \textcolor{red}{without} leaving any traces in the source code.\\[2mm]
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 194 | |
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 195 | & No amount of source level verification will protect | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 196 | you from such Thompson-hacks.\\[2mm] | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 197 | |
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 198 | & Therefore in safety-critical systems it is important to rely | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 199 | on only a very small TCB. | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 200 |   \end{tabular}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 201 |   \end{column}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 202 |   \end{columns}
 | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 203 | |
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 204 |   \only<2>{
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 205 |   \begin{textblock}{6}(4,2)
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 206 |   \begin{tikzpicture}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 207 | \draw (0,0) node[inner sep=3mm,fill=cream, ultra thick, draw=red, rounded corners=2mm] | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 208 |   {\normalsize
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 209 |   \begin{minipage}{8cm}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 210 |   \begin{quote}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 211 |   \includegraphics[scale=0.05]{../pics/evil.png}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 212 |   \begin{enumerate}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 213 | \item[1)] Assume you ship the compiler as binary and also with sources. | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 214 | \item[2)] Make the compiler aware when it compiles itself. | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 215 | \item[3)] Add the Trojan horse. | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 216 | \item[4)] Compile. | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 217 | \item[5)] Delete Trojan horse from the sources of the compiler. | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 218 |   \item[6)] Go on holiday for the rest of your life. ;o)\\[-7mm]\mbox{}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 219 |   \end{enumerate}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 220 |   \end{quote}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 221 |   \end{minipage}};
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 222 |   \end{tikzpicture}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 223 |   \end{textblock}}
 | 
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 224 | |
| 315 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 225 |   \end{frame}}
 | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 226 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 227 | |
| 
470922b46a63
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
224diff
changeset | 228 | |
| 86 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 229 | |
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 230 | \end{document}
 | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 231 | |
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 232 | %%% Local Variables: | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 233 | %%% mode: latex | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 234 | %%% TeX-master: t | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 235 | %%% End: | 
| 
6a7fe83820c8
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 236 |