Appendix B: Glossary#

This glossary defines key terms used throughout the book. Terms are cross-referenced to the chapter where they are introduced in depth.


Access control list (ACL): An ordered set of permit and deny rules applied to network traffic or file-system permissions. (Ch. 11)

Advanced Persistent Threat (APT): A sophisticated, long-duration threat actor, typically state-sponsored, with significant resources and patience. (Ch. 1)

Air gap: Physical separation between two networks with no network connection. (Ch. 20)

Annualised Loss Expectancy (ALE): Expected monetary loss from a risk per year; ALE = SLE × ARO. (Ch. 5)

Anomaly detection: Detecting deviations from a baseline of normal behavior. (Ch. 12)

Attack surface: The total set of exploitable entry points in a system. (Ch. 1)

Authentication: Verifying the identity of a user, system, or process. (Ch. 2)

Availability: The property that systems and data are accessible when needed. (Ch. 1)

Baiting: Leaving a malicious device (USB) for a victim to use. (Ch. 4)

Bitcoin: A decentralized digital currency frequently used for ransomware payments. (Ch. 15)

Blue team: Defenders; the team responsible for protecting systems. (Ch. 6)

Botnet: A network of compromised machines under attacker control. (Ch. 15)

Buffer overflow: Writing past the end of an allocated memory buffer. (Ch. 9)

Business Email Compromise (BEC): Impersonating an executive to authorize fraudulent transactions. (Ch. 4)

CISO: Chief Information Security Officer. (Ch. 19)

CIA triad: Confidentiality, Integrity, Availability; the three core security properties. (Ch. 1)

Certificate Authority (CA): A trusted entity that issues digital certificates. (Ch. 2)

Chain of custody: Documentation of who handled evidence and when. (Ch. 13)

CVSS: Common Vulnerability Scoring System; a 0-10 severity scale for vulnerabilities. (Ch. 6)

CVE: Common Vulnerabilities and Exposures; a unique identifier for a known vulnerability. (Ch. 8)

Confidential virtual machine: A virtual machine whose memory and processor state hardware protects from the hypervisor and the cloud operator, such as an Intel TDX trust domain or an AMD SEV-SNP guest. (Ch. 1)

Confidentiality: Preventing unauthorized access to information. (Ch. 1)

Cryptography: Mathematical techniques for secure communication and data protection. (Ch. 2)

Data minimization: Collecting only the personal data necessary for the stated purpose. (Ch. 18)

Defense in depth: Using multiple overlapping security layers. (Ch. 1)

Digital signature: A cryptographic proof of origin and integrity using asymmetric keys. (Ch. 2)

DMZ: Demilitarised Zone; a network segment between the internet and internal network. (Ch. 11)

DDoS: Distributed Denial of Service; overwhelming a system with traffic from many sources. (Ch. 11)

Encryption: Transforming data with a key so only key holders can reverse it. (Ch. 2)

Exploit: Code or technique that takes advantage of a vulnerability. (Ch. 1, 9)

False positive: An alert fired on benign activity. (Ch. 12)

False negative: A real attack that did not trigger an alert. (Ch. 12)

Firewall: A device or software that enforces access control between networks. (Ch. 11)

Forensic image: A bit-for-bit copy of a storage device. (Ch. 13)

GDPR: General Data Protection Regulation; EU law governing personal data. (Ch. 18)

Hash function: A one-way function producing a fixed-length digest. (Ch. 2)

Heavy tail: A distribution tail that thins out more slowly than any exponential curve, as with power laws and lognormals, so extreme values are far more common than a normal curve predicts; when the tail is heavy enough, averages are unstable and a few cases dominate the total. (Ch. 17)

HIPAA: Health Insurance Portability and Accountability Act; US healthcare privacy law. (Ch. 18)

HMAC: Hash-based Message Authentication Code. (Ch. 2)

ICS: Industrial Control System. (Ch. 20)

IDS/IPS: Intrusion Detection System / Intrusion Prevention System. (Ch. 12)

Incident: An event that jeopardises confidentiality, integrity, or availability. (Ch. 14)

Integrity: Assurance that data has not been altered without authorization. (Ch. 1)

IOC: Indicator of Compromise. (Ch. 14, 15)

Lateral movement: Moving from an initial foothold to other network systems. (Ch. 9)

