Mobile Application Security

Published on : 11 Sep 2019


mobile application security

Nowadays Mobile device has evolved from simple communication devices to multi-tasking gadgets that can basically do everything. Well, say it ordering food, shopping or even getting simple directions it can all be done using a mobile phone. This is only possible due to the wonderful world of mobile devices. Today we are going to talk about testing of such Mobile application.

These are the basic fundamentals on which mobile applications are tested for.

 

By testing these fundamentals, it increases the general efficiency and reliability of the Mobile application. We are going to focus on one of these fundamentals, i.e. Security.

So, let us start with understanding

What is Mobile Application Security?

Mobile application security is the practice of protecting mobile applications from malware by the activities of crackers and other criminals. It can also be said as a practice of minimizing the risk of exploiting the mobile application. Any mobile application uses a number of components which are possibly vulnerable to some of the other weakness. To make sure that the weakness is mitigated, it is necessary that the developers follow the best practices.

Why Mobile Application Security testing is necessary

1. Prevent the attacks on the Application.

Your mobile application can possibly be prone to hackers who’d intend and attack your systems with a motive of stealing your data. However, you can anticipate possible future scenarios and mitigate related risks. You can guess the behaviours of hackers to discover flaws in the code and fix them before hackers exploit them. The type of security test designed for this is a penetration test. In this, the tester uses advanced knowledge of IT and tools to guess the behaviour of an attacker who enters the client’s environment to get information and/or access permission without appropriate authorization.

2. Make sure your application is safe before it is set out for users around the globe.

When an application is developed, it goes through a process of quality check where the application is tested with respect to its robustness and its ability to fulfil business and user requirements where security testing is either ignored or is taken care of at the very last moment. Most of the security researchers recommend following a practice were testing the security of the application is done on the first part and then the rest of the testing takes place.

3. Meet robust trade security standards and comply with regulations.

Security testing has been a very necessary and integral part of a software application development life cycle. There is no reason why security should not be an integral or mandatory part of a mobile application development life cycle

Techniques:

There are 2 techniques of how a mobile application can be tested,

1. Browser-based mobile application

A program put together portable application works with respect to HTML5, Cascading Style Sheet, and JavaScript. These applications are defenceless against assaults like SQL Injection, Cross-Site Scripting, Authentication checks, and Parameter altering assaults. When testing such applications, it is prescribed to utilize emulator on the grounds that the application may not carry on the equivalent in various condition and check for the above-said vulnerabilities.

2. Native mobile application

Native applications like .apk, .iOS files that contain all the components that are required to perform the desired functionality of the application. There are a lot many applications developed that uses a 3rd party application to enhance the functionality of the application. The native application is usually downloaded from the OS Application downloading software such as play store, app store, etc. When testing such applications, a test needs to test every component of the application.

Procedure:

Any mobile application can be tested in 2 ways, ‘static’ and ‘dynamic’.

Static: In a static investigation, the development team must provide compiled binaries or the source code of the application for examination. The code is inspected to guarantee the security controls are set up in areas like authorization, session management, authentication and data storage and information disclosure. Indeed, even Native application ought to likewise be tried for web application vulnerabilities on the grounds that numerous versatile applications are helpless against these vulnerabilities.

Dynamic: Dynamic examination is an assessment of a program and testing by executing information progressively. The target of this is to discover the security escape clauses in a program while it is running. Dynamic analysis is executed against the application’s backend administrations and APIs. Contingent upon the sort of portable application chooses the kind of test to be executed (native or browser-based).

Top Mobile, application vulnerabilities and their mitigation.

 

  • Binary Protection: Jailbreaking or rooting a device permits to find a way to data protection and encryption schemes on the system. Any noxious contents can keep running on the gadget, which can adjust the proposed practices of the application when a gadget has been compromised. Mostly, data forensic and recovery tools run on rooted devices.
    Mitigation: With respect to security, it is ideal to not have the application kept running on rooted or jailbroken gadgets, or possibly do some type of root/jailbreak detection.
  • Insufficient Transport Layer Protection: Jailbreaking or rooting a device permits to find a way to data protection and encryption schemes on the system. Any noxious contents can keep running on the gadget, which can adjust the proposed practices of the application when a gadget has been compromised. Mostly, data forensic and recovery tools run on rooted devices.
    Mitigation: With respect to security, it is ideal to not have the application kept running on rooted or jailbroken gadgets, or possibly do some type of root/jailbreak detection.
  • Information Leakage: This is the shortcoming of an application where an application unveils technical details of the web application, user-specific data or environment. This delicate information might be utilized by an attacker to abuse the objective application, its client or its hosting network.  Mitigation Eliminate unnecessary data from server reactions that could give an attacker additional data with respect to your system.
  • Insufficient Authorization/Authentication: This happens when there is a disappointment in accomplishing suitable approval checks to guarantee that the client is executing a capacity or getting to information in a way recorded in the security policy. Mitigation: Enforce a demonstrated authorization framework scheme which underlines approach based setup records over hard-coded authentication/authorization checks at wherever possible. 
  • Insufficient Session Expiration: The identifiers that were utilized during the session, after a client signs out of an application should be nullified. In case the server fails to invalidate the session identifiers, it is useful for various customers to use those identifiers to emulate that customer and perform exercises for his advantage. Mitigation: It is a best practice to guarantee that a logout catch is available in the application and when the client clicks this catch their session expires appropriately.

 Tools used:

Santoku, MobSF, Drozer, Frida, Radare, Apktool, Burp Proxy, Wireshark, OWASP ZAP.


Contact Vista InfoSec to learn how we can help you become secure.

If you need more information, feel free to visit (and subscribe) our YouTube Page.

Stay Connected

Twitter
Linkedin
Facebook
Webinars

5/5 - (2 votes)
Narendra Sahoo
Narendra Sahoo

Narendra Sahoo (PCI QPA, PCI QSA, PCI SSF ASSESSOR, CISSP, CISA, CRISC, 27001 LA) is the Founder and Director of VISTA InfoSec, a global Information Security Consulting firm, based in the US, Singapore & India. Mr. Sahoo holds more than 25 years of experience in the IT Industry, with expertise in Information Risk Consulting, Assessment, & Compliance services. VISTA InfoSec specializes in Information Security audit, consulting and certification services which include GDPR, HIPAA, CCPA, NESA, MAS-TRM, PCI DSS Compliance & Audit, PCI PIN, SOC2 Compliance & Audit, PDPA, PDPB to name a few. The company has for years (since 2004) worked with organizations across the globe to address the Regulatory and Information Security challenges in their industry. VISTA InfoSec has been instrumental in helping top multinational companies achieve compliance and secure their IT infrastructure.