El arte de la intrusión

Sean bienvenidos una vez más a Código Seguro, en el día de hoy estimados lectores, les hablaré acerca de los ataques de canal lateral. En el vasto y complejo universo de la ciberseguridad, los ataques de canal lateral emergen como una sofisticada y sigilosa técnica que desafía las convencionales medidas de protección informática. Estos ataques no buscan explotar vulnerabilidades en el software o el hardware de manera frontal, sino que se enfocan en obtener información sensible a través de la observación de variaciones indirectas que ocurren durante la ejecución de operaciones criptográficas.

El criptoanálisis de canal lateral es un área de investigación en criptografía aplicada que ha ganado cada vez más interés desde mediados de los años noventa. Considera a los adversarios que intentan aprovecharse de las especificidades físicas de los dispositivos criptográficos reales.

Como hemos visto en otros artículos de la columna y haciendo alusión a la literatura científica una primitiva criptográfica puede considerarse desde dos puntos de vista: por una parte, puede verse como un concepto matemático abstracto o una caja negra (es decir, una transformación, posiblemente parametrizada por una clave, que convierte una determinada entrada en una determinada salida); por otra parte, esta primitiva tendrá que implementarse concretamente en un programa que se ejecutará en un ecosistema determinado, y por lo tanto presentará características específicas.  El primer punto de vista es el del “criptoanálisis clásico”; el segundo es el que se aplica a la seguridad física.

Los ataques físicos contra dispositivos criptográficos aprovechan las características específicas de la implementación para recuperar los parámetros secretos que intervienen en las operaciones de cifrado. Por tanto, son mucho menos generales -ya que son específicos de una implementación determinada- pero a menudo pueden resultar mucho más potentes que el criptoanálisis clásico y los fabricantes de dispositivos criptográficos generalmente los tienen muy en cuenta.

Estas formas de ataques físicos pueden ser numerosas y son clasificadas de muchas maneras. No obstante, la bibliografía suele clasificarlos en dos ejes ortogonales:

  1. Invasivos frente a no invasivos: los ataques invasivos requieren desempacar el chip para obtener acceso directo a sus componentes internos; un ejemplo típico de esto es la conexión de un cable en un bus de datos para ver las transferencias de datos. Un ataque no invasivo sólo explota la información disponible externamente (cuya misión es, sin embargo, a menudo involuntaria), como el tiempo de funcionamiento, el consumo de energía.
  2. Activo frente a pasivo: Los ataques activos intentan alterar el correcto funcionamiento de los dispositivos, por ejemplo, los ataques de inducción de fallos intentarán inducir errores en el cálculo. Por el contrario, los ataques pasivos se limitarán a observar el comportamiento de los dispositivos durante su procesamiento, sin perturbarlo.

De ahí los ataques de canal lateral son una clase de ataques físicos en los que un adversario intenta explotar fugas de información física como la información de temporización, el consumo de energía o la radiación electromagnética. Dado que no son invasivos, son pasivos y generalmente pueden realizarse utilizando equipos relativamente baratos, suponen una seria amenaza para la seguridad de la mayoría de los dispositivos de hardware criptográfico. Estos dispositivos van desde las computadoras personales hasta los pequeños dispositivos integrados, como las tarjetas inteligentes y los RFID (dispositivos de identificación por radiofrecuencia). Su proliferación en un espectro cada vez más amplio de aplicaciones ha convertido el problema de la seguridad física y los canales secundarios en una preocupación real y práctica de hoy día.

Estos están estrechamente relacionados con la existencia de fenómenos físicamente observables causados por la ejecución de tareas informáticas en los dispositivos microelectrónicos actuales. Por ejemplo, los microprocesadores consumen tiempo y energía para realizar las tareas que tienen asignadas. También irradian un campo electromagnético, disipan calor e incluso hacen algo de ruido. De hecho, hay un montón de fuentes de información que se filtran de las computadoras reales y que, en consecuencia, pueden ser explotadas por adversarios malintencionados.

