Microprocessor Architecture

Chapter 13
Protection, Security, and Virtualization

Bachelors Program in Electronics and Communication
Microprocessor Architecture   •   Post Graduate

Protection, Security, and Virtualization

Introduction and Context

Modern microprocessors execute operating-system code, application programs, device drivers, hypervisors, and firmware on the same physical machine. This consolidation creates efficiency, but it also creates a fundamental architectural problem: one computation must not be allowed to corrupt, observe, or control another computation without authorization. Protection, security, and virtualization are the principal architectural responses.

Protection controls the use of resources within a system. It limits what a process, privilege level, or software component may do. Security addresses resistance to unauthorized disclosure, modification, disruption, and impersonation, including attacks that exploit hardware, software, or physical implementation. Virtualization presents an abstract machine to software while multiplexing one physical processor and its resources among multiple execution environments.

These subjects are closely related but not identical. Protection is usually an internal policy-enforcement function; security includes hostile adversaries and trust boundaries; virtualization introduces an additional control layer, commonly the hypervisor or virtual-machine monitor (VMM). A secure virtualized system must therefore protect the host, the hypervisor, guest systems, and communication channels among them.

At postgraduate level, the key issue is not merely learning individual mechanisms such as paging or privilege rings. It is understanding the security boundary created by the complete hardware–firmware–hypervisor–operating-system stack, together with its assumptions, failure modes, performance costs, and governance implications.

Learning Objectives

After completing this chapter, the learner should be able to:

  1. Explain protection domains, privilege levels, access-control mechanisms, and memory-isolation techniques.
  2. Analyse how paging, segmentation, capability systems, and execution modes enforce architectural protection.
  3. Distinguish confidentiality, integrity, availability, authenticity, and non-repudiation in processor-based systems.
  4. Explain hardware security mechanisms including secure boot, trusted execution, cryptographic instructions, and control-flow protection.
  5. Describe the architecture and operation of virtual machines, hypervisors, translation mechanisms, and hardware-assisted virtualization.
  6. Evaluate performance, security, and management trade-offs in virtualized systems.
  7. Apply threat modelling and defence-in-depth principles to a realistic microprocessor platform.

1. Protection as an Architectural Abstraction

A protection system mediates operations on objects by subjects. A subject is an active entity, such as a process, thread, virtual machine, or device. An object is a resource, such as a memory page, file, peripheral register, interrupt, or cryptographic key. An access-control policy specifies which operations each subject may perform on each object.

The classical access matrix represents this policy as:

A[s,o] ⊆ {read, write, execute, own, administer}

Here, A[s,o] is the set of permitted operations for subject s on object o. The matrix is conceptual; practical systems implement it through access-control lists, capability lists, page permissions, privilege levels, or combinations of these mechanisms.

A protection domain is a set of permitted operations and resources associated with a subject. A process may execute in user mode, while the kernel executes in a more privileged mode. Transition between domains must be controlled, usually through system calls, exceptions, interrupts, or carefully specified gateways.

1.1 Privilege and the Protection Boundary

Processors commonly distinguish at least two execution levels:

  • User or unprivileged mode: application code executes with restricted access.
  • Supervisor or privileged mode: operating-system code may configure memory management, interrupts, devices, and processor control registers.

Some architectures provide several privilege levels. For example, a system may separate application, operating-system, hypervisor, and machine-firmware privileges. The names and number of levels vary across instruction-set architectures, but the principle is consistent: sensitive operations require a higher privilege level than ordinary computation.

A transition to higher privilege should occur only through a narrow, verifiable entry point. A system call illustrates the sequence:

  1. User code places arguments in registers or memory.
  2. A controlled instruction raises a synchronous exception.
  3. Hardware saves a return context and changes privilege state.
  4. The operating system validates the request and performs the operation.
  5. A protected return instruction restores the user context.

The processor prevents ordinary user code from directly changing page tables, disabling protection, reprogramming interrupt controllers, or accessing privileged device registers.

1.2 Memory Protection

Memory protection is central because many security failures begin with an invalid read, write, or instruction fetch. A virtual address is translated to a physical address by a memory-management unit (MMU). Each translation is associated with permissions such as read, write, and execute, as well as status information such as present, accessed, and dirty.

A simplified access decision is:

Permit = Present ∧ (Read ∨ Write ∨ Execute) ∧ PrivilegeOK ∧ PolicyOK

