\documentclass[landscape,20pt]{foils}

\usepackage[pdftex]{color}
\usepackage[pdftex]{graphicx}
\usepackage{times}
\usepackage{mdwlist}
\usepackage{xspace}
\usepackage{verbatim}
\usepackage{calc}
%\usepackage{algorithmic}
%\usepackage{vector}
\usepackage{umlaut}
\usepackage{url}

\RequirePackage{ifthen}
\RequirePackage{times}      % Loads the Times-Roman Fonts
\RequirePackage{mathptm}    % Loads the Times-Roman Math Fonts
\RequirePackage{pifont}     % Loads the Postscript symbol fonts

\RequirePackage[latin1]{inputenc}

\newcommand{\jhead}[1]{\foilhead{\flushleft \textcolor{red}{\huge   #1}}}
\newcommand{\jl}{\textrm{\LaTeX}\xspace}
\newcommand{\jt}{\textrm{\TeX}\xspace}

%---------------------------------------------------------------
%---------------------------------------------------------------
\title{Schutz vor der ausführenden Maschine}
\author{Josef Spillner \\
\url{js177634@inf.tu-dresden.de}
}

\date{17.06.2003}

\rightfooter{\includegraphics[height=2cm]{jif.png}}

\begin{document}
\bf

\LogoOff

\maketitle

\begin{center}
\includegraphics[height=5cm]{jif.png} \\
\url{http://mindx.dyndns.org/uni/papers/}
\end{center}

%-----------------------------------------------
%-----------------------------------------------
\jhead{Thema}

\begin{itemize}
\item \large
\textbf{Untrusted Hosts and Confidentiality:\\Secure Program Partitioning}
\normalsize
\item von \textsc{Steve Zdancewic}, \textsc{Lantian Zheng}, \textsc{Nathaniel Nystrom} und \textsc{Andrew C. Myers}
\end{itemize}

%-----------------------------------------------
%-----------------------------------------------
\jhead{Problembeschreibung}

\begin{itemize}
\item Informationsverarbeitung erfordert verteiltes Rechnen
\item Sicherheitspolicies zur Laufzeit schwer durchsetzbar
\item Einsatz von \underline{security typing}
\end{itemize}

%-----------------------------------------------
%-----------------------------------------------
\jhead{Herkömmliche Methoden}

\begin{itemize}
\item Zugriffskontrolle (ACLs) statt Informationsflusskontrolle
\item Java: Sandbox, Stack-Kontrolle, private Variablen
\item Laufzeitüberprüfung:
\begin{verbatim}
H = 1
L = 0
if H == 1: L = 1
\end{verbatim}
\end{itemize}

%-----------------------------------------------
%-----------------------------------------------
\jhead{Implementierungen}
\begin{itemize}
\item Erweiterungen vorhandener Sprachen
\item Splitter teilt Code je nach \underline{policies} auf
\item \texttt{jif} für Java-Programme
\end{itemize}

%-----------------------------------------------
%-----------------------------------------------
\jhead{Beispiel}

{ \tiny
\begin{verbatim}
public class OTExample {
  int{Alice:; ?:Alice} m1, m2;
  boolean{Alice:; ?:Alice} isAccessed;
  int{Bob:} transfer{?:Alice} (int{Bob:} n)
  where authority(Alice) {
    int tmp1 = m1; int tmp2 = m2;
    if(!isAccessed) {
      isAccessed = true;
      if(endorse(n, {?:Alice}) == 1)
        return declassify(tmp1, {Bob:});
      else
        return declassify(tmp2, {Bob:});
    }
    else return 0;
  }
}
\end{verbatim}
}

%-----------------------------------------------
%-----------------------------------------------
\jhead{Verteiltes Rechnen}
\begin{itemize}
\item \texttt{jif/split} berechnet Verteilung
\item Überprüfung der Sicherheitslabels
\item Zu wenige oder unpassende Hosts: Programm ist unsicher
\item Compiler momentan noch in Trusted Computing Base;
Zertizierungen können Abhilfe schaffen
\end{itemize}

%-----------------------------------------------
%-----------------------------------------------
\jhead{Bekanntes Problem}
\begin{itemize}
\item Vertrauenswürdige Hosts H1, H2
\item Nicht vertrauenswürdiger Host L dazwischen
\item Problem: H2 kann Privilegien nicht nutzen (Angriff von L)
\item Lösung: Einführung des \texttt{ICS} (\underline{integrity control stack})
\end{itemize}

%-----------------------------------------------
%-----------------------------------------------
\jhead{Veranschaulichung}
\begin{center}
\includegraphics[height=11cm]{hosts.png}
\end{center}

%-----------------------------------------------
%-----------------------------------------------
\jhead{Optimierungen}
\begin{itemize}
\item Lokale Aufrufe werden nicht über das Netzwerk gesendet
\item Keine Hashwert-generierung für lokale Aufrufe
\item Aggregation mehrerer konsekutiver Nachrichten
\end{itemize}

%-----------------------------------------------
%-----------------------------------------------
\jhead{Bewertung}
\begin{itemize}
\item Sicherheit ohne erhöhte Anforderungen an Speicher oder Prozessor
\item Randaspekte: mehrere Threads, verteilte Systeme
\item Eigene Sprachen (\texttt{SPL@}) oder Spracherweiterungen (\texttt{jif})
\item DRM-Implementierungen?
\end{itemize}

%-----------------------------------------------
%-----------------------------------------------
\jhead{Quellen}
\begin{itemize}
\item Untrusted Hosts and Confidentiality: \\
Secure Program Partitioning (Cornell University) \\
\small\texttt{http://www.cs.cornell.edu/zdance/zznm01.ps}\normalsize
\item Language-Based Information-Flow Security \\
\small\texttt{http://www.cs.cornell.edu/andru/papers/jsac/sm-jsac03.pdf}\normalsize
\end{itemize}

%---------------------------------------------------------------
%---------------------------------------------------------------
\end{document}