Lo cierto es que cada uno de estos aprovecha diferentes características físicas y comportamentales de los dispositivos electrónicos para obtener información confidencial sin necesidad de explotar vulnerabilidades directas en el software o hardware. Teniendo en cuenta una clasificación más específica de estos ataques pudiéramos mencionar entre los que más resaltan por su impacto los siguientes:

  1. Ataques de Consumo de Energía: Estos ataques observan las variaciones en el consumo de energía del hardware durante la ejecución de operaciones criptográficas. Al medir el consumo de energía en diferentes momentos, los atacantes pueden deducir información sobre las operaciones internas del dispositivo y, en última instancia, extraer claves criptográficas.
  2. Ataques Electromagnéticos: Utilizan la radiación electromagnética emitida por los dispositivos electrónicos durante su funcionamiento. Los atacantes pueden capturar y analizar estas emisiones para obtener información confidencial. Este tipo de ataque es especialmente efectivo contra dispositivos que emiten señales electromagnéticas fuertes y consistentes.
  3. Ataques de Tiempo: Estos ataques miden el tiempo que tarda un sistema en realizar ciertas operaciones criptográficas. Los atacantes pueden deducir información sensible, como claves criptográficas, al analizar las variaciones en el tiempo de ejecución. Por ejemplo, si una operación toma más tiempo cuando ciertos bits de una clave son procesados, los atacantes pueden inferir esos bits.
  4. Ataques de Sonido: Aunque menos comunes, estos ataques se basan en la captura y análisis de los sonidos producidos por los dispositivos durante su funcionamiento. Por ejemplo, el sonido de un teclado puede ser analizado para deducir las teclas presionadas, y el sonido de un procesador puede revelar información sobre las operaciones internas.
  5. Ataques de Diferencia de Potencial: Estos ataques miden las diferencias de potencial eléctrico en diferentes partes de un dispositivo durante su funcionamiento. Al analizar estas diferencias, los atacantes pueden obtener información sobre las operaciones internas del dispositivo y extraer datos sensibles.
  6. Ataques de Cache: Estos ataques explotan las diferencias en el comportamiento de la memoria caché del procesador. Al observar cómo se accede y se utiliza la caché durante la ejecución de operaciones criptográficas, los atacantes pueden inferir información sensible. Un ejemplo famoso de este tipo de ataque es el ataque "Flush+Reload".

Si bien cada fenómeno de canal lateral puede aportar cierta singularidad en la forma en que se recopilan los datos (se toman mediciones), al final, la forma en que se explota la información es muy similar en cada uno de estos tipos de ataques. Por lo tanto, nos dedicaremos a explicar en detalle en este caso solo uno de ellos, les propongo los ataques de consumo de energía. La mayoría de los cifrados modernos se basan en la electrónica para manipular los ya conocidos unos y ceros. La forma en que esto se logra físicamente es aplicando o quitando energía a dispositivos llamados transistores, ya sea para mantener valores o realizar una operación sobre ese valor. Para cambiar un uno a un cero o viceversa, se aplica o se elimina una corriente de cada transistor. El consumo de energía de un circuito integrado o dispositivo más grande refleja la actividad agregada de sus elementos individuales, así como la capacitancia y otras propiedades eléctricas del sistema.

Debido a que la cantidad de energía utilizada está relacionada con los datos que se procesan, las mediciones de consumo de energía contienen información sobre los cálculos del circuito. Resulta que incluso los efectos de un solo transistor aparecen como correlaciones débiles en las mediciones de potencia. Cuando un dispositivo procesa secretos criptográficos, el uso de energía dependiente de los datos puede exponer esos secretos a disimiles ataques.