This expression is conceptual rather than a complete processor specification. Present indicates that the mapping is valid; the requested operation must be allowed; the current privilege must satisfy the page policy; and any additional architectural restrictions must hold.

A typical page-table entry may encode:

FieldFunction
Physical-frame numberIdentifies the physical memory frame
Present/valid bitIndicates whether the translation is usable
Read/write permissionControls modification
User/supervisor bitRestricts access by privilege level
Execute-disable bitPrevents instruction fetching
Accessed bitSupports replacement and monitoring
Dirty bitIndicates that data has been modified
Protection-key or domain fieldsProvide additional isolation policy

The no-execute (NX or XD) principle separates writable data from executable code. This reduces traditional code-injection attacks, although it does not prevent code-reuse attacks such as return-oriented programming (ROP). The write XOR execute (W⊕X) policy aims to ensure that a page is not writable and executable simultaneously. Just-in-time compilers require carefully controlled transitions between these states.

1.3 Segmentation, Paging, and Capabilities

Segmentation divides an address space into logically defined regions with bounds and attributes. It can express concepts such as code, data, and stack segments. Modern general-purpose systems rely mainly on paging because paging supports fine-grained allocation, sparse address spaces, sharing, copy-on-write, and demand loading. Segmentation may nevertheless remain relevant for thread-local storage, compatibility modes, or special protection features.

A capability system represents authority as an unforgeable token. Possession of a capability grants specified rights to an object; absence of the capability denies access. Capability architectures can reduce ambient authority and make delegation explicit. Their challenge is managing capability propagation, revocation, compatibility, and software adoption.

Access-control lists answer “which subjects may access this object?” Capability lists answer “which objects may this subject access?” Neither is universally superior. Large operating systems often combine page permissions, handles, object metadata, and identity-based policy.

2. Security Properties and Threat Models

A processor security design begins with assets, adversaries, trust assumptions, and security objectives. The familiar CIA triad consists of:

  • Confidentiality: preventing unauthorized disclosure.
  • Integrity: preventing unauthorized modification.
  • Availability: maintaining authorized access to services.

Practical systems also require authenticity, accountability, freshness, and sometimes non-repudiation. A threat model should specify whether the adversary is a malicious application, compromised kernel, malicious virtual machine, remote attacker, supply-chain actor, or physically present observer.

Security is relative to a boundary. A page-table permission protects one process from another, but may not protect against a malicious kernel. A hypervisor may isolate guests from each other, but a compromised firmware layer may undermine the hypervisor. A trusted-execution mechanism may protect selected memory from a host operating system, but it cannot automatically guarantee that the application logic is correct.

2.1 Attack Classes Relevant to Microprocessors

Memory-safety attacks exploit buffer overflows, use-after-free errors, integer errors, or invalid pointer use. Hardware support such as NX, address-space layout randomization support, bounds metadata, memory tagging, and control-flow integrity can reduce exploitability.

Privilege-escalation attacks exploit a flaw to move from user mode to kernel or hypervisor privilege. The attack surface includes system calls, drivers, firmware interfaces, interrupt handlers, and device emulation.

Side-channel attacks infer secrets from indirect observations rather than violating an explicit access check. Timing, cache occupancy, branch-predictor state, speculative execution, power consumption, and electromagnetic emissions may reveal information.

Fault-injection attacks deliberately disturb voltage, clock, temperature, or electromagnetic conditions to induce erroneous execution. Secure systems use redundancy, sensors, error detection, and controlled reset mechanisms.

Physical and supply-chain attacks include probing, malicious peripherals, counterfeit components, compromised firmware, and unauthorized debugging interfaces.

3. Hardware Security Mechanisms

3.1 Secure and Measured Boot

Secure boot establishes a chain of verification beginning with an immutable or strongly protected root of trust. Each stage verifies the next stage before transferring control. If a component is not authorized, boot may halt or enter recovery mode.

A conceptual chain is:

Immutable root of trust → firmware → bootloader → hypervisor/kernel → system services

Measured boot is different. Instead of necessarily blocking an unrecognized component, it records cryptographic measurements in protected registers or logs. A remote verifier can then assess the platform state. Secure boot answers “may this component execute?” Measured boot helps answer “what component actually executed?” Robust designs may use both.

