Cloud Security

Chapter 2
Cloud Architecture, Virtualization, and Threat Modeling

Bachelors Program in IT
Cloud Security   •   Bachelor

Cloud Architecture, Virtualization, and Threat Modeling

Introduction and Context

Cloud security begins with understanding how cloud services are constructed. A cloud environment is not simply a remote collection of servers. It is a layered computing system in which physical infrastructure, virtualization technologies, orchestration software, application interfaces, identity systems, and customer workloads interact. Each layer introduces opportunities for efficiency and new security risks.

Cloud architecture determines where security controls can be placed and who is responsible for operating them. Virtualization allows many customers to share physical resources, while containers and serverless platforms provide increasingly abstract execution environments. APIs connect these services and often become the primary control mechanism. Consequently, a security analyst must understand both the technology and the paths an attacker might use to move from an exposed interface to sensitive data.

This chapter develops a foundation for analyzing cloud architectures through virtualization concepts, control and data planes, multi-tenancy, isolation mechanisms, and threat modeling. The emphasis is on reasoning about attack paths rather than memorizing lists of vulnerabilities.

Learning Objectives

By the end of this chapter, you should be able to:

  1. Explain the roles of hypervisors, virtual machines, containers, and serverless platforms.
  2. Distinguish control-plane and data-plane operations.
  3. Analyze multi-tenancy and isolation risks.
  4. Explain how APIs function as both operational interfaces and attack surfaces.
  5. Construct a basic cloud threat model using assets, actors, trust boundaries, threats, and mitigations.
  6. Evaluate cloud attack paths and recommend layered controls.
  7. Discuss limitations, governance responsibilities, and emerging architectural trends.

1. Cloud Architecture as a Layered System

A useful conceptual model divides a cloud environment into layers:

  • Physical layer: Data centers, processors, memory, storage devices, network equipment, and power systems.
  • Virtualization layer: Hypervisors, virtual switches, virtual storage, and virtual hardware.
  • Platform layer: Operating-system images, container runtimes, orchestration platforms, managed databases, queues, and identity services.
  • Application layer: Customer applications, business logic, APIs, and data.
  • Management layer: Portals, command-line tools, policy engines, logging systems, billing systems, and automation pipelines.

These layers are logically distinct but operationally interdependent. A compromise in a management interface may alter a firewall rule at the network layer. A vulnerable application may expose credentials that permit control-plane actions. A hypervisor vulnerability could undermine isolation between customers. Security therefore requires analysis of relationships between layers, not only individual components.

The shared responsibility model is central to this analysis. A provider normally secures the physical facilities, hardware, and foundational services. The customer remains responsible for matters such as identity configuration, data protection, workload settings, application security, and appropriate use of provider services. The exact division varies by service model. Infrastructure as a service generally leaves more configuration responsibility with the customer than software as a service.

2. Virtualization and Hypervisors

Virtualization abstracts physical resources so that multiple logical computers can operate on one physical host. A virtual machine (VM) is a software-defined computer with virtual CPUs, memory, storage, and network interfaces. The software that creates and manages this abstraction is a hypervisor, also called a virtual machine monitor.

2.1 Type 1 and Type 2 Hypervisors

A Type 1 hypervisor runs directly on physical hardware. It is commonly used in data centers because it provides a relatively small and specialized control layer between hardware and guest operating systems. A Type 2 hypervisor runs on top of a conventional host operating system and is common on desktops and laboratories.

CharacteristicType 1 hypervisorType 2 hypervisor
Execution positionDirectly on hardwareAbove a host operating system
Typical useServers and cloud infrastructureDesktops, testing, development
DependencyHost hardware and firmwareHost operating system
Security concernHypervisor and management plane compromiseHypervisor, host OS, and local applications

The hypervisor schedules virtual CPUs, maps guest memory to physical memory, mediates access to devices, and commonly provides virtual networking and storage. Security depends on the correctness of these mediation functions. A vulnerability that permits a guest to execute unauthorized operations on the host is often called a VM escape.

2.2 Virtual Machine Isolation

Isolation is not a single feature. It includes:

  • Memory isolation: One VM should not read or modify another VM’s memory.
  • CPU isolation: Scheduling and processor state should not allow unauthorized control or disclosure.
  • Storage isolation: Virtual disks and snapshots must not reveal another tenant’s data.
  • Network isolation: Virtual networks, security groups, and routing rules should prevent unintended traffic.
  • Management isolation: A workload should not obtain administrative access to the virtualization platform.

