CS 91 - Computer Security
TR 9:55-11:10, SCI 145
Fall 2004
Swarthmore College

Professor: Benjamin Kuperman
email: kuperman AT cs swarthmore edu
Office: SCI 253
Phone: 328-8665
Office Hours: Wed 1:30-3:30pm, Tue 2:00-3:00pm

Announcements


Contents


Course Description

This class will introduce students to fundamental concepts in computer and information security. Topics that may be covered include threats and vulnerabilities, malicious software, defensive programming techniques, basic cryptography, models of security, auditing, intrusion detection, basic database security, and issues of laws and ethics related to information security. This course is designed to present a broad survey of the field rather than an in depth study of a particular portion.


Text and Useful Links

The text for the course is Computers and Security, 3rd Edition by Pfleeger and Pfleeger, and The Cuckoo's Egg by Cliff Stohl.

Useful Links


Grading

Grades will be calculated based on the following distribution:


Homework and Course Policy

Regular class attendance is expected. I am required to report to the dean any student whose repeated absences is impairing their performance in the class.

There will be a number of assignments made in this class. I expect every student to attempt each assignment and turn in the results. Do not expect to pass this class if you do not submit something for every assignment. You are encouraged to complete every assignment as this is one of the most effective ways to learn the material.

When homework is assigned, a due date will be made available. You are responsible for submitting your answers before the deadline. Late assignments are not accepted. If you know that for some reason you will not be able to submit the assignment before the deadline, you should contact me in advance of the deadline. Extensions are only granted in exceptional circumstances, but need to be done in advance.

Programming assignments will be graded on both correctness as well as programming style. Good programming style includes the following:

More information on Java style can be found on Sun's Code Conventions web page. There is also an open source tool checkstyle that can be used to check the style used.

Plagiarism and Academic Dishonesty

The College's Judiciary Committee (CJC) handles plagiarism offenses. The penalties for plagiarism are quite severe: usually the first offense leads to failure in the course, but it may additionally result in suspension. The following constitutes plagiarism on CS programming assignments:

Under no circumstances may you hand in work done with (or by) someone else under your own name. Your code should never be shared with anyone; you may not examine or use code belonging to someone else, nor may you let anyone else look at or make a copy of your code. This includes sharing solutions after the due date of the assignment. Failure to abide by these rules constitutes academic dishonesty and will lead to a hearing of the College Judiciary Committee.

Discussing ideas and approaches to problems with others on a general level is fine (in fact, we encourage you to discuss general strategies with each other), but you should never read anyone else's code or let anyone else read your code. If you are in doubt about some help that you received, then credit the person(s) from whom you got help by citing them in a comment at the top of the file and discuss the situation with your instructor.


Lecture Notes

Week 1 Introduction (3up) (6up)
Weeks 2-3 Cryptography (3up) (6up)
Weeks 4-5 Program Security (3up) (6up)
6? Malware (3up) (6up)
7-8? Operating Systems (3up) (6up)
8-10? Trusted OS and Intellectual Property (3up) (6up)

Schedule

This course will cover the following topics as time permits:

Topics will probably be covered in the following sequence:

Assignments

# Link Date Out Date Due
1 Simple Ciphers 09 Sep 2004 20 Sep 2004
2 Using GPG 21 Sep 2004 27 Sep 2004
3 Buffer Overflow 28 Sep 2004 07 Oct 2004
4 Covert Channel 04 Nov 2004 18 Nov 2004
5 Filesystem Analyzer 18 Nov 2004 07 Dec 2004

Last Modified: Tue 23 Nov 2004 09:45:58 AM EST - Benjamin A. KupermanVI Powered