Cryptographic measurement commonly uses a hash function. If H(x) denotes a cryptographic hash of input x, then a measurement is recorded as m = H(component). The security assumption is that it is computationally infeasible to find a different component with the same relevant digest. A hash alone does not prove authorization; verification requires a trusted reference value, signature, or policy.

3.2 Trusted Platform Modules and Hardware Roots of Trust

A trusted platform module (TPM) or equivalent secure element can protect key material, perform selected cryptographic operations, record measurements, and support remote attestation. Private keys are designed not to be exported. Attestation reports platform measurements to a verifier, although interpretation still depends on correct policies and trustworthy measurement coverage.

A root of trust should be minimized because compromise at this level can invalidate all higher layers. Secure update, key revocation, recovery, auditability, and lifecycle management are therefore as important as initial verification.

3.3 Trusted Execution Environments

A trusted execution environment (TEE) isolates selected code and data from ordinary software. Hardware enforces separate memory and execution states, while cryptographic services support confidentiality and integrity. TEEs are useful for payment processing, biometric operations, key handling, and confidential cloud computation.

TEE security is not absolute. Vulnerabilities may exist in enclave code, trusted runtimes, exception handling, side channels, memory management, or attestation protocols. The trusted-computing base (TCB)—the set of components that must be trusted—should be kept small and independently reviewed.

3.4 Cryptographic and Control-Flow Support

Modern processors may provide accelerated instructions for symmetric encryption, hashing, random-number generation, and big-integer operations. Acceleration improves performance, but key management, nonce reuse, random-number quality, and software API correctness remain essential.

Control-flow enforcement mechanisms protect the allowed targets of indirect calls, jumps, and returns. A simplified control-flow integrity condition is:

Target(indirect transfer) ∈ ValidTargets(policy)

This does not prove that the program is bug-free; it restricts exploit paths that redirect execution to unintended locations. Shadow stacks, branch-target identification, pointer authentication, and compiler-generated checks are examples of related approaches.

4. Virtualization Architecture

Virtualization abstracts physical resources into virtual resources. A virtual machine (VM) is an execution environment that appears to contain a processor, memory, storage, and devices. A hypervisor or VMM manages physical resources and provides this abstraction.

Two broad models are commonly distinguished:

  • Type 1 or bare-metal hypervisor: runs directly on hardware and hosts guest operating systems.
  • Type 2 or hosted hypervisor: runs as an application on a conventional host operating system.

The distinction is useful but not always exact in contemporary products. More important are the hypervisor’s privilege, isolation properties, device model, and TCB.

4.1 Full, Para-, and Hardware-Assisted Virtualization

In full virtualization, an unmodified guest operating system executes against a virtual hardware interface. Historically, sensitive instructions that behaved differently in virtualized mode required binary translation or trapping and emulation.

In paravirtualization, the guest is modified to use explicit hypercalls for selected operations. This can reduce overhead but requires guest cooperation.

Hardware-assisted virtualization adds processor mechanisms such as guest modes, virtual-machine control structures, nested page tables, interrupt virtualization, and controlled interception of privileged events. The guest executes many instructions directly while the processor transfers selected events to the hypervisor.

A hypercall resembles a system call, but the requester is a guest rather than an ordinary process. It must be validated as carefully as any other privileged interface.

4.2 CPU, Memory, and I/O Virtualization

CPU virtualization multiplexes processor time among virtual CPUs (vCPUs). A scheduler maps vCPUs to physical CPUs, potentially overcommitting the machine. If the total runnable demand exceeds physical capacity, response time and throughput degrade.

Memory virtualization introduces at least one additional translation stage. A guest virtual address is translated to a guest physical address by the guest page tables, and then to a host physical address by the hypervisor’s second-level translation. In abstract form:

Guest virtual address → guest physical address → host physical address

Translation lookaside buffers (TLBs) cache these mappings. Context switches and VM exits may require invalidation or tagged address spaces. Large pages can reduce translation overhead but may increase memory fragmentation and enlarge the impact of a permission error.

I/O virtualization may use device emulation, paravirtualized drivers, or direct assignment. Device emulation offers compatibility but increases hypervisor code and overhead. Direct assignment offers performance but requires strong isolation, commonly through an I/O memory-management unit (IOMMU). The IOMMU prevents a device from performing DMA to unauthorized physical memory.

4.3 VM Exits and Performance

A VM exit transfers control from a guest to the hypervisor because of an intercepted event, such as a privileged instruction, page fault, interrupt, or emulated device operation. Excessive exits can dominate performance.

