Muchos ataques de canal lateral poderosos están basados en los métodos estadísticos con los que Paul Kocher fue pionero.
Para los ataques sobre los propios sistemas computacionales (que se usan normalmente para realizar criptografía y por lo tanto contienen claves criptográficas o archivo de texto plano), véase seguridad informática.
En 2017 se descubrieron en las CPU dos vulnerabilidades basadas en el caché (denominadas Meltdown y Spectre), que permiten a un atacante acceder al contenido en memoria de otros procesos y del propio sistema operativo.
Simplemente con observar variaciones en la duración de las operaciones criptográficas, podría ser posible determinar la clave secreta completa.
Las fluctuaciones en la corriente eléctrica también generan ondas de radio, lo que posibilita el uso de ataques que se dedican a analizar variaciones en las emisiones electromagnéticas.
Se conocen varias analogías históricas en relación con los modernos ataques de canal lateral.
Un documento desclasificado en 2008 por la Agencia de Seguridad Nacional revela que ya en 1943 un ingeniero con un teléfono Bell observó picos descifrables en un osciloscopio asociados con la salida desencriptada de cierto teletipo usado en encriptación.
[9] Se sospecha también que en los años 80 espías del KGB instalaron micrófonos en el interior de máquinas de escribir IBM Selectric para monitorizar el ruido eléctrico generado cuando la bola de la máquina se movía para golpear el papel; las características de aquellas señales podían usarse para determinar qué tecla se había pulsado.
Investigaciones recientes realizadas por Adi Shamir y otras personas han sugerido que puede obtenerse también de este modo información acerca del funcionamiento interno de criptosistemas y algoritmos.
Esto es un caso de ataque acústico; si puede observarse la superficie del chip de la CPU, o en algunos casos el paquete del CPU, las imágenes infrarrojas pueden también proporcionar información acerca del código que se está ejecutando en la CPU.
Esto se conoce como ataque de imágenes termales.
Algunos ejemplos de ataques ópticos de canal lateral: Puesto que los ataques de canal lateral dependen de la relación entre la información emitida (filtrada) a través de un canal lateral y la información secreta, las contramedidas se dividen en dos categorías principales: Para aplicar la primera categoría existen pantallas disponibles comercialmente que cuentan con un aislamiento especial que atenúa las emisiones electromagnéticas, reduciendo la susceptibilidad a los ataques basados en las especificaciones TEMPEST.
El debido acondicionamiento y filtrado de la instalación eléctrica puede ayudar a detener los ataques basados en las fluctuaciones eléctricas, si bien estas medidas debe tomarse de forma cuidadosa, dado que pueden quedar todavía correlaciones muy pequeñas que puedan comprometer la seguridad.
Otra contramedida perteneciente a la primera categoría consiste en bloquear el canal emitido usando ruido.
Por ejemplo, puede añadirse un retraso aleatorio para atajar los ataques sincronizados, si bien un atacante podría compensar estos retrasos tomando el valor medio de distintas medidas (o, más generalmente, usando más muestras en el análisis).
A medida que aumenta el ruido en el canal lateral, el atacante necesita tomar cada vez más muestras.
En el caso de ataques sincronizados contra objetivos cuyos tiempos computacionales estén cuantificados en ciclos de reloj discretos, una contramedida eficaz consiste en diseñar el software para que sea isócrono, es decir, para que se ejecute en un tiempo siempre constante, independientemente de cualquier valor secreto que maneje.
Esto hace que los ataques sincronizados resulten imposibles.
[11] Sin embargo, una contramedida de este tipo puede ser difícil de llevar a la práctica, dado que determinadas instrucciones de la CPU pueden necesitar más o menos tiempo que otras en completarse.
[12][13] Otra forma en la que el código puede no ser isócrono se debe a las CPU modernas que tienen un caché de memoria: los accesos a información usada con poca frecuencia suponen una gran penalización temporal que revela cierta información sobre la frecuencia del uso de los bloques de memoria.
El código criptográfico diseñado para resistir los ataques basados en el caché intenta usar memoria sólo de un modo predecible (como sería acceder sólo a la entrada, la salida y la información del programa siguiendo en todo momento un patrón fijo).
Otras contramedidas parciales intentan reducir la cantidad de información que revelan las diferencias en el consumo de energía basadas en los datos que se manejan.
Emplear un código de peso constante (como sería el uso de puertas Fredkin o la codificación a doble rail) puede reducir la fuga de información acerca del peso Hamming del valor secreto, si bien es posible que queden correlaciones explotables a menos que el equilibrio sea perfecto.
Uno puede aproximarse a este "diseño equilibrado" en software manipulando conjuntamente tanto la información como su complemento.
Si bien estas CPU se pensaron para dificultar los ataques sincronizados y los basados en fluctuaciones del consumo energético,[11] posteriores investigaciones revelaron que las variaciones temporales en los circuitos asíncronos eran más difíciles de eliminar.
En el caso de ataques que necesitan obtener información vía canal lateral de operaciones con datos controlados por el atacante, la técnica del cegado es una contramedida eficaz, dado que la operación en sí se lleva a cabo con una versión aleatorizada de la información sobre la cual el atacante no tiene control ni conocimiento alguno siquiera.
Otra contramedida más general, en el sentido de que resulta eficaz contra todos los ataques de canal lateral, es la del enmascaramiento.
El principio del enmascaramiento consiste en evitar manipular cualquier información sensible
Un atacante tendría que obtener todos los valores de las cuotas para conseguir cualquier información significativa.