Mobile Application Security
Mobile application security protects mobile apps, their data, and their service connections from misuse. It combines secure design, platform controls, careful data handling, and static and dynamic testing across the app, device, and backend trust boundaries.
itMobile and client application development | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Intro
Mobile Application Security
Mobile application security protects a mobile app, the data it handles, and the services it calls. The work spans the app package, its runtime process, the mobile operating system, third-party libraries, network connections, and backend APIs.
The central constraint is that the app runs on a device outside the developer's control. A user or attacker can inspect the package, observe network traffic, change runtime behavior, and operate the app on a modified device. Platform sandboxes and code signing reduce risk, but they do not make client-side decisions trustworthy.
Use this mental model:
source code and dependencies
↓ build and sign
installable package
↓ install
app sandbox ↔ platform services ↔ other apps
↓ ↓
local data permissions and IPC
↘ ↙
network → backend API → protected data and actions
Security controls belong at every boundary. The app minimizes and protects local data. The platform mediates access to protected resources and other apps. Transport security protects data in transit. The backend authenticates the session and authorizes every sensitive action.
Start with assets and trust boundaries
An asset is anything that needs protection. Mobile assets commonly include credentials, session tokens, personal data, cryptographic keys, paid features, proprietary algorithms, and backend operations.
Draw where each asset originates, moves, and rests. Mark transitions between the app process, operating system services, local storage, other apps, third-party software development kits, networks, and backend services. Each transition is a trust boundary because one side cannot assume the other side is safe.
A threat model connects those assets and boundaries to realistic attackers. Examples include a malicious app on the same device, a person controlling a rooted or jailbroken device, a network attacker, a repackager, and a remote user who calls the backend API without the official client.
The threat model determines assurance. An app that shows public information has different needs from an app that moves money or holds health records. OWASP Mobile Application Security Verification Standard controls provide a common baseline. OWASP Mobile Application Security Testing Guide tests explain how to verify the selected controls.
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://mas.owasp.org/MASVS/
Supports
- Platform-neutral verification standard for mobile applications
- Control groups for storage, cryptography, authentication, network, platform, code, resilience, and privacy
- Relationship among MASVS, MASTG, MASWE, and the checklist
- https://mas.owasp.org/MASVS/07-MASVS-AUTH/
Supports
- Authentication and authorization controls for local and remote mobile app flows
- Remote endpoints remain responsible for enforcement
- Additional authentication for sensitive operations
- https://mas.owasp.org/MASVS/08-MASVS-RESILIENCE/
Supports
- Resilience against reverse engineering and tampering
- Client-side resilience controls are selected according to app risk
- https://mas.owasp.org/MASTG/0x04b-Mobile-App-Security-Testing/
Supports
- Mobile testing as static and dynamic analysis within a client-server assessment
- Static, dynamic, manual, automated, and penetration-testing distinctions
- Tool false positives, scope, preparation, threat modeling, and backend coverage
- https://mas.owasp.org/MASTG/0x03b-Testing-Profiles/
Supports
- Threat-model-based selection of assurance
- Baseline, advanced, resilience, and privacy testing profiles
- Client and device trust assumptions differ by profile
- https://mas.owasp.org/MASTG/tools/
Supports
- Current tool catalog for static, dynamic, network, and runtime testing
- Tool output can contain false positives and false negatives
- Frida is a current cross-platform dynamic instrumentation tool
- https://mas.owasp.org/MASTG/knowledge/
Supports
- Reverse engineering, decompilation, instrumentation, code injection, and obfuscation concepts
- Platform-specific mobile security knowledge
- https://csrc.nist.gov/pubs/sp/800/163/r1/final
Supports
- Organizational mobile application vetting process
- Requirements, testing, risk weighting, roles, inputs, and outputs
- Integration of app vetting into a wider security posture
- https://developer.android.com/privacy-and-security/security-tips
Supports
- Android sandbox, permissions, secure interprocess communication, storage, authentication, and logging guidance
- Explicit handling for sensitive cross-app data
- Minimization of sensitive data and short-lived tokens
- https://developer.android.com/privacy-and-security/keystore
Supports
- Android Keystore protection for cryptographic keys
- Non-exportability, user-authentication restrictions, and hardware-backed protection when supported
- https://developer.android.com/privacy-and-security/security-config
Supports
- Declarative trust, cleartext, certificate authority, debug, and pinning configuration
- Backup pins and pin expiration considerations
- https://developer.android.com/privacy-and-security/about
Supports
- Permission minimization, scoped storage, data access auditing, package visibility, and log guidance
- User control and contextual permission behavior
- https://support.apple.com/guide/security/app-security-overview-sec35dd877d0/web
Supports
- Apple app code signing, sandboxing, distribution, and mediated access to user data
- Layered platform protection does not eliminate app risk
- https://developer.apple.com/documentation/security/keychain-services
Supports
- Encrypted storage for passwords, keys, certificates, and small secrets
- Keychain access controls and item management
- https://developer.apple.com/documentation/localauthentication/accessing-keychain-items-with-face-id-or-touch-id
Supports
- Local biometric authentication can control release of a Keychain item
- Relationship among Keychain, Local Authentication, and Secure Enclave
- https://developer.apple.com/documentation/security/preventing-insecure-network-connections
Supports
- App Transport Security requires TLS, reliable certificates, and ciphers
- Broad exceptions weaken transport requirements
- https://github.com/sindresorhus/awesome
Supports
- Discovery of the curated Android Security awesome list
- https://github.com/ashishb/android-security-awesome
Supports
- Discovery of MobSF, Frida, JADX, Apktool, and drozer for Android security work
- Classification of tools by static, dynamic, reverse-engineering, and vulnerability-assessment use
- https://mobsf.org/
Supports
- Automated static and dynamic testing for Android and iOS packages
- Package, runtime, API, and malware analysis capabilities
- https://frida.re/docs/home/
Supports
- Dynamic instrumentation by injecting scripts or libraries into native apps
- Android and iOS support and interactive function tracing
- https://github.com/skylot/jadx
Supports
- Decompilation of DEX and APK inputs to reconstructed Java code
- Manifest and resource decoding
- Explicit warning that decompilation can be incomplete
- https://apktool.org/
Supports
- Android package resource and manifest decoding
- Disassembly, inspection, and controlled rebuilding of APK files
- https://github.com/ReversecLabs/drozer
Supports
- Android security assessment through interprocess communication
- Testing exposed application components and attack surface
- https://www.nowsecure.com/products/nowsecure-platform/
Supports
- Continuous static, dynamic, interactive, and API analysis for mobile apps
- Pipeline integration, policy-based testing, and compiled-app assessment
- https://help.guardsquare.com/en/articles/246660-appsweep-overview
Supports
- Static and dynamic analysis for Android, iOS, native, and Flutter artifacts
- MASVS-category reporting and command-line pipeline integration
- https://www.appknox.com/
Supports
- Mobile application security testing for Android and iOS
- Pipeline-integrated automated assessment
- https://www.appknox.com/about-us
Supports
- Compiled APK and IPA binary analysis
- Binary static, device-based dynamic, API, and compliance testing
- https://join.oversecured.com/
Supports
- Mobile-focused static and dynamic scanning for Android and iOS
- Per-build automated vulnerability assessment
- https://ostorlab.co/
Supports
- Android and iOS static and dynamic testing
- Runtime traffic, file, and function evidence plus release monitoring and remediation tracking
- https://www.datatheorem.com/products/mobile-secure/
Supports
- Source, binary, dynamic, API, and runtime protection coverage for Android and iOS
- Mobile application security program across connected app boundaries
- https://www.immuniweb.com/products/mobile/
Supports
- Automated and expert mobile and backend penetration testing
- Static, dynamic, interactive, dependency, privacy, authentication, and business-logic coverage
- https://www.hcl-software.com/appscan/products/appscan-on-cloud
Supports
- Cloud application security suite covering mobile, web, open source, and APIs
- Static, dynamic, interactive, and dependency testing
- https://devguide.owasp.org/en/07-training-education/06-mobile-top-ten/
Supports
- ENISA smartphone controls in 2011
- First OWASP Mobile Top 10 in 2014 and later revisions
- https://csrc.nist.gov/pubs/sp/800/163/final
Supports
- January 2015 publication of the first NIST mobile app vetting guide
- Third-party app security and reliability vetting purpose
- https://developer.android.com/about/versions/marshmallow/android-6.0-changes
Supports
- Android 6 introduction of user-managed runtime permissions
- Per-permission checks, requests, grants, and revocation
- https://mas.owasp.org/news/2018/01/13/mobile-app-security-verification-standard-release-10/
Supports
- MASVS 1.0 release date and first-release status
- https://developer.android.com/about/versions/10/privacy/changes
Supports
- Android 10 scoped storage and background-location changes
- Greater user control over app access
- https://developer.android.com/about/versions/11/privacy
Supports
- Android 11 scoped storage enforcement, one-time permissions, and package visibility
- https://mas.owasp.org/news/2022/08/23/project-rebranding-to-owasp-mas/
Supports
- August 2022 rebrand from MSTG project to OWASP MAS
- Unified MASVS, MASTG, checklists, and practice apps
- https://mas.owasp.org/news/2023/04/01/masvs-v200-release/
Supports
- April 2023 MASVS 2.0 release
- Simplified controls and movement from verification levels to profiles
- https://mas.owasp.org/news/2023/07/28/mas-testing-profiles-and-mastg-atomic-tests/
Supports
- July 2023 introduction of MASTG atomic tests and testing profiles
- https://mas.owasp.org/news/2024/01/18/masvs-v210-release--masvs-privacy/
Supports
- January 2024 MASVS 2.1 release and privacy category
