\begin{slide}{Sicherheitslücken}

wichtigste Ursachen:
\begin{itemize}
\item
  leichtsinnige oder unwissende Nutzer 
  \begin{itemize}
  \item
    kein Root-Password, 
  \item
    Installation und Ausführen von unbekannten Programmen,
  \item
    \dots durch Öffnen (und Ausführen) von Email-Attachments
  \item
    fehlende Rechte-Trennung (Nutzer $\stackrel?=$ Root)
  \item
    viele Ports offen, \ldots
  \end{itemize}
\item
  Fehler in Server-Programmen (durch nachlässige Programmierung)
\end{itemize}

\end{slide}

\begin{slide}{Buffer Overflow Attacks}

in Progammiersprachen ohne Bereichsprüfungen
bei Arrays und Zeigern

Beispiel: ein Server-Programm 
speichert eine harmlose Information (die dem Nutzer gehört)
direkt neben einer kritischen:
\begin{verbatim}
char h [10]; char c [10];
\end{verbatim}
Das Ende eines Strings wird (in C)
durch ein spezielles Zeichen 0 dargestellt

Angreifer überschreibt die 0 am Ende von \verb|h|
und liest danach \verb|h| wieder aus ---
\begin{verbatim}
while (0 != h[i]) { put (h[i]); i++; }
\end{verbatim}
sieht dabei alle Zeichen von \verb|h| \emph{und} \verb|c|

\end{slide}

\begin{slide}{Double Dot Attack}

Server speicher Nachrichten (o. ä.) in Dateien,

Nutzer soll normalerweise darauf auch von außen zugreifen.

z. B. \verb|/var/www/documents/start.html|

Angreifer kann Dateinamen \verb|../../../etc/passwd|
eingeben, 

um kritische Dateien zu lesen:

\begin{verbatim}
/var/www/documents/../../../etc/passwd 
   = /etc/passwd
\end{verbatim}

\end{slide}

\begin{slide}{(SQL) Command Injection}

\begin{itemize}
\item
  Nutzer fordert (über Web-Formular) eine Datei an,
\item
  System speichert gewünschten Namen in \verb|String foo|
\item
  und führt dann \verb|cat $foo| aus.
\end{itemize}

Angreifer gibt \verb|"bar ; rm -rf *"| ein.

Dann wird \verb|cat bar ; rm -rf *| ausgeführt!

Ähnlicher Angriff nicht auf Shell, sonden auf SQL-Shell

\end{slide}

\begin{slide}{Sicherheit (Zusammenfassung)}

die gezeigten Beispiele illustrieren nur das Prinzip,
die tatsächlichen Angriffe sind komplizierter
(aber nicht sehr!)

Siehe aktuelle Nachrichten 
z. B. auf \url{http://www.heise.de/security/}

(Wiederholung:) Schwachstelle ist meist der
leichtsinnige Nutzer (/Administrator)!

\end{slide}
