Publicado: Octubre 31, 2022
Historias de enCRYPT: Protección de aplicaciones contra ataques DFA
El 2023 promete ser un año lleno de acontecimientos para la criptografía. Probablemente comenzaremos a ver las primeras certificaciones para FIPS 140-3 y exploraciones más serias de la criptografía. impacto de la computación cuántica en el cifradoAdemás, veremos mayores protecciones contra los potentes ataques DFA que suelen complicar la labor de los criptógrafos. 2023 podría ser incluso el año más emocionante en criptografía desde 2001, cuando se finalizó la especificación del (entonces) nuevo Estándar de Cifrado Avanzado (AES), poniendo a disposición del público un algoritmo de cifrado matemáticamente seguro y de alto rendimiento.
Diseñado para reemplazar algoritmos criptográficos antiguos que comenzaban a mostrar debilidades matemáticas y a ser vulnerables al creciente poder de cómputo de los atacantes, AES devolvió el control a quienes intentaban proteger sus datos. Los atacantes pronto se percataron de que los ataques de fuerza bruta y los ataques a las capacidades matemáticas de AES serían ineficaces y que, en cambio, necesitaban un nuevo enfoque.
El Análisis Diferencial de Fallos (DFA, por sus siglas en inglés), cuyo primer artículo de investigación se publicó en 2002, es una técnica de ataque diseñada para recuperar claves criptográficas de aplicaciones mediante la inyección de «fallos» en el código criptográfico de la aplicación durante su ejecución y la observación de los cambios en su comportamiento. Un fallo consiste esencialmente en invertir un bit dentro de un cálculo interno y observar los cambios resultantes. Los fallos se pueden inyectar de diversas maneras, como variando los niveles de potencia en dispositivos de hardware o modificando bits de memoria en el software.
Los atacantes introducen fallos en diversas partes de la aplicación hasta encontrar un punto donde un fallo altera el resultado de una operación criptográfica de una forma específica. Según cómo cambie dicho resultado, el análisis de fallos deterministas (DFA) y algunos cálculos matemáticos permiten recuperar las claves criptográficas. Una vez recuperadas, cualquier dato cifrado con ellas queda vulnerable y en riesgo.
Originalmente, el ataque DFA se dirigía principalmente contra dispositivos de hardware, cuyo código máquina no estaba fácilmente accesible para los atacantes. El caso del software era mucho más sencillo, ya que las claves criptográficas solían ser claramente visibles dentro del código de la aplicación, donde herramientas como los desensambladores podían mostrarlas fácilmente. Durante mucho tiempo, si un fragmento de código realizaba criptografía, se mantenía en un entorno seguro, donde los atacantes no podían examinar fácilmente el código de la aplicación para encontrar dichas claves. En un principio, estos entornos eran propiedad física de las empresas tecnológicas. Hoy en día, toda empresa es una empresa tecnológica, y la seguridad física y virtual de la tecnología, el software, los secretos y las claves se deja, en la mayoría de los casos, en manos de gigantes como AWS, Google Cloud y Microsoft Azure.
La otra diferencia a la que nos enfrentamos en 2023 es que gran parte de la tecnología que creamos no reside ni en la nube (supuestamente bien protegida) ni en los centros de datos corporativos. En cambio, el software, la tecnología e incluso las claves de acceso residen en aplicaciones que los consumidores tienen en sus teléfonos móviles, ordenadores de escritorio, televisores inteligentes y automóviles. Porque actores de amenaza Ahora basta con examinar las instrucciones que componen la aplicación; sin embargo, las aplicaciones de software necesitan protección para sus rutinas y claves criptográficas. La criptografía de caja blanca se introdujo en 2002 para abordar precisamente esta preocupación, el mismo año en que se publicó el primer artículo sobre DFA.
La criptografía de caja blanca se introdujo para permitir implementaciones criptográficas seguras en aplicaciones donde los atacantes pueden manipular el código y los datos a su antojo. La criptografía de caja blanca permite obtener la misma salida para una entrada dada que una implementación criptográfica normal, pero su funcionamiento interno es completamente diferente al de una implementación criptográfica estándar. Esto dificulta enormemente que un atacante comprenda lo que sucede. Debido a esta dificultad para comprender las implementaciones criptográficas de caja blanca, y aprovechando el éxito obtenido en hardware, los atacantes comenzaron a utilizar el algoritmo de análisis determinista (DFA) como técnica contra la criptografía de caja blanca en implementaciones de software.
Los ataques DFA son cada vez más comunes. Diversos investigadores de seguridad hablan sobre ellos en conferencias, implementan ataques DFA tanto de hardware como de software, y publican sus metodologías. Los ataques DFA ya no se limitan al ámbito académico o a laboratorios de seguridad de alto nivel. Son una realidad, y con la proliferación y el uso estratégico del código malicioso, la frecuencia de los ataques reportados va en aumento.
A medida que la autenticación descentralizada (DFA) se vuelve más eficaz y común, es fundamental garantizar que sus defensas se mantengan al día y sigan protegiendo las rutinas criptográficas de su aplicación. Existen varias medidas que puede tomar para maximizar su defensa contra los ataques DFA.
En primer lugar, asegúrese de utilizar una implementación criptográfica moderna de caja blanca, diseñada para defenderse contra ataques deterministas deterministas (DFA) y probada por un tercero de confianza. Dado que los ataques se vuelven más sofisticados con el tiempo, es importante utilizar una implementación de caja blanca que se desarrolle activamente para mantenerse al día con los nuevos ataques.
En segundo lugar, debes asegurarte de que tu aplicación utilice protección de aplicaciones (también conocida como protección integrada en la aplicación). código de ofuscaciónLas aplicaciones con ofuscación utilizan técnicas de protección contra manipulación y robo de código para dificultar que los atacantes realicen un ataque DFA. Estas técnicas dificultan que los atacantes identifiquen dónde inyectar fallos, y las aplicaciones con protección contra manipulación pueden detectar cuándo están siendo atacadas para detener el ataque antes de que se propague.
Para obtener más información sobre cómo proteger sus aplicaciones móviles, de escritorio y de servidor, consulte nuestra Digital.ai Resumen de la solución de criptografía de caja blanca.
También puede interesarle
De días a horas: cómo la ingeniería inversa ética evolucionó con la IA
En 2020, la ingeniería inversa de un binario complejo a menudo llevaba días…
Análisis de los ataques de deepfake en el sistema de verificación de identidad del cliente (KYC)
Dónde encaja el endurecimiento en la superficie de ataque de deepfake Un rostro…
Descifrando los fallos de las aplicaciones móviles: del caos a la claridad.
Las aplicaciones móviles están bajo ataque constante. Según Digital.aide 2026…