Exercise
- Due 10 Nov 2024 by 19:00
- Points 0
Submission consists of
- A commit of your repository. Tag the commit the "Exercise v.1"
- If you resubmit your solution, tag the new commit with "Exercise v.x"
If your project is on s3k
Implement fork/exec. The exercise consists of the following tasks
- Implement two small programs (A and B) that are linked in the same address space
- Modify the FileSystem example to boot process A
- Copy the binary of B to the disk image
- Allow A to send a message to the filesystem with the path to executable B
- Change the filesystem to handle the message from A and load an executable in place of the current one.
If your project is on Minix
The goal of this exercise is to implement a minimal ASLR for Minix (start from branch aslr-demo).
The exercise consists of three tasks:
- Write a program in /usr/games/overflow that has a buffer overflow and demonstrate the vulnerability (or use the program in /usr/games/demo01 in branch aslr-demo)
- Modify Minix (Kernel, user lib, services, etc) to randomize position of stack and heap of processes. Each process should be randomized differently.
- Demonstrate that ASLR counters the attack
If your project is on something else
If your project target a different open source software you must agree with Roberto for a different assignment. The goal of the assignment is to demonstrate that you can navigate the code of the project and apply some modifications.