Isolation can fail through software vulnerabilities, incorrect configuration, insecure images, exposed management interfaces, or side-channel leakage. A side channel does not necessarily break logical access controls; instead, it may reveal information through shared resources such as processor caches, timing, or memory behavior. Cloud providers reduce these risks through patching, hardware design, workload placement policies, monitoring, and restrictions on privileged operations.

2.3 Images, Snapshots, and Metadata

A VM image is a reusable template containing an operating system and possibly applications. Images improve consistency but may preserve passwords, private keys, outdated packages, or excessive permissions. Images should therefore be built through controlled pipelines, scanned for vulnerabilities and secrets, digitally signed where supported, and stored in restricted repositories.

Snapshots are point-in-time copies of disks or system state. They are valuable for recovery but may contain sensitive information that was deleted from the live system. Access policies for snapshots should be at least as restrictive as those for production storage. Metadata services, which provide instance configuration or temporary credentials, also require protection. A server-side request forgery vulnerability can sometimes be used to query metadata endpoints and obtain credentials.

3. Containers and Orchestration

A container packages an application and its dependencies while sharing the host operating system kernel. Unlike a VM, a container does not normally include a complete guest kernel. This usually makes containers faster to start and more efficient in resource use, but it also means that kernel security and runtime configuration are especially important.

Containers use mechanisms such as namespaces to separate process, network, and filesystem views, and control groups to restrict resource consumption. These mechanisms provide isolation, but container isolation is generally not identical to VM isolation. A container with excessive privileges, access to the host filesystem, or access to the container runtime socket may provide a route to host compromise.

A containerized cloud environment commonly includes an orchestrator such as Kubernetes. Its security-relevant components include:

  • Control plane: API server, scheduler, controllers, and state database.
  • Worker nodes: Hosts that execute containers.
  • Pods or workloads: Groups of containers scheduled together.
  • Service and network policies: Mechanisms controlling communication.
  • Registries: Repositories containing container images.
  • Secrets and configuration objects: Data supplied to workloads.

The orchestrator’s API is a high-value target. A stolen token with excessive permissions can allow an attacker to create a workload, read secrets, modify network policies, or execute commands in other containers. Least privilege, admission controls, signed images, runtime monitoring, network segmentation, and protected secrets are therefore essential.

4. Serverless Computing

In serverless computing, the provider manages servers, operating systems, and much of the runtime. Customers deploy functions or services that execute in response to events such as HTTP requests, file uploads, messages, or scheduled jobs.

Serverless changes the security boundary rather than removing it. The customer still controls code, dependencies, permissions, event sources, and data flows. Important risks include:

  • Overly broad function identities.
  • Public or weakly authenticated triggers.
  • Injection through event data.
  • Vulnerable third-party dependencies.
  • Sensitive information in logs.
  • Improper handling of temporary files or reused execution environments.
  • Insecure event permissions that permit unauthorized invocation.

A function should receive only the permissions necessary for its task. For example, a function that resizes images may need to read from one storage location and write to another, but it should not administer all storage resources in the account. Short execution lifetimes and automatic scaling reduce some risks but may complicate monitoring, forensic analysis, and cost control.

5. APIs and Cloud Management Interfaces

Cloud resources are commonly created and controlled through APIs. The web console is often only a graphical client of the same underlying interfaces. This makes API security foundational.

An API request normally involves an identity, an action, a resource, and contextual conditions. Security analysis should ask:

  1. Who is making the request?
  2. How is the requester authenticated?
  3. Is the requester authorized for this exact action and resource?
  4. Can request parameters be manipulated?
  5. Is the request logged with sufficient detail?
  6. Can the request be replayed or escalated?

Common API weaknesses include broken authentication, broken object-level authorization, excessive data exposure, insecure defaults, inadequate rate limiting, and poor validation. A user may be correctly authenticated but still be permitted to access another customer’s object by changing an identifier in a request. This is an authorization failure, not an authentication failure.

API keys should not be treated as universal security solutions. They must be scoped, rotated, protected from source repositories, monitored, and revoked when no longer required. Stronger designs may use short-lived tokens, workload identities, mutual TLS, signed requests, or federated identity. Administrative APIs should be separated from public application APIs where possible.

