As we have already discussed about severe vulnerabilities of android applications currently prevailing, let’s discuss some more serious and wicked exposures of it. It is crystal clear that web development is slowly and gradually migrating to the mobile industry. Today, mobile apps (be it iOS or Android) have become a part of conventional culture at a rapid pace. The Android app development economy is incorporated of at most 1.5 million apps and is absolutely on the verge to increase in the coming years. Moreover, the secure mobile app development has not been evident with the same level of maturity. Of course, secure development guidelines/practice exist in the community. In this article we’ll sum up and concentrate on top 6 vulnerabilities, as these are the most common ones found in mobile apps.

1. Insufficient Transport Layer Protection

You should impose the TLS/SSL encryption with a solid algorithms between communications. The rarest blunder is unencrypted connections from the application to three-d party companies. You must program your apps to showcase anyor warning messages (certificate error) so that the user is intercommunicated of the lineament of the encrypted connection. You should set the AllowAllHostnameVerifier attribute to forbid accepting all certificates.

2. Client Side Injection

This category is consisted of a broad diverseness of input attacks against the application itself. General best practices for mitigation of client side injection vulnerabilities include the input validation of the application entry points, on the server side. To avoid this, you should use parameterized queries, disable file system access for Webviews, Javascript and plugin support for Webviews.

3. Poor Authorization and Authentication

These vulnerabilities are controlled mostly on the server side. The best practices that you should follow are the same with web applications. Particularly for app development, device identifiers ought to be avoided (MAC Addresses, IMEI, UDID, IPs) since devices can be stolen and meddled with. Finally, out-of-band authentication tokens should not be sent to the same device.

4. Improper Session Handling

Although session handling mechanisms are mainly applied at the server side of the applications, secure session management practices can be employed at the devices themselves. The Confidentiality and Integrity of session tokens should be protected via SSL/TLS connections. Like authorisation and authentication, device identifiers should be avoided here as well and you should execute safe mechanisms to countermand session on lost devices.

5. Security Decisions Via Untrusted Inputs

While these issues primarily affect Android-based applications, there has been a case in point for iOS apps too. Generally and specifically, output escaping, authorization controls, input validation, and canonicalization should be cautiously analyzed. Also, you should extra-care when accepting and validating URL schemes.

6. Side Channel Data Leakage

This comprises of data exchange that usually maximizes app performance. As with Insecure Data Storage, you should build your app under the assumption that the device might be stolen. The application should be dynamically tested in order to verify that it doesn’t leak data during runtime.

The application market is constantly developing, we anticipate to see a step-up in the number of attacks against mobile devices themselves. So, you should build your next apps with app security in mind.