Domain 3 – Security Engineering and Architecting

Multitasking – multitasking means handling two or more tasks simultaneously.

Multiprocessing – harnesses the power of more than one processor to complete the execution of a single application.

  • SMP – A single computer contains multiple processors that are treated equally and controlled by a single operating system, is called symmetric multiprocessing (SMP).
  • MPP – MPP systems house hundreds or even thousands of processors, each of which has its own operating system and memory/ bus resources.

Multithreading

  • Multiple tasks operate within a single process.
  • Multiple documents are opened at the same time in a word processing program.

Multiprogramming

  • Pseudo simultaneous execution of two tasks on a single processor coordinated by the operating system as a way to increase operational efficiency.  Typically associated with Mainframe processing, largely extinct.

Government Security Modes

  • Dedicated
  • System High
  • Compartment
  • Multilevel
  • Acronym – Data Security Causes Madness

Microprocessor Memory Design

The vulnerabilities, dubbed as “Meltdown” and “Spectre”, involve an architectural feature built into CPUs to enhance system performance. Remediation efforts could adversely impact performance, affecting software, apps and browsers. The vulnerabilities are known to be exploitable on servers, workstations, mobile devices, IoT environments and browsers.

In a much simpler time, microprocessors were designed to have their memory separated out into what is called “kernel space” and “user space”. In a 32-bit Intel environment, which is limited to four gigabytes of addressable space, the kernel space was regulated to the top one gigabyte of memory while the user space resided in the lower three gigabytes. While it might appear that applications running in the user space had visibility into the kernel space, permissions (theoretically) prevented direct access into the kernel’s memory.

The four gigabyte size restrictions for virtual memory were removed with the 64-bit Intel environment. Unlike the 32-bit architecture that always loaded the kernel in a known location in upper memory every time the system was booted, a kernel loading process called kernel address-space layout randomization (KASLR) was implemented. Each time the system boots, the kernel space is assigned a random location in the virtual address space. This makes attacking vulnerabilities in the kernel a little more difficult since the attacker does not know the specific location in memory to attack. However, applications running in the user space still have the same theoretical visibility, barring permissions, into the kernel space as the 32-bit architecture.

The processor has a “Translation Lookaside Buffer” (TLB) that is used for switching between user space and kernel space. By keeping the kernel space permanently mapped in the TLB, the kernel space TLB entries do not have to be flushed, which is a time-consuming operation. Without this design, for each context switch (which occurs at least twice for each system call), the TLB would be flushed and repopulated with the appropriate TLB entries (user space or kernel). Examples of the need for a context switch include system calls (i.e., disk read, write, or seek), system interrupts, or time slicing requirements.

So long as memory leaks from kernel space do not find their way into user space, an attacker would not be able to infer the kernel’s location. Unfortunately, such leaks do occur, either from software errors or the hardware itself.

The researchers discovered that user space instructions can be used to retrieve kernel memory due to processors’ use of “speculative execution” that will attempt to guess what code will be executed in the next few cycles and “pre-execute” it in an attempt to increase performance. At times, this may mean that multiple code segments are pre-executed at the same time until the correct one is needed. The other segments are then discarded.

 

Control Framework

  • Zachman Framework
  • Sabsa Framework
  • TOGAF
    • Step by Step
  • ITIL
    • Service Catalog

Security Models

  • state machine
    • one state at powered off, state at powered on, state when printing, state when failed – NO MATTER WHAT STATE IT IS IN, THE MACHINE IS SECURE
  • Information flow
    • information flows from hard drive to machine bus, to RAM, to registers, to CPU.
  • Non-Interference
    • access from one user does not impact access from another user, user 1 does not gain access just because user 2 has access

Bell Lapadula

Mandatory Access Control Model

Only used in Government

Made to be slow

Lattice Based

Subjects have clearance, objects have labels

 

Biba

Mandatory Access Control Model

Only used in Government

Made to be slow

Lattice Based

Subjects have clearance, objects have labels

 

Brewer Nash

Clark Wilson

Take-Grant

 

Access Matrix

 

Common Criteria EAL Levels

Common Criteria Elements

TCSEC vs ITSEC vs Common Criteria

Codes vs Ciphers

Code:  10-4; 5150; The Eagle has Landed; not meant to provide confidentiality; Medical Coding

  • 800 Fracture of vault of skull
  • 801 Fracture of base of skull
  • 802 Fracture of face bones
  • 803 Other and unqualified skull fractures
  • 804 Multiple fractures involving skull or face with other bones

Trusted Computing Base

trusted computing base (TCB) is a combination of hardware, software, and controls that work together to form a trusted base to enforce your security 4/policy.

In other words, a given piece of hardware or software is a part of the TCB if and only if it has been designed to be a part of the mechanism that provides its security to the computer system. In operating systems, this typically consists of the kernel (or microkernel) and a select set of system utilities (for example, setuid programs and daemons in UNIX systems). In programming languages that have security features designed in such as Java and E, the TCB is formed of the language runtime and standard library.[4]

 

Data Emanation

Inference

Some graphics from CISSP Common Body of Knowledge Review by Alfred Ouyang