Para medir realmente el consumo de corriente en un circuito, hacemos uso de la ley de Ohm. Y sí estimados lectores, para entender todo esto hay que auxiliarse definitivamente de lo aprendido en las clases de Física. Al introducir una resistencia fija conocida en la corriente que se suministra o en el lado de tierra del dispositivo de cifrado, se puede usar un osciloscopio de alta precisión para capturar los cambios en el voltaje a lo largo del tiempo. Gracias a la ley de Ohm, este cambio de voltaje es directamente proporcional al cambio de corriente del dispositivo. Mediante el uso de una resistencia estable cuya resistencia no cambia con la temperatura, la presión, etc. (a veces denominada resistencia de detección de corriente), podemos capturar estas mediciones de alta calidad.

El acceso a un dispositivo que deseamos probar puede ser destructivo e implicar tirar de los pines de una placa de circuito impreso para insertar una resistencia de detección o benigno al colocar una resistencia en línea entre una fuente de alimentación y la entrada de alimentación del procesador. Cuanto más cerca del circuito que realiza el cifrado podamos obtener nuestras sondas, menor será el ruido relativo y, por lo tanto, mejor será la medición.

Entendido esto entonces, el ataque de canal lateral de energía más básico es únicamente el derivado a partir del examen de gráficos de esta actividad eléctrica a lo largo del tiempo para un dispositivo de hardware criptográfico determinado. Esta disciplina, conocida como Análisis de Potencia Simple (SPA, según acrónimo de sus siglas en idioma inglés, Simple Power Analysis), puede revelar una cantidad sorprendentemente rica de información sobre el código de cifrado objetivo y subyacente que emplea. Un ataque clásico usando SPA fue publicado en 1996 por el criptógrafo estadounidense Paul Kocher contra el criptosistema de clave pública RSA (Rivest, Shamir y Adleman). De esta forma los atacantes pueden medir la variación en la energía consumida por la CPU durante diferentes pasos del algoritmo para deducir los bits de la clave.

Generalmente estos ataques son especialmente peligrosos porque pueden ser llevados a cabo sin dejar rastro evidente de intrusión, complicando así su detección y la implementación de medidas de seguridad efectivas. Para mitigar estos ataques, es crucial implementar técnicas de mitigación específicas, como el rediseño de hardware y el uso de compiladores que minimicen las fugas de información.

En el caso de los dispositivos móviles, estos ataques han ganado cada vez más atención desde su introducción a partir del 2007. Mientras que los ataques tradicionales, como los ataques de análisis de potencia y los ataques de análisis electromagnético, requerían la presencia física del atacante, así como equipos costosos, una aplicación (sin privilegios) es todo lo que se necesita para explotar la información que se filtra en los dispositivos móviles modernos. Dada la enorme cantidad de información sensible que se almacena en los teléfonos celulares inteligentes, las ramificaciones de los ataques de canal lateral afectan tanto a la seguridad como a la privacidad de los usuarios y sus dispositivos.

Los ataques de canal lateral representan una amenaza significativa en el mundo de la ciberseguridad. La concienciación y la adopción de prácticas de seguridad robustas son esenciales para mitigar los riesgos asociados con estos ataques. Estos ataques son aplicables a la mayoría (si no a todas) de las tecnologías de circuitos actuales y deben considerarse una grave amenaza para la seguridad de los dispositivos empotrados actuales. Desde un punto de vista operativo, la seguridad contra estos puede obtenerse mediante la combinación acertada de varias contramedidas. Sin embargo, hay que prestar mucha atención a la evaluación justa de estas contramedidas para valorar adecuadamente la seguridad de cualquier dispositivo criptográfico e intercambiarla con la eficiencia de la implementación.

En otro orden, son sólo una parte de la realidad física y resistirlos puede inducir debilidades con respecto a otras cuestiones. Finalmente, este autor considera que el desarrollo de marcos unificados, métodos y modelos para el análisis de los problemas de seguridad física y posiblemente una teoría de seguridad física demostrable, continua y continuará siendo objeto de investigaciones futuras. Por hoy me despido, hasta la próxima semana y recuerde mantenerse a resguardo.