Introduction to Cyber-Physical Systems Security (CS 6263 - ECE 8813) - Fall 2019


Instructor: Dr. Raheem Beyah
Office Klaus 2308
Office hours By appointment
Email raheem.beyah@ece.gatech.edu

Head Teaching Assistant: Tohid Shekari
Email t.shekari@gatech.edu

The course covers introductory topics in cyber-physical systems security. The goal is to expose students to fundamental security primitives specific to cyber-physical sysytems and to apply them to a broad range of current and future security challenges. Much of the course is taught with the focus on one instance of cyber-physical sytems - Industrial Control Systems (ICSs). However, students will be expected to generalize the concepts for other cyber-physical systems.

Students will work with various tools and techniques used by hackers to compromise computer systems or otherwise interfere with normal operations. Students will also use tools that are uniques to interacting with cyber-physical systems. The purpose of the class is NOT to teach you how to be a hacker, but rather to teach you the approaches used by hackers so you can better defend against them. Students will be graded based upon exams and completion of assignments.


Policy on Commenting Software:
Fully commenting code, even code that you were given as a starting point is mandatory. This is one of the instructor's pet peeves. You must fully comment all code you turn in and must include comments to explain all of the code you turn in. (Even those parts of the code you did not write but were given as a starting point). You must include in the comments an explanation of what the purpose of the code is, the date the code was originally written, and the date the code was last modified must be in the comments. The last date modified must be correct and in the comments.


Policy on Handouts:
The handouts can be downloaded from the Canvas which requires authentication. Handouts with proprietary or copyrighted material will be put on the protected page and should not be made publicly available by students.


Prerequisites: computer networking class, information security class, and programming experience with C and Python. In case that you want to prepare early on the projects, we will use the following languages/tools in each project:


1. mini project #1: Factory IO (a software for design and implementation of controllers for industrial control systems) and block diagram programming
2. mini project #2: Ladder logic programming using OpenPLC (an educational platform for PLC programming)
3. mini project #3: mininet, python, Wireshark
4. mini project #4: Assembly x86, C, GDB debugger


1. Describe what cyber-physical systems are
2. Demonstrate what makes cyber-physical systems hard to secure
3. Analyze common methods used to secure cyber-physical systems
4. Evaluate the differences between securing traditional enterprise systems and cyber-physical systems


1. Develop the ability to interact with cyber-physical systems components
2. Develop the ability to interact with cyber-physical systems protocols
3. Develop the ability to conduct attacks on cyber-physical systems protocols and systems
4. Develop the ability to design cyber-physical systems and architectures that are resilient to attack

There are two required textbooks. We cover lots of really good material and no one textbook has it all. These are excellent references and will serve you well in future jobs or research projects. We will also occasionally review conference and journal publications. You can either buy these books or get access to them through Georgia Tech library's website. As students, you have access to all the journal articles and book services subscribed to by the university. You just have to log in similar you would in Canvas. Besides the Georgia Tech library, you can access the class' required texts through Safari books online here. Just click on the Safari link on that page and enter your GT email address.

Text One: Required

    Industrial Network Security, Second Edition: Securing Critical Infrastructure Networks for Smart Grid, SCADA, and Other Industrial Control Systems (2nd Edition), by Eric D. Knapp and Joel Thomas Langill, ISBN: 978-0124201149

Text Two: Required

    Applied Cyber Security and the Smart Grid: Implementing Security Controls into the Modern Power Infrastructure (1st Edition), by Eric D. Knapp and Raj Samani, ISBN: 978-1597499989

Grading
Paper Presentation 10%
Mini Project #1 15%
Mini Project #2 15%
Mini Project #3 10%
Mini Project #4 10%
Final Research Project 30%
Final Exam 10%
Total 100%
 
Grading Scale
90% - 100% A
80% - 89% B
70% - 79% C
60% - 69% D
< 60% F

Responsibility for Material:
Students are responsible for all material in assigned sections of texts and other materials, even if not explicitly covered in lecture. Students are also responsible for all material covered in lecture. Students are also expected to check Piazza and Canvas at least twice a week to receive class updates (course syllabus may slightly change during the semester). Please note that it is the student's responsibility for turning in the correct assignment by the due date. Submitting the wrong files will lead to ZERO grade in the assignment without any further consideration.


Paper Presentation:
In order to get on the cutting-edge research, you must keep up with recently published papers. To achieve this goal, each student will prepare a paper presentation in the class. You can either choose your paper from the provided spreadsheet in Piazza or find your favorite paper from top conferences. Looking at the related work section of the recommended papers is a good way to find other papers. Everyone should sign up (we already sent you an email containing the access link to the spreadsheet) for presentation as we will have 3 presentations in each week. You will need to submit your slides and the chosen paper at the end of the semester.