6. Control Plane and Data Plane

The control plane manages resources and configuration. Examples include creating a VM, changing an identity policy, modifying a route, or deleting a storage bucket. The data plane carries or processes application data. Examples include a web request reaching a service, a database query, or an object being downloaded.

This distinction is important because a control-plane compromise can indirectly compromise many data-plane resources. For example, an attacker who changes a storage policy may not need to attack the storage service itself. Conversely, data-plane controls protect the confidentiality, integrity, and availability of information during normal service operation.

PlanePrimary functionTypical assetsExample security controls
Control planeProvision and configure resourcesIdentities, policies, orchestration APIsMFA, least privilege, approval workflows, immutable logs
Data planeDeliver and process workload dataApplications, databases, files, messagesEncryption, segmentation, validation, runtime monitoring

Some services also distinguish an administrative or management plane from service-specific control interfaces. The terminology varies, but the analytical principle remains: identify which interfaces can change architecture and which interfaces handle business data.

7. Multi-Tenancy and Isolation

Multi-tenancy means that multiple customers, organizational units, or workloads share some infrastructure while remaining logically separated. Shared tenancy improves utilization and reduces cost, but it creates risks involving data leakage, noisy-neighbor effects, resource exhaustion, misconfiguration, and side channels.

Isolation may be implemented through several layers:

  • Account, subscription, or project boundaries.
  • Identity and policy boundaries.
  • Virtual networks and security groups.
  • Hypervisor or container boundaries.
  • Separate storage namespaces and encryption keys.
  • Dedicated hardware or placement controls for highly sensitive workloads.

A security boundary is only as strong as its weakest relevant control. Network segmentation does not compensate for a shared administrative identity with excessive privileges. Encryption does not prevent an authorized but malicious service account from reading plaintext through an application. Effective isolation is therefore defense in depth.

Resource exhaustion is a major multi-tenant concern. An attacker may consume CPU, memory, storage, API requests, or serverless invocations. Rate limits, quotas, autoscaling limits, budget alerts, workload priorities, and denial-of-service protections help reduce this risk. Availability controls must be designed carefully because aggressive limits can also deny legitimate users.

8. Threat Modeling Cloud Systems

Threat modeling is a structured process for identifying what can go wrong, why it could happen, and how risk can be reduced. It should be performed during design and revisited when architecture, dependencies, identities, or data flows change.

A practical cloud threat model contains five elements:

  1. Assets: Data, credentials, workloads, services, configurations, logs, and availability.
  2. Actors: External attackers, malicious insiders, compromised users, suppliers, automated bots, and accidental operators.
  3. Trust boundaries: Points where privilege, ownership, network location, or processing context changes.
  4. Threats: Actions that could compromise confidentiality, integrity, availability, authenticity, or accountability.
  5. Controls: Preventive, detective, corrective, and compensating measures.

A data-flow diagram is particularly useful. It should show users, external services, APIs, queues, storage, identities, and administrative paths. Each arrow should indicate the data or command being transferred and the authentication or authorization mechanism used.

8.1 STRIDE and Other Models

STRIDE categorizes threats as:

  • Spoofing: Pretending to be another identity.
  • Tampering: Unauthorized modification.
  • Repudiation: Inability to prove who performed an action.
  • Information disclosure: Unauthorized exposure.
  • Denial of service: Preventing legitimate use.
  • Elevation of privilege: Obtaining greater authority than intended.

STRIDE helps generate questions, but it does not automatically determine probability or business impact. The CIA triad—confidentiality, integrity, and availability—helps classify consequences. Risk assessment should also consider regulatory obligations, safety, financial loss, recovery time, and reputational harm.

A simple qualitative risk model is:

Risk ≈ Likelihood × Impact

Here, likelihood and impact are assessment scales rather than physical units. The expression is a prioritization aid, not a precise probability equation. It should not be interpreted as an objectively measured value unless the organization defines and validates its scales. A high-impact threat with moderate likelihood may deserve earlier treatment than a frequent but low-impact nuisance.

8.2 Attack Paths

An attack path is a sequence of actions through which an attacker moves from an initial condition to an objective. Consider this illustrative path:

  1. An internet-facing application contains a server-side request forgery flaw.
  2. The attacker induces the application to request a metadata endpoint.
  3. Temporary credentials are obtained.
  4. The credentials have permission to list storage objects and read selected data.
  5. Sensitive records are copied to an attacker-controlled location.

