コンテンツにスキップ

iOS Sensitive data stored in keyboard cache

キーボードキャッシュに保存されるiOSの機密データ

説明

iOSは、数値以外のほぼすべての単語をキーボードキャッシュに保存します。自動補正機能が無効になっていない場合、ログイン情報やパスワードなどの機密情報が漏洩する可能性があります。

推奨事項

キーボードのキャッシュは、UITextFieldUITextView、およびUISearchBarでサポートされているUITextInputTraitsプロトコルによって引き起こされます。

キーボードキャッシュによる機密フィールドの入力漏洩を防ぐため、以下の対策を検討してください:

  • autocorrectionType は、入力中に自動補正を有効にするかどうかを決定します。このプロパティのデフォルト値は UITextAutocorrectionTypeDefault であり、ほとんどの入力メソッドで自動補正が有効になります。
let textField = UITextField(frame: CGRect(x: 0, y: 0, width: 200, height: 40))
textField.autocorrectionType = .no // Disable autocorrection
  • isSecureTextEntry は、テキストのコピーとキャッシュを無効にするかどうかを決定し、UITextField で入力中のテキストを非表示にします。このプロパティのデフォルト値は NO です。
let textField = UITextField(frame: CGRect(x: 0, y: 0, width: 200, height: 40))
textField.isSecureTextEntry = true // Enable secure text entry

リンク

標準

  • 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