CHERI (Capability Hardware Enhanced RISC Instructions) es una extensión de arquitectura de conjunto de instrucciones (ISA) que integra capacidades de hardware directamente en el procesador. Estas capacidades son punteros enriquecidos que no solo almacenan una dirección de memoria, sino también metadatos de permisos y límites. Cada acceso a memoria a través de una capacidad es validado por el hardware para asegurar que la operación esté dentro de los límites definidos y que los permisos sean adecuados. Esto permite una protección de memoria de grano fino y un control de acceso que va más allá de la paginación tradicional, previniendo clases enteras de vulnerabilidades como desbordamientos de búfer, "use-after-free" y ataques de inyección de código.

CHERI ha sido implementado y demostrado en varias plataformas. El proyecto CHERI de la Universidad de Cambridge, en colaboración con Arm, ha desarrollado prototipos como CHERI-RISC-V y CHERI-MIPS, y más notablemente, la arquitectura Morello de Arm. Morello es una extensión de Armv8-A que incorpora las ideas de CHERI, permitiendo la ejecución de sistemas operativos y aplicaciones con protección de capacidades. FreeBSD/CHERI es un port del sistema operativo FreeBSD que aprovecha las capacidades de CHERI para endurecer el kernel y las aplicaciones de usuario. También se han realizado trabajos para adaptar lenguajes de programación como C/C++ para usar CHERI de forma segura, con compiladores como Clang/LLVM que generan código compatible con CHERI.

Para un Arquitecto de Sistemas, CHERI representa un cambio de paradigma en la seguridad a nivel de hardware. Su valor estratégico radica en la capacidad de reducir drásticamente la superficie de ataque de software crítico, como kernels de sistemas operativos, hipervisores y servicios de red. Los trade-offs incluyen la necesidad de recompilar y adaptar el software existente para aprovechar las capacidades, lo que puede implicar un esfuerzo significativo. Aunque puede haber una sobrecarga mínima en el rendimiento debido a las verificaciones de hardware, esta es a menudo compensada por la drástica mejora en la seguridad y la reducción de la complejidad de la mitigación de vulnerabilidades en el software. La adopción de CHERI permite diseñar sistemas con una base de confianza mucho más pequeña y robusta, simplificando la auditoría de seguridad y la resiliencia frente a ataques sofisticados.