Threat modeling reveals that the primary weakness is not only the application flaw. The path depends on metadata exposure, credential scope, storage permissions, and monitoring gaps. Controls can therefore be layered: validate and restrict outbound requests, protect metadata access, use narrowly scoped workload identities, encrypt and classify data, and alert on unusual access.

9. A Structured Method for Cloud Risk Analysis

A repeatable assessment can follow these steps:

Step 1: Establish scope and business context

Identify the system, data classifications, regulatory requirements, critical processes, recovery expectations, and service dependencies.

Step 2: Map architecture and data flows

Document accounts, regions, networks, workloads, APIs, identities, storage, third parties, and administrative paths. Include temporary resources and automation pipelines.

Step 3: Identify trust boundaries

Mark transitions between public and private networks, customer and provider responsibilities, tenants, privilege levels, runtime types, and development and production environments.

Step 4: Enumerate threats and abuse cases

Use STRIDE, attack trees, incident history, vulnerability intelligence, and misuse cases. Consider both malicious actions and accidental misconfiguration.

Step 5: Assess existing controls

Examine identity policies, network rules, encryption, key management, logging, backups, patching, image pipelines, secrets handling, and incident response.

Step 6: Prioritize treatment

Select controls according to risk, feasibility, cost, operational impact, and compliance requirements. Avoid treating compliance presence as proof of adequate security.

Step 7: Validate continuously

Use configuration scanning, penetration testing where authorized, threat detection, tabletop exercises, recovery tests, and review of provider changes.

10. Illustrative Case: A Multi-Tenant Document Processing Service

Background

Consider a fictional company, Northstar Records, which provides document conversion for legal firms. Customers upload documents through an API. A serverless function scans each file, a containerized service converts formats, and results are stored in object storage. Administrators use a separate cloud account to manage deployment.

Problem

A review discovers that uploaded files are processed by a function with permission to read and write across the entire storage account. The conversion service runs containers with access to the container runtime socket. The public API uses long-lived API keys, and logs include full document names and occasional extracted text. No alert exists for unusual downloads.

Analysis

The architecture contains several trust boundaries: public clients to the API, API to serverless functions, functions to storage, and containers to the host runtime. The major assets are customer documents, API credentials, deployment credentials, and audit records.

Threat modeling identifies the following paths:

  • A stolen API key could invoke processing repeatedly, causing cost and availability problems.
  • A malicious document could exploit a conversion dependency.
  • Broad function permissions could allow unauthorized reading of unrelated customers’ documents.
  • Container runtime access could enable host or neighboring workload compromise.
  • Logs could disclose legally sensitive information.

Approach and Solution

Northstar replaces long-lived keys with short-lived federated credentials and client-specific authorization. Each function receives a narrowly scoped identity tied to the relevant storage prefix. Storage policies deny cross-customer access by default. The container runtime socket is removed from conversion workloads, and conversion occurs in isolated worker environments with restricted egress. Files are scanned and validated before processing; conversion libraries are pinned, patched, and rebuilt through a signed image pipeline.

Logs are redesigned to record event identifiers, customer-safe metadata, and access decisions rather than document contents. Encryption keys are separated by environment, and sensitive administrative actions require multifactor authentication and approval. Rate limits and queue quotas reduce abuse, while alerts detect abnormal download volumes and unusual credential use.

Outcome

The revised design reduces the impact of a compromised function, limits cross-tenant access, and improves investigation without eliminating all risk. The company still needs vulnerability management, recovery testing, supplier review, and periodic threat-model updates.

Learning Points

  1. Excessive permissions can turn a local compromise into a tenant-wide incident.
  2. Containerization is not a substitute for secure runtime configuration.
  3. Logging must support investigation without unnecessarily duplicating sensitive data.
  4. Rate limiting and quotas protect both availability and financial cost.
  5. Security architecture is strongest when identity, isolation, runtime, and monitoring controls reinforce one another.

11. Best Practices and Professional Implications

