Intro to Computer Security

EECS 398
Fall 2010


Course Overview

InstructorProfessor J. Alex Halderman
(Office hours: Tu 12:30-1:30, 4717 CSE, or by appointment)
PrerequisitesEECS 281; EECS 370 recommended
LecturesTuTh 10:30-Noon, 3427 EECS
EECS Discussion Fr 2:30-3:30, 1003 EECS — required for undergrads
GSI (Office hours: M-W 5:30-6:30, Fr 3:30, 1222 EECS)
ITS Discussion Tu 12:30-1:30, 1012 EECS — required for ITS professionals
(Office hours by appointment)
Online ForumAvailable on CTools

This course introduces the principles and practices of computer security as applied to software, host systems, and networks. Designed for students with a basic technical understanding of operating systems and networks, it covers the foundations of building, using, and managing secure systems. Topics will include standard cryptographic functions and protocols, threats and defenses for real-world systems (such as Windows and UNIX hosts and Web applications), incident response, and forensics. There will be biweekly homework exercises, programming projects, and midterm and final exams.

Discussion Sections

These are separate discussion sections designed for EECS students (undergrads) and ITS students (U-M IT professionals). These sections will cover additional material tailored to each group. To receive credit for the course, students must register for and attend the section designed for them, but all students are welcome to sit in on the other section when the topic is of interest.


If you are an EECS undergrad, your grade will be based on the following components:

Class Participation5%Attendance, alertness, questions, and other contributions
Homework Exercises24%Six homework exercises due about every two weeks
Programming Projects36%Four programming projects due about every three weeks
Midterm15%Take-home midterm
Final20%Take-home final during exam period

This is a paperless course; all assignments will be distributed and turned in electronically.

Ethics, Law, and University Policies

To defend a system you need to be able to think like an attacker, and that includes understanding techniques that can be used to compromise security. However, using those techniques in the real world may violate the law and the university's computing practices, or may be unethical. You must respect the privacy and property rights of others at all times, or else you will fail the course. Under some circumstances, even probing for weaknesses may result in severe penalties, up to and including civil fines, expulsion, and jail time.

Carefully read the Computer Fraud and Abuse Act (CFAA), a federal statute that broadly criminalizes computer intrusions. This is just one of several laws that govern “hacking.” Understand what the law prohibits — you don't want to end up like this guy. If in doubt, I can refer you to an attorney.

Please review CAEN's policy document on rights and responsibilities for guidelines concerning use of technology resources at U-M, as well as the Engineering Honor Code. As members of the university, you are required to adhere to these policies.