Security Testing Guidelines for mobile Apps



Similar documents
Mobile Application Hacking for ios. 3-Day Hands-On Course. Syllabus

Mobile Application Hacking for Android and iphone. 4-Day Hands-On Course. Syllabus

Mobile Application Security and Penetration Testing Syllabus

Pentesting iphone Applications. Satishb3

SYLLABUS MOBILE APPLICATION SECURITY AND PENETRATION TESTING. MASPT at a glance: v1.0 (28/01/2014) 10 highly practical modules

Penetration Testing for iphone Applications Part 1

Pentesting Mobile Applications

How To Test For Security On A Mobile Device

CompTIA Mobile App Security+ Certification Exam (ios Edition) Live exam IOS-001 Beta Exam IO1-001

Mobile Applications: The True Potential Risks Where to look for information when performing a Pentest on a Mobile Application

BYOD: End-to-End Security

OWASP NZ Day 2011 Testing Mobile Applications

Android & ios Application Vulnerability Assessment & Penetration Testing Training. 2-Day hands on workshop on VAPT of Android & ios Applications

Building a Mobile App Security Risk Management Program. Copyright 2012, Security Risk Advisors, Inc. All Rights Reserved

Weak Spots in Enterprise Mobility Management Dennis Schröder

ABSTRACT' INTRODUCTION' COMMON'SECURITY'MISTAKES'' Reverse Engineering ios Applications

SECURING MOBILE APPLICATIONS

The Incident Response Playbook for Android and ios

When enterprise mobility strategies are discussed, security is usually one of the first topics

BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: Security Note

Workday Mobile Security FAQ

BYOD Guidance: BlackBerry Secure Work Space

AGENDA. Background. The Attack Surface. Case Studies. Binary Protections. Bypasses. Conclusions

BlackBerry Enterprise Service 10. Universal Device Service Version: Administration Guide

How Security Testing can ensure Your Mobile Application Security. Yohannes, CEHv8, ECSAv8, ISE, OSCP(PWK) Information Security Consultant

Why you need. McAfee. Multi Acess PARTNER SERVICES

Security Guide. BlackBerry Enterprise Service 12. for ios, Android, and Windows Phone. Version 12.0

Mobile Application Security

SAP Mobile - Webinar Series SAP Mobile Platform 3.0 Security Concepts and Features

Enterprise Application Security Workshop Series

Kaspersky Fraud Prevention: a Comprehensive Protection Solution for Online and Mobile Banking

Advanced ANDROID & ios Hands-on Exploitation

Mobile Devices: Know the RISKS. Take the STEPS. PROTECT AND SECURE Health Information.

Resco Mobile CRM Security

Mobile Security: Threats and Countermeasures

Mobile Devices: Know the RISKS. Take the STEPS. PROTECT AND SECURE Health Information.

CEH Version8 Course Outline

Introduction to the Mobile Access Gateway

Securing ios Applications. Dr. Bruce Sams, OPTIMAbit GmbH

Mobile Security Framework

ios Testing Tools David Lindner Director of Mobile and IoT Security

CompTIA Mobile App Security+ Certification Exam (Android Edition) Live exam ADR-001 Beta Exam AD1-001

Electronic Communication In Your Practice. How To Use & Mobile Devices While Maintaining Compliance & Security

Information Supplement: Requirement 6.6 Code Reviews and Application Firewalls Clarified

Mobile Security. Policies, Standards, Frameworks, Guidelines

Penetration Testing for iphone / ipad Applications

Attacking and Defending Apple ios Devices in the Enterprise Brandon Knight

Mobile Admin Security

SVN5800 Secure Access Gateway

Pentesting iphone & ipad Apps Hack In Paris 2011 June 17

How To Protect A Web Application From Attack From A Trusted Environment

Guidance End User Devices Security Guidance: Apple ios 7

Kenna Platform Security. A technical overview of the comprehensive security measures Kenna uses to protect your data

Secure your ios applications and uncover hidden vulnerabilities by conducting penetration tests

Please Complete Speaker Feedback Surveys. SecurityTube.net

Application Security Testing

Android Security. Device Management and Security. by Stephan Linzner & Benjamin Reimold

Enterprise Apps: Bypassing the Gatekeeper

CTS2134 Introduction to Networking. Module Network Security

OWASP Mobile Top Ten 2014 Meet the New Addition

Exactly the Same, but Different

IBM Cognos Mobile Overview

Security Evaluation CLX.Sentinel

Passing PCI Compliance How to Address the Application Security Mandates

June 2014 WMLUG Meeting Kali Linux

Security and Vulnerability Testing How critical it is?

How To Protect Your Mobile Device From Attack