Exams, Makeup Exams, and Incompletes:
All exams are closed book. However, during the final exam, students can bring a single-sided (one side must be blank), 8.5 x 11, handwritten note sheet. Failutre to follow these instructions will lead to zero points in the exams. As a rule, makeup exams will be offered at the discretion of the professor and only for scheduled absences that are requested in writing at least one week in advance. Medical emergencies are the only exception to this rule and in case of such an emergency, the student must contact the professor as soon as possible to discuss the makeup. Incomplete grades will be given only in extraordinary circumstances.


Late Turn-in and Re-grading:
Assignments can be turned in two days after the due date and will be subject to a 20% penalty. The grade for the assignment will be zero after this window. Exams and projects will not be considered for re-grading later than 48 hours after they are returned (or grades released). Re-grading requests should be submitted in writing with a specific explanation of the possible grading error.


Academic Honesty:
Although students are encouraged strongly to communicate with each other to assist in learning the course material, all students are expected to complete course work individually (unless instructed otherwise), following all instructions stated in conjunction with exams and assignments. All conduct in this course will be governed by the Georgia Tech honor code. Additionally, it is expected that students will respect their peers and the instructor such that no one takes unfair advantage of any other person associated with the course. Any suspected cases of academic dishonesty will be reported to the Dean of Students for further action. Please see the school's full policy in here.


Excused Absence Policy
Link


Disability Services Statement
If needed, we will make classroom accommodations for students with documented disabilities. These accommodations must be arranged in advance and in accordance with the Office of Disability Services Link


Link to class Piazza site

A tentative schedule of lectures (subject to change) is provided below.

Class Deliverables

Week 1, Aug 19 (Lecture), Aug 21 (Paper Presentation)

Topic(s)/Lecture(s):

  • L1 - Introduction to Cyber-Physical Systems
  • L2 - Overview of CPS

Required Readings/Activities:

  • None

Recommended Readings/Activities:

Paper Presentations:

  • Presentation #1 (3:00pm - 3:25pm): CAP researcher 1
  • Presentation #2 (3:25pm - 3:50pm): CAP researcher 2
  • Presentation #3 (3:50pm - 4:15pm): CAP researcher 3
Week 2, Aug 26 (Lecture), Aug 28 (Paper Presentation)

Topic(s)/Lecture(s):

  • L3a - Background - Networking
  • L3b - Background - Information Security
  • L3c - Background - Control Systems

Required Readings/Activities:

  • None

Recommended Readings/Activities:

  • None

Paper Presentations:

  • Presentation #1 (3:00pm - 3:25pm): Student 1
  • Presentation #2 (3:25pm - 3:50pm): Student 2
  • Presentation #3 (3:50pm - 4:15pm): Student 3
Week 3, Sep 2 (Lecture), Sept 4 (Paper Presentation)

Topic(s)/Lecture(s):

  • L4 - Industrial Networks

Required Readings/Activities:

  • Knapp and Langill (Chapters 1, 2)

Recommended Readings/Activities:

  • None

Paper Presentations:

  • Presentation #1 (3:00pm - 3:25pm): Student 4
  • Presentation #2 (3:25pm - 3:50pm): Student 5
  • Presentation #3 (3:50pm - 4:15pm): Student 6
Week 4, Sep 9 (Lecture), Sep 11 (Paper Presentation)

Topic(s)/Lecture(s):

  • L5 - Industrial Cyber Security History and Threats

Required Readings/Activities:

  • Knapp and Langill (Chapters 3)

Recommended Readings/Activities:

  • None

Paper Presentations:

  • Presentation #1 (3:00pm - 3:25pm): Student 7
  • Presentation #2 (3:25pm - 3:50pm): Student 8
  • Presentation #3 (3:50pm - 4:15pm): Student 9
Week 5, Sep 16 (Lecture), Sep 18 (Paper Presentation)

Topic(s)/Lecture(s):

  • L6 - Introduction to Industrial Control Systems And Operations

Required Readings/Activities:

  • Knapp and Langill (Chapters 4)

Recommended Readings/Activities:

  • None

Paper Presentations:

  • Presentation #1 (3:00pm - 3:25pm): Student 10
  • Presentation #2 (3:25pm - 3:50pm): Student 11
  • Presentation #3 (3:50pm - 4:15pm): Student 12
Week 6, Sep 23 (Lecture), Sep 25 (Paper Presentation)

Topic(s)/Lecture(s):

  • L7 - Ladder Logic Demo
  • L8 - Industrial Network Design and Architecture

Required Readings/Activities:

  • Knapp and Langill (Chapters 5)

Recommended Readings/Activities:

  • Various ladder logic tutorials on the web

Paper Presentations:

  • Presentation #1 (3:00pm - 3:25pm): Student 13
  • Presentation #2 (3:25pm - 3:50pm): Student 14
  • Presentation #3 (3:50pm - 4:15pm): Student 15