Malware: Malicious software. (Ch. 15)

Modulo bias: Non-uniformity introduced when random values are reduced to a smaller range with the remainder operation and the range does not divide their count evenly; avoided by rejection sampling. (Ch. 17)

MTTD: Mean Time to Detect. (Ch. 12, 14)

NIST CSF: NIST Cybersecurity Framework. (Ch. 1)

Normal (Gaussian) distribution: The symmetric bell curve fixed by a mean and a standard deviation; the standard normal distribution has mean 0 and standard deviation 1. (Ch. 17)

OSINT: Open-Source Intelligence. (Ch. 7)

OWASP Top 10: The ten most critical web application security risk categories. (Ch. 10)

Pareto distribution: A heavy-tailed distribution whose upper tail falls off as a power of the value, a common model for wealth and many loss sizes; with a tail index near 1.16 it produces the 80/20 rule. (Ch. 17)

Pass-the-hash: Authenticating with a captured NTLM hash without cracking it. (Ch. 9)

PCI DSS: Payment Card Industry Data Security Standard. (Ch. 18)

Penetration test: An authorized simulated attack to identify exploitable vulnerabilities. (Ch. 6)

Phishing: Mass email impersonating a trusted entity to steal credentials. (Ch. 4)

PKI: Public Key Infrastructure. (Ch. 2)

PLC: Programmable Logic Controller. (Ch. 20)

Poisson distribution: The distribution of the number of independent events in a fixed window at a steady average rate; its variance equals its mean. (Ch. 5, 17)

Post-quantum cryptography: Cryptographic algorithms resistant to quantum computers. (Ch. 17)

Privilege escalation: Gaining higher access than initially obtained. (Ch. 9)

Ransomware: Malware that encrypts files and demands payment. (Ch. 15)

Red team: Attackers; the team simulating adversary behavior. (Ch. 6)

Risk: The probability that a threat exploits a vulnerability, weighted by impact. (Ch. 5)

Risk compensation: The tendency to take more risk when protected, which can erode the benefit of a control. (Ch. 5)

ROSI: Return on Security Investment. (Ch. 5)

RPO: Recovery Point Objective; maximum tolerable data loss window. (Ch. 5)

RTO: Recovery Time Objective; maximum tolerable downtime. (Ch. 5)

SCADA: Supervisory Control and Data Acquisition. (Ch. 20)

SIEM: Security Information and Event Management. (Ch. 12)

Social engineering: Manipulating people to divulge information or take actions. (Ch. 4)

SQL injection: Injecting SQL code via user input to manipulate a database. (Ch. 10)

Supply chain attack: Compromising a target by attacking a trusted vendor or dependency. (Ch. 17)

System Management Mode (SMM): An x86 processor mode, entered only through a system management interrupt, in which firmware runs from protected memory that the operating system cannot see; informally called ring -2. (Ch. 1)

Threat actor: A person or group responsible for an attack. (Ch. 1)

TLS: Transport Layer Security; protocol securing HTTPS and other communications. (Ch. 2, 11)

Trusted execution environment (TEE): An area that hardware protects even from more privileged software, such as an SGX enclave, the Arm TrustZone secure world, or a confidential virtual machine. (Ch. 1)

Trusted platform module (TPM): A root of trust that generates and protects keys and records boot measurements; it may be a discrete chip, integrated circuitry, or firmware. (Ch. 1)

Uniform distribution: A distribution in which every value in a range is equally likely, such as a fair die; the target for cryptographic keys, tokens and other random secrets. (Ch. 17)

Vulnerability: A weakness that can be exploited. (Ch. 1)

YARA: A pattern-matching language for malware identification. (Ch. 15)

Z-score: The number of standard deviations a value lies from the mean. (Ch. 17)

Zero trust: Security model requiring verification for every request regardless of network location. (Ch. 11)

Zero-day: A vulnerability unknown to the vendor; no patch exists. (Ch. 17)

Acronyms Used in More Than One Chapter#

A reader who opens one chapter should be able to decode every acronym in it. An acronym that belongs to a single chapter is expanded there, at its first use. An acronym that recurs across chapters is listed here instead: expanding it once per chapter would be noise in each of them, and would still leave a reader who starts in the middle unserved. The chapter column names the places the term appears, not the only place it is discussed.

