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.
Closed vs. open systems
A closed system is often proprietary to the manufacturer or vendor, whereas an open system allows for more interoperability.
Common Criteria
The Common Criteria was developed to provide globally recognized evaluation criteria.
How does the Common Criteria function?
The Common Criteria uses:
- Protection profiles
- Security targets
- Ratings (EAL1 to EAL7)
to provide assurance ratings for targets of evaluation (TOEs).
Certification vs. Accreditation
Certification is the technical evaluation of a system or product and its security components.
Accreditation is management’s formal approval and acceptance of the security provided by a system.
ISO/IEC 15408
ISO/IEC 15408 is the international standard that is used as the basis for the evaluation of security properties of products under the CC framework.
Process isolation
Process isolation ensures that multiple processes can run concurrently and the processes will not interfere with each other or affect each other’s memory segments.
TOC/TOU
TOC/TOU stands for time-of-check/time-of-use. This is a class of asynchronous attacks.
Distributed system
A distributed system is a system in which multiple computing nodes, interconnected by a network, exchange information for the accomplishment of collective tasks.
Cloud computing
Cloud computing is the use of shared, remote computing devices for the purpose of providing improved efficiencies, performance, reliability, scalability, and security.
Software as a Service (SaaS)
Software as a Service (SaaS) is a cloud computing model that provides users access to a specific application that executes on the service provider’s environment.
Platform as a Service (PaaS)
Platform as a Service (PaaS) is a cloud computing model that provides users access to a computing platform that is typically built on a server operating system, but not the virtual machine on which it runs.
Infrastructure as a Service (IaaS)
Infrastructure as a Service (IaaS) is a cloud computing model that provides users unfettered access to a cloud device, such as an instance of a server, which includes both the operating system and the virtual machine on which it runs.
Parallel computing
Parallel computing is the simultaneous use of multiple computers to solve a specific task by dividing it among the available computers.
Cyber-physical system
Any system in which computers and physical devices collaborate via the exchange of inputs and outputs to accomplish a task or objective is a cyber-physical system.
Cryptography
Cryptography is the science of protecting information by encoding it into an unreadable format.
Most famous rotor encryption machine
The most famous rotor encryption machine is the Enigma used by the Germans in World War II.
Plaintext/Ciphertext
A readable message is in a form called plaintext, and once it is encrypted, it is in a form called ciphertext.
Cryptographic algorithm
Cryptographic algorithms are the mathematical rules that dictate the functions of enciphering and deciphering.
Cryptanalysis
Cryptanalysis is the study of breaking cryptosystems.
Nonrepudiation
Nonrepudiation is a service that ensures the sender cannot later falsely deny sending a message.
Key clustering
Key clustering is an instance in which two different keys generate the same ciphertext from the same plaintext.
Keyspace
The range of possible keys is referred to as the keyspace. A larger keyspace and the full use of the keyspace allow for more random keys to be created. This provides more protection.
Symmetric encryption mechanisms
The two basic types of encryption mechanisms used in symmetric ciphers are substitution and transposition.
Substitution ciphers change a character (or bit) out for another, while transposition ciphers scramble the characters (or bits).
Polyalphabetic cipher
A polyalphabetic cipher uses more than one alphabet to defeat frequency analysis.
Steganography
Steganography is a method of hiding data within another media type, such as a graphic, WAV file, or document. This method is used to hide the existence of the data.
Key
A key is a random string of bits inserted into an encryption algorithm.
The result determines what encryption functions will be carried out on a message and in what order. Many algorithms are publicly known, so the secret part of the process is the key. The key provides the necessary randomization to encryption.
Symmetric key algorithms
In symmetric key algorithms, the sender and receiver use the same key for encryption and decryption purposes.
Asymmetric key algorithms
In asymmetric key algorithms, the sender and receiver use different keys for encryption and decryption purposes.
Symmetric key advantages and disadvantages
Symmetric key processes provide barriers of secure key distribution and scalability.
However, symmetric key algorithms perform much faster than asymmetric key algorithms.
Symmetric key algorithms can provide confidentiality, but not authentication or nonrepudiation.
Symmetric key algorithm examples
Examples of symmetric key algorithms include
- DES
- 3DES
- Blowfish
- IDEA
- RC4
- RC5
- RC6
- AES.
Symmetric vs. Asymmetric
Asymmetric algorithms are used to encrypt keys, and symmetric algorithms are used to encrypt bulk data.
Asymmetric key advantages and disadvantages
Asymmetric key algorithms are much slower than symmetric key algorithms, but can provide authentication and nonrepudiation services.
Asymmetric key algorithm examples
Examples of asymmetric key algorithms include:
- RSA
- ECC
- Diffie-Hellman
- El Gamal
- Knapsack
- DSA.
Symmetric key algorithm types
Two main types of symmetric algorithms are stream ciphers and block ciphers.
Stream ciphers use a keystream generator and encrypt a message one bit at a time.
A block cipher divides the message into groups of bits and encrypts them.
Data Encryption Standard (DES)
Data Encryption Standard (DES) is a block cipher that divides a message into 64-bit blocks and employs S-box-type functions on them.
Triple-DES (3DES)
Because technology has allowed the DES keyspace to be successfully broken, Triple-DES (3DES) was developed to be used instead. 3DES uses 48 rounds of computation and up to three different keys.
International Data Encryption Algorithm (IDEA)
International Data Encryption Algorithm (IDEA) is a symmetric block cipher with a key of 128 bits.
RSA
RSA is an asymmetric algorithm developed by Rivest, Shamir, and Adleman and is the de facto standard for digital signatures.