ECS 153. Computer Security

Spring 2006CRN: 70717
Lecture: Tuesday and Thursday, 4:40-6:00pm; 106 Olson.
Section:Friday 3:10-4:00pm, 217 Art.
Instructor: Hao Chen <hchenATcs.ucdavis.edu> Office hours: Tuesday 10:30am-12:30pm, 3055 Kemper.
TA: Juan Lang <jilangATucdavis.edu> Office hours: Friday 2:10-3:00pm, 3106 Kemper.
Mailing list: ecs153-s06@ucdavis.edu Web interface (for announcements from instructional staff)
Newsgroup:ucd.class.ecs235.d Web interface (for discussions)

Announcements


Homework

  1. Buffer overflow attacks. Due 10:00pm, Friday, April 14, 2006.
    Handout: buflab-handout.tar
    You can check the class's progress at the grading page, which is updated minutely. If the page is stale for more than 5 minutes, please notify me.
    x86 assembly language references:
  2. Phishing detector: Phish Fry. Due 10:00pm, Sunday, April 30.
    Many thanks to Juan Lang and Francis Hsu for their invaluable contributions.
  3. Attacking phish detector: Attacking Phish Fry. Due 10:00pm, Tuesday, May 23.
    Many thanks to Juan Lang for his invaluable contributions.

Goals

This course introduces principles, mechanisms, and implementations of computer security. You will learn how hackers attack systems, how to defend against the attacks, and how to design systems to withstand the attacks.

Topics

Prerequisites

Requirements and grading

Lectures

Note: reading is subject to change.

WeekDateTopicReading
1March 30Introduction None
2April 4Design principles §13. Slides (Wagner)
April 6Buffer overruns (cache) Smashing The Stack For Fun And Profit (Aleph One)
(cache) StackGuard: Automatic Adaptive Detection and Prevention of Buffer-Overflow Attacks Cowan et al.
3April 11Software security §29.5
April 13Robust programming Robust Programming (Matt Bishop)
4April 18Symmetric-key cryptography §9.1, §9.2 (except §9.2.2.1), §11.2.2
April 20Public-key cryptography §9.3, §10.4
5April 25Public-key cryptography §9.4, §10.6
April 27Message authentication, digital signatures
6May 2Authentication §12.1-12.3
May 4Key exchange; kerberos §10.1-10.2;
Designing an Authentication System: a Dialogue in Four Scenes, Bryant.
7May 9Protocol design Prudent engineering practice for cryptographic protocols, Abadi and Needham.
Slides (Wagner)
May 11Midterm
8May 16Access control §2, 4.4, 15.1-15.2
May 18Confidentiality and integrity models §5.1, 5.2.1, 6.1, 6.2
9May 23Confinement §17.1-17.2, 17.3 (before 17.3.1)
May 25Firewall
10May 30Malware
June 1TBD
11June 8Project poster presentation10am-noon, 1065 Kemper

Warning

From time to time, we may discuss vulnerabilities in widely-deployed computer systems. This is not intended as an invitation to go exploit those vulnerabilities. It is important that we be able to discuss real-world experience candidly; students are expected to behave responsibly.

The campus's policy (and my policy) on this should be clear: you may not break into machines that are not your own; you may not attempt to attack or subvert system security. Breaking into other people's systems is inappropriate, and the existence of a security hole is no excuse.

Feedback

I always welcome any feedback on what I could be doing better. You are also welcome to send me feedback anonymously.


Hao Chen <hchenATcs.ucdavis.edu>
Last modified April 18, 2006.
Valid XHTML 1.1! Valid CSS!