Chapter 6 Flashcards

0
Q

Define Trusted Computing Base (TCB).

A

The totality of protection mechanisms within a computer system - including hardware, firmware, and software - the combination of which is responsible for enforcing a security policy. A TCB consists of one or more components that together enforce a unified security policy over a product or system. The ability of the TCB to correctly enforce a security policy depends solely on the mechanisms within the TCB and in the correct input by system administrative personnel of parameters related to the security policy.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
1
Q

Define Security Kernel.

A

The Hardware, firmware, and software elements of a trusted computing base that implement the reference monitor concept. It must mediate all accesses, be protected from modification, and be verifiable as correct.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Where could the Reference Monitor be placed?

A

1) hardware: access control mechanisms in microprocessors.
2) operating system kernel: (example, hypervisor; a virtual machine that emulates the host computer it is running on)
3) operating system: (example, access control in Unix and Windows 2000)
4) services layer: access control in database systems, java virtual machine, .NET common language runtime,…
5) application: security checks in the application code to address application specific requirements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

List the Reference monitor design choices.

A

1) RM in kernel: program and RM are separated.
2) interpreter: program inside the RM.
3) In-line RM (modified application): RM inside program.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the two requirements that have to be addressed when securing an operating system ?

A

1) users should be able to use (invoke) the OS.

2) users should not be able to misuse the OS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the concepts used to achieve the requirements to secure the operating system? Where can they be used?

A

1) modes of operation.
2) controlled invocation, also called restricted privilege.

These concepts can be used in any layer of a computing system, be it application software, operating system, or hardware. However, these mechanisms an be disabled if the attacker gets access to a lower layer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Between what should the OS distinguish in order to protect it self in modes of operation?

A

To protect itself, an OS must be able to distinguish computations ‘on behalf’ of the OS from computations ‘on behalf’ of a user.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Define mode of operation.

A

Mode of operation defines which actions (example, machine instructions) may be performed on a system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How does a system work in dual-mode operation?

A

In dual-mode operation a system can work in:

  • user mode (protected mode), here instructions that are not critical for security may be performed, or in
  • supervisor mode (kernel, monitor, root, system mode);
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Define privileged instructions.

A

privileged instructions are instructions that can only be executed in supervisor mode.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What does the status flag do?

A

Status flag allows system to work in different modes:

  • intel 80x86: two status bits and four modes.
  • unix distinguish between user and superuser.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the reasons for placing security in the core?

A

1) it may be possible to evaluate security to a higher level of assurance.
2) putting security mechanisms into the core of the system reduces the performance overheads caused by security checks.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What information is stored in the descriptors?

A

Information about system objects such as memory segments, access control tables, and gates.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Where are descriptors stored? And how are they accessed?

A

Descriptors are stored in the descriptor table and accessed via selectors.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is a selector?

A

A selector is a 16-bit field containing an index pointing to the object’s entry in the descriptor table and also a requested privilege level (RPL) field. Only the OS has access to selectors.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is a gate?

A

System object pointing to a procedure, where the gate has a privilege level different from that of the procedure it points to. Allow execute-only access to procedures in an inner ring.

17
Q

What does create a loophole (confused deputy problem)?

A

Allowing out-ring procedures to invoke inner-ring procedures creates a potential security loophole. The outer-ring process may ask the inner-ring procedure to copy an inner ring object to the outer ring; this will not be prevented by any of the mechanisms, nor does it violate the states security policy. Known as luring attack.

18
Q

How can the loophole (confused deputy problem) is solved?

A

We should take into account the level of the calling process, use the adjust requested privilege level (ARPL) instruction. This instruction changes the RPL fields of all selectors to the CPL of the calling process. The system then compares the RPL (in the selector) and the DPL (in the descriptor) of an object and refuse to complete the requested operation if they differ.

19
Q

How is the integrity of the OS itself is preserved?

A

OS manages access to data and resources. Multitasking OS interleaves execution of processes belonging to different users. I has to:

  • separate user space from OS space,
  • logically separate users,
  • restrict the memory objects a process can access.
20
Q

What does the logical separation of users prevent?

A

Logical separation of users prevents accidental and intentional interference between users.

21
Q

Where does logical separation of users take place?

A
  • file management, dealing with logical memory objects.

- memory management, deals with physical memory objects.

22
Q

What are the two main ways of structuring memory?

A

1) segmentation, divides memory into logical units of variable lengths
+ a division into logical units is a good basis for enforcing a security policy
- units of variable length make memory management more difficult.

2) paging, divides memory into pages of equal length.
+ fixed length units allow efficient memory management.
- paging is not a good basis for access control as pages are not logical units. One page may contain objects requiring different protection. Page faults can create covert channel.

23
Q

When does page fault occur?

A

When a process accesses a logical object stored on more than one page, a page fault occurs whenever a new page is requested.

24
Q

When does covert channels exists?

A

Covert channel exists if page faults are observable.

25
Q

What’s the options for controlling access to memory?

A

1) the operating system modifies the address it receives from user from user processes.
2) operating system constructs the effective addresses from relative addresses it receives from user processes.
3) the operating system checks whether the addresses it receives from user process are within given bounds.

26
Q

What are fence registers?

A

The fence registers contains the address of the end of the memory area allocated to the operating system.

27
Q

What are bound registers?

A

Define the bottom of the user space. Base and bounds registers allow to separate program from data space.

28
Q

What is tagged architectures?

A

Tagged architectures indicate type of each memory object.

29
Q

Define controlled invocation.

A

Invocation of a function that executes privileged instructions to provide a limited, well-defined functionality and then returns to user mode.