iOS Sensitive data stored in keyboard cache
キーボードキャッシュに保存されるiOSの機密データ
説明
iOSは、数値以外のほぼすべての単語をキーボードキャッシュに保存します。自動補正機能が無効になっていない場合、ログイン情報やパスワードなどの機密情報が漏洩する可能性があります。
推奨事項
キーボードのキャッシュは、UITextField、UITextView、および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
リンク
- CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
- OWASP: Finding Sensitive Data in Keyboard Cache
標準
- 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