The assignments will give you hands-on experience in implementing the concepts we learn in the class. Have fun!

Unless otherwise specified in Canvas, assignments are due by 9 PM EDT.

Assignment 1

Checkpoint Due: 9/16

Assignment Due: 9/28

This homework will cover the software security section. You will create actual working exploits (e.g., buffer overflows, breaking things even with ASLR enabled, non-exec stacks, format string vulnerabilities etc).

Lead TA: Aditi
Helper TAs: Ayaan, Amy, Brandon, Yi

Assignment 2

Assignment Due: 10/26

This homework will cover the cryptography section. You will have a mix of theoretical questions to reason about the security of cryptographic constructions as well as construct working attacks that could arise with improper use of primitives (e.g., combining with compression, message padding, poor key generation).

Lead TA: Sophia
Helper TAs: Annabel, Brandon, Yi

Assignment 3

Assignment Due: 11/23

This homework will focus mostly on the web-based attacks that we learn in class. We have a dummy e-commerce application that you will try and break using a combination of web exploits (e.g., XSS, playing with cookies).

Lead TA: Isabel
Helper TAs: Annabel, Ayaan, Amy