01:198:442:01: Introduction to Computer Security

Fall 2008


Quick Links: [ General information | Course overview | Syllabus | Schedule | Homeworks | Project | Grading | Resources ]

Announcements


General information


Course overview

This course will be an undergraduate-level introduction to computer security and is targetted towards seniors, advanced juniors and first year graduate students. 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

Links to class handouts and research papers referenced on the schedule below are accessible from machines on the rutgers.edu domain.

Date Topics Reference Slides
9/3/08 (W) Logistics. Introduction. Basic security principles. Chapter 1,
Lecture 1 handout
PDF.
9/8/08 (M) Cryptography: Simple symmetric-key ciphers. Chapter 2,
Chapter 19,
Lecture 2 handout
PDF
9/10/08 (W) DES. Modular arithmetic. Chapter 2,
Chapter 19,
Appendix A,
Lecture 2 handout (Contd.)
PDF
9/15/08 (M) Public-key cryptography and RSA.
Homework 0 out
Chapter 2,
Chapter 20,
Appendix A,
Lecture 4 handout
Blackboard
9/17/08 (W) RSA wrapup, Diffie-Hellman Chapter 2,
Chapter 20,
Appendix A,
Lecture 4 handout (Contd.)
Blackboard
9/22/08 (M) DSA, Hash functions, MACs and HMACS.
Homework 1 out
Chapter 20,
Lecture 6 handout
PDF
9/24/08 (W) Authentication and key exchange protocols I Lecture 7 handout
Anderson Ch 2
PDF
9/29/08 (M) Authentication and key exchange protocols II
Project out
Chapter 22 (22.1)
Kerberos paper
PDF-1
PDF-2
10/1/08 (W) Access Control
Homework 1 due
Chapter 4 PDF
10/6/08 (M) Confidentiality and Integrity Policies Chapter 10 PDF
10/8/08 (W) Memory error exploits: Buffer overflows Chapter 11,
Paper by Aleph One
PDF
10/13/08 (M) Midterm exam
10/15/08 (W) Midterm discussion, Buffer overflows II. Chapter 11,
Chapter 12
PDF
10/20/08 (M) Defending against memory error exploits.
Homework 2 out
Project design documents due
Stackguard,
ASLR
PDF
10/22/08 (W) Intrusion detection Chapter 6 PDF
10/27/08 (M) No class -
10/29/08 (W) No class -
11/3/08 (M) Intrusion detection (continued) Chapter 9 PDF
11/5/08 (W) Firewalls; Database security
Homework 2 due
Chapter 5 PDF
11/10/08 (M) Trusted computing Chapter 10 PDF
11/12/08 (W) Web Application Security
(Class cancelled because of power failure)
Homework 3 out
Dos and Donts PDF
11/17/08 (M) Web applications security Dos and Don'ts
Chapter 21
PDF
11/19/08 (W) Web security Chapter 21
PDF
11/24/08 (M) Malicious software.
Homework 3 due
Chapter 7
Reflections
PDF
12/1/08 (M) Information flow
Project demos to mentors (preliminary)
Lecture 21 handout PDF
12/3/08 (W) Information flow
Project demos to mentors (preliminary)
Lecture 21 handout PDF
12/8/08 (M) Virtual machines; Anonymity. Chaum's paper PDF
12/10/08 (W) Final review
Final project demos
- -
12/16/08 (8am-11am) Final exam - -

Homeworks

There will be three 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).

Project

The course project involves designing and implementing a simple mobile social networking application using OpenMoko Linux smart phones. You will be required to implement the basic social networking protocol as well as a simple mechanism to obtain location privacy. This project will involve a significant programming component (in Java) and familiarity with Operating Systems concepts as covered in 198:416. Please consult the project document 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 is available here.

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