01:198:419:01: Computer Security

Spring 2012


Quick Links: [ Schedule | Homeworks | Project | Grading | Resources ]

General information


Course overview

This course will be an undergraduate-level introduction to computer security and is targetted towards seniors and advanced juniors. Graduate students can also register for this course, but are advised to consult the instructor before doing so. We will cover both classic topics, such as applied cryptography, authentication, authorization and basic security principles, as well as recent topics such as Web security and virtual machines for security. For several topics in the course (especially recent topics), we will occasionally read, in addition to our textbook, research papers describing the state of the art.


Syllabus

The following is an approximate list of topics that we will cover.

Schedule

Class handouts and research papers referenced in the schedule below will be made available from Sakai. Classes will be held on the following dates (to be filled into schedule below as semester progresses): 1/17, 1/19, 1/24, 1/26, 1/31, 2/2, 2/7, 2/9, 2/14, 2/16, 2/21, 2/23, 2/28, 3/1, 3/6, 3/8, 3/20, 3/22, 3/27, 3/29, 4/3, 4/5, 4/10, 4/12, 4/17, 4/19, 4/24, 4/26

Date Topics Reference Slides
1/17 Logistics. Introduction. Basic security principles. Chapter 1,
Lecture 1 handout
PPT
1/19 Cryptography: Simple symmetric-key ciphers. Chapter 2,
Chapter 20,
Basic crypto handout
PPT
1/24 DES. Modular arithmetic.
Homework 0 out
Chapter 2,
Chapter 20,
Appendix B,
Number theory + RSA handout
Whiteboard
1/26 Public-key cryptography and RSA. Chapter 2,
Chapter 21,
Appendix B,
Number theory+RSA handout.
Whiteboard
1/31 RSA wrapup, Diffie-Hellman Chapter 2,
Chapter 21,
Appendix B,
Number theory+RSA handout.
Whiteboard
2/2 DSA, Hash functions, MACs and HMACS.
Homework 0 due at 5pm
Chapter 21 PPT
2/7 Authentication and key exchange protocols I
Homework 1 out
Authentication protocols handout
Anderson Ch 2
PPT
Authentication and key exchange protocols II Chapter 23
Kerberos paper (on Sakai)
PPT
Memory error exploits: Buffer overflows Chapter 10,
Chapter 11,
Paper by Aleph One
PPT
Defending against memory error exploits. Stackguard,
ASLR
PPT
Midterm Review
Homework 1 due at 5pm
- -
2/23 Midterm Exam (in class) - -
Midterm discussion, Access control Chapter 4 PDF
Access Control; Confidentiality and Integrity Policies
Homework 2 out
Chapter 10 PDF
Intrusion detection
Project out
Chapter 6 PDF
Intrusion detection Chapter 9 PDF
Firewalls; Database security
Homework 2 due
Chapter 5 PDF
PDF
Trusted computing Chapter 10
Integrity measurement using TPM
-
Web Application Security
Homework 3 out
Project design documents due
Dos and Donts,
Chapter 21
PDF
Web security Chapter 21 PDF
Virtual machines VMWare paper (Sections 1-5 only)
Reflections
PDF
Malware - PDF
Information flow
Homework 3 due
Lecture 21 handout PDF
PDF
Information flow Lecture 21 handout PDF
Email security and spam
Project demos
- -
Final review
Project report and code due
- -
TBD Final exam TBD TBD

Homeworks

There will be several homeworks over the course of the semester, some of which will involve programming (in C and x86 assembly). In addition, there will also be a final project that will involve a significant amount of programming (in Java). Overall, homeworks will account for 30% of your course grade.

Project

The course project involves designing and implementing a simple electronic voting protocol. This project will involve a significant programming component (in Java). The goal of this project is to expose you to several concepts in applied cryptography, as well as programming using cryptographic primitives. Please consult the project document (which will be posted on Sakai) for a detailed overview, including details on project checkpoints, deadlines and deliverables. A link to template client/server code that you can use as a starting point for your own implementation will be made available on Sakai.

Grading

You are allowed to discuss the problems in homework assignments with your colleagues, provided that you acknowledge them in your writeup. The writeups must however be your own. For the project, you will work in teams, and can speak with members of other teams. However, each team must write its own code. Any violation of these rules will be dealt with severely. Here is a link to the Rutgers University Academic Integrity Policy.


Resources

Organizations

Tips to read an academic paper

Tips for good technical writing

You will find these sources useful for technical writing (e.g., project reports).
Vinod Ganapathy