A useful performance model is:

Ttotal = Tguest + Nexit × Cexit + Tvirtualization

where Ttotal is total execution time, Tguest is time spent executing guest instructions without exits, Nexit is the number of exits, Cexit is the average cost per exit, and Tvirtualization includes scheduling, translation, device, and management overhead. This is an approximation; costs may overlap and depend on cache state, workload, hardware, and implementation.

For example, suppose a workload spends 10 ms in guest execution, incurs 200,000 exits, and each exit costs 1.5 μs. Ignoring other overheads:

Ttotal = 10 ms + (200,000 × 1.5 μs) = 10 ms + 300 ms = 310 ms

The example demonstrates why reducing exit frequency can be more valuable than optimizing ordinary guest instructions. The calculation assumes a constant independent exit cost and no overlap, so it is not a universal benchmark prediction.

5. Security of Virtualized Systems

Virtualization creates several security boundaries:

  1. Guest process to guest operating system.
  2. Guest operating system to hypervisor.
  3. Guest VM to guest VM.
  4. Guest or hypervisor to device and firmware.
  5. Management plane to all hosted resources.

A hypervisor escape occurs when guest-controlled activity gains unauthorized host or hypervisor capability. Attack surfaces include virtual CPU emulation, virtual storage, networking, graphics, management APIs, migration protocols, and firmware interfaces.

Isolation should be layered. Useful controls include minimal hypervisor functionality, reduced device emulation, strict management-plane separation, signed VM images, IOMMU enforcement, resource quotas, secure live migration, logging, vulnerability patching, and independent validation of guest input.

5.1 Confidential Computing and Attestation

Confidential-computing architectures aim to protect VM memory from selected privileged entities, potentially including the cloud operator or host kernel. Hardware encrypts or integrity-protects memory and provides evidence about the executing software state. The security benefit depends on the threat model: protection from a malicious host is not identical to protection from physical attacks, side channels, denial of service, or malicious application code.

Attestation can be viewed as a protocol:

  1. A platform generates a signed statement about identity and measurements.
  2. A verifier checks the signature and freshness.
  3. The verifier compares measurements with policy.
  4. Secrets are released only if the policy is satisfied.

Freshness is important because an attacker might replay an old valid statement. A nonce, session binding, or equivalent challenge is typically required.

6. Integrated Case Study: Secure Virtualized Edge Gateway

The following is an illustrative case study.

Background

A telecommunications provider deploys virtualized edge gateways near mobile base stations. Each gateway hosts network functions from several administrative customers. The platform must process packets at low latency while protecting customer traffic and management credentials.

Problem

The provider faces four risks: a vulnerable guest driver may attack the hypervisor; a malicious tenant may infer another tenant’s activity through shared caches; a device may DMA into arbitrary memory; and an unauthorized firmware update may establish persistence below the hypervisor.

Analysis

The assets are customer packets, encryption keys, service availability, VM images, and platform identity. Adversaries include a malicious tenant, a remotely compromised service, and a supply-chain attacker. The most important trust anchors are boot firmware, the hypervisor, the IOMMU configuration, key-storage hardware, and the management plane.

Approach and Solution

The provider adopts the following architecture:

  • Secure boot verifies firmware, hypervisor, and signed VM images.
  • Measured boot and remote attestation support admission of a gateway into the orchestration system.
  • The IOMMU confines DMA-capable network devices to assigned buffers.
  • Paravirtualized network interfaces reduce complex device emulation.
  • Management traffic uses a separate network and multifactor authentication.
  • VM memory and CPU placement policies reduce unintended sharing of sensitive workloads.
  • Rate limits and quotas reduce denial-of-service impact.
  • Hypervisor and guest events are centrally logged and correlated.
  • Live migration is encrypted, authenticated, and permitted only between attested hosts.
  • Patch and rollback procedures are tested before field deployment.

Outcome

The architecture reduces the attack surface and strengthens evidence about platform state. It does not eliminate risk. Side channels remain possible, denial of service cannot be completely prevented by isolation, and the security of guest applications remains the customer’s responsibility.

Learning Points

First, no single mechanism is sufficient. Secure boot without runtime isolation does not protect a running system; an IOMMU without secure configuration does not guarantee DMA safety. Second, performance decisions affect security: direct device assignment may reduce overhead but enlarge the trusted interface. Third, attestation is meaningful only when measurements, verifier policy, key lifecycle, and recovery processes are all well designed.

