Do you want to secure your mobile app? Follow Me.

Sandeep Rajbhar
3 min readJul 25, 2020

--

This era of 2020 is a dominance of the mobile and its app in the world. In the last few years mobile has taken over the world and consumers' habits have changed. Smartphones and mobile apps have become an integral part of everyday life. Over the last years, we have witnessed many companies turn to mobile apps for both Android and iOS platforms due to the increasing usage of smartphones and tablets worldwide. Research shows that 90 percent of time spent on mobile devices is spent on apps, versus 10 percent spent on mobile browsers but “great opportunity comes with a great challenge”. The most challenging part of the Mobile app is its security and its vulnerability.

Here I am giving you 6 Ways to provide super security to your mobile app Enjoy :D.

Data in Rest: Mostly inexperienced developers (Sometimes experienced developers too) don’t understand the value of data storage security in the Mobile app. Data Storage should accommodate all the below validation.

  • No sensitive data should be written to the application log.
  • No sensitive data should be shared with third parties unless it is a necessary part of the architecture.
  • The keyboard cache should be disabled while text input will process sensitive data.
  • No sensitive data should be exposed via the IPC mechanism.
  • Sensitive data like Passwords and Pin should not be exposed during user interaction.
  • No Sensitive data should be included in the backup generated by the mobile operating system.
  • The user credential stored in-app via Key Chain / key store OR In SQLChipher

Data in Transit: SSL pinning plays a major role in building highly secure mobile apps that users will be able to use even in countless insecure wireless networks that they encounter every day while using their mobile devices. Once ATS is enabled, the second step to increase security is enabling SSL Pinning. We should add this security element to the application to secure the mobile app. It uses certificate pinning to help prevent man-in-the-middle attacks. When communicating over public networks it is essential to send and receive information securely.

Authentication and Authorization: User Authentication and authorization are new normal for all the apps be it B2C or B2B business. This is the must-have feature for the Mobile app as it gives more power to the owner of the app about the access to their app and resources.

Integrity Check: The rooted devices are most venerable to attack. The execution of the app on a rooted device should be avoided. Mobile App should detect the jailbroken phone by the library like Jail Monkey and stop the app execution. It also helps to detect unauthorized apps on the device.

Note: This feature is awesome but If you are targetting a larger audience mainly in B2C apps you may lose the business because these days most mobile phones are rooted. If your app will use this feature it will not allow the user to execute the app. So take a wise decision :).

Secure application logic: This is my favorite feature for securing a mobile app. Many developers even don't know about the fact that the build you create can be tempered and debug by reverse engineering of APK or IPA. There is a library like Jscrambler to provides a series of layers to protect JavaScript on top of this obfuscation, there’s a Self-Defending layer that provides
anti-debugging and anti-tampering capabilities and enables setting measures like breaking the application, and deleting cookies.

Note: The Jscrambler library comes with some costs.

Third-Party Key and URL Storage: The most secure server is an ideal place to store a third-party key and get the keys via API. The other way to store is using a local environment file in the project but that has risks if someone by mistake pushes the environment file to git while making a build it can be vulnerable. Use a lib like react-native-dotenv vs react-native-config to create a .env file in react native app.

If you have any suggestions and questions you’re free to ask and suggest.

Have a great day guys :D.

--

--

Sandeep Rajbhar
Sandeep Rajbhar

Written by Sandeep Rajbhar

Solution Architect at Royal Cyber.

No responses yet