Domain 3 Flashcards
____ have the concept of the user owns the file. E.g., windows, you own the file, you own the spreadsheet. When you own it, you can change permissions of the file and of the data (send it to someone, etc.)
Discretionary access control (DAC)
____ is a system enforced access control based on a subjects clearance and an objects labels. Users of files cannot change attributes of the files
Mandatory access control (MAC)
Subjects (person) have clearances and objects (file or piece of paper) have labels such as secret, top secret, etc.
Subjects cannot share objects with other subjects who lack proper clearance, or “write down” objects to lower classification level
Rule read down and write up only; no read-up
An example of MAC is Bell-La-Padula
This is expensive and difficult to implement
Focused on CONFIDENTIALITY
The modes of operation (types of subjects and objects) contained in a MAC system are:
Total of 4 modes that should consider least privilege and need to know:
1) Dedicated - system contains objects of one classification label only (e.g., secret only). All subjects must possess clearance equal to or greater than the label of the objects
2) System High - system contains objects of mixed labels (e.g., confidential and secret). All subjects must possess clearance equal to the systems highest object label.
3) Compartmented - Objects are placed into “compartments” and require a formal need to know to access (which is system enforced). All subjects have the necessary clearance and a need to know for certain information only.
4) Multilevel - stores objects of differing sensitivity labels and allows system access by subjects with differing clearances.
Bell-La-Padula (BLP) is:
A security model that is a mandatory access control and focuses on CONFIDENTIALITY and does NOT address integrity
Data flows UP
- Simple security property: no read up
Star - Property (star property): no write down
- Strong * Property (strong star property) - no read down and no write up - stuck in the middle
BIBA is:
A security model that is focused on INTEGRITY
- Simple integrity property - user cannot read data to a lower integrity level
- Integrity star property - a user cannot write data of a higher integrity level
Rules with the word integrity is related to BIBA
Data flows down from most trusted to less trusted
A lattice model is:
A model that requires that every subject and every object be labeled with one of a number of security designations. Access is granted based on the comparison of those labels; a user of a certain designation can only access resources of the same designation or lower.
Lattices allow further granularity in granting access, allowing technical enforcement of compartments.
Lattice deals with confidentiality
Clark-Wilson model is:
A security model that deals with integrity and is the “real world” application of BIBA
Authorized users cannot make unauthorized changes and unauthorized users cannot make changes.
Ensures both internal and external consistency (which means you have integrity internal (database) and external (physical count) - database number matches reality)
Does all this through
1) well-formed transactions - think about all the steps that are logged when you order an ipad (order is logged, ipad is scanned, shipping label is created, etc.)
2) separation of duties.
You must access objects via programs. These programs have specific limitations which limits the capabilities of the subject.
TIP - the hyphen in clark-wilson reminds us of separation of duties
State Machine is:
A mathematical security model. Like a lattice - different but its math. Enumerate all the states of the system (top secret, confidential, etc.). Verify no read-up is always true. Simulate every action a user can take on a system and all the states and afterwards check if anyone ever read up. If we enumerate all the states, and secret never read up, the system is secure.
A research model is:
Used to research the best security posture possible for automated information systems.
Noninterference: you cannot infer something is going on in the system. high level actions do not determine low level user visibility. Think the pentagon pizza story
Information flow: similar to BLP, objects are labeled based on security classes in the form of a lattice. Information objects represented can flow in either direction
Chinese wall model (aka Brewer Nash) is:
Made to deal with conflict of interest. No information flow is allowed that could cause information leakage that could lead to a conflict of interest
COI (conflict of interest) groups is the answer on the exam - conflict of interest-
____ consists of the security-relevant parts of a system that include: access control mechanism, reference monitor, the kernel and protective mechanisms.
Trusted Computing Base (TCB)
For terms of analysis, assume that the components are properly implemented and secure. Assume the TCB is secure
The ____ mediates subjects access to objects and is responsible for enforcement of system security policies
Reference monitor
This is always enabled and cannot be bypassed.
Runs in ring 0
must ensure it is doing its job
Domain / Object domain in the context of security models is:
A set of objects that have the same security requirements (e.g., top secret, kernel, ring 0, confidential, etc.).
Ways to separate domains can be through:
- Execution rings
- Base address registers
- Segmentation descriptors
What are three security evaluation models
1) Orange Book (Trusted computer security evaluation criteria - TCSEC)
2) ITSEC (international attempt)
3) The common criteria and ISO 27002
What are the main components of the Trusted Computer Security Evaluation Criteria (TCSEC) Orange Book?
This is part of the rainbow series and it covers operating systems, applications and computer related products which are classified into one of four categories / classes to describe their key principles which are 1) functionality (how well it operates), 2) effectiveness (how secure is it) and 3) assurance (can we verify and prove its secure).
The classes are:
A - Verified Protection (everything B is and more - MAC+)
B - Mandatory Protection (MAC)
C - Discretionary Protection (DAC systems)
D - Minimal Protection ( this is nothing - laptop in front of you)
Maybe 1-2 questions in the exam but focus on ABCD and then common criteria instead
ITSEC is:
First international attempt at a similar function as the orange book.
Target of evaluation - system you are evaluating
Functionality - how well is the system operating
Effectiveness - how secure is it
Dont spend too much time on this for the exam - focus on common criteria
F1 - F10:
- F1 is least assurance level and F10 is the most - can play the high low game on the exam. 10 is the best, 1 is the lowest
Assurance Levels:
- F1 - F5 = mirror functionality of the orange book
- F6 - high integrity requirements
- F7 - high availability
- F8 - high integrity for communication
- F9 - high confidentiality
- F10 - high confidentiality and integrity for data networks
The common criteria is:
A security evaluation model that is created by ISO and an international attempt. It has 7 evaluation assurance levels (EAL) that go lowest to highest)
EAL 1 - functionally tested
EAL 2 - structurally tested
EAL 3 - methodically tested and checked
EAL 4 - methodically tested and checked
EAL 5 - semi-formally designed and tested
EAL 6 - Semi-formally verified, designed and tested
EAL 7 - Formally verified, designed and tested
Terms:
- Target of evaluation - TOE - the system or product that is being evaluated
- Security Target - ST - the documentation describing the TOE, including the security requirements and operational environment
- Protection profile (PP) - an independent set of security requirements and objectives for a specific category of products or systems (firewalls, IDS)
- Evaluation assurance level - evaluation score of the tested product or system
The computer bus links which devices
CPU, RAM and disk with the network, DVD, keyboard/mouse and display
___ is the brains of the computer and contains specialized regions that perform different functions. It is composed of at least two parts:
the CPU which is composed of at least 2 parts:
1) The control unit - coordinates system activities during execution of code. manages the flow of execution in a program and decides which instructions to process next, fetching them from memory, executing them and storing the results. During execution, the control unit call supon the ALU
2) the arithmetic log unit (ALU) - data transfer operations, arithmetic operations, data editing and decision making. performs whatever arithmetic and logical operations the program calls for - crunches numbers and adds
Registers - primary storage memory unit - stores instructions and data for current programs in use - holds data
The fetch-decode-execute cycle is:
Sometimes known as the fetch and execute cycle but is three phases - fetch, decode and execute.
Fetch decode without pipeline and with pipeline
- fetch = get the instruction (add these two numbers)
- decode = I understand the instruction - what you want me to do (ok I know what you want and I will add the two numbers
- execute = do the instruction (add the two numbers)
- store = save in register after execution and move on (get the result of the two added numbers) - considered part of the execution phase
pipeline loads something up and does multiple things at the same time - it becomes 4x faster
pipeline is CPU and is a hardware thing
What are the 2 basic types of instruction sets (CPU design):
An instruction set is a set of low-level instructions a CPU knows how to execute.
1) Complex-instruction-set-computer (CISC) - performs many operations per instruction and a wide variety of instructions - offers programmers a lot of flexibility with relatively little effort - X86
- this is one longer command
- most laptops and desktops are CISC
2) Reduced-instruction-set-computer (RISC) - simpler instructions using fewer cycles - pare things down to their basics and concentrate on making a small instruction set as efficient as possible. This boosts performance, but places more burden on the programmer. - ARM
- this is multiple commands
- most cell phones are RISC
Interrupt - stop the CPU from doing what it inteded to do and interrupt CPU execution
1) ____ executes multiple tasks concurrently on ONE CPU and is also a heavy weight process (HWP)
2) ____ allows multiple threads concurrently on on CPU and is also a light weight process (LWP)
3) ____ executes multiple tasks concurrently on multiple CPUs
1) Multi-tasking: can process more than one user program at the same time on one CPU. A task is a heavy weight process where each process has its own copy of memory. all load their own copy of something. Processes do not share anything
2) Multithreading: light weight process where each thread uses shared memory for shared libraries (save RAM) - you point to a shared process. threads share RAM and memory
3) Multiprocessing: the computer has more than one CPU and it can execute instructions in parallel
- — Symmetrical multiprocessing system - they support more than on processor and CPUs share the processing of system processes equally
- — Asymmetrical Multiprocessing systems - one processor will take care of the system processes and other processors will run the applications
Memory protection techniques:
1) ____ Prevents one process from affecting the confidentiality, integrity, or availability of another
2) ____ randomizes addresses used by programs, which makes jumping code injected via buffer overflows more difficult
3) ____ marks pages of the stack non-executable
1) Process isolation and is a memory protection technique - I cannot read you memory
2) Address space Layout Randomization (ASLR): random addresses used by program. previously, memory locations were highly predictable, allowing an attacker to predict where their injected shellcode would be placed in memory and allowing them to jump it and execute.
3) Non eXecutable stack: e.g., Linux NX, Microsoft data execution prevention (DEP) - you can write but you cannot execute - its an XOR - or you can execute but you cannot write
What is virtual memory?
Virtual memory is a set of memory addresses managed by the OS that doesn’t correspond directly to physical memory. To the CPU, virtual memory looks like physical memory. It can hold both programs and data, but gives the OS the choice of where to store the data.
Virtual memory maps the virtual address space into the chosen physical address space. When the system needs to access a memory address, the OS can translate the virtual address into a physical one and fetch the data from the correct location. Because virtual memory hides the actual storage location from the hardware, the OS is free to store the data wherever it likes, including a mass storage device, such as a hard drive. This lets the system address a larger amount of memory than it actually contains. The OS uses the main memory as a cache to hold the most recently or most frequently accessed data, whereas the rest of the data is stored on the hard drive or the disk.
threads also use virtual addresses