Un grupo de investigadores de las universidades de Texas, Illinois y Washington ha revelado información sobre una nueva familia de ataques por canales laterales (CVE-2022-23823, CVE-2022-24436), apodados Hertzbleed. El método de ataque propuesto se basa en características de gestión dinámica de frecuencia en los procesadores modernos y afecta a todas las CPU actuales de Intel y AMD. Este problema potencial podría manifestarse también en procesadores de otros fabricantes que soporten cambios de frecuencia dinámicos, como en sistemas ARM, pero el estudio realizado se limitó a verificar chips de Intel y AMD. Los códigos fuente con la implementación del método de ataque se publicaron en GitHub (la implementación fue probada en una computadora con CPU Intel i7-9700).
Para optimizar el consumo de energía y evitar el sobrecalentamiento, los procesadores cambian dinámicamente su frecuencia dependiendo de la carga, lo que lleva a cambios en el rendimiento e influye en el tiempo de ejecución de las operaciones (un cambio de frecuencia de 1 Hz provoca un cambio de rendimiento de 1 ciclo por segundo). Durante la investigación realizada, se descubrió que bajo ciertas condiciones, en los procesadores AMD e Intel, el cambio de frecuencia tiene una correlación directa con los datos procesados, lo que, por ejemplo, hace que el tiempo de cálculo de las operaciones "2022 + 23823" y "2022 + 24436" sea diferente. Con base en el análisis de las diferencias en el tiempo de ejecución de operaciones con diferentes datos, se puede reconstruir indirectamente la información utilizada en los cálculos. En redes de alta velocidad con retrasos constantes predecibles, el ataque se puede realizar de manera remota, evaluando el tiempo de ejecución de las solicitudes.
Si el ataque se lleva a cabo con éxito, los problemas identificados permiten determinar claves secretas basándose en el análisis del tiempo de cálculos en bibliotecas criptográficas que utilizan algoritmos en los cuales los cálculos matemáticos siempre se realizan en un tiempo constante, independientemente de la naturaleza de los datos procesados. Estas bibliotecas se consideraban protegidas contra ataques por canales laterales, pero, como se ha demostrado, el tiempo de cálculo no solo está determinado por el algoritmo, sino también por las características del funcionamiento del procesador.
Como ejemplo práctico que demuestra la viabilidad de aplicar el método propuesto, se presenta un ataque a la implementación del mecanismo de encapsulación de claves SIKE (Supersingular Isogeny Key Encapsulation), que llegó a la final del concurso de sistemas de criptografía post-cuántica organizado por el Instituto Nacional de Estándares y Tecnología de EE. UU. (NIST) y se posiciona como resistente a ataques a través de canales laterales. En el experimento, mediante una nueva variante de ataque basada en el texto cifrado (una metodología progresiva mediante manipulaciones del texto cifrado y la obtención de su descifrado), se logró recuperar completamente la clave utilizada para el cifrado, realizando mediciones desde un sistema remoto, a pesar de que la implementación de SIKE utilizaba un tiempo de cálculo constante. Se emplearon 36 horas para determinar una clave de 364 bits utilizando la implementación de CIRCL, y 89 horas con PQCrypto-SIDH.
Las empresas Intel y AMD han reconocido la vulnerabilidad en sus procesadores, pero no tienen planes de mitigarla mediante una actualización de microcódigo, ya que no es posible eliminar la vulnerabilidad sin un impacto significativo en el rendimiento. En su lugar, se han dado recomendaciones a los desarrolladores de bibliotecas criptográficas para bloquear programáticamente la fuga de información durante cálculos confidenciales. Las empresas Cloudflare y Microsoft ya han añadido dicha protección en sus implementaciones de SIKE, lo que ha llevado a una disminución del rendimiento del 5% para CIRCL y del 11% para PQCrypto-SIDH. Como otra alternativa para mitigar la vulnerabilidad, se puede desactivar los modos 'Turbo Boost', 'Turbo Core' o 'Precision Boost' en la BIOS o en el controlador, aunque este cambio resultará en una drástica reducción del rendimiento.
Las empresas Intel, Cloudflare y Microsoft fueron notificadas del problema en el tercer trimestre de 2021, y AMD en el primer trimestre de 2022, pero a pedido de Intel, la divulgación pública del problema fue pospuesta hasta el 14 de junio de 2022. La existencia del problema ha sido confirmada en procesadores para sistemas de escritorio y portátiles basados en las microarquitecturas Intel Core de 8 a 11 generaciones, así como en varios procesadores de escritorio, móviles y servidores AMD Ryzen, Athlon, A-Series y EPYC (los investigadores demostraron el método en un CPU Ryzen con microarquitectura Zen 2 y Zen 3).
Fuente: opennet.ru
