Skip to content

Latest commit

 

History

History
189 lines (146 loc) · 10.8 KB

File metadata and controls

189 lines (146 loc) · 10.8 KB

Mitigation Strategies Analysis for bitwarden/mobile

Description:

  1. Mobile Biometric APIs: Utilize platform-specific biometric APIs (Android's BiometricPrompt, iOS's LocalAuthentication framework). This is inherently mobile-specific.
  2. Strongest Available Biometrics: Prioritize the strongest biometric method available on the specific mobile device.
  3. Secure Fallback (Mobile Context): Enforce a strong passphrase (not a simple PIN) as the fallback, recognizing the increased risk of physical access on mobile.
  4. Mobile-Specific Timeouts: Configure timeouts for biometric re-authentication based on mobile usage patterns (e.g., after device reboot, after a period of inactivity on the mobile device).
  5. Liveness Detection (Mobile): Implement liveness checks for facial recognition on mobile, leveraging the device's camera.
  6. Mobile User Configuration: Allow users to enable/disable biometrics and configure timeouts within the mobile app.
  7. Mobile-Focused Education: Provide clear in-app guidance on the mobile device about the security implications.

Threats Mitigated:

  • Unauthorized Access (Mobile - High Severity): Prevents unauthorized access to the vault on a compromised or lost/stolen mobile device.
  • Biometric Spoofing (Mobile - Medium Severity): Liveness detection on the mobile device reduces the risk.
  • Weak PIN Bypass (Mobile - High Severity): Eliminates the vulnerability of a weak PIN on a physically accessible mobile device.

Impact:

  • Unauthorized Access (Mobile): Significantly reduces risk (High Impact).
  • Biometric Spoofing (Mobile): Moderately reduces risk (Medium Impact).
  • Weak PIN Bypass (Mobile): Eliminates risk (High Impact).

Currently Implemented:

  • Biometric authentication (fingerprint, face) is implemented on both Android and iOS (inherently mobile).
  • Fallback to master password is implemented.
  • Mobile-specific timeouts are likely implemented.
  • Liveness detection is likely implemented (mobile-specific).

Missing Implementation:

  • Explicit enforcement of a strong passphrase as the mobile fallback (distinct from the master password).
  • More granular mobile-specific biometric settings.

Description:

  1. Mobile Remote Wipe: The mobile app receives and processes a remote wipe command.
  2. Secure Mobile Wipe: The command is authenticated and encrypted for the mobile device.
  3. Mobile Data Deletion: The mobile app securely deletes all locally stored vault data.
  4. Mobile Self-Destruct: A counter on the mobile device tracks failed unlock attempts.
  5. Mobile Threshold: A user-configurable threshold on the mobile app triggers self-destruction.
  6. Irreversible Mobile Deletion: The mobile app securely and irreversibly deletes data.
  7. Offline Mobile Wipe (Optional): Implement a mechanism for offline wipe on the mobile device.
  8. Mobile User Education: Provide clear warnings on the mobile device.

Threats Mitigated:

  • Device Loss/Theft (Mobile - High Severity): Prevents access on a lost/stolen mobile device.
  • Brute-Force (Mobile - High Severity): Limits attempts on the mobile device.

Impact:

  • Device Loss/Theft (Mobile): Significantly reduces risk (High Impact).
  • Brute-Force Attacks (Mobile): Significantly reduces risk (High Impact).

Currently Implemented:

  • Remote wipe is available (initiated from web, but affects the mobile device).
  • Some form of self-destruct/lockout is likely implemented on the mobile device.

Missing Implementation:

  • Explicit, user-configurable local self-destruct with irreversible data deletion on the mobile device.
  • Offline wipe capability for the mobile device.

Description:

  1. Mobile Key Storage: Store keys within the mobile device's secure enclave (iOS) or TEE (Android). This is inherently mobile-specific hardware.
  2. Mobile Cryptographic Operations: Perform encryption/decryption inside the mobile device's secure enclave/TEE.
  3. Mobile Key Attestation: Use hardware-backed key attestation on the mobile device.
  4. Mobile API Updates: Update the app to use the latest mobile secure enclave/TEE APIs.

Threats Mitigated:

  • Key Extraction (Mobile - High Severity): Makes key extraction extremely difficult, even with root access to the mobile device.
  • Code Injection (Mobile - Medium Severity): Protects operations on the mobile device.
  • Tampering (Mobile - Medium Severity): Detects compromise of the mobile device's secure enclave/TEE.

Impact:

  • Key Extraction (Mobile): Significantly reduces risk (High Impact).
  • Code Injection (Mobile): Moderately reduces risk (Medium Impact).
  • Tampering (Mobile): Moderately reduces risk (Medium Impact).

Currently Implemented:

  • Bitwarden uses the mobile device's secure enclave/TEE.