7. Design Trade-offs, Governance, and Best Practices

Protection mechanisms impose cost. Page-table checks, TLB invalidation, cryptographic memory protection, control-flow checks, and VM exits may increase latency or energy consumption. Disabling protections for performance can create unacceptable systemic risk. Architectural evaluation should therefore consider security-adjusted performance rather than raw throughput alone.

A useful engineering process is:

  1. Define assets and trust boundaries.
  2. Identify privileged code and minimize the TCB.
  3. Classify interfaces by attack surface and privilege.
  4. Select independent preventive, detective, and corrective controls.
  5. Test both normal operation and adversarial conditions.
  6. Measure performance overhead under representative workloads.
  7. Establish patching, key rotation, revocation, recovery, and incident-response procedures.
  8. Reassess assumptions when hardware, firmware, guests, or deployment environments change.

Governance includes secure procurement, vulnerability disclosure, software bills of materials, supply-chain assessment, privacy protection, audit logging, and compliance with applicable information-security and data-protection requirements. Logging must itself be protected because security records may contain sensitive information and can become an attack target.

Artificial intelligence is relevant when processors support confidential analytics or when AI workloads are consolidated in shared accelerators. However, AI does not replace architectural controls. Model poisoning, extraction of sensitive training data, accelerator isolation, and untrusted inference inputs must be addressed through the same principles of least privilege, isolation, attestation, and monitoring.

8. Contemporary Research Directions and Limitations

Important research directions include memory tagging, fine-grained capabilities, hardware-enforced control-flow integrity, confidential containers, secure accelerator virtualization, formally verified hypervisors, and side-channel-resistant microarchitectures.

Formal verification can provide strong assurance for specified properties, but it is expensive and dependent on accurate specifications. Microcode, firmware, compilers, devices, and physical effects may remain outside the proof boundary. Similarly, hardware encryption protects data in certain states but does not guarantee correct access policy or application logic.

Side-channel defence remains particularly difficult because performance features—caches, speculation, prefetching, branch prediction, and shared resources—create observable behaviour. Mitigations often involve partitioning, noise, scheduling restrictions, serialization, or disabling features, each with a cost. Security claims should therefore state the attacker capability, observation channel, protected asset, and residual leakage rather than simply declaring a system “secure.”

Chapter Summary

Protection controls access to processor and system resources through privilege levels, memory permissions, domains, access-control structures, and controlled transitions. Paging and MMU enforcement provide the foundation for process isolation, while NX, W⊕X, capabilities, and control-flow mechanisms reduce exploitability.

Security extends protection to adversarial settings and requires explicit consideration of confidentiality, integrity, availability, authenticity, trust, and attack surfaces. Secure boot, measured boot, roots of trust, TEEs, cryptographic instructions, attestation, and hardware control-flow support strengthen the platform but do not remove the need for sound software and governance.

Virtualization multiplexes hardware among isolated guests. Hypervisors, VM exits, nested translation, IOMMUs, paravirtualized interfaces, and hardware-assisted virtualization determine functionality, performance, and isolation. Virtualization adds security boundaries and attack surfaces, making minimal TCBs, secure management, signed images, attestation, and lifecycle controls essential.

The central engineering lesson is defence in depth: architectural mechanisms must be combined with secure firmware, robust operating systems, careful configuration, monitoring, patching, and threat-model-based evaluation.

Key Terms

Protection: Controlled enforcement of permitted resource use.

Security: Protection of systems and information against unauthorized or harmful actions.

Protection domain: A set of resources and operations available to a subject.

Privilege level: An execution authority level enforced by hardware or software.

MMU: Hardware unit that translates virtual addresses and checks memory permissions.

Paging: Memory-management technique that divides virtual and physical memory into fixed-size pages and frames.

TLB: Cache of recent virtual-to-physical address translations.

Capability: An unforgeable authority token granting specified rights.

Secure boot: Verification of software before it is allowed to execute.

Measured boot: Recording cryptographic measurements of boot components.

Root of trust: Minimal trusted component on which security assertions depend.

TEE: Isolated execution environment for protected code and data.

Hypervisor: Software or firmware that manages virtual machines.

Virtual machine: Software-defined execution environment that abstracts physical hardware.

