Skip to content

Latest commit

 

History

History
37 lines (28 loc) · 2.25 KB

README.md

File metadata and controls

37 lines (28 loc) · 2.25 KB

MIT 6.858 Computer Systems Security

Self learning of MIT 6.858 Computer Systems Security from MIT Open Courseware. This course is suitable for self learning because it provides labs, lecture videos, readings and more.

Organization

This repository is forked from the original repo (git://g.csail.mit.edu/6.858-lab-2014) and contains the 6 lab assignments.

The latest commit of each branch holds the final solution of the lab. I skipped lab4 because it only involves writeups of theoretical exploits.

I included some of my final thoughts in the main branch.

Setup

The labs are run on the VM image provided on the course website. The VM can be run in many ways. For example, course suggests VMware.

I will be running the VM on Fedora Linux KVM/QEMU. This requires some dependencies that varies depending on your Linux distro, so look it up. The following details the rest of the setup.

First cd into the directory with the VM artifacts. To boot the VM

qemu-kvm -m 512 -net nic -net user,hostfwd=tcp:127.0.0.1:2222-:22,hostfwd=tcp:127.0.0.1:8080-:8080 vm-6858.vmdk -fsdev local,path=</path/to/host/folder>,security_model=none,id=fsdev0 -device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=hostshare

This sets up port forwarding for ssh and the web server. It also sets up file sharing with the host OS, such that both the host and guest can access </path/to/host/folder>. This is optional, but is convenient for editing from a local text editor.

To ssh into the host

ssh -p 2222 httpd@localhost

And enter password 6858.

Once in the guest, you can access the shared folder with

sudo mount -t 9p -o trans=virtio,version=9p2000.L hostshare <path/to/folder>

The shared folder will be visible at <path/to/folder>. Recommended path is /home/httpd/lab