Acronym

Stands for

Appears in

AI

Artificial intelligence

Ch. 15, App. E, App. K

APNIC

Asia-Pacific Network Information Centre (the regional internet registry for Asia and the Pacific)

Ch. 3, Ch. 7

ARP

Address Resolution Protocol

Ch. 8, Ch. 11, Ch. 15, App. K

BCP

Business continuity plan

Ch. 3, Ch. 11, App. I

CCA1

Non-adaptive chosen-ciphertext attack (the attacker queries decryption only before seeing the challenge ciphertext)

Ch. 2, App. J

CCA2

Adaptive chosen-ciphertext attack (the attacker may keep querying after seeing the challenge ciphertext)

App. J

CIP

Critical Infrastructure Protection (the NERC CIP standards)

Ch. 19, Ch. 20

CISSP

Certified Information Systems Security Professional

Preface, Ch. 1, Ch. 2, App. C

CSPRNG

Cryptographically secure pseudorandom number generator

Ch. 2, Ch. 10, App. F

CSRF

Cross-site request forgery

Ch. 10, App. I

CSWP

Cybersecurity White Paper (a NIST publication series)

Ch. 1, Ch. 5, Ch. 19

CTF

Capture the flag

Ch. 6, App. C, App. E

DARPA

Defense Advanced Research Projects Agency

Ch. 9, Ch. 15

DAST

Dynamic application security testing

Ch. 10, Ch. 17

DH

Diffie-Hellman key exchange

Ch. 2, App. I

DHCP

Dynamic Host Configuration Protocol

Ch. 11, App. I, App. K

DIE

Distributed, immutable, ephemeral (the DIE triad of Section 1.2)

Ch. 1, Ch. 11

DKIM

DomainKeys Identified Mail

Ch. 3, Ch. 7, Ch. 13, Ch. 15, App. I

DLP

Data loss prevention

Ch. 14, App. C

DMARC

Domain-based Message Authentication, Reporting and Conformance

Ch. 3, Ch. 13, App. I

DNSSEC

Domain Name System Security Extensions

Ch. 2, Ch. 7

DoH

DNS over HTTPS

Ch. 11, App. I

DSA

Digital Signature Algorithm

Ch. 2, App. F, App. H

DTLS

Datagram Transport Layer Security

Ch. 2, Ch. 20

ECDHE

Elliptic Curve Diffie-Hellman Ephemeral

Ch. 2, Ch. 17

EDR

Endpoint detection and response

Ch. 14, Ch. 20, App. E, App. K

FHE

Fully homomorphic encryption

Ch. 2, App. E, App. F, App. J

FIDO2

Fast Identity Online 2 (the WebAuthn and CTAP specifications together)

Ch. 4, Ch. 11, Ch. 19

GCM

Galois/Counter Mode

Ch. 2, Ch. 10, Ch. 19

GDB

GNU Debugger (the GNU Project debugger)

Ch. 9, Ch. 15, Ch. 16, App. A

GF

Galois field (a finite field, written \(\mathrm{GF}(2^8)\) and so on)

Ch. 2, App. F

GPS

Global Positioning System

Ch. 18, App. H

GUI

Graphical user interface

Ch. 8, Ch. 13, Ch. 15

HVAC

Heating, ventilation, and air conditioning

Ch. 11, Ch. 17

IaaS

Infrastructure as a service

Ch. 17, Ch. 19

IAM

Identity and access management

Ch. 1, Ch. 14

ICMP

Internet Control Message Protocol

Ch. 8, Ch. 16

IoT

Internet of Things

Ch. 3, Ch. 7, Ch. 13, Ch. 15, App. I

IPFIX

IP Flow Information Export

Ch. 11, Ch. 12

IPsec

Internet Protocol Security

Ch. 2, Ch. 3, Ch. 8, App. A

JWT

JSON Web Token

Ch. 2, Ch. 10, Ch. 16

KEM

Key encapsulation mechanism

Ch. 2, App. J

LACNIC

Latin American and Caribbean Network Information Centre (a regional internet registry)

Ch. 3, Ch. 7

LDAP

Lightweight Directory Access Protocol

Ch. 6, Ch. 9, Ch. 10, App. K

LLM

Large language model

