hws/hw03.tex
changeset 389 9019f84ef99c
parent 276 d7109c6e721d
child 392 4dff36e2bbc6
equal deleted inserted replaced
388:770b58a7d754 389:9019f84ef99c
     1 \documentclass{article}
     1 \documentclass{article}
     2 \usepackage{charter}
     2 \usepackage{../style}
     3 \usepackage{hyperref}
     3 
     4 
     4 
     5 \begin{document}
     5 \begin{document}
     6 
     6 
     7 \section*{Homework 3}
     7 \section*{Homework 3}
     8 
     8 
       
     9 \HEADER
       
    10 
     9 \begin{enumerate}
    11 \begin{enumerate}
    10 \item What should the architecture of a network application under Unix
    12 \item What should the architecture of a network application under Unix
    11   be that processes potentially hostile data?
    13   be that processes potentially hostile data?
    12 
    14 
    13 \item How can you exploit the fact that every night root has a cron
    15 \item What is a unikernel system and why is a unikernel
    14   job that deletes the files in \texttt{/tmp}? (Hint: cron-attack)
    16 preferable on a web server system (in contrast to a traditional
       
    17 general purpose operating system like Linux).
       
    18 
    15 
    19 
    16 \item How does a buffer-overflow attack work? (Hint: What happens on
    20 \item How does a buffer-overflow attack work? (Hint: What happens on
    17   the stack.)
    21   the stack.)
    18 
    22 
    19 \item Why is it crucial for a buffer overflow attack that the stack
    23 \item Why is it crucial for a buffer overflow attack that the stack
    23 inject code, why can this code not contain any zero bytes?
    27 inject code, why can this code not contain any zero bytes?
    24 
    28 
    25 \item How does a stack canary help with preventing a buffer-overflow
    29 \item How does a stack canary help with preventing a buffer-overflow
    26   attack?
    30   attack?
    27 
    31 
    28 \item Why does randomising the address where programs are run help
    32 \item Why does randomising the addresses from where programs 
    29   defending against buffer overflow attacks?
    33   are run help defending against buffer overflow attacks?
    30 
    34 
    31 \item Assume format string attacks allow you to read out the
    35 \item Assume format string attacks allow you to read out the
    32   stack. What can you do with this information? (Hint: Consider what
    36   stack. What can you do with this information? (Hint: Consider what
    33   is stored in the stack.)
    37   is stored in the stack.)
    34 
    38