VM exit: Transfer of control from guest execution to the hypervisor.

IOMMU: Hardware that restricts device DMA access to authorized memory.

Attestation: Cryptographically supported evidence about platform identity or state.

TCB: Components that must be trusted for a security property to hold.

Side channel: Indirect information leakage through observable system behaviour.

Control-flow integrity: Enforcement that execution follows an authorized control-flow policy.

Review Questions

Short Answer Questions

  1. Distinguish protection from security in a microprocessor system.
  2. What functions do the NX bit and W⊕X policy provide?
  3. Explain the difference between secure boot and measured boot.
  4. What is a VM exit, and why can it reduce performance?
  5. Why is an IOMMU important in a virtualized system?

Long Answer Questions

  1. Explain how privilege levels, system calls, paging, and page permissions cooperate to isolate processes.
  2. Compare access-control lists and capability systems, including their advantages and limitations.
  3. Describe the architecture of hardware-assisted virtualization, including CPU, memory, and I/O virtualization.
  4. Analyse the role of roots of trust, attestation, and TEEs in confidential computing.
  5. Discuss why defence in depth is necessary against side channels and hypervisor attacks.

Analytical / Application Questions

  1. A virtualized server executes 15 ms of guest work and incurs 120,000 VM exits at an average cost of 2 μs each. Estimate the total time under the independent-cost approximation, and explain two reasons why a real measurement may differ.
  2. Design a threat model for a multi-tenant edge gateway. Identify assets, adversaries, trust boundaries, and at least five hardware or software controls.
  3. A system uses secure boot but permits unrestricted DMA by a network device. Analyse the resulting security gap and propose an architectural correction.

Multiple Choice Questions with Answers

Question 1

Which mechanism primarily prevents a user-mode process from directly modifying page-table control registers?

A. Privilege-level enforcement

B. Data caching

C. Branch prediction

D. Instruction pipelining

Correct Answer: A. Privilege-level enforcement

Question 2

What is the principal purpose of an NX or execute-disable page attribute?

A. To encrypt the page contents

B. To prevent instruction fetching from the page

C. To increase page size

D. To disable address translation

Correct Answer: B. To prevent instruction fetching from the page

Question 3

Which statement correctly distinguishes secure boot from measured boot?

A. Secure boot records measurements, while measured boot blocks all unsigned code

B. Secure boot verifies authorization before execution, while measured boot records platform state

C. Both terms describe exactly the same operation

D. Measured boot replaces the need for cryptographic keys

Correct Answer: B. Secure boot verifies authorization before execution, while measured boot records platform state

Question 4

A hypervisor is most directly responsible for which task?

A. Compiling guest applications

B. Managing and isolating virtual machines

C. Replacing all guest operating systems

D. Eliminating the need for memory protection

Correct Answer: B. Managing and isolating virtual machines

Question 5

Which hardware component restricts a device’s direct memory access?

A. IOMMU

B. ALU

C. TLB

D. Branch predictor

Correct Answer: A. IOMMU

Question 6

A workload performs 100,000 VM exits, each costing 2 μs. Ignoring other overheads, what is the exit time?

A. 0.02 ms

B. 0.2 ms

C. 20 ms

D. 200 ms

Correct Answer: C. 20 ms

Question 7

What does a capability primarily represent?

A. An unforgeable token conveying authority

B. A physical memory voltage level

C. A cache replacement algorithm

D. A processor clock multiplier

Correct Answer: A. An unforgeable token conveying authority

Question 8

Which of the following is a side-channel example?

A. A process reading a page explicitly marked inaccessible

B. Inferring a secret from cache timing

C. A compiler detecting a syntax error

D. A signed firmware image passing verification

Correct Answer: B. Inferring a secret from cache timing

Question 9

Why are VM exits potentially expensive?

A. They always power off the physical processor

B. They transfer control to the hypervisor and may require state handling and emulation

C. They permanently invalidate all storage

D. They convert all instructions into encrypted form

Correct Answer: B. They transfer control to the hypervisor and may require state handling and emulation

Question 10

What is the main purpose of remote attestation?

A. To increase the guest’s virtual memory size

B. To provide evidence about a platform’s identity or measured state

C. To eliminate all denial-of-service attacks

D. To replace access-control policies

Correct Answer: B. To provide evidence about a platform’s identity or measured state

Microprocessor Architecture
Chapter 13 of 13