Ch. 15, App. E

LSASS

Local Security Authority Subsystem Service (the Windows process that holds credential material in memory)

Ch. 9, Ch. 12, Ch. 15

LUKS

Linux Unified Key Setup

Ch. 2, Ch. 11, Ch. 15, Ch. 18

LWE

Learning with errors (the lattice problem underlying most post-quantum and homomorphic schemes)

Ch. 17, App. J

ML

Machine learning

Ch. 12, App. F, App. H

MPC

Multi-party computation (secure multi-party computation)

Ch. 18, App. J

NAT

Network address translation

Ch. 8, App. A, App. I

NCC

Network Coordination Centre (as in RIPE NCC)

Ch. 3, Ch. 7

NetBIOS

Network Basic Input/Output System

Ch. 3, App. K

NTLM

NT LAN Manager

Ch. 9, App. K

NX

No-execute (the processor bit that marks a memory page non-executable)

Ch. 11, Ch. 16

OSI

Open Systems Interconnection (the seven-layer reference model)

Ch. 17, App. K

OT

Operational technology

Ch. 20, App. C, App. D, App. E

PBKDF2

Password-Based Key Derivation Function 2

Ch. 2, App. F

PCAP

Packet capture (the file format, and the libpcap library that writes it)

Ch. 13, Ch. 16

RADIUS

Remote Authentication Dial-In User Service

Ch. 11, Ch. 12, App. I

RAG

Retrieval-augmented generation

Ch. 17, App. F

RDP

Remote Desktop Protocol

Ch. 9, Ch. 13, Ch. 15

RIPE

Réseaux IP Européens (European IP Networks; with NCC, the regional internet registry for Europe)

Ch. 3, Ch. 7

SaaS

Software as a service

Ch. 11, Ch. 13, Ch. 14, Ch. 19

SFTP

SSH File Transfer Protocol

Ch. 3, App. I

SGX

Software Guard Extensions (Intel SGX)

Ch. 2, App. F

SMB

Server Message Block

Ch. 8, Ch. 11, Ch. 15, App. I

SOAR

Security orchestration, automation and response

Ch. 17, App. K

SOC

Security operations center

Ch. 9, Ch. 14, Ch. 16

SOX

Sarbanes-Oxley Act

Ch. 14, Ch. 17

SPF

Sender Policy Framework

Ch. 3, Ch. 7, Ch. 15

SSRF

Server-side request forgery

Ch. 16, Ch. 17

STRIDE

Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege

Ch. 5, Ch. 6

SYN

Synchronize (the TCP flag that opens a connection)

Ch. 3, Ch. 11, App. E

TPM

Trusted Platform Module

Ch. 11, Ch. 15, App. K

UAC

User Account Control (Windows)

Ch. 9, Ch. 15

V2X

Vehicle-to-everything

Ch. 2, Ch. 17

VLAN

Virtual local area network

Ch. 3, Ch. 11, Ch. 14, App. I

VPC

Virtual private cloud

Ch. 3, Ch. 17

XDR

Extended detection and response

Ch. 12, App. E, App. K

XSS

Cross-site scripting

Ch. 3, Ch. 10, Ch. 16, App. K

Acronyms that are not in this table and not expanded in the chapter that uses them are either names rather than initialisms (YARA, SEAL, NTRU, BB84), identifiers rather than words (a MITRE technique ID, an OWASP category, a CPU register, a CVSS vector metric), or assumed known at this level (AES, TLS, HTTP, USB, CPU). Section 15.38 and the reverse-engineering section below cover the dense binary-analysis vocabulary separately.

Cloud and Infrastructure Terminology#

The following terms recur in cloud computing and modern infrastructure (the conventions below align with major cloud providers such as Amazon Web Services and apply broadly). They complement the security-focused entries above and the networking material of Chapter 3 and the cloud-security material of Chapter 17.

Term

Definition

Access Control List (ACL)

A list of permit/deny rules attached to a resource. In object storage (e.g., Amazon S3), an ACL defines which users may read or write a specific bucket or object; in networking, a network ACL is a stateless, subnet-level traffic filter (Ch. 3, Ch. 11).

Authentication

The process of proving your identity to a system (Ch. 1, Ch. 11).

Authorization

