Secure Autonomous Systems

Instructor: Prof. Sibin Mohan, The George Washington University

CSCI 6907/3907 | Spring 2024 | TR 12:45PM - 02:00PM ET | TOMP 310

This course will focus on the state-of-the-art on security for autonomous and cyber-physical systems. The goal is to provide a deep and broad understanding of the design of such systems as they interact with the real world. Autonomous cars, unmanned aerial/ground/water vehicles, robots, etc. are examples of systems that we intend to explore.


Smart City with Autonomous Systems


We will cover topics related to:

Hands-on exercises will explore real hardware rovers as well known, open-source simulation and control platforms such as:

The course will also include an exploration of the state-of-the-art research papers in these domains.
Note: this student-led component is a major component of this course, i.e., reading papers, critiquing them and learning to present work by other researchers.

Prerequisites: students should be familiar with one or more modern programming languages such as Python, C++, etc. The hands-on machine problems will involve the setting up of open-source simulation frameworks (detailed instructions will be provided).


Course Staff

Course Details

[* Please message ahead of time and set up alternate slot in case of conflicts for office hours.]

Note: Make sure that you're properly preparing and presenting yourself at office hours!

Communication

We will use Discord for all course related communications.

Target Audience

Graduate and undergraduate students in CS, ECE, Robotics, AI and even other departments who want to explore topics related to the security, privacy and ethics of autonomous and cyber-physical systems.

Covid

If you suspect you have been exposed to someone with Covid, or are feeling sick yourself, please let me know and I will provide a Zoom link for you to attend remotely. And get some rest!

Grading Criteria

In-class participation 5 %
MP1 [V2X/VEINS] ** 10 %
MP2 [UAV Security/Gazebo] ** 10 %
MP3 [V2X Attack/Leaderboard/VEINS] ** 20 %
MP4 [Hardware Rover Security] ** 25 %
Paper Reading/Critique ++ 30 %

Important Note about Grading:
1. We use automated grading scripts. If your code does not pass these scripts, then you will be penalized accordingly.

** 2. [MPs] After an MP submission deadline has passed, we will randomly select a group of students who must show up at TA office hours within 7 days and answer oral questions about their submission. If any selected student either (a) fails to show up or (b) cannot answer the oral questions satisfactorily, then they will receive a failing grade for that assignment if that is the first such failure! Any subsequent failures of the oral exam will result in the student being reported for academinc integrity violations. This is regardless of their score from the grading scripts.

