Cleveland State University
Department of Electrical and Computer Engineering
EEC 688/788 Secure and Dependable Computing
Spring 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 language.
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 4:00-5:50pm
at SH306
Office hours: M W 2:00-4:00pm
and by appointment
Tentative Schedule
|
Week |
Topics |
|
|
1 (Jan 19 - 23) |
Jan 21: ·
Lecture 1: Syllabus
discussion; Overview of the course (notes) |
handout |
|
2 (Jan 26 – 30) |
Jan 26: ·
Lecture 2:
Overview of secure and dependable computing (notes) Jan 28: ·
Class cancelled
due to snow |
A. Avizienis, J.C. Laprie, B. Randell, C.
Landwehr: ‘Basic Concepts and Taxonomy of Dependable and Secure
Computing’,
IEEE Trans. on Dependable and Secure Computing, vol. 1, no. 1, Jan-March
2004, pp.11-33 Security in Computing: chapter 1 |
|
3 (Feb 2 – Feb 6) |
Feb 2: ·
Lecture 3:
Introduction to computer & network security (notes) Feb 4: ·
Lecture 4:
Elementary cryptography (part 1) (notes) |
Security in Computing: chapter 1 Security in Computing: chapter 2 |
|
4 (Feb 9 – 13) |
Feb 9:
Feb 11:
|
Computer Networks (4th Ed., Tanenbaum): chapter 8 |
|
5 (Feb 16 – 20) |
Feb 16: President’s Day (No Class) Feb 18:
|
|
|
6 (Feb 23 – 27) |
Feb 23:
Feb 25:
|
SSH, the Secure Shell (2nd
Edition) |
|
7 (Mar 2 – 6) |
Mar 2:
Mar 4:
|
|
|
8 (Mar 9 – 13) |
Mar 9:
Mar 11:
|
|
|
9 (Mar 16 – 20) |
Spring Recess (no class) |
|
|
10 (Mar 23 – 27) |
Mar 23:
Mar 25:
|
Network intrusion detection book |
|
11 (Mar 30 – Apr 3) |
Mar 30:
Apr 1:
|
Handout |
|
12 (Apr 6 – 10) |
Apr 6:
Apr 8:
|
Handout |
|
13 (Apr 13 – 17) |
Apr 13:
Apr 15:
|
Reliable
Distributed Systems: chapter 14-16 |
|
14 (Apr 20 – 24) |
Apr 20:
Apr 22:
|
|
|
15 (Apr 27 – May 1) |
Apr 27:
Apr 29:
|
Handout Handout |
|
16 (May 4 – 8) |
May 4:
May 6:
|
|
|
17 (May 11 – 15) |
May 11:
|
|
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.