MaaS360 Mobile Enterprise Gateway

Norton Mobile Privacy Notice

Enterprise Mobility Management Migration Migrating from Legacy EMM to an epo Managed EMM Environment. Paul Luetje Enterprise Solutions Architect

FINAL DoIT v.8 APPLICATION SECURITY PROCEDURE

Security Vulnerabilities in 3rd-Party ios Applications

Description: Objective: Attending students will learn:

MaaS360 Mobile Enterprise Gateway

Architecture and Data Flow Overview. BlackBerry Enterprise Service Version: Quick Reference

Pen Testing ios Apps

Ensuring the security of your mobile business intelligence

Internet Banking System Web Application Penetration Test Report

The Seven Habits of State-of-the-Art Mobile App Security

BlackBerry 10.3 Work and Personal Corporate

The Secure Web Access Solution Includes:

Securing Your Web Application against security vulnerabilities. Ong Khai Wei, IT Specialist, Development Tools (Rational) IBM Software Group

AppUse - Android Pentest Platform Unified

Mingyu Web Application Firewall (DAS- WAF) All transparent deployment for Web application gateway

Attack and Penetration Testing 101

From the Bottom to the Top: The Evolution of Application Monitoring

SAP BusinessObjects Mobile Document Version: Mobile Security Guide

EC-Council CAST CENTER FOR ADVANCED SECURITY TRAINING. CAST 619 Advanced SQLi Attacks and Countermeasures. Make The Difference CAST.

PROTECTING DATA IN TRANSIT WITH ENCRYPTION IN M-FILES

Ethical Hacking as a Professional Penetration Testing Technique

Administering Jive Mobile Apps

Certified Ethical Hacker Exam Version Comparison. Version Comparison

SAST, DAST and Vulnerability Assessments, = 4

Practical Attacks against Mobile Device Management Solutions

Transcription:

The OWASP Foundation http://www.owasp.org Security Testing Guidelines for mobile Apps Florian Stahl Johannes Ströher AppSec Research EU 2013

Who we are Florian Stahl Johannes Ströher Lead Consultant for Information Security, CISSP, CIPP/IT Security & Privacy advocate Works in Munich for msg systems ag, Germany s 5 th largest IT consulting and system development company Florian.Stahl@msg-systems.com Consultant for Information Security Expert for Mobile App Testing Developed the Mobile Security Testing Guide in his Master s Thesis Johannes.Stroeher@msg.de AppSec Research EU 2013 2

Agenda 1. Motivation for Mobile Security Testing Guidelines Current mobile threat landscape and current situation Challenges 2. Mobile Security Testing Guide (MSTG) Overview Intelligence Gathering, Threat Modeling & Vulnerability Analysis in specific Tools and examples 3. Summary AppSec Research EU 2013 3

Mobile App Threat Landscape Location-independent (mobile) Always online and traceable Consumerization devices are built for personal use Focus on functionality and design rather than security Raise of sensitive use cases for mobile apps 163% increase of mobile malware in 2012 * Hidden business cases for free apps * Source: NQ Mobile Security Report AppSec Research EU 2013 4

Situation Mobile Security Testing Mobile apps have some specific characteristics regarding penetration testing Custom guidelines have not been available msg systems decided to develop guidelines (MSTG) with Munich University of Applied Sciences Similar guidelines published by OWASP: OWASP Mobile Security Testing AppSec Research EU 2013 5

Challenges Identify differences to common penetration tests Flexible Preconditions App Security also depends on device security (jailbreak, different platforms, versions, interfaces, MDM, etc.) Different attackers (internal, external, network or device access, blackbox / whitebox, etc.) Keep it flexible AND give specific hints to the penetration tester Result: General process (mandatory) and supporting tools and practices (optional) AppSec Research EU 2013 6

Mobile Security Testing Guide Overview Start Preparation Intelligence Gathering Threat Modeling Vulnerability Analysis Vulnerability Assessment Yes Develop Countermeasures Show Countermeasures? No Explanation: Mandatory End Optional AppSec Research EU 2013 7

Annotation for app specific sub-processes The specific sub-processes were elaborated in detail for Android and ios An ios native CRM app is used for illustration because The CRM app supports many testable functions (authentication, ) It is open source more possibilities to demonstrate static methods It is a native app provides more attack surface for the tester We can install the relating CRM service on an own server no need for taking care of impacts during the tests The CRM App was tested on an iphone 4 with ios 6 AppSec Research EU 2013 8

Intelligence Gathering Try to catch as much as possible information about the app Consists of 2 analysis Intelligence Gathering Environmental Analysis Architectural Analysis Differences to conventional process Focus mainly on the architectural/technical part Not considering mobile specific requirements AppSec Research EU 2013 9

