Audience
For engineers moving deeper into low-level platform trust.
This path is designed for engineers who already have exposure to
hardware security, secure boot, root of trust, PKI, cryptography,
systems security, or cloud infrastructure, and want to deepen their
understanding of low-level platform internals.
01
Linux kernel internals
Start where hardware, firmware, drivers, and security boundaries meet.
The Linux kernel connects hardware, firmware, drivers, memory,
interrupts, devices, filesystems, networking, containers, and
security boundaries. Kernel fluency makes it easier to reason
about secure boot, device trust, DMA attacks, kernel
exploitation, attestation, virtualization, and cloud
infrastructure.
Recommended topics
- Kernel architecture, process scheduling, syscalls, and modules
- Virtual memory, page tables, interrupts, and exceptions
- Device drivers, PCIe, DMA, IOMMU, and filesystems
- Kernel debugging, eBPF, hardening, and exploit mitigations
Recommended resources
- Linux kernel documentation and kernel hacking guides
- Linux Foundation kernel development and internals courses
- Bootlin Embedded Linux and kernel driver development courses
Best hands-on project: build and boot a custom Linux kernel in
QEMU. Write a simple kernel module, add logging, expose a sysfs
interface, and debug it with gdb, dmesg, ftrace, and perf.
02
BIOS, UEFI, and platform firmware
Understand the bridge between platform initialization and OS boot.
UEFI is essential for anyone working on Secure Boot, firmware
signing, TPM measurements, capsule updates, boot policies, and
root-of-trust systems.
Recommended topics
- SEC, PEI, DXE, BDS, runtime phases, drivers, and applications
- UEFI variables, Secure Boot keys, firmware volumes, and capsule updates
- SMM, measured boot, TPM event logs, bootloaders, and OS handoff
Recommended resources
- TianoCore and EDK II
- TianoCore documentation and EDK II learning material
- QEMU system emulation documentation
Best hands-on project: build OVMF from EDK II, boot it in QEMU,
enable Secure Boot, enroll custom keys, sign a bootloader, and
inspect UEFI variables before and after boot.
03
TPM 2.0 and measured boot
Connect boot evidence to remote verification.
Secure Boot answers whether something was allowed to boot.
Measured boot answers what actually booted. TPM-based
attestation connects firmware state, bootloader state, kernel
state, and remote verification.
Recommended topics
- PCRs, event logs, EK, AK, TPM quotes, and NV indexes
- Sealing, unsealing, policy-based authorization, and remote attestation
- Measured boot and TPM-backed key protection
Recommended resources
- Trusted Computing Group TPM 2.0 Library Specification
- tpm2-tools documentation and source repository
Best hands-on project: use swtpm with QEMU, boot a Linux VM
with a virtual TPM, inspect PCR values, seal a secret to
specific PCRs, change the boot path, and observe unsealing fail
when measurements change.
04
BMC, ILOM, Redfish, IPMI, PLDM, and MCTP
Study the out-of-band control plane for server security.
Baseboard management controllers control power, firmware
updates, sensors, host recovery, remote console, inventory, and
out-of-band management. Vendor stacks such as ILOM, iLO, and
iDRAC are built around the same broad management concepts, even
when implementations differ.
Recommended topics
- BMC architecture, host-BMC communication, Redfish, IPMI, PLDM, and MCTP
- Sensor monitoring, firmware update flows, power control, and serial-over-LAN
- BMC authentication, authorization, supply-chain risk, and host trust boundaries
Recommended resources
- OpenBMC and OpenBMC documentation
- DMTF Redfish standard
- DMTF MCTP and PLDM specifications
Best hands-on project: run OpenBMC in an emulated environment,
interact with it using Redfish APIs, inspect D-Bus services,
simulate host state transitions, and study how firmware update
workflows are modeled.
05
Platform hardware foundations
Build the hardware model that firmware and kernel security rely on.
Platform security requires knowing how CPUs reset, how memory is
initialized, how devices access memory, how interrupts are
routed, and how privileged execution modes interact.
Recommended topics
- CPU reset flow, x86-64 rings, SMM, VMX, virtualization, and microcode
- PCIe, MMIO, DMA, IOMMU / VT-d, ACPI, SMBus, I2C, SPI flash, and eSPI
- NUMA, memory training, Boot Guard, and hardware roots of trust
Recommended resources
- Intel 64 and IA-32 Architectures Software Developer's Manuals
- QEMU system emulation documentation
Best hands-on project: create a QEMU-based lab with OVMF,
Linux, virtual PCI devices, and a virtual TPM. Trace the boot
flow from firmware to bootloader to kernel, then inspect how
devices appear through PCI enumeration, ACPI tables, and kernel
logs.
06
Reverse engineering and firmware security
Learn to reason about opaque firmware and boot-chain attack surfaces.
Reverse engineering is essential for understanding closed
firmware, bootloaders, binary drivers, and attack surfaces that
are not visible from source code. It also improves review of
firmware update mechanisms, cryptographic verification paths,
and platform initialization logic.
Recommended topics
- x86-64 and ARM assembly, calling conventions, PE/COFF, and ELF
- UEFI binaries, bootloaders, firmware volumes, static analysis, and debugging
- Symbol recovery, vulnerability discovery, and firmware parser fuzzing
Recommended resources
- OpenSecurityTraining2 courses
- EDK II source code for real UEFI modules and firmware build structure
Best hands-on project: extract an OVMF firmware image, identify
firmware volumes, locate UEFI drivers, open modules in Ghidra,
and trace how a selected DXE driver initializes.
07
Linux hacking, exploitation, and hardening
Pair offensive understanding with defensive kernel hardening.
Linux hacking should be approached from both offensive and
defensive perspectives. The goal is not just to exploit bugs,
but to understand why bugs exist, how attack surfaces are
exposed, and how modern mitigations work.
Recommended topics
- Kernel memory corruption, use-after-free bugs, race conditions, and driver bugs
- Capabilities, namespaces, cgroups, LSM, seccomp, and syscall attack surface
- KASLR, SMEP, SMAP, KASAN, UBSAN, Syzkaller, fuzzing, and mitigation bypasses
Recommended resources
- Linux kernel documentation and kernel hacking guides
- Linux Foundation kernel internals training
- Bootlin kernel driver training
Best hands-on project: write a deliberately vulnerable kernel
module, trigger the bug from user space, observe the failure
with KASAN enabled, then patch the module and verify the fix.
08
Conferences, talks, and community learning
Stay current through the communities publishing real-world lessons.
After the fundamentals, the fastest way to stay current is to
follow communities where firmware, kernel, platform security,
and cloud infrastructure engineers publish practical lessons.
Recommended communities
- Open Source Firmware Conference
- Linux kernel and embedded Linux communities
- OpenBMC, TianoCore, DMTF Redfish, and OpenSecurityTraining2 communities
Recommended habit
Watch conference talks with a lab notebook open. For every
useful talk, extract one concept and turn it into a small
reproducible experiment.
Recommended sequence
A practical order for building deep platform-security skill.
- Linux kernel internals
- Kernel modules and device drivers
- UEFI and EDK II
- Secure Boot and measured boot
- TPM 2.0 and attestation
- BMC architecture and OpenBMC
- Redfish, PLDM, MCTP, and server management protocols
- PCIe, DMA, IOMMU, ACPI, and CPU architecture
- Firmware reverse engineering
- Kernel exploitation, fuzzing, and hardening
This order starts with the operating system, moves downward into
firmware and hardware trust, then comes back upward into management,
attestation, exploitation, and defense.
Capstone project
Build a miniature server trust chain.
The best way to connect these topics is to build a small,
reproducible trust-chain lab that includes QEMU full-system
emulation, OVMF from EDK II, custom Secure Boot keys, a signed
bootloader, a signed Linux kernel, virtual TPM with swtpm, measured
boot into PCRs, event-log inspection, secret sealing and unsealing,
a remote attestation verifier, OpenBMC simulation, Redfish-based
host management, a firmware update experiment, a kernel module
experiment, and basic firmware reverse engineering.
Can a remote verifier determine whether this machine booted the
expected firmware, bootloader, kernel, and configuration before
releasing a sensitive secret?
That single question ties together BIOS, UEFI, TPM, BMC, Linux
kernel internals, cryptography, secure boot, measured boot,
attestation, firmware updates, and cloud-scale hardware security.
Final perspective
The complete platform is the mental model.
The most valuable platform-security engineers are not limited to
one layer. They understand how hardware initializes, how firmware
establishes trust, how the bootloader transfers control, how the
kernel manages devices and memory, how the BMC manages the server
out-of-band, and how cryptographic evidence can verify system state
remotely.
The goal is not to memorize every specification. The goal is to
build a mental model of the complete platform: silicon, firmware,
boot chain, operating system, management controller, and remote
verifier.