Una Hyperproperty es una propiedad que se aplica a un conjunto de trazas de ejecución de un sistema, en contraste con una propiedad de traza (trace property) que se aplica a una única traza. Esto permite expresar requisitos de seguridad más sofisticados que no pueden ser capturados por propiedades de traza individuales. Ejemplos comunes incluyen la no-interferencia (non-interference), que asegura que las acciones de un usuario de alto nivel de seguridad no afecten las observaciones de un usuario de bajo nivel, o la confidencialidad (confidentiality), que puede requerir que la información sensible nunca sea revelada, independientemente de la ejecución específica.

Las Hyperproperties encuentran aplicación en la verificación formal de sistemas críticos, especialmente en seguridad. Herramientas como HyperPCTL (Hyper Probabilistic Computation Tree Logic) y HyperLTL (Hyper Linear Temporal Logic) son extensiones de lógicas temporales que permiten especificar y verificar Hyperproperties. Se utilizan en el análisis de seguridad de sistemas operativos, criptografía y protocolos de red para garantizar propiedades como la anonimidad, la integridad de datos a través de múltiples sesiones, o la prevención de ataques de canal lateral (side-channel attacks) que dependen de la observación de múltiples ejecuciones. Por ejemplo, en el diseño de un sistema de votación electrónico, una Hyperproperty podría asegurar que el voto de un individuo no pueda ser inferido observando el comportamiento del sistema en múltiples votaciones.

Para un Arquitecto de Sistemas, comprender las Hyperproperties es crucial para diseñar sistemas con garantías de seguridad robustas que van más allá de la seguridad de una única ejecución. Permiten especificar requisitos de seguridad a nivel de sistema que abordan amenazas complejas como la inferencia de información a través de canales encubiertos o la violación de la privacidad a lo largo del tiempo. La decisión de invertir en la verificación de Hyperproperties implica un trade-off entre el costo computacional y la solidez de las garantías de seguridad. Es especialmente relevante en dominios como la computación en la nube, sistemas multi-tenant, o cualquier entorno donde la interacción de múltiples usuarios o procesos pueda revelar información sensible o comprometer la integridad del sistema. La especificación de Hyperproperties puede guiar el diseño de arquitecturas que intrínsecamente prevengan ciertas clases de ataques, reduciendo la superficie de ataque y mejorando la resiliencia general del sistema.