Week 7, Sep 30 (Lecture), Oct 2 (Paper Presentation)

Topic(s)/Lecture(s):

  • L9 - Industrial Network Protocols

Required Readings/Activities:

  • Knapp and Langill (Chapters 6)

Recommended Readings/Activities:

Paper Presentations:

  • Presentation #1 (3:00pm - 3:25pm): Student 16
  • Presentation #2 (3:25pm - 3:50pm): Student 17
  • Presentation #3 (3:50pm - 4:15pm): Student 18
Week 8, Oct 7 (Lecture), Oct 9 (Paper Presentation)

Topic(s)/Lecture(s):

  • L10 - Power Delivery Systems (Example Industrial Control System)

Required Readings/Activities:

  • Knapp and Samani (Chapters 1, 2)

Recommended Readings/Activities:

  • None

Paper Presentations:

  • Presentation #1 (3:00pm - 3:15pm): Proposal 1
  • Presentation #2 (3:15pm - 3:30pm): Proposal 2
  • Presentation #3 (3:30pm - 3:45pm): Proposal 3
  • Presentation #1 (3:45pm - 4:00pm): Proposal 4
  • Presentation #2 (4:00pm - 3:15pm): Proposal 5
Week 9, Oct 14 (No class), Oct 16 (Paper Presentation)

Paper Presentations:

  • Presentation #1 (3:00pm - 3:15pm): Proposal 6
  • Presentation #2 (3:15pm - 3:30pm): Proposal 7
  • Presentation #3 (3:30pm - 3:45pm): Proposal 8
  • Presentation #1 (3:45pm - 4:00pm): Proposal 9
  • Presentation #2 (4:00pm - 3:15pm): Proposal 10
Week 10, Oct 21 (Lecture), Oct 23 (Paper Presentation)

Topic(s)/Lecture(s):

  • L11 - Hacking Industrial Control Systems

Required Readings/Activities:

Recommended Readings/Activities:

    Paper Presentations:

    • Presentation #1 (3:00pm - 3:25pm): Student 19
    • Presentation #2 (3:25pm - 3:50pm): Student 20
    • Presentation #3 (3:50pm - 4:15pm): Student 21
    Week 11, Oct 28 (Lecture), Oct 30 (Paper Presentation)

    Topic(s)/Lecture(s):

    • L12 - Securing Industrial Control Systems

    Required Readings/Activities:

    Recommended Readings/Activities:

    • Specification-based IDS

    Paper Presentations:

    • Presentation #1 (3:00pm - 3:25pm): Student 22
    • Presentation #2 (3:25pm - 3:50pm): Student 23
    • Presentation #3 (3:50pm - 4:15pm): Student 24
    Week 12, Nov 4 (Lecture), Nov 6 (Paper Presentation)

    Topic(s)/Lecture(s):

    • L13 - Privacy in Cyber-Physical Systems

    Required Readings/Activities:

    Recommended Readings/Activities:

    Paper Presentations:

    • Presentation #1 (3:00pm - 3:25pm): Student 25
    • Presentation #2 (3:25pm - 3:50pm): Student 26
    • Presentation #3 (3:50pm - 4:15pm): Student 27
    Week 13, Nov 11 (Lecture), Nov 13 (Final Exam (multiple-choice and true/false questions))

    Topic(s)/Lecture(s):

    • L14 - Threats to Cyber-Physical Systems in Other Domains

    Required Readings/Activities:

    Recommended Readings/Activities:

    • None
    Week 14, Nov 18 (Presentation), Nov 20 (Presentation)

    Monday Presentations:

    • Presentation #1 (3:00pm - 3:25pm): Project 1
    • Presentation #2 (3:25pm - 3:50pm): Project 2
    • Presentation #3 (3:50pm - 4:15pm): Project 3

    Wednesday Presentations:

    • Presentation #1 (3:00pm - 3:25pm): Project 4
    • Presentation #2 (3:25pm - 3:50pm): Project 5
    • Presentation #3 (3:50pm - 4:15pm): Project 6
    Week 15, Nov 25 (Presentation), Nov 27 (Presentation)

    Monday Presentations:

    • Presentation #1 (3:00pm - 3:25pm): Project 7
    • Presentation #2 (3:25pm - 3:50pm): Project 8
    • Presentation #3 (3:50pm - 4:15pm): Project 9

    Wednesday Presentations:

    • Presentation #1 (3:00pm - 3:25pm): Project 10
    • Presentation #2 (3:25pm - 3:50pm): Project 11
    • Presentation #3 (3:50pm - 4:15pm): Project 12
    Week 16, Dec 2 (Final Project Report Due)
  • Last day for demonstrating demo of your final project
  • Students must submit their final project reports by 11:59pm