Spectrum es un término general que engloba vulnerabilidades de seguridad de microarquitectura que afectan a CPUs modernas, explotando características como la ejecución especulativa y el caching. Estas vulnerabilidades permiten que un atacante, a través de código malicioso ejecutándose en un entorno de baja confianza, pueda inferir datos a los que no debería tener acceso. Se basan en el hecho de que las CPUs ejecutan instrucciones de forma especulativa para mejorar el rendimiento, y aunque los resultados de las ramas especulativas incorrectas se descartan, sus efectos secundarios en el estado de la caché o los registros pueden ser observados, permitiendo la exfiltración de información.
Las implementaciones más conocidas de ataques Spectrum son Spectre (CVE-2017-5753, CVE-2017-5715) y Meltdown (CVE-2017-5754). Spectre explota la predicción de ramas incorrecta para forzar la ejecución especulativa de código que accede a datos arbitrarios en el espacio de direcciones del proceso, filtrándolos a través de canales laterales de caché. Meltdown, por otro lado, explota una condición de carrera entre la ejecución especulativa y la verificación de permisos de memoria, permitiendo que un proceso de usuario lea memoria del kernel o de otros procesos. Estas vulnerabilidades han afectado a una amplia gama de procesadores de Intel, AMD y ARM, y han requerido mitigaciones tanto a nivel de hardware (nuevas revisiones de CPU) como de software (parches en sistemas operativos y compiladores).
Para un Arquitecto de Sistemas, Spectrum es crítico porque introduce un nuevo paradigma de amenazas que no pueden ser completamente mitigadas solo con aislamiento lógico o virtualización. Las mitigaciones de software (como KPTI/KAISER para Meltdown o Retpoline para Spectre) pueden tener un impacto significativo en el rendimiento, especialmente en cargas de trabajo intensivas en I/O o con muchas llamadas al sistema, lo que requiere un análisis cuidadoso de los trade-offs entre seguridad y rendimiento. Los arquitectos deben considerar la versión del hardware, el sistema operativo y el hipervisor, así como las implicaciones de rendimiento de las mitigaciones al diseñar infraestructuras críticas, especialmente en entornos multi-tenant o de computación en la nube, donde el aislamiento entre inquilinos es primordial. La elección de hardware más reciente con mitigaciones a nivel de silicio puede ser una estrategia, aunque con un costo asociado.