Computer Systems Security and Information Survivability
-- An Advanced Graduate Course for UTCS
© 2001
Yongguang
Zhang
Objectives
This course is intended for graduate students who have some
background in cryptography (e.g., CS378 "Cryptography") and security
(e.g., Gouda's CS395T course on "Secure Network Protocols"), and wish to
further study the discipline of computer security in real systems. The
course objective is achieved through extensive literature study and a research
project.
Course Grading
-
Literature research and presentation: 25%
-
Project: 60% (Phase I: 30%, Phase II: 30%)
-
Class participation: 15%
-
No exam
Prerequisites
-
Motivation in doing systems research
-
Background in cryptography (e.g., CS378 "Cryptography") and security (e.g., Dr. Gouda's CS395T course on "Secure Network Protocols")
-
Reasonable background in operating systems, networking, and
distributed computing
-
Programming skill in C/C++, systems skill in Unix/Linux
-
Time and dedication
Topics
Some will be covered in the lectures,
others will require literature research on your part.
-
Cryptography and Security: Basic Concepts
-
trust, secrets, keys, credential
-
one-way functions, pseudo-randomness, encryption, digital
signatures, zero-knowledge.
-
Integrity, Confidentiality, and Authenticity
-
Trust Infrastructure and PKI
-
Systems Security
-
Secure Programming
-
Principle of Least Privilege
-
Proof-Carrying Code
-
Language Tools
-
Access Control
-
Untrustworthy and Protection
-
Fault Isolation
-
Virtualization of Execution
-
Secure OS
-
Identity and Authentication
-
Passwords and certificates
-
Biometrics
-
Network Security
-
Secure Protocols and Firewalls
-
Secure Routing
-
Secure Wireless Networks
-
Information Survivability
-
Concepts of Assurance and Survivability
-
Content Security
-
Stenography and Watermarking
-
Content Control and "DMCA"
-
Secure Hardware
-
Tamper Resistance
-
Side-Channel Attacks
-
Network Intrusions
-
Viruses and Worms
-
Distributed Denial of Services Attacks
-
Threat Modeling
-
Intrusion Detection and Response
-
Audit and Forensics
-
Anomaly Detection
-
Traceback and Active Fencing
-
Fault-Tolerant Networks
Projects
This course touches a large surface of different
areas of computer science, and most topics are still research oriented.
Although literature study is an important element of this course, it is
impossible to cover every subject in details in class. Therefore, the project
will give you an opportunity to explore deeply in one topic that interests
you most.
The course project is organized in two phases. In phase I, you will
choose a topic and do an individual project (1-person).
In phase II, you will do a group project (3 or more per group).
Phase II is an integration project -- you must use your phase I result and
adapt it to integrate with other people's in your group.
There will be opportunity after phase I for you to present your project
and find other projects to integrate.
Your project can be on either synthesis or analysis side (or both).
On the synthesis side, you can develop innovative security measures
to protect systems and information.
On the analysis side, you can analyze vulnerabilities of
existing systems and demonstrate that there exist ways to exploit them.
The integration can be in the same direction -- three subsystems
interacting to protect a system,
or in the opposite direction -- a red-team vs blue-team scenario
in which one analyzes the vulnerabilities of the other
and the latter defends against the former's exploitation.
A red-team vs blue-team group project can be particularly interesting
if both sides keep progressing and attempting to one-up each other.
The project report (in form of a technical paper) should be
of publishable quality.
© 2001 Yongguang Zhang