Podcast
Questions and Answers
Explain the primary difference in security considerations between application software and system software.
Explain the primary difference in security considerations between application software and system software.
System software's security focus is managing application software, in contrast to application software which handles viruses, trojans, and logic bombs amongst others.
Why is a modern general-purpose operating system required to 'protect' the controlled sharing of its objects?
Why is a modern general-purpose operating system required to 'protect' the controlled sharing of its objects?
To ensure controlled sharing, modern OSs must protect objects from unauthorized access or modification, maintaining system integrity and confidentiality.
What is the main goal of 'protection' in the context of operating systems?
What is the main goal of 'protection' in the context of operating systems?
To prevent intentional or mischievous violations of access restrictions by users, by distinguishing between authorized and unauthorized usage.
List at least three examples of 'protected objects' within an operating system.
List at least three examples of 'protected objects' within an operating system.
Describe the core concept behind security methods in operating systems.
Describe the core concept behind security methods in operating systems.
Explain the primary limitation of physical and temporal separation as security methods within an OS.
Explain the primary limitation of physical and temporal separation as security methods within an OS.
What are the implications of choosing not to protect shared code and data in an OS?
What are the implications of choosing not to protect shared code and data in an OS?
Describe what is meant by the sharing method 'Share via limited access'.
Describe what is meant by the sharing method 'Share via limited access'.
Explain the need for memory protection in a multi-programmed operating system.
Explain the need for memory protection in a multi-programmed operating system.
Explain the purpose of a 'fence' in early operating systems like DOS.
Explain the purpose of a 'fence' in early operating systems like DOS.
What is the improvement achieved by using a 'fence register' over a fixed fence implementation?
What is the improvement achieved by using a 'fence register' over a fixed fence implementation?
What is the primary function of 'relocation' in memory management?
What is the primary function of 'relocation' in memory management?
What is the purpose of having both a 'base register' and a 'bound register' in memory protection?
What is the purpose of having both a 'base register' and a 'bound register' in memory protection?
Explain how the use of 'tagged architectures' can enhance memory protection.
Explain how the use of 'tagged architectures' can enhance memory protection.
In segmentation, how are memory addresses typically represented?
In segmentation, how are memory addresses typically represented?
How does segmentation enable sharing of data and code between different processes or users?
How does segmentation enable sharing of data and code between different processes or users?
What is a major drawback of segmentation that is addressed by paging?
What is a major drawback of segmentation that is addressed by paging?
What is a disadvantage of paging compared to segmentation regarding data protection?
What is a disadvantage of paging compared to segmentation regarding data protection?
In the context of operating systems, what is the role of 'access control'?
In the context of operating systems, what is the role of 'access control'?
Define the 'need to know' principle in relation to domain of protection.
Define the 'need to know' principle in relation to domain of protection.
Explain what is meant by 'domain' in the context of OS security and access control.
Explain what is meant by 'domain' in the context of OS security and access control.
What information is contained in an 'access-right' construct?
What information is contained in an 'access-right' construct?
In practice, how are 'domains', 'subjects', and 'users' typically treated in operating system security discussions?
In practice, how are 'domains', 'subjects', and 'users' typically treated in operating system security discussions?
How can a 'directory' be used to protect objects in an Operating System?
How can a 'directory' be used to protect objects in an Operating System?
What are at least 2 main limitations of using a standard directory for access control?
What are at least 2 main limitations of using a standard directory for access control?
Explain the key difference between traditional 'directory' based access control and an 'Access Control List' (ACL).
Explain the key difference between traditional 'directory' based access control and an 'Access Control List' (ACL).
In an Access Matrix, what do the rows and columns represent?
In an Access Matrix, what do the rows and columns represent?
In an Access Matrix, what does Access(i, j) signify?
In an Access Matrix, what does Access(i, j) signify?
List at least three 'special access rights' and their corresponding function.
List at least three 'special access rights' and their corresponding function.
Explain how an Access Matrix separates the 'mechanism' from the 'policy' of access control.
Explain how an Access Matrix separates the 'mechanism' from the 'policy' of access control.
Describe the role of access modes within the concept of Access Control.
Describe the role of access modes within the concept of Access Control.
Explain the purpose of 'least privilege', and how it relates to enforcement of policies.
Explain the purpose of 'least privilege', and how it relates to enforcement of policies.
What is the result of implementing file naming conventions in an OS?
What is the result of implementing file naming conventions in an OS?
Explain why the OS would need to 'check every access' dynamically.
Explain why the OS would need to 'check every access' dynamically.
Does the Access Matrix support dynamic protection?
Does the Access Matrix support dynamic protection?
Are segments dynamically placed in memory?
Are segments dynamically placed in memory?
Does the OS check addresses with segments? Why?
Does the OS check addresses with segments? Why?
Is segmented memory contiguous?
Is segmented memory contiguous?
Does paging require system memory to be contiguous?
Does paging require system memory to be contiguous?
What is the result of using paging to manage system memory?
What is the result of using paging to manage system memory?
Flashcards
System software
System software
Software responsible for managing application software.
OS object protection
OS object protection
A modern OS protects controlled sharing of objects.
Protection
Protection
Prevents intentional or mischievous access restriction violations.
Protected Objects
Protected Objects
Signup and view all the flashcards
Protection Goal
Protection Goal
Signup and view all the flashcards
Physical Separation
Physical Separation
Signup and view all the flashcards
Temporal Separation
Temporal Separation
Signup and view all the flashcards
Logical Separation
Logical Separation
Signup and view all the flashcards
Cryptographic Separation
Cryptographic Separation
Signup and view all the flashcards
Do not protect
Do not protect
Signup and view all the flashcards
Isolate
Isolate
Signup and view all the flashcards
Share all or share nothing
Share all or share nothing
Signup and view all the flashcards
Share via Limited Access
Share via Limited Access
Signup and view all the flashcards
Limit user of an object
Limit user of an object
Signup and view all the flashcards
Memory Protection
Memory Protection
Signup and view all the flashcards
Fence
Fence
Signup and view all the flashcards
Fence Register
Fence Register
Signup and view all the flashcards
Relocation
Relocation
Signup and view all the flashcards
Base register / Fence registers
Base register / Fence registers
Signup and view all the flashcards
Bound Register
Bound Register
Signup and view all the flashcards
Tagged Architectures
Tagged Architectures
Signup and view all the flashcards
Segmentation
Segmentation
Signup and view all the flashcards
Segments
Segments
Signup and view all the flashcards
Paging
Paging
Signup and view all the flashcards
Particular Mode Access
Particular Mode Access
Signup and view all the flashcards
Subjects
Subjects
Signup and view all the flashcards
Objects
Objects
Signup and view all the flashcards
Access Control Goal
Access Control Goal
Signup and view all the flashcards
Enforce Least Privilege
Enforce Least Privilege
Signup and view all the flashcards
Protection Domain
Protection Domain
Signup and view all the flashcards
Access-right
Access-right
Signup and view all the flashcards
Directory
Directory
Signup and view all the flashcards
Access Control List
Access Control List
Signup and view all the flashcards
Access Matrix
Access Matrix
Signup and view all the flashcards
Study Notes
System Security
- Focuses on protecting the Operating System (OS).
- Includes considerations for file access and user authentication.
- System software manages application software to maintain security.
General Purpose OS
- Modern OSes protect the controlled sharing of objects.
- Objects include hardware and software, each with a unique name.
- Objects are accessed through defined operations.
Protection
- Needed to prevent intentional or mischievous violations of access restrictions.
- Protection-oriented systems distinguish between authorized and unauthorized usage.
- Guarantees program components use system resources consistent with stated policies.
- Provides mechanisms for policy enforcement.
- Application programmers use protection mechanisms to guard resources against misuse.
Protected Objects
- Include memory, shareable I/O devices like disks and printers, programs, and libraries like Dynamic Link Libraries (DLLs).
- Extends to networks and shareable data, such as databases.
- Addresses a problem: ensuring that only authorized processes correctly access objects.
Security Methods
- Protection is based on separation.
- Types of separation include:
- Physical separation: uses different physical hardware for different processes.
- Temporal separation: executes processes at different times.
- Logical separation: creates the illusion that no other processes exist.
- Cryptographic separation: each process encrypts its data and computations.
- Physical and temporal separation do not utilize resources well.
- Cryptographic separation requires too many resources.
Resource Sharing
- Sharing methods include:
- Not protecting at all, relying on temporal separation.
- Isolation: processes are unaware of each other and have their own memory space.
- Sharing all or nothing: the owner declares resources as public or private.
- Sharing via limited access, with the OS checking permissions.
- Limiting user actions with accessed objects, for example, allowing viewing but not printing.
Memory Protection
- A crucial need in a multi-programmed OS.
- Includes protection between the operating system and user programs.
- Also, protection among user programs.
- Can be built into hardware.
Fence
- Employed in single-user OSs like DOS.
- Prevents faulty user programs from affecting memory-resident OS sections.
- Achieved in hardware by placing a "fence" between the OS and user programs.
Fence Register
- Addresses the limitation of fixed memory space in hardware fences.
- Stores the address at the end of the OS.
- Protects the OS but not between user programs.
Relocation
- Like using a fence register, relocation lets OS memory allocation be dynamically changed.
- Involves taking a program written as if it started at address 0 and changing all addresses to reflect the actual address in memory.
- Achieved using a fence register.
- User programs' memory addresses are relative to a "relocation factor."
Bound Registers
- Fence registers act as the lower bound or starting address for user programs, also known as the base register.
- A "bound register" is used to limit the program's upper memory usage.
- Each user program is confined to its address space.
- OS context switching includes switching the base and bound registers.
- Protects users from each other.
Tagged Architectures
- Used when different memory parts need different protection levels.
- Each memory location has extra bits for the OS to identify access rights.
Segmentation
- Process creates address spaces of various sizes, called segments, in a computer system.
- Segmentation is an extension of the base/bound registers.
- Programs are divided into separate pieces.
- This creates a segment address table for each process.
- Segments are addressed by <name, offset> pairs.
- Memory addresses consist of a segment ID and an offset inside the segment.
- Effectively offers an "unlimited" number of base/bound registers.
- Each segment is tagged for different permissions.
Segmentation Details
- A program segment contains main functions, utility functions, and data structures.
- The OS keeps a segment map table for each process, with free memory blocks.
- For each segment, the table stores the start address and length.
- A memory location reference includes a segment identifier and an offset.
Segmentation Features
- Enables segments to be moved and placed in any memory location, even during execution.
- Segments can be moved off main memory when not in use.
- Address references pass through the OS, making protection checks available.
Segmentation Security
- Each address reference has protection.
- Different data items are assigned different protection levels.
- Segments can be shared among users/programs with differing access rights.
- Prevents users from accessing other memory areas as they are invisible.
Paging
- Fixed-size segmentation.
- Programmers don't have to check segment memory size, unlike in segmentation.
- A fault occurs if a program goes beyond its memory boundaries.
- Lacks the flexibility of different protection levels for each segment found in segmentation.
Access Control
- Pertains to protecting files.
- Addresses who can access what objects and how. Basic Concept of Access Control
- A subject can access an object in a specific mode, with only authorized accesses allowed.
- Subjects are human users (or programs running on their behalf).
- Objects are items on which actions are performed.
- Access modes include read, write, modify, execute, etc.
Access Control Principles
- Check every access as user privileges change.
- Enforce least privilege by providing only enough privileges to perform tasks,
- Verify acceptable usage for proper usage, for example, one can view but not edit.
Domain of Protection
- Processes should access only authorized resources.
- They should access only resources needed to complete their tasks (need-to-know principle).
- Limits the damage from faulty processes.
- A process operates within a protection domain that specifies accessible resources.
Domain Structure
- The ability to perform an operation on an object.
- Access-right = <object-name, rights-set>
- Association between process and domain are static or dynamic.
- Domains can be treated as subjects or users in this lecture.
Directory-Based Protection
- A straightforward way to protect objects in an OS.
- A global list managed by the OS that is called a directory which lists file permissions.
- Is easy to implement.
Drawbacks of Directory-Based Protection
- Large multi-user systems need an entry for each user, which is inefficient.
- Revoking access is time-consuming.
- Handling pseudonyms or same-named files shared among users introduces complexity.
Access Control List (ACL)
- Per-object based, not per user.
- Reduced overhead by not requiring entries for every user.
- Generally has default access rights.
Access Matrix
- Represents protection as a matrix.
- Rows represent users (domains).
- Columns represent objects.
- Access(i, j) is the set of operations a process in Domain i can invoke on Object j.
Use of Access Matrix
- A process in Domain Di can only do "op" on Object Oj if "op" is in the access matrix.
- Supports dynamic protection through operations to add/delete access rights.
- Special access rights include "Own" (owner of O), "copy op," "control" (modify access rights), and "transfer" (switch domains).
Access Matrix Design
- Separates mechanism and policy.
- The OS provides the access matrix and rules.
- Ensures authorized agents only manipulate the matrix.
- Sets user policies.
- Determines who can access what objects and how.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.