Intelligence Gathering Environmental Analysis Focus on the company behind the app and their business case and the relating stakeholders Analyze internal processes and structures Architectural Analysis App (network interfaces, used data, communication with other ressources, session management, jailbreak/rooting detection, ) Runtime environment (MDM, jailbreak/rooting, os version) Backend services (application server, databases, firewall, ) AppSec Research EU 2013 10

Intelligence Gathering - Example Examples for collected information from the Architectural Analysis for the CRM app App User session remains until the user logs off manually No financial transactions are included Runs on a jailbroken device no jailbreak detection Provides operations on server side CRM data for creating, reading, updating, deleting contacts, cases, calls, Runtime environment analysis is not relevant, because the app is running on a device from the tester Backend services Details about the version of the running CRM service AppSec Research EU 2013 11

Threat Modeling Identifying threats for the app - specific or prepared threats (e. g. OWASP Top 10) Should be done already in the development Risk rating e. g. with OWASP Risk Rating Developing countermeasures e. g. with best practices or developers guides Differences to conventional process Most software testing processes do not include Threat Modeling Threat Modeling makes the complete process more traceable and efficient for all participants Start Dividing and clustering app Identifying threats for each component Comparing all identified threats Rating all risks Developing countermeasures for identified risks Defining test cases End AppSec Research EU 2013 12

Threat Modeling - Example Threat Modeling process example for the CRM App Information from the Intelligence Gathering App provides operations on CRM data on server side Specific threat Unauthorized reading of CRM data on the network traffic while communicating with the CRM backend Relating countermeasure Implementing a secure transport layer protection (e. g. SSL, TLS) Relating test case Try to catch and read the network traffic between the CRM App and the backend AppSec Research EU 2013 13

Vulnerability Analysis Identifying vulnerabilities in the app with the previous created test cases Executing test cases with techniques from 3 different categories Vulnerability Analysis Static methods Dynamic methods Forensic methods Differences to conventional process Most software testing processes not include so many categories of testing methods AppSec Research EU 2013 14

Vulnerability Analysis Static methods Reverse Engineering Automatic and manual source code analysis Excursion: Tools for static methods Reverse Engineering Android: dex2jar, JD-GUI ios: otool, class-dump-z Automatic and manual source code analysis Android: Androwarn, Andrubis, ApkAnalyser ios: Flawfinder, Clang Static Analyzer AppSec Research EU 2013 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) Active network capturing and manipulating (Wifi and cellular) Problems Native apps do not use always device proxy settings SSL encrypted connections Solutions Special apps that force the usage of device proxy settings or which break SSL encrypted connections (mostly for jailbroken or rooted devices) AppSec Research EU 2013 16

Vulnerability Analysis Dynamic methods Runtime analysis Possible by analyzing the communicating process for internal components (Android: Intents; ios: objc_msgsend calls) Runtime manipulation Call or manipulate specific functions Read and write variable values File activity analysis Analysis file system changes during the runtime AppSec Research EU 2013 17

Vulnerability Analysis Dynamic methods - CRM app example Network traffic analysis reveals usage of HTTP and sending non-encrypted sensitive user data (session id, username and password) Tools: Wireshark, BurpSuite, User authentication can be bypassed by runtime manipulation ios tools: GNU debugger, Snoop-it, Cycript, Android tools: Mercury, Intent Sniffer, Intent Fuzzer, File activity analysis shows that user credentials (username and password) are stored in and used from the ios keychain ios tools: filemon.ios, Snoop-it Android tools: androidaudittools AppSec Research EU 2013 18

Vulnerability Analysis Forensic methods Timeline analysis Analyze timestamps created from the file system Analysis of different file types SQLite databases Log files Cookies Screenshots (ios) Keyboard cache (ios) SharedPreferences (Android) Keychain (ios) AppSec Research EU 2013 19

Vulnerability Analysis Forensic methods - CRM app example Timeline analysis shows that the app updates several files during its runtime (*.plist file, database) Tools: mac-robber, mactime Analyzing identified files and standard file types reveal that the user credentials are stored in plain text in the ios keychain Tools: Keychain dumper, keychain viewer, AppSec Research EU 2013 20

Summary Mobile Security Testing Guide considers mobile characteristics, but is independent from technologies helps to improve transparency and repeatability for mobile penetration testing is a holistic approach with sufficient flexibility and ultimately helps to improve mobile app security AppSec Research EU 2013 21

The OWASP Foundation http://www.owasp.org Thank you for your attention! infosec@msg-systems.com Full thesis (in German) available on request AppSec Research EU 2013