equal
deleted
inserted
replaced
7 \section*{Homework 3} |
7 \section*{Homework 3} |
8 |
8 |
9 \HEADER |
9 \HEADER |
10 |
10 |
11 \begin{enumerate} |
11 \begin{enumerate} |
12 \item What should the architecture of a network application under Unix |
|
13 be that processes potentially hostile data? |
|
14 |
|
15 \item What is a unikernel system and why is a unikernel |
|
16 preferable on a web server system (in contrast to a traditional |
|
17 general purpose operating system like Linux). |
|
18 |
|
19 |
12 |
20 \item How does a buffer-overflow attack work? (Hint: What happens on |
13 \item How does a buffer-overflow attack work? (Hint: What happens on |
21 the stack.) |
14 the stack.) |
22 |
15 |
23 \item Why is it crucial for a buffer overflow attack that the stack |
16 \item Why is it crucial for a buffer overflow attack that the stack |
39 \item Assume you can crash a program remotely. Why is this a problem? |
32 \item Assume you can crash a program remotely. Why is this a problem? |
40 |
33 |
41 \item How can the choice of a programming language help with buffer |
34 \item How can the choice of a programming language help with buffer |
42 overflow attacks? (Hint: Why are C-programs prone to such attacks, |
35 overflow attacks? (Hint: Why are C-programs prone to such attacks, |
43 but not Java programs.) |
36 but not Java programs.) |
|
37 |
|
38 \item When filling the buffer that is attacked with a |
|
39 payload (starting a shell), what is the purpose of |
|
40 padding the string at the beginning with NOP-instructions. |
44 \end{enumerate} |
41 \end{enumerate} |
45 |
42 |
46 \end{document} |
43 \end{document} |
47 |
44 |
48 %%% Local Variables: |
45 %%% Local Variables: |