Cloud professionals should apply the following principles:

  • Design identities before deploying workloads.
  • Use least privilege for human, service, and machine identities.
  • Separate production, development, testing, and security administration.
  • Prefer short-lived credentials and managed workload identities.
  • Treat infrastructure as code, with peer review and policy checks.
  • Use hardened, minimal images and maintain a software bill of materials where practical.
  • Protect build and deployment pipelines because they are control-plane paths.
  • Encrypt data in transit and at rest, while separately protecting keys and access policies.
  • Enable immutable or tamper-resistant audit logging.
  • Test backups and recovery rather than merely creating backups.
  • Establish quotas, rate limits, and cost monitoring.
  • Monitor provider advisories and changes to managed services.
  • Conduct authorized security testing and respect tenant, privacy, and legal boundaries.

Cloud security work also has ethical dimensions. Analysts may have access to personal, financial, health, or commercially confidential information. Collection should be proportionate to the purpose, access should be justified, and investigations should follow documented authorization. Data residency, retention, breach notification, contractual commitments, and sector-specific regulations must be considered when selecting regions and services. Automation and AI-based detection can improve scale, but false positives, opaque decisions, and exposure of telemetry to external systems require governance and human review.

12. Challenges and Contemporary Developments

Cloud environments change rapidly. Ephemeral workloads may exist for seconds, making traditional asset inventories incomplete. Managed services can hide implementation details, limiting customer visibility. Multi-cloud architectures increase resilience for some organizations but also multiply identity models, logging formats, and policy complexity.

Confidential computing seeks to protect data while it is being processed through hardware-supported trusted execution environments. It can reduce certain risks from privileged infrastructure operators, but it does not eliminate application vulnerabilities or misuse by authorized identities. Software supply-chain security is increasingly important because images, packages, infrastructure modules, and build tools can introduce compromise before deployment.

Identity-based security and zero-trust approaches are becoming more significant as network location becomes less meaningful. Access decisions increasingly combine identity, device or workload posture, resource, action, and context. Policy-as-code can improve consistency, but poorly designed policies may automate errors at scale. Security teams therefore need both technical skills and the ability to reason about governance, operational trade-offs, and evidence.

Chapter Summary

Cloud security depends on understanding the architecture beneath cloud services. Hypervisors provide virtual machine abstraction and must enforce isolation among CPU, memory, storage, network, and management functions. Containers share a host kernel and are efficient but require careful runtime, image, and orchestration security. Serverless platforms reduce infrastructure management while leaving customers responsible for code, identity, event sources, and data handling.

APIs expose cloud capabilities and must provide strong authentication, precise authorization, validation, rate limiting, and auditability. The control plane provisions and changes resources, while the data plane carries and processes workload information; control-plane compromise can affect many data-plane assets. Multi-tenancy creates efficiency but requires layered isolation and protection against leakage, exhaustion, and side channels.

Threat modeling identifies assets, actors, trust boundaries, threats, attack paths, and controls. STRIDE, the CIA triad, data-flow diagrams, and qualitative risk assessment provide useful foundations. Effective practice combines least privilege, segmentation, secure images, protected secrets, encryption, logging, monitoring, recovery testing, and continuous review. Security is not a single product or configuration; it is a system of mutually reinforcing controls applied across architecture and operations.

Key Terms

Hypervisor: Software that creates and manages virtual machines.

Virtual machine: A software-defined computer with virtualized hardware resources.

VM escape: An attack in which code or a process moves from a guest VM into the host or hypervisor context.

Container: An isolated application environment that commonly shares the host operating-system kernel.

Container orchestration: Automated scheduling, networking, scaling, and management of containers.

Serverless computing: A model in which the provider manages servers and customers deploy event-driven code or services.

API: A defined interface through which software requests data or operations from another service.

Control plane: The set of interfaces and services used to create, configure, and manage resources.

Data plane: The components that carry or process application data during normal operation.

Multi-tenancy: The sharing of infrastructure or services by multiple customers or organizational units.

Isolation: Separation that prevents one workload, identity, or tenant from improperly affecting another.

Trust boundary: A point where ownership, privilege, processing context, or security assumptions change.

Threat modeling: A structured process for identifying threats, attack paths, impacts, and mitigations.

STRIDE: A threat categorization method covering spoofing, tampering, repudiation, information disclosure, denial of service, and elevation of privilege.

Least privilege: Granting only the permissions necessary for an identity or process to perform its intended task.

Metadata service: An internal service that supplies instance or workload information, often including temporary credentials.

