Realmente no lo saben la mayor parte del tiempo.
El estándar más alto que tenemos es una prueba formal y una verificación formal. Este es un modelo matemático y de estado que puede verificarse algorítmicamente. Entonces, si el modelo es válido, debe implementarse perfectamente.
La mayoría de las buenas ideas fallan cuando se implementan.
- ¿Cuáles son los principales desafíos que enfrentan los analistas / consultores de seguridad de TI?
- ¿Cómo sabe el hacker que su computadora ha sido pirateada?
- ¿Cómo puedo aumentar la seguridad de un sitio web de ser pirateado?
- ¿Cuáles son los beneficios de construir aplicaciones descentralizadas con una cadena de bloques?
- ¿Crees en los hackers rusos?
La verificación formal es muy costosa y requiere mucho tiempo, por lo que rara vez se realiza.
Las implementaciones perfectas también son muy raras.
Otro problema con la seguridad de un sistema es que el atacante puede cambiar el sistema o las dependencias del sistema. Pueden socavar el hardware en el que confía, interceptar y modificar las comunicaciones de formas que nunca consideró. Entonces, incluso si hace algo teóricamente perfectamente seguro, también debe endurecer el sistema en sí mismo para que un componente del sistema no se vea comprometido. Este endurecimiento también rara vez se hace.
Por ejemplo, las primeras tarjetas Mart estaban muy bien diseñadas, pero las claves de cifrado se dedujeron mediante un análisis de potencia diferencial, ¡midiendo las pequeñas fluctuaciones de potencia en los pines y en el campo electromagnético de las puertas en el propio chip!