COP-6938 Special Topics: Software Supply Chain Security
Not a final syllabus. Contents still under development and may change.
Table of Contents
Course Details
| Course | COP-6938 Special Topics: Software Supply Chain Security |
| School | University of Central Florida |
| Semester | Spring 2027 |
| Section | 001 |
| Prerequisites | None |
| Lectures | Mondays and Wednesdays, 12:00–13:15, 01/11–04/26 (inclusive) |
| Location | BA1-O115 |
| Final | TBD |
| Instructor | Paul Gazzillo paul.gazzillo@ucf.edu |
Office hours
| Date | Day | Time | Location |
|---|---|---|---|
| 01/18–04/26 | Monday | 13:15–14:00 | HEC-239 |
| 01/18–04/26 | Wednesday | 11:15–12:00 | HEC-239 |
| 01/18–04/26 | Wednesday | 13:15–14:00 | HEC-239 |
Office hours will not be held on days on when there are no classes or campus is closed.
Schedule
| # | Date | Topic | Readings Due Dates | Project Due Dates |
|---|---|---|---|---|
| 1 | 01/11 | Introduction | ||
| 2 | 01/13 | DevOps | ||
| 01/18 | (no class) | |||
| 3 | 01/20 | Paper Reading | ||
| 4 | 01/25 | Planning | ||
| 5 | 01/27 | Quiz | ||
| 6 | 02/01 | Software Supply Chain | ||
| 7 | 02/03 | Paper Reading (SoK) | ||
| 8 | 02/08 | Setup | ||
| 9 | 02/10 | |||
| 10 | 02/15 | Paper Reading | ||
| 11 | 02/17 | |||
| 12 | 02/22 | Quiz | Example Project | |
| 13 | 02/24 | Software Development Pipelines | Paper Reading | |
| 14 | 03/01 | |||
| 15 | 03/03 | |||
| 03/08 | Existing Projects | |||
| 03/15 | (no class) | |||
| 16 | 03/17 | (no class) | ||
| 17 | 03/22 | Paper Reading (SoK) | ||
| 18 | 03/24 | |||
| 19 | 03/29 | Paper Reading | ||
| 20 | 03/31 | Quiz | ||
| 21 | 04/05 | Configurability | Attack Injection | |
| 22 | 04/07 | Paper Reading | ||
| 23 | 04/12 | |||
| 24 | 04/14 | Research Paper Presentations | Presentation Reading | |
| 25 | 04/19 | Presentation Reading | ||
| 26 | 04/21 | Presentation Reading | ||
| 27 | 04/26 | Presentation Reading | Something New | |
| Final | TBD | (TBD–TBD) BA1-O115 | Presentation |
Assignments
| Assignment | Points |
|---|---|
| Readings | 14 |
| Quizzes | 18 |
| Project Planning | 2 |
| Project Implementation | 24 |
| Project Presentation | 12 |
| Paper Presentation | 10 |
| Audience Presentation Reading | 10 |
| Attendance and Participation | 10 |
| TOTAL | 100 |
Readings
There will be several readings throughout the semester, including reports, blog posts, taxonomies, and academic papers. The assigment will include submitting a brief summary.
Academic Paper Reading and Summary Guidelines
When reading the papers, keep the follow questions in mind:
- What is the problem and why does it matter?
- What is the solution and how is it new/different?
- What are the contributions and limitations?
For the summary of each paper, write one concise review paragraph:
- A one sentence summary
- Key strengths and weaknesses
- Anything else important to you
(Adapted from Robert Grimm's Honors OS course.)
Please see these links for more advice on reading and reviewing academic papers.
Quizzes
There will be three quizzes at the end of the sections on DevOps, Software Supply Chain, and Software Development Pipelines. These will be in-person.
Project
In the project, you will architecture and deploy a complete development pipeline system and inject supply chain and pipeline attacks into example projects running the pipeline.
Only create attacks for your own project on your own environment. Do not deploy any real attacks to other projects.
Project Planning
Create a collaborative document, shared with the instructor, that describes the software supply chain and DevOps technology and platforms you will be using for your project. Be sure that it is comprehensive, covering, at a minimum, the following technologies. Be sure that you account for any infrastructure or accounts you will need.
- Choose a version control system
- Choose a pipeline automation system
- Choose technologies for each phase
- Bootstrapping and configuration
- Package management
- Build automation
- Test automation
- Installation and/or deployment automation
Use this document to track the progress of your project with chronologically-ordered journal entries.
Project Implementation
- DevOps Setup
- Setup your DevOps environments, including version control, pipeline automation services, build automation, test automation, installation/deployment automation, etc.
- Example Project
- Create an example project that exercises each part of your DevOps toolchain and pipeline.
- Make sure each phase is being exercised, e.g., boostrapping/configuration, dependencies, building, testing, installation/deployment, and that the full pipeline itself is working as expected
- Provide some configurability, e.g., target multiple platforms, multiple configuration options, alternative package support, etc.
- Existing Projects
- Pick a few existing real-world software projects that use a similar DevOps toolchain/pipeline
- Clone them into your own DevOps environment (do not make changes, pull requests, etc., to other people's projects)
- Demonstrate the pipeline operating correclty in your DevOps environment
- Attack Injection
- Pick a few known software supply chain and/or pipeline poisoning attacks from class or elsewhere
- Inject them into your example project and (cloned) existing projects (only modify your own project, do not make pull requests or any interaction with other people's projects)
- Demonstrate the effect of the attack
- Something New
Examples:
- New attack
- Attack variation
- Literature summary
- Technology capability summary
- Defenses
- Automated testing/injection
- Automated defense
- (Propose something else)
Project Presentation
Create an approximately 10 minute presentation that overviews and demonstrates each component of the project implementation and prepare for questions.
Paper Presentations
For the last two weeks of the semester, students will present research papers and field questions from the rest of the class.
Audience Presentation Reading
For each student presentation, the rest of the class will read the abstract and introduction of the paper and prepare several questions to ask the student presenter.
Attendance and Participation
Attendance will be taken each class, except the first week, with several classes dropped. Students will be excused according to university policy, which will not count against their grade.
Participation in the class will also be graded.
Course Information
Description
Foundations of software supply chain security, real-world examples of attacks, software engineering practices and tools, defenses, analysis of development automation, recent and historical research.
Rationale
This special topics course is addressing a timely and important topic for both researchers and practitioners in security and software engineering. The security software supply chain has become a problem of national security. For instance, a 2021 executive order started the process of standardizing software supply chain management via NIST and NTIA. Recent, high-profile attacks on the supply chain, such as the SolarWinds and XZ Util backdoors, affected or endangered thousands of high-profile stakeholders. This course will introduce students to the foundations of the software supply chain, practices for securing it, and research activities that advance the state of the art.
Core Policy Statements
Academic Integrity
The Center for Academic Integrity (CAI) defines academic integrity as a commitment, even in the face of adversity, to five fundamental values: honesty, trust, fairness, respect, and responsibility. From these values flow principles of behavior that enable academic communities to translate ideals into action. http://academicintegrity.org/
UCF Creed: Integrity, scholarship, community, creativity, and excellence are the core values that guide our conduct, performance, and decisions.
- Integrity: I will practice and defend academic and personal honesty.
- Scholarship: I will cherish and honor learning as a fundamental purpose of my membership in the UCF community.
- Community: I will promote an open and supportive campus environment by respecting the rights and contributions of every individual.
- Creativity: I will use my talents to enrich the human experience.
- Excellence: I will strive toward the highest standards of performance in any endeavor I undertake.
The following definitions of plagiarism and misuse of sources come from the Council of Writing Program Administrators http://wpacouncil.org/node/9 and have been adopted by UCF's Department of Writing & Rhetoric.
Plagiarism
In an instructional setting, plagiarism occurs when a writer deliberately uses someone else's language, ideas, or other original (not common-knowledge) material without acknowledging its source. This definition applies to texts published in print or on-line, to manuscripts, and to the work of other student writers.
Misuse of Sources
A student who attempts (even if clumsily) to identify and credit his or her source, but who misuses a specific citation format or incorrectly uses quotation marks or other forms of identifying material taken from other sources, has not plagiarized. Instead, such a student should be considered to have failed to cite and document sources appropriately.
Responses to Academic Dishonesty, Plagiarism, or Cheating
UCF faculty members have a responsibility for your education and the value of a UCF degree, and so seek to prevent unethical behavior and when necessary respond to infringements of academic integrity. Penalties can include a failing grade in an assignment or in the course, suspension or expulsion from the university, and/or a "Z Designation" on a student's official transcript indicating academic dishonesty, where the final grade for this course will be preceded by the letter Z. For more information about the Z Designation, see http://goldenrule.sdes.ucf.edu/zgrade.
For more information about UCF's Rules of Conduct, see http://www.osc.sdes.ucf.edu/.
In-Class Recording Policy
Outside of the notetaking and recording services offered by Student Accessibility Services, the creation of an audio or video recording of all or part of a class for personal use is allowed only with the advance and explicit written consent of the instructor. Such recordings are only acceptable in the context of personal, private studying and notetaking and are not authorized to be shared with anyone without the separate written approval of the instructor.
Course Accessibility Statement
The University of Central Florida is committed to providing access and inclusion for all persons with disabilities. This syllabus is available in alternate formats upon request. Students with disabilities who need specific access in this course, such as accommodations, should contact the professor as soon as possible to discuss various access options. Students should also connect with Student Accessibility Services (Ferrell Commons, 7F, Room 185, sas@ucf.edu, phone (407) 823-2371). Through Student Accessibility Services, a Course Accessibility Letter may be created and sent to professors, which informs faculty of potential access and accommodations that might be reasonable.
Campus Safety Statement
Emergencies on campus are rare, but if one should arise in our class, we will all need to work together. Everyone should be aware of the surroundings and familiar with some basic safety and security concepts.
- In case of an emergency, dial 911 for assistance.
- Every UCF classroom contains an emergency procedure guide posted on a wall near the door. Please make a note of the guide's physical location and consider reviewing the online version at http://emergency.ucf.edu/emergency_guide.html.
- Familiarize yourself with evacuation routes from each of your classrooms and have a plan for finding safety in case of an emergency. (Insert class-specific details if appropriate)
- If there is a medical emergency during class, we may need to access a first aid kit or AED (Automated External Defibrillator). To learn where those items are located in this building, see http://www.ehs.ucf.edu/AEDlocations-UCF (click on link from menu on left). (insert class specific information if appropriate)
- To stay informed about emergency situations, sign up to receive UCF text alerts by going to my.ucf.edu and logging in. Click on "Student Self Service" located on the left side of the screen in the tool bar, scroll down to the blue "Personal Information" heading on your Student Center screen, click on "UCF Alert", fill out the information, including your e-mail address, cell phone number, and cell phone provider, click "Apply" to save the changes, and then click "OK."
- If you have a special need related to emergency situations, please speak with me during office hours.
- Consider viewing this video (https://youtu.be/NIKYajEx4pk) about how to manage an active shooter situation on campus or elsewhere.
Deployed Active Duty Military Students
If you are a deployed active duty military student and feel that you may need a special accommodation due to that unique status, please contact your instructor to discuss your circumstances.