- July 22, 2019
- Posted by: SouTech Team
- Category: Blog, CEH, CISSP, Cyber-security and Ethical Hacking Training, Mobile Application Development Service and Training, Softwares, Technologies
WHAT IS MOBILE APPLICATION
A mobile application, most commonly referred to as an app, is a type of application software designed to run on a mobile device, such as a smartphone or tablet.
The purpose of mobile application development is to utilize a standards-based architecture that leverages existing IT infrastructure and maximizes return on investment to your business. This helps to extend enterprise data to mobile users with high security in a user friendly manner.
Different Types of Mobile Applications –
Native, Hybrid and Web Application
Native apps are built for a specific operating system. A native app developed for iOS operating system won’t work on Android devices and vice-versa.
Mobile web apps are the web applications to deliver pages on web browsers running in mobile devices. Since these apps target browsers, they work on different mobile operating systems. You can view a mobile web app on Android, iOS or Windows tablets and phone devices.
Hybrid apps are a mixture of both native and mobile web apps. eg Whatsapp, Instagram, etc
6 Signs your phone may have been hacked
- Noticeable decrease in battery life. …
- Sluggish performance. …
- High data usage. …
- Outgoing calls or texts you didn’t send. …
- Mystery pop-ups. …
- Unusual activity on any accounts linked to the device.
DIFFERENT MOBILE OPERATING SYSTEM
Examples of mobile device operating systems include:
- Android OS (Google Inc.) …
- Bada (Samsung Electronics) …
- BlackBerry OS (Research In Motion) …
- iPhone OS / iOS (Apple) …
- MeeGo OS (Nokia and Intel) …
- Palm OS (Garnet OS) …
- Symbian OS (Nokia) …
- webOS (Palm/HP)
Android is a mobile operating system developed by Google. It is based on a modified version of the Linux kernel and other open source software, and is designed primarily for touchscreen mobile devices such as smartphones and tablets
Apple iOS is a proprietary mobile operating system that runs on the iPhone, iPad and iPod Touch. Apple iOS is based on the Mac OS X operating system for desktop and laptop computers. iOS is a Unix-like application built with C, C++, Objective-C, Swift
Windows OS, computer operating system (OS) developed by Microsoft Corporation to run personal computers.
Windows is built on 2 different bases depending on the version of Windows you’re using:
Windows 1.0, 2.0, 3.1, 3.11, 95, 98, and ME run on MS-DOS
Windows NT, 2000, XP, Vista, 7, 8, 8.1, 10, and CE run on NT
VULNERABILITIES & COUNTER MEASURES
1. Binary Protection: Insufficient Jailbreak / Root Detection. Rooting or jailbreaking a device circumvents data protection and encryption schemes on the system. When a device has been compromised, any form of malicious code can run on the device, which can significantly alter the intended behaviors of the application logic. Recovery and data forensic tools generally run on rooted devices as well.
Solution: With regards to security, it is best to not have the app run on rooted or jailbroken devices, or to at least do some form of root/jailbreak detection. Detecting whether a device has been compromised adds an extra layer of policy enforcement and risk mitigation to protect the data within the application from being exposed.
2. Insufficient Transport Layer Protection: Applications frequently fail to encrypt network traffic when it is necessary to protect sensitive communications. Encryption (usually TLS) must be used for all authenticated connections, especially Internet-accessible web pages. Backend connections should be encrypted as well, or risk exposing an authentication or session token to malicious actors on the same network as the application host. These backend connections may represent a lower likelihood of exploitation than a connection over the external Internet; however, their impact in the case of exploitation can still result in compromise of user accounts or worse.
Encryption should be used whenever sensitive data, such as credit card or health information, is transmitted. Applications that fall back to plaintext or otherwise be forced out of an encrypting mode can be abused by attackers.
Solution: Ensure the application has a security constraint that defines a confidentiality and integrity-based secure transport guarantee. This will ensure that all data is sent in a manner that guarantees it cannot be observed or changed during transmission. If TLS must be terminated at a load balancer, web application firewall, or other in-line host, it should re-encrypt the data in transit to the target host(s).
3. Information Leakage – Server Version: Server information is present in the response. Information Leakage is an application weakness where an application reveals sensitive data, such as technical details of the web application, environment, or user-specific data. Sensitive data may be used by an attacker to exploit the target application, its hosting network, or its users; leakage of sensitive data should be limited or prevented whenever possible.
Information Leakage, in its most common form, is the result of one or more of the following conditions: A failure to scrub out HTML/Script comments containing sensitive information, improper application or server configurations, or differences in page responses for valid versus invalid data.
Solution: Remove unnecessary information from server responses that could give an attacker extra information regarding your network.
4. Insufficient Authorization/Authentication: Insufficient Authorization results when an application does not perform adequate authorization checks to ensure that the user is performing a function or accessing data in a manner consistent with the security policy.
Authorization procedures should enforce what a user, service, or application is permitted to do. When a user is authenticated to a web site, it does not necessarily mean that the user should have full access to all content and functionality.
Solution: Enforce a proven authorization framework scheme which emphasizes policy-based configuration files over hard coded authentication/authorization checks wherever possible.
5. Cryptography – Improper Certificate Validation: This application is either not validating SSL/TLS certificates or is utilizing an SSL/TLS certificate validation system that will not correctly verify that a trusted provider issued the certificate. The client should be configured to drop the connection if the certificate cannot be verified, or is not provided. Any data exchanged over a connection where the certificate has not properly been validated could be exposed to unauthorized access or modification.
Solution: Ensure that your application’s certificate validation is configured to correctly verify that a certificate is provided, and from a trusted source like a reliable Certificate Authority. Or, code-in the latest certificate transparency standards approved by IETF or the CA/B Forum.
6. Brute Force – User Enumeration: There are numerous ways for an attacker to determine if a user exists in the system; a brute force attack is a method to determine an unknown value by using an automated process to try a large number of possible values. The attack takes advantage of the fact that the entropy of the values is smaller than perceived. For example, while an 8-character alphanumeric password can have 2.8 trillion possible values, many people will select their passwords from a much smaller subset consisting of common words and terms.
If error messages change when the username and/or password are submitted incorrectly, an attacker can determine the existence of a valid username/email address based on any differences in the error messages.
If user ID is generated sequentially in a predictable manner, (XXX102017, XXX112017, etc.) an attacker can enumerate through the list of users by incrementing the user ID.
Solution: The user enumeration vulnerability typically occurs in the following functionality: Login, Registration,or Forgot Password. The application should not reveal whether a username is valid. The response to valid and invalid input in either field should be completely identical.
For example, instead of “Sorry, your password is invalid”, a proper response might say: “Sorry, your username or password is incorrect. Please try again.”
7. Insufficient Session Expiration: After a user signs out of an application, the identifiers that were used during the session are supposed to be invalidated. If the server fails to invalidate the session identifiers, it is possible for other users to use those identifiers to impersonate that user and perform actions on his behalf.
Solution: First, it is a best practice to ensure a logout button is implemented in the application; and second, when the user clicks this button their session is properly invalidated.
- Entire article by anonymous SOUTECH certified ethical hacker student July Batch 2019
- https://www.buyallsoftwares.com/ to buy a Mobile Phone/PC anti malware protection TODAY
Attend SOUTECH Comprehensive Cyber Security, Ethical Hacker, Kali Linux Training and Learn over 100 tools + Information Security Policy Creation and Implementation. Become an Expert TODAY
SMS Name,Location,Interested with course(see below) of choice to 08034121380
Professional Web Design, Cybersecurity, Hacking, Networking, Kali Linux, Mobile App Development, Project Management, Professional Digital Marketing, Business Analysis, Microsoft Power BI, Python for Data Science, PHP Software Development, IBM SPSS Research and Statistical Analysis, Excel for Business, Solar and Inverter Design and Installation and so many others….
Want to take an online course because of your distance to Abuja, Owerri or Lagos?, Indicate in your SMS or enroll using this link>>>>
Click to start learning while you earn and grow…