Cleveland State University

Department of Electrical and Computer Engineering

 

EEC 693/793 Special Topics in Electrical Engineering

Secure and Dependable Computing

Spring 2006

 

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.

 

Pre- or co-requisite:        EEC484/584, Computer Networks

 

Textbook:                         Lecture notes and handouts

 

Instructor:                        Dr. Wenbing Zhao     

Office:                SH317

Phone:                (216) 523-7480

Fax:                    (216) 687-5405

E-mail:                wenbing@ieee.org

Lecture time:      M W 6:00-7:50pm

Office hours:      M W 4:00-6:00pm and by appointment

 

 

Week

Topics

Reading

1

(Jan 16 - 20)

Martin Luther King Day – Jan 16 (no class)

Lecture 1 (notes): Syllabus discussion; Overview of secure and dependable computing

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

2

(Jan 23 – 27)

Lecture 2 (notes): Introduction to computer & network security

Lecture 3 (notes): Elementary cryptography (part 1)

Security in Computing (3rd Ed.) chapter 1

 

Security in Computing (3rd Ed.) chapter 2

3

(Jan 30 – Feb 3)

Lecture 4 (notes): Elementary cryptography (part 2)

Lab 0 – Getting familiar with Linux

(Lab report due at the end of the lab)

Security in Computing (3rd Ed.) chapter 2

4

(Feb 6 – 10)

Lecture 5 (notes): Public key management; Authentication protocols

Lecture 6 (notes): Access control; Program security

Computer Networks (4th Ed., Tanenbaum) chapter 8

Security in Computing (3rd Ed.) chapter 3

5

(Feb 13 – 17)

Midterm Test #1 (lecture 1-6) – Monday, Feb 13

Lecture 7 (notes): Secure communication 1 - secure shell

 

 

SSH, the Secure Shell (2nd Edition)

6

(Feb 20 – 24)

President Day – Feb 20 (no class)

Lab 1 - Secure shell (session 1)

(Lab report due at the end of the lab)

 

7

(Feb 27 – Mar 3)

Lab 1 - Secure shell (session 2)

(Lab report due at the end of the lab)

Lecture 8 (notes): Secure communication 2 (Kerberos, PGP; SSL, IPsec, VPN)

 

8

(Mar 6 – 10)

Lab 2 – Secure computing in Java (session 1)

Lab 2 – Secure computing in Java (session 2)

(Lab report due at the end of the lab)

 

9

(Mar 13 – 17)

Spring Recess (no class)

 

 

10

(Mar 20 – 24)

Lecture 9 (notes): Intrusion detection and prevention

Lab 3 – Intrusion detection with Snort

(Lab report due at the end of the lab)

 

11

(Mar 27 – 31)

Lecture 10 (notes): Failures and their manifestation; Consensus

Lecture 11 (notes): Replication techniques; replica consistency

 

12

(Apr 3 – 7)

Midterm #2 (lecture 7-11, lab1-3) – Monday, April 3

Lecture 12: Group communication systems; The Spread toolkit

 

13

(Apr 10 – 14)

Lecture 13: ProSkills – by Jim Watson

(Attendance mandatory)

Project outline due: April 10

Lecture 14: Logging, checkpointing and recovery

 

14

(Apr 17 – 21)

Lab 4 – Spread toolkit (session 1)

(Lab report due at the end of the lab)

Lab 4 – Spread toolkit (session 2)

(Lab report due at the end of the lab)

 

15

(Apr 24 – 28)

Lecture 15: Byzantine fault tolerance; Intrusion tolerance

Project progress report due; April 24

Lecture 16: Secure group communication

 

16

(May 1 – 5)

Lecture 17: Recovery-oriented computing

Project presentation – May 3

(Attendance mandatory)

 

17

(May 8 – 12)

Project presentation – May 10, Wednesday 6:00-8:00pm

(Attendance mandatory)

 

 

Course Project

Implementation track: 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.

-          A team of no more than two students for each project

-          A presentation and a demo of your project is required

-          A typed comprehensive report of your project is required

 

Theory track: You are expected to survey comprehensively a topic of your interest in the field of secure and dependable distributed systems.

-          Individual project

-          A presentation of your survey is required

-          A typed comprehensive report of your project is required

 

Grading

Midterms 40% (20% each)

Labs 40% (based on lab participation and lab report due at the end of each lab)

Course project: implementation-track (30%), theory-track (20%)

 

Note

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.

 

 

References

                                          

Security in Computing (3rd Edition), by Charles P. Pfleeger, Shari Lawrence Pfleeger, Prentice Hall, 2002

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

Delta-4: A Generic Architecture for Dependable Distributed Computing, by D. Powell (Ed.), Pringer-Verlag, 1991