¿Es cierto que la mayoría de ellos no ofrecen privacidad absoluta, sino que solo reducen el riesgo?
No, muchos de ellos eliminan completamente el riesgo. El uso de implementaciones de tiempo constantes de algoritmos y no la bifurcación en condiciones dependientes del secreto garantiza que los secretos que se procesan no tengan efecto en el tiempo, lo que hace que los ataques de canal lateral sean imposibles. Algunos algoritmos criptográficos, como Ed25519 , están diseñados para realizar implementaciones teniendo en cuenta la resistencia integral del canal lateral en la medida de lo posible y práctico. En otros casos, el hardware en sí está diseñado para hacer que los ataques de canal lateral sean difíciles de realizar. AES-NI en muchos procesadores x86 modernos es un ejemplo de eso. Es un conjunto de instrucciones que proporciona aceleración para el cifrado AES y, además, se ejecuta en tiempo constante.
¿Hay soluciones absolutas para los ataques de canal lateral existentes?
Para algunas clases de ataques de canal lateral, como los basados en el tiempo, sí. Véase más arriba. Para los ataques más avanzados que involucran cosas como análisis de poder diferencial , a menudo no hay manera de evitarlos por completo. de utilizar microprocesadores especializados diseñados específicamente para la seguridad, como los utilizados en Módulos de seguridad de hardware (HSM). Es poco probable que los productos electrónicos de consumo baratos tomen tales medidas ya que aumentan los costos de fabricación base.
Hay un gran número de ataques de canal lateral diferentes. En general, se dividen en tres categorías:
-
Ataques que se realizan ejecutando el código en el mismo sistema en el que se procesan los secretos. Estos ataques incluyen ataques de tiempo y ataques de caché y se pueden realizar de forma remota y sin acceso físico si es posible la ejecución de código en el dispositivo de destino. La mitigación implica el diseño de software seguro. Este es el ataque más fácil de realizar y el más fácil de mitigar.
-
Ataques que requieren monitoreo pasivo del hardware. Los análisis de potencia diferencial y los ataques de imagen térmica se encuentran en esta categoría. Requiere acceso físico al dispositivo de destino y, a menudo, a un equipo muy especializado, pero se puede hacer incluso sin la ejecución del código en el destino.
-
Ataques de falla donde los errores se activan en el dispositivo al hacer cosas como alimentar un IC con el voltaje incorrecto o un reloj inestable en un proceso llamado falla. Incluso el software resistente al canal lateral puede ser vulnerable a esto . A veces esto puede implicar físicamente quitando la superficie de un chip y disparando con un láser muy enfocado para desencadenar fallas. Los resultados de estas fallas a veces se pueden detectar a través de ataques de canal lateral. Esto a menudo resulta en la destrucción física del dispositivo y, naturalmente, requiere acceso físico.
Por lo general, mitigar el primero es posible hacerlo de forma económica en el software. La mitigación de la segunda puede o no puede ser posible en el software, dependiendo del ataque real, y la mitigación de la tercera es rara vez posible en el software, aunque el software resistente a los ataques de fallas puede diseñarse con suficiente experiencia.
Dado que estas contramedidas no son ampliamente conocidas por el público en general, ¿es cierto que las personas no pueden emplear esas medidas? ¿También es cierto que la mayoría de los dispositivos estándar de los consumidores generalmente no tienen estas medidas incorporadas?
A menudo es cierto, especialmente cuando el producto no utiliza una biblioteca establecida y popular como OpenSSL que proporciona estas mitigaciones y en su lugar intenta diseñarlas por su cuenta. Esos dispositivos suelen ser muy vulnerables a los ataques de canal lateral, y abusar de esas debilidades puede ser práctico.
Desafortunadamente, los únicos casos en los que los dispositivos de consumo estándar utilizan tales mitigaciones es con DRM para evitar que sus usuarios hagan jailbreak a sus propios dispositivos o ejecuten su propio código en ellos. Las compañías que hacen eso naturalmente se preocupan más por evitar la piratería (a costa de restringir la libertad de los usuarios) que por la seguridad contra ataques maliciosos. Esto se debe a que, en su modelo de amenaza, el adversario es usted , el propietario del dispositivo, no alguien que desea obtener su información privada.