hws/hw03.tex
author Christian Urban <christian dot urban at kcl dot ac dot uk>
Sun, 09 Nov 2014 01:05:57 +0000
changeset 298 5f6b72bb5f7f
parent 276 d7109c6e721d
child 389 9019f84ef99c
permissions -rw-r--r--
updated

\documentclass{article}
\usepackage{charter}
\usepackage{hyperref}

\begin{document}

\section*{Homework 3}

\begin{enumerate}
\item What should the architecture of a network application under Unix
  be that processes potentially hostile data?

\item How can you exploit the fact that every night root has a cron
  job that deletes the files in \texttt{/tmp}? (Hint: cron-attack)

\item How does a buffer-overflow attack work? (Hint: What happens on
  the stack.)

\item Why is it crucial for a buffer overflow attack that the stack
  grows from higher addresses to lower ones?

\item If the attacker uses a buffer overflow attack in order to
inject code, why can this code not contain any zero bytes?

\item How does a stack canary help with preventing a buffer-overflow
  attack?

\item Why does randomising the address where programs are run help
  defending against buffer overflow attacks?

\item Assume format string attacks allow you to read out the
  stack. What can you do with this information? (Hint: Consider what
  is stored in the stack.)

\item Assume you can crash a program remotely. Why is this a problem?

\item How can the choice of a programming language help with buffer
  overflow attacks?  (Hint: Why are C-programs prone to such attacks,
  but not Java programs.)
\end{enumerate}

\end{document}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End: