Course Description
This course studies security within operating systems. Students will obtain an understanding of design challenges, software mechanisms, and issues affecting operating system security. Students will be able to compare operating systems on their security merits. Case studies will be used throughout the course.
Course Objectives
- Identify secure and unsecure operating system features
- Comparatively evaluate operating system security mechanisms
- Analyze threats to operating system security
- Evaluate trust in operating systems
- Describe access control mechanisms
- Compare key security features in systems such as Unix, Linux, and Windows
- Describe the concept of covert channels
- Describe information flow processes
- Evaluate issues related to operating systems within virtual machines
- Be aware of system-level assurance procedures and guidelines
Week 1
Module: Introduction and Overview
Lecture: Introduction
Outcomes
After completing this module, students should be able to:
- Describe the goals and scope of this class
- Identify basic terms associated with secure operating systems
Module: What Does the OS Do?
Lecture: What Operating Systems Do
Outcomes
After completing this module, students should be able to:
- Describe how the OS works at a high level
- Describe architecturally the structure of a modern computer
- Describe how the OS deals with privilege, process management, and memory management
Week 2
Module: What Does the OS Do? (continued)
Lecture: Operating System Services
Lecture: A Little Architecture
Outcomes
After completing this module, students should be able to:
- List the services the OS provides
- Describe how programs interface with the OS
- List different common kernel designs
- Describe ACL techniques in the OS
- Explain how the OS manages memory
Week 3
Module: The OS API and Synchronization
Lecture: The Operating System
Outcomes
After completing this module, students should be able to:
- Describe the Intel Ring Architecture
- Describe how programs interact with the OS
- Explain why synchronization is such a different problem, and describe different synchronization solutions
Week 4
Module: How the OS Can Fail
Lecture: How Things Go Wrong
Lecture: Where Are We?
Outcomes
After completing this module, students should be able to:
- List the different types of vulnerability that Linux has
- Describe the shatter attack in Windows, and apply this general principle more broadly
- Describe the role of hardware in OS security
- Explain return-to-user attacks, and countermeasures
Week 5
Module: Multics
Lecture: Multics
Outcomes
After completing this module, students should be able to:
- Relate the history of Multics
- Describe the architecture used in a Multics system
- Describe rings/bracks and the gatekeeper in Multics
Module: SCOMP
Lecture: SCOMP
Outcomes
After completing this module, students should be able to:
- Place SCOMP in a historical perspective
- Describe how SCOMP improved on Multics
- Describe how the SCOMP security features worked together to provide security
Week 6
Module: Capability-Based Security
Lecture: Capability-Based Systems
Outcomes
After completing this module, students should be able to:
- Describe what a capability-based system is
- Enumerate the pros and cons of capability-based security
Module: Linux Security
Lecture: Linux Security Features
Outcomes
After completing this module, students should be able to:
- Describe the security features of the stock Linux operating system
Week 7
Module: SELinux
Lecture: SELinux
Outcomes
After completing this module, students should be able to:
- Compare Linux to the features provided by SELinux
- Describe the limitations of SELinux
- Put Linux security in some historical context
Module: Windows Security
Lecture: Windows Security – Overview
Outcomes
After completing this module, students should be able to:
- Describe how Windows developed from DOS
- Describe the security mechanisms a modern Windows machine has in place
- Compare Linux security to Windows security
Week 8
Module: Looking to the Future
Lecture: The Future
Outcomes
After completing this module, students should be able to:
- Describe the “trajectory” of OS security
- Reason about likely outcomes of new security features and new threats
The course description, objectives and learning outcomes are subject to change without notice based on enhancements made to the course. October 2013