Side channel: An indirect source of information derived from observable behavior such as timing or resource use.

Infrastructure as code: Declarative or programmatic management of infrastructure configurations.

Workload identity: An identity assigned to an application, service, or automated process.

Shared responsibility model: The allocation of security duties between a cloud provider and its customer.

Review Questions

Short Answer Questions

  1. What is the primary difference between a Type 1 and a Type 2 hypervisor?
  2. Why is container isolation generally different from virtual-machine isolation?
  3. Distinguish the control plane from the data plane.
  4. Define multi-tenancy and identify two associated risks.
  5. What is the purpose of a trust boundary in threat modeling?

Long Answer Questions

  1. Explain how a hypervisor supports VM isolation and describe three ways that isolation can fail.
  2. Compare the security responsibilities of VM-based, container-based, and serverless architectures.
  3. Explain why cloud APIs are high-value security targets and recommend controls for protecting them.
  4. Describe the stages of a structured cloud threat-modeling process.
  5. Discuss how least privilege, segmentation, encryption, and monitoring work together in a multi-tenant system.

Analytical / Application Questions

  1. A serverless image-processing function can read every object in a storage account. Analyze the attack paths created by this design and propose a revised permission model.
  2. A containerized application is compromised through a vulnerable dependency. Explain which trust boundaries the attacker might target and identify controls that would limit lateral movement.
  3. Construct a qualitative threat model for a public API connected to a database and object storage. Identify at least four assets, three threats, two trust boundaries, and appropriate mitigations.

Multiple Choice Questions with Answers

Question 1

Which component directly manages the allocation of virtual CPUs and guest memory on a physical host?

A. Hypervisor

B. API gateway

C. Object store

D. Identity provider

Correct Answer: A. Hypervisor

Question 2

Which statement best distinguishes containers from virtual machines?

A. Containers always require a separate physical server.

B. Containers commonly share the host operating-system kernel.

C. Containers cannot be networked.

D. Containers provide automatic protection from application vulnerabilities.

Correct Answer: B. Containers commonly share the host operating-system kernel.

Question 3

Which activity is primarily a control-plane operation?

A. A customer downloads an object

B. A web request is processed by an application

C. An administrator changes a storage access policy

D. A database returns a query result

Correct Answer: C. An administrator changes a storage access policy

Question 4

A user changes an object identifier in an API request and accesses another customer’s record. What type of weakness is most directly illustrated?

A. Broken object-level authorization

B. Physical tampering

C. Power failure

D. Image compression

Correct Answer: A. Broken object-level authorization

Question 5

Which permission is most appropriate for a function that only reads uploaded images and writes resized images to a designated output location?

A. Full administrator access to the cloud account

B. Read and write access to all customer storage

C. Read access to the input location and write access only to the output location

D. Permission to modify identity policies

Correct Answer: C. Read access to the input location and write access only to the output location

Question 6

In STRIDE, unauthorized modification of a cloud configuration is classified primarily as:

A. Spoofing

B. Tampering

C. Repudiation

D. Denial of service

Correct Answer: B. Tampering

Question 7

Which scenario is an example of a control-plane attack path?

A. An attacker changes an identity policy and then accesses protected storage

B. A user views a permitted web page

C. A database executes a valid query

D. A function writes an authorized log entry

Correct Answer: A. An attacker changes an identity policy and then accesses protected storage

Question 8

Why are container runtime sockets considered sensitive?

A. They automatically encrypt all container traffic.

B. They may allow a container to control the container runtime or host.

C. They are used only for displaying application logos.

D. They prevent image vulnerabilities.

Correct Answer: B. They may allow a container to control the container runtime or host.

Question 9

Which control most directly reduces the impact of a stolen workload credential?

A. Granting the credential administrator privileges

B. Using narrowly scoped permissions and short-lived credentials

C. Disabling all audit logging

D. Allowing unrestricted outbound traffic

Correct Answer: B. Using narrowly scoped permissions and short-lived credentials

Question 10

The expression Risk ≈ Likelihood × Impact is best understood as:

A. A universal physical law with fixed units

B. A qualitative prioritization aid whose scales must be defined

C. A formula that removes uncertainty from security decisions

D. A calculation applicable only to network bandwidth

Correct Answer: B. A qualitative prioritization aid whose scales must be defined

Cloud Security
Chapter 2 of 15