Insecure TLS certificate validation (accept self-signed certificate)
Validación de certificado TLS insegura (acepta certificado autofirmado)
Descripción
La aplicación acepta certificados autofirmados, lo que la hace vulnerable a ataques de intermediario (Man-In-The-Middle, MITM).
Recomendación
De manera predeterminada, los certificados SSL se validan. Si este no es el caso en su aplicación, considere lo siguiente:
- Evitar alterar las clases SSL: Evite anular TrustManager o SSLSocketFactory para permitir certificados no válidos.
- Fijación de certificados (Certificate Pinning): Implemente la fijación de certificados para garantizar que la aplicación solo acepte certificados de fuentes confiables. Al integrar (hardcode) o almacenar certificados de confianza dentro de la aplicación, esta puede verificar la autenticidad del certificado del servidor durante el proceso de enlace (handshake) SSL/TLS, previniendo así ataques MITM que utilizan certificados autofirmados.
Enlaces
Estándares
- PCI_STANDARDS:
- REQ_2_2
- REQ_4_2
- REQ_11_3
- SOC2_CONTROLS:
- CC_2_1
- CC_4_1
- CC_7_1
- CC_7_2
- CC_7_4
- CC_7_5
- HIPAA_CONTROLS:
- SECURITY252
- SECURITY212
- SECURITY213