According to the CWE (Common Weakness Enumeration) list, there are three vulnerability IDs referred to improper protection mechanisms we use in our researches:
- Sensitive data leakage [CWE-200]
- Unsafe sensitive data storage [CWE-312]
- Unsafe sensitive data transmission [CWE-319]
Sensitive data leakage can be either inadvertent or side channel. Legitimate applications usage of device information and authentication credentials can be poorly implemented thereby exposing this sensitive data to third parties: Location, Owner ID info: name, number, device ID, Authentication credentials, Authorization tokens
Mobile applications often store sensitive data such as banking and payment system PIN numbers, credit card numbers, or online service passwords. Sensitive data should always be stored encrypted so that attackers cannot simply retrieve this data off the file system. It should be noted that storing sensitive data without encryption on removable media such as a micro SD card is especially risky.
It is important that sensitive data be encrypted in transmission lest it be eavesdropped by attackers. Mobile devices are especially susceptible because they use wireless communications exclusively and often public Wi-Fi, which is known to be insecure. SSL is one of the best ways to secure sensitive data in transit. If the app implements SSL, it could still fall victim to a downgrade attack if it allows degrading HTTPS to HTTP. Another way SSL could be compromised is if the app does not fail on invalid certificates. This would enable that a man-in-the-middle attack.