IntroducciónEn una era de transformación digital sin precedentes, proteger las comunicaciones y los datos confidenciales nunca ha sido más crítico. Uno de los desafíos importantes que enfrentan las organizaciones es garantizar la integridad y confidencialidad de los datos intercambiados entre aplicaciones móviles y servidores. Para salvaguardar esta comunicación, SSL Pinning se ha convertido en una práctica estándar. Sin embargo, a medida que evolucionan las amenazas a la ciberseguridad, también lo hacen los métodos empleados por los ciberdelincuentes para violar las medidas de seguridad. Esta publicación de blog profundiza en el papel crucial de Frida, un conjunto de herramientas de instrumentación dinámica, para evitar la fijación SSL. Además, exploraremos prácticas de codificación segura destinadas a evitar la omisión de SSL Pinning, brindando a las organizaciones empresariales el conocimiento necesario para mejorar la seguridad de sus aplicaciones móviles. SSL (Secure Sockets Layer) SSL (Secure Sockets Layer) es una seguridad de Internet crítica basada en cifrado. protocolo. Concebido originalmente por Netscape en 1995, su objetivo principal era garantizar la privacidad, la autenticación y la integridad de los datos en las comunicaciones en línea. SSL sirve como precursor del protocolo de cifrado TLS (Transport Layer Security) ampliamente utilizado en la actualidad. Antes de profundizar en SSL, comprendamos rápidamente HTTP/HTTPS y SSL/TLSHTTP VS HTTPSLa Figura 1 ilustra las distinciones entre HTTP y HTTPS, destacando sus respectivas características. Figura 1: HTTP VS HTTPS Cómo funciona SSL/TLS Figura 2: Funcionamiento de SSL/TLS SSL/TLS garantiza una comunicación segura en Internet a través de los siguientes pasos:• Cifrado: SSL cifra los datos transmitidos, haciéndolos ilegibles y casi imposibles de descifrar para posibles interceptores.• Autenticación: SSL inicia un protocolo de enlace entre los dispositivos que se comunican para verificar su legitimidad .• Integridad de los datos: SSL firma digitalmente los datos para mantener su integridad y confirmar que no han sido manipulados. Omisión de fijación de SSL Figura 3: Arquitectura de omisión de fijación de SSL La fijación de SSL se puede eludir si no se implementa o configura correctamente. Un enfoque común para evitar la fijación de SSL es el siguiente: 1.Objection Framework Objection es una herramienta de exploración móvil en tiempo de ejecución impulsada por FRIDA, diseñada para evaluar la seguridad de aplicaciones móviles sin necesidad de un dispositivo con jailbreak o rooteado. Ofrece scripts y comandos predefinidos para explotar vulnerabilidades. Pasos para reproducir: Instalar y usar la herramienta Objeción para evitar vulnerabilidades es sencillo, gracias a su sencillo proceso de instalación. NOTA: Instale Python y establezca el camino para cualquier obstáculo. Después de instalar Python y sus paquetes necesarios, utilizaremos la herramienta ‘pip’ para instalar Objection en el sistema. Objeción de instalación de Pip Figura 4: Instalación de Objeción usando pip Nota: tenga en cuenta que los requisitos ya se cumplen, lo que indica que el software ya está instalado en el sistema. Después de la instalación exitosa de Objeción, es esencial verificar que funcione correctamente. Para hacer esto, ejecute el comando «objeción» para confirmar que se ejecuta sin problemas. Figura 5: Objeción instalada y ejecutándose correctamente Con la instalación exitosa de todos los requisitos previos, el siguiente paso es omitir la fijación SSL de la siguiente manera: • Ejecute el comando: «objeción -g NOMBRE_PAQUETE explorar” (donde ‘g’ representa el gadget y debe reemplazar NOMBRE_PAQUETE con el nombre del paquete de la aplicación).•Como se mencionó anteriormente, hay scripts predefinidos disponibles; simplemente invoquelos usando el comando «desactivar SSLPINNING de Android». •Esta acción activará una ventana emergente que abrirá la aplicación deseada.•El servidor Frida debe estar ejecutándose en un dispositivo Android para ejecutar Objeción en el sistema.•Continúe haciendo clic en «enviar solicitud» para omitir efectivamente la fijación de SSL.Figura 6: Omitido con éxito Fijación de SSL 2. Pasos de Frida para reproducir: Como se muestra en la Figura 7 a continuación, se utiliza un script para omitir la fijación de SSL. Para lograr esto, realice los siguientes pasos: “Frida -U -l Frida-multiple-unpinning.py -f infosecadventures .allsafe” -u se utiliza para el gadget adjunto-l Nombre del script-f APK_PACKAGE_NAME Figura 7 Ejecución de la herramienta Frida Figura 8: Desanclar SSL usando Frida Figura 9: Omitir fijación SSL exitosaFigura 10: Desanclar SSL Bypass Impacto •Los atacantes pueden interceptar y leer comunicaciones entre la aplicación y el servidor. • Si la aplicación no está protegida adecuadamente, la información confidencial puede quedar expuesta, lo que puede provocar un compromiso o un acceso no autorizado. Medidas efectivas de mitigación a. Fuerte configuración SSL/TLS Los protocolos SSL/TLS son responsables de proteger la comunicación entre su aplicación y los servidores externos. Para mitigar posibles vulnerabilidades, configure cuidadosamente su aplicación para utilizar las versiones más recientes y seguras de estos protocolos. Además, aplique algoritmos de cifrado sólidos, longitudes de claves y procedimientos de validación de certificados. Al hacerlo, establecerá una base segura para la transmisión de datos y reducirá el riesgo de que los atacantes manipulen con éxito el mecanismo de fijación SSL. b. Evite codificar o almacenar datos confidenciales Para evitar ataques de omisión de fijación SSL, evite codificar o almacenar datos confidenciales, como claves API, contraseñas o claves de cifrado, directamente en el código de su aplicación. En su lugar, utilice mecanismos de almacenamiento seguro como Android Keystore o iOS Keychain para almacenar datos confidenciales de forma segura. Esta práctica reduce las posibilidades de que los atacantes obtengan acceso a información crítica incluso si logran eludir la fijación SSL. c.Pruebas de seguridad periódicas Las pruebas de seguridad continuas son esenciales para identificar y abordar vulnerabilidades que podrían explotarse para evitar la fijación SSL. Implemente evaluaciones de seguridad de rutina y pruebas de penetración de su aplicación móvil. Analice periódicamente las debilidades en la implementación de SSL Pinning y evalúe la postura de seguridad general de su aplicación. Al realizar pruebas de seguridad frecuentes, puede adelantarse a las amenazas emergentes, aplicar parches oportunos y garantizar que sus mecanismos de fijación SSL sigan siendo efectivos. d.Implementar el principio de privilegio mínimo Para minimizar el riesgo de ataques de elusión de fijación SSL, respete el principio de privilegio mínimo. Esto significa que cada componente de su aplicación solo debe tener el nivel mínimo de acceso necesario para realizar sus funciones. Limite los permisos, los privilegios de usuario y el acceso a la API a los elementos esenciales necesarios para el funcionamiento de la aplicación. e.Cifrar datos confidenciales Además de proteger los datos confidenciales del acceso no autorizado, es esencial cifrar estos datos tanto en reposo como en tránsito. Utilice algoritmos de cifrado sólidos para codificar datos antes de almacenarlos en el dispositivo o transmitirlos a través de la red. Esta capa adicional de seguridad garantiza que incluso si se omite la fijación SSL, los datos interceptados sigan siendo ilegibles para los actores malintencionados. f. Ofuscación de código La ofuscación de código es una práctica que implica hacer intencionalmente que el código fuente de su aplicación sea más difícil de entender o aplicar ingeniería inversa. Mediante la ofuscación del código, puede disuadir a los atacantes de descubrir debilidades en su implementación de SSL Pinning. Las herramientas de ofuscación modifican nombres de variables y funciones, alteran el flujo de control y agregan código extraño para confundir a los ingenieros inversos. Si bien no proporciona seguridad absoluta, aumenta significativamente el esfuerzo requerido por los atacantes para analizar el código de su aplicación e idear métodos para eludir la fijación SSL. Conclusión Con el aumento diario en el uso de aplicaciones móviles y móviles, las amenazas a la seguridad relacionadas con las mismas también están en constante evolución. Las organizaciones deben permanecer alerta y proactivas en la protección de sus aplicaciones móviles y los datos confidenciales que manejan. Comprender el papel de Frida en la omisión de SSL Pinning es esencial tanto para los profesionales como para los desarrolladores de ciberseguridad. Para mejorar la seguridad y mantener la confianza de los clientes, las empresas pueden reconocer riesgos potenciales, utilizar Frida para investigaciones de seguridad legítimas e implementar prácticas de codificación segura. Al mirar hacia el futuro, mantenerse informado sobre las amenazas emergentes y mejorar continuamente las medidas de seguridad será crucial para salvaguardar la activos digitales y reputación de organizaciones a nivel mundial. Referencias de imágenes: •https://www.guru99.com/difference-http-vs-https.html •https://comodosslstore.com/blog/what-is-ssl-tls-client-authentication-how-does- it-work.html •https://www.cyclon3.com/bypass-facebook-ssl-certificate-pinning-for-ios Referencias: •https://redfoxsec.com/blog/ssl-pinning-bypass-android- frida/ •https://mas.owasp.org/MASTG/techniques/android/MASTG-TECH-0012/ •https://niiconsulting.com/checkmate/2019/04/ssl-pinning-introduction-bypass-for- android/ • https://blog.moove-it.com/prevent-bypassing-of-ssl-certificate-pinning-on-ios/