CSCI-UA.0480-008: Labs

Getting started

Assignments

Lab number and topicDue
Lab 0: Set up and preliminaries 1/29/16
Lab 1: Networking 2/03/16 (part A), 2/10/16 (part B)
Lab 2: Buffer overflows 2/17/16 (part A), 2/24/16 (part B)
Lab 3: Privilege separation 3/02/16 (part A), 3/11/16 (part B), 3/25/16 (part C)
Lab 4: Symbolic execution 4/6/16 (part A), 4/15/16 (part B)
Lab 5: Browser security 4/22/16 (part A), 5/4/16 (part B)

Overview

A crucial component of the course is the lab assignments. You should expect these labs to require you to spend substantial time. We will have labs due most weeks.

Labs 1,2,3 are intended to form a sequence. In lab 1, you will build a simple Web server. In lab 2, you will learn how to attack the kind of code that you wrote in lab 1. In lab 3, you will learn how to contain the effects of such attacks. The future labs are still being worked out, but we expect to continue with the systems security theme. Labs 2 and 3 (and possibly beyond) will borrow from the labs in MIT's 6.858 class.

Lab assignments, by default, are to be worked on alone. When a lab assignment can be done in pairs, we will indicate that on the lab description, and in that case, there will be only one submission from the project group. Note that pairing up on a non-pair lab violates the class's collaboration policy.

Asking for help

We (the course staff) are happy and even eager to help on the labs. When should you ask for such help? Mainly, you should use your judgment (the rough answer is: "when you're actually stuck"). Below are some guidelines.

First, one of the main purposes of the labs is for you to go through the exercise of figuring out how to make a system work. Thus, if a lab is at first confusing even in its instructions, please don't be discouraged; understanding the instructions is part of the work of the labs!

Second, these labs take time, and you're expected to think through both the labs and the replies of the course staff. As an example, if you get a reply from a TA, and then send email 20 minutes later asking a closely related question, that's probably not great.

A final note

Some of these labs will be challenging. We hope they will also be very satisfying. We will work to help you meet the challenge. Our hope and expectation is that everyone who works hard on the labs will succeed. If you have ideas for improving the labs, please let us know. Good luck!


Last updated: 2016-05-20 13:30:05 -0400 [validate xhtml]