The process of granting permissions to an already-authenticated entity (Ch. 1, Ch. 11).

Availability

A property indicating whether an application, data, or service is accessible and usable on demand by an authorized entity (Ch. 1, Ch. 17).

Availability Zone (AZ)

A distinct, isolated location within a cloud Region, insulated from failures in other zones, with low-latency links to the others in the same Region (Ch. 17).

Amazon Web Services (AWS)

A large cloud service provider offering on-demand compute, storage, networking, and software services (Ch. 17).

Application Programming Interface (API)

The full set of operations, types, inputs, and outputs a service exposes for programmatic use (Ch. 10, Ch. 17).

Bit

A single binary digit, either 0 or 1, the basic unit of computing (Ch. 2, Ch. 3).

CPU (Central Processing Unit)

The core computational hardware component of a server or device that processes instructions and data (Ch. 1).

Classless Inter-Domain Routing (CIDR)

An IP address allocation and route-aggregation method using a prefix length (e.g., /24) to size networks (Ch. 3).

Client

A machine or application that accesses a service over a network on a user’s behalf, such as a laptop, phone, or tablet (Ch. 3).

Client-side encryption

Encrypting data locally, before it leaves the client, to protect it in transit and at rest (Ch. 2).

Credentials

The secrets a system uses to identify a caller and decide access, such as a username and password, an access key, a security key, or a one-time passcode (Ch. 11).

Cloud Service Provider (CSP)

A company that provides subscribers with internet-hosted compute, storage, and software services (e.g., AWS) (Ch. 17).

Data center

A physical facility that houses computing infrastructure, servers, storage, and network equipment (Ch. 20).

Data (network) packet

A unit of data packaged for travel along a network path (Ch. 3).

Deploy

To install or update application components onto infrastructure resources (Ch. 17).

Device

Hardware that provides access to applications, files, and services (phone, laptop, tablet, PC, server) (Ch. 3, Ch. 20).

DNS (Domain Name System)

The service that translates human-readable domain names into numeric IP addresses (Ch. 3).

Durability

A storage system’s ability to retain data over time despite failures (e.g., Amazon S3 is designed for 99.999999999%, “eleven nines,” durability), distinct from availability (Ch. 17).

Edge location

A data center at the network edge (a point of presence) used to serve content and run service operations close to users (Ch. 17).

Elasticity

The ability to acquire resources when needed and release them when not, ideally automatically (Ch. 17).

Encrypt

To transform data with a cryptographic algorithm so it is unintelligible without the key (Ch. 2).

Entity

An individual, organization, device, or process that can act in a system (Ch. 1).

Failover

Redirection of traffic from a primary system to a secondary system after a failure (Ch. 14, Ch. 17).

Firewall

A device or software that filters traffic between networks, typically at the boundary between a private network and the internet (Ch. 11).

Gateway

A device or node that connects two networks, often translating between protocols (Ch. 3).

HTTP / HTTPS

The protocol used to transmit data over the web; HTTPS is HTTP carried over TLS (Ch. 2, Ch. 3).

IP (Internet Protocol)

The protocol that defines addressing on a network; versions include IPv4 and IPv6 (Ch. 3).

IP address

A unique number identifying a device on a network. IPv4 addresses are 32 bits in dotted-decimal notation (four 0-255 octets), e.g., 192.0.2.10 (Ch. 3).

Internet Service Provider (ISP)

A company that provides access to the internet (Ch. 3).

IT / Information Systems (IS)

The function or department responsible for installing and maintaining computer hardware and software (Ch. 1, Ch. 20).

Launch

Installing and configuring a new virtual server or application, on premises or in the cloud (Ch. 17).

Multi-Factor Authentication (MFA)

Requiring two or more authentication factors (e.g., a password plus a single-use code from a device) for stronger account security (Ch. 11).

On premises

IT hardware and software hosted at the organization’s own location or data center, rather than in the cloud (Ch. 17).

Operating system (OS)

Software that mediates between hardware and the applications running on it (Ch. 1).

Personal Computer (PC)

A small-scale computer for individual use, such as a laptop or desktop (Ch. 1).

Port / port number

A logical identifier for a specific process or network service; well-known examples include 80 (HTTP), 443 (HTTPS), and 53 (DNS) (Ch. 3).

Protocol

