Cleveland State University
Department of Electrical and Computer Engineering
EEC 688/788 Secure and Dependable Computing
Fall 2009
Course Objectives: This course provides an extensive overview of secure and
dependable distributed computing systems. Topics include computer and network
security, faults models, process and data replication, reliable group
communication, message logging, checkpointing and restoration, Byzantine fault
tolerance and intrusion tolerance.
Prerequisite: EEC484/584 Computer Networks. Furthermore, this course
is designed for students who have
sufficient computer engineering background. That
means you are expected to have taken undergraduate-level operating systems,
data structure and algorithms, and programming language courses. In
particular, most of the labs and the course project involve with the Java
programming.
Textbook: Lecture
notes and handouts
Instructor: Dr.
Wenbing Zhao
Office: SH434
Phone: (216)
523-7480
Fax: (216)
687-5405
E-mail: wenbing@ieee.org
Lecture time: M W 2:00-3:50pm
at SH306
Office hours: M W 1:00-2:00pm
& 6:00-7:00pm and by appointment
Tentative Schedule
|
Week |
Topics |
|
|
1 (Aug
24 - 28) |
Aug 24: ·
Lecture 1: Syllabus
discussion; Overview of the course (notes) Aug 26: ·
Lecture 2: Introduction
to computer & network security (part I) (notes) |
handout Security in Computing: chapter 1 |
2 (Aug
31 – Sept 4) |
Aug 31: ·
Lecture 3:
Introduction to computer & network security (part II) (notes) Sept 2: ·
Lecture 4:
Elementary cryptography (part 1) (notes) |
Security in Computing: chapter 1 Security in Computing: chapter 2 |
|
3 (Sept
7 – 11) |
Sept 7: ·
Labor Day (No Class) Sept 9:
|
Computer Networks (4th Ed., Tanenbaum): chapter 8 |
|
4 (Sept
14 – 18) |
Sept 14:
Sept 16:
|
Computer Networks (4th Ed., Tanenbaum): chapter 8 |
|
5 (Sept
21 – 25) |
Sept 21:
Sept 23:
|
Computer Networks (4th Ed., Tanenbaum): chapter 8 |
|
6 (Sept
28 – Oct 2) |
Sept 28:
Sept 30:
|
SSH, the Secure Shell (2nd
Edition) |
|
7 (Oct
5 – 9) |
Oct 5:
Oct 7:
|
|
|
8 (Oct
12 – 16) |
Oct 12: ·
Columbus
Day (No Class) Oct 14:
|
Network intrusion detection book |
9 (Oct
19 – 23) |
Oct 19: ·
Lab 3 –
Intrusion detection with Snort Oct 25:
|
Handout |
|
10 (Oct
26 – 30) |
Oct 26: ·
Lecture 12:
Replication techniques; replica consistency (notes) Oct 28
|
Handout |
|
11 (Nov
2 – 6) |
Nov 2:
Nov 4:
|
Reliable Distributed
Systems: chapter 14-16 |
|
12 (Nov
9 - 13) |
Nov 9: ·
Lecture 14:
Group communication systems (II); Logging, checkpointing and recovery (notes) Nov 11:
|
Reliable Distributed
Systems: chapter 14-16 |
|
13 (Nov
16 – 20) |
Nov 16:
Nov 18:
|
Handout |
|
14 (Nov
23 – 27) |
Nov 23: ·
Lecture 16:
Byzantine fault tolerance (part II) (notes) Nov 25: (Thanksgiving Eve)
|
Handout |
|
15 (Nov
30 – Dec 4) |
Nov 30:
Dec 2:
|
|
|
16 (Dec 7 – 11) |
Dec 9:
|
|
Course Project
You are expected to build a secure
and/or dependable software application/system based on the tools and systems
you have learned during the labs. 30% of the course credit is allowed for the
project. The project can be completed individually or by a team of two.
Deliverables:
-
A project
proposal
-
A project
progress report
-
A public project
presentation, including a demo and a code walkthrough.
-
The source code
for the project
-
A typed
comprehensive report of your project is required
Labs
There are 5 labs on a various topics related to
security and dependability of distributed computing systems. There will be no
makeup lab, and no extension will be granted for lab reports. Exception may be
granted to those who have strong background to complete the labs without my
supervision. If you are granted an exception, the related requirement on the
lab session attendance for class participation credit is automatically removed.
Class Participation
10% of the course credit is allocated to encourage
student class participation. I may perform a roll call in the beginning of each
class to determine the attendance. To obtain the full credit for class
participation, you must satisfy the following conditions:
To help me keep track who asked me questions, please
send me an email with the following information for each question you have
asked within 24 hours after the lecture:
Grading
Class participation 10%
Exams 60%
Labs 20%
Projects 10%
The final grading is based on your accumulated
effort in this course. Your final grade is determined approximately based on
the following schedule:
A: 90-100%
A-: 85-89%
B+: 75-84%
B: 65-74%
B-: 55-64%
C: 50-54%
F: <50%
Security in Computing (4th Edition), by Charles P. Pfleeger,
Shari
Computer Networks (4th Edition), by Andrew S. Tanenbaum, Prentice Hall, 2003
Cryptography and Network
Security: Principles and Practices (3rd Edition), by William Stallings,
Prentice Hall, 2003
SSH, the Secure Shell (2nd Edition),
by Daniel J. Barrett, Robert G. Byrnes, Richard E. Silverman, O'Reilly, 2005
Reliable Computer Systems:
Design and Evaluation (3rd
Edition), by Daniel P. Siewiorek and Robert S. Swarz, A K Peters, 1998
Distributed Systems: Principles and Paradigms, by Andrew S. Tanenbaum, and Maarten van Steen, Prentice Hall, 2002
Reliable Distributed
Systems: Technologies, Web Services, and Applications, by Kenneth P.
Birman, Springer, 2005
Network Intrusion
Detection (3rd
Edition), by Stephen Northcutt, Judy Novak, New Riders Publishing, 2002
Examines are closed-book and
closed-notes. However, you can bring with
you one page of formulas and definitions (US Letter size or smaller). There
will be no make-up tests. If you have serious reasons for missing a test
(accident, medical emergency, death in the family), upon presentation of an
official written document validating the circumstance the test will be
rescheduled.