2023 promete ser un año lleno de acontecimientos para la criptografía. Es probable que comencemos a ver nuestras primeras certificaciones para FIPS 140-3 y exploraciones más serias de la impacto que tiene la computación cuántica en el cifrado. Además, veremos más protecciones contra los poderosos ataques DFA que, de otro modo, atormentarían a los criptógrafos. 2023 puede incluso ser el año más emocionante en criptografía desde 2001 cuando se finalizó la (entonces) nueva especificación del 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 los algoritmos criptográficos más antiguos que comenzaban a mostrar debilidades en sus matemáticas y eran vulnerables a la creciente potencia informática disponible para los atacantes, AES devolvió el poder a quienes intentaban proteger sus datos. Los atacantes reconocieron rápidamente que los ataques de fuerza bruta y los ataques matemáticos de AES iban a ser ineficaces y que, en cambio, necesitaban un nuevo enfoque.
Con el primer artículo de investigación sobre el tema publicado en 2002, el Análisis diferencial de fallas, o DFA, es una técnica de ataque que está diseñada para recuperar claves criptográficas de aplicaciones inyectando "fallas" en el código criptográfico de la aplicación en tiempo de ejecución y observando cambios en la aplicación. comportamiento. Una falla es esencialmente voltear un poco dentro de un cálculo interno y observar qué cambia. Las fallas se pueden inyectar de varias maneras, como variar los niveles de potencia en los dispositivos de hardware o cambiar bits de memoria en el software.
Los atacantes inyectan fallas en muchas partes diferentes de la aplicación hasta que encuentran un lugar donde una falla cambia la salida de una operación criptográfica de una manera específica. En función de cómo cambie la salida de la operación criptográfica, DFA y algunas matemáticas pueden permitir la recuperación de claves criptográficas. Una vez que se recuperan esas claves, cualquier dato cifrado con ellas es vulnerable y está en riesgo.
Originalmente, DFA era un ataque principalmente contra dispositivos de hardware, donde el código de máquina no estaba disponible para que los atacantes lo vieran. El caso del software fue mucho más sencillo, ya que, por lo general, las claves criptográficas eran claramente visibles dentro del código de la aplicación, donde las herramientas como los desensambladores podían mostrarse fácilmente. Durante mucho tiempo, si un fragmento de código hacía criptografía, se guardaba en un entorno seguro, donde los atacantes no podían mirar fácilmente el código de la aplicación para encontrar esas claves. Primero, esos entornos eran propiedad física de las empresas de tecnología. Hoy en día, cada empresa es una empresa de tecnología, y la seguridad física y “virtual” de la tecnología/software/secretos/claves se deja en la mayoría de los casos en manos formidables de gigantes como AWS, Google Cloud y Microsoft Azure.
La otra diferencia que enfrentaremos en 2023 es que gran parte de la tecnología que creamos no se encuentra ni en la bien protegida (suponemos) nube ni en los centros de datos corporativos. Más bien, el software/tecnología e incluso las claves residen en aplicaciones que los consumidores tienen en sus teléfonos móviles, computadoras de escritorio, televisores inteligentes y automóviles. Porque actores de amenaza Ahora puede simplemente mirar las instrucciones que componen la aplicación; 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 exactamente esta preocupación, el mismo año en que se publicó el primer artículo de DFA.
La criptografía de caja blanca se introdujo para hacer posible proporcionar implementaciones criptográficas seguras en aplicaciones donde los atacantes pueden manipular el código y los datos a voluntad. La criptografía de caja blanca es una forma de obtener el mismo resultado para una entrada dada que una implementación criptográfica normal, pero el funcionamiento interno de cómo se hace es completamente diferente al de una implementación criptográfica estándar. Esto hace que sea muy difícil para un atacante entender lo que está sucediendo. Debido a la dificultad que tenían para comprender las implementaciones de criptografía de caja blanca, aprovechando el éxito en el hardware, los atacantes comenzaron a usar DFA como una técnica contra la criptografía de caja blanca en las implementaciones de software.
DFA es cada vez más común. Varios investigadores de seguridad hablan sobre los ataques DFA en conferencias, implementan ataques DFA de hardware y software y publican cómo hacerlo. DFA ya no es simplemente un ataque limitado a la academia o laboratorios de seguridad de alto nivel. Los ataques del mundo real están aquí, y con la proliferación y el uso de armas del código de ataque, la frecuencia de los ataques informados está aumentando.
A medida que DFA avanza en eficacia y uniformidad, es imperativo asegurarse de que sus defensas estén a la altura y aún puedan proteger las rutinas criptográficas dentro de su aplicación. Hay varios pasos que puede seguir para asegurarse de que está haciendo todo lo posible para defenderse de los ataques de DFA.
El primero es asegurarse de que está utilizando una implementación moderna de criptografía de caja blanca diseñada para defenderse de DFA y probada por un tercero de confianza. Debido a que los ataques crecen en sofisticación con el tiempo, es importante utilizar una implementación de caja blanca que se desarrolle activamente para mantener el ritmo de los nuevos ataques.
En segundo lugar, debe asegurarse de que su aplicación utilice protección de aplicación (también conocida como protección dentro de la aplicación). código de ofuscación, técnicas anti-manipulación y anti-levantamiento de código) para hacer más difícil para los atacantes montar un ataque DFA en primer lugar. Las aplicaciones con ofuscación dificultan que los atacantes comprendan dónde inyectar fallas y las aplicaciones que pueden reconocer cuando están bajo ataque (también conocidas como aplicaciones con anti-manipulación) pueden tomar medidas inmediatamente para detener el ataque antes de que avance.
Para obtener más información sobre cómo proteger sus aplicaciones móviles, de escritorio y de servidor, consulte nuestro Digital.ai Resumen de la solución de criptografía de caja blanca.
¿Estás listo para escalar tu empresa?
Explorar
¿Qué hay de nuevo en el mundo de Digital.ai
Código ofuscado de una aplicación de Android
Conozca la importancia de la ofuscación de código en Android. Descubra los beneficios, herramientas y mejores prácticas para proteger su propiedad intelectual y mejorar la seguridad.
Resumen del incidente de CrowdStrike y prevención con Digital.ai Soluciones
El 19 de julio de 2024, una actualización de configuración de software defectuosa de…
Guía: Cómo ofuscar el código
Aprenda a ofuscar código de forma eficaz en esta guía completa. Descubra la importancia de la ofuscación de código y explore diferentes tipos y técnicas.