CS 600.643: Advanced Topics in Computer Security

Graduate Seminar

Course description

Topics will vary from year to year, but will focus mainly on network perimeter protection, host-level protection, authentication technologies, intellectual property protection, formal analysis techniques, intrusion detection and similarly advanced subjects. Emphasis in this course is on understanding how security issues impact real systems, while maintaining an appreciation for grounding the work in fundamental science. The course will consist of in-class workshops and interactive discussions. There will be programming assignments and a course project. Students will also be expected to read assigned papers and to present at least one research paper and lead a discussion on it.

ThF 2:30-3:45
Location: Wyman Park 4th floor conference room.

Mailing List

All students must sign up for the class mailing list. Send mail to majordomo@cs.jhu.edu with "subscribe cs643" in the message body. Then, to send mail to the class, send it to cs643 at cs.jhu.edu. Important announcements will be maid via the mailing list, and students will be responsible for any information posted to the list.

Office Hours

I will hold my office hours at 416 Wyman Park after class, and I'm also available by appointment other times.

Grading

This is an interactive class, so class participation will play a significant role in grading. Besides that, grades will be based on your paper presentation, your participation in discussions and questions, programming assignments and your project.

Course Project

The sample programs for the first assignment are here.

The course project assignment is available here.


Week 1

9/7

No class

9/8

Introduction to the course
First assignment explained
Select student for first paper
p-trace tutorial

Week 2

9/14

Course project preparation and discussion.

9/15

First assignment turned in
Each student presents and demos their program
Discussion about second assignment

Week 3

9/21

second assignment turned in

Paper #1 presented & discussed

Tal Garfinkel, Ben Pfaff, Jim Chow, Mendel Rosenblum, Dan Boneh, Terra: A Virtual-Machine Based Platform for Trusted Computing
Student: Aaron Powell

9/22

Erev Rosh Hashana
No Class

Week 4

9/28

Paper #2 presented

George W. Dunlap, Samuel T. King, Sukru Cinar, Murtaza A. Basrai, Peter M. Chen, ReVirt: Enabling Intrusion Analysis through Virtual-Machine Logging and Replay
Student: Dan Cross

9/29

Paper #2 discussed


Week 5

10/5

Paper #3 presented

Michael Vrable, Justin Ma, Jay Chen, David Moore, Erik Vandekieft, Alex Snoeren, Geoff Voelker, Stefan Savage, Scalability, Fidelity and Containment in the Potemkin Virtual Honeyfarm
Student: Ryan Smith

10/6

Paper #3 discussed



Week 6

10/12

Paper #4 presented

Wagner, Soto, Mimicry Attacks on Host-Based Intrusion Detection Systems
Student: Scott Coull and Kevin Thompson

10/13

Paper #4 discussed


Week 7

10/19

Paper #5 presented

Wagner, Chen, MOPS: an Infrastructure for Examining Security Properties of Software
Student: Ryan Gardner and Mike Liang

10/20

Paper #5 discussed



Week 8

10/26 & 10/27

Paper presentations - first part

Week 9

11/2

Paper #6 presented

Lam, Whaley, Livishits, Martin, Avots, Carbin, Unkel, Context-sensitive program analysis as database queries
Student: Kevin Snow

11/3

Paper #6 discussed


Week 10

11/9

Paper #7 presented

Christodorescu, Jha, Static Analysis of Executables to Detect Malicious Patterns
Student: Patrick Wardle

11/10

Paper #7 discussed


Week 11

11/16 & 11/17

Project Presentations - second part

Week 12

THANKSGIVING

Week 13

11/30

Paper #8 presented

Molnar, Kohno, Sastry, Wagner, Tamper-Evident, History-Independent, Subliminal-Free Data Structures on PROM Storage -or- How to Store Ballots on a Voting Machine
Student: Antonello Cruz and Joseph Edappully

12/1

Paper #8 discussed


Week 14

12/7

Paper #9 presented

Liao, Vemuri, Using Text Categorization Techniques for Intrusion Detection
Student: Jonathan Polirer

12/8

Paper #9 discussed




Computer Science Department Academic Integrity Code

Cheating is wrong. Cheating hurts our community by undermining academic integrity, creating mistrust, and fostering unfair competition. The university will punish cheaters with failure on an assignment, failure in a course, permanent transcript notation, suspension, and/or expulsion. Offenses may be reported to medical, law or other professional or graduate schools when a cheater applies.

Violations can include cheating on exams, plagiarism, reuse of assignments without permission, improper use of the Internet and electronic devices, unauthorized collaboration, alteration of graded assignments, forgery and falsification, lying, facilitating academic dishonesty, and unfair competition. Ignorance of these rules is not an excuse.

Academic honesty is required in all work you submit to be graded. Except where the instructor specifies group work, you must solve all homework and programming assignments without the help of others. For example, you must not look at anyone else’s solutions (including program code) to your homework problems. However, you may discuss assignment specifications (not solutions) with others to be sure you understand what is required by the assignment.

If your instructor permits using fragments of source code from outside sources, such as your textbook or on-line resources, you must properly cite the source. Not citing it constitutes plagiarism. Similarly, your group projects must list everyone who participated.

Falsifying program output or results is prohibited.

Your instructor is free to override parts of this policy for particular assignments. To protect yourself: (1) Ask the instructor if you are not sure what is permissible. (2) Seek help from the instructor, TA or CAs, as you are always encouraged to do, rather than from other students. (3) Cite any questionable sources of help you may have received.

On every exam, you will sign the following pledge: "I agree to complete this exam without unauthorized assistance from any person, materials or device. [Signed and dated]". Your course instructors will let you know where to find copies of old exams, if they are available.

For more information, see the guide on "Academic Ethics for Undergraduates" and the Ethics Board web site (http://ethics.jhu.edu).