Missing Implementation:

  • Potentially, more advanced use of mobile-specific secure enclave features.

Description:

  1. Mobile Clipboard Timeout: Implement a short timer on the mobile device.
  2. Mobile Automatic Clearing: Clear the clipboard on the mobile device.
  3. Mobile Visual Indicator: Display a notification on the mobile device.
  4. Mobile Platform APIs (Optional): Use mobile APIs to restrict clipboard access.
  5. Mobile User Configuration: Allow configuration within the mobile app.
  6. Mobile User Education: Inform users about clipboard risks on the mobile device.

Threats Mitigated:

  • Clipboard Sniffing (Mobile - Medium Severity): Reduces the risk on the mobile device.
  • Accidental Disclosure (Mobile - Low Severity): Prevents accidental pasting on the mobile device.

Impact:

  • Clipboard Sniffing (Mobile): Moderately reduces risk (Medium Impact).
  • Accidental Disclosure (Mobile): Slightly reduces risk (Low Impact).

Currently Implemented:

  • Bitwarden implements a clipboard timeout and clearing on mobile.
  • Mobile visual indicators are likely present.

Missing Implementation:

  • More aggressive mobile clipboard protection using platform APIs.

Description:

  1. Mobile RASP Integration: Integrate a RASP library into the mobile application.
  2. Mobile Behavior Monitoring: Monitor the mobile app's runtime behavior.
  3. Mobile Threat Detection: Detect attempts to:
    • Access sensitive memory on the mobile device.
    • Inject code into the mobile app.
    • Hook system APIs on the mobile device.
    • Perform unauthorized network requests from the mobile device.
  4. Mobile Response Actions: If a threat is detected on the mobile device:
    • Terminate the mobile application.
    • Alert the user on the mobile device.
    • Securely wipe data on the mobile device.
  5. Mobile Rule Updates: Regularly update the RASP rules for the mobile app.

Threats Mitigated:

  • Code Injection (Mobile - Medium Severity): Detects and prevents code injection on the mobile device.
  • Memory Tampering (Mobile - Medium Severity): Detects memory modification on the mobile device.
  • API Hooking (Mobile - Medium Severity): Detects API interception on the mobile device.
  • Zero-Day Exploits (Mobile - Medium Severity): Can potentially mitigate unknown vulnerabilities on the mobile device.

Impact:

  • Code Injection (Mobile): Moderately reduces risk (Medium Impact).
  • Memory Tampering (Mobile): Moderately reduces risk (Medium Impact).
  • API Hooking (Mobile): Moderately reduces risk (Medium Impact).
  • Zero-Day Exploits (Mobile): Slightly reduces risk (Low Impact).

Currently Implemented:

  • The extent of RASP implementation in Bitwarden's mobile app is unclear.

Missing Implementation:

  • Full RASP integration with comprehensive threat detection and response for the mobile app.

Mitigation Strategy: In-App Security Guidance

Description:

  1. Tooltips & Help: Provide context-sensitive help and explanations in mobile app.
  2. Security Warnings: Display warnings for potentially risky actions in mobile app.
  3. FAQs & Documentation: Include comprehensive security documentation within the mobile app.
  4. Tailored Recommendations: Provide personalized security advice in mobile app.
  5. Clear Language: Use non-technical language in mobile app.

Threats Mitigated:

  • User Error (Medium Severity): Reduces the likelihood of users making security mistakes in mobile app.
  • Weak Password Choices (High Severity): Encourages users to create strong master passwords and passphrases in mobile app.
  • Phishing (Medium Severity): Raises awareness of phishing attacks in mobile app.

Impact:

  • User Error: Moderately reduces the risk (Medium Impact).
  • Weak Password Choices: Moderately reduces the risk (Medium Impact).
  • Phishing: Slightly reduces the risk (Low Impact).

Currently Implemented:

  • Bitwarden includes some in-app guidance and help documentation in mobile app.

Missing Implementation:

  • More proactive and context-sensitive security guidance, integrated directly into the user workflow in mobile app.
  • More explicit warnings about weak password choices in mobile app.

Mitigation Strategy: Phishing Awareness

Description:

  1. In-App Warnings: Include warnings about phishing in relevant sections of the mobile app.
  2. Phishing Examples: Provide examples of common phishing techniques in mobile app.
  3. Reporting Mechanism: Encourage users to report suspicious emails/websites in mobile app.

Threats Mitigated:

  • Phishing Attacks (Medium Severity): Increases user awareness and reduces the likelihood of falling for phishing scams in mobile app.

Impact:

  • Phishing Attacks: Slightly reduces the risk (Low Impact).

Currently Implemented:

  • Bitwarden's website and documentation likely contain information about phishing.

Missing Implementation:

  • More prominent and integrated phishing awareness training within the mobile app itself.