
BLOG
BLOG
Recent statistics show that almost half of the breaches that cause significant damage now occur through mobile applications. The Open Web Application Security Project (OWASP) has been categorizing, evangelizing, and publishing remediation information for web application security for 12 years. Over the last three years, OWASP has also started publishing a list of the Top 10 Mobile Threats.
Today, we will discuss in detail the third most prevalent mobile threat according to OWASP: Insufficient Transport Layer Protection.
Insufficient Transport Layer Protection happens when apps don’t properly secure the data they send over the internet. While apps might use SSL/TLS to protect information during login, they often forget to use it elsewhere, leaving sensitive data and session IDs exposed. This makes it easy for hackers to intercept and exploit the app.
OWASP points out that many apps don’t fully secure network traffic—they don’t always authenticate or encrypt data, and even when they do, they sometimes use weak encryption or outdated certificates.
Typically, when a mobile application is designed, data is exchanged in a client-server fashion. This data can traverse both a carrier network and the Internet.
If the application is coded poorly for sensitive data, threat agents can use techniques to view this sensitive data while it is in the mode of travel. Obviously, you would not want sensitive information like passwords, credit card numbers, or other sensitive data traveling without some encryption, generally HTTPS. To handle HTTPS correctly, you must also learn to code options around certificates in your mobile applications.
Unfortunately, mobile applications frequently do not protect network traffic. They may use SSL/TLS during authentication, but not elsewhere, exposing sensitive data to interception.
The following threat agents exist:
To find out if an application has sufficient transport layer protection, look at the application traffic through a proxy. Answer the following questions:
General best practices:
iOS specific best practices
Default classes in the latest version of iOS handle SSL cipher strength negotiation very well. Trouble comes when developers temporarily add code to bypass these defaults to accommodate development hurdles. In addition to the above general practices:
Android specific best practices
Lack of certificate inspection
The mobile app and an endpoint successfully connect and perform a SSL/TLS handshake to establish a secure channel. However, the mobile app fails to inspect the certificate offered by the server and the mobile app unconditionally accepts any certificate offered to it by the server. This destroys any mutual authentication capability between the mobile app and the endpoint. The mobile app is susceptible to man-in-the-middle attacks through a SSL proxy
Weak handshake negotiation
The mobile app and an endpoint successfully connect and negotiate a cipher suite as part of the connection handshake. The client successfully negotiates with the server to use a weak cipher suite that results in weak encryption that can be easily decrypted by the adversary. This jeopardizes the confidentiality of the channel between the mobile app and the endpoint;
Privacy information leakage
The mobile app transmits personally identifiable information to an endpoint via non-secure channels instead of over SSL. This jeopardizes the confidentiality of any privacy-related data between the mobile app and the endpoint.
In this article, we have tried to discuss in detail about Insufficient Transport Layer Protection. In case you missed our last two posts, you can head over to the OWASP Top 10 section to read more about the top mobile and web threats. We will continue this series in the coming weeks to discuss each threat in detail.
Source: OWASP
We have so many ideas for new features that can help your mobile app security even more efficiently. We promise you that we wont mail bomb you, just once in a month.