This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org
Mobile Top 10 2014-M9
Threat Agents | Attack Vectors | Security Weakness | Technical Impacts | Business Impacts | |
---|---|---|---|---|---|
Application Specific | Exploitability EASY |
Prevalence COMMON |
Detectability EASY |
Impact SEVERE |
Application / Business Specific |
Anyone with access to HTTP/S traffic, cookie data, etc. | Attack vectors include physical access to the device and network traffic capture | Malicious or accidental session hijacking | Unauthorized users gaining access to other users' accounts | Customers losing control of their accounts and/or data |
The M9 category deals with session handling and the various ways it can be handled insecurely.
Insecure use of cryptography is common in most any application that uses encryption, and there are two mistakes in this area that lead to the most insecurity:
- The Creation and Use of Custom Encryption Algorithms
- Use of Insecure and/or Deprecated Algorithms
- Poor Key Management
Creation and Use of Custom Encryption Protocols
There is no easier way to mishandle encryption--mobile or otherwise--than to try to create and use your own encryption algorithms or protocols.
Always use modern algorithms that are accepted as strong by the security community, and whenever possible leverage the state of the art encryption APIs within your mobile platform.
Use of Insecure and/or Deprecated Algorithms
Many cryptographic algorithms and protocols should not be used because they have been shown to have significant weaknesses or are otherwise insufficient for modern security requirements. These include:
- RC2
- MD4
- MD5
- SHA1
Poor Key Management
The best algorithms don't matter if you mishandle your keys. Many make the mistake of using the correct encryption algorithm, but implementing their own protocol for employing it. Some examples of problems here include:
- Including the keys in the same attacker-readable directory as the encrypted content
- Making the keys otherwise available to the attacker
- Failing to use built-in encryption functionality
References