How to Secure Unique Ecosystem Shipping 1 Billion+ Cores
This talk details the security architecture and hardening strategies implemented by NVIDIA for their RISC-V based microcontrollers, known as the Peregrine ecosystem. The speakers discuss the transition from a proprietary architecture to a secure, RISC-V based design, emphasizing the importance of hardware-software co-design and formal verification. They demonstrate the implementation of security primitives such as pointer masking, hardware-based control flow integrity (CFI), and a multi-partition software architecture to mitigate common vulnerabilities like heap overflows and code reuse attacks. The presentation highlights the necessity of a layered security approach and the use of formal methods to ensure the integrity of critical system components.
Hardening the Silicon: How NVIDIA Secured a Billion-Core Ecosystem with RISC-V
TLDR: NVIDIA’s transition from proprietary Falcon architecture to a hardened RISC-V ecosystem, dubbed Peregrine, demonstrates how hardware-software co-design can mitigate entire classes of memory corruption and code-reuse vulnerabilities. By implementing hardware-backed pointer masking and control flow integrity (CFI), they have effectively moved the security boundary closer to the silicon. This shift highlights a growing trend where hardware-level primitives are becoming the primary defense against advanced exploitation techniques in embedded systems.
Hardware security is often treated as a black box by application-level researchers, but the reality is that the silicon layer is where the most persistent vulnerabilities are born. When you are shipping over a billion cores, you cannot afford to rely on software patches alone. NVIDIA’s recent move to replace their proprietary Falcon architecture with a custom RISC-V implementation, known as the Peregrine ecosystem, is a masterclass in proactive hardware hardening. They recognized that the biggest attack surface in their chips was not the hardware itself, but the software running on the microcontrollers that manage everything from power to packet routing.
Moving Beyond Software-Only Mitigations
Traditional security models for embedded systems often rely on software-based mitigations that are easily bypassed once an attacker gains arbitrary code execution. NVIDIA’s approach with Peregrine is to bake security primitives directly into the RISC-V implementation. They are not just running RISC-V; they are running a highly configured version of it that includes custom extensions for memory protection and control flow integrity.
The core of this strategy is the use of Physical Memory Protection (PMP) and I/O-PMP to enforce strict isolation between different system tasks. By defining these boundaries in hardware, they ensure that even if a specific task is compromised, the attacker cannot easily pivot to other parts of the system. This is a significant departure from older architectures where memory isolation was often an afterthought or implemented entirely in a software kernel that could be subverted.
Hardware-Backed Pointer Masking and CFI
One of the most impressive aspects of the Peregrine architecture is the implementation of hardware-backed pointer masking and control flow integrity. Instead of relying on software-based Address Space Layout Randomization (ASLR), which is often ineffective in embedded environments with limited entropy, NVIDIA developed a pointer masking extension. This allows the hardware to tag pointers and memory regions, ensuring that a pointer can only access memory that shares the same tag.
This mechanism is particularly effective against heap-buffer-overflow and use-after-free vulnerabilities. When memory is allocated, the hardware assigns a tag to the pointer and the corresponding memory block. If an attacker attempts to access that memory using a pointer with a mismatched tag, the hardware triggers an exception before the corruption occurs. This is a proactive defense that stops the exploit at the point of access, rather than waiting for a crash or a secondary exploit primitive to trigger.
Furthermore, their implementation of hardware-based CFI is a direct response to code-reuse attacks like Return-Oriented Programming (ROP). By maintaining a shadow stack in a hardware-protected region, the processor can verify that the return address on the stack has not been tampered with before executing a return instruction. If the addresses do not match, the system halts. This effectively kills the primary mechanism used to chain gadgets in a ROP chain.
Formal Verification as a Security Primitive
What makes this research stand out is the commitment to formal verification. NVIDIA is using SPARK and the GNATprove toolset to prove the correctness of their critical software components. They are not just testing for bugs; they are using mathematical proofs to ensure that entire classes of vulnerabilities, such as integer overflows or out-of-bounds access, are logically impossible in the code.
For a pentester, this changes the game. If you are auditing a system that has been formally verified, you are not looking for the low-hanging fruit. You are looking for flaws in the specification or the assumptions made during the proof process. This is a much higher bar for entry, but it is the future of high-assurance embedded security.
Real-World Applicability for Researchers
If you are performing a security assessment on an embedded device, you should be looking for these hardware-backed primitives. If a device claims to be secure, check if it is using standard RISC-V or if it has custom extensions for memory tagging or CFI. If you find a device that lacks these protections, you are likely dealing with a system that is vulnerable to classic exploitation techniques.
The impact of these hardware-level defenses is profound. By moving the security logic into the silicon, the cost of exploitation increases exponentially. An attacker can no longer rely on simple software-based bypasses; they must now find ways to glitch the hardware or exploit flaws in the hardware-software interface itself.
The Defensive Reality
Defenders must understand that hardware-level security is not a silver bullet. It is a layered approach. Even with hardware-backed CFI and pointer masking, software bugs will still exist. The goal of these mitigations is to make the exploitation of those bugs so difficult that it becomes economically unfeasible for an attacker.
If you are working on the blue team, your focus should be on ensuring that these hardware features are actually enabled and configured correctly. It is easy to have a secure architecture on paper, but if the software configuration leaves the hardware in a permissive state, the security benefits are nullified. Always verify the configuration of PMP regions and ensure that the firmware is signed and verified by a hardware root of trust.
The industry is moving toward a model where security is a fundamental property of the hardware, not just a layer of software on top. NVIDIA’s work with the Peregrine ecosystem is a clear signal that the days of relying on software-only security for critical embedded systems are numbered. As researchers, we need to adapt our methodologies to account for these hardware-level defenses, or we risk being left behind as the silicon itself becomes the primary line of defense.
Vulnerability Classes
Target Technologies
All Tags
Up Next From This Conference

DisguiseDelimit: Exploiting Synology NAS with Delimiters and Novel Tricks

Browser Extension Clickjacking: One Click and Your Credit Card Is Stolen

Can't Stop the ROP: Automating Universal ASLR Bypasses for Windows
Similar Talks

Hacking Apple's USB-C Port Controller

Anyone Can Hack IoT: A Beginner's Guide to Hacking Your First IoT Device

