Guidelines Mobile App Security Testing
Guidelines Mobile App Security Testing
http://www.owasp.org
Who we are
Florian Stahl
Johannes Strher
Agenda
1. Motivation for Mobile Security Testing Guidelines
Challenges
Overview
3. Summary
Challenges
Identify differences to common penetration tests
Flexible Preconditions
App Security also depends on device security (jailbreak, different
platforms, versions, interfaces, MDM, etc.)
Preparation
Intelligence Gathering
Threat Modeling
Vulnerability Analysis
Vulnerability
Assessment
Yes
Develop
Countermeasures
Show Countermeasures?
Explanation:
No
End
Mandatory
Optional
Annotation for
app specific sub-processes
The specific sub-processes were elaborated in detail
for Android and iOS
Intelligence Gathering
Try to catch as much as possible information about
the app
Intelligence
Gathering
Consists of 2 analysis
Environmental
Analysis
Architectural
Analysis
Intelligence Gathering
Environmental Analysis
Focus on the company behind the app and their business case and
the relating stakeholders
Architectural Analysis
App (network interfaces, used data, communication with other
10
App
Provides operations on server side CRM data for creating, reading, updating,
deleting contacts, cases, calls,
Backend services
11
Threat Modeling
Identifying threats for the app - specific or
prepared threats (e. g. OWASP Top 10)
Start
Dividing and clustering
app
Identifying threats for
each component
Comparing all identified
threats
End
12
Specific threat
Relating countermeasure
Try to catch and read the network traffic between the CRM App and the
backend
13
Vulnerability Analysis
Identifying vulnerabilities in the app with the
previous created test cases
Vulnerability
Analysis
Static
methods
Dynamic
methods
Forensic
methods
14
Vulnerability Analysis
Static methods
Reverse Engineering
Automatic and manual source code analysis
Reverse Engineering
15
Vulnerability Analysis
Dynamic methods
Passive network monitoring and analyzing
Network traffic analysis at different places in the network (at the device,
gateway or in an own VPN)
Problems
Solutions
Special apps that force the usage of device proxy settings or which break
SSL encrypted connections (mostly for jailbroken or rooted devices)
16
Vulnerability Analysis
Dynamic methods
Runtime analysis
Runtime manipulation
17
Vulnerability Analysis
Dynamic methods - CRM app example
Network traffic analysis reveals usage of HTTP and sending
18
Vulnerability Analysis
Forensic methods
Timeline analysis
SQLite databases
Screenshots (iOS)
Log files
Cookies
SharedPreferences (Android)
Keychain (iOS)
19
Vulnerability Analysis
Forensic methods - CRM app example
Timeline analysis shows that the app updates several files during its
runtime (*.plist file, database)
Analyzing identified files and standard file types reveal that the user
credentials are stored in plain text in the iOS keychain
20
Summary
Mobile Security Testing Guide
21