A set of rules governing how data is transmitted between devices, e.g., HTTP, SMTP, TLS (Ch. 3).

Region

A named geographic area of cloud resources, comprising multiple (typically three or more) Availability Zones (Ch. 17).

Regional services

Cloud services built across multiple Availability Zones so they require only a Region and inherit zone redundancy (Ch. 17).

Resiliency

The ability of a system to recover from and continue operating through a disruption (clustering, redundancy, failover) (Ch. 14, Ch. 17).

Router

A device that forwards data packets between networks (Ch. 3).

Routing

Selecting a path across one or more networks and forwarding data from source to destination (Ch. 3).

Scalability

The ability of a service to grow (or shrink) as workload demand changes, horizontally or vertically (Ch. 17).

TLS / SSL

A cryptographic protocol securing internet communication; TLS is the modern successor to the deprecated SSL (Ch. 2).

Server

A computer or device that manages network resources (file, print, database, or network servers) (Ch. 3).

Server-side encryption (SSE)

Encryption of data at its destination by the service that receives it (Ch. 2, Ch. 17).

Subnet / subnetting

A logical subdivision of an IP network; subnetting is the process of creating subdivisions (Ch. 3).

Subnet mask

The bit pattern that separates the network portion of an IP address from the host portion (Ch. 3).

Switch

A device that forwards packets between devices within a single network; unlike a router, it is not aware of network-layer addressing (Ch. 3).

Web Application Firewall (WAF)

A service that filters and monitors HTTP traffic between an application and the internet (Ch. 10, Ch. 11).

Zonal services

Cloud services that require both a Region and a specific Availability Zone (Ch. 17).

Reliability

The ability of a system to perform its intended function correctly and consistently when expected (Ch. 17).

Resiliency

The ability of a system to recover when stressed (e.g., by load surges); distinct from reliability (Ch. 17).

Load balancer (ALB / NLB / GWLB)

Distributes traffic across backends; Application (L7), Network (L4), and Gateway (L3, for inline appliances) load balancers (Ch. 17).

Content delivery network (CDN)

Edge caches that cut latency and help absorb DDoS (Ch. 17).

Hypervisor (Type 1 / Type 2)

Virtualization layer: bare-metal (ESXi, Xen, KVM, Hyper-V) vs hosted (VirtualBox, VMware Workstation) (Ch. 17).

SAST / DAST / IAST / RASP

Static, dynamic, interactive, and runtime application security testing/protection (Ch. 10).

Message queue / publish-subscribe / event bus

Event-driven messaging patterns: point-to-point, one-to-many, and rule-routed event delivery (Ch. 12, Ch. 17).

Public DNS resolver

A shared recursive resolver such as Google (8.8.8.8, 8.8.4.4) or Cloudflare (1.1.1.1) (Ch. 3).

Vulnerability-assessment / threat-detection service

Cloud services that scan for exploitable weaknesses (e.g., Amazon Inspector) and monitor for active threats (e.g., Amazon GuardDuty) (Ch. 17).

Adversary and Threat-Model Terminology#

These terms specify what the attacker is allowed to do, and they recur throughout the cryptography (Chapter 2), risk (Chapter 5), and privacy-preserving computation (Chapter 17) material. Appendix J develops them in full, with the defining papers, worked numbers, and exercises.

Adversary model: A precise statement of an attacker’s behavior, corruption powers, and winning condition, without which a security claim is meaningless. (App. J)

Semi-honest (honest-but-curious, passive) adversary: A party that follows the protocol exactly but tries to infer extra information from everything it legitimately sees (its input, random coins, and received messages). (App. J, Ch. 17)

Honest-but-lazy (lazy) adversary: A party that behaves honestly but aborts partway through, or skips costly work, without colluding with corrupt parties. Its applied form in collaborative learning is the free-rider. (App. J)

Free-rider: A federated-learning client that submits fabricated updates without actually training, to obtain the global model without contributing. (App. J, Ch. 17)

Fail-stop / omission corruption: An adversary power that crashes a party outright, or selectively blocks its messages, without reading its state. (App. J)

Honest-looking adversary: One that deviates only in ways indistinguishable from honest execution. (App. J)

Semi-malicious adversary: A party that must send protocol-conformant messages but may choose its input and random coins freely; the standard model for multi-key and threshold homomorphic encryption. (App. J, Ch. 17)