++ 3. [Paper Critique] while the primary goal is learning to read, critique and present research papers, it is just as important to participate as an audience member. This involves not just participating in the class discussions, but also reading the paper ahead of time! We will set up a mechanism (a Google form) for students to submit theor critiques before class. These submissions will be counted towards the paper critique grade (`grade_p') as follows:

Conversion from numerical to letter grade is as follows:

6907 3907
95 - 100 A 90 - 100 A
90 - 94 A- 86 - 90 A-
87 - 89 B+ 82 - 84 B+
83 - 86 B 78 - 81 B
80 - 82 B- 75 - 77 B-
77 - 79 C+ 72 - 74 C+
73 - 76 C 68 - 71 C
70 - 72 C- 65 - 67 C-
67 - 69 D+ 62 - 64 D+
60 - 66 D 55 - 61 D
50 - 59 D- 45 - 54 D-
Below 50: F Below 45: F

Note: ONLY talk about your grade with Prof. Sibin Mohan. None of the other instructional staff have access to grades or the ability to modify them.

In Class Participation

I encourage you to ask questions and ask often. Participate in discussions as well. Take notes since that helps with the learning.

Schedule

Week Date Topic Links
1 Jan 16, 2024
Class canceled due to inclement weather!
Jan 18, 2024
  1. Discussion on course syllabus and requirements
  2. Intro to Autonomy, Cyber-Physical Systems and Real-Time
    Systems.
  • Slides: [1]
  • Slides: [2]
2 Jan 23, 2024
  1. Functional Design of Autonomous Systems
  2. Additional Information on the SAE J3016 Standard
  • Slides: [1]
  • SAE J3016: [1], [2]
Jan 25, 2024
  1. Sensors and Sensor Abstractions
  2. Additional Information:
    • mmwave standard
    • sliding window algorithm
    • convolutional neural networks (CNNs)
  • Slides: [1]
  • Links:
    • mmwave: [1]
    • sliding: [1]
    • CNNs: [1], [2], [3], [4],
    • [4]
3 Jan 30, 2024
  1. YOLO and Stereo Vision
  2. Additional Information:
    • YOLO Original Paper
    • YOLO Algorithm
    • "DPATCH: An Adversarial Patch Attack
      on Object Detectors" by Liu et al.
    • Stereo Vision/Pseudo-LiDar
    • Epipolar Geometry
  • Slides: [1]
  • Links:
    • YOLO Paper: [1]
    • YOLO: [1]
    • YOLO Attack Paper: [1]
    • Pseudo-Lidar: [1],
    • Epipolar: [1],
Jan 31, 2024
Machine Problem MP I-A:
Introduction to VEINS/FMD
Due Date: Feb 14, 2024 [6:00 PM ET]
Feb 01, 2024
  1. Sensor Fusion
  2. Additional Information:
    • Sensor Fusion Classes
    • Example: Camera+LiDar
    • Homogenous coordinates
    • "3D Bounding Box Estimation
      Using Deep Learning and Geometry"
      by Mousavian et al.
  • Slides: [1]
  • Links:
    • Classes: [1]
    • Example: [1]
    • Homogenous: [1],
    • 3D: [1]
4 Feb 06, 2024
  1. Kalman Filters
  2. Additional Information:
    • Kalman Filter in Pictures
    • Kalman Filter Tutorials
    • Kalman Filter using an Example
    • Kalman Filter with LiDar and Radar
    • Kalman Filter with Code
    • Extended Kalman Filter Video
    • Some papers that use Kalman Filters
  • Slides: [1]
  • Links:
    • KF in pics: [1]
    • KF Tutorials: [1], [2]
    • KF Example: [1]
    • KF with LiDar/Radar: [1],
    • KF with Code: [1],
    • EKF Video: [1
    • KF Papers: [1], [2]
Feb 08, 2024
  1. SLAM
  2. Additional Information:
    • SLAM for Dummies
    • MATLAB SLAM Overview
    • Video: SLAM+Pose Graph Estimation
    • Implement SLAM
  • Slides: [1]
  • Links:
    • Dummies: [1]
    • MATLAB Overview: [1]
    • SLAM+Pose Video: [1],
    • Implementation: [1]
5 Feb 13, 2024
  1. Planning
  2. Additional Information:
    • Path planning for self driving cars
    • Path planning, discussion
      about algorithm classes
    • Moral Machines for AI Ethics
  • Slides: [1]
  • Links:
    • Path Planning: [1], [2]


    • Moral Machines: [1]
Feb 15, 2024
  1. Planning Algorithms
  2. Additional Information:
    • "A Survey of Path Planning Algorithms
      for Autonomous Vehicles", Ming et al.
    • Wiki articles on:
      A*, D*, RRT, Simulated Annealing
    • A nice video on A* by Numberphile
    • Motion Planning
  3. Autonomous Engineer Mind Map.
  • Slides: [1]
  • Links:
    • Survey: [1]

    • Algorithms: [1], [2], [3], [4]

    • Numberphile A*: [1]
    • Motion planning: [1]
  • Mind map & video: [1], [2]
Feb 19, 2024
Machine Problem MP I-B:
V2X Misbehavior Detectors
Due Date: Mar 04, 2024 [6:00 PM ET]
6 Feb 20, 2024
  1. Security Classification
  2. How to crititique papers
  • Slides: [1]
  • Paper critique: [1]
Feb 22, 2024
  1. ScheduLeak: “A Novel Side-Channel
    in Real-Time Scheduler” by Chen at al.
  2. Rate Monotone Scheduler
  3. Additional Information:
    • Original RM paper: "Scheduling
      Algorithms for Multiprogramming
      in a Hard Real-Time environment"
      by Liu and Layland.
    • A Schedule Visualizer
  • Slides: [1]
  • SchedLeak Paper:[1]
  • RM Scheduler: [1]
  • Links:
    • Liu Layland paper: [1]



    • Visualizer: [1]
Feb 22, 2024
In-class Exercise (extra credit):
Solution for ScheduLeak attack.
Due Date: Feb 27, 2024 [6:00 PM ET]
7 Feb 27, 2024
  1. Student Presentations:
    Solutions to prevent ScheduLeak attack.

Policies

Expectations and Responsibilites

Student Responsibilites: Students must,

We will work with you to come up with a plan to be successful in the class.

We also need your feedback for parts of the class that aren't working for you. We do our best in running the class, but certainly make mistakes, or overlook different aspects. Class evaluations are of limited use since they only are given at the end of the class. Please provide feedback using the linked feedback form on Piazza.

Professor and Instructional Staff Responsibilities

You should depend on the instructional staff (including Sibin) for the class to:

These can be remembered as "we're here to make it clear what you should do, what you should know, and what to do if you don't feel like you know what you're supposed to do or know".

If at any point, you have concerns about any of these, of if we're dropping the ball on any of them, please let us know and we'll do better.

There are trade-offs made in the class (for example, MPs are not formally specified as I don't want them to be 50 pages each), but you always encouraged to ask questions and clarify.

Further, it is our intent that students from all diverse backgrounds and perspectives be well-served by this course, that students’ learning needs be addressed both in and out of class, and that the diversity that the students bring to this class be viewed as a resource, strength and benefit.

It is our intent to present materials and activities that are respectful of: gender identity, sexuality, disability, age, socioeconomic status, ethnicity, race, nationality, religion, and culture.

Your suggestions are encouraged and appreciated. Please let us know ways to improve the effectiveness of the course for you personally, or for other students or student groups.

Late Submissions for MPs

Submission/due dates are announced along with the MP descriptions.

You have a total of 3 "grace" days to use during the term. You can use those to submit whatever assignment(s) you want late. E.g. you can turn in one assignment 2 days late, the other 1 day late. Or turn in 3 assignments, each 1 day late. If you want to use these late days, indicate so in the comment box when you submit it.

You start losing 20% of the points per day after the grace days you use. E.g., if the assignment is due on Tuesday, and you turn it in on Wednesday without saying anything, you lose 20 points. If you use 1 grace day, and turn it in on Wednesday, you don't lose any points; but if you turn it in on Thursday, your final grade will be Your Earned Grade - 20. On Friday, it will be Your Earned Grade - 40.

An assignment can be at most three days late: so in our example, if you turn in the assignment Saturday, the grade is 0.

The point of this policy is to balance the need to be fair to those who turn in their assignments on time, with the need to recognize that sometimes, stuff happens and you just can't do all that's expected of you. Why have deadlines at all? Because almost everything in life does, and this is a small-stakes environment to practice that. Also, we can't grade everything at once.

Collaboration, the Honor Code and Cheating

You are encouraged to work together. You may discuss the MPs with other people to understand the problem and reach a solution. However, each student/group must write down the solution independently, without referring to written notes or code from others. Hence, you must understand the solution well enough to discuss it yourself. In addition, each student/group must explicitly mention the names of the people with whom they collaborated.

If I suspect cheating##, I might have the student(s) come and answer questions in my office. If my suspicions are confirmed, I will consider a range of possibilities (depending on the seriousnes of the offence) that includes any/all of the following:

  1. a 0 on that MP/section,
  2. an F for the entire course and
  3. report the student to for an academic integrity violation.
(## we will use a number of methods to detect cheating that includes, automated software, eyeballing the code, talking to the student, etc.)

The purpose of problem sets in this class is to help you think about the material, not just give us the right answers. You are encouraged to use online resources for learning more about the material covered in class; however, you should not look for or use found solutions to questions in the problem sets. Specifically, you must not look at any code that has been created to solve the assignment, including solutions found on the internet to questions in the problem sets, code created by a student in a previous class or code created by a current classmate. (Though frankly, I seriously doubt you'll find anything, I regularly change the assignments).

ChatGPT, Github CoPilot and Other Code Generation Tools

The use of ChatGPT, GitHub CoPilot and any/all other code generation tools (that currently exist or will be developed in the future) is expressly forbidden!

If any student is found using such tools then it will be considered a violation of academic integrity and reported appropriately.

Academic Integrity

Academic Integrity is an integral part of the educational process, and GW takes these matters very seriously. Violations of academic integrity occur when students fail to cite research sources properly, engage in unauthorized collaboration, falsify data, and in other ways outlined in the Code of Academic Integrity. Students accused of academic integrity violations should contact the Office of Academic Integrity to learn more about their rights and options in the process. Outcomes can range from failure of assignment to expulsion from the University, including a transcript notation. The Office of Academic Integrity maintains a permanent record of the violation.

Familiarize yourself with the standards set forth in the GWU Code of Student Conduct and specifically the University’s “Guide of Academic Integrity in Online Learning Environments". If there is any question about whether an act constitutes academic misconduct, it is your responsibility to seek clarification and approval from the instructor prior to acting. When in doubt, ask, or don't do it.

Contact information:

Absence Policy

If you miss a class, for whatever reason, you are still responsible for that class' material. Go through the lectures, consult the scribe notes, come to office hours (in that order), and talk to your fellow students, to learn the material.

Grade Review Policy

You have one week after a grade is released to ask us questions about it and seek a correction. After the week has passed, the grade is finalized. When releasing a grade, we may also post comments where appropriate, explaining where you lost points, made mistakes, etc.

In case you are seeking a correction to the grade, you need a specific reason: e.g., your reasoning on MP 1.a was essentially correct but your written explanation, you now realize, was ambiguous; our comments say that your model had errors and I couldn't run it, but you can run it fine on your machine; etc. I cannot accommodate general requests that are a variation on "I think my grade was too low". Why do you think that? Based on our discussion, we might increase the grade, decrease it, or leave it as is.

Of course, you can stop by anytime during the term to ask questions about any part of the material. The one-week deadline applies to grade-specific questions.

Use of Electronic Course Materials and Class Recordings

Students are encouraged to use electronic course materials, including recorded class sessions, for private personal use in connection with their academic program of study. Electronic course materials and recorded class sessions must not be shared and must not be used for non-course related purposes unless express permission has been granted by the instructor. Students who impermissibly share any electronic course materials are subject to discipline under the Student Code of Conduct. Please contact the instructor if you have questions regarding what constitutes permissible or impermissible use of electronic course materials and/or recorded class sessions. Please contact Disability Support Services if you have questions or need assistance in accessing electronic course materials.

Academic support

Writing Center

GW’s Writing Center cultivates confident writers in the University community by facilitating collaborative, critical, and inclusive conversations at all stages of the writing process. Working alongside peer mentors, writers develop strategies to write independently in academic and public settings.  Appointments can be booked online at: gwu.mywconline.

Academic Commons

Academic Commons provides tutoring and other academic support resources to students in many courses. Students can schedule virtual one-on-one appointments or attend virtual drop-in sessions. Students may schedule an appointment, review the tutoring schedule, access other academic support resources, or obtain assistance at academiccommons.gwu.ed.

COVID-Related Topics

The university's COVID-19 Safety and Success website serves as the primary communication channel for the GWU regarding COVID-19 logistics and classroom guidelines.

Face Coverings

The university has a requirement to use a face covering when in indoor spaces in order to contribute to the health and safety of the GWU community during the ongoing COVID-19 pandemic. Accordingly, you are expected to use a face covering when attending class, including when you speak. I will do the same.

Acceptable face coverings include:

If you don't have your own, face coverings are available at various campus locations.

Requests for exemption from wearing a face covering in indoor spaces require prior approval. Please follow this link for more information.

Students with Disabiities [202-994-8250]

Accommodations for students with disabilities are determined and approved by Disability Support Services(DSS). If you, as a student, feel that you need accommodations but have not obtained approval please contact DSS immediately at 202-994-8250 or at https://disabilitysupport.gwu.edu. DSS notifies students and faculty members of approved academic accommodations and coordinates implementation of those accommodations. While not required, students and faculty members are encouraged to discuss details of the implementation of individual accommodations.

Ethical and Respectful Behavior

We expect all students to act in an respectful and ethical way, both with respect to the treatment of their peers in the classroom during discussion but also in the design and execution of their course projects. Actions should meet the expectations of ethical research and follow the norms and proper behavior of the George Washington University community. We strive for an inclusive classroom, which includes but is not limited to anti-racism, anti-sexism, accessibility, LGBTQ+ inclusivity. If you feel like you are unable to use inclusive language and behave in a non-discriminatory way, please drop the class.

University policy on observance of religious holidays

In accordance with University policy, students should notify faculty during the first week of the semester of their intention to be absent from class on their day(s) of religious observance. For details and policy, see “Religious Holidays”.

Reach Out for Success/Wellness

University students encounter setbacks from time to time. If you encounter difficulties and need assistance, it's important to reach out. Consider discussing the situation with an instructor or academic advisor. Learn about resources that assist with wellness and academic success at Health and Wellness Center. If you or someone you know are in immediate crisis, please contact one of the following resources immediately:

Safety and Security