University of Minnesota
Introduction to Computer Security
index.php

Course assignments

Exercise set 1

Covering risk assessment, low-level attacks and defenses. Questions here. Due on the course Moodle by Thursday, September 26th at 11:55pm.

Homework 1: Exploiting BCVS

In this assignment you'll learn about binary-level and OS-level vulnerabilities within a buggy Linux program, and exploit them for fun and profit academic credit within a virtual machine.

Available now: homework instructions (PDF), BCVS source code (C), BCVS binary version, BCVS Makefile, virtual machine instructions.

Submission forms are on the Moodle.

Exercise set 2

Covering defensive programming and OS security. Questions here (question 5 clarified 10/9), C code for question 1. Due on the course Moodle by Thursday, October 10th at 11:55pm.

Exercise set 3

Covering network basics and cryptography. Questions here. Due on the course Moodle by Thursday, October 31st at 11:55pm.

Exercise set 4

Covering a variety of network security topics. Questions here (question 1(a) clarified 10/18). Due on the course Moodle by Thursday, November 21st at 11:55pm.

Homework 2: Network and web exploits

In this assignment you'll learn about network-level and web software vulnerabilities within a buggy web server, and exploit them within a virtual machine to steal "secret" information.

Available now: homework instructions (PDF), virtual machine instructions.

(Updated 11/18): The suggested due date for homework 2 is 11:55pm on Tuesday, November 26th; groups submitting by this date will get 10 points of extra credit. Failing that you can get full regular credit by submitted by 11:55pm on Sunday, December 1st.

The submission form is now (11/24) up on the Moodle.

Exercise set 5

Covering privacy systems and voting. Questions here. Due on the course Moodle by Thursday, December 5th at 11:55pm.