Aller au contenu

Insecure TLS certificate validation (accept self-signed certificate)

Validation de certificat TLS non sécurisée (acceptation de certificat auto-signé)

Description

L'application accepte les certificats auto-signés, ce qui la rend vulnérable aux attaques de l'homme du milieu (MITM - Man-in-the-Middle).

Recommandation

Par défaut, les certificats SSL sont validés. Si ce n'est pas le cas pour votre application, envisagez de :

  1. Éviter de modifier les classes SSL : Évitez de surcharger TrustManager ou SSLSocketFactory pour autoriser les certificats invalides.
  2. Épinglage de certificat (Certificate Pinning) : Implémentez l'épinglage de certificat pour vous assurer que l'application n'accepte que les certificats provenant de sources de confiance. En codant en dur ou en stockant les certificats de confiance dans l'application, celle-ci peut vérifier l'authenticité du certificat du serveur lors du processus de poignée de main SSL/TLS, empêchant ainsi les attaques MITM utilisant des certificats auto-signés.

Liens

Normes

  • 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