Covert adversary: One that may cheat arbitrarily but is caught with at least a fixed probability (the deterrence factor), so cheating is irrational for a reputation-sensitive party. (App. J)

Deterrence factor (\(\epsilon\)): The guaranteed probability of detecting cheating in a covert-secure protocol. (App. J)

Rational adversary: A utility-maximizing party that cheats only when the expected payoff exceeds the expected penalty. (App. J)

Malicious (active, Byzantine) adversary: A party wholly controlled by the attacker, free to deviate arbitrarily, forge inputs and keys, or abort. (App. J, Ch. 2)

Mixed adversary: One corrupting some parties actively, others passively, and others in a fail-stop manner, simultaneously. (App. J)

Friends-and-foes (FaF) security: A requirement that honest parties’ inputs stay hidden even from other, curious honest parties who receive leaked adversary views. (App. J)

Static / adaptive / mobile adversary: One that fixes its corruption set before the protocol, chooses it during execution, or moves between parties over time (countered by proactive share refresh). (App. J)

Rushing adversary: One that waits to see the honest parties’ round messages before sending its own. (App. J)

IND-CPA / IND-CCA1 / IND-CCA2: Indistinguishability under chosen-plaintext attack, under a non-adaptive (“lunchtime”) chosen-ciphertext attack, and under an adaptive chosen-ciphertext attack, in increasing order of strength. (Ch. 2, App. J)

IND-CPA\(^{\mathbf{D}}\) (also written IND-CPA-D): Indistinguishability under chosen-plaintext attack with decryption oracles on honestly evaluated ciphertexts; the correct passive notion for homomorphic encryption, since plain IND-CPA proved inadequate for approximate schemes such as CKKS. (Ch. 2, Ch. 17, App. J)

Non-malleability (NM): The requirement that an attacker cannot transform a ciphertext into one whose plaintext is meaningfully related; unachievable for homomorphic encryption by design. (Ch. 2, App. J)

Smudging noise: Extra noise added after (partial) decryption in threshold or homomorphic schemes to prevent the decryption result from leaking the secret key. (App. J, Ch. 17)

One-sided simulation: A relaxed malicious-security notion giving full simulation for the party that receives the output and privacy for the other; used in efficient two-party protocols. (App. J, Ch. 17)

Collusion resistance: The requirement that users pooling their decryption keys gain no capability beyond what each holds individually; central to identity-, attribute-, and functional encryption. (App. J)

Reverse Engineering Acronyms and Notation#

Sections 15.38 and 15.39 and Chapter 16 use a dense vocabulary of acronyms. Every expansion below was checked against the owner’s own documentation. Four entries are marked, because a widely repeated expansion is not the same thing as a published one, and a name that is not an acronym should never be given one.

Executable formats and file structure#

Portable Executable (PE): The Windows executable and object file format. PE32 and PE32+ are its 32-bit and 64-bit forms, distinguished by the optional header magic value. (Ch. 15)

Common Object File Format (COFF): The older object format the PE format was built on. The file header inside a PE file is still a COFF header. (Ch. 15)

Executable and Linkable Format (ELF): The Unix and Linux executable format. (Ch. 15)

Relative Virtual Address (RVA): An offset from the image base once a file is loaded. A virtual address is the image base plus the RVA; a file offset is the RVA minus the section’s virtual address plus that section’s pointer to raw data. (Ch. 15)

Import Address Table (IAT): The array the loader fills with the resolved addresses of imported functions. A nearly empty one is a packing indicator. The Import Name Table (INT) is the parallel array naming those functions, and it is unrelated to the x86 INT instruction. (Ch. 15)

Original entry point (OEP): In a packed program, the address where the unpacking stub finally transfers control to the real code. (Ch. 15)

Address Space Layout Randomization (ASLR) and Data Execution Prevention (DEP): Load-time address randomization and non-executable data pages. Both are opted into through PE header flags. (Ch. 15)

Thread Local Storage (TLS): Per-thread global data. A PE file’s TLS callbacks run before the entry point, which makes them an anti-debugging vehicle. Not Transport Layer Security. (Ch. 15)

Processor and architecture#

