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.

MW 1:30-2: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 made 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 course project assignment is available here.


Week 1

1/28

Introduction to the course
Select students for first presentation

1/30

No class

Week 2

2/4

Paper presentations

Alexander Moshchuk, Tanya Bragin, Damien Deville, Steven D. Gribble, and Henry M. Levy
SpyProxy: Execution-based Detection of Malicious Web Content

Students: Ryan McArthur

2/5

Paper discussion


Week 3

2/11

Paper presentations

Chris Karlof, Umesh Shankar, J. D. Tygar and David Wagner
Dynamic pharming attacks and the locked same-origin policies for web browsers

Students: Ben Godard

2/13

Paper discussion


Week 4

2/18

Paper presentations

Weidong Cui, Jayanthkumar Kannan, Helen J. Wang
Discoverer: Automatic Protocol Reverse Engineering from Network Traces

Students: Zach Crisler

2/20

Paper discussion


Week 5

2/25

Paper presentation

Juan Caballero, Shobha Venkataraman, Pongsin Poosankam, Min Gyung Kang, Dawn Song and Avrim Blum
FiG: Automatic Fingerprint Generation

Students: Gabe Landau

2/27

Paper discussed


Week 6

3/3

Survey paper due

Paper presented

Igor Popov, Samuya Debray, and Gregory Andrews
Binary Obfuscation Using Signals

Students: Joe Guerrera

3/5

Paper #4 discussed


Week 7

3/10

Project Proposals Due

Paper presentations

Andreas Moser, Christopher Kruegel, and Engin Kirda
Exploring Multiple Execution Paths for Malware Analysis

Students: Matthew Pagano

3/12

Paper discussion



Week 8

Spring Break

Week 9

3/24

Paper presentations

Sushant Sinha, Michael Bailey, Farnam Jahanian
Shedding Light on the Configuration of Dark Addresses

Students: Pagano & Caselden

3/26

Paper discussion


Week 10

3/31

Paper presentations

E-voting reports
California: Source code and red team reports.
Ohio: academic report

Students: Godard & Guerrera

4/2

Project Status Report Due

Paper discussion


Week 11

4/7

RSA CONFERENCE - no class

Week 12

4/14

Paper presentation

David Brumley, Juan Caballero, Zhenkai Liang, James Newsome, Dawn Song
Towards Automatic Discovery of Deviations in Binary Implementations with Applications to Error Detection and Fingerprint Generation

Students: Dan Caselden

4/16

Paper discussion


Week 13

4/21

Paper presentations

Kostas G. Anagnostakis, Stelios Sidiroglou, Periklis Akritidis, Konstantinos Xinidis, Evangelos Markatos, and Angelos D. Keromytis
Detecting Targeted Attacks Using Shadow Honeypots

Students: McArthur & Crisler

4/23

Paper discussion


Week 14

4/28 and 4/30

Project write-ups due 4/28, beginning of class

Project presentations


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).