Cleveland State University

Department of Electrical and Computer Engineering

EEC 693/793 Special Topics in Electrical Engineering

Secure and Dependable Computing

Spring 2007

 

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 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:      T Th 4:00-5:50pm at SH306

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

 

EEC693 Secure and Dependable Computing Class Spring 2007 Hall of Fame (newly added!)

Midterm #2 Results Available Here


 

Week

Topics

Reading

1

(Jan 15 - 19)

Jan 16:

·         Lecture 1: Syllabus discussion; Overview of the course (notes)

Jan 18:

·         Lecture 2: Overview of secure and dependable computing (notes)

 

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 22 – 26)

Jan 23:

·         Lecture 3: Introduction to computer & network security (notes)

Jan 25:

·         Lecture 4: Elementary cryptography (part 1) (notes)

 

Security in Computing: chapter 1

 

 

Security in Computing: chapter 2

3

(Jan 29 – Feb 2)

Jan 30:

·         Lecture 5: Elementary cryptography (part 2) (notes)

Feb 1:

·         Lab 0 – Getting familiar with Linux (session 1) (including Linux account creation)

 

Security in Computing: chapter 2

4

(Feb 5 – 9)

Feb 6:

  • Lab 0 – Getting familiar with Linux (session 2) (including Linux account creation)

Feb 8:

  • Lecture 6: Elementary cryptography (part 3) (notes)
  • Lab 0 report due

 

 

 

 

 

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

5

(Feb 12 – 16)

Feb 13:

  • Class Canceled due to bad weather

Feb 15:

  • Lecture 7: Public key management; Authentication protocols (notes)

 

 

 

6

(Feb 19 – 23)

Feb 20:

  • Lecture 8: Secure communication 1 - secure shell (notes)

Feb 22:

  • Lab 1 - Secure shell (session 1)

 

SSH, the Secure Shell (2nd Edition)

7

(Feb 26 – Mar 2)

Feb 26:

  • CSU Data Center Tour; 3pm; 10th floor of Rhodes Tower

Feb 27:

  • Lab 1 - Secure shell (session 2)

Mar 1:

  • Lecture 9: Secure communication 2 (PGP & SSL) (notes)
  • Lab 1 report due

 

8

(Mar 6 – 10)

Mar 7:

  • Lab 2 – Secure computing in Java (session 1)

Mar 9:

  • Lab 2 – Secure computing in Java (session 2)

 

 

 

 

9

(Mar 12 – 16)

Spring Recess (no class)

 

 

10

(Mar 19 – 23)

Mar 20:

  • Midterm Test #1 (lecture 1-9, lab 0-2)
  • Lab 2 report due

Mar 22:

  • Lecture 10: Intrusion detection and prevention (notes)

 

Network intrusion detection book

11

(Mar 26 – 30)

Mar 27:

  • Lab 3 – Intrusion detection with Snort; traffic analysis (session 1)

Mar 29:

  • Lab 3 – Intrusion detection with Snort; traffic analysis (session 2)

 

 

 

Handout

12

(Apr 2 – 6)

Apr 3:

  • Lecture 11: Failures and their manifestation; Consensus (notes)
  • Lab 3 report due

Apr 5:

  • Lecture 12: Replication techniques; replica consistency (notes)

 

Handout

 

13

(Apr 9 – 13)

Apr 10:

  • Lecture 13: Group communication systems (I) (notes)
  • Project outline due

Apr 12:

  • Lecture 14: Group communication systems (II); Logging, checkpointing and recovery (notes)

 

Reliable Distributed Systems: chapter 14-16

14

(Apr 16 – 20)

Apr 17:

  • Lab 4 – Spread toolkit (session 1)

Apr 19:

  • Lab 4 – Spread toolkit (session 2)

 

 

 

Handout

15

(Apr 23 – 27)

Apr 24:

  • Lecture 15: Byzantine fault tolerance (part I) (notes)
  • Lab 4 report due
  • Project progress report due; April 24

Apr 26:

  • Lecture 16: Byzantine fault tolerance (part 2) (notes)

 

Handout

16

(Apr 30 – May 4)

May 1:

  • Midterm #2 (lecture 10-16, lab 4)

May 3:

  • Project presentation (attendance mandatory)

 

17

(May 7 – 11)

May 8:

  • Project presentation (attendance mandatory)
  • Final project submission due (by midnight)

 

 

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.

-          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

 

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:

  • You do not miss more than 2 lectures
  • You do not miss any exam and lab sessions (if you choose to the labs option)
  • You have asked at least 10 questions during the semester. You are also encouraged to give me advice on how you would like me to improve my teaching to make it more conducive. For each piece of advice, it will be counted as 2 questions.

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:

  • The question you asked
  • My response
  • Your comment on my response and suggestion for improvement, if any

 

Grading

Class participation 10%

Exams 40% (each midterm 20%)

Labs 20%

Projects 30%

 

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+: 70-84%

B: 60-69%

B-: 55-59%

C: 50-54%

F: <50%

 

Reference Books    

Security in Computing (4th Edition), by Charles P. Pfleeger, Shari Lawrence Pfleeger, Prentice Hall, 2006

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

 

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.