Labs

If you need to take a late day, please be sure to fill out the late day form.

Date Posted Date Due Assignment Turn-in Method
Friday, 9/8 Monday, 9/11 Read Chapter 2, The Psychology of Security by Bruce Schneier and take notes for class discussion. You may print out and use the following form or just write on a blank sheet of paper; be sure to bring this paper to class for our discussion.
If you need a question to focus your thoughts, here's one to consider: "As a potential practitioner of security, what do you think is the most important takeaway from this article?"
class discussion
Saturday, 9/9 Thursday, 9/14
not graded
Read Chapter 7, Pseudoterminals. No need to take notes for this one unless you want to. n/a
Saturday, 9/9 In lab, Thursday, 9/12
not graded
Do Lab 0: Setting up Your Raspberry Pi.
Windows users will need the following files:
  FTDI USB-TTY driver
  PuTTY terminal emulator
n/a
Saturday, 9/9 Sunday, 9/24 Do Lab 1: Login Security.
Consider reading Chapters 5 and 6 if you need a refresher on C.
To use your git account on aslan, you will need to set up an account.
To make doing that easy, I created a little tutorial video.
git
Monday, 9/18 Thursday, 9/21 Read On User Choice in Graphical Password Schemes and take notes.
class discussion
Monday, 9/25 Sunday, 10/1 Complete part 1 of your final project.
git
Monday, 9/25 not graded
you will start this in-lab on 9/26
Do Lab 2: Hashtables in C.
n/a
Monday, 9/25 Part 1: Sunday, 10/8
Part 2: Sunday, 10/15
Do Lab 3: Password Cracking.
Required reading: "Why Stolen Password Databases are a Problem" and "Trading Time for Space".
git
Friday, 9/29 Thursday, 10/5 Read "Making a Faster Cryptanalytic Time-Memory Tradeoff" and take notes. class discussion
Wednesday, 10/4 Thursday, 10/12 Read "Smashing the Stack for Fun and Profit" and take notes. class discussion
Monday, 10/16 Sunday, 10/22 Fill out the final project partner sign-up sheet to let me know who you plan to work with for the final project.
Submit form
Monday, 10/16 Sunday, 10/22 Complete part 2 of your final project with your partner.
git
Thursday, 10/19 Thursday, 10/26 Read "An Empirical Study of the Reliability of UNIX Utilities" and take notes.
class discussion
Thursday, 10/26 Sunday, 11/5 Do Lab 5: Stack Smashing, Part 1.
Read "Assembly-Level Debugging with gdb".
Read "Creating a Shellcode File".
Watch "Finding a Return Address on the Stack Using gdb (ARM edition)". If you are curious, you can also watch the older x86 edition.
A handy program for generating strings containing arbitrary binary characters.
git
Monday, 10/30 Thursday, 11/2 Read "Undefined Behavior: What Happened to My Code?" and take notes.
class discussion
Wednesday, 11/1 Thursday, 11/9 Read "Preventing Privilege Escalation" and take notes.
class discussion
Tuesday, 11/21 Monday, 11/27 Read "Cryptology and Physical Security: Rights Amplification in Master-Keyed Mechanical Locks" and take notes.
class discussion
Tuesday, 11/21 Thursday, 11/30 Read "Reflections on Trusting Trust" and take notes.
class discussion
Tuesday, 11/21 Thursday, 12/7 Read "This World of Ours" and take notes.
class discussion
Tuesday, 11/21 Sunday, 12/10 Complete the third and final part of your project.
git
Wednesday, 11/22 Sunday, 12/10 For an optional grade bump, read "The Cuckoo's Egg" by Clifford Stoll and submit a security analysis of one of the incidents described in the book.
git
  • CSCI 331: Introduction to Computer Security, Fall 2023

CS 331 course website

Powered by Bootstrap 4 Github Pages