Application Binary Interface (ABI): The conventions above the instruction set: which register carries which argument, who cleans up the stack, how objects are laid out. It differs between Windows and Linux, which is why calling conventions must be named rather than assumed. (Ch. 15)

CPUID and RDTSC: The processor identification instruction and the read time-stamp counter instruction. Both are used by malware to detect a hypervisor or a debugger. (Ch. 15)

Intel VT-x and AMD-V: Hardware virtualization support, which lets guest instructions execute on the real processor rather than being emulated. (Ch. 15)

Windows internals#

Process Environment Block (PEB) and Thread Environment Block (TEB): Per-process and per-thread structures in user memory. The PEB’s BeingDebugged byte is the simplest anti-debugging check there is, and shellcode reaches the PEB through the TEB with no imports at all. (Ch. 15)

Asynchronous Procedure Call (APC): A function queued to run on a specific thread, used as a covert launching technique. (Ch. 15)

Windows Management Instrumentation (WMI) and Component Object Model (COM): Management query and object interfaces that let malware reach system functionality without an obvious import. (Ch. 15)

Run-Time Type Information (RTTI): C++ metadata that survives compilation and often recovers class names and inheritance from a stripped binary. (Ch. 15)

Tools and projects#

FireEye Labs Advanced Reverse Engineering (FLARE): The team, now inside Google Cloud through Mandiant, that publishes FLARE-VM, FLOSS and capa. (Ch. 15)

FLARE Obfuscated String Solver (FLOSS): Formerly the FireEye Labs Obfuscated String Solver. Recovers strings that ordinary extraction misses because they are constructed or decoded at run time. (Ch. 15)

Ultimate Packer for eXecutables (UPX): The open-source packer, and the standard first unpacking exercise. (Ch. 15)

Java Debug Wire Protocol (JDWP): The protocol a Java virtual machine speaks to a debugger. Enabled with the JVM option -agentlib:jdwp, it underlies attaching to a running Java process; it has no authentication, so an exposed JDWP port is a remote-code-execution risk. (Ch. 15)

GDB Enhanced Features (GEF): A set of GDB commands for reverse engineers, and the debugger add-on packaged for Kali. (Ch. 15)

Library to Instrument Executable Formats (LIEF): A library for parsing, modifying and rebuilding PE, ELF and Mach-O files. (Ch. 15)

Internet Services Simulation Suite (INetSim): Simulates common internet services so a sample believes it reached the network. (Ch. 15)

Interactive Disassembler (IDA): The commercial disassembler from Hex-Rays. This expansion is the established one in the literature; Hex-Rays’ current product pages do not spell the acronym out. (Ch. 15)

YARA and capa: Product names, not acronyms. YARA’s documentation and repository publish no expansion, and capa’s repository describes what the tool does without giving one. Several expansions circulate for YARA online; none is authoritative. Ghidra, radare2, rizin, Cutter and REMnux are likewise names. (Ch. 15, Ch. 16)

Standards, law and certification#

Adversarial Tactics, Techniques, and Common Knowledge (ATT&CK): MITRE’s knowledge base of adversary behavior. This expansion is established in the literature; MITRE’s current public pages describe the knowledge base without spelling the letters out. MITRE is the organization’s name rather than an acronym. (Ch. 12, Ch. 15)

Digital Millennium Copyright Act (DMCA): The United States statute containing the anti-circumvention rules codified at 17 U.S.C. 1201, including the interoperability provision at 1201(f). Separate from the Computer Fraud and Abuse Act (CFAA). (Ch. 15, Ch. 18)

GIAC Reverse Engineering Malware (GREM): The certification aligned with SANS FOR610. GIAC is the Global Information Assurance Certification body; SANS expands, on its own about page, to SysAdmin, Audit, Network, Security. (Ch. 15)

Notation that is not an acronym#

A leading 0x marks a hexadecimal value. Little endian storage means the least significant byte comes first, so the bytes 4D 5A 90 00 read as the 32-bit value 0x00905A4D. Bits per byte is the unit of Shannon entropy, running from 0 when every byte in a block is identical to 8 when all 256 values occur equally often. On Windows API names an A suffix takes single-byte strings and a W suffix takes UTF-16, which tells an analyst which string encoding to search for. In assembly, square brackets denote the memory at an address rather than the address itself. (Ch. 15)