Explore tens of thousands of sets crafted by our community.
Principles of Secure OS Design
18
Flashcards
0/18
Auditability
The ability to track user actions and system changes is critical for identifying and understanding security breaches. Systems should therefore maintain logs and provide tools for analyzing and monitoring access and transactions.
Open Design
The principle of open design stipulates that the security of an OS should not depend on the secrecy of its implementation or its source code. This allows the design to be tested publicly and improved over time.
Psychological Acceptability
Psychological acceptability, or usability, implies that security mechanisms should not make the OS unwieldy to use to the point that users seek workarounds that could expose the system to vulnerabilities.
Abstraction
Abstraction involves hiding details unnecessary for user or application interaction. By doing this, an OS can keep users and other programs from accessing system internals, thus limiting the opportunity for malicious activity.
Secure Default Settings
Operating systems should be shipped with secure defaults to avoid the common pitfall of insecure initial configurations. This includes default configurations that favor privacy and security, patch levels, and disablement of unnecessary services.
Least Privilege
The principle of least privilege entails that a process should be granted only those permissions that are essential for its function. This reduces the attack surface by limiting the capabilities an attacker can gain from a compromised process, increasing overall system security.
Fail-Safe Defaults
The principle of fail-safe defaults ensures that, by default, access decisions deny by default, and access is granted only when explicit permission is given, minimizing the chance of accidental security breaches.
Trusted Computing Base (TCB)
The Trusted Computing Base includes all the hardware, software, and controls that enforce the security policy. The TCB must be as small and as secure as possible to ensure it doesn’t become a target for attackers.
Modularity
Modularity involves designing the operating system in separate components. This allows each piece to be developed, tested, and secured independently, which can simplify security verification processes and contain failures to individual modules.
Layering
Layering is the concept of structuring an OS in hierarchical layers. Each layer performs a set of related functions and only interacts with the layers directly above and below it, providing a structured approach to security.
Complete Mediation
Complete mediation ensures that every attempt to access every resource is checked against access control mechanisms, preventing unauthorized usage. It’s crucial for an operating system to rigorously enforce access permissions.
Defense in Depth
Defense in depth is a strategy where multiple layers of security controls are placed throughout the system. In OS design, it incorporates access controls, encryption, and intrusion detection measures, among others to protect against a variety of attack vectors.
Economy of Mechanism
Economy of Mechanism suggests that security mechanisms should be as simple as possible. This simplicity aids in avoiding security vulnerabilities, as complex mechanisms can be difficult to understand, implement, and maintain securely.
Least Common Mechanism
The principle of least common mechanism suggests minimizing the amount of mechanism common to more than one user and depended on by all users. This minimizes the chances that a compromise can affect multiple users.
Capability-Based Security
Capability-based security refers to a design where resources are accessed based on capabilities, or tokens of authority, a process has. This can provide finer granularity and control than traditional access control mechanisms.
Security by Design
Security by design is a principle which states that an OS should be designed from the ground up with security in mind, including strict access controls, secure coding practices, and effective isolation between processes.
Separation of Duties
Separation of Duties entails dividing system functions among multiple users or modules to prevent fraud and error. This reduces the risk of a single compromised component jeopardizing the whole system.
Encryption
Encryption in OS design involves coding information to make it unreadable without a decryption key, thereby securing data from unauthorized access and ensuring confidentiality and integrity.
© Hypatia.Tech. 2024 All rights reserved.