In today’s connected world, we rely more and
more on web and mobile applications to store and retrieve important
information, security of these applications needs to be ensured. Security
testing identifies potential threats and vulnerabilities of the application
system.
The
different kinds of web and mobile security checking are as follows:
- Vulnerability Assessment and Penetration Checking: Vulnerability assessment process discovers different weaknesses in the system that makes threats possible, but it does not categorize them as per their threat potential. Penetration testing exploits these vulnerabilities and determines the severity of each. Both these tests together provide a detailed picture of the system’s flaws.
- Security Scanning and auditing: This helps to identify the network and system problems.
- Risk Assessment: This helps to identify potential hazards and its implications on occurrence.
- Ethical Hacking or white hat hacking is another process to expose the system loopholes. This hacking is unlike the malicious intentions and is carried out within the organization.
- Command Injections: Here software hackers execute arbitrary commands into an input mechanism basically designed to pass user supplied data.
- Data Security: There is always a threat to the confidential data being stolen. Portability of the device is an additional hazard in this case. Hence unlike web data security, for mobiles it is a different testing process. Mobile based data protection and data security help to identify potential data exfiltration threats.
- Session Management: For web applications the authenticated state of a user is maintained through the use of cookies which may be HTTP cookies, Flash Cookies or Evercookie. In mobiles, apart from HTTP and browser connections, apps communicate with the back end servers as well. Hence, all cookie based authentications do not hold true for mobile users. With different mobile platforms in Andriod, ioS and Windows, this difference becomes more complicated for different configurations required for VPN.
- Unauthorized access: In a web application, an administrator is able to authorize the access to users. In mobile applications this authorization is carried out in both client side and server side. Also, when apps are installed they are required to be granted a range of user permissions which is not always a preferred choice.
Security Testing
need to be carried out in parallel with System Development Life Cycle(SDLC),
later implementations result in increased effort, time and cost.
The
testing phases associated with each phase of SDLC are as follows:
|
Development Phase
|
Testing
|
|
Requirement Specification
|
Security Analysis
|
|
Architecture Planning
|
Risk Analysis
|
|
Design
|
Security Test Plan
|
|
Coding
|
White Box Testing
|
|
Integration
|
Integration Testing
Black Box Testing
System Testing
|
|
Installation
|
Penetration Testing
Vulnerability Scanning
|
|
Support
|
Impact Analysis
|
Below are the mobile testing processes:
-
Preparation
-
Gather Intelligence
-
Threat Modelling
-
Vulnerability Analysis
-
Vulnerability Assessment
-
Develop Countermeasures
When we compare both, we observe that basic
testing phases are the same for both, security testing of mobileapps extend a bit further than web applications due to:
-
Portability
-
Always online and
geographically traceable
-
Device Properties
-
More focus on app
functionality than security
Conclusion:
In web applications, the security loopholes
are associated with SQL injection, redirects and includes for remote files.
Here, attackers take a black box approach. In mobile application hacking, more
of a reverse engineering skills are put through as the attackers already have
access to the codes. Overall Security Testing is most important testing for the
success of web or mobile applications. Overlooking Security testing can become
the major reason for performance pitfalls and failure of fascinating web and
mobile applications.
