Introduction to Cyber-Physical Systems Security (OMSCS 6263, OMSCY 8813) - Spring 2020

Meeting times / place:

When: Up to you!

Where: All over the world!


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

Teaching Assistant: Sreeramamurthy Tripuramallu
Email stripuramallu3@gatech.edu

Teaching Assistant: John Mcclenny
Email jmcclenny3@gatech.edu

Teaching Assistant: Nathan Greer
Email nategreer@gatech.edu

Teaching Assistant: Edward Serzo
Email eserzo@gatech.edu

Teaching Assistant: Michael Denny
Email mdenny7@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 three 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

Text three: Optional

    Hacking Exposed Industrial Control Systems: ICS and SCADA Security Secrets & Solutions (1st Edition), by Clint Bodungen, Bryan Singer, Aaron Shbeeb, Kyle Wilhoit, and Stephen Hilt, ISBN: 978-1259589713

Grading
Paper Presentation 10%
Mini Project #1 20%
Mini Project #2 20%
Mini Project #3 10%
Mini Project #4 10%
Midterm Exam 15%
Final Exam 15%
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 video and post its YouTube link on piazza. Other students can watch the videos and ask questions about the presentations. 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 (around) 10 presentations in each week. In order to get the full credit of this section, each student should ask at least three questions from the other presentations as well as preparing his/her own presentation. You will need to submit your presentation along with your slides and the chosen paper at the end of the semester. It is the students' responsibility to determine if their presentation has been chosen by another student. Choosing repetitive topics will lead to zero points in this assignment.


Exams, Makeup Exams, and Incompletes:
All exams are closed book. However, during exam 1, students can bring a single-sided (one side must be blank), 8.5 x 11, handwritten note sheet. During the final exam, students can bring two single-sided (one side of each paper must be blank, or one double-sided sheet), 8.5 x 11, handwritten note sheets. 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, January 6

Topic(s)/Lecture(s) to watch:

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

Required Readings/Activities:

  • None

Recommended Readings/Activities:

Week 2, January 13

Topic(s)/Lecture(s) to watch:

  • L3 - Background - Networking
  • L4 - Background - Information Security
  • L5 - Background - Control Systems

Required Readings/Activities:

  • None

Recommended Readings/Activities:

  • None
Week 3, January 20

Topic(s)/Lecture(s) to watch:

  • L6 - Industrial Networks

Required Readings/Activities:

  • Knapp and Langill (Chapters 1, 2)

Recommended Readings/Activities:

  • None
Week 4, January 27

Topic(s)/Lecture(s) to watch:

  • L7 - Industrial Cyber Security History and Threats

Required Readings/Activities:

  • Knapp and Langill (Chapters 3)

Recommended Readings/Activities:

  • None
Week 5, February 3

Topic(s)/Lecture(s) to watch:

  • L8 - Introduction to Industrial Control Systems And Operations

Required Readings/Activities:

  • Knapp and Langill (Chapters 4)

Recommended Readings/Activities:

  • None
Week 6, February 10

Topic(s)/Lecture(s) to watch:

  • L9 - Ladder Logic Demo

Required Readings/Activities:

  • None

Recommended Readings/Activities:

  • Various ladder logic tutorials on the web
Week 7, February 17

Topic(s)/Lecture(s) to watch:

  • L10 - Industrial Network Design and Architecture

Required Readings/Activities:

  • Knapp and Langill (Chapters 5)

Recommended Readings/Activities:

  • None
Friday, February 21th, 6pm Eastern Standard Time - Monday, February 24th, noon Eastern Standard Time

Midterm Exam You will have 50 minute window to take the test

Week 8, February 24

Topic(s)/Lecture(s) to watch:

  • L11 - Industrial Network Protocols

Required Readings/Activities:

  • Knapp and Langill (Chapters 6)

Recommended Readings/Activities:

Week 9, March 2

Topic(s)/Lecture(s) to watch:

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

Required Readings/Activities:

  • Knapp and Samani (Chapters 1, 2)

Recommended Readings/Activities:

  • None
Week 10, March 9 AND Week 11, March 16

Topic(s)/Lecture(s) to watch:

  • L13 - Hacking Industrial Control Systems

Required Readings/Activities:

Recommended Readings/Activities:

    Week 12, March 23 AND Week 13, March 30

    Topic(s)/Lecture(s) to watch:

    • L14 - Securing Industrial Control Systems

    Required Readings/Activities:

    Recommended Readings/Activities:

    • Specification-based IDS
    Week 14, April 6

    Topic(s)/Lecture(s) to watch:

    • L15 - Privacy in Cyber-Physical Systems

    Required Readings/Activities:

    Recommended Readings/Activities:

    Week 15, April 13

    Topic(s)/Lecture(s) to watch:

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

    Required Readings/Activities:

    Recommended Readings/Activities:

    • None
    Friday, April 24th, 6pm Eastern Standard Time - Monday, April 27th, noon Eastern Standard Time

    FINAL EXAM You will have 50 minute window to take the test