Domain 3: Security Architecture and Engineering Flashcards
System architecture
System architecture is a formal tool used to design computer systems in a manner that ensures each of the stakeholders’ concerns is addressed.
What makes up a system architecture?
A system’s architecture is made up of different views, which are representations of system components and their relationships.
Each view addresses a different aspect of the system (functionality, performance, interoperability, security).
ISO/IEC/IEEE 42010
ISO/IEC/IEEE 42010 is an international standard that outlines how system architecture frameworks and their description languages are to be used.
What are the components of a CPU?
A CPU contains a control unit, which controls the timing of the execution of instructions and data, and an ALU, which performs mathematical functions and logical operations.
What do memory managers do?
Memory managers use various memory protection mechanisms:
- Base (beginning) and limit (ending) addressing
- Address space layout randomization
- Data execution prevention.
What kind of addressing do operating systems use?
Operating systems use the following memory schemes:
- Absolute (hardware addresses)
- Logical (indexed addresses)
- Relative address (indexed addresses, including offsets)
How do you address buffer overflow vulnerabilities?
Buffer overflow vulnerabilities are best addressed by implementing bounds checking.
Garbage collector
A garbage collector is a software tool that releases unused memory segments to help prevent “memory starvation.”
Why are there different processor families?
Different processor families work within different microarchitectures to execute specific instruction sets.
Why were early operating systems considered “monolithic”?
Early operating systems were considered “monolithic” because all of the code worked within one layer and ran in kernel mode, and components communicated in an ad hoc manner.
Operating system architectures
Operating systems can work within the following architectures:
- Monolithic kernel
- Layered
- Microkernel
- Hybrid kernel.
Mode transition
Mode transition is when a CPU has to switch from executing one process’s instructions running in user mode to another process’s instructions running in kernel mode.
Ringed architecture
CPUs provide a ringed architecture, which operating systems run within. The more trusted processes run in the lower-numbered rings and have access to all or most of the system resources. Nontrusted processes run in higher-numbered rings and have access to a smaller amount of resources.
Processing modes for operating systems
Operating system processes are executed in privileged mode (also called kernel or supervisor mode), and applications are executed in user mode, also known as “problem state.”
Virtual memory
Virtual memory combines RAM and secondary storage so the system seems to have a larger bank of memory.
Security mechanism complexity
The more complex a security mechanism is, the less amount of assurance it can usually provide.
Trusted Computing Base (TCB)
The trusted computing base (TCB) is a collection of system components that enforces the security policy directly and protects the system. These components are within the security perimeter.
TCB components
Components that make up the TCB are
- Hardware
- Software
- Firmware
that provide some type of security protection.
Security perimeter
A security perimeter is an imaginary boundary that has trusted components within it (those that make up the TCB) and untrusted components outside it.
Reference Monitor
The reference monitor concept is an abstract machine that ensures all subjects have the necessary access rights before accessing objects. Therefore, it mediates all access to objects by subjects.
Security kernel
The security kernel is the mechanism that actually enforces the rules of the reference monitor concept.
Security kernel requirements
The security kernel must:
- Isolate processes carrying out the reference monitor concept
- Be tamperproof
- Be invoked for each access attempt
- Be small enough to be properly tested
How are processes isolated?
Processes need to be isolated, which can be done through:
- Segmented memory addressing
- Encapsulation of objects
- Time multiplexing of shared resources
- Naming distinctions
- Virtual mapping.
What determines a system’s level of security?
The level of security a system provides depends upon how well it enforces its security policy.