Aller au contenu

iOS Sensitive data stored in keyboard cache

Données sensibles iOS stockées dans le cache du clavier

Description

iOS stocke presque tous les mots non numériques dans le cache du clavier. Des informations sensibles telles que les identifiants ou les mots de passe peuvent être compromises si la fonction de correction automatique n'est pas désactivée.

Recommandation

La mise en cache du clavier est causée par le protocole UITextInputTraits pris en charge par UITextField, UITextView et UISearchBar.

Pour éviter que la mise en cache du clavier ne divulgue des saisies dans des champs sensibles, considérez les points suivants :

  • autocorrectionType détermine si la correction automatique est activée lors de la frappe. La valeur par défaut de cette propriété est UITextAutocorrectionTypeDefault, ce qui active la correction automatique pour la plupart des méthodes de saisie.
let textField = UITextField(frame: CGRect(x: 0, y: 0, width: 200, height: 40))
textField.autocorrectionType = .no // Disable autocorrection
  • isSecureTextEntry détermine si la copie et la mise en cache du texte sont désactivées, et masque le texte en cours de saisie pour UITextField. La valeur par défaut de cette propriété est NO.
let textField = UITextField(frame: CGRect(x: 0, y: 0, width: 200, height: 40))
textField.isSecureTextEntry = true // Enable secure text entry

Liens

Normes

  • OWASP_MASVS_L1:
    • MSTG_STORAGE_5
  • OWASP_MASVS_L2:
    • MSTG_STORAGE_5
  • PCI_STANDARDS:
    • REQ_2_2
    • REQ_3_2
    • REQ_3_3
    • REQ_3_5
    • REQ_6_2
  • OWASP_MASVS_v2_1:
    • MASVS_STORAGE_1
    • MASVS_STORAGE_2
  • HIPAA_CONTROLS:
    • SECURITY251